SX1261/2/8 and LLCC68 LoRa radio driver

Driver for the SX1261/2/8 and LLCC68 LoRa radio device. More...

Detailed Description

Driver for the SX1261/2/8 and LLCC68 LoRa radio device.

Files

file  sx126x.h
 
file  sx126x_netdev.h
 Netdev driver definitions for SX1261/2/8 and LLCC68 driver.
 
file  sx126x_params.h
 Default configuration.
 

Data Structures

struct  sx126x_params_t
 Device initialization parameters. More...
 
struct  sx126x_t
 Device descriptor for the driver. More...
 

Functions

void sx126x_setup (sx126x_t *dev, const sx126x_params_t *params, uint8_t index)
 Setup the radio device. More...
 
int sx126x_init (sx126x_t *dev)
 Initialize the given device. More...
 
uint32_t sx126x_get_channel (const sx126x_t *dev)
 Gets the channel RF frequency. More...
 
void sx126x_set_channel (sx126x_t *dev, uint32_t freq)
 Sets the channel RF frequency. More...
 
uint8_t sx126x_get_bandwidth (const sx126x_t *dev)
 Gets the LoRa bandwidth. More...
 
void sx126x_set_bandwidth (sx126x_t *dev, uint8_t bandwidth)
 Sets the LoRa bandwidth. More...
 
uint8_t sx126x_get_spreading_factor (const sx126x_t *dev)
 Gets the LoRa spreading factor. More...
 
void sx126x_set_spreading_factor (sx126x_t *dev, uint8_t sf)
 Sets the LoRa spreading factor. More...
 
uint8_t sx126x_get_coding_rate (const sx126x_t *dev)
 Gets the LoRa coding rate. More...
 
void sx126x_set_coding_rate (sx126x_t *dev, uint8_t cr)
 Sets the LoRa coding rate. More...
 
uint8_t sx126x_get_lora_payload_length (const sx126x_t *dev)
 Gets the payload length. More...
 
void sx126x_set_lora_payload_length (sx126x_t *dev, uint8_t len)
 Sets the payload length. More...
 
bool sx126x_get_lora_crc (const sx126x_t *dev)
 Checks if CRC verification mode is enabled. More...
 
void sx126x_set_lora_crc (sx126x_t *dev, bool crc)
 Enable/Disable CRC verification mode. More...
 
bool sx126x_get_lora_implicit_header (const sx126x_t *dev)
 Gets the LoRa implicit header mode. More...
 
void sx126x_set_lora_implicit_header (sx126x_t *dev, bool mode)
 Sets LoRa implicit header mode. More...
 
uint16_t sx126x_get_lora_preamble_length (const sx126x_t *dev)
 Gets the LoRa preamble length. More...
 
void sx126x_set_lora_preamble_length (sx126x_t *dev, uint16_t preamble)
 Sets the LoRa preamble length. More...
 
bool sx126x_get_lora_iq_invert (const sx126x_t *dev)
 Checks if the LoRa inverted IQ mode is enabled/disabled. More...
 
void sx126x_set_lora_iq_invert (sx126x_t *dev, bool iq_invert)
 Enable/disable the LoRa IQ inverted mode. More...
 

Function Documentation

◆ sx126x_get_bandwidth()

uint8_t sx126x_get_bandwidth ( const sx126x_t dev)

Gets the LoRa bandwidth.

Parameters
[in]devDevice descriptor of the driver
Returns
the bandwidth

◆ sx126x_get_channel()

uint32_t sx126x_get_channel ( const sx126x_t dev)

Gets the channel RF frequency.

Parameters
[in]devDevice descriptor of the driver
Returns
The channel frequency

◆ sx126x_get_coding_rate()

uint8_t sx126x_get_coding_rate ( const sx126x_t dev)

Gets the LoRa coding rate.

Parameters
[in]devDevice descriptor of the driver
Returns
the current LoRa coding rate

◆ sx126x_get_lora_crc()

bool sx126x_get_lora_crc ( const sx126x_t dev)

Checks if CRC verification mode is enabled.

Parameters
[in]devDevice descriptor of the driver
Returns
the LoRa single mode

◆ sx126x_get_lora_implicit_header()

bool sx126x_get_lora_implicit_header ( const sx126x_t dev)

Gets the LoRa implicit header mode.

Parameters
[in]devDevice descriptor of the driver
Returns
the LoRa implicit mode

◆ sx126x_get_lora_iq_invert()

bool sx126x_get_lora_iq_invert ( const sx126x_t dev)

Checks if the LoRa inverted IQ mode is enabled/disabled.

Parameters
[in]devDevice descriptor of the driver
Returns
the LoRa IQ inverted mode

◆ sx126x_get_lora_payload_length()

uint8_t sx126x_get_lora_payload_length ( const sx126x_t dev)

Gets the payload length.

Parameters
[in]devDevice descriptor of the driver
Returns
the payload length

◆ sx126x_get_lora_preamble_length()

uint16_t sx126x_get_lora_preamble_length ( const sx126x_t dev)

Gets the LoRa preamble length.

Parameters
[in]devDevice descriptor of the driver
Returns
the preamble length

◆ sx126x_get_spreading_factor()

uint8_t sx126x_get_spreading_factor ( const sx126x_t dev)

Gets the LoRa spreading factor.

Parameters
[in]devDevice descriptor of the driver
Returns
the spreading factor

◆ sx126x_init()

int sx126x_init ( sx126x_t dev)

Initialize the given device.

Parameters
[in,out]devDevice descriptor of the driver
Returns
0 on success

◆ sx126x_set_bandwidth()

void sx126x_set_bandwidth ( sx126x_t dev,
uint8_t  bandwidth 
)

Sets the LoRa bandwidth.

Parameters
[in]devDevice descriptor of the driver
[in]bandwidthThe new bandwidth

◆ sx126x_set_channel()

void sx126x_set_channel ( sx126x_t dev,
uint32_t  freq 
)

Sets the channel RF frequency.

Parameters
[in]devDevice descriptor of the driver
[in]freqChannel RF frequency

◆ sx126x_set_coding_rate()

void sx126x_set_coding_rate ( sx126x_t dev,
uint8_t  cr 
)

Sets the LoRa coding rate.

Parameters
[in]devDevice descriptor of the driver
[in]crThe LoRa coding rate

◆ sx126x_set_lora_crc()

void sx126x_set_lora_crc ( sx126x_t dev,
bool  crc 
)

Enable/Disable CRC verification mode.

Parameters
[in]devDevice descriptor of the driver
[in]crcThe CRC check mode

◆ sx126x_set_lora_implicit_header()

void sx126x_set_lora_implicit_header ( sx126x_t dev,
bool  mode 
)

Sets LoRa implicit header mode.

Parameters
[in]devDevice descriptor of the driver
[in]modeThe header mode

◆ sx126x_set_lora_iq_invert()

void sx126x_set_lora_iq_invert ( sx126x_t dev,
bool  iq_invert 
)

Enable/disable the LoRa IQ inverted mode.

Parameters
[in]devDevice descriptor of the driver
[in]iq_invertThe LoRa IQ inverted mode

◆ sx126x_set_lora_payload_length()

void sx126x_set_lora_payload_length ( sx126x_t dev,
uint8_t  len 
)

Sets the payload length.

Parameters
[in]devDevice descriptor of the driver
[in]lenThe payload len

◆ sx126x_set_lora_preamble_length()

void sx126x_set_lora_preamble_length ( sx126x_t dev,
uint16_t  preamble 
)

Sets the LoRa preamble length.

Parameters
[in]devDevice descriptor of the driver
[in]preambleThe LoRa preamble length

◆ sx126x_set_spreading_factor()

void sx126x_set_spreading_factor ( sx126x_t dev,
uint8_t  sf 
)

Sets the LoRa spreading factor.

Parameters
[in]devDevice descriptor of the driver
[in]sfThe spreading factor

◆ sx126x_setup()

void sx126x_setup ( sx126x_t dev,
const sx126x_params_t params,
uint8_t  index 
)

Setup the radio device.

Parameters
[in]devDevice descriptor
[in]paramsParameters for device initialization
[in]indexIndex of params in a global parameter struct array. If initialized manually, pass a unique identifier instead.