Driver for the sx1280 LoRa radio device. More...
Driver for the sx1280 LoRa radio device.
Files | |
file | sx1280.h |
file | sx1280_constants.h |
Internal addresses, registers and constants. | |
file | sx1280_netdev.h |
Netdev driver definitions for LoRa SX1280 Driver driver. | |
file | sx1280_params.h |
Default configuration. | |
Data Structures | |
struct | sx1280_params_t |
Device initialization parameters. More... | |
struct | sx1280 |
Device descriptor for the driver. More... | |
Typedefs | |
typedef struct sx1280 | sx1280_t |
Functions | |
void | sx1280_setup (sx1280_t *dev, const sx1280_params_t *params, uint8_t index) |
Setup the radio device. | |
int | sx1280_init (sx1280_t *dev) |
Initialize the given device. | |
uint32_t | sx1280_get_channel (const sx1280_t *dev) |
Gets the channel RF frequency. | |
uint32_t | sx1280_random (const sx1280_t *dev) |
Gets a random number. | |
void | sx1280_set_channel (sx1280_t *dev, uint32_t freq) |
Sets the channel RF frequency. | |
uint32_t | sx1280_get_bandwidth (const sx1280_t *dev) |
Gets the LoRa bandwidth. | |
void | sx1280_set_bandwidth (sx1280_t *dev, uint16_t bandwidth) |
Sets the LoRa bandwidth. | |
uint8_t | sx1280_get_spreading_factor (const sx1280_t *dev) |
Gets the LoRa spreading factor. | |
void | sx1280_set_spreading_factor (sx1280_t *dev, uint8_t sf) |
Sets the LoRa spreading factor. | |
uint8_t | sx1280_get_coding_rate (const sx1280_t *dev) |
Gets the LoRa coding rate. | |
void | sx1280_set_coding_rate (sx1280_t *dev, uint8_t cr) |
Sets the LoRa coding rate. | |
uint8_t | sx1280_get_lora_payload_length (const sx1280_t *dev) |
Gets the payload length. | |
void | sx1280_set_lora_payload_length (sx1280_t *dev, uint8_t len) |
Sets the payload length. | |
bool | sx1280_get_lora_crc (const sx1280_t *dev) |
Checks if CRC verification mode is enabled. | |
void | sx1280_set_lora_crc (sx1280_t *dev, bool crc) |
Enable/Disable CRC verification mode. | |
bool | sx1280_get_lora_implicit_header (const sx1280_t *dev) |
Gets the LoRa implicit header mode. | |
void | sx1280_set_lora_implicit_header (sx1280_t *dev, bool mode) |
Sets LoRa implicit header mode. | |
uint16_t | sx1280_get_lora_preamble_length (const sx1280_t *dev) |
Gets the LoRa preamble length. | |
void | sx1280_set_lora_preamble_length (sx1280_t *dev, uint16_t preamble) |
Sets the LoRa preamble length. | |
bool | sx1280_get_lora_iq_invert (const sx1280_t *dev) |
Checks if the LoRa inverted IQ mode is enabled/disabled. | |
void | sx1280_set_lora_iq_invert (sx1280_t *dev, bool iq_invert) |
Enable/disable the LoRa IQ inverted mode. | |
SX1280 device default configuration | |
#define | SX1280_CHANNEL_DEFAULT (2403000000UL) |
Default channel frequency, 2403MHz. | |
#define | SX1280_RADIO_TX_POWER (SX1280_PWR_MAX) |
Radio power in dBm. | |
#define SX1280_CHANNEL_DEFAULT (2403000000UL) |
#define SX1280_RADIO_TX_POWER (SX1280_PWR_MAX) |
uint32_t sx1280_get_bandwidth | ( | const sx1280_t * | dev | ) |
Gets the LoRa bandwidth.
[in] | dev | Device descriptor of the driver |
uint32_t sx1280_get_channel | ( | const sx1280_t * | dev | ) |
Gets the channel RF frequency.
[in] | dev | Device descriptor of the driver |
uint8_t sx1280_get_coding_rate | ( | const sx1280_t * | dev | ) |
Gets the LoRa coding rate.
[in] | dev | Device descriptor of the driver |
bool sx1280_get_lora_crc | ( | const sx1280_t * | dev | ) |
Checks if CRC verification mode is enabled.
[in] | dev | Device descriptor of the driver |
bool sx1280_get_lora_implicit_header | ( | const sx1280_t * | dev | ) |
Gets the LoRa implicit header mode.
[in] | dev | Device descriptor of the driver |
bool sx1280_get_lora_iq_invert | ( | const sx1280_t * | dev | ) |
Checks if the LoRa inverted IQ mode is enabled/disabled.
[in] | dev | Device descriptor of the driver |
uint8_t sx1280_get_lora_payload_length | ( | const sx1280_t * | dev | ) |
Gets the payload length.
[in] | dev | Device descriptor of the driver |
uint16_t sx1280_get_lora_preamble_length | ( | const sx1280_t * | dev | ) |
Gets the LoRa preamble length.
[in] | dev | Device descriptor of the driver |
uint8_t sx1280_get_spreading_factor | ( | const sx1280_t * | dev | ) |
Gets the LoRa spreading factor.
[in] | dev | Device descriptor of the driver |
int sx1280_init | ( | sx1280_t * | dev | ) |
Initialize the given device.
[in,out] | dev | Device descriptor of the driver |
uint32_t sx1280_random | ( | const sx1280_t * | dev | ) |
Gets a random number.
[in] | dev | Device descriptor of the driver |
void sx1280_set_bandwidth | ( | sx1280_t * | dev, |
uint16_t | bandwidth | ||
) |
Sets the LoRa bandwidth.
[in] | dev | Device descriptor of the driver |
[in] | bandwidth | The new bandwidth |
void sx1280_set_channel | ( | sx1280_t * | dev, |
uint32_t | freq | ||
) |
Sets the channel RF frequency.
[in] | dev | Device descriptor of the driver |
[in] | freq | Channel RF frequency |
void sx1280_set_coding_rate | ( | sx1280_t * | dev, |
uint8_t | cr | ||
) |
Sets the LoRa coding rate.
[in] | dev | Device descriptor of the driver |
[in] | cr | The LoRa coding rate |
void sx1280_set_lora_crc | ( | sx1280_t * | dev, |
bool | crc | ||
) |
Enable/Disable CRC verification mode.
[in] | dev | Device descriptor of the driver |
[in] | crc | The CRC check mode |
void sx1280_set_lora_implicit_header | ( | sx1280_t * | dev, |
bool | mode | ||
) |
Sets LoRa implicit header mode.
[in] | dev | Device descriptor of the driver |
[in] | mode | The header mode |
void sx1280_set_lora_iq_invert | ( | sx1280_t * | dev, |
bool | iq_invert | ||
) |
Enable/disable the LoRa IQ inverted mode.
[in] | dev | Device descriptor of the driver |
[in] | iq_invert | The LoRa IQ inverted mode |
void sx1280_set_lora_payload_length | ( | sx1280_t * | dev, |
uint8_t | len | ||
) |
Sets the payload length.
[in] | dev | Device descriptor of the driver |
[in] | len | The payload len |
void sx1280_set_lora_preamble_length | ( | sx1280_t * | dev, |
uint16_t | preamble | ||
) |
Sets the LoRa preamble length.
[in] | dev | Device descriptor of the driver |
[in] | preamble | The LoRa preamble length |
void sx1280_set_spreading_factor | ( | sx1280_t * | dev, |
uint8_t | sf | ||
) |
Sets the LoRa spreading factor.
[in] | dev | Device descriptor of the driver |
[in] | sf | The spreading factor |
void sx1280_setup | ( | sx1280_t * | dev, |
const sx1280_params_t * | params, | ||
uint8_t | index | ||
) |
Setup the radio device.
[in] | dev | Device descriptor |
[in] | params | Parameters for device initialization |
[in] | index | Index of params in a global parameter struct array. If initialized manually, pass a unique identifier instead. |