I made a fork of a generic library that was developed with support for RFM95 LoRa module that I found online. I Made a few changes and made it compatible with hardware limitations of the MAX32620FTHR and MAX32630FTHR module.

Dependents:   MAX326xxFTHR_LoRa_RFM95 MAX326xxFTHR_LoRa_PingPong MAX326xxFTHR_RFM95_LoRa_PingPong MAX326xxFTHR_LoRa_RFM95_PingPong_Example ... more

Fork of SX1276GenericLib by Helmut Tschemernjak

Committer:
dev_alexander
Date:
Fri Jun 01 21:37:06 2018 +0000
Revision:
111:ccfb6ca5f5e0
Parent:
106:84fff1b57caa
This revision includes support of the Hope RFM95 LoRa board for the following Microcontrollers:; ; MAX32630FTHR ; MAX32620FTHR ; NUCLEO-F411RE

Who changed what in which revision?

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