-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[P073] Improve display of periods in 7dtext #3460
[P073] Improve display of periods in 7dtext #3460
Conversation
Add 7ddt command (dual temnperatures on Max7219 display)
Is this also ready for merge? Or is it one for a next build? |
I'm still working on a few extra options, mentioned in the linked issue |
Last commit has a typo, P037 should be P073 😊 |
How could you mess up such a perfect numer ;) |
I've added the requested Siekoo font, and added an extra font dSEG7 (linked in top message). For Siekoo I added uppercase versions for 'CNORUX', and left out the 'ÄÖÜß' characters, as it is very hard to send them to the unit because of character set conversion issues (UTF-8 vs ISO) Also implemented text scrolling, where it starts with the display filled, then scrolls it off to the left until the display is empty, then restarts. Added the NB: Some settings have changed storage positions in the configuration file since previous betas, so have to be reviewed/corrected when upgrading a previous beta. Or remove and re-add the task 😃 When updating from the standard ESPEasy release only settings are added, so nothing to correct. @fly74: |
@tonhuisman great I'll test it right now. Another issue I've recognized is when you use: [7SEG1].7dtext,OUT [BLK#Temperature#d2.1]^ in a rule, the display show sometimes -0.0 or 0.0 (caused of the values I guess eg. -0.01, 0.02) is there a function for round the values? |
@tonhuisman First test, looks good but h,H and u,U is not possible in one font set. I would like HU. For humidity. |
@tonhuisman Stop this do the job [7SEG3].7dtext,Xv. [BLK#Humidity#d2.1]^o Perfect let's put it in. |
NB: @fly74 can you also test the Scroll text feature? It will only start scrolling when the effective text length (periods calculated correctly according to that setting) doesn't fit on the display (also calculated for TM1637 display types, though yet untested as the TM1637 4 and 6 digit units haven't yet arrived from my 'special friend' Ali 😃) |
@tonhuisman I think we can duplicate the X and H to the same output (CHNORUX) X=H and U=V :) The rule for the decimals is [7SEG1].7dtext,0VT [BLK#Temperature#d2.1]^ but the measure is .2 from a different esp with P2P, so rounding would be nice. I checked the scrolling and it is nice, but I have a lot of displays, so that point to another question. Are all of the gpio ports usable for the displays? That means 2 ports shared and 14 ports (serial and i2c off) = 14 displays (I have 12 left :)) with one esp? In the tasks are not all 16 ports selectable. Alternatively I ordered here https://www.amazon.de/MakerHawk-MAX7219-Digital-Segment-Display/dp/B07CKSKNGW , good work so far |
You can use an ESP32, that has more GPIO pins available (32 total, 6 reserved for Flash, 4 input-only, a couple to avoid, effectively ~20 usable). On an ESP8266 there are ~9 usable GPIO's (17 total, 6 reserved for Flash and a few to avoid using).
I payed $0.83 for my single item, excl. freight cost, $1.46 incl. but I had to wait a few weeks before it arrived.
Thank you. |
Or choose to display 2 decimals on temperature display? (though I think that's not really a great solution) |
Esp32 I could never flashed with the how to. In the task are 13 io selectable so 11 displays? |
Fixed a few code issues, implemented PROGMEM optimization, and added a 'Scroll text in from right' option. A new beta: |
It's not a solution the measure esp provide the value to a database and p2p. And the display should show only .1 |
In that case I'd use an extra Dummy Device (named Dummy and first variable named Temperature and set to 1 decimal) and change
|
But maybe the hw module is broken |
I don't think you can combine those TM1637 displays, at least not on the same GPIO's, as they seem to use some kind of I2C(-like) protocol. |
First part of optimization is done (string handling during scrolling), had to disable all extra features, including fonts, for 'test' builds because of build-size issues (and still some won't fit...). Next task: Documentation 🤔 |
…feature/P073_improve_7dtext_add_7ddt
…feature/P073_improve_7dtext_add_7ddt
@tonhuisman @TD-er |
@fly74 You compile one for your own testing? |
@tonhuisman @TD-er I'm not able to build but maybe ton? |
I've made a build for ESP8266 (normal) and ESP32 (test) on this PR. ESPEasy_20210213_normal_ESP8266_4M1M_test_ESP32_4M316k-P073.zip |
@tonhuisman looks good but wifi can't be connected or new set. 750 : Info : ACT : timerSet,1,1 rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) INIT : Booting version: (ESP32 SDK v3.2.3-14-gd3e562907) |
As said before, it helps if I have the hardware available (and working) so I can do actual tests 😆
That is most likely not directly related to the changes I did, but I'd expect it could be related to the many fixes (already merged into |
…feature/P073_improve_7dtext_add_7ddt
@tonhuisman @TD-er So what's the timeline to get it in normal builds? |
@tonhuisman Are you done with this PR? |
Yes, all good to go 🚀 |
[ESPEasy p2p] Add check on buffer allocation received UDP data
@tonhuisman Good work, works in the actual normal release! |
7dtext
command as dots on display, default disabled (= backward compatible)7ddt,<left temp>,<right temp>
for dual temperature display (includes degree symbol) (removed in memory-tight configurations, only applicable to MAX7219 8-digit display)7dt
and7ddt
commands, allowing higher and lower temperatures to be displayed (>1000° and < -100°)7dt
command (only applicable to MAX7219 8-digit display, though that may in fact be a bug)7dbin,<bytes>...
to send any shape possible to the display. Also optionally supports scrolling if length exceeds display widthResolves #3459
Todo: