This project proposes an implementation in C of the drivers for LR1121 Modem-E.
It does not involve any state machine or high level API.
This driver is known to be compatible with firmware LR1121 Modem v2.0.2.
The driver is split in several components:
- Transceiver components
- Bootloader
- System configuration
- Register / memory access
- Direct radio access
- LR-FHSS
- Modem components
- Board specific package (BSP)
- LoRaWAN modem
- Relay
The transceiver commands are available only if the modem is set to suspended state (by calling lr1121_modem_set_suspend), except for:
- all register and memory access commands
- the following system commands:
lr1121_modem_system_get_versionlr1121_modem_system_set_reg_modelr1121_modem_system_set_dio_as_rf_switchlr1121_modem_system_set_dio_irq_paramslr1121_modem_system_cfg_lfclklr1121_modem_system_set_tcxo_modelr1121_modem_system_rebootlr1121_modem_system_get_vbatlr1121_modem_system_get_templr1121_modem_system_get_random_numberlr1121_modem_system_read_uidlr1121_modem_system_read_join_euilr1121_modem_system_read_pin
The SPI commands this driver requires are documented in the file lr1121_modem_hal.h and lr1121_hal.h.
All driver commands are using the HAL from lr1121_modem_hal.h except the bootloader ones that are using the ones from lr1121_hal.h.