Skip to content

Commit

Permalink
MyTransportHal: Implement MY_TRANSPORT_SEND_RETRIES
Browse files Browse the repository at this point in the history
Signed-off-by: Andrew Andrianov <[email protected]>
  • Loading branch information
nekromant committed Feb 26, 2021
1 parent e536e4b commit 0defe3d
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 0 deletions.
9 changes: 9 additions & 0 deletions MyConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -1153,6 +1153,15 @@
#define MY_TRANSPORT_DISCOVERY_INTERVAL_MS (20*60*1000ul)
#endif

/**
* @def MY_TRANSPORT_SEND_RETRIES
* @brief If defined to a positive number N, the node will try to send the payload to the
* uplink up to N times before actually failing. Useful when working in a noisy environment
* @note Setting this option too high will
*
*/
//#define MY_TRANSPORT_SEND_RETRIES (5)

/**
*@def MY_TRANSPORT_UPLINK_CHECK_DISABLED
*@brief If defined, disables uplink check to GW during transport initialisation
Expand Down
8 changes: 8 additions & 0 deletions hal/transport/MyTransportHAL.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,15 @@ bool transportHALSend(const uint8_t nextRecipient, const MyMessage *outMsg, cons
const uint8_t finalLength = len;
#endif

#ifdef MY_TRANSPORT_SEND_RETRIES
uint8_t retries = MY_TRANSPORT_RETRIES;
bool result = false;
while (retries-- && (!result)) {
result = transportSend(nextRecipient, (void *)tx_data, finalLength, noACK);
}
#else
bool result = transportSend(nextRecipient, (void *)tx_data, finalLength, noACK);
#endif
TRANSPORT_HAL_DEBUG(PSTR("THA:SND:MSG LEN=%" PRIu8 ",RES=%" PRIu8 "\n"), finalLength, result);
return result;
}
Expand Down
1 change: 1 addition & 0 deletions keywords.txt
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ MY_SIGNAL_REPORT_ENABLED LITERAL1
MY_SLEEP_TRANSPORT_RECONNECT_TIMEOUT_MS LITERAL1
MY_SMART_SLEEP_WAIT_DURATION_MS LITERAL1
MY_TRANSPORT_CHKUPL_INTERVAL_MS LITERAL1
MY_TRANSPORT_SEND_RETRIES LITERAL1
MY_TRANSPORT_DISCOVERY_INTERVAL_MS LITERAL1
MY_TRANSPORT_MAX_TSM_FAILURES LITERAL1
MY_TRANSPORT_MAX_TX_FAILURES LITERAL1
Expand Down

0 comments on commit 0defe3d

Please sign in to comment.