This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

ANT shared channel broadcast reverse does not work correctly

Hi, i'm newbie to ANT world and i'm trying to create a mesh-like network using broadcast messages and shared channel with nRF51422 SoC and S310 soft-device.

So, i created channel on transmitter with this configuration:

  • TRANSMISSION TYPE = 0x01
  • DEVICE_TYPE = 0x2
  • DEVICE_NUMBER = 0x02
  • CHANNEL_PERIOD = 16384 (4 Hz)
  • FREQUENCY = 66 (2425 MHz)
  • NETWORK_NUMBER = 0x00
  • CHANNEL_TYPE = SHARED MASTER

On receiver i used same configuration with CHANNEL_TYPE = SHARED SLAVE.

Master creates the channel and slaves open the channel and then send a broadcast message to setup their shared address (with different addresses, obviously).

My goal is to send broadcast messages from master to slaves (2 slave nodes) and slaves have to respond with different data.

Actually slave nodes receive correctly the broadcast messages from the master but master receive broadcast responses only from the nearest slave (i think that is the slave that have the highest TX power).

So what is the problem? Is that an interference or a packet collision?

Thank you and regards.

Parents Reply
  • Each slave in a shared channel network should have it's own unique 2byte address, this addess is set by calling a dummy sd_ant_broadcast_message_tx() on the slave, where the first 2 bytes is the address. All packets sent must have this fixed address. Channel type should be set to CHANNEL_TYPE_SHARED_SLAVE.

    If the master wants to broadcast data to all slaves, then it sets the first 2bytes in sd_ant_broadcast_message_tx() to 0. If the master wants to send a packet to a specific slave, then it must set the 2first bytes to the unique address of the slave, only then can the slave also send data in reverse direction.

Children
No Data
Related