mirror of
https://github.com/tbnobody/OpenDTU.git
synced 2026-01-03 11:28:22 +01:00
Use TimeoutHelper for TX timeout
This commit is contained in:
@@ -115,7 +115,7 @@ bool HoymilesRadio_CMT::cmtSwitchInvAndDtuFreq(const uint64_t inv_serial, const
|
||||
dumpBuf(cmtTxBuffer, 15);
|
||||
|
||||
cmtTxLength = 15;
|
||||
cmtTxTimeout = 100;
|
||||
_txTimeout.set(100);
|
||||
|
||||
cmtNextState = CMT_STATE_TX_START;
|
||||
|
||||
@@ -250,7 +250,7 @@ enumCMTresult HoymilesRadio_CMT::cmtProcess(void)
|
||||
cmtNextState = CMT_STATE_TX_WAIT;
|
||||
}
|
||||
|
||||
cmtTxTimeCount = CMT2300A_GetTickCount();
|
||||
_txTimeout.reset();
|
||||
|
||||
break;
|
||||
|
||||
@@ -260,7 +260,7 @@ enumCMTresult HoymilesRadio_CMT::cmtProcess(void)
|
||||
cmtNextState = CMT_STATE_TX_DONE;
|
||||
}
|
||||
|
||||
if ((CMT2300A_GetTickCount() - cmtTxTimeCount) > cmtTxTimeout) {
|
||||
if (_txTimeout.occured()) {
|
||||
cmtNextState = CMT_STATE_TX_TIMEOUT;
|
||||
}
|
||||
|
||||
@@ -476,7 +476,7 @@ void HoymilesRadio_CMT::sendEsbPacket(CommandAbstract* cmd)
|
||||
|
||||
memcpy(cmtTxBuffer, cmd->getDataPayload(), cmd->getDataSize());
|
||||
cmtTxLength = cmd->getDataSize();
|
||||
cmtTxTimeout = 100;
|
||||
_txTimeout.set(100);
|
||||
|
||||
cmtNextState = CMT_STATE_TX_START;
|
||||
|
||||
|
||||
@@ -53,6 +53,7 @@ private:
|
||||
|
||||
std::queue<fragment_t> _rxBuffer;
|
||||
TimeoutHelper _rxTimeout;
|
||||
TimeoutHelper _txTimeout;
|
||||
|
||||
bool _ChipConnected = false;
|
||||
|
||||
@@ -69,9 +70,7 @@ private:
|
||||
uint8_t cmtTxLength = 0;
|
||||
|
||||
uint32_t cmtRxTimeout = 200;
|
||||
uint32_t cmtTxTimeout = 200;
|
||||
uint32_t cmtRxTimeCount = 0;
|
||||
uint32_t cmtTxTimeCount = 0;
|
||||
|
||||
uint8_t cmtBaseChOff860; // offset from initalized CMT base frequency to Hoy base frequency in channels
|
||||
uint8_t cmtCurrentCh; // current used channel, should be stored per inverter und set before next Tx, if hopping is used
|
||||
|
||||
Reference in New Issue
Block a user