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:
47:ec1183094b71
Child:
106:84fff1b57caa
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 46:e78a1d0391ac 1 # SX1276Generic Driver
Helmut Tschemernjak 46:e78a1d0391ac 2 /*
Helmut Tschemernjak 47:ec1183094b71 3 * (c) 2017 Helmut Tschemernjak (Helmut64 on mbed).
Helmut Tschemernjak 47:ec1183094b71 4 * 30826 Garbsen (Hannover) Germany
Helmut Tschemernjak 47:ec1183094b71 5 */
Helmut Tschemernjak 46:e78a1d0391ac 6
Helmut Tschemernjak 47:ec1183094b71 7 This library represents a common SX1276 module driver supporting SX1276
Helmut Tschemernjak 47:ec1183094b71 8 based modules. The approach is to support multiple OS versions including
Helmut Tschemernjak 47:ec1183094b71 9 mbed, Arduino and Linux using the same driver code and little
Helmut Tschemernjak 47:ec1183094b71 10 adjustments for the different OS version. The SX1276 driver is based on
Helmut Tschemernjak 47:ec1183094b71 11 the Semtech 1276 code which can be seen in the revisions of this library
Helmut Tschemernjak 47:ec1183094b71 12 repository.
Helmut Tschemernjak 46:e78a1d0391ac 13
Helmut Tschemernjak 46:e78a1d0391ac 14 ## Supported LoRa Modules
Helmut Tschemernjak 46:e78a1d0391ac 15
Helmut Tschemernjak 46:e78a1d0391ac 16 The following Lora modules are supported:
Helmut Tschemernjak 46:e78a1d0391ac 17 - HopeRF RFM95
Helmut Tschemernjak 46:e78a1d0391ac 18 - Murata MURATA_SX1276 (CMWX1ZZABZ-078, used the STM B_L072Z_LRWAN1 board)
Helmut Tschemernjak 46:e78a1d0391ac 19 - SX1276MB1MAS (433, 868 MHz version)
Helmut Tschemernjak 46:e78a1d0391ac 20 - SX1276MB1LAS (433, 915 MHz version)
Helmut Tschemernjak 46:e78a1d0391ac 21
Helmut Tschemernjak 46:e78a1d0391ac 22 ## Getting Started for Developers
Helmut Tschemernjak 46:e78a1d0391ac 23 Import the mbed sample project:
Helmut Tschemernjak 46:e78a1d0391ac 24 http://developer.mbed.org/users/Helmut64/code/STM32L0_LoRa
Helmut Tschemernjak 46:e78a1d0391ac 25 - It includes a PingPong sample code
Helmut Tschemernjak 46:e78a1d0391ac 26 - It includes a PinMap.h which allows to define the LoRa SPI,
Helmut Tschemernjak 47:ec1183094b71 27 DIO interrupt, reset and antenna pins.
Helmut Tschemernjak 47:ec1183094b71 28 The STM32L0_LoRa is a turnkey sample application for the STM B_L072Z_LRWAN1,
Helmut Tschemernjak 47:ec1183094b71 29 however it will work with all other mbed based boards by adjusting the PinMap.h
Helmut Tschemernjak 46:e78a1d0391ac 30
Helmut Tschemernjak 46:e78a1d0391ac 31 ## Developers help needed
Helmut Tschemernjak 46:e78a1d0391ac 32 A list of tasks is documented in the file: LoRa_TODO.txt
Helmut Tschemernjak 47:ec1183094b71 33 I (Helmut Tschemernjak) spend a very significant time to complete the
Helmut Tschemernjak 47:ec1183094b71 34 initial version of the SX1276Generic packet driver. Enhancements,
Helmut Tschemernjak 47:ec1183094b71 35 further module support and tuning is more than welcome. Please send me
Helmut Tschemernjak 47:ec1183094b71 36 your patches via mbed. Also questions can be submitted in the mbed
Helmut Tschemernjak 47:ec1183094b71 37 “Questions” area or a personal message via mbed.
Helmut Tschemernjak 46:e78a1d0391ac 38
Helmut Tschemernjak 46:e78a1d0391ac 39 ## Future developments
Helmut Tschemernjak 47:ec1183094b71 40 I work in a advanced private protocol using basic LoRa modules to
Helmut Tschemernjak 47:ec1183094b71 41 communicate between simple nodes (battery powered) and stations
Helmut Tschemernjak 47:ec1183094b71 42 (permanent power). The station should support thousands of nodes running
Helmut Tschemernjak 47:ec1183094b71 43 on an Linux based OS using this 1276Generic driver or the LoRa
Helmut Tschemernjak 47:ec1183094b71 44 concentrator module. The station should also work on mbed or Arduino
Helmut Tschemernjak 47:ec1183094b71 45 assuming sufficient memory is provided. I believe there is an
Helmut Tschemernjak 47:ec1183094b71 46 opportunity to do a better protocol compared to the official LoRa
Helmut Tschemernjak 47:ec1183094b71 47 protocol which requires an Concentrator, a LoRa server and an
Helmut Tschemernjak 47:ec1183094b71 48 application server. The idea is to over only efficient, reliable and
Helmut Tschemernjak 47:ec1183094b71 49 secure communication between the nodes and the stations. Further
Helmut Tschemernjak 47:ec1183094b71 50 forwarding to MQTT and other network services can be handled separately
Helmut Tschemernjak 47:ec1183094b71 51 on the station.
Helmut Tschemernjak 46:e78a1d0391ac 52
Helmut Tschemernjak 46:e78a1d0391ac 53