Welcome Guest,Register Now
Log In

ANT Forum

Welcome guest, please Login or Register

   

ANT+BURST, SCAN and FORWARD

Rank

Total Posts: 8

Joined 2018-01-30

PM

I'm working on a scan and forward topology as per Nordic's NRF52 SDK ANT example.
The scan and discover seems to work well.

However, I need to burst the entire sensor network's data to all other devices, depending upon a sensor reading changing. I also want to send only the sensor datum that has changed, unless the slave requests the entire data page.

I have posted this on Nordic's forum as well, and their engineer says I can send a maximum of 24 bytes (in that example). I know I can send 1024 bytes without problems using their Advanced Burst example, it is just to understand how this can be added to the Scan and Forward implementation.

Is it best practices to:
Use Channel 1 (Master) (say) for scanning, and send flags as a payload indicating which device's sensors have been updated? And then have the slave respond and request the appropriate device's data?

Or should I scan and discover on one channel and once discovered, initiate private channels to discovered slave devices on another channel?

     
Avatar
RankRankRankRank

Total Posts: 745

Joined 2012-09-14

PM

What is passing over the air are 24-byte packets using ANT's advanced burst mode, and the application is fragmenting/re-assembling the data on either side.

Technically scan and forward is using one channel to re-broadcast messages and a background scanning channel to receive messages, but bursting messages will temporarily disrupt any other channel active on the node while it's transmitting/receiving. You should initiate an additional channel on the two nodes which wish to burst to each other with at least different channel ID's. Advanced burst mode also allows for enabling frequency hopping to reduce interference with the active RF frequency of the channel it's running on.      
Rank

Total Posts: 8

Joined 2018-01-30

PM

Thank you Harrison
In other words, I can have channels for one Master for a beacon, one Slave to respond to these beacons, one Master on another channel for burst, and one Slave on another channel (same as second Master) for burst?

...and then as I discover new nodes, just burst the data pages to them on the burst channel?
Should the beacon and scan be disabled during a burst, or can they run unimpeded?

Then as sensor data change, I iterate through the node index and burst those data to every visible node?

... and then use the beacon channel command as an emergency command distribution?

As always, much appreciated!
Steph
PS. I will have to change the device# to two bytes in any case.

     
Avatar
RankRankRankRank

Total Posts: 745

Joined 2012-09-14

PM

Hi Steph,

In one word, yes.

Of course, there are a number of interactions between channel types and modes you should be aware of when they are all running on the same device concurrently. We do have a number of app notes which discuss these implications in more detail (ANT AN Multi-Channel Design Considerations, ANT AN Burst Transfers, ANT AN Channel Search, etc.), but two of the biggest things to be aware of...

1. If multiple slave channels are searching concurrently, then they must share the same RF frequency and Network Key (but not device ID) in order to share the same radio timeslots for efficiency. If not, then you will need to play with search sharing and channel priority, depending on your application requirements.

2. Bursts take priority over other channels, meaning if other channels are searching/broadcasting, the burst transfer will prevent other channels from tranceiving until it is done. This means if a burst runs for too long, the other channels may need to re-establish pairing as they've had too many interrupted channel periods.

Cheers      
Rank

Total Posts: 8

Joined 2018-01-30

PM

Thank you Harrison.
Detailed answer.
I take it if pairing is re-established, it means more power drain.
My slave channels don't share the same deviceId.