operate LoRa radio over I2C
Dependencies: TimeoutAbs lib_i2c_slave_block sx12xx_hal
radio chip selection
Radio chip driver is not included, allowing choice of radio device.
If you're using SX1272 or SX1276, then import sx127x driver into your program.
if you're using SX1261 or SX1262, then import sx126x driver into your program.
if you're using SX1280, then import sx1280 driver into your program.
If you're using NAmote72 or Murata discovery, then you must import only sx127x driver.
This project is used as slave device with i2c_lora_master on raspberry pi. This i2c_lora_slave offloads the real-time requirements onto microcontroller. Also permits multiple slave radio devices connected to master. Radio MAC layer exists on I2C master, along with application layer.
If beacon operation is enabled, I2C functions which access radio chip are blocked while beacon is loaded and transmitted.
See lib_i2c_slave_block for wiring connections.
radio_device.h@0:9eb5b8bf9f7b, 2019-02-08 (annotated)
- Committer:
- Wayne Roberts
- Date:
- Fri Feb 08 11:58:09 2019 -0800
- Revision:
- 0:9eb5b8bf9f7b
first commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Wayne Roberts |
0:9eb5b8bf9f7b | 1 | #include "radio.h" |
Wayne Roberts |
0:9eb5b8bf9f7b | 2 | #include "smbus.h" |
Wayne Roberts |
0:9eb5b8bf9f7b | 3 | |
Wayne Roberts |
0:9eb5b8bf9f7b | 4 | /* from specific device: */ |
Wayne Roberts |
0:9eb5b8bf9f7b | 5 | void get_opmode(void); |
Wayne Roberts |
0:9eb5b8bf9f7b | 6 | void get_lora_packet(void); |
Wayne Roberts |
0:9eb5b8bf9f7b | 7 | void get_lora_modem(void); |
Wayne Roberts |
0:9eb5b8bf9f7b | 8 | void get_tx_dbm(void); |
Wayne Roberts |
0:9eb5b8bf9f7b | 9 | void get_lora_symb_timeout(void); |
Wayne Roberts |
0:9eb5b8bf9f7b | 10 | void get_fsk_sync(void); |
Wayne Roberts |
0:9eb5b8bf9f7b | 11 | void get_fsk_packet(void); |
Wayne Roberts |
0:9eb5b8bf9f7b | 12 | void get_fsk_modem(void); |
Wayne Roberts |
0:9eb5b8bf9f7b | 13 | void radio_reset(void); |
Wayne Roberts |
0:9eb5b8bf9f7b | 14 | void radio_device_init(void); |
Wayne Roberts |
0:9eb5b8bf9f7b | 15 | |
Wayne Roberts |
0:9eb5b8bf9f7b | 16 | /* from main.cpp: */ |
Wayne Roberts |
0:9eb5b8bf9f7b | 17 | extern DigitalOut irqOutPin; |
Wayne Roberts |
0:9eb5b8bf9f7b | 18 | extern irq_t irq; |