32 extern uint16_t ssd1306_color;
34 static const PROGMEM uint8_t s_oled128x128_initData[] =
36 SSD1351_UNLOCK, 0xFF, 0x12,
37 SSD1351_UNLOCK, 0xFF, 0xB1,
39 SSD1351_CLOCKDIV, 0xFF, 0xF1,
40 SSD1351_SETMULTIPLEX, 0xFF, 127,
41 SSD1351_SEGREMAP, 0xFF, 0B00110101,
42 SSD1351_SETSTARTLINE, 0xFF, 0x00,
43 SSD1351_SETDISPLAYOFFSET, 0xFF, 0x00,
44 SSD1351_SETGPIO, 0xFF, 0x00,
45 SSD1351_SETFUNCTION, 0xFF, 0x01,
46 SSD1351_SETPRECHARGE, 0xFF, 0x32,
47 SSD1351_VCOMH, 0xFF, 0x05,
48 SSD1351_PRECHARGELEVEL, 0xFF, 0x17,
49 SSD1351_NORMALDISPLAY,
50 SSD1351_CONTRAST, 0xFF, 0xC8,
53 SSD1351_MASTERCURRENT, 0xFF, 0x0F,
54 SSD1351_EXTVSL, 0xFF, 0xA0, 0xFF, 0xB5, 0xFF, 0x55,
55 SSD1351_PRECHARGESECOND, 0xFF, 0x01,
57 SSD1351_NORMALDISPLAY,
60 static uint8_t s_column;
61 static uint8_t s_page;
63 static void ssd1351_setBlock(uint8_t x, uint8_t y, uint8_t w)
83 static void ssd1351_nextPage(
void)
86 ssd1351_setBlock(s_column,s_page+1,0);
89 static void ssd1351_sendPixels(uint8_t data)
91 for (uint8_t i=8; i>0; i--)
116 for( uint8_t i=0; i<
sizeof(s_oled128x128_initData); i++)
118 uint8_t data = pgm_read_byte(&s_oled128x128_initData[i]);
121 data = pgm_read_byte(&s_oled128x128_initData[++i]);
138 pinMode(rstPin, OUTPUT);
139 digitalWrite(rstPin, HIGH);
143 digitalWrite(rstPin, LOW);
145 digitalWrite(rstPin, HIGH);
void(* ssd1306_sendByte)(uint8_t data)
void ssd1351_128x128_init()
Inits 128x128 RGB OLED display (based on SSD1351 controller).
void(* ssd1306_endTransmission)(void)
void ssd1306_spiDataMode(uint8_t mode)
void(* ssd1306_commandStart)(void)
void(* ssd1306_setRamBlock)(uint8_t x, uint8_t y, uint8_t w)
void(* ssd1306_nextRamPage)(void)
void(* ssd1306_sendPixels)(uint8_t data)
void ssd1306_spiInit(int8_t cesPin, int8_t dcPin)
void ssd1351_128x128_spi_init(int8_t rstPin, int8_t cesPin, int8_t dcPin)
Inits 128x128 RGB OLED display over spi (based on SSD1351 controller).