NuMaker-PFM-NUC472 : I2C1 LCD draw bitmap

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 // NuMaker-PFM-NUC472 : I2C1 LCD draw bitmap
00002 #include "mbed.h"
00003 #include "ssd1306.h"
00004 
00005 I2C i2c1(PD_12, PD_10); // I2C1_SDA, I2C1_SCL
00006 
00007 SSD1306 LCD;
00008 
00009 unsigned char BMP_128x64_Nuvoton_NuMaker[128*8] = { // Nuvoton NuMaker Logo 
00010     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
00011     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0xE0,0xF0,0x70,0x30,0x30,0x30,0x70,0xF0,0xE0,0xE0,0xC0,0x80,0x00,0x00,0xF0,0xF0,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0xF0,0xF0,0x00,0x00,0x30,0x70,0xF0,0xE0,0x80,0x00,0x00,0x00,0x00,0x80,0xE0,0xF0,0xF0,0x30,0x00,0x80,0xC0,0xE0,0xE0,0xF0,0x70,0x70,0x30,0x30,0x70,0x70,0xF0,0xE0,0xE0,0xC0,0x00,0x18,0x08,0x08,0x0C,0x0C,0xFC,0xFC,0xFC,0xFC,0x1C,0x0C,0x0C,0x08,0x08,0x08,0x80,0xC0,0xE0,0xE0,0xF0,0x70,0x70,0x30,0x30,0x70,0x70,0xE0,0xE0,0xE0,0xC0,0x00,0x00,0x00,0x80,0xC0,0xE0,0xE0,0xF0,0x70,0x30,0x30,0x30,0x70,0xF0,0xE0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
00012     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x7F,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x7F,0x3F,0x00,0x00,0x0F,0x1F,0x3F,0x3F,0x78,0x70,0x70,0x60,0x70,0x70,0x78,0x3F,0x3F,0x1F,0x0F,0x00,0x00,0x00,0x00,0x01,0x07,0x0F,0x3F,0x7C,0x7C,0x3F,0x1F,0x07,0x01,0x00,0x00,0x00,0x0F,0x1F,0x3F,0x3F,0x38,0x70,0x70,0x70,0x70,0x70,0x70,0x3C,0x3F,0x1F,0x1F,0x07,0x00,0x00,0x00,0x00,0x00,0x3F,0x7F,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x3F,0x3F,0x38,0x70,0x70,0x70,0x70,0x70,0x70,0x3D,0x3F,0x1F,0x1F,0x07,0x00,0x00,0x3F,0x7F,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x7F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
00013     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
00014     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
00015     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x0F,0x3F,0xFC,0xF0,0xC0,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xF0,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0xF0,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x0F,0x7F,0xFE,0xF8,0xC0,0x00,0x00,0x00,0x00,0xC0,0xF0,0xFE,0x7F,0x0F,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xE0,0xE0,0x70,0x70,0x70,0x70,0x70,0xF0,0xE0,0xC0,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x80,0xC0,0xE0,0x70,0x30,0x10,0x00,0x00,0xC0,0xE0,0xE0,0x70,0x70,0x70,0x70,0xF0,0xE0,0xC0,0x80,0x00,0x00,0x00,0xF0,0xF0,0xF0,0xE0,0x70,0x70,0x70,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
00016     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x03,0x0F,0x3F,0xFC,0xE0,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xE0,0xC0,0xC0,0xC0,0xE0,0xFF,0xFF,0xFF,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x03,0x0F,0x7F,0xFF,0xF8,0xF8,0xFE,0x3F,0x0F,0x01,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x78,0xFC,0xFC,0xCE,0xCE,0xC6,0xC6,0xE6,0xFF,0xFF,0xFF,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x06,0x0F,0x1F,0x7D,0xF8,0xE0,0xC0,0x80,0x00,0x3F,0x7F,0xFF,0xEC,0xCC,0xCC,0xCC,0xCC,0xCC,0xEF,0xEF,0x0F,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
00017     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
00018 };
00019 
00020 unsigned char BMP_64x64_Academic[64*8] = {
00021     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x20,0xE0,0x20,0x20,0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
00022     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x01,0x00,0x00,0x1F,0x00,0x00,0x0F,0x10,0x10,0x10,0x1F,0x00,0x01,0x0E,0x10,0x0C,0x03,0x00,0x00,0x0F,0x10,0x10,0x10,0x0F,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x0F,0x10,0x10,0x10,0x0F,0x00,0x00,0x1F,0x01,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
00023     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0xC0,0xC0,0xC0,0xC0,0xC0,0xE0,0xE0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF8,0xF8,0xF8,0xF8,0x7C,0x7C,0x7C,0xF8,0xF8,0xF8,0xF8,0xF8,0xF0,0xF0,0xF0,0xF0,0xF0,0xE0,0xE0,0xE0,0xE0,0xC0,0xC0,0xC0,0xC0,0xC0,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
00024     0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x03,0x03,0x03,0x07,0x07,0x07,0x0F,0x0F,0x8F,0x9F,0x9F,0x1F,0x3F,0x3F,0x3F,0x7F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFC,0xF8,0xF8,0xF8,0xFC,0xFC,0xFC,0xFC,0xFC,0x7C,0x7C,0x7D,0x3D,0x39,0x39,0x19,0x19,0x99,0x89,0x89,0x09,0x01,0x01,0x03,0x03,0xFB,0x03,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,
00025     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x7F,0x7F,0xFF,0xFF,0xFF,0xFE,0xFE,0xFC,0xFC,0xFC,0xF8,0xF8,0xF9,0xF1,0xF1,0xF3,0xF1,0xF1,0xF9,0xF8,0xF8,0xFC,0xFC,0xFC,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,0x7F,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
00026     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x03,0x07,0x07,0x0F,0x0F,0x1F,0x1F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x1F,0x1F,0x0F,0x0F,0x07,0x07,0x03,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x7C,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
00027     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0xC0,0x00,0x00,0xE0,0xE0,0x00,0x80,0x80,0x00,0x00,0x80,0x80,0x00,0x00,0xE0,0xE0,0xC0,0x00,0x00,0x00,0xC0,0xE0,0xE0,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0xF0,0xF0,0x00,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
00028     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x00,0x03,0x0C,0x1F,0x1F,0x00,0x0F,0x1F,0x10,0x10,0x1F,0x1F,0x00,0x00,0x1F,0x1F,0x01,0x07,0x1C,0x07,0x01,0x1F,0x1F,0x00,0x0C,0x1E,0x12,0x1F,0x1F,0x00,0x1F,0x1F,0x06,0x1F,0x19,0x00,0x0F,0x1F,0x12,0x12,0x13,0x13,0x00,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
00029 };
00030 
00031 int main() {
00032     
00033     i2c1.frequency(400000); 
00034     
00035     LCD.initialize();
00036     LCD.clearscreen();
00037     
00038     while(true) {
00039             LCD.drawBMP(BMP_128x64_Nuvoton_NuMaker);
00040             LCD.clearscreen();
00041             LCD.drawBmp64x64(32, 0, FG_COLOR, BG_COLOR, BMP_64x64_Academic);
00042             Thread::wait(500);
00043         }
00044 }