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:
Sun Nov 26 14:40:23 2017 +0100
Revision:
106:84fff1b57caa
Parent:
47:ec1183094b71
Cleanup of unused files

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 106:84fff1b57caa 21 - SX1276 Heltec (868 MHz version)
Helmut Tschemernjak 106:84fff1b57caa 22 - SX1278 Heltec (433 MHz version)
Helmut Tschemernjak 106:84fff1b57caa 23
Helmut Tschemernjak 46:e78a1d0391ac 24
Helmut Tschemernjak 46:e78a1d0391ac 25 ## Getting Started for Developers
Helmut Tschemernjak 46:e78a1d0391ac 26 Import the mbed sample project:
Helmut Tschemernjak 46:e78a1d0391ac 27 http://developer.mbed.org/users/Helmut64/code/STM32L0_LoRa
Helmut Tschemernjak 46:e78a1d0391ac 28 - It includes a PingPong sample code
Helmut Tschemernjak 46:e78a1d0391ac 29 - It includes a PinMap.h which allows to define the LoRa SPI,
Helmut Tschemernjak 47:ec1183094b71 30 DIO interrupt, reset and antenna pins.
Helmut Tschemernjak 47:ec1183094b71 31 The STM32L0_LoRa is a turnkey sample application for the STM B_L072Z_LRWAN1,
Helmut Tschemernjak 47:ec1183094b71 32 however it will work with all other mbed based boards by adjusting the PinMap.h
Helmut Tschemernjak 46:e78a1d0391ac 33
Helmut Tschemernjak 46:e78a1d0391ac 34 ## Developers help needed
Helmut Tschemernjak 46:e78a1d0391ac 35 A list of tasks is documented in the file: LoRa_TODO.txt
Helmut Tschemernjak 47:ec1183094b71 36 I (Helmut Tschemernjak) spend a very significant time to complete the
Helmut Tschemernjak 47:ec1183094b71 37 initial version of the SX1276Generic packet driver. Enhancements,
Helmut Tschemernjak 47:ec1183094b71 38 further module support and tuning is more than welcome. Please send me
Helmut Tschemernjak 47:ec1183094b71 39 your patches via mbed. Also questions can be submitted in the mbed
Helmut Tschemernjak 47:ec1183094b71 40 “Questions” area or a personal message via mbed.
Helmut Tschemernjak 46:e78a1d0391ac 41
Helmut Tschemernjak 46:e78a1d0391ac 42 ## Future developments
Helmut Tschemernjak 47:ec1183094b71 43 I work in a advanced private protocol using basic LoRa modules to
Helmut Tschemernjak 47:ec1183094b71 44 communicate between simple nodes (battery powered) and stations
Helmut Tschemernjak 47:ec1183094b71 45 (permanent power). The station should support thousands of nodes running
Helmut Tschemernjak 47:ec1183094b71 46 on an Linux based OS using this 1276Generic driver or the LoRa
Helmut Tschemernjak 47:ec1183094b71 47 concentrator module. The station should also work on mbed or Arduino
Helmut Tschemernjak 47:ec1183094b71 48 assuming sufficient memory is provided. I believe there is an
Helmut Tschemernjak 47:ec1183094b71 49 opportunity to do a better protocol compared to the official LoRa
Helmut Tschemernjak 47:ec1183094b71 50 protocol which requires an Concentrator, a LoRa server and an
Helmut Tschemernjak 47:ec1183094b71 51 application server. The idea is to over only efficient, reliable and
Helmut Tschemernjak 47:ec1183094b71 52 secure communication between the nodes and the stations. Further
Helmut Tschemernjak 47:ec1183094b71 53 forwarding to MQTT and other network services can be handled separately
Helmut Tschemernjak 47:ec1183094b71 54 on the station.
Helmut Tschemernjak 46:e78a1d0391ac 55
Helmut Tschemernjak 46:e78a1d0391ac 56