Other Parts Discussed in Thread: ENERGYTRACE, , CC1190
Hi,
We have developed a network co-processor based on TI-15.4 stack collector/sensor example code. After putting everything together, we found a little problem. In the following test setup, there are way too many repeated messages on the receiving end.
Sending end: MSP430 + CC1310-sensor node, a message of 9 bytes is sent out periodically, with a frameID counter at the end of each message.
Receiving end: CC1310-collector node, connected to another MCU which captures the messages, analyzes the frameID counter, and decides if it is a repeat of previous message, or if a message is missing.
Among 407 messages received by receiving end over the course of 8 hours, 104 of them are repeated message, with no missing message, and RSSI range from -20dBm to -47dBm. Some of the repeated messages have slightly different RSSI value so it is unlikely that they are introduced by external MCUs.
I assume repeated messages happens when sensor node thinks the first attempted transmission is unsuccessful. then retry up to CONFIG_MAX_RETRIES defined in config.h. Generally it is better to have repeated messages which can be filtered out on the receiving end than to miss messages. But when 1/3 of messages is re-transmitted, sometimes twice, at near perfect transmission environment as judged by RSSI, this becomes excessive. Sensor nodes will consume more power than necessary, and there might be traffic jam once number of sensor nodes increases.
My question is, how do we reduce those retries? Changing CONFIG_MAX_RETRIES won't help much because majority of retries happen only once. Is there a way to increase the delay to retry?
Update: both sensor and collector nodes run customized board, with external PA+LNA, and tx power is set at max 26db, not sure if this is relevant though.
Thanks.