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:
HalGpioReadHalGpioWriteHalSpiTransfer- 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.