[Solved] OLED SSD1306 Special characters

Moderators: grovkillen, Stuntteam, TD-er

Post Reply
Message
Author
duindain
New user
Posts: 8
Joined: 30 Nov 2021, 01:22

[Solved] OLED SSD1306 Special characters

#1 Post by duindain » 25 Dec 2021, 03:50

Hi,

I'm trying to get the special characters to work as documented in the wiki https://www.letscontrolit.com/wiki/inde ... LEDDisplay
But i cant seem to stumble onto the correct format, this is for just showing ˚C on the display

According to the wiki
˚ {D} ° degreeC degree_C "degreeC" and "degree_C" will give you ˚C
I've tried the direct character {D} the text degreeC with and without quotes with and without underscore inside [] outside in {} and out, just using the direct ascii character copied and pasted in

Does anyone know the correct format to use or if the feature works at all?

I'm using build
Build: ESP_Easy_mega_20211105_test_A_ESP8266_4M1M Nov 5 2021
Last edited by duindain on 25 Dec 2021, 15:59, edited 1 time in total.

User avatar
Ath
Normal user
Posts: 3517
Joined: 10 Jun 2018, 12:06
Location: NL

Re: OLED SSD1306 Special characters

#2 Post by Ath » 25 Dec 2021, 10:57

Please use the current, and constantly updated, documentation at Read The Docs

A few questions though:
- Which OLed plugin are you using? (there are 2 in that build, Display - OLED SSD1306 and Display - OLED SSD1306/SH1106 Framed)
- How are you putting that degree symbol on the display?
- What is the result you are seeing displayed?
/Ton (PayPal.me)

User avatar
Ath
Normal user
Posts: 3517
Joined: 10 Jun 2018, 12:06
Location: NL

Re: OLED SSD1306 Special characters

#3 Post by Ath » 25 Dec 2021, 11:33

Ah, found it, for the bin-size challenged builds, like TEST_A .. TEST_D, the conversion of these special characters is excluded from the code. The giveaway for this missing is in the System Variables page, where these conversions are a) not shown, and b) not applied to the example conversions for f.e. %c_c2f% in the list of Standard Conversions.

If you do not need any of the plugins in the TEST set, you can use a NORMAL build, or if you can apply the Framed OLed plugin, a CUSTOM build.

An alternative is to paste a unicode degree character just before the C in your device configuration: °C, that is still transformed to the actual degree character on the display (for the OLED SSD1306 plugin).
/Ton (PayPal.me)

duindain
New user
Posts: 8
Joined: 30 Nov 2021, 01:22

Re: OLED SSD1306 Special characters

#4 Post by duindain » 25 Dec 2021, 15:57

Thanks for taking a look
Ok thats weird I had already tried copy and pasting the degree character in and it didn't work it was in the original post but I've just retried and this time it did work

Thanks for your help :)

Checking the "official" documentation you mentioned https://espeasy.readthedocs.io/en/lates ... #p023-page it is completely useless its just auto generated with no actual info, except for the github link i guess

I'm using the non framed Display - OLED SSD1306

I needed test a for the temp sensor support but i have changed sensors recently so may no longer be a requirement

User avatar
Ath
Normal user
Posts: 3517
Joined: 10 Jun 2018, 12:06
Location: NL

Re: OLED SSD1306 Special characters

#5 Post by Ath » 25 Dec 2021, 16:21

duindain wrote: 25 Dec 2021, 15:57 is completely useless its just auto generated with no actual info
Ah, yes, sadly that one is not migrated to RTD yet. I'll see what I can do about that, I have a few days off coming up, so maybe I can update that page, as this plugin is used quite often.
duindain wrote: 25 Dec 2021, 15:57 I needed test a for the temp sensor support but i have changed sensors recently so may no longer be a requirement
What exact sensor are you using?

BTW: Not many sensors have been moved from TEST to NORMAL recently, as TEST is no longer just a testbed-release for (new) sensors, but more of a collection of sensors that no longer will fit in the NORMAL release. That is also why there are TEST_A to TEST_D builds (and soon, also a TEST_E set will be there). The only build that includes all available plugins are the MAX releases, but these are only available for ESP32 with 16MB Flash, as ESP8266 doesn't allow for a large enough code size to include them all (there are over 120 plugins available or to be included in the near future), even when 16MB flash is available.
/Ton (PayPal.me)

duindain
New user
Posts: 8
Joined: 30 Nov 2021, 01:22

Re: [Solved] OLED SSD1306 Special characters

#6 Post by duindain » 25 Dec 2021, 23:54

I've been converting over an AirGradient build to LetsControl it, some details are here viewtopic.php?f=5&t=8875&p=56236#p56236 and I see you were posting in that threat too, thanks again :)

The old temp sensor was the SHT30 which needed the TEST_A build but it looks like that was what got broken when the board was power surged
I've now swapped to a BME280 and a new OLED but both work with the same driver with different screen size settings

I'll test out the main non test version and see if everything still works

User avatar
Ath
Normal user
Posts: 3517
Joined: 10 Jun 2018, 12:06
Location: NL

Re: [Solved] OLED SSD1306 Special characters

#7 Post by Ath » 26 Dec 2021, 17:20

You may need to check if your OLed is actually a SSD1306 or maybe a SH1106. That last one has a slightly different resolution (132px wide instead of 128px), sometimes resulting in spurious extra pixels at the right or top lines of the display. The Framed OLed pluggin (P036) has compensation/support for that display model, but that isn't ported over to the regular OLed plugin (P023).
/Ton (PayPal.me)

Post Reply

Who is online

Users browsing this forum: No registered users and 113 guests