27 #include "ssd1331_commands.h" 34 static const PROGMEM uint8_t s_oled96x64_initData[] =
37 SSD1331_SEGREMAP, 0x00 | 0x20 | 0x10 | 0x02 | 0x01,
38 SSD1331_SETSTARTLINE, 0x00,
39 SSD1331_SETDISPLAYOFFSET, 0x00,
40 SSD1331_NORMALDISPLAY,
41 SSD1331_SETMULTIPLEX, 63,
42 SSD1331_SETMASTER, 0x8E,
43 SSD1331_POWERMODE, 0x0B,
44 SSD1331_SETPRECHARGE, 0x31,
45 SSD1331_CLOCKDIV, 0xF0,
46 SSD1331_PRECHARGEA, 0x64,
47 SSD1331_PRECHARGEB, 0x78,
48 SSD1331_PRECHARGELEVEL, 0x3A,
50 SSD1331_MASTERCURRENT, 0x09,
51 SSD1331_CONTRASTA, 0x91,
52 SSD1331_CONTRASTB, 0x50,
53 SSD1331_CONTRASTC, 0x7D,
57 static uint8_t s_column;
58 static uint8_t s_page;
59 static uint16_t s_color = 0xFF;
61 static void ssd1331_setBlock(uint8_t x, uint8_t y, uint8_t w)
75 static void ssd1331_nextPage()
78 ssd1331_setBlock(s_column,s_page+1,0);
82 static void ssd1331_sendPixels(uint8_t data)
84 for (uint8_t i=8; i>0; i--)
116 for( uint8_t i=0; i<
sizeof(s_oled96x64_initData); i++)
126 pinMode(rstPin, OUTPUT);
127 digitalWrite(rstPin, HIGH);
131 digitalWrite(rstPin, LOW);
133 digitalWrite(rstPin, HIGH);
void(* ssd1306_sendByte)(uint8_t data)
void(* ssd1306_dataStart)()
void(* ssd1306_endTransmission)()
void(* ssd1306_nextRamPage)()
void ssd1331_96x64_spi_init(int8_t rstPin, int8_t cesPin, int8_t dcPin)
Inits 96x64 RGB OLED display over spi (based on SSD1331 controller).
void ssd1331_setColor(uint16_t color)
Sets default color, generated by RGB_COLOR8 macros.
void ssd1306_sendCommand(uint8_t command)
#define RGB_COLOR8(r, g, b)
void ssd1331_setRgbColor(uint8_t r, uint8_t g, uint8_t b)
Sets default color.
void(* ssd1306_commandStart)()
void(* ssd1306_setRamBlock)(uint8_t x, uint8_t y, uint8_t w)
void ssd1331_96x64_init()
Inits 96x64 RGB OLED display (based on SSD1331 controller).
void(* ssd1306_sendPixels)(uint8_t data)
void ssd1306_spiInit(int8_t cesPin, int8_t dcPin)