nRF5 SDK v13.0.0
Modules | Enumerations | Functions
ANT encryption negotiation

Encryption negotiation for encrypted ANT slave channels. More...

Modules

 Encryption negotiation for encrypted ANT slave channels configuration
 

Enumerations

enum  ant_encrypt_tracking_state_t {
  ANT_ENC_CHANNEL_STAT_NOT_TRACKING,
  ANT_ENC_CHANNEL_STAT_TRACKING_ENCRYPTED,
  ANT_ENC_CHANNEL_STAT_NEGOTIATING,
  ANT_ENC_CHANNEL_STAT_TRACKING_DECRYPTED,
  ANT_ENC_CHANNEL_STAT_TRACKING_UNSUPPORTED
}
 

Functions

void ant_channel_encryp_tracking_state_set (uint8_t channel_number, ant_encrypt_tracking_state_t state)
 Function for setting the encryption negotiation state of a slave ANT channel. More...
 
ant_encrypt_tracking_state_t ant_channel_encryp_tracking_state_get (uint8_t channel_number)
 Function for getting the encryption negotiation state of a slave ANT channel. More...
 
void ant_channel_encryp_negotiation_slave_init (void)
 Function for initializing the module. More...
 
void ant_slave_channel_encrypt_config (uint8_t channel_number, ant_encrypt_channel_settings_t const *const p_crypto_config)
 Function for setting the configuration for the slave channel. More...
 
void ant_slave_encrypt_negotiation (ant_evt_t *p_ant_evt)
 Function for handling ANT encryption negotiation on slave nodes. More...
 

Detailed Description

Encryption negotiation for encrypted ANT slave channels.

After pairing, the slave starts negotiating the encryption with the master. After successful negotiation, the slave can decrypt messages from the master, and all future messages are sent encrypted.

Enumeration Type Documentation

Encryption negotiation states for a slave channel.

Enumerator
ANT_ENC_CHANNEL_STAT_NOT_TRACKING 

Not tracking the master.

ANT_ENC_CHANNEL_STAT_TRACKING_ENCRYPTED 

Tracking the master, but cannot decrypt messages.

ANT_ENC_CHANNEL_STAT_NEGOTIATING 

Encryption has been enabled and negotiation is in progress.

ANT_ENC_CHANNEL_STAT_TRACKING_DECRYPTED 

Tracking the master and can decrypt messages.

ANT_ENC_CHANNEL_STAT_TRACKING_UNSUPPORTED 

Tracking unsupported on this channel.

Function Documentation

void ant_channel_encryp_negotiation_slave_init ( void  )

Function for initializing the module.

This function initializes internal states of the module. It should only be used by the ANT encryption configuration module.

ant_encrypt_tracking_state_t ant_channel_encryp_tracking_state_get ( uint8_t  channel_number)

Function for getting the encryption negotiation state of a slave ANT channel.

Parameters
[in]channel_numberANT channel number.
void ant_channel_encryp_tracking_state_set ( uint8_t  channel_number,
ant_encrypt_tracking_state_t  state 
)

Function for setting the encryption negotiation state of a slave ANT channel.

This function should be used by the ANT encryption configuration module.

Parameters
[in]channel_numberANT channel number.
[in]stateState to set.
void ant_slave_channel_encrypt_config ( uint8_t  channel_number,
ant_encrypt_channel_settings_t const *const  p_crypto_config 
)

Function for setting the configuration for the slave channel.

This function saves the channel's encryption configuration to a lookup table (LUT) for future usage. The configuration can then be used to enable encryption.

This function is intended to be used by the ANT encryption configuration module.

Parameters
[in]channel_numberANT channel number.
[in]p_crypto_configPointer to the encryption configuration.
void ant_slave_encrypt_negotiation ( ant_evt_t p_ant_evt)

Function for handling ANT encryption negotiation on slave nodes.

This function should be used directly in the ANT event dispatching process. It tries to enable slave channel encryption for all slave channels that are declared as encrypted channels (if appropriate master channels are found).

This function should be used by the ANT encryption configuration module.

Parameters
[in]p_ant_evtPointer to the ANT stack event message structure.

Documentation feedback | Developer Zone | Subscribe | Updated