olikraus / u8g2

U8glib library for monochrome displays, version 2
Other
4.91k stars 1.03k forks source link

SSD1312 128x32 issue #2368

Closed Rick-NL closed 2 months ago

Rick-NL commented 4 months ago

I have aquired a 128x32 size, 1.71" OLED Display to get a better readabilitywithout glasses than the original 0.91" SSD1306 Display. I don't get the code compiled with the SSD1312_128x64 (or 128x32) options, with the original SSD1306 I get this: IMG_20240208_135654 Is there a solution that I could implement?

Rick-NL commented 4 months ago

This is the article on Aliexpress https://www.aliexpress.us/item/3256805486386510.html? Rick

olikraus commented 4 months ago

hmm... the controller SSD1312 is not supported at the moment by u8g2

olikraus commented 4 months ago

I have ordered one of those display. It will be in my lab in arround 5 weeks.

Rick-NL commented 4 months ago

That would be super nice, thanks I will wait and hope!

Rick-NL commented 4 months ago

I can send you one from The Netherlands to Gemany, that would be quicker. When you want so please PM your address.

olikraus commented 4 months ago

Nice offer, but it's ordered already. Sometimes those devices arrive also more earlier.

Rick-NL commented 4 months ago

OK, thats fine

nikolajovickg commented 3 months ago

Workaround that works for me until official support is SSD1312_128x64 constructor with y offset of 16 pixels (so effective display mapping is x: 0-127, y: 16-47) VideoCapture_20240312-002013

wacd commented 3 months ago

Nice offer, but it's ordered already. Sometimes those devices arrive also more earlier.

Hello Sir, is it compatible now i have the same issue with nikolajovickg.

olikraus commented 3 months ago

meanwhile the display arrived in my lab, but I don't know when I will have time to work on this.

Rick-NL commented 3 months ago

Good it did arrive. Many thanks for al the work you do! I will await your reaction, Rick

olikraus commented 2 months ago

I have create a new constructor for this display U8G2_SSD1312_128X32

U8G2_SSD1312_128X32_1_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 13, /* data=*/ 11, /* cs=*/ 10, /* dc=*/ 9, /* reset=*/ 8);
U8G2_SSD1312_128X32_1_SW_I2C u8g2(U8G2_R0, /* clock=*/ SCL, /* data=*/ SDA, /* reset=*/ 8);
U8G2_SSD1312_128X32_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ 8);

I have received a SPI display which works as expected. Maybe someone can test the I2C interface. The latest u8g2 beta 2.35.16 includes the update...

You can download the latest U8g2 beta release from here: https://github.com/olikraus/U8g2_Arduino/archive/master.zip Arduino IDE:

  1. Remove the existing U8g2_Arduino library (https://stackoverflow.com/questions/16752806/how-do-i-remove-a-library-from-the-arduino-environment)
  2. Install the U8g2_Arduino Zip file via Arduino IDE, add zip library menu (https://www.arduino.cc/en/Guide/Libraries).

PlatformIO: platformio.ini (https://docs.platformio.org/en/latest/projectconf/section_env_library.html#lib-deps) should include

lib_deps =
  u8g2=https://github.com/olikraus/U8g2_Arduino/archive/master.zip
Rick-NL commented 2 months ago

Thanks a lot, I will check it soon on i2c Rick

Rick-NL commented 2 months ago

Hi Olikraus, it took a few days before I had the chance to test the new files. Being not a very good programmer, it took me a few hours to find out how easy it finally was. Needed to use the full buffer option, the result is perfect. I use it on HW I2C with the constructor : U8G2_SSD1312_128X32_F_HW_I2C u8g2(U8G2_R0, / reset=/ 8); 17inch

Thanks a lot

olikraus commented 2 months ago

Amazing, looks good. Thanks for the feedback!