esp-idf driver for SX1276
include | ||
main | ||
test | ||
.gitlab-ci.yml | ||
component.mk | ||
Kconfig | ||
Makefile | ||
package.json | ||
README.md |
ESP32 LoRa (SX127*)
Provides SPI driver for SX1276/SX1278 LoRa radio
Install
Designed to be used as esp-idf component
. Suggested using as git submodule
git submodule add https://gitlab.com/morganrallen/esp32-lora.git components/esp32-lora/
git submodule init
git submodule update
Configure
Uses built in KConfig. Run make menuconfig
and find config under Component config
-> LORA32
.
Defaults targeted to TTGO LoRa OLED boards.
Use
This is the most basic usage. Setting up the LoRa instance, setting it's receive handler, running init then sending a message.
lora32_cfg_t lora;
lora = lora32_create();
lora.receive = &handle_lora_receive;
lora32_init(&lora);
lora32_send(&lora, "Hello, LoRa", 11);
API
lora32_cfg_t static lora32_create()
Creates a new LoRa instance
uint8_t lora32_init(lora32_cfg_t *config)
Initialized LoRa instance. This configures GPIOs, SPI, LoRa radio and receive handlers
Returns 1 on success.
uint8_t lora32_data_available(lora32_cfg_t *lora)
Indicates if data is presently available.
void lora32_send(lora32_cfg_t *config, uint8_t *data, uint8_t len)
Transmits data over the LoRa radio.
void lora32_set_spreadfactor(lora32_cfg_t *lora, uint8_t factor)
Sets LoRa Spread Factor.
Accepts 6
-12
.
void lora32_dump_regs(lora32_cfg_t *lora)
Dumps all registers from SX1276