Reorganize RX message buffering checks

- fix doxygen warning
This commit is contained in:
tekka007
2016-08-13 13:07:16 +02:00
parent a6de8c4d46
commit 9dcb06cdc5
8 changed files with 57 additions and 39 deletions
+1 -1
View File
@@ -33,7 +33,7 @@
* - MCO:<b>REG</b> from @ref _registerNode()
* - MCO:<b>SND</b> from @ref send()
* - MCO:<b>PIM</b> from @ref _processInternalMessages()
* - MCO:<b>NLK</b> from @ref nodeLock()
* - MCO:<b>NLK</b> from nodeLock()
*
* MySensorsCore debug log messages:
*
+12
View File
@@ -147,6 +147,18 @@
#else
#define TRANSMISSION_FAILURES 5 //!< search for a new parent node after this many transmission failures, lower threshold for non-repeating nodes
#endif
#if defined(MY_RX_MESSAGE_BUFFER_FEATURE)
#if defined(MY_RADIO_RFM69)
#error Receive message buffering not supported for RFM69!
#endif
#if defined(MY_RS485)
#error Receive message buffering not supported for RS485!
#endif
#elif !defined(MY_RX_MESSAGE_BUFFER_FEATURE) && defined(MY_RX_MESSAGE_BUFFER_SIZE)
#error Receive message buffering requires message buffering feature enabled!
#endif
#define TIMEOUT_FAILURE_STATE 10000 //!< duration failure state
#define STATE_TIMEOUT 2000 //!< general state timeout
#define STATE_RETRIES 3 //!< retries before switching to FAILURE
+5 -6
View File
@@ -26,7 +26,7 @@
#include "drivers/AES/AES.h"
#endif
#ifdef MY_RF24_IRQ_PIN
#if defined(MY_RX_MESSAGE_BUFFER_FEATURE)
typedef struct _transportQueuedMessage
{
uint8_t m_len; // Length of the data
@@ -76,7 +76,7 @@ bool transportInit() {
memset(_psk, 0, 16);
#endif
#ifdef MY_RF24_IRQ_PIN
#if defined(MY_RX_MESSAGE_BUFFER_FEATURE)
RF24_registerReceiveCallback( transportRxCallback );
#endif
return RF24_initialize();
@@ -109,7 +109,7 @@ bool transportSend(uint8_t recipient, const void* data, uint8_t len) {
}
bool transportAvailable() {
#ifdef MY_RF24_IRQ_PIN
#if defined(MY_RX_MESSAGE_BUFFER_FEATURE)
(void)RF24_isDataAvailable; // Prevent 'defined but not used' warning
return !transportRxQueue.empty();
#else
@@ -123,10 +123,9 @@ bool transportSanityCheck() {
uint8_t transportReceive(void* data) {
uint8_t len = 0;
#ifdef MY_RF24_IRQ_PIN
#if defined(MY_RX_MESSAGE_BUFFER_FEATURE)
transportQueuedMessage* msg = transportRxQueue.getBack();
if (msg)
{
if (msg) {
len = msg->m_len;
(void)memcpy(data, msg->m_data, len);
(void)transportRxQueue.popBack();