This project proposes an implementation in C of the drivers for LR1110/LR1121 Modem-E v2.1.
It does not involve any state machine or high level API.
This driver is known to be compatible with firmware LR1110 Modem-E v2.1.0 and LR1121 Modem-E v2.1.0.
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 modem_e_set_suspend), except for:
- all register and memory access commands
- the following system commands:
modem_e_system_get_versionmodem_e_system_set_reg_modemodem_e_system_set_dio_as_rf_switchmodem_e_system_set_dio_irq_paramsmodem_e_system_cfg_lfclkmodem_e_system_set_tcxo_modemodem_e_system_rebootmodem_e_system_get_vbatmodem_e_system_get_tempmodem_e_system_get_random_numbermodem_e_system_read_uidmodem_e_system_read_join_euimodem_e_system_read_pin
The SPI commands this driver requires are documented in the file modem_e_hal.h and modem_e_modem_hal.h.
All driver commands are using the HAL from modem_e_modem_hal.h except the bootloader ones that are using the ones from modem_e_hal.h.