From 124cbf6ba289d88940714df34bd866d7c78c19fe Mon Sep 17 00:00:00 2001 From: lumapu Date: Sat, 30 Sep 2023 02:14:35 +0200 Subject: [PATCH] bug fix esp8266 --- src/app.cpp | 11 +++++++++-- src/hm/hmInverter.h | 10 +++------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/app.cpp b/src/app.cpp index 2454e9ea..c1b9b1d0 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -64,8 +64,10 @@ void app::setup() { mSys.addInverter(i, [this](Inverter<> *iv) { if((IV_MI == iv->ivGen) || (IV_HM == iv->ivGen)) iv->radio = &mNrfRadio; + #if defined(ESP32) else if((IV_HMS == iv->ivGen) || (IV_HMT == iv->ivGen)) iv->radio = &mCmtRadio; + #endif }); } if (mConfig->nrf.enabled) { @@ -116,6 +118,7 @@ void app::setup() { //----------------------------------------------------------------------------- void app::loop(void) { ah::Scheduler::loop(); + bool processPayload = false; if (mNrfRadio.loop() && mConfig->nrf.enabled) { while (!mNrfRadio.mBufCtrl.empty()) { @@ -142,7 +145,7 @@ void app::loop(void) { mNrfRadio.mBufCtrl.pop(); yield(); } - mPayload.process(true); + processPayload = true; mMiPayload.process(true); } #if defined(ESP32) @@ -167,9 +170,13 @@ void app::loop(void) { mCmtRadio.mBufCtrl.pop(); yield(); } - mPayload.process(false); //true + processPayload = true; } #endif + + if(processPayload) + mPayload.process(true); + mPayload.loop(); mMiPayload.loop(); diff --git a/src/hm/hmInverter.h b/src/hm/hmInverter.h index 8cef4f2f..56c348b6 100644 --- a/src/hm/hmInverter.h +++ b/src/hm/hmInverter.h @@ -143,7 +143,7 @@ class Inverter { uint8_t channels; // number of PV channels (1-4) record_t recordMeas; // structure for measured values record_t recordInfo; // structure for info values - record_t recordHwInfo; // structure for simple (hardware) info values + record_t recordHwInfo; // structure for simple (hardware) info values record_t recordConfig; // structure for system config values record_t recordAlarm; // structure for alarm values bool initialized; // needed to check if the inverter was correctly added (ESP32 specific - union types are never null) @@ -169,7 +169,6 @@ class Inverter { mDevControlRequest = false; devControlCmd = InitDataState; initialized = false; - //lastAlarmMsg = "nothing"; alarmMesIndex = 0; isConnected = false; status = InverterStatus::OFF; @@ -364,9 +363,6 @@ class Inverter { } else if (rec->assign == AlarmDataAssignment) { DPRINTLN(DBG_DEBUG, "add alarm"); - //if (getPosByChFld(0, FLD_LAST_ALARM_CODE, rec) == pos){ - // lastAlarmMsg = getAlarmStr(rec->record[pos]); - //} } else DPRINTLN(DBG_WARN, F("add with unknown assignment")); @@ -499,8 +495,8 @@ class Inverter { record_t<> *getRecordStruct(uint8_t cmd) { switch (cmd) { case RealTimeRunData_Debug: return &recordMeas; // 11 = 0x0b - case InverterDevInform_Simple: return &recordHwInfo; // 0 = 0x00 - case InverterDevInform_All: return &recordInfo; // 1 = 0x01 + case InverterDevInform_Simple: return &recordHwInfo; // 0 = 0x00 + case InverterDevInform_All: return &recordInfo; // 1 = 0x01 case SystemConfigPara: return &recordConfig; // 5 = 0x05 case AlarmData: return &recordAlarm; // 17 = 0x11 default: break;