ANT Stack Parameters

S210 SoftDevice v5.0.0 API

S210 SoftDevice v5.0.0

Macros

#define ANT_CLOCK_FREQUENCY ((uint32_t)32768)
ANT Clock Definition. More...
#define ANT_STANDARD_DATA_PAYLOAD_SIZE ((uint8_t)8)
ANT Message Payload Size. More...
#define ANTMESSAGE_H
#define MESG_TX_SYNC ((uint8_t)0xA4)
#define MESG_RX_SYNC ((uint8_t)0xA5)
#define MESG_SYNC_SIZE ((uint8_t)1)
#define MESG_SIZE_SIZE ((uint8_t)1)
#define MESG_ID_SIZE ((uint8_t)1)
#define MESG_CHANNEL_NUM_SIZE ((uint8_t)1)
#define MESG_EXT_MESG_BF_SIZE ((uint8_t)1)
#define MESG_CHECKSUM_SIZE ((uint8_t)1)
#define MESG_DATA_SIZE ((uint8_t)9)
#define ANT_EXT_MESG_DEVICE_ID_FIELD_SIZE ((uint8_t)4)
#define ANT_EXT_MESG_RSSI_FIELD_SIZE ((uint8_t)4)
#define ANT_EXT_MESG_TIME_STAMP_FIELD_SIZE ((uint8_t)2)
#define ANT_EXT_STRING_SIZE ((uint8_t)16)
#define MESG_ANT_MAX_PAYLOAD_SIZE ANT_STANDARD_DATA_PAYLOAD_SIZE
#define MESG_MAX_EXT_DATA_SIZE (ANT_EXT_MESG_DEVICE_ID_FIELD_SIZE + ANT_EXT_MESG_RSSI_FIELD_SIZE + ANT_EXT_MESG_TIME_STAMP_FIELD_SIZE + ANT_EXT_STRING_SIZE)
#define MESG_MAX_DATA_SIZE (MESG_ANT_MAX_PAYLOAD_SIZE + MESG_EXT_MESG_BF_SIZE + MESG_MAX_EXT_DATA_SIZE)
#define MESG_MAX_SIZE_VALUE (MESG_MAX_DATA_SIZE + MESG_CHANNEL_NUM_SIZE)
#define MESG_BUFFER_SIZE (MESG_SIZE_SIZE + MESG_ID_SIZE + MESG_CHANNEL_NUM_SIZE + MESG_MAX_DATA_SIZE + MESG_CHECKSUM_SIZE)
#define MESG_FRAMED_SIZE (MESG_ID_SIZE + MESG_CHANNEL_NUM_SIZE + MESG_MAX_DATA_SIZE)
#define MESG_HEADER_SIZE (MESG_SYNC_SIZE + MESG_SIZE_SIZE + MESG_ID_SIZE)
#define MESG_FRAME_SIZE (MESG_HEADER_SIZE + MESG_CHECKSUM_SIZE)
#define MESG_MAX_SIZE (MESG_MAX_DATA_SIZE + MESG_FRAME_SIZE)
#define MESG_SIZE_OFFSET (MESG_SYNC_SIZE)
#define MESG_ID_OFFSET (MESG_SYNC_SIZE + MESG_SIZE_SIZE)
#define MESG_DATA_OFFSET (MESG_HEADER_SIZE)

ANT Channel Init Definitions

#define MAX_ANT_CHANNELS ((uint8_t)15)
#define SIZE_OF_NONENCRYPTED_ANT_CHANNEL ((uint8_t)88)
#define SIZE_OF_ENCRYPTED_ANT_CHANNEL ((uint8_t)21)
#define MIN_ANT_TX_BURST_QUEUE_SIZE ((uint8_t)64)
#define IS_POWER_OF_TWO (A)   ( ((A) != 0) && ((((A) - 1) & (A)) == 0) )
#define GET_TX_BURST_QUEUE_SIZE (requestedSize)   (requestedSize < MIN_ANT_TX_BURST_QUEUE_SIZE ? MIN_ANT_TX_BURST_QUEUE_SIZE : (IS_POWER_OF_TWO(requestedSize) ? requestedSize : MIN_ANT_TX_BURST_QUEUE_SIZE))
#define ANT_ENABLE_GET_REQUIRED_SPACE_MORE_THAN_TWO_CH (ucTotalNumberOfChannels, ucNumberOfEncryptedChannels, usTxQueueByteSize)   ((ucTotalNumberOfChannels - 2) * SIZE_OF_NONENCRYPTED_ANT_CHANNEL) + (ucNumberOfEncryptedChannels * SIZE_OF_ENCRYPTED_ANT_CHANNEL) + GET_TX_BURST_QUEUE_SIZE(usTxQueueByteSize)
#define ANT_ENABLE_GET_REQUIRED_SPACE_LESS_THAN_OR_EQ_TWO_CH (ucNumberOfEncryptedChannels, usTxQueueByteSize)   (ucNumberOfEncryptedChannels * SIZE_OF_ENCRYPTED_ANT_CHANNEL) + GET_TX_BURST_QUEUE_SIZE(usTxQueueByteSize)
#define ANT_ENABLE_GET_REQUIRED_SPACE (ucTotalNumberOfChannels, ucNumberOfEncryptedChannels, usTxQueueByteSize)

Radio TX Power Definitions

#define RADIO_TX_POWER_LVL_CUSTOM ((uint8_t)0x80)
Custom tx power selection.
#define RADIO_TX_POWER_LVL_0 ((uint8_t)0x00)
Lowest ANT Tx power level setting. (-20dBm).
#define RADIO_TX_POWER_LVL_1 ((uint8_t)0x01)
ANT Tx power > Lvl 0. (-12dBm)
#define RADIO_TX_POWER_LVL_2 ((uint8_t)0x02)
ANT Tx power > Lvl 1. (-4dBm)
#define RADIO_TX_POWER_LVL_3 ((uint8_t)0x03)
ANT Tx power > Lvl 2. Default tx power level. (0dBm)
#define RADIO_TX_POWER_LVL_4 ((uint8_t)0x04)
ANT Tx power > Lvl 3. (+4dBm)

Radio Proximity Search Threshold

#define PROXIMITY_THRESHOLD_CUSTOM ((uint8_t)0x80)
Custom proximity search selection.
#define PROXIMITY_THRESHOLD_OFF ((uint8_t)0x00)
Disable proximity search detection.
#define PROXIMITY_THRESHOLD_1 ((uint8_t)0x01)
Proximity search detection radius > preset threshold (~ -44dBm on nRF51)
#define PROXIMITY_THRESHOLD_2 ((uint8_t)0x02)
Proximity search detection radius > preset threshold (~ -48dBm on nRF51).
#define PROXIMITY_THRESHOLD_3 ((uint8_t)0x03)
Proximity search detection radius > preset threshold (~ -52dBm on nRF51).
#define PROXIMITY_THRESHOLD_4 ((uint8_t)0x04)
Proximity search detection radius > preset threshold (~ -56dBm on nRF51).
#define PROXIMITY_THRESHOLD_5 ((uint8_t)0x05)
Proximity search detection radius > preset threshold (~ -60dBm on nRF51).
#define PROXIMITY_THRESHOLD_6 ((uint8_t)0x06)
Proximity search detection radius > preset threshold (~ -64dBm on nRF51).
#define PROXIMITY_THRESHOLD_7 ((uint8_t)0x07)
Proximity search detection radius > preset threshold (~ -68dBm on nRF51).
#define PROXIMITY_THRESHOLD_8 ((uint8_t)0x08)
Proximity search detection radius > preset threshold (~ -72dBm on nRF51).
#define PROXIMITY_THRESHOLD_9 ((uint8_t)0x09)
Proximity search detection radius > preset threshold (~ -76dBm on nRF51).
#define PROXIMITY_THRESHOLD_10 ((uint8_t)0x0A)
Proximity search detection radius > preset threshold (~ -80dBm on nRF51).

Assign Channel Parameters

#define PARAMETER_RX_NOT_TX ((uint8_t)0x00)
Bitfield for slave channel.
#define PARAMETER_TX_NOT_RX ((uint8_t)0x10)
Bitfield for master channel.
#define PARAMETER_SHARED_CHANNEL ((uint8_t)0x20)
Bitfield for enabling shared channel mode for master or slave channel.
#define PARAMETER_NO_TX_GUARD_BAND ((uint8_t)0x40)
Bitfield for enabling tx only mode for master channel.
#define PARAMETER_RX_ONLY ((uint8_t)0x40)
Bitfield for enabling rx only mode for slave channel.

Extended Assign Channel Parameters

#define EXT_PARAM_ALWAYS_SEARCH ((uint8_t)0x01)
Bitfield for enabling background searching behaviour.
#define EXT_PARAM_IGNORE_TRANSMISSION_TYPE ((uint8_t)0x02)
Bitfield for enabling ignore transmission type behaviour.
#define EXT_PARAM_FREQUENCY_AGILITY ((uint8_t)0x04)
Bitfield for enabling frequency agility behaviour.
#define EXT_PARAM_AUTO_SHARED_SLAVE ((uint8_t)0x08)
Auto shared channel.
#define EXT_PARAM_FAST_INITIATION_MODE ((uint8_t)0x10)
Channel fast initiation mode.
#define EXT_PARAM_ASYNC_TX_MODE ((uint8_t)0x20)
Async transmit channel.

Assign Channel Types

#define CHANNEL_TYPE_SLAVE ((uint8_t) 0x00)
Slave channel (PARAMETER_RX_NOT_TX).
#define CHANNEL_TYPE_MASTER ((uint8_t) 0x10)
Master channel (PARAMETER_TX_NOT_RX).
#define CHANNEL_TYPE_SLAVE_RX_ONLY ((uint8_t) 0x40)
Slave rx only channel (PARAMETER_RX_NOT_TX | PARAMETER_RX_ONLY).
#define CHANNEL_TYPE_MASTER_TX_ONLY ((uint8_t) 0x50)
Master tx only channel (PARAMETER_TX_NOT_RX | PARAMETER_NO_TX_GUARD_BAND).
#define CHANNEL_TYPE_SHARED_SLAVE ((uint8_t) 0x20)
Shared slave channel (PARAMETER_RX_NOT_TX | PARAMETER_SHARED_CHANNEL).
#define CHANNEL_TYPE_SHARED_MASTER ((uint8_t) 0x30)
Shared master channel (PARAMETER_TX_NOT_RX | PARAMETER_SHARED_CHANNEL).

Channel ID Definitions

#define ANT_ID_SIZE ((uint8_t)4)
4 octet channel ID
#define ANT_ID_TRANS_TYPE_OFFSET ((uint8_t)3)
Transmission type offset in channel ID.
#define ANT_ID_DEVICE_TYPE_OFFSET ((uint8_t)2)
Device type offset in channel ID.
#define ANT_ID_DEVICE_NUMBER_HIGH_OFFSET ((uint8_t)1)
MSB Device number in channel ID.
#define ANT_ID_DEVICE_NUMBER_LOW_OFFSET ((uint8_t)0)
LSB Device number in channel ID.
#define ANT_ID_DEVICE_TYPE_PAIRING_FLAG ((uint8_t)0x80)
Pairing bit in device type field.
#define ANT_TRANS_TYPE_SHARED_ADDR_MASK ((uint8_t)0x03)
shared address mask in transmission type field
#define ANT_TRANS_TYPE_1_BYTE_SHARED_ADDRESS ((uint8_t)0x02)
1 byte shared address field
#define ANT_TRANS_TYPE_2_BYTE_SHARED_ADDRESS ((uint8_t)0x03)
2 byte shared address field

Channel Status

#define STATUS_CHANNEL_STATE_MASK ((uint8_t)0x03)
Channel state mask.
#define STATUS_UNASSIGNED_CHANNEL ((uint8_t)0x00)
Indicates channel has not been assigned.
#define STATUS_ASSIGNED_CHANNEL ((uint8_t)0x01)
Indicates channel has been assigned.
#define STATUS_SEARCHING_CHANNEL ((uint8_t)0x02)
Indicates channel is active and in searching state.
#define STATUS_TRACKING_CHANNEL ((uint8_t)0x03)
Indicates channel is active and in tracking state.

Standard capabilities defines

#define CAPABILITIES_NO_RX_CHANNELS ((uint8_t)0x01)
Bitfield in CAPABILITIES_STANDARD byte indicating no rx channel support.
#define CAPABILITIES_NO_TX_CHANNELS ((uint8_t)0x02)
Bitfield in CAPABILITIES_STANDARD byte indicating no tx channel support.
#define CAPABILITIES_NO_RX_MESSAGES ((uint8_t)0x04)
Bitfield in CAPABILITIES_STANDARD byte indicating no rx message support.
#define CAPABILITIES_NO_TX_MESSAGES ((uint8_t)0x08)
Bitfield in CAPABILITIES_STANDARD byte indicating no tx message support.
#define CAPABILITIES_NO_ACKD_MESSAGES ((uint8_t)0x10)
Bitfield in CAPABILITIES_STANDARD byte indicating no acknolwedged message support.
#define CAPABILITIES_NO_BURST_TRANSFER ((uint8_t)0x20)
Bitfield in CAPABILITIES_STANDARD byte indicating no burst transfer support.

Advanced capabilities defines

#define CAPABILITIES_NETWORK_ENABLED ((uint8_t)0x02)
Bitfield in CAPABILITIES_ADVANCED byte indicating network support.
#define CAPABILITIES_SERIAL_NUMBER_ENABLED ((uint8_t)0x08)
Bitfield in CAPABILITIES_ADVANCED byte indicating serial number support.
#define CAPABILITIES_PER_CHANNEL_TX_POWER_ENABLED ((uint8_t)0x10)
Bitfield in CAPABILITIES_ADVANCED byte indicating per channel transmit power support.
#define CAPABILITIES_LOW_PRIORITY_SEARCH_ENABLED ((uint8_t)0x20)
Bitfield in CAPABILITIES_ADVANCED byte indicating lower priority search support.
#define CAPABILITIES_SCRIPT_ENABLED ((uint8_t)0x40)
Bitfield in CAPABILITIES_ADVANCED byte indicating scripting support.
#define CAPABILITIES_SEARCH_LIST_ENABLED ((uint8_t)0x80)
Bitfield in CAPABILITIES_ADVANCED byte indicating include/exclude list support.

Advanced capabilities 2 defines

#define CAPABILITIES_LED_ENABLED ((uint8_t)0x01)
Bitfield in CAPABILITIES_ADVANCED_2 byte indicating built-in LED support.
#define CAPABILITIES_EXT_MESSAGE_ENABLED ((uint8_t)0x02)
Bitfield in CAPABILITIES_ADVANCED_2 byte indicating extended messaging support.
#define CAPABILITIES_SCAN_MODE_ENABLED ((uint8_t)0x04)
Bitfield in CAPABILITIES_ADVANCED_2 byte indicating scanning mode support.
#define CAPABILITIES_RESERVED ((uint8_t)0x08)
Bitfield in CAPABILITIES_ADVANCED_2 byte currently reserved for future use.
#define CAPABILITIES_PROX_SEARCH_ENABLED ((uint8_t)0x10)
Bitfield in CAPABILITIES_ADVANCED_2 byte indicating proximity search support.
#define CAPABILITIES_EXT_ASSIGN_ENABLED ((uint8_t)0x20)
Bitfield in CAPABILITIES_ADVANCED_2 byte indicating extended assign support.
#define CAPABILITIES_FS_ANTFS_ENABLED ((uint8_t)0x40)
Bitfield in CAPABILITIES_ADVANCED_2 byte indicating built-in FS/ANT-FS support.
#define CAPABILITIES_FIT1_ENABLED ((uint8_t)0x80)
Bitfield in CAPABILITIES_ADVANCED_2 byte indicating FIT1 module support.

Advanced capabilities 3 defines

#define CAPABILITIES_ADVANCED_BURST_ENABLED ((uint8_t)0x01)
Bitfield in CAPABILITIES_ADVANCED_3 byte indicating advanced burst support.
#define CAPABILITIES_EVENT_BUFFERING_ENABLED ((uint8_t)0x02)
Bitfield in CAPABILITIES_ADVANCED_3 byte indicating extended messaging support.
#define CAPABILITIES_EVENT_FILTERING_ENABLED ((uint8_t)0x04)
Bitfield in CAPABILITIES_ADVANCED_3 byte indicating event filtering support.
#define CAPABILITIES_HIGH_DUTY_SEARCH_MODE_ENABLED ((uint8_t)0x08)
Bitfield in CAPABILITIES_ADVANCED_3 byte indicating high duty search mode support.
#define CAPABILITIES_ACTIVE_SEARCH_SHARING_MODE_ENABLED ((uint8_t)0x10)
Bitfield in CAPABILITIES_ADVANCED_3 byte indicating active search sharing mode support.
#define CAPABILITIES_RADIO_COEX_CONFIG_ENABLED ((uint8_t)0x20)
Bitfield in CAPABILITIES_ADVANCED_3 byte indicating radio coexistence configuration support.
#define CAPABILITIES_SELECTIVE_DATA_UPDATE_ENABLED ((uint8_t)0x40)
Bitfield in CAPABILITIES_ADVANCED_3 byte indicating selective rx data update support.
#define CAPABILITIES_ENCRYPTED_CHANNEL_ENABLED ((uint8_t)0x80)
Bitfield in CAPABILITIES_ADVANCED_3 byte indicating encrypted channel support.

Advanced capabilities 4 defines

#define CAPABILITIES_RFACTIVE_NOTIFICATION_ENABLED ((uint8_t)0x01)
Bitfield in CAPABILITIES_ADVANCED_4 byte indicating rfactive notification support.

Rx Burst Message Sequencing Defines

#define CHANNEL_NUMBER_MASK ((uint8_t)0x1F)
Valid bitfields for channel number.
#define SEQUENCE_NUMBER_MASK ((uint8_t)0xE0)
Valid bitfields for burst sequence.
#define SEQUENCE_NUMBER_ROLLOVER ((uint8_t)0x60)
Sequence rollover.
#define SEQUENCE_FIRST_MESSAGE ((uint8_t)0x00)
Sequence indicating first burst message.
#define SEQUENCE_LAST_MESSAGE ((uint8_t)0x80)
Sequence indicating last burst message.
#define SEQUENCE_NUMBER_INC ((uint8_t)0x20)
Incremental sequence value.

Tx Burst Handler Request Segment Defines

#define BURST_SEGMENT_CONTINUE ((uint8_t)0x00)
Bitfield for indicating continuation of burst data segment (no starting or ending burst packet).
#define BURST_SEGMENT_START ((uint8_t)0x01)
Bitfield for indicating burst data segment containing starting burst packet.
#define BURST_SEGMENT_END ((uint8_t)0x02)
Bitfield for indicating burst data segment containing ending burst packet.

ANT Library Config

#define ANT_LIB_CONFIG_MASK_ALL ((uint8_t)0xFF)
libary configuration mask
#define ANT_LIB_CONFIG_RADIO_CONFIG_ALWAYS ((uint8_t)0x01)
Bitfield intended for platform specific configuration (unused)
#define ANT_LIB_CONFIG_MESG_OUT_INC_TIME_STAMP ((uint8_t)0x20)
Bitfield for enabling extended rx messages including ant time stamp field.
#define ANT_LIB_CONFIG_MESG_OUT_INC_RSSI ((uint8_t)0x40)
Bitfield for enabling extended rx messages including RSSI measurement field.
#define ANT_LIB_CONFIG_MESG_OUT_INC_DEVICE_ID ((uint8_t)0x80)
Bitfield for enabling extended rx messages including device ID field.

Extended Data Message Bitfield Definitions

#define ANT_EXT_MESG_BITFIELD_DEVICE_ID ((uint8_t)0x80)
Bitfield for indicating device ID field present in extended data message after the extended message bitfield byte.
#define ANT_EXT_MESG_BITFIELD_RSSI ((uint8_t)0x40)
Bitfield for indicating RSSI field present in extended data message after device id field (if present)
#define ANT_EXT_MESG_BITFIELD_TIME_STAMP ((uint8_t)0x20)
Bitfield for indicating timestamp field present in extended data message after rssi/agc field (if present)
#define ANT_EXT_MESG_BIFIELD_EXTENSION ((uint8_t)0x01)
Bitfield reserved.

RSSI Definitions in Extended Data Message

#define RSSI_TYPE_AGC_EXT_MESG_FIELD_SIZE ((uint8_t)4)
Extended bitfield message size for AGC type RSSI measurement.
#define RSSI_TYPE_DBM_EXT_MESG_FIELD_SIZE ((uint8_t)3)
Extended bitfield message size for DBM type RSSI measurement.
#define RSSI_TYPE_OFFSET ((uint8_t)0)
RSSI type offset in RSSI field in extended data message.
#define RSSI_AGC_TYPE ((uint8_t)0x10)
RSSI type indicating support for AGC measurement.
#define RSSI_DBM_TYPE ((uint8_t)0x20)
RSSI type indicating support for DBM measurement.
#define RSSI_TYPE_AGC_THRESHOLD_OFFSET ((uint8_t)1)
Offset of AGC value indicating above or below configured AGC threshold.
#define RSSI_TYPE_AGC_REGISTER_LOW ((uint8_t)2)
Offset of LSB AGC threshold configuration in RSSI field.
#define RSSI_TYPE_AGC_REGISTER_HIGH ((uint8_t)3)
Offset of MSB AGC threshold configuration in RSSI field.
#define RSSI_TYPE_DBM_VALUE ((uint8_t)1)
Offset of DBM value in RSSI field.
#define RSSI_TYPE_DBM_SETTING ((uint8_t)2)
Offset of DBM threshold configuration in RSSI field.

Reset/Startup Mesg Codes

#define RESET_FLAGS_MASK ((uint8_t)0xE0)
Message code mask.
#define RESET_SUSPEND ((uint8_t)0x80)
Startup/Reset from suspend mode.
#define RESET_SYNC ((uint8_t)0x40)
Startup/Reset from synchronous reset.
#define RESET_CMD ((uint8_t)0x20)
Startup/Reset from ant message reset command.
#define RESET_WDT ((uint8_t)0x02)
Startup/Reset from watchdog timeout.
#define RESET_RST ((uint8_t)0x01)
Startup/Reset from HW reset pin.
#define RESET_POR ((uint8_t)0x00)
Startup/Reset from HW power on reset.

Event Filtering

#define FILTER_EVENT_RX_SEARCH_TIMEOUT ((uint16_t)0x0001)
Bitfield for filtering EVENT_RX_SEARCH_TIMEOUT.
#define FILTER_EVENT_RX_FAIL ((uint16_t)0x0002)
Bitfield for filtering EVENT_RX_FAIL.
#define FILTER_EVENT_TX ((uint16_t)0x0004)
Bitfield for filtering EVENT_TX.
#define FILTER_EVENT_TRANSFER_RX_FAILED ((uint16_t)0x0008)
Bitfield for filtering EVENT_TRANSFER_RX_FAILED.
#define FILTER_EVENT_TRANSFER_TX_COMPLETED ((uint16_t)0x0010)
Bitfield for filtering EVENT_TRANSFER_TX_COMPLETED.
#define FILTER_EVENT_TRANSFER_TX_FAILED ((uint16_t)0x0020)
Bitfield for filtering EVENT_TRANSFER_TX_FAILED.
#define FILTER_EVENT_CHANNEL_CLOSED ((uint16_t)0x0040)
Bitfield for filtering EVENT_CHANNEL_CLOSED.
#define FILTER_EVENT_RX_FAIL_GO_TO_SEARCH ((uint16_t)0x0080)
Bitfield for filtering EVENT_RX_FAIL_GO_TO_SEARCH.
#define FILTER_EVENT_CHANNEL_COLLISION ((uint16_t)0x0100)
Bitfield for filtering EVENT_CHANNEL_COLLISION.
#define FILTER_EVENT_TRANSFER_TX_START ((uint16_t)0x0200)
Bitfield for filtering EVENT_TRANSFER_TX_START.

Selective Data Update Mask Configuration Defines

#define INVALID_SDU_MASK ((uint8_t)0xFF)
Selective data update configuration invalid mask. Used to disable SDU for a particular channel.
#define SDU_MASK_ACK_CONFIG_BIT ((uint8_t)0x80)
Selective data acknowledge config bit. Use to enable SDU for acknowledged data in addition to broadcast data.

Advanced Burst Configuration Defines

#define ADV_BURST_MODE_DISABLE ((uint8_t)0x00)
Set to disable advanced burst transfers.
#define ADV_BURST_MODE_ENABLE ((uint8_t)0x01)
Set to enable advanced burst transfers.
#define ADV_BURST_MODES_MAX_SIZE ((uint8_t)0x03)
Maximum allowable value for advanced burst packets size configuration.
#define ADV_BURST_MODES_SIZE_8_BYTES ((uint8_t)0x01)
8-bytes packet size for maximum 20kbps advanced burst transfer rate
#define ADV_BURST_MODES_SIZE_16_BYTES ((uint8_t)0x02)
16-bytes packet size for maximum 40kbps advanced burst transfer rate
#define ADV_BURST_MODES_SIZE_24_BYTES ((uint8_t)0x03)
24-bytes packet size for maximum 60kbps advanced burst transfer rate
#define ADV_BURST_MODES_MASK ((uint8_t)0x03)
Bitfield mask for advanced burst modes.
#define ADV_BURST_MODES_FREQ_HOP ((uint8_t)0x01)
Bitfield for required/optional frequency hopping mode during advanced burst.
#define ADV_BURST_MODES_RESERVED0 ((uint8_t)0x02)
Bitfield reserved.

Encrypted Channel Defines

#define ENCRYPTION_DISABLED_MODE ((uint8_t) 0x00)
Set encryption mode to disabled.
#define ENCRYPTION_BASIC_REQUEST_MODE ((uint8_t) 0x01)
Enable encryption mode with basic request (crypto ID exchange)
#define ENCRYPTION_USER_DATA_REQUEST_MODE ((uint8_t) 0x02)
Enable encryption mode with user data request (crypto ID + custom user data exchange)
#define MAX_SUPPORTED_ENCRYPTION_MODE ENCRYPTION_USER_DATA_REQUEST_MODE
Maximum supported encryption mode.
#define ENCRYPTION_USER_DATA_SIZE ((uint8_t)19)
Maximum size of custom user data.
#define ENCRYPTION_INFO_SET_CRYPTO_ID ((uint8_t)0x00)
Set configured crypto ID to be exchanged during encryption negotiation.
#define ENCRYPTION_INFO_SET_CUSTOM_USER_DATA ((uint8_t)0x01)
Set configured custom user data to be exchanged during encryption negotation.
#define ENCRYPTION_INFO_SET_RNG_SEED ((uint8_t)0x02)
Set RNG seed.
#define ENCRYPTION_INFO_GET_SUPPORTED_MODE ((uint8_t)0x00)
Get supported encrytped mode.
#define ENCRYPTION_INFO_GET_CRYPTO_ID ((uint8_t)0x01)
Get configured crypto ID to be exchanged during encryption negotiation.
#define ENCRYPTION_INFO_GET_CUSTOM_USER_DATA ((uint8_t)0x02)
Get configured custom user data to be exchanged during encryption negotiation.

RFActive Notification Defines

#define RFACTIVE_NOTIFICATION_DISABLED_MODE ((uint8_t)0x00)
Set RF Active notification mode to disabled.
#define RFACTIVE_NOTIFICATION_ONE_TIME_MODE ((uint8_t)0x01)
Set to generate RF Active notification event for only 1 time.
#define RFACTIVE_NOTIFICATION_CONTINUOUS_MODE ((uint8_t)0x02)
Set to generate RF Active notification event continuously.
#define RFACTIVE_NOTIFICATION_MIN_TIME_THRESHOLD ((uint16_t)0x00A4)
Minimum time threshold of 5ms in 32768 time base.

WakeOn RF Activity Defines

#define WAKEON_RF_ACTIVITY_NONE ((uint8_t)0x00)
Disable wakeon.
#define WAKEON_RF_ACTIVITY_TX ((uint8_t)0x01)
Enable wakeon for ANT RF transmission windows.
#define WAKEON_RF_ACTIVITY_RX ((uint8_t)0x02)
Enable wakeon for ANT RF reception windows.
#define WAKEON_RF_ACTIVITY_ALL ((uint8_t)0x03)
(WAKE_ON_RF_ACTIVITY_TX | WAKE_ON_RF_ACTIVITY_RX))

Enhanced Channel Spacing Defines

#define ENHANCED_CHANNEL_SPACING_DISABLE ((uint8_t)0x00)
Disable enhanced channel spacing.
#define ENHANCED_CHANNEL_SPACING_ENABLE ((uint8_t)0x01)
Enable enhanced channel spacing.

Channel Events and Command Response Codes

#define RESPONSE_NO_ERROR ((uint8_t)0x00)
Command response with no error.
#define NO_EVENT ((uint8_t)0x00)
No Event.
#define EVENT_RX_SEARCH_TIMEOUT ((uint8_t)0x01)
ANT stack generated event when rx searching state for the channel has timed out.
#define EVENT_RX_FAIL ((uint8_t)0x02)
ANT stack generated event when synchronous rx channel has missed receiving an ANT packet.
#define EVENT_TX ((uint8_t)0x03)
ANT stack generated event when synchronous tx channel has occurred.
#define EVENT_TRANSFER_RX_FAILED ((uint8_t)0x04)
ANT stack generated event when the completion of rx transfer has failed.
#define EVENT_TRANSFER_TX_COMPLETED ((uint8_t)0x05)
ANT stack generated event when the completion of tx transfer has succeeded.
#define EVENT_TRANSFER_TX_FAILED ((uint8_t)0x06)
ANT stack generated event when the completion of tx transfer has failed.
#define EVENT_CHANNEL_CLOSED ((uint8_t)0x07)
ANT stack generated event when channel has closed.
#define EVENT_RX_FAIL_GO_TO_SEARCH ((uint8_t)0x08)
ANT stack generated event when synchronous rx channel has lost tracking and is entering rx searching state.
#define EVENT_CHANNEL_COLLISION ((uint8_t)0x09)
ANT stack generated event during a multi-channel setup where an instance of the current synchronous channel is blocked by another synchronous channel.
#define EVENT_TRANSFER_TX_START ((uint8_t)0x0A)
ANT stack generated event when the start of tx transfer is occuring.
#define EVENT_TRANSFER_NEXT_DATA_BLOCK ((uint8_t)0x11)
ANT stack generated event when the stack requires the next transfer data block for tx transfer continuation or completion.
#define CHANNEL_IN_WRONG_STATE ((uint8_t)0x15)
Command response on attempt to perform an action from the wrong channel state.
#define CHANNEL_NOT_OPENED ((uint8_t)0x16)
Command response on attempt to communicate on a channel that is not open.
#define CHANNEL_ID_NOT_SET ((uint8_t)0x18)
Command response on attempt to open a channel without setting the channel ID.
#define CLOSE_ALL_CHANNELS ((uint8_t)0x19)
Command response when attempting to start scanning mode, when channels are still open.
#define TRANSFER_IN_PROGRESS ((uint8_t)0x1F)
Command response on attempt to communicate on a channel with a TX transfer in progress.
#define TRANSFER_SEQUENCE_NUMBER_ERROR ((uint8_t)0x20)
Command response when sequence number of burst message or burst data segment is out of order.
#define TRANSFER_IN_ERROR ((uint8_t)0x21)
Command response when transfer error has occured on supplied burst message or burst data segment.
#define TRANSFER_BUSY ((uint8_t)0x22)
Command response when transfer is busy and cannot process supplied burst message or burst data segment.
#define MESSAGE_SIZE_EXCEEDS_LIMIT ((uint8_t)0x27)
Command response if a data message is provided that is too large.
#define INVALID_MESSAGE ((uint8_t)0x28)
Command response when the message has an invalid parameter.
#define INVALID_NETWORK_NUMBER ((uint8_t)0x29)
Command response when an invalid network number is provided.
#define INVALID_LIST_ID ((uint8_t)0x30)
Command response when the provided list ID or size exceeds the limit.
#define INVALID_SCAN_TX_CHANNEL ((uint8_t)0x31)
Command response when attempting to transmit on channel 0 when in scan mode.
#define INVALID_PARAMETER_PROVIDED ((uint8_t)0x33)
Command response when an invalid parameter is specified in a configuration message.
#define EVENT_QUE_OVERFLOW ((uint8_t)0x35)
ANT stack generated event when the event queue in the stack has overflowed and drop 1 or 2 events.
#define EVENT_ENCRYPT_NEGOTIATION_SUCCESS ((uint8_t)0x38)
ANT stack generated event when connecting to an encrypted channel has succeeded.
#define EVENT_ENCRYPT_NEGOTIATION_FAIL ((uint8_t)0x39)
ANT stack generated event when connecting to an encrypted channel has failed.
#define EVENT_RFACTIVE_NOTIFICATION ((uint8_t)0x3A)
ANT stack generated event when the time to next synchronous channel RF activity exceeds configured time threshold.
#define EVENT_CONNECTION_START ((uint8_t)0x3B)
Application generated event used to indicate when starting a connection to a channel.
#define EVENT_CONNECTION_SUCCESS ((uint8_t)0x3C)
Application generated event used to indicate when successfuly connected to a channel.
#define EVENT_CONNECTION_FAIL ((uint8_t)0x3D)
Application generated event used to indicate when failed to connect to a channel.
#define EVENT_CONNECTION_TIMEOUT ((uint8_t)0x3E)
Application generated event used to indicate when connecting to a channel has timed out.
#define EVENT_CONNECTION_UPDATE ((uint8_t)0x3F)
Application generated event used to indicate when connection parameters have been updated.
#define NO_RESPONSE_MESSAGE ((uint8_t)0x50)
Command response type intended to indicate that no serial reply message should be generated.
#define EVENT_RX ((uint8_t)0x80)
ANT stack generated event indicating received data (eg. broadcast, acknowledge, burst) from the channel.
#define EVENT_BLOCKED ((uint8_t)0xFF)
ANT stack generated event that should be ignored (eg. filtered events will generate this)

Message ID's

#define MESG_INVALID_ID ((uint8_t)0x00)
invalid ANT message ID
#define MESG_EVENT_ID ((uint8_t)0x01)
ANT stack - channel event ID.
#define MESG_VERSION_ID ((uint8_t)0x3E)
ANT stack - version message ID.
#define MESG_RESPONSE_EVENT_ID ((uint8_t)0x40)
ANT stack - channel/response event ANT message ID.
#define MESG_UNASSIGN_CHANNEL_ID ((uint8_t)0x41)
ANT stack - channel unassign message ID.
#define MESG_ASSIGN_CHANNEL_ID ((uint8_t)0x42)
ANT stack - channel assign message ID.
#define MESG_CHANNEL_MESG_PERIOD_ID ((uint8_t)0x43)
ANT stack - channel period message ID.
#define MESG_CHANNEL_SEARCH_TIMEOUT_ID ((uint8_t)0x44)
ANT stack - channel (high priority) search timeout message ID.
#define MESG_CHANNEL_RADIO_FREQ_ID ((uint8_t)0x45)
ANT stack - channel radio frequency message ID.
#define MESG_NETWORK_KEY_ID ((uint8_t)0x46)
ANT stack - network key message ID.
#define MESG_RADIO_TX_POWER_ID ((uint8_t)0x47)
ANT stack - transmit power message ID.
#define MESG_RADIO_CW_MODE_ID ((uint8_t)0x48)
ANT stack - CW test mode message ID.
#define MESG_SEARCH_WAVEFORM_ID ((uint8_t)0x49)
ANT stack - search waveform message ID.
#define MESG_SYSTEM_RESET_ID ((uint8_t)0x4A)
ANT application - system reset message ID.
#define MESG_OPEN_CHANNEL_ID ((uint8_t)0x4B)
ANT stack - channel open message ID.
#define MESG_CLOSE_CHANNEL_ID ((uint8_t)0x4C)
ANT stack - channel close message ID.
#define MESG_REQUEST_ID ((uint8_t)0x4D)
ANT stack - request message ID.
#define MESG_BROADCAST_DATA_ID ((uint8_t)0x4E)
ANT stack - broadcast message ID.
#define MESG_ACKNOWLEDGED_DATA_ID ((uint8_t)0x4F)
ANT stack - acknowledged message ID.
#define MESG_BURST_DATA_ID ((uint8_t)0x50)
ANT stack - burst message ID.
#define MESG_CHANNEL_ID_ID ((uint8_t)0x51)
ANT stack - channel ID message ID.
#define MESG_CHANNEL_STATUS_ID ((uint8_t)0x52)
ANT stack - channel status message ID.
#define MESG_RADIO_CW_INIT_ID ((uint8_t)0x53)
ANT stack - CW test mode init message ID.
#define MESG_CAPABILITIES_ID ((uint8_t)0x54)
ANT stack - capabilities message ID.
#define MESG_ID_LIST_ADD_ID ((uint8_t)0x59)
ANT stack - inc/exc list add message ID.
#define MESG_ID_LIST_CONFIG_ID ((uint8_t)0x5A)
ANT stack - inc/exc list config message ID.
#define MESG_OPEN_RX_SCAN_ID ((uint8_t)0x5B)
ANT stack - rx scanning channel open message ID.
#define MESG_EXT_BROADCAST_DATA_ID ((uint8_t)0x5D)
ANT application - extended broadcast message ID.
#define MESG_EXT_ACKNOWLEDGED_DATA_ID ((uint8_t)0x5E)
ANT application - extended acknowledged message ID.
#define MESG_EXT_BURST_DATA_ID ((uint8_t)0x5F)
ANT application - extended burst message ID.
#define MESG_CHANNEL_RADIO_TX_POWER_ID ((uint8_t)0x60)
ANT stack - channel transmit power message ID.
#define MESG_GET_SERIAL_NUM_ID ((uint8_t)0x61)
ANT application - device serial number request message ID.
#define MESG_SET_LP_SEARCH_TIMEOUT_ID ((uint8_t)0x63)
ANT stack - channel (low priority) search timeout message ID.
#define MESG_SERIAL_NUM_SET_CHANNEL_ID_ID ((uint8_t)0x65)
ANT application - use serial number to set channel message ID.
#define MESG_RX_EXT_MESGS_ENABLE_ID ((uint8_t)0x66)
ANT stack - extended rx message enable message ID.
#define MESG_ANTLIB_CONFIG_ID ((uint8_t)0x6E)
ANT stack - lib config message ID.
#define MESG_STARTUP_MESG_ID ((uint8_t)0x6F)
ANT application - startup message ID.
#define MESG_AUTO_FREQ_CONFIG_ID ((uint8_t)0x70)
ANT stack - frequency agility config message ID.
#define MESG_PROX_SEARCH_CONFIG_ID ((uint8_t)0x71)
ANT stack - proximity search config message ID.
#define MESG_ADV_BURST_DATA_ID ((uint8_t)0x72)
ANT stack - advanced burst data message ID.
#define MESG_COEX_PRIORITY_CONFIG_ID ((uint8_t)0x73)
ANT stack - coexistence priority config message ID.
#define MESG_EVENT_BUFFERING_CONFIG_ID ((uint8_t)0x74)
ANT application - event buffering config message ID.
#define MESG_SET_SEARCH_CH_PRIORITY_ID ((uint8_t)0x75)
ANT stack - search channel priority config message ID.
#define MESG_CONFIG_ADV_BURST_ID ((uint8_t)0x78)
ANT stack - advanced burst config message ID.
#define MESG_EVENT_FILTER_CONFIG_ID ((uint8_t)0x79)
ANT stack - event filtering config message ID.
#define MESG_SDU_CONFIG_ID ((uint8_t)0x7A)
ANT stack - selective data update config message ID.
#define MESG_SDU_SET_MASK_ID ((uint8_t)0x7B)
ANT stack - selective data update mask message ID.
#define MESG_ENCRYPT_ENABLE_ID ((uint8_t)0x7D)
ANT stack - channel encryption mode enable message ID.
#define MESG_SET_ENCRYPT_KEY_ID ((uint8_t)0x7E)
ANT stack - channel encryption key config message ID.
#define MESG_SET_ENCRYPT_INFO_ID ((uint8_t)0x7F)
ANT stack - channel encryption info config message ID.
#define MESG_ACTIVE_SEARCH_SHARING_ID ((uint8_t)0x81)
ANT stack - active seach sharing config message ID.
#define MESG_COEX_ADV_PRIORITY_CONFIG_ID ((uint8_t)0x82)
ANT stack - advanced/platform specific coexistence priority config message ID.
#define MESG_RFACTIVE_NOTIFICATION_ID ((uint8_t)0x84)
ANT stack - RF active notification config message ID.

Extended Message ID's

#define MSG_EXT_ID_MASK ((uint8_t)0xE0)
ANT message ID extension mask.
#define MESG_EXT_ID_0 ((uint8_t)0xE0)
ANT message ID extension 0xE1.
#define MESG_EXT_ID_1 ((uint8_t)0xE1)
ANT message ID 0xE1 extension.
#define MESG_EXT_ID_2 ((uint8_t)0xE2)
ANT message ID 0xE2 extension.
#define MESG_EXT_ID_3 ((uint8_t)0xE3)
ANT message ID 0xE3 extension.
#define MESG_EXT_ID_4 ((uint8_t)0xE4)
ANT message ID 0xE4 extension.
#define MESG_EXT_RESPONSE_ID ((uint16_t)0xE000)
Reserved for future use. ANT response messages using extended message IDs.
#define MESG_EXT_REQUEST_ID ((uint16_t)0xE100)
Reserved for future use. ANT request messages using extended message IDs.
#define MESG_SET_SYNC_SERIAL_BIT_RATE ((uint16_t)0xE300)
ANT application - configure byte synchronous serial interface bit rate.
#define MESG_SET_SYNC_SERIAL_SRDY_SLEEP ((uint16_t)0xE301)
ANT application - configure byte synchronous serial interface SRDY sleep delay.
#define MESG_ANTFS_OTA_FW_UPDATE ((uint16_t)0xE400)
ANT application - run ANTFS over-the-air (OTA) device firmware update.

Debug Message ID's

#define MESG_DEBUG_ID ((uint8_t)0xF0)

Message Sizes

#define MESG_INVALID_SIZE ((uint8_t)0)
#define MESG_VERSION_SIZE ((uint8_t)13)
#define MESG_RESPONSE_EVENT_SIZE ((uint8_t)3)
#define MESG_CHANNEL_STATUS_SIZE ((uint8_t)2)
#define MESG_UNASSIGN_CHANNEL_SIZE ((uint8_t)1)
#define MESG_ASSIGN_CHANNEL_SIZE ((uint8_t)3)
#define MESG_CHANNEL_ID_SIZE ((uint8_t)5)
#define MESG_CHANNEL_MESG_PERIOD_SIZE ((uint8_t)3)
#define MESG_CHANNEL_SEARCH_TIMEOUT_SIZE ((uint8_t)2)
#define MESG_CHANNEL_RADIO_FREQ_SIZE ((uint8_t)2)
#define MESG_CHANNEL_RADIO_TX_POWER_SIZE ((uint8_t)2)
#define MESG_NETWORK_KEY_SIZE ((uint8_t)9)
#define MESG_RADIO_TX_POWER_SIZE ((uint8_t)2)
#define MESG_RADIO_CW_MODE_SIZE ((uint8_t)3)
#define MESG_RADIO_CW_INIT_SIZE ((uint8_t)1)
#define MESG_SEARCH_WAVEFORM_SIZE ((uint8_t)3)
#define MESG_SYSTEM_RESET_SIZE ((uint8_t)1)
#define MESG_OPEN_CHANNEL_SIZE ((uint8_t)1)
#define MESG_CLOSE_CHANNEL_SIZE ((uint8_t)1)
#define MESG_REQUEST_SIZE ((uint8_t)2)
#define MESG_CAPABILITIES_SIZE ((uint8_t)8)
#define MESG_ID_LIST_ADD_SIZE ((uint8_t)6)
#define MESG_ID_LIST_CONFIG_SIZE ((uint8_t)3)
#define MESG_OPEN_RX_SCAN_SIZE ((uint8_t)2)
#define MESG_EXT_CHANNEL_RADIO_FREQ_SIZE ((uint8_t)3)
#define MESG_RADIO_CONFIG_ALWAYS_SIZE ((uint8_t)2)
#define MESG_RX_EXT_MESGS_ENABLE_SIZE ((uint8_t)2)
#define MESG_SET_TX_SEARCH_ON_NEXT_SIZE ((uint8_t)2)
#define MESG_SET_LP_SEARCH_TIMEOUT_SIZE ((uint8_t)2)
#define MESG_GET_SERIAL_NUM_SIZE ((uint8_t)4)
#define MESG_ANTLIB_CONFIG_SIZE ((uint8_t)2)
#define MESG_STARTUP_MESG_SIZE ((uint8_t)1)
#define MESG_AUTO_FREQ_CONFIG_SIZE ((uint8_t)4)
#define MESG_PROX_SEARCH_CONFIG_SIZE ((uint8_t)2)
#define MESG_COEX_PRIORITY_CONFIG_REQ_SIZE ((uint8_t)9)
#define MESG_EVENT_BUFFERING_CONFIG_REQ_SIZE ((uint8_t)6)
#define MESG_CONFIG_ADV_BURST_REQ_CAPABILITIES_SIZE ((uint8_t)4)
#define MESG_CONFIG_ADV_BURST_REQ_CONFIG_SIZE ((uint8_t)10)
#define MESG_CONFIG_ENCRYPT_REQ_CAPABILITIES_SIZE ((uint8_t)2)
#define MESG_CONFIG_ENCRYPT_REQ_CONFIG_ID_SIZE ((uint8_t)5)
#define MESG_CONFIG_ENCRYPT_REQ_CONFIG_USER_DATA_SIZE ((uint8_t)20)
#define MESG_CONFIG_ENCRYPT_REQ_CURRENT_CTR ((uint8_t)17)
#define MESG_EVENT_FILTER_CONFIG_REQ_SIZE ((uint8_t)3)
#define MESG_ACTIVE_SEARCH_SHARING_REQ_SIZE ((uint8_t)2)
#define MESG_COEX_ADV_PRIORITY_CONFIG_REQ_SIZE ((uint8_t)9)
#define MESG_RFACTIVE_NOTIFICATION_SIZE ((uint8_t)4)
#define MESG_FLASH_PROTECTION_CHECK_SIZE ((uint8_t)1)
#define MESG_BIST_SIZE ((uint8_t)6)

ANT serial message structure

Defines for accesssing ANT_MESSAGE members variables

#define ANT_MESSAGE_ulForceAlign ulForceAlign
#define ANT_MESSAGE_aucMessage aucMessage
#define ANT_MESSAGE_ucSize stMessage.ucSize
#define ANT_MESSAGE_aucFramedData stMessage.uFramedData.aucFramedData
#define ANT_MESSAGE_ucMesgID stMessage.uFramedData.stFramedData.ucMesgID
#define ANT_MESSAGE_aucMesgData stMessage.uFramedData.stFramedData.uMesgData.aucMesgData
#define ANT_MESSAGE_ucChannel stMessage.uFramedData.stFramedData.uMesgData.stMesgData.uData0.ucChannel
#define ANT_MESSAGE_ucSubID stMessage.uFramedData.stFramedData.uMesgData.stMesgData.uData0.ucSubID
#define ANT_MESSAGE_aucPayload stMessage.uFramedData.stFramedData.uMesgData.stMesgData.aucPayload
#define ANT_MESSAGE_sExtMesgBF stMessage.uFramedData.stFramedData.uMesgData.stMesgData.sExtMesgBF
#define ANT_MESSAGE_ucExtMesgBF stMessage.uFramedData.stFramedData.uMesgData.stMesgData.sExtMesgBF.ucExtMesgBF
#define ANT_MESSAGE_stExtMesgBF stMessage.uFramedData.stFramedData.uMesgData.stMesgData.sExtMesgBF.stExtMesgBF
#define ANT_MESSAGE_aucExtData stMessage.uFramedData.stFramedData.uMesgData.stMesgData.aucExtData
#define ANT_MESSAGE_ucCheckSum stMessage.ucCheckSum

Detailed Description

Macro Definition Documentation

#define ANT_CLOCK_FREQUENCY   ((uint32_t)32768)

ANT Clock Definition.

ANT system clock frequency.

#define ANT_ENABLE_GET_REQUIRED_SPACE ( ucTotalNumberOfChannels,
ucNumberOfEncryptedChannels,
usTxQueueByteSize
)
Value:
ucTotalNumberOfChannels > 2 ? \
ANT_ENABLE_GET_REQUIRED_SPACE_MORE_THAN_TWO_CH(ucTotalNumberOfChannels, ucNumberOfEncryptedChannels, usTxQueueByteSize) : \
ANT_ENABLE_GET_REQUIRED_SPACE_LESS_THAN_OR_EQ_TWO_CH(ucNumberOfEncryptedChannels, usTxQueueByteSize)
#define ANT_STANDARD_DATA_PAYLOAD_SIZE   ((uint8_t)8)

ANT Message Payload Size.

Standard data payload size


Please send us your feedback about the documentation! For technical questions, visit the Nordic Developer Zone .