I had about the same problem with SH1106, a 128x64 chip for which the SSD1306 example partially works. The difference between SH1106 and SSD1306 is that IIRC the latter has convenient auto-incrementing so that you don't need to specify which page to write to if it's more than one page.
I had modified the SSD1306 to make it partially working for SH1106, mainly IIRC I only needed to change some buffer write code. Partial buffer writes won't work, full buffer writes should work to some extent.
See the attached ZIP file. Both are actually named ssd1306.c per the original SDK example, you just need to use a visual diff app like WinMerge to see the changes. Check the datasheet for SH1107, if it behaves much like SH1106, then the code should make the SSD1306 example partially working (at least see some raspberries).
[Edit] Spelling.
I had modified the SSD1306 to make it partially working for SH1106, mainly IIRC I only needed to change some buffer write code. Partial buffer writes won't work, full buffer writes should work to some extent.
See the attached ZIP file. Both are actually named ssd1306.c per the original SDK example, you just need to use a visual diff app like WinMerge to see the changes. Check the datasheet for SH1107, if it behaves much like SH1106, then the code should make the SSD1306 example partially working (at least see some raspberries).
[Edit] Spelling.
Statistics: Posted by katak255 — Sun Dec 15, 2024 2:01 pm