ThingPulse / esp8266-oled-ssd1306

Driver for the SSD1306 and SH1106 based 128x64, 128x32, 64x48 pixel OLED display running on ESP8266/ESP32
https://thingpulse.com
Other
1.98k stars 638 forks source link

ESP32 improve display speed for SH1106 #382

Closed FREEWING-JP closed 1 year ago

FREEWING-JP commented 1 year ago

Same as #380 This PR is SH1106 .

Tested with I2C SH1106 OLED 128x64 ESP32-S3 (revision v0.1) ESP32-C3 (revision v0.3)

SH1106 needs to specify the coordinates when the Y coordinate changes . So I made ESP32's maximum transmission length 1/2 of 128 dots , which is 64 bytes .

P.S. It will be also works fine ESP8266 . But I not yet tested . https://github.com/esp8266/Arduino/blob/01d1c8e46f96d37d3597e6ce296cca37567a7030/libraries/Wire/Wire.h#L33

This is ESP32's define . https://github.com/espressif/arduino-esp32/blob/0d84018d969309addacbcc3e3782c1fadc95fbc8/libraries/Wire/src/Wire.h#L43

FREEWING-JP commented 1 year ago

Thank You !