Browse Source

0.7.28

* fix MI inverter support #1078
pull/1093/head
lumapu 2 years ago
parent
commit
c59d26d858
  1. 2
      scripts/getVersion.py
  2. 3
      src/CHANGES.md
  3. 78
      src/app.cpp
  4. 2
      src/defines.h
  5. 2
      src/hm/hmRadio.h
  6. 1
      src/hm/miPayload.h

2
scripts/getVersion.py

@ -79,7 +79,7 @@ def readVersion(path, infile):
dst = path + "firmware/" + versionout dst = path + "firmware/" + versionout
os.rename(src, dst) os.rename(src, dst)
versionout = version[:-1] + "_" + sha + "esp32_ethernet.bin" versionout = version[:-1] + "_" + sha + "_esp32_ethernet.bin"
src = path + ".pio/build/esp32-wroom32-ethernet-release/firmware.bin" src = path + ".pio/build/esp32-wroom32-ethernet-release/firmware.bin"
dst = path + "firmware/" + versionout dst = path + "firmware/" + versionout
os.rename(src, dst) os.rename(src, dst)

3
src/CHANGES.md

@ -1,5 +1,8 @@
# Development Changes # Development Changes
## 0.7.28 - 2023-08-08
* fix MI inverter support #1078
## 0.7.27 - 2023-08-08 ## 0.7.27 - 2023-08-08
* added compile option for ethernet #886 * added compile option for ethernet #886
* fix ePaper configuration, missing `Busy`-Pin #1075 * fix ePaper configuration, missing `Busy`-Pin #1075

78
src/app.cpp

@ -47,38 +47,38 @@ void app::setup() {
} }
#endif #endif
#ifdef ETHERNET #ifdef ETHERNET
delay(1000); delay(1000);
DPRINT(DBG_INFO, F("mEth setup...")); DPRINT(DBG_INFO, F("mEth setup..."));
DSERIAL.flush(); DSERIAL.flush();
mEth.setup(mConfig, &mTimestamp, [this](bool gotIp) { this->onNetwork(gotIp); }, [this](bool gotTime) { this->onNtpUpdate(gotTime); }); mEth.setup(mConfig, &mTimestamp, [this](bool gotIp) { this->onNetwork(gotIp); }, [this](bool gotTime) { this->onNtpUpdate(gotTime); });
DBGPRINTLN(F("done...")); DBGPRINTLN(F("done..."));
DSERIAL.flush(); DSERIAL.flush();
#endif // ETHERNET #endif // ETHERNET
#if !defined(ETHERNET) #if !defined(ETHERNET)
#if defined(AP_ONLY) #if defined(AP_ONLY)
mInnerLoopCb = std::bind(&app::loopStandard, this); mInnerLoopCb = std::bind(&app::loopStandard, this);
#else #else
mInnerLoopCb = std::bind(&app::loopWifi, this); mInnerLoopCb = std::bind(&app::loopWifi, this);
#endif #endif
#endif /* !defined(ETHERNET) */ #endif /* !defined(ETHERNET) */
#if !defined(ETHERNET) #if !defined(ETHERNET)
mWifi.setup(mConfig, &mTimestamp, std::bind(&app::onNetwork, this, std::placeholders::_1)); mWifi.setup(mConfig, &mTimestamp, std::bind(&app::onNetwork, this, std::placeholders::_1));
#if !defined(AP_ONLY) #if !defined(AP_ONLY)
everySec(std::bind(&ahoywifi::tickWifiLoop, &mWifi), "wifiL"); everySec(std::bind(&ahoywifi::tickWifiLoop, &mWifi), "wifiL");
#endif #endif
#endif /* defined(ETHERNET) */ #endif /* defined(ETHERNET) */
mSys.setup(&mTimestamp); mSys.setup(&mTimestamp);
mSys.addInverters(&mConfig->inst); mSys.addInverters(&mConfig->inst);
if(mConfig->nrf.enabled) { if (mConfig->nrf.enabled) {
mPayload.setup(this, &mSys, &mNrfRadio, &mStat, mConfig->nrf.maxRetransPerPyld, &mTimestamp); mPayload.setup(this, &mSys, &mNrfRadio, &mStat, mConfig->nrf.maxRetransPerPyld, &mTimestamp);
mPayload.enableSerialDebug(mConfig->serial.debug); mPayload.enableSerialDebug(mConfig->serial.debug);
mPayload.addPayloadListener(std::bind(&app::payloadEventListener, this, std::placeholders::_1, std::placeholders::_2)); mPayload.addPayloadListener(std::bind(&app::payloadEventListener, this, std::placeholders::_1, std::placeholders::_2));
mMiPayload.setup(this, &mSys, &mNrfRadio, &mStat, mConfig->nrf.maxRetransPerPyld, &mTimestamp); mMiPayload.setup(this, &mSys, &mNrfRadio, &mStat, mConfig->nrf.maxRetransPerPyld, &mTimestamp);
mMiPayload.enableSerialDebug(mConfig->serial.debug); mMiPayload.enableSerialDebug(mConfig->serial.debug);
mMiPayload.addPayloadListener(std::bind(&app::payloadEventListener, this, std::placeholders::_1, std::placeholders::_2)); mMiPayload.addPayloadListener(std::bind(&app::payloadEventListener, this, std::placeholders::_1, std::placeholders::_2));
} }
@ -90,7 +90,7 @@ void app::setup() {
if(mConfig->nrf.enabled) { if(mConfig->nrf.enabled) {
if (!mNrfRadio.isChipConnected()) if (!mNrfRadio.isChipConnected())
DPRINTLN(DBG_WARN, F("WARNING! your NRF24 module can't be reached, check the wiring")); DPRINTLN(DBG_WARN, F("WARNING! your NRF24 module can't be reached, check the wiring"));
} }
// when WiFi is in client mode, then enable mqtt broker // when WiFi is in client mode, then enable mqtt broker
@ -228,12 +228,12 @@ void app::onNetwork(bool gotIp) {
#endif /* !defined(ETHERNET) */ #endif /* !defined(ETHERNET) */
mInnerLoopCb = [this]() { this->loopStandard(); }; mInnerLoopCb = [this]() { this->loopStandard(); };
} else { } else {
#if defined(ETHERNET) #if defined(ETHERNET)
mInnerLoopCb = nullptr; mInnerLoopCb = nullptr;
#else /* defined(ETHERNET) */ #else /* defined(ETHERNET) */
mInnerLoopCb = [this]() { this->loopWifi(); }; mInnerLoopCb = [this]() { this->loopWifi(); };
everySec(std::bind(&ahoywifi::tickWifiLoop, &mWifi), "wifiL"); everySec(std::bind(&ahoywifi::tickWifiLoop, &mWifi), "wifiL");
#endif /* defined(ETHERNET) */ #endif /* defined(ETHERNET) */
} }
} }
@ -370,14 +370,14 @@ void app::tickComm(void) {
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void app::tickZeroValues(void) { void app::tickZeroValues(void) {
zeroIvValues(!CHECK_AVAIL, SKIP_YIELD_DAY); zeroIvValues(!CHECK_AVAIL, SKIP_YIELD_DAY);
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void app::tickMinute(void) { void app::tickMinute(void) {
// only triggered if 'reset values on no avail is enabled' // only triggered if 'reset values on no avail is enabled'
zeroIvValues(CHECK_AVAIL, SKIP_YIELD_DAY); zeroIvValues(CHECK_AVAIL, SKIP_YIELD_DAY);
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
void app::tickMidnight(void) { void app::tickMidnight(void) {
@ -396,9 +396,9 @@ void app::tickMidnight(void) {
void app::tickSend(void) { void app::tickSend(void) {
if(mConfig->nrf.enabled) { if(mConfig->nrf.enabled) {
if(!mNrfRadio.isChipConnected()) { if(!mNrfRadio.isChipConnected()) {
DPRINTLN(DBG_WARN, F("NRF24 not connected!")); DPRINTLN(DBG_WARN, F("NRF24 not connected!"));
return; return;
} }
} }
if (mIVCommunicationOn) { if (mIVCommunicationOn) {
if (!mNrfRadio.mBufCtrl.empty()) { if (!mNrfRadio.mBufCtrl.empty()) {
@ -428,15 +428,15 @@ void app::tickSend(void) {
if(mConfig->nrf.enabled) { if(mConfig->nrf.enabled) {
if (iv->ivGen == IV_HM) if (iv->ivGen == IV_HM)
mPayload.ivSend(iv); mPayload.ivSend(iv);
else if(iv->ivGen == IV_MI) else if(iv->ivGen == IV_MI)
mMiPayload.ivSend(iv); mMiPayload.ivSend(iv);
} }
#if defined(ESP32) #if defined(ESP32)
if(mConfig->cmt.enabled) { if(mConfig->cmt.enabled) {
if((iv->ivGen == IV_HMS) || (iv->ivGen == IV_HMT)) if((iv->ivGen == IV_HMS) || (iv->ivGen == IV_HMT))
mHmsPayload.ivSend(iv); mHmsPayload.ivSend(iv);
} }
#endif #endif
} }
} }
} else { } else {

2
src/defines.h

@ -13,7 +13,7 @@
//------------------------------------- //-------------------------------------
#define VERSION_MAJOR 0 #define VERSION_MAJOR 0
#define VERSION_MINOR 7 #define VERSION_MINOR 7
#define VERSION_PATCH 27 #define VERSION_PATCH 28
//------------------------------------- //-------------------------------------
typedef struct { typedef struct {

2
src/hm/hmRadio.h

@ -281,7 +281,7 @@ class HmRadio {
DHEX(mid); DHEX(mid);
DBGPRINT(F(" pid: ")); DBGPRINT(F(" pid: "));
DBGHEXLN(pid); DBGHEXLN(pid);
} }
memset(mTxBuf, 0, MAX_RF_PAYLOAD_SIZE); memset(mTxBuf, 0, MAX_RF_PAYLOAD_SIZE);
mTxBuf[0] = mid; // message id mTxBuf[0] = mid; // message id
CP_U32_BigEndian(&mTxBuf[1], (invId >> 8)); CP_U32_BigEndian(&mTxBuf[1], (invId >> 8));

1
src/hm/miPayload.h

@ -44,6 +44,7 @@ class MiPayload {
void setup(IApp *app, HMSYSTEM *sys, HMRADIO *radio, statistics_t *stat, uint8_t maxRetransmits, uint32_t *timestamp) { void setup(IApp *app, HMSYSTEM *sys, HMRADIO *radio, statistics_t *stat, uint8_t maxRetransmits, uint32_t *timestamp) {
mApp = app; mApp = app;
mSys = sys; mSys = sys;
mRadio = radio;
mStat = stat; mStat = stat;
mMaxRetrans = maxRetransmits; mMaxRetrans = maxRetransmits;
mTimestamp = timestamp; mTimestamp = timestamp;

Loading…
Cancel
Save