Browse Source

0.8.62

* updated version in footer #1381
* repaired radio statistics #1382
pull/1385/head
lumapu 9 months ago
parent
commit
e039820dba
  1. 4
      src/CHANGES.md
  2. 2
      src/defines.h
  3. 7
      src/hm/Communication.h
  4. 3
      src/hm/hmInverter.h
  5. 27
      src/hm/hmRadio.h
  6. 2
      src/web/html/includes/footer.html

4
src/CHANGES.md

@ -1,5 +1,9 @@
# Development Changes
## 0.8.62 - 2024-01-21
* updated version in footer #1381
* repaired radio statistics #1382
## 0.8.61 - 2024-01-21
* add favicon to header
* improved NRF communication

2
src/defines.h

@ -13,7 +13,7 @@
//-------------------------------------
#define VERSION_MAJOR 0
#define VERSION_MINOR 8
#define VERSION_PATCH 61
#define VERSION_PATCH 62
//-------------------------------------
typedef struct {

7
src/hm/Communication.h

@ -143,16 +143,17 @@ class Communication : public CommQueue<> {
} else {
if(IV_MI == q->iv->ivGen)
q->iv->mIvTxCnt++;
if(mFirstTry) {
mFirstTry = false;
mFirstTry = false;
setAttempt();
mHeu.evalTxChQuality(q->iv, false, 0, 0);
//q->iv->radioStatistics.rxFailNoAnser++;
q->iv->radioStatistics.rxFailNoAnser++;
q->iv->radioStatistics.retransmits++;
q->iv->radio->mRadioWaitTime.stopTimeMonitor();
mState = States::START;
return;
return;
}
}
}

3
src/hm/hmInverter.h

@ -210,9 +210,10 @@ class Inverter {
cb(GridOnProFilePara, false);
} else if (mGetLossInterval > AHOY_GET_LOSS_INTERVAL) { // get loss rate
mGetLossInterval = 1;
cb(RealTimeRunData_Debug, false); // get live data
cb(GetLossRate, false);
} else
cb(RealTimeRunData_Debug, false); // get live data
cb(RealTimeRunData_Debug, false); // get live data
}
} else { // MI
if(0 == getFwVersion()) {

27
src/hm/hmRadio.h

@ -78,13 +78,11 @@ class HmRadio : public Radio {
#else
mNrf24->begin(mSpi.get(), ce, cs);
#endif
mNrf24->setRetries(3, 15); // 3*250us + 250us and 16 loops -> 15.25ms
mNrf24->setRetries(3, 15); // wait 3*250 = 750us, 16 * 250us -> 4000us = 4ms
mNrf24->setChannel(mRfChLst[mRxChIdx]);
mNrf24->startListening();
mNrf24->setDataRate(RF24_250KBPS);
mNrf24->setAutoAck(true);
mNrf24->enableDynamicAck();
//mNrf24->setAutoAck(true); // enabled by default
//mNrf24->enableDynamicAck();
mNrf24->enableDynamicPayloads();
mNrf24->setCRCLength(RF24_CRC_16);
mNrf24->setAddressWidth(5);
@ -155,21 +153,6 @@ class HmRadio : public Radio {
if(tx_ok)
mLastIv->mAckCount++;
// start listening
if(!mIsRetransmit) {
if(mTxSetupTime < 30) {
mRxChIdx = (mTxChIdx + 4) % RF_CHANNELS;
mNrf24->setChannel(mRfChLst[mRxChIdx]);
mNrf24->startListening();
do {
yield();
} while((millis() - mMillis) < 37);
}
}
mIsRetransmit = false;
mRxChIdx = (mTxChIdx + 2) % RF_CHANNELS;
mNrf24->setChannel(mRfChLst[mRxChIdx]);
mNrf24->startListening();
@ -185,7 +168,7 @@ class HmRadio : public Radio {
if (getReceived()) { // check what we got, returns true for last package
mNRFisInRX = false;
mRadioWaitTime.startTimeMonitor(DURATION_PAUSE_LASTFR); // let the inverter first end his transmissions
// add stop listening?
mNrf24->stopListening();
} else {
innerLoopTimeout = DURATION_LISTEN_MIN;
mTimeslotStart = millis();
@ -398,7 +381,6 @@ class HmRadio : public Radio {
mLastIv = iv;
iv->mDtuTxCnt++;
mNRFisInRX = false;
mIsRetransmit = isRetransmit;
}
uint64_t getIvId(Inverter<> *iv) {
@ -433,7 +415,6 @@ class HmRadio : public Radio {
bool rxPendular = false;
uint32_t innerLoopTimeout = DURATION_LISTEN_MIN;
uint8_t mTxSetupTime = 0;
bool mIsRetransmit = false;
std::unique_ptr<SPIClass> mSpi;
std::unique_ptr<RF24> mNrf24;

2
src/web/html/includes/footer.html

@ -1,6 +1,6 @@
<div id="footer">
<div class="left">
<a href="https://ahoydtu.de" target="_blank">AhoyDTU &copy 2023</a>
<a href="https://ahoydtu.de" target="_blank">AhoyDTU &copy 2024</a>
<ul>
<li><a href="https://discord.gg/WzhxEY62mB" target="_blank">Discord</a></li>
<li><a href="https://github.com/lumapu/ahoy" target="_blank">Github</a></li>

Loading…
Cancel
Save