Closed ricbrue closed 3 years ago
Here a better test code:
for(int i=0;i<128;i++){
u8g2_DrawPixel(u8g2, i,i); //diagonal -> dx bottom
u8g2_DrawPixel(u8g2, i,127-i); //diagonal -> dx top
u8g2_DrawPixel(u8g2, i,0); //line top
u8g2_DrawPixel(u8g2, i,7); //line top
u8g2_DrawPixel(u8g2, i,127); //line bottom
u8g2_DrawPixel(u8g2, i,120); //line bottom
u8g2_DrawPixel(u8g2, 0,i); //line left
u8g2_DrawPixel(u8g2, 7,i); //line left
u8g2_DrawPixel(u8g2, 127,i); //line right
u8g2_DrawPixel(u8g2, 120,i); //line right
}
Result:
Hi, I'm wondering is this happening for multiple display controllers or just SH1107?
Currently, I use SSD1306 for the testing purpose, maybe I'll get a SH1107 to reproduce the error.
Hi, I'm wondering is this happening for multiple display controllers or just SH1107?
Currently, I use SSD1306 for the testing purpose, maybe I'll get a SH1107 to reproduce the error.
Hi, we have only such display so far, we cannot test with other displays.
Is this the one you are using (IIC), I'll place the order and test it out soon.
1.12 inch 22P/7P/5P SPI White OLED Square Screen (Board/No Board) SH1107 Drive IC 128*128 Parallel/IIC Interface 3.3V https://a.aliexpress.com/_mOunvk1
BTW, I saw a similar problem and a quick fix:
https://github.com/olikraus/u8g2/issues/44
By changing:
u8x8_i2c_data_transfer(u8x8, arg_int, arg_ptr);
to:
u8x8_i2c_data_transfer(u8x8, arg_int, p)
I've a SH1107 display controller with a 128x128 pixels display (UG-2828TSWIG01). The communication of the driver seems to work on a custom Linux distribution (arm64 device). The only issue that I encounter is that the origin of the coordinates is not in the right place as you can see in the following picture. I attach also a portion of the code that I am using.
What am I missing?