Other Parts Discussed in Thread: CC2592, , LAUNCHXL-CC1352P, SMARTRFTM-STUDIO, SIMPLELINK-2-4GHZ-DESIGN-REVIEWS, LAUNCHXL-CC26X2R1
Hi there, we have a CC2652R based device that is having trouble transmitting Zigbee packets. We’re pairing the CC2652R with a CC2592 range extender and we’re using SimpleLink CC13x2 26x2 SDK 4.20.1.04. Our product is not running on battery power so our near field electrical noise floor is not as quiet.
We’ve got a fair bit of data suggesting that the problem is the CSMA logic. Our antenna is quite sensitive and I suspect that even on an idle channel, the normal operating noise floor is very close to the RSSI threshold of the CSMA logic. Since the baseline measured RSSI often exceeds the threshold, the CSMA logic times out trying to send the packets and the result is significant packet loss.
I have followed the advice in the linked thread and changed the RF_cmdIEEERx.ccaRssiThr value in mac_settings.c. I didn’t see any change in behavior and further investigation is showing that this field is getting changed by something else in the stack later on, after initialization.
I have also tried changing the value of RF_cmdIEEERx.ccaRssiThr later on in my code then calling macSetupReceiveCmd() to try to duplicate some of the code in mac_settings.c. While I do see that my change to RF_cmdIEEERx.ccaRssiThr is persistent, it doesn’t look like my value is actually getting sent down to the hardware.
The first and foremost question that I’ve got right now is what is the correct way to change the value of RF_cmdIEEERx.ccaRssiThr? As I said, changing it in mac_settings.c doesn’t seem to stick. Is there a way to read back the current value from the hardware?
By the way, I have also tried changing macMaxBE, BE and macMaxCSMABackoffs as suggested in the other thread and those values also get overwritten. In fact, I stuck in code to change them periodically and something else in the stack is continuously overwriting my change. Any insight into that would also be appreciated.
Regards,
Grant China
WattIQ