mirror of
https://github.com/lumapu/ahoy.git
synced 2025-07-08 03:57:16 +02:00
0.8.62
* updated version in footer #1381 * repaired radio statistics #1382
This commit is contained in:
parent
7e81709eb8
commit
e039820dba
6 changed files with 16 additions and 29 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue