Fix tube flicker and review fixes
- The bit-banged WS2812 update disables interrupts (about 30 us per pixel), which made the lit tube stay on longer and flash. neoShow() now only sends when the pixels changed (fixed colour was resent every second) and waits for the dark gap between tubes; the bit-bang strip has no headroom pixels. This also fixed digits that seemed to hang. - 4 WS2812 on this board, one per tube (not 8) - Saving the firmware URL in the web UI no longer starts an HTTP update; never update from an empty URL - Restart once after the first switch from AP mode to WiFi, so ArduinoOTA and MQTT start on the real network - Optional web UI password (WEB_USER/WEB_PASSWORD in secrets.h); /getConfiguration returns the stored WiFi and MQTT passwords - Cathode protect: random mode now starts at a random tube (the +-1 start digits were swapped and then overwritten) - Apply the unused gamma table to wheel colours - LOOP_DIAG (off by default): main-loop stalls in /getCurrentInfos, which now also reports uptime and free heap Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e5d1757035
commit
5fbae6247c
7 files changed
+189
-80
No files matched your search
@@ -132,7 +132,7 @@ byte anodeBits[] = {14, 13, 12, 11}; //595 word bit of each tube's anode: posi
|
||||
#define NEON_POS 1 //the dots are lit in this tube's multiplex slot, as on stock
|
||||
#define USE_NEOPIXEL
|
||||
#define NEOPIXEL_PIN 12 //bit-banged, GRB 800 kHz
|
||||
byte tubePixels[] = {0, 0, 1, 1, 2, 2, 3, 3}; //8 WS2812, two per tube (strip order not verified yet)
|
||||
byte tubePixels[] = {0, 1, 2, 3}; //4 WS2812, one per tube (chain order not verified: maybe {3,2,1,0})
|
||||
#define USE_RTC //DS3231 on I2C, detected at startup (address 0x68); the stock firmware never used it
|
||||
#define PIN_SDA 4
|
||||
#define PIN_SCL 5
|
||||
@@ -144,6 +144,7 @@ byte tubePixels[] = {0, 0, 1, 1, 2, 2, 3, 3}; //8 WS2812, two per tube (strip
|
||||
#define USE_MQTT //Home Assistant: broker address/user/password on the web page, then reboot
|
||||
#define MQTT_PREFIX "homeassistant" //Home Assistant's default discovery prefix
|
||||
#define FIRMWARE_SERVER "" //no web-triggered HTTP update; use ArduinoOTA
|
||||
//#define LOOP_DIAG //report main-loop stalls in /getCurrentInfos ("stalls"); for debugging only
|
||||
#define USE_ARDUINO_OTA
|
||||
#define OTA_HOSTNAME "nixie-in12"
|
||||
#if __has_include("secrets.h")
|
||||
|
||||
Reference in new issue
Block a user