|
@ -325,6 +325,11 @@ void app::processPayload(bool retransmit) { |
|
|
if(!buildPayload(iv->id)) { // payload not complete
|
|
|
if(!buildPayload(iv->id)) { // payload not complete
|
|
|
if(mPayload[iv->id].requested) { |
|
|
if(mPayload[iv->id].requested) { |
|
|
if(retransmit) { |
|
|
if(retransmit) { |
|
|
|
|
|
if(iv->devControlCmd == Restart || CleanState_LockAndAlarm || iv->devControlCmd) { |
|
|
|
|
|
// This is required to prevent retransmissions without answer.
|
|
|
|
|
|
DPRINTLN(DBG_INFO, F("Prevent retransmit on Restart / CleanState_LockAndAlarm...")); |
|
|
|
|
|
mPayload[iv->id].retransmits = mConfig.maxRetransPerPyld; |
|
|
|
|
|
} else { |
|
|
if(mPayload[iv->id].retransmits < mConfig.maxRetransPerPyld) { |
|
|
if(mPayload[iv->id].retransmits < mConfig.maxRetransPerPyld) { |
|
|
mPayload[iv->id].retransmits++; |
|
|
mPayload[iv->id].retransmits++; |
|
|
if(mPayload[iv->id].maxPackId != 0) { |
|
|
if(mPayload[iv->id].maxPackId != 0) { |
|
@ -353,6 +358,7 @@ void app::processPayload(bool retransmit) { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
else { // payload complete
|
|
|
else { // payload complete
|
|
|
DPRINTLN(DBG_INFO, F("procPyld: cmd: ") + String(mPayload[iv->id].txCmd)); |
|
|
DPRINTLN(DBG_INFO, F("procPyld: cmd: ") + String(mPayload[iv->id].txCmd)); |
|
|
DPRINTLN(DBG_INFO, F("procPyld: txid: 0x") + String(mPayload[iv->id].txId, HEX)); |
|
|
DPRINTLN(DBG_INFO, F("procPyld: txid: 0x") + String(mPayload[iv->id].txId, HEX)); |
|
|