SX1276GenericLib to support sx1276 bassed LoRa modules, including HopeRF RFM95, Murata CMWX1ZZABZ and Semtech SX1276MB1MAS/SX1276MB1LAS modules

Dependents:   DISCO-L072CZ-LRWAN1_LoRa_PingPong DISCO-L072CZ-LRWAN1_LoRa_PingPong DISCO-L072CZ-LRWAN1_LoRa_PingPong DISCO-L072CZ-LRWAN1_LoRa_USB_Rx ... more

Fork of SX1276Lib by Semtech

Committer:
Helmut Tschemernjak
Date:
Sat Aug 12 19:16:08 2017 +0200
Revision:
85:93832cc77534
Parent:
83:019da451b283
Child:
89:b0203b4a36ec
The deepsleep does not need to disable the SysTick, it is off
already in suspend mode. It looks like out D21 MCU does not
need to keep the flash on during sleep, we got a newer chip
revision.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Helmut Tschemernjak 65:b2d98328fcba 1
Helmut Tschemernjak 39:706c32eda7e7 2 Move finished tasks to Done section:
Helmut Tschemernjak 46:e78a1d0391ac 3
Helmut Tschemernjak 65:b2d98328fcba 4 TODOs:
Helmut Tschemernjak 65:b2d98328fcba 5 - add support for Linux - add sx1276-Linux-hal.h/cpp
Helmut Tschemernjak 39:706c32eda7e7 6 - Add support to provide the send/receive packet buffer,
Helmut Tschemernjak 39:706c32eda7e7 7 no need to allocate packet data in the sx1276 driver. Can be provided
Helmut Tschemernjak 46:e78a1d0391ac 8 Rx/Tx parameters, this avoids double memory usage
Helmut Tschemernjak 39:706c32eda7e7 9 - Add support for larger Lora packets (can be up to 2048 bytes)
Helmut Tschemernjak 39:706c32eda7e7 10 this feature is not so important, however the current implementation
Helmut Tschemernjak 42:72deced1a4c4 11 is very basic.
Helmut Tschemernjak 42:72deced1a4c4 12 - It is a little bit strange that RX/TX/Cad Timeout Timer calling the
Helmut Tschemernjak 42:72deced1a4c4 13 some handler OnTimeoutIrq. Maybe we just need a single timer, or
Helmut Tschemernjak 46:e78a1d0391ac 14 it is a good idea to split the OnTimeoutIrq function into separate
Helmut Tschemernjak 65:b2d98328fcba 15 callbacks for RX/TX/Cad timeouts
Helmut Tschemernjak 46:e78a1d0391ac 16 - Test if the SX1276 timeouts. Does rx/tx/sync really uses three different
Helmut Tschemernjak 51:aef3234bcb71 17 timers or just one at a time.
Helmut Tschemernjak 65:b2d98328fcba 18 - Add API to set the LNA gain
Helmut Tschemernjak 65:b2d98328fcba 19
Helmut Tschemernjak 39:706c32eda7e7 20
Helmut Tschemernjak 65:b2d98328fcba 21
Helmut Tschemernjak 65:b2d98328fcba 22 Done:
Helmut Tschemernjak 39:706c32eda7e7 23 - Started a Generic SX1276 driver to support all SX1276 modules (May-2017 Helmut)
Helmut Tschemernjak 65:b2d98328fcba 24 - Migrated typedefs code into sx1276.h (7-May-2017 Helmut)
Helmut Tschemernjak 65:b2d98328fcba 25 - Migrated enum code into sx1276.h/radio.h (7-May-2017 Helmut)
Helmut Tschemernjak 65:b2d98328fcba 26 - Verify the Murata ANT Switch code
Helmut Tschemernjak 65:b2d98328fcba 27 - MURATA PA_BOOST case,is _antSwitchTXBoost right? (Same as STM sample code)
Helmut Tschemernjak 46:e78a1d0391ac 28 - Check of the MURATA TCXO config is correct (implemented, check JP9 on STM L0 board)
Helmut Tschemernjak 65:b2d98328fcba 29 - Make the timers more generic and move the OS code into the HAL layer. (May 2017 Helmut)
Helmut Tschemernjak 50:43f7160e869c 30 - Removed pull down on dio=-dio5 for L151 &LPC11U6X which make no sense to me. May 2017 Helmut
Helmut Tschemernjak 65:b2d98328fcba 31 - Added radio API support to receive the MaxMTUSize (May 2017 Helmut)
Helmut Tschemernjak 50:43f7160e869c 32 - Added Send optional Send() parameter to include a header,
Helmut Tschemernjak 50:43f7160e869c 33 this saves additional buffers. (May 2017 Helmut)
Helmut Tschemernjak 51:aef3234bcb71 34 - Added proper void * type from sending data, uint8_t * is not appropriate (May 2017 Helmut)
Helmut Tschemernjak 51:aef3234bcb71 35 - Use also void pointer for FiFo Write/Read and regular SPI Read/Write
Helmut Tschemernjak 54:0d8ea87fbab9 36 - Added return value to Init, we check for a radio availability (May 2017 Helmut)
Helmut Tschemernjak 54:0d8ea87fbab9 37 - Added a RxSignalPending which verifies if we have a signal pending in receive state. (May 2017 Helmut)
Helmut Tschemernjak 55:00c1f5b83920 38 - Added LoRa bandwidth mapping table, now the SetRx/Tx frequency is in Hz. (May 2017 Helmut)
Helmut Tschemernjak 60:75426c142f6e 39 - Enabled MURATA_SX1276 for the MURATA_SX1276 chip (May 2017 Helmut)
Helmut Tschemernjak 61:08b50780eb91 40 - Made SetRfTxPower public to allow easily power TX changes (May 2017 Helmut)
Helmut Tschemernjak 63:5b9d391244dc 41 - Added userData and userThisPtr into the radio events, this allows to call C++
Helmut Tschemernjak 63:5b9d391244dc 42 functions and in can include a context via the userData
Helmut Tschemernjak 65:b2d98328fcba 43 - Add support for Cad detection before sending a packet, already done in higher
Helmut Tschemernjak 65:b2d98328fcba 44 level protocols
Helmut Tschemernjak 65:b2d98328fcba 45 - Added initial Arduino support, needs more testing/completion.
Helmut Tschemernjak 71:7067e67902a8 46 - Support for Arduino completed, initial version works.
Helmut Tschemernjak 83:019da451b283 47 - Added GetFrequency support
Helmut Tschemernjak 83:019da451b283 48 The Murata’s Frequency shift using an TCXO us about 58 Hz
Helmut Tschemernjak 83:019da451b283 49 The RFM95 against Murata is about 3300 Hz
Helmut Tschemernjak 83:019da451b283 50 RFM95 against RFM95 testing will follow.