DCC-EX / CommandStation-EX

EX-CommandStation firmware from DCC-EX. Includes support for WiFi and a standalone WiThrottle server. A complete re-write of the original DCC++.
https://dcc-ex.github.io/
GNU General Public License v3.0
158 stars 110 forks source link

Display not scrowling #427

Open mvackel opened 2 days ago

mvackel commented 2 days ago

I'm trying an OLED display (128x32) on my CommandStation 5.0.9 (using ESP32 Dev Kit), but it's not showing the IP Address. It just shows these 4 lines: DCC-EX v5.0.9 Lic GPLv3 Power Off Free RAM=201080b

I've tried both modes: STA and AP - same 4 lines. Shouldn't the display change the page each 3 seconds and show the IP Address and some other useful info? Now I just changed the display to a LCD 4x20 - same result, same 4 lines.

I've tried uploading the firmware using the Installer (vs 0.20) and also using VSCODE. On VSCode I tried changing the SCROLLMODE to 0, 1 and 2 in the config.h. Same results.

(Sorry to post here - I tried to post on Discord but never got any answer there)

Ash-4 commented 2 days ago

Use a recent development branch and advise if the issue is resolved. ESP32 is still beta, until DCC-EX release 5.4.

.. reply was left on discord, but I see where your question was not answered the first time when posted several days earlier. discord is much preferred; don't hesitate to open a ticket on discord. https://discord.com/channels/713189617066836079/713211119275212842/1305222566415437894

mvackel commented 1 day ago

Thanks for answering. I tried version 5.2.91 from the 'devel' branch and also version 5.2.88 using the Installer. Both do work!

I'd like to suggest to include the port number in the second display page. I saw a patch in the docs (https://dcc-ex.com/reference/hardware/i2c-displays.html#combine-ip-address-and-port-on-oled) to do this but it would be easier for non-programmers to have the port number displayed as default. Another option would be a define in the config.h so that it could be changed in the "Advanced Configuration" on the Installer.

EDIT: for the ESP32 the IP address displayed is in the file 'WifiESP32.cpp', line 220. The original line is: LCD(7, F("IP: %s"), WiFi.localIP().toString().c_str());`

I've replaced it by the following lines - that maybe is more informative (but may I use LCD lines 5 and 6?): LCD(5, F("SSID: %s"), SSid);
LCD(6, F("IP: %s"), WiFi.localIP().toString().c_str()); LCD(7, F("PORT: %d"), port);