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.

Committer:
Wayne Roberts
Date:
Fri Feb 08 11:58:09 2019 -0800
Revision:
0:9eb5b8bf9f7b
first commit

Who changed what in which revision?

UserRevisionLine numberNew 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;