From 53c5748c1489c94fd423718d2318acf12a212758 Mon Sep 17 00:00:00 2001 From: Andrey Date: Fri, 2 May 2025 00:45:49 +0300 Subject: [PATCH] AC CRC fix syslog auto suspending when no ARP responce optiboot env slimming generic 2560 environment (any eth) --- build-flags/build_flags_due | 3 +- build-flags/build_flags_esp32-wifi | 3 +- build-flags/build_flags_esp8266-wifi | 3 +- build-flags/build_flags_lighthub21 | 3 +- build-flags/build_flags_m5stack | 2 ++ ...ags_mega2560-5500 => build_flags_mega2560} | 3 +- build-flags/build_flags_mega2560-optiboot | 3 ++ build-flags/build_flags_nrf52840 | 3 +- build-flags/build_flags_stm32 | 3 +- lighthub/modules/out_ac.cpp | 24 ++++++++-------- lighthub/modules/out_ac.h | 2 +- lighthub/streamlog.cpp | 28 ++++++++++++++++++- platformio.ini | 11 ++++---- 13 files changed, 66 insertions(+), 25 deletions(-) rename build-flags/{build_flags_mega2560-5500 => build_flags_mega2560} (94%) diff --git a/build-flags/build_flags_due b/build-flags/build_flags_due index 72a8813..41da065 100644 --- a/build-flags/build_flags_due +++ b/build-flags/build_flags_due @@ -16,4 +16,5 @@ -DRESTART_LAN_ON_MQTT_ERRORS -DOTA_PORT=80 --DMERCURY_ENABLE \ No newline at end of file +-DMERCURY_ENABLE +-D ROTARYENCODER \ No newline at end of file diff --git a/build-flags/build_flags_esp32-wifi b/build-flags/build_flags_esp32-wifi index 29b4291..cda6b6d 100644 --- a/build-flags/build_flags_esp32-wifi +++ b/build-flags/build_flags_esp32-wifi @@ -58,4 +58,5 @@ -DMQTT_SOCKET_TIMEOUT=20 -D CORS=\"*\" -D REDIRECTION_URL=\"http://lazyhome.ru/pwa\" -#-DMERCURY_ENABLE \ No newline at end of file +#-DMERCURY_ENABLE +-D ROTARYENCODER \ No newline at end of file diff --git a/build-flags/build_flags_esp8266-wifi b/build-flags/build_flags_esp8266-wifi index 344f66c..e128551 100644 --- a/build-flags/build_flags_esp8266-wifi +++ b/build-flags/build_flags_esp8266-wifi @@ -46,4 +46,5 @@ -D PWM_DISABLE # WAK for HDC1080 (pin D3 on wemos is IO0) --D WAK_PIN=D3 \ No newline at end of file +-D WAK_PIN=D3 +-D ROTARYENCODER \ No newline at end of file diff --git a/build-flags/build_flags_lighthub21 b/build-flags/build_flags_lighthub21 index e42a475..8ca18ee 100644 --- a/build-flags/build_flags_lighthub21 +++ b/build-flags/build_flags_lighthub21 @@ -40,4 +40,5 @@ -D REDIRECTION_URL=\"http://lazyhome.ru/pwa\" -D MERCURY_ENABLE #-D IPMODBUS --D CONFIG_CLEAN_PIN=2 \ No newline at end of file +-D CONFIG_CLEAN_PIN=2 +-D ROTARYENCODER \ No newline at end of file diff --git a/build-flags/build_flags_m5stack b/build-flags/build_flags_m5stack index e88495e..86c23f9 100644 --- a/build-flags/build_flags_m5stack +++ b/build-flags/build_flags_m5stack @@ -6,6 +6,8 @@ -DCOUNTER_DISABLE -DSPILED_DISABLE -DAC_DISABLE +-DHSV_DISABLE +-DPWM_DISABLE -DM5STACK #-DSYSLOG_ENABLE -DUSE_1W_PIN=16 diff --git a/build-flags/build_flags_mega2560-5500 b/build-flags/build_flags_mega2560 similarity index 94% rename from build-flags/build_flags_mega2560-5500 rename to build-flags/build_flags_mega2560 index 1d3f1bd..b059bc5 100644 --- a/build-flags/build_flags_mega2560-5500 +++ b/build-flags/build_flags_mega2560 @@ -1,4 +1,4 @@ --DWiz5500 +#-DWiz5500 #-DMODBUS_SERIAL_PARAM=SERIAL_8E1 -DAVR_DMXOUT_PIN=18 -DSYSLOG_ENABLE @@ -10,6 +10,7 @@ -DCSSHDC_DISABLE -DSPILED_DISABLE -DAC_DISABLE +-DOTA -DRESTART_LAN_ON_MQTT_ERRORS diff --git a/build-flags/build_flags_mega2560-optiboot b/build-flags/build_flags_mega2560-optiboot index 3a46624..2886663 100644 --- a/build-flags/build_flags_mega2560-optiboot +++ b/build-flags/build_flags_mega2560-optiboot @@ -20,6 +20,9 @@ -DARDUINO_OTA_MDNS_DISABLE -DMDNS_ENABLE +-DHSV_DISABLE +-DPWM_DISABLE + -DRESTART_LAN_ON_MQTT_ERRORS -D CORS=\"*\" -D REDIRECTION_URL=\"http://lazyhome.ru/pwa\" diff --git a/build-flags/build_flags_nrf52840 b/build-flags/build_flags_nrf52840 index 9bab385..414ba29 100644 --- a/build-flags/build_flags_nrf52840 +++ b/build-flags/build_flags_nrf52840 @@ -16,4 +16,5 @@ -D CORS=\"*\" -D REDIRECTION_URL=\"http://lazyhome.ru/pwa\" -#-DMERCURY_ENABLE \ No newline at end of file +#-DMERCURY_ENABLE +-D ROTARYENCODER \ No newline at end of file diff --git a/build-flags/build_flags_stm32 b/build-flags/build_flags_stm32 index 16d1315..8fb089a 100644 --- a/build-flags/build_flags_stm32 +++ b/build-flags/build_flags_stm32 @@ -39,4 +39,5 @@ #HAL_ETH_MODULE_DISABLED #HAL_SD_MODULE_DISABLED #HAL_DAC_MODULE_DISABLED -#-DMERCURY_ENABLE \ No newline at end of file +#-DMERCURY_ENABLE +-D ROTARYENCODER \ No newline at end of file diff --git a/lighthub/modules/out_ac.cpp b/lighthub/modules/out_ac.cpp index 660ebda..d56d869 100644 --- a/lighthub/modules/out_ac.cpp +++ b/lighthub/modules/out_ac.cpp @@ -455,18 +455,20 @@ debugSerial<> "); debugSerial.print(store->data[i], HEX); } } - - if (store->data[36] == getCRC(store->data,36)) - { - if (store->data[36] != store->inCheck){ - store->inCheck = store->data[36]; - InsertData(store->data, 37); - debugSerial<data,36); + + if (store->data[36] == crc) + { + debugSerial<data[36] != store->inCheck) + { //Updated + store->inCheck = store->data[36]; + InsertData(store->data, 37); + } + } + else debugSerial<getPersistent(); getConfig();} else store = NULL;}; void getConfig(); int Setup() override; diff --git a/lighthub/streamlog.cpp b/lighthub/streamlog.cpp index 5f46ffd..02f8e5a 100644 --- a/lighthub/streamlog.cpp +++ b/lighthub/streamlog.cpp @@ -1,10 +1,12 @@ #include "streamlog.h" #include #include "statusled.h" +#include "utils.h" #ifdef SYSLOG_ENABLE char logBuffer[LOGBUFFER_SIZE]; int logBufferPos=0; + uint32_t silentTS=0; #endif uint8_t serialDebugLevel = 7; @@ -22,6 +24,7 @@ Streamlog::Streamlog (SerialPortType * _serialPort, uint8_t _severity , Syslog * severity=_severity; syslog=_syslog; ledPattern=_ledPattern; + } #else Streamlog::Streamlog (SerialPortType * _serialPort, uint8_t _severity, uint8_t _ledPattern) @@ -76,7 +79,30 @@ if (syslogInitialized && (udpDebugLevel>=severity)) if (ch=='\n') { logBuffer[logBufferPos]=0; - if (syslog) syslog->log(severity,(char *)logBuffer); + if (syslog && (!silentTS || isTimeOver(silentTS,millis(),30000UL))) + + { + uint32_t ts = millis(); + syslog->log(severity,(char *)logBuffer); + if (millis() - ts > 100UL) + { + #if !defined(noSerial) + if (serialPort) serialPort->println(F("Syslog suspended")); + #endif + silentTS = millisNZ(); + } + else + { + if (silentTS) + { + #if !defined(noSerial) + if (serialPort) serialPort->println(F("Syslog resumed")); + #endif + silentTS = 0; + syslog->log(severity,F("Syslog resumed")); + } + } + } logBufferPos=0; } else diff --git a/platformio.ini b/platformio.ini index acf24de..21ff37d 100644 --- a/platformio.ini +++ b/platformio.ini @@ -480,26 +480,26 @@ lib_deps = ;br3ttb/PID@^1.2.1 https://github.com/anklimov/Arduino-PID-Library.git ArduinoMDNS - https://github.com/khoih-prog/TimerInterrupt_Generic.git + ;https://github.com/khoih-prog/TimerInterrupt_Generic.git rweather/Crypto https://github.com/mathertel/RotaryEncoder monitor_speed = 115200 -[env:mega2560-5500] +[env:mega2560] platform = atmelavr board = megaatmega2560 monitor_speed = 115200 framework = arduino -build_flags = !python get_build_flags.py mega2560-5500 +build_flags = !python get_build_flags.py mega2560 lib_ignore = ;DS2482_OneWire //UNCOMMENT for software 1-wire driver DHT sensor library for ESPx DmxDue DueFlashStorage WifiManager - Ethernet + ;Ethernet Ethernet3 Ethernet5100 HTTPClient @@ -517,7 +517,7 @@ lib_deps = https://github.com/anklimov/CmdArduino https://github.com/anklimov/ModbusMaster https://github.com/anklimov/DMXSerial - https://github.com/anklimov/Ethernet2 + https://github.com/anklimov/Ethernet.git https://github.com/anklimov/pubsubclient.git https://github.com/anklimov/Artnet.git FastLED@3.3.2 @@ -536,6 +536,7 @@ lib_deps = ArduinoMDNS https://github.com/khoih-prog/TimerInterrupt_Generic.git https://github.com/mathertel/RotaryEncoder + https://github.com/anklimov/ArduinoOTA