Detailed Description

Functions

int at86rf215_configure_FSK (at86rf215_t *dev, uint8_t srate, uint8_t mod_idx, uint8_t mod_order, uint8_t fec)
 Configure the radio to make use of FSK modulation. More...
 
int at86rf215_FSK_set_srate (at86rf215_t *dev, uint8_t srate)
 Configure the symbol rate of the FSK modulation. More...
 
uint8_t at86rf215_FSK_get_srate (at86rf215_t *dev)
 Get the symbol rate of the FSK modulation. More...
 
int at86rf215_FSK_set_mod_idx (at86rf215_t *dev, uint8_t mod_idx)
 Configure the modulation index of the FSK modulation The modulation index is a fractional value, it is represented as fractions of 64. More...
 
uint8_t at86rf215_FSK_get_mod_idx (at86rf215_t *dev)
 Get the current modulation index of the FSK modulation The modulation index is a fractional value, it is represented as fractions of 64. More...
 
int at86rf215_FSK_set_fec (at86rf215_t *dev, uint8_t mode)
 Configure the Forward Error Correction (coding) scheme for FSK modulation. More...
 
uint8_t at86rf215_FSK_get_fec (at86rf215_t *dev)
 Get the Forward Error Correction (coding) scheme for FSK modulation. More...
 
int at86rf215_FSK_set_channel_spacing (at86rf215_t *dev, uint8_t ch_space)
 Configure the channel spacing for the FSK modulation. More...
 
uint16_t at86rf215_get_channel_spacing (at86rf215_t *dev)
 Get the configured channel spacing. More...
 
int at86rf215_FSK_set_mod_order (at86rf215_t *dev, uint8_t mod_order)
 Configure the FSK modulation order. More...
 
uint8_t at86rf215_FSK_get_mod_order (at86rf215_t *dev)
 Get the current FSK modulation order. More...
 
void at86rf215_FSK_prepare_rx (at86rf215_t *dev)
 The FSK premable length needs to be switched between RX and TX This function takes care of putting FSK into RX mode. More...
 
void at86rf215_FSK_prepare_tx (at86rf215_t *dev)
 The FSK premable length needs to be switched between RX and TX This function takes care of putting FSK into TX mode. More...
 

Variables

const uint8_t _at86rf215_fsk_srate_10kHz []
 Symbol Rates for register values, in 10kHz.
 
const uint8_t _at86rf215_fsk_channel_spacing_25kHz []
 Channel Spacing for register values, in 25kHz.
 

Function Documentation

◆ at86rf215_configure_FSK()

int at86rf215_configure_FSK ( at86rf215_t dev,
uint8_t  srate,
uint8_t  mod_idx,
uint8_t  mod_order,
uint8_t  fec 
)

Configure the radio to make use of FSK modulation.

Parameters
[in]devdevice to configure
[in]sratesymbol rate, possible values: FSK_SRATE_50K … FSK_SRATE_400K
[in]mod_idxmodulation index, multiplied by 64 (½ -> 32; 1 -> 64)
[in]mod_ordermodulation order, may be FSK_MORD_2SFK or FSK_MORD_4SFK
[in]fecforward error correction, may be IEEE802154_FEC_NONE, IEEE802154_FEC_NRNSC or IEEE802154_FEC_RSC
Returns
0 on success, error otherwise

◆ at86rf215_FSK_get_fec()

uint8_t at86rf215_FSK_get_fec ( at86rf215_t dev)

Get the Forward Error Correction (coding) scheme for FSK modulation.

Supported values are:

  • no error correction
  • non-recursive and non-systematic code (NRNSC)
  • recursive and systematic code (RSC)
Parameters
[in]devdevice to read from
Returns
current coding scheme, may be IEEE802154_FEC_NONE, IEEE802154_FEC_NRNSC or IEEE802154_FEC_RSC

◆ at86rf215_FSK_get_mod_idx()

uint8_t at86rf215_FSK_get_mod_idx ( at86rf215_t dev)

Get the current modulation index of the FSK modulation The modulation index is a fractional value, it is represented as fractions of 64.

Parameters
[in]devdevice to read from
Returns
the current modulation index, multiplied by 64

◆ at86rf215_FSK_get_mod_order()

uint8_t at86rf215_FSK_get_mod_order ( at86rf215_t dev)

Get the current FSK modulation order.

You can choose between 2-level and 4-level FSK

Parameters
[in]devdevice to read from
Returns
modulation order, may be FSK_MORD_2SFK or FSK_MORD_4SFK

◆ at86rf215_FSK_get_srate()

uint8_t at86rf215_FSK_get_srate ( at86rf215_t dev)

Get the symbol rate of the FSK modulation.

Parameters
[in]devdevice to read from
Returns
symbol rate, possible values: FSK_SRATE_50K … FSK_SRATE_400K

◆ at86rf215_FSK_prepare_rx()

void at86rf215_FSK_prepare_rx ( at86rf215_t dev)

The FSK premable length needs to be switched between RX and TX This function takes care of putting FSK into RX mode.

Parameters
[in]devdevice that is entering RX mode

◆ at86rf215_FSK_prepare_tx()

void at86rf215_FSK_prepare_tx ( at86rf215_t dev)

The FSK premable length needs to be switched between RX and TX This function takes care of putting FSK into TX mode.

Parameters
[in]devdevice that is entering TX mode

◆ at86rf215_FSK_set_channel_spacing()

int at86rf215_FSK_set_channel_spacing ( at86rf215_t dev,
uint8_t  ch_space 
)

Configure the channel spacing for the FSK modulation.

Parameters
[in]devdevice to configure
[in]ch_spacechannel spacing, possible values: FSK_CHANNEL_SPACING_200K … _400K
Returns
0 on success, failure otherwise

◆ at86rf215_FSK_set_fec()

int at86rf215_FSK_set_fec ( at86rf215_t dev,
uint8_t  mode 
)

Configure the Forward Error Correction (coding) scheme for FSK modulation.

Supported values are:

  • no error correction
  • non-recursive and non-systematic code (NRNSC)
  • recursive and systematic code (RSC)
Parameters
[in]devdevice to configure
[in]modeforward error correction, may be IEEE802154_FEC_NONE, IEEE802154_FEC_NRNSC or IEEE802154_FEC_RSC
Returns
0 on success, failure otherwise

◆ at86rf215_FSK_set_mod_idx()

int at86rf215_FSK_set_mod_idx ( at86rf215_t dev,
uint8_t  mod_idx 
)

Configure the modulation index of the FSK modulation The modulation index is a fractional value, it is represented as fractions of 64.

Not all possible fractional values are configurable by the hardware. If the fractional can not be mapped to the hardware, the nearest matching one is chosen.

Parameters
[in]devdevice to configure
[in]mod_idxmodulation index, multiplied by 64 (½ -> 32; 1 -> 64)
Returns
0 on success, failure otherwise

◆ at86rf215_FSK_set_mod_order()

int at86rf215_FSK_set_mod_order ( at86rf215_t dev,
uint8_t  mod_order 
)

Configure the FSK modulation order.

You can choose between 2-level and 4-level FSK

Parameters
[in]devdevice to configure
[in]mod_ordermodulation order, may be FSK_MORD_2SFK or FSK_MORD_4SFK
Returns
0 on success, failure otherwise

◆ at86rf215_FSK_set_srate()

int at86rf215_FSK_set_srate ( at86rf215_t dev,
uint8_t  srate 
)

Configure the symbol rate of the FSK modulation.

Parameters
[in]devdevice to configure
[in]sratesymbol rate, possible values: FSK_SRATE_50K … FSK_SRATE_400K

◆ at86rf215_get_channel_spacing()

uint16_t at86rf215_get_channel_spacing ( at86rf215_t dev)

Get the configured channel spacing.

Parameters
[in]devdevice to read from
Returns
channel spacing in kHz