nRF51 SDK
 All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
ANT Broadcast TX Example

Example of basic ANT Broadcast TX. More...

Macros

#define CHANNEL_0   0x00
 
#define CHANNEL_0_TX_CHANNEL_PERIOD   8192u
 
#define CHANNEL_0_ANT_EXT_ASSIGN   0x00
 
#define CHANNEL_0_CHAN_ID_DEV_TYPE   0x02u
 
#define CHANNEL_0_CHAN_ID_DEV_NUM   0x02u
 
#define CHANNEL_0_CHAN_ID_TRANS_TYPE   0x01u
 
#define ANT_CHANNEL_DEFAULT_NETWORK   0x00
 
#define ANT_EVENT_MSG_BUFFER_MIN_SIZE   32u
 
#define BROADCAST_DATA_BUFFER_SIZE   8u
 

Functions

void app_error_handler (uint32_t error_code, uint32_t line_num, const uint8_t *p_file_name)
 Function for handling an error. More...
 
static void ant_channel_tx_broadcast_setup (void)
 Function for setting up the ANT module to be ready for TX broadcast. More...
 
static void channel_event_handle (uint32_t event)
 Function for handling ANT TX channel events. More...
 
void PROTOCOL_EVENT_IRQHandler (void)
 Function for stack interrupt handling. More...
 
void softdevice_assert_callback (uint32_t pc, uint16_t line_num, const uint8_t *p_file_name)
 Function for handling SoftDevice asserts. More...
 
void HardFault_Handler (void)
 Function for handling HardFault.
 
int main (void)
 Function for application main entry. Does not return.
 

Variables

static uint8_t m_broadcast_data [BROADCAST_DATA_BUFFER_SIZE]
 
static uint8_t m_counter = 1u
 

Detailed Description

When the application is booting, LED0 and LED1 are turned on. Once the SoftDevice is enabled, all LEDs are turned off to indicate the system is ready.

The device is set up to use Device Type: 2, Device Number: 2, Transmition Type: 1. The channel period is set to 4 Hz (8192). When a successful broadcast has occured it will turn on LED0 for 20 milliseconds.

LED1 is turned on whenever the processor enters sleep state and turned off when woken up by an interrupt.

Macro Definition Documentation

#define CHANNEL_0   0x00

ANT Channel 0.

#define CHANNEL_0_TX_CHANNEL_PERIOD   8192u

Channel period 4 Hz.

#define CHANNEL_0_ANT_EXT_ASSIGN   0x00

ANT Ext Assign.

#define CHANNEL_0_CHAN_ID_DEV_TYPE   0x02u

Device type.

#define CHANNEL_0_CHAN_ID_DEV_NUM   0x02u

Device number.

#define CHANNEL_0_CHAN_ID_TRANS_TYPE   0x01u

Transmission type.

#define ANT_CHANNEL_DEFAULT_NETWORK   0x00

ANT Channel Network.

#define ANT_EVENT_MSG_BUFFER_MIN_SIZE   32u

Minimum size of ANT event message buffer.

#define BROADCAST_DATA_BUFFER_SIZE   8u

Size of the broadcast data buffer.

Function Documentation

void app_error_handler ( uint32_t  error_code,
uint32_t  line_num,
const uint8_t *  p_file_name 
)

Function for error handling, which is called when an error has occurred.

Parameters
[in]error_codeError code supplied to the handler.
[in]line_numLine number where the error occurred.
[in]p_file_namePointer to the file name.
static void ant_channel_tx_broadcast_setup ( void  )
static

The following commands are issued in this order:

  • assign channel
  • set channel ID
  • open channel
static void channel_event_handle ( uint32_t  event)
static
Parameters
[in]eventThe received ANT event to handle.
void PROTOCOL_EVENT_IRQHandler ( void  )

Implemented to clear the pending flag when receiving an interrupt from the stack.

void softdevice_assert_callback ( uint32_t  pc,
uint16_t  line_num,
const uint8_t *  p_file_name 
)
Parameters
[in]pcValue of the program counter.
[in]line_numLine number where the assert occurred.
[in]p_file_namePointer to the file name.

Variable Documentation

uint8_t m_broadcast_data[BROADCAST_DATA_BUFFER_SIZE]
static

Primary data transmit buffer.

uint8_t m_counter = 1u
static

Counter to increment the ANT broadcast data payload.