Help with SSD1327 OLED display #7673
Replies: 1 comment
-
Posted at 2023-12-14 by @gfwilliams Hi! When you get this working it'd be great to turn it into a module for Espruino! So I think it'd be really helpful to know when the screen turns blank. Maybe you could run the commands one after the other - is it after It all looks quite good, but only thing right now is I'm wondering if:
should actually be:
So instead of writing Posted at 2023-12-15 by StefanB Thanks for the quick reply! I'm only now getting sometimes issues with my board kinda randomly resetting or giving seemingly random errors when trying to upload the code. Perhaps I've already used up all the RAM or something?
Yes, I plan to (at least with i2c support) once I'm sure it's working fine. Posted at 2023-12-15 by @allObjects (EDITED) Randomly resetting could come from the fact that sometimes an 'uninterruptible' application part of the code is completing within the time window that ESP8266 firmware allows and starves ESP8266 of processing cycles for the Wifi communication code. Posted at 2023-12-16 by @allObjects Another issue can be the insufficient power supply. ESP8266 has some surges that can be countered by a cap on the rails. Posted at 2023-12-16 by @allObjects re post #4, bullet point 1 and 3 - as taken from https://stackoverflow.com/questions/31083757/esp8266-constantly-restarting Get the serial terminal program named "terminal v1.9b by br@y++". While I wrote this answer I was not able to download. When I find the link I'll add in a comment. Run the program and set the baud rate to custom and enter the value 74880 or 74400. With this you'll be able to see the fw messages. In this messages there is the reboot reason code. The codes are : 0 -> normal startup by power on Posted at 2023-12-17 by StefanB Thanks for your replies. I tried the above but the only readable I got back was something about Below code seems to work pretty consistant without resets. Start gets called and I can send additional graphics commands to the screen via the left side of the IDE and they work :
However if I modify just a bit on this code things get weird. Trying to minify this code gives errors. For example, just commenting the print on line 70 breaks it. When I upload that it returns:
So, it's really confusing to me what's going on exactly... Posted at 2023-12-18 by @gfwilliams Thanks, it's great you got it working! However that If not I think it's called when an assertion fails inside Espruino, which is a sign that somehow the RAM has got corrupted. What version of Espruino are you running on the ESP8266? Maybe you could try and cutting edge build, or if that is broken the 2v19 build. It's a bit hard for me to track down here as I can't run it without having one of those displays, but if you could find a way of changing your code so it'll run without external hardware and still show the error then I can try and track it down here Posted at 2023-12-18 by StefanB No, I don't print it.
I now downloaded a cutting edge build from here: https://www.espruino.com/binaries/travis/master/espruino_2v19.99_esp8266_4mb.tgz
However I get the same problem.
Flashing this returns "this runs", but if I then run start() manually from the left side, it returns the following:
Posted at 2023-12-19 by @gfwilliams Hi - thanks for stripping that back! I can reproduce here. It seems to all fall apart right after I've just looked into this and it was a problem with how ArrayBuffers were handled when using the very compact memory layout that ESP8266 uses with 12 byte vars. I believe I've fixed it now if you use a cutting edge build Posted at 2023-12-20 by StefanB Thanks for looking into it, that indeed solved it! :D Posted at 2023-12-22 by StefanB I just created a pull request to add this module :) Posted at 2024-01-02 by @gfwilliams Thanks! Just merged - I'll update the website with this soon! |
Beta Was this translation helpful? Give feedback.
-
Posted at 2023-12-13 by StefanB
Hey everyone!
For a project I'm working on I decided I'd like to use Espruino so I flashed it on an ESP8266.
I have a GME128128-02 1.5" OLED display that is powered by a SSD1327 that I'd like to use. For my purposes I don't need any grayscale usage, only monochrome and only I2C is relevant for this specific screen.
There doesn't seem to be a module for this specific screen model, and none of the ones I tried worked so I decided to try and modify the SSD1306 module. I've already looked at some Arduino/C libraries for the SSD1327 driver and had a peek at the datasheet but after some evenings experimenting I have to admit I'm quite stuck. When I flash the current code I have, I get a bunch of vertical lines for a few seconds, before the screen seemingly turns off.
I feel like I'm probably not too far off but perhaps anyone here can immediately spot my mistakes and help me out. Thank you in advance!
My code:
Attachments:
Beta Was this translation helpful? Give feedback.
All reactions