CC1310: TI 15.4 Stack network channel changing after a network is established
Part Number: CC1350
We are using beacon mode in our networks and want to be able to change the channel of a network while is is already running.
At networks startup the gateway scans and selects the channel with the least energy available and stores this in the file nv-simulation.bin.
But sometimes after a while the RF interference changes and another channel is better.
How can I let the collector rescan the channels and select a new one?
And how do the devices in the network change to that new channel? Will orphan scan detect the beacons on the new channel and remember the association?
We don't want to use frequency hopping as the beacon mode allows better power consumption.
There's some useful insight regarding something similar in this post: https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz/f/156/t/655480?CC1310-15-4-Stack-Can-sensor-device-using-Active-Scan-to-select-the-right-network-in-Beacon-mode.
Marijn AchterkampAnd how do the devices in the network change to that new channel? Will orphan scan detect the beacons on the new channel and remember the association?
This is the bigger concern with this approach. As mentioned in the linked post, the sensors will become out of sync and will not know which channel was chosen and will not switch the channel on their own. The orphan scan will scan on the channel that was established originally.
This is a complicated process and I will try and provide some further insight. From a high level, you essentially need to let all the sensors know which channel you are moving to. You can send a simple data message, or modify the beacons. If modifying the beacons, I would send a few consecutive beacons before changing the channel because you don't want your sensors to miss this critical information. Once the collector changes it's channel, the sensors will also have to change their channel (in a similar way as was done on the collector). Here you need to ensure the orphaned sensors are sending orphan notifications on the new channel.
Another approach could be to have the collector disassociate from its sensors. You can modify the disassociate message to include the new channel to switch to. Then, you can just call the start event in Sensor_process and act like you're forming a new network.
For a large network, this may not result in power saving as restarting the network and going back into scanning mode consumes more power. Imagine doing this whenever you found a less busy channel. Depending on your environment, this could happen more often, making this approach less worth the return on its investment.
Please click the "This Resolved My Issue" button on this post if it answers your question
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Ammar N:
Thanks for the clarification.
I think that sending a new channel (maybe via beacons) is the best approach then. The collector can then wait for all devices to acknowledge the reception of the new channel. Then switch to the new channel.
void Jdllc_rejoin(ApiMac_deviceDescriptor_t *pDevInfo,
seems most likely to do exactly what I need. Do a resync on the beacons and rejoin the network.
Do you have any suggestion on how to change the channel on the collector?
In reply to Marijn Achterkamp:
Just to reiterate, further analysis will be required to determine if you will be saving power using this method as opposed to FH mode. This use case is out of our example specifications and thus has not been tested by TI.
Marijn AchterkampDo you have any suggestion on how to change the channel on the collector?
To change the channel, simply call this API:
If you'd like to find the best channel, you may have to restart the energyDetect scan as done when the device starts.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.