Bugs in SSD1306 support and suggestions

Moderators: grovkillen, Stuntteam, TD-er

Post Reply
Message
Author
bluejedi
Normal user
Posts: 35
Joined: 26 Sep 2016, 14:27

Bugs in SSD1306 support and suggestions

#1 Post by bluejedi » 10 Jun 2017, 15:57

SSD1306 support contains the following bugs:
(Tested on v2.0.0-dev10 but also present in earlier versions)

Bugs
  • Task settings contains an entry "Rotation" with values "Normal" and "Rotated". The values are working reversed however.
    "Normal orientation of the SSD1306 display is when the pins are on top (which can easily be seen from the text under the pins). However using the value "Normal" displays the text 180 degrees rotated but not normal.
    This is a bug that exists for long time already. It should be fixed because it is incorrect so that future firmware versions will use the correct behavior.
  • When enabling a SSD1306 display device text gets instantly displayed. However, disabling the device does not work properly: it leaves the last text on the display. It does not shut off the display which is a bug. (Even disabling the display and then rebooting the node does not remove the text from the display, which is awkward. One has to physically power-down the device before the text gets removed.)
Suggestions
  • 'Orientation' is a better name for the currently used 'Rotated'. Instead of 'Rotated' with values 'Normal' and 'Rotated' I prefer the more common 'Orientation' with values 'Normal' and 'Rotated 180 degrees'. They are more common, more self explanatory, more consistent and leave room for possible future expansion (e.g. 'Rotated 90 degrees CW' and 'Rotated 90 degrees CCW').
  • Enabling the display puts it on, similarly disabling it should shut it of.
    Apart from disable/turn off it would be possible to add a (programmable) freeze state: if freeze is selected the display will not be further updated until freeze is deselected again. This should of course work instantly and not require reboots or powering-down the node.

themanfrommoon
Normal user
Posts: 48
Joined: 23 May 2017, 21:38
Location: Malente / Germany

Re: Bugs in SSD1306 support and suggestions

#2 Post by themanfrommoon » 12 Jun 2017, 21:36

Hi,

I reported another issue using two OLED SSD1306 Display on one ESP8266 with ESPEasy on 24 May 2017:
https://www.letscontrolit.com/forum/vie ... f=6&t=3126

I wanted to use two OLED SSD1306 Display on one ESP8266 with ESPEasy.
For me, I thought this must easily work.
But it does not.

On one OLED Display I changed the adress by soldering on the PCB.
I think this works fine.
When I start the I2C scanner I got following results:

I2C Addresses in use: Supported devices:
----------------------------------------------------------
0x3c PCF8574A OLED
----------------------------------------------------------
0x3d PCF8574A OLED

Then I configurated the two devices and choosed the adresses "3C" for the first display and "3D" for the second display.
I choosed a delay of 10 seconds.

And now the strange thing comes:
One display works fine, but the second display changes between the content of the first display and the second display.
The problem occurs on the display which parameters were changed at last.

I tested it on ESPEasy R147 and ESPEasy_v2.0.0-dev8_normal_4096. The result is: same behavior.
Maybe there is something wrong with my configuration or hardware, or there is a softwarebug.
The problem occurs when using "Display - OLED SSD1306".
The same problem If I use "Display - OLED SSD1306 Framed".

Does anybody else use two OLED displays?

Thanks and best regards,
Chris

papperone
Normal user
Posts: 497
Joined: 04 Oct 2016, 23:16

Re: Bugs in SSD1306 support and suggestions

#3 Post by papperone » 15 Jun 2017, 18:44

Hoping not to go OT here but I have just realized ESPEasy uses a very old version of the OLED SSD1306 library (2.0.0).
I've successfully used the newest 3.2.7 which has lots of added features and values:
1) it supports both SSD1306 and SH1106 chipset --> more displays will be compatible with ESPEasy
2) Despite the standard I2C using 1wire, there's a version using the great BRZO-I2C protocol written in assembly which is amazingly faster!
3) It's 100% compatible with platformio
4) The only downside is that it's not 100% compatible as many things have changed from 2.x to 3.x and code needs to be reviewed/updated.

Any reason why the old library is still kept used?
My TINDIE Store where you can find all ESP8266 boards I manufacture --> https://www.tindie.com/stores/GiovanniCas/
My Wiki Project page with self-made PCB/devices --> https://www.letscontrolit.com/wiki/inde ... :Papperone

krikk
Normal user
Posts: 118
Joined: 28 Feb 2017, 07:57
Location: Austria
Contact:

Re: Bugs in SSD1306 support and suggestions

#4 Post by krikk » 15 Jun 2017, 20:05

your points are valid, mostly but there is one big problem: the lack of developers...

i did have a look at the oled plugins already and i know what needs to be done:

1. update to the new OLED SSD1306 library you mentioned
2. merge the framed oled with the normal oled plugin (to preserve memory and ram?)

...yes ideally someone would code that, how about you???

..we have great startet tutorials to get started with platformio and github: https://www.letscontrolit.com/wiki/inde ... evelopment

papperone
Normal user
Posts: 497
Joined: 04 Oct 2016, 23:16

Re: Bugs in SSD1306 support and suggestions

#5 Post by papperone » 15 Jun 2017, 20:56

krikk wrote: 15 Jun 2017, 20:05 your points are valid, mostly but there is one big problem: the lack of developers...

i did have a look at the oled plugins already and i know what needs to be done:

1. update to the new OLED SSD1306 library you mentioned
2. merge the framed oled with the normal oled plugin (to preserve memory and ram?)

...yes ideally someone would code that, how about you???

..we have great startet tutorials to get started with platformio and github: https://www.letscontrolit.com/wiki/inde ... evelopment
I'm already reading and understanding how plugin works as per my other topic on "NeoPixel" plugin broken; let me some time to learn and I could be able to at least give it a try :)
My TINDIE Store where you can find all ESP8266 boards I manufacture --> https://www.tindie.com/stores/GiovanniCas/
My Wiki Project page with self-made PCB/devices --> https://www.letscontrolit.com/wiki/inde ... :Papperone

Shardan
Normal user
Posts: 1156
Joined: 03 Sep 2016, 23:27
Location: Bielefeld / Germany

Re: Bugs in SSD1306 support and suggestions

#6 Post by Shardan » 15 Jun 2017, 23:20

Please,
don't forget the LCD dispalys which have the same issue.

My old eyes don't the SSD1306 displays ;)
Regards
Shardan

papperone
Normal user
Posts: 497
Joined: 04 Oct 2016, 23:16

Re: Bugs in SSD1306 support and suggestions

#7 Post by papperone » 15 Jun 2017, 23:33

Shardan wrote: 15 Jun 2017, 23:20 Please,
don't forget the LCD dispalys which have the same issue.

My old eyes don't the SSD1306 displays ;)
I shoudl have a couple of old LCD 1602 and 2004 for testing, can you please point me to the thread where bug(s) are listed in order to have a look?
If there's no thread can you please let me know how to reproduce the bug(s)?

G.
My TINDIE Store where you can find all ESP8266 boards I manufacture --> https://www.tindie.com/stores/GiovanniCas/
My Wiki Project page with self-made PCB/devices --> https://www.letscontrolit.com/wiki/inde ... :Papperone

Shardan
Normal user
Posts: 1156
Joined: 03 Sep 2016, 23:27
Location: Bielefeld / Germany

Re: Bugs in SSD1306 support and suggestions

#8 Post by Shardan » 16 Jun 2017, 12:18

papperone wrote: 15 Jun 2017, 23:33
Shardan wrote: 15 Jun 2017, 23:20 Please,
don't forget the LCD dispalys which have the same issue.

My old eyes don't the SSD1306 displays ;)
I shoudl have a couple of old LCD 1602 and 2004 for testing, can you please point me to the thread where bug(s) are listed in order to have a look?
If there's no thread can you please let me know how to reproduce the bug(s)?

G.
Hello papperone,

posting #5
https://www.letscontrolit.com/forum/vie ... f=6&t=3126

For short:
I checked the OLED issue to confirm and tested the LCD too.
Tested with R148 and 2.0.0DEV10.
Two LCD2004, set to different I²C addresses on a nodeMCU, connected via levelshifter.
One works, the other does not even show the "ESP EASY" Message on bootup.
Sending data via HTTP or just displaying uptime or systime does not work on second display.

If i disconnect the first display from I²C and reboot, the second one works so cabling faults or broken display isn't the reason.

Regards
Shardan
Regards
Shardan

papperone
Normal user
Posts: 497
Joined: 04 Oct 2016, 23:16

Re: Bugs in SSD1306 support and suggestions

#9 Post by papperone » 16 Jun 2017, 12:32

Ok, I'm at the moment setup and confgure properly all the needed environemtn (ATOM, Platformio, GitHub, etc...) then I will start to give a look and hope to be able to help.
I hope to be contributing as well with some new plugin I've in mind
My TINDIE Store where you can find all ESP8266 boards I manufacture --> https://www.tindie.com/stores/GiovanniCas/
My Wiki Project page with self-made PCB/devices --> https://www.letscontrolit.com/wiki/inde ... :Papperone

themanfrommoon
Normal user
Posts: 48
Joined: 23 May 2017, 21:38
Location: Malente / Germany

Re: Bugs in SSD1306 support and suggestions

#10 Post by themanfrommoon » 16 Jun 2017, 12:37

Hello

For short:
I checked the OLED issue to confirm and tested the LCD too.
Tested with R148 and 2.0.0DEV10.
Two LCD2004, set to different I²C addresses on a nodeMCU, connected via levelshifter.
One works, the other does not even show the "ESP EASY" Message on bootup.
Sending data via HTTP or just displaying uptime or systime does not work on second display.

If i disconnect the first display from I²C and reboot, the second one works so cabling faults or broken display isn't the reason.

Regards
Shardan
I tested exactly the same with two 0,96" SSD1306 OLED displays.

The behavior is exactly the same!

Best regards,
Chris

Post Reply

Who is online

Users browsing this forum: No registered users and 110 guests