37 uint8_t rx = w ? (x + w - 1) : (m_base.width() - 1);
40 this->send((m_rotation & 1) ? 0x75: 0x15);
42 this->send(rx < m_base.width() ? rx : (m_base.width() - 1));
43 this->send((m_rotation & 1) ? 0x15: 0x75);
45 this->send(m_base.height() - 1);
79 if ( (rotation ^ m_rotation) & 0x01 )
81 m_base.swapDimensions();
83 m_rotation = rotation & 0x03;
91 ram_mode = 0b00110010;
94 ram_mode = 0b00110001;
97 ram_mode = 0b00100000;
101 ram_mode = 0b00100011;
104 this->send( ram_mode | (m_bits == 16 ? 0x40: 0x00) );
117 this->send( (color & 0xF800) >> 10 );
118 this->send( (color & 0x07E0) >> 5 );
119 this->send( (color & 0x001F) << 1 );
150 static const PROGMEM uint8_t s_SSD1331_lcd96x64x8_initData[] = {
152 SDL_LCD_SSD1331_X8, 0x00,
156 0xA0, 0x01, 0x20 | 0x10 | 0x02,
187 _configureSpiDisplayCmdModeOnly<I>(this->m_intf,
188 s_SSD1331_lcd96x64x8_initData,
189 sizeof(s_SSD1331_lcd96x64x8_initData));
208 static const PROGMEM uint8_t s_SSD1331_lcd96x64x16_initData[] = {
210 SDL_LCD_SSD1331_X16, 0x00,
214 0xA0, 0x01, 0x40 | 0x20 | 0x10 | 0x02,
245 _configureSpiDisplayCmdModeOnly<I>(this->m_intf,
246 s_SSD1331_lcd96x64x16_initData,
247 sizeof(s_SSD1331_lcd96x64x16_initData));
void lcd_gpioWrite(int pin, int level)
void copyBlock(uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint8_t newLeft, uint8_t newTop)
void ssd1306_resetController2(int8_t rstPin, uint8_t delayMs)
Does hardware reset for oled controller.
void setRotation(uint8_t rotation)
Sets screen orientation (rotation)
void startBlock(lcduint_t x, lcduint_t y, lcduint_t w)
Sets block in RAM of lcd display controller to write data to.
void drawLine(lcdint_t x1, lcdint_t y1, lcdint_t x2, lcdint_t y2, uint16_t color)
void setDataMode(uint8_t mode)
void lcd_delay(unsigned long ms)