Chris Taylor
/
LCD_DEMO
LCD Graphics Demo
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 #include "Color565.h" 00003 #include "font_IBM.h" 00004 #include "font_OEM.h" 00005 #include "LCD_ST7735.h" 00006 00007 static const uint16_t bmp[] = { 00008 0x20, 0x10, 00009 0x0000, 0x0000, 0x1081, 0x41e4, 0x7b87, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x7b87, 0x41e4, 0x1081, 0x0000, 0x0000, 0x0000, 0x0000, 0x1081, 0x4204, 0x7b87, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x5a85, 0x4204, 0x1081, 0x0000, 0x0000, 00010 0x0000, 0x1081, 0x5285, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x5285, 0x1081, 0x0000, 0x0000, 0x1081, 0x5a85, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x5a85, 0x1081, 0x0000, 00011 0x1081, 0x5285, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x5285, 0x1081, 0x1081, 0x5a85, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x5a85, 0x1081, 00012 0x41e4, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x41e4, 0x4204, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x4204, 00013 0x7b87, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x7b87, 0x83a8, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x7b87, 00014 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x0000, 0x4204, 0x5aa5, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 00015 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x0000, 0x0000, 0x1081, 0x4204, 0x62c5, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 00016 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x0000, 0x0000, 0x0000, 0x0000, 0x1081, 0x4204, 0x5aa5, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 00017 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1081, 0x5244, 0x5aa5, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 00018 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x0000, 0x0000, 0x1081, 0x4204, 0x4204, 0x6b06, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 00019 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x0000, 0x4204, 0x5a85, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 00020 0x7b87, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x7b87, 0x83a8, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x7b87, 00021 0x41e4, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x41e4, 0x4204, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x4204, 00022 0x1081, 0x5285, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x5285, 0x1081, 0x1081, 0x5a85, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x5a85, 0x1081, 00023 0x0000, 0x1081, 0x5285, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x5285, 0x1081, 0x0000, 0x0000, 0x1081, 0x5a85, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x5a85, 0x1081, 0x0000, 00024 0x0000, 0x0000, 0x1081, 0x41e4, 0x7b87, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x7b87, 0x41e4, 0x1081, 0x0000, 0x0000, 0x0000, 0x0000, 0x1081, 0x4204, 0x7b87, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0xff2f, 0x5a85, 0x1081, 0x0000, 0x0000, 00025 }; 00026 00027 LCD_ST7735 Surface( 00028 P0_19, 00029 P0_20, 00030 P0_7, 00031 P0_21, 00032 P0_22, 00033 P1_15, 00034 P0_2, 00035 LCD_ST7735::RGB); 00036 00037 const char *text = "LCD Demo"; 00038 00039 main() 00040 { 00041 Surface.setOrientation(LCD_ST7735::Rotate270, false); 00042 00043 Surface.setForegroundColor(Color565::White); 00044 Surface.setBackgroundColor(Color565::Blue); 00045 00046 uint8_t width; 00047 uint8_t height; 00048 int x; 00049 00050 Surface.measureString(font_ibm, text, width, height); 00051 x = (160 - width) / 2; 00052 Surface.drawString(font_ibm, x, 0, "LCD Demo"); 00053 Surface.fillRect(x, height + 2, x + width, height + 4, Color565::Red, Color565::Red); 00054 00055 Surface.measureString(font_oem, text, width, height); 00056 x = (160 - width) / 2; 00057 Surface.drawString(font_oem, x, 16, "LCD Demo"); 00058 Surface.fillRect(x, 16 + height + 2, x + width, 16 + height + 4, Color565::Green, Color565::Green); 00059 00060 00061 while (true) { 00062 Surface.drawBitmap(72, 56, bmp, 0, 0, 16, 16); 00063 wait_ms(150); 00064 Surface.drawBitmap(72, 56, bmp, 16, 0, 16, 16); 00065 wait_ms(150); 00066 } 00067 }
Generated on Wed Aug 17 2022 19:41:02 by 1.7.2