Portable SX128x driver written in C++.
Supported chips: SX1280
, SX1281
, SX1282
. Only SX1280
is tested.
- C++14
- Easy to use
- Should work on nearly all platforms
- Multiple instances
- No macros, no global scope shit, and thus no collisions with other libs
Write your own hardware abstraction layer (HAL) class and implement the Hal*
functions below:
HalGpioRead
HalGpioWrite
HalSpiTransfer
- This should take care of chip select signal
It's very simple. Right?
And these if you have RF switches / external RF PA (optional):
HalPreTx
- Called before a TX operationHalPreRx
- Called before a RX operationHalPostTx
- Called when (1)TX_DONE
(2)TX_TIMEOUT
(3) before a RX operationHalPostRx
- Called when (1)RX_TIMEOUT
(2) before a TX operation
Enable DIOs & process GPIO interrupts by yourself. When DIO fires, simply call SX1280::ProcessIrqs()
. Everything is thread-safe.
That's all. The code is well documented. Most usages are exactly same as the SX1280 mbed driver.
sx128x_linux_driver is a good demonstration of how to use this driver in Linux.
LGPLv3
This library is based on the SX1280 mbed driver by Semtech S.A. See LICENSE-SEMTECH.txt
for details.