Host driver/HAL to build a LoRa Picocell Gateway which communicates through USB with a concentrator board based on Semtech SX1308 multi-channel modem and SX1257/SX1255 RF transceivers.

Committer:
dgabino
Date:
Wed Apr 11 14:38:42 2018 +0000
Revision:
0:102b50f941d0
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dgabino 0:102b50f941d0 1 / _____) _ | |
dgabino 0:102b50f941d0 2 ( (____ _____ ____ _| |_ _____ ____| |__
dgabino 0:102b50f941d0 3 \____ \| ___ | (_ _) ___ |/ ___) _ \
dgabino 0:102b50f941d0 4 _____) ) ____| | | || |_| ____( (___| | | |
dgabino 0:102b50f941d0 5 (______/|_____)_|_|_| \__)_____)\____)_| |_|
dgabino 0:102b50f941d0 6 (C)2013 Semtech-Cycleo
dgabino 0:102b50f941d0 7
dgabino 0:102b50f941d0 8 LoRa Gateway project
dgabino 0:102b50f941d0 9 =====================
dgabino 0:102b50f941d0 10
dgabino 0:102b50f941d0 11 ## 1. Core library: libloragw
dgabino 0:102b50f941d0 12 -----------------------------
dgabino 0:102b50f941d0 13
dgabino 0:102b50f941d0 14 This directory contains the sources of the library to build a LoRa Picocell
dgabino 0:102b50f941d0 15 Gateway based on a Semtech LoRa multi-channel RF receiver (a.k.a. concentrator).
dgabino 0:102b50f941d0 16 Once compiled all the code is contained in the libloragw.a file that will be
dgabino 0:102b50f941d0 17 statically linked (ie. integrated in the final executable).
dgabino 0:102b50f941d0 18 The library implements the communication with the concentrator embedded MCU
dgabino 0:102b50f941d0 19 through a serial port.
dgabino 0:102b50f941d0 20
dgabino 0:102b50f941d0 21 The library also comes with a bunch of basic tests programs that are used to
dgabino 0:102b50f941d0 22 test the different sub-modules of the library.
dgabino 0:102b50f941d0 23
dgabino 0:102b50f941d0 24 ## 2. Helper programs
dgabino 0:102b50f941d0 25 ---------------------
dgabino 0:102b50f941d0 26
dgabino 0:102b50f941d0 27 Those programs are included in the project to provide examples on how to use
dgabino 0:102b50f941d0 28 the HAL library, and to help the system builder test different parts of it.
dgabino 0:102b50f941d0 29
dgabino 0:102b50f941d0 30 ### 2.1. util_pkt_logger ###
dgabino 0:102b50f941d0 31
dgabino 0:102b50f941d0 32 This software is used to set up a LoRa concentrator using a JSON configuration
dgabino 0:102b50f941d0 33 file and then record all the packets received in a log file, indefinitely, until
dgabino 0:102b50f941d0 34 the user stops the application.
dgabino 0:102b50f941d0 35
dgabino 0:102b50f941d0 36 ### 2.2. util_com_stress ###
dgabino 0:102b50f941d0 37
dgabino 0:102b50f941d0 38 This software is used to check the reliability of the link between the host
dgabino 0:102b50f941d0 39 platform (on which the program is run) and the LoRa concentrator register file
dgabino 0:102b50f941d0 40 that is the interface through which all interaction with the LoRa concentrator
dgabino 0:102b50f941d0 41 happens.
dgabino 0:102b50f941d0 42
dgabino 0:102b50f941d0 43 ### 2.3. util_tx_test ###
dgabino 0:102b50f941d0 44
dgabino 0:102b50f941d0 45 This software is used to send test packets with a LoRa concentrator. The packets
dgabino 0:102b50f941d0 46 contain little information, on no protocol (ie. MAC address) information but
dgabino 0:102b50f941d0 47 can be used to assess the functionality of a gateway downlink using other
dgabino 0:102b50f941d0 48 gateways as receivers.
dgabino 0:102b50f941d0 49
dgabino 0:102b50f941d0 50 ### 2.4. util_tx_continuous ###
dgabino 0:102b50f941d0 51
dgabino 0:102b50f941d0 52 This software is used to set LoRa concentrator in Tx continuous mode,
dgabino 0:102b50f941d0 53 for spectral measurement.
dgabino 0:102b50f941d0 54
dgabino 0:102b50f941d0 55 ### 2.5. util_boot ###
dgabino 0:102b50f941d0 56
dgabino 0:102b50f941d0 57 This software is used to jump to the PicoCell Gateway bootloader for programming
dgabino 0:102b50f941d0 58 the MCU with a new firmware.
dgabino 0:102b50f941d0 59 Please refer to the readme of picoGW_mcu repository for more information about
dgabino 0:102b50f941d0 60 MCU flash programming.
dgabino 0:102b50f941d0 61
dgabino 0:102b50f941d0 62 ### 2.6. util_chip_id ###
dgabino 0:102b50f941d0 63
dgabino 0:102b50f941d0 64 This software is used to obtain the unique id of the PicoCell gateway (the
dgabino 0:102b50f941d0 65 64 bits unique id extracted from the STM32 unique id registers).
dgabino 0:102b50f941d0 66
dgabino 0:102b50f941d0 67 ## 4. User Guide
dgabino 0:102b50f941d0 68 ----------------
dgabino 0:102b50f941d0 69
dgabino 0:102b50f941d0 70 [A detailed PicoCell GW user guide is available here](http://www.semtech.com/images/datasheet/picocell_gateway_user_guide.pdf)
dgabino 0:102b50f941d0 71
dgabino 0:102b50f941d0 72 ## 5. Changelog
dgabino 0:102b50f941d0 73 ---------------
dgabino 0:102b50f941d0 74
dgabino 0:102b50f941d0 75 ### v0.2.2 ###
dgabino 0:102b50f941d0 76
dgabino 0:102b50f941d0 77 * HAL: updated MCU firmware version to match with picoGW_mcu V0.2.1 release.
dgabino 0:102b50f941d0 78
dgabino 0:102b50f941d0 79 ### v0.2.1 ###
dgabino 0:102b50f941d0 80
dgabino 0:102b50f941d0 81 * HAL: Fixed bug in lgw_mcu_receive() which was preventing from fetching more
dgabino 0:102b50f941d0 82 than 2 packets simultaneously.
dgabino 0:102b50f941d0 83
dgabino 0:102b50f941d0 84 ### v0.2.0 ###
dgabino 0:102b50f941d0 85
dgabino 0:102b50f941d0 86 * HAL: reverted AGC FW to version 4, as v5 was necessary to fix a HW bug which
dgabino 0:102b50f941d0 87 has been fixed since rev V02A of the picoCell reference design.
dgabino 0:102b50f941d0 88 * HAL: fixed a bug lgw_com_send_command() function to prevent from hanging when
dgabino 0:102b50f941d0 89 writing on the COM link was not possible.
dgabino 0:102b50f941d0 90 * HAL: fixed memory alignment on FSK syncword configuration.
dgabino 0:102b50f941d0 91
dgabino 0:102b50f941d0 92 ### v0.1.2 ###
dgabino 0:102b50f941d0 93
dgabino 0:102b50f941d0 94 * HAL: fixed a wrong copy size and position of MCU unique ID in lgw_mcu_get_unique_id().
dgabino 0:102b50f941d0 95 * HAL: disabled some logs.
dgabino 0:102b50f941d0 96
dgabino 0:102b50f941d0 97 ### v0.1.1 ###
dgabino 0:102b50f941d0 98
dgabino 0:102b50f941d0 99 * HAL: fixed MCU command wrong size in lgw_mcu_commit_radio_calibration().
dgabino 0:102b50f941d0 100 * HAL: fixed MCU reset sequence to wait for MCU to complete reset and reinit
dgabino 0:102b50f941d0 101 the communication bridge before exiting. This is to avoid issues when restarting
dgabino 0:102b50f941d0 102 the concentrator after exit.
dgabino 0:102b50f941d0 103
dgabino 0:102b50f941d0 104 ### v0.1.0 ###
dgabino 0:102b50f941d0 105
dgabino 0:102b50f941d0 106 * HAL: code clean-up/refactoring
dgabino 0:102b50f941d0 107 * HAL: serial port configuration to handle both USB or UART communication with
dgabino 0:102b50f941d0 108 mcu.
dgabino 0:102b50f941d0 109 * util_boot: only used to jump to the MCU bootloader.
dgabino 0:102b50f941d0 110 * util_chip_id: no more command line parameter, just print the PicoCell GW
dgabino 0:102b50f941d0 111 unique ID on the console.
dgabino 0:102b50f941d0 112 * HAL/util_*: added a parameter to lgw_connect() function to specify the COM
dgabino 0:102b50f941d0 113 device path to be used to communicate with the concentrator board (tty...).
dgabino 0:102b50f941d0 114
dgabino 0:102b50f941d0 115 ### v0.0.1 ###
dgabino 0:102b50f941d0 116
dgabino 0:102b50f941d0 117 * Initial release
dgabino 0:102b50f941d0 118
dgabino 0:102b50f941d0 119
dgabino 0:102b50f941d0 120 ## 6. Legal notice
dgabino 0:102b50f941d0 121 ------------------
dgabino 0:102b50f941d0 122
dgabino 0:102b50f941d0 123 The information presented in this project documentation does not form part of
dgabino 0:102b50f941d0 124 any quotation or contract, is believed to be accurate and reliable and may be
dgabino 0:102b50f941d0 125 changed without notice. No liability will be accepted by the publisher for any
dgabino 0:102b50f941d0 126 consequence of its use. Publication thereof does not convey nor imply any
dgabino 0:102b50f941d0 127 license under patent or other industrial or intellectual property rights.
dgabino 0:102b50f941d0 128 Semtech assumes no responsibility or liability whatsoever for any failure or
dgabino 0:102b50f941d0 129 unexpected operation resulting from misuse, neglect improper installation,
dgabino 0:102b50f941d0 130 repair or improper handling or unusual physical or electrical stress
dgabino 0:102b50f941d0 131 including, but not limited to, exposure to parameters beyond the specified
dgabino 0:102b50f941d0 132 maximum ratings or operation outside the specified range.
dgabino 0:102b50f941d0 133
dgabino 0:102b50f941d0 134 SEMTECH PRODUCTS ARE NOT DESIGNED, INTENDED, AUTHORIZED OR WARRANTED TO BE
dgabino 0:102b50f941d0 135 SUITABLE FOR USE IN LIFE-SUPPORT APPLICATIONS, DEVICES OR SYSTEMS OR OTHER
dgabino 0:102b50f941d0 136 CRITICAL APPLICATIONS. INCLUSION OF SEMTECH PRODUCTS IN SUCH APPLICATIONS IS
dgabino 0:102b50f941d0 137 UNDERSTOOD TO BE UNDERTAKEN SOLELY AT THE CUSTOMER'S OWN RISK. Should a
dgabino 0:102b50f941d0 138 customer purchase or use Semtech products for any such unauthorized
dgabino 0:102b50f941d0 139 application, the customer shall indemnify and hold Semtech and its officers,
dgabino 0:102b50f941d0 140 employees, subsidiaries, affiliates, and distributors harmless against all
dgabino 0:102b50f941d0 141 claims, costs damages and attorney fees which could arise.
dgabino 0:102b50f941d0 142
dgabino 0:102b50f941d0 143 *EOF*