From 891b02950179cd52b6fe4ac9cf643c11db185150 Mon Sep 17 00:00:00 2001 From: Andrey Date: Mon, 4 Nov 2024 22:48:50 +0300 Subject: [PATCH] less CAN logging DISABLE for group channel (disarming) reguire signature trace level logging fixed esp32 = changed compilation options --- lighthub/candriver.cpp | 23 ++++++++------- lighthub/item.cpp | 56 ++++++++++++++++++++++++++++--------- lighthub/item.h | 2 +- lighthub/systemconfigdata.h | 10 ++++--- platformio.ini | 5 ++-- 5 files changed, 66 insertions(+), 30 deletions(-) diff --git a/lighthub/candriver.cpp b/lighthub/candriver.cpp index 6411dcd..724e9cc 100644 --- a/lighthub/candriver.cpp +++ b/lighthub/candriver.cpp @@ -358,10 +358,10 @@ switch (state) bool canDriver::processPacket(canid_t id, datagram_t *packet, uint8_t len, bool rtr) { -debugSerial.print("CAN: Rcvd "); -debugSerial.print(len); -debugSerial.print(" bytes id:"); -debugSerial.println(id.id,HEX); +traceSerial.print("CAN: Rcvd "); +traceSerial.print(len); +traceSerial.print(" bytes id:"); +traceSerial.println(id.id,HEX); //if (id.deviceId && (id.deviceId != controllerId) && !id.status) return false; @@ -638,6 +638,9 @@ while (remoteConfObj) } remoteConfObj=remoteConfObj->next; } + //debugSerial<<"Subscribed"<data,size); //for(uint8_t i=0;idata[i]; res=Can0.sendFrame(CAN_TX_msg); - if (res) debugSerial<<("CAN: Wrote ")<[")<type == aJson_Array && operation) - { - chActive=(isActive()>0); - digGroup(itemArg,&cmd,subItem,authorized); - - if ((suffixCode==S_CMD) && cmd.isValue()) - { - scheduleOppositeCommand(originalCmd,chActive,authorized); - scheduledOppositeCommand = true; - } + { + if ((suffixCode==S_CMD) && ((cmd.getCmd() == CMD_ENABLE) || (cmd.getCmd() == CMD_DISABLE))) + { + debugSerial<name<0); + if ((suffixCode!=S_CMD) || (cmd.getCmd() != CMD_XON) || !getFlag(FLAG_DISABLED)) + { + digGroup(itemArg,&cmd,subItem,authorized); + if ((suffixCode==S_CMD) && cmd.isValue()) + { + scheduleOppositeCommand(originalCmd,chActive,authorized); + scheduledOppositeCommand = true; + } + if (subItem) status2Send |= FLAG_SEND_IMMEDIATE; + } + } } + res=1; @@ -1458,7 +1488,7 @@ int Item::Ctrl(itemCmd cmd, char* subItem, bool allowRecursion, bool authorized { debugSerial<isAllowed(cmd)) && (!getFlag(FLAG_FREEZED))) //update command for HALT & XON and send MQTT status if (command2Set) setCmd(command2Set | FLAG_COMMAND); - if (operation) SendStatus(status2Send); + if (operation) SendStatus(status2Send,subItem); } //alowed cmd else { @@ -1858,7 +1888,7 @@ void Item::sendDelayedStatus() } -int Item::SendStatus(int sendFlags) { +int Item::SendStatus(int sendFlags, char * subItem) { if (sendFlags & FLAG_SEND_IMMEDIATE) sendFlags &= ~ (FLAG_SEND_IMMEDIATE | FLAG_SEND_DEFFERED); if ((sendFlags & FLAG_SEND_DEFFERED) || freeRam()<150 || (!isNotRetainingStatus() )) { setFlag(sendFlags & (FLAG_COMMAND | FLAG_PARAMETERS | FLAG_FLAGS)); @@ -1870,7 +1900,7 @@ int Item::SendStatus(int sendFlags) { itemCmd st(ST_VOID,CMD_VOID); st.loadItem(this, FLAG_COMMAND | FLAG_PARAMETERS); sendFlags |= getFlag(FLAG_COMMAND | FLAG_PARAMETERS | FLAG_FLAGS); //if some delayed status is pending - return SendStatusImmediate(st,sendFlags); + return SendStatusImmediate(st,sendFlags,subItem); } } diff --git a/lighthub/item.h b/lighthub/item.h index deeca5a..be4b249 100644 --- a/lighthub/item.h +++ b/lighthub/item.h @@ -138,7 +138,7 @@ class Item void setFloatVal(float par); void setSubtype(uint8_t par); int Poll(int cause); - int SendStatus(int sendFlags); + int SendStatus(int sendFlags, char * subItem=NULL); int SendStatusImmediate(itemCmd st, int sendFlags, char * subItem=NULL); int isActive(); int getChanType(); diff --git a/lighthub/systemconfigdata.h b/lighthub/systemconfigdata.h index 8772497..588a546 100644 --- a/lighthub/systemconfigdata.h +++ b/lighthub/systemconfigdata.h @@ -6,7 +6,7 @@ #define MAXFLASHSTR 32 #define PWDFLASHSTR 16 -#define EEPROM_SIGNATURE "LHC2" +#define EEPROM_SIGNATURE "LHC3" #define EEPROM_SIGNATURE_LENGTH 4 //#define EEPROM_offsetJSON IFLASH_PAGE_SIZE @@ -25,11 +25,13 @@ const char EEPROM_signature[] = EEPROM_SIGNATURE; struct { uint8_t serialDebugLevel:4; - uint8_t notGetConfigFromHTTP:1; - uint8_t udpDebugLevel:3; + uint8_t udpDebugLevel:4; + + uint8_t notGetConfigFromHTTP:1; uint8_t notSaveSuccedConfig:1; uint8_t dhcpFallback:1; - uint8_t spare2:6; + uint8_t spare2:5; + uint16_t sysConfigHash; }; } systemConfigFlags; diff --git a/platformio.ini b/platformio.ini index db94943..a835bec 100644 --- a/platformio.ini +++ b/platformio.ini @@ -193,8 +193,9 @@ monitor_speed = 115200 platform = espressif32 framework = arduino monitor_filters = esp32_exception_decoder -;build_type = debug -board = esp32-evb +build_type = debug +board = upesy_wroom +board_build.partitions = min_spiffs.csv extra_scripts = extra_script.py monitor_speed = 115200