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.
readme.md@0:102b50f941d0, 2018-04-11 (annotated)
- Committer:
- dgabino
- Date:
- Wed Apr 11 14:38:42 2018 +0000
- Revision:
- 0:102b50f941d0
Initial commit
Who changed what in which revision?
User | Revision | Line number | New 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* |