Other Parts Discussed in Thread: CC1310
Hi
When using TI15.4 stack in frequency hopping mode (200kpbs PHY, 64 channels, 20dbm Tx power), I find that the Sensor does not succeed in the orphan/rejoin process.
When Sensor experiences packet failures and enter "orphan" state, it starts sending "PAN config solicit' messages and expects the response from Collector. However, occasionally, it does not get a response for a long time ( like over 100 solicit messages need to be transmitted before getting a response ). This happens even if the Collector is close by the Sensor device.
I can reproduce the issue with the out-of-box sample app. I configure the sensor to transmit every 100ms and then simulate a sync failure by modifying the dataCnfCb() callback in jdllc.c file, like this (red text is my addition).
static void dataCnfCb(ApiMac_mcpsDataCnf_t *pData) { static uint16_t sim_syncloss = 0; #if 1 // simulate sync loss // wait for few hundred pkts and then simulate failure if (sim_syncloss++ > 500 ) { { sim_syncloss = 0; devInfoBlock.dataFailures == CONFIG_MAX_DATA_FAILURES; handleMaxDataFail(); } } else #endif if(CONFIG_MAC_BEACON_ORDER == JDLLC_BEACON_ORDER_NON_BEACON) { if(pData->status == ApiMac_status_noAck) {
This causes Sensor to enter do orphan/rejoin process every 500 pkts. The rejoin succeeds sometimes but occasionally doesn't get response for a long time.
-Thanks, Joseph