Stable version of the mDot library for mbed 5. This version of the library is suitable for deployment scenarios. See lastest commit message for version of mbed-os library that has been tested against.
Dependents: mdot_two_way unh-hackathon-example unh-hackathon-example-raw TelitSensorToCloud ... more
Fork of libmDot-dev-mbed5-deprecated by
The Dot library provides a LoRaWan certified stack for LoRa communication using MultiTech mDot and xDot devices. The stack is compatible with mbed 5.
The name of the repository can be used to determine which device the stack was compiled for and if it's a development or production-ready build:
- libmDot-mbed5 -> production-ready build for mDot
- libmDot-dev-mbed5 -> development build for mDot
- libxDot-mbed5 -> production-ready build for xDot
- libxDot-dev-mbed5 -> development build for xDot
A changelog for the Dot library can be found here.
The Dot library version and the version of mbed-os it was compiled against can both be found in the commit message for that revision of the Dot library. Building your application with the same version of mbed-os as what was used to build the Dot library is highly recommended!
The Dot-Examples repository demonstrates how to use the Dot library in a custom application.
The mDot and xDot platform pages have lots of platform specific information and document potential issues, gotchas, etc, and provide instructions for getting started with development. Please take a look at the platform page before starting development as they should answer many questions you will have.
FOTA
Full FOTA support is only available with mDot, xDot does not have the required external flash. xDot can use the FOTA example to dynamically join a multicast session only. After joining the multicast session the received Fragmentation packets could be handed to a host MCU for processing and at completion the firmware can be loaded into the xDot using the bootloader and y-modem. See xDot Developer Guide.
- Add the following code to allow Fota to use the Dot instance
main.cpp
// Initialize FOTA singleton Fota::getInstance(dot);
- Add fragmentation handling the the PacketRx event
RadioEvent.h
virtual void PacketRx(uint8_t port, uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr, lora::DownlinkControl ctrl, uint8_t slot, uint8_t retries, uint32_t address, bool dupRx) { mDotEvent::PacketRx(port, payload, size, rssi, snr, ctrl, slot, retries, address, dupRx); #if ACTIVE_EXAMPLE == FOTA_EXAMPLE if(port == 200 || port == 201 || port == 202) { Fota::getInstance()->processCmd(payload, port, size); } #endif }
A definition is needed to enable Fragmentation support on mDot and save fragments to flash. This should not be defined for xDot and will result in a compiler error.
mbed_app.json
{ "macros": [ "FOTA=1" ] }
The FOTA implementation has a few differences from the LoRaWAN Protocol
- Fragmentation Indexing starts at 0
- McKEKey is 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
- Start Time is a count-down in seconds to start of session
LICENSE.txt@74:8b02b1a9a1b6, 2020-03-25 (annotated)
- Committer:
- jreiss
- Date:
- Wed Mar 25 17:06:41 2020 +0000
- Revision:
- 74:8b02b1a9a1b6
- Parent:
- 63:ed37629c03cd
Remove old ARMCC archive, only ARMC6 is available.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Mike Fiore |
1:9f30fbe9e9c1 | 1 | IMPORTANT – READ BEFORE OPERATING OR INSTALLING THE MULTI-TECH PRODUCT OR SOFTWARE |
Mike Fiore |
1:9f30fbe9e9c1 | 2 | |
Mike Fiore |
1:9f30fbe9e9c1 | 3 | MULTI-TECH SYSTEMS, INC. |
Mike Fiore |
1:9f30fbe9e9c1 | 4 | END USER LICENSE AGREEMENT |
Mike Fiore |
1:9f30fbe9e9c1 | 5 | PLEASE READ THIS END USER LICENSE AGREEMENT (“AGREEMENT”) CAREFULLY BEFORE USING THE MULTI-TECH PRODUCT, INSTALLING OR ACCESSING THE SOFTWARE, OR DOWNLOADING ANY SOFTWARE UPDATES FOR USE WITH THE MULTI-TECH PRODUCT. BY USING THE MULTI-TECH PRODUCT, INSTALLING OR ACCESSING THE SOFTWARE OR DOWNLOADING SOFTWARE UPDATES FOR THE MULTI-TECH PRODUCT, YOU AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, DO NOT USE THE MULTI-TECH PRODUCT, INSTALL OR ACCESS THE SOFTWARE, OR DOWNLOAD THE SOFTWARE UPDATES. INSTEAD, PLEASE CONTACT MULTI-TECH’S CUSTOMER SERVICE DEPARTMENT AT customerservice@multitech.com. |
Mike Fiore |
1:9f30fbe9e9c1 | 6 | |
Leon Lindenfelser |
63:ed37629c03cd | 7 | MULTITECH SOFTWARE LICENSE AGREEMENT |
Leon Lindenfelser |
63:ed37629c03cd | 8 | This Software License Agreement ("Agreement") is entered into by and between Multi-Tech Systems, Inc. ("MultiTech") and the business |
Leon Lindenfelser |
63:ed37629c03cd | 9 | entity identified as the customer below ("Customer"). For purposes of this Agreement, “Software” means the software modules provided |
Leon Lindenfelser |
63:ed37629c03cd | 10 | by MultiTech to Customer as more specifically identified below. Software may be provided in binary, object code, or source code formats, |
Leon Lindenfelser |
63:ed37629c03cd | 11 | and includes any updates or upgrades to or new version of the original software, if and when made available to Customer by MultiTech. |
Mike Fiore |
1:9f30fbe9e9c1 | 12 | |
Leon Lindenfelser |
63:ed37629c03cd | 13 | 1. LICENSE GRANT. Subject to the terms of this Agreement, MultiTech grants to Customer, during the Term, a worldwide, revocable, |
Leon Lindenfelser |
63:ed37629c03cd | 14 | non-exclusive, non-transferable, non-sublicensable, royalty-free limited license to: (a) use and reproduce the Software, and modify the |
Leon Lindenfelser |
63:ed37629c03cd | 15 | Software modules for which source code is provided, solely in conjunction with MultiTech’s products; (b) reproduce, have reproduced, |
Leon Lindenfelser |
63:ed37629c03cd | 16 | display, perform, transmit, license and distribute the Software in binary or executable form, solely as incorporated or embedded into |
Leon Lindenfelser |
63:ed37629c03cd | 17 | MultiTech’s products. |
Leon Lindenfelser |
63:ed37629c03cd | 18 | Use of the Software in conjunction with any product other than MultiTech’s products is strictly prohibited. In no event may Customer (i) |
Leon Lindenfelser |
63:ed37629c03cd | 19 | distribute, license or sell the Software or any modifications thereof as a standalone product; (ii) decrypt, disassemble, reverse assemble |
Leon Lindenfelser |
63:ed37629c03cd | 20 | or reverse compile the Software, except to the extent such restrictions are prohibited by applicable law; and/or (iii) distribute the source |
Leon Lindenfelser |
63:ed37629c03cd | 21 | code of the Software and/or modifications thereof. |
Mike Fiore |
1:9f30fbe9e9c1 | 22 | |
Leon Lindenfelser |
63:ed37629c03cd | 23 | 2. RESTRICTIONS ON USE. Customer acknowledges that the Software and the structure, organization, and source code thereof |
Leon Lindenfelser |
63:ed37629c03cd | 24 | constitute valuable trade secrets of MultiTech. Accordingly, except as expressly permitted in Section 1 or as otherwise authorized by |
Leon Lindenfelser |
63:ed37629c03cd | 25 | MultiTech in writing, Customer will not, directly or indirectly: (a) modify, adapt, alter, translate, or create derivative works from the |
Leon Lindenfelser |
63:ed37629c03cd | 26 | Software; (b) sublicense, lease, rent, loan, sell, distribute, make available or otherwise transfer the Software to any third party; (c) reverse |
Leon Lindenfelser |
63:ed37629c03cd | 27 | engineer, decompile, disassemble, or otherwise attempt to derive the source code for the Software; or (d) otherwise use or copy the |
Leon Lindenfelser |
63:ed37629c03cd | 28 | Software except as expressly allowed under Section 1 above. Customer may not disclose to third parties or through publication the |
Leon Lindenfelser |
63:ed37629c03cd | 29 | results of performance/benchmark tests run on the Software without the prior written consent of MultiTech. |
Mike Fiore |
1:9f30fbe9e9c1 | 30 | |
Leon Lindenfelser |
63:ed37629c03cd | 31 | 3. OWNERSHIP. As between the parties, the Software and all modifications and improvements to the Software, and all worldwide |
Leon Lindenfelser |
63:ed37629c03cd | 32 | intellectual property rights and proprietary rights relating thereto or embodied therein, are the exclusive property of MultiTech and its |
Leon Lindenfelser |
63:ed37629c03cd | 33 | suppliers. MultiTech and its suppliers reserve all rights in and to the Software not expressly granted to Customer in Section 1, and no |
Leon Lindenfelser |
63:ed37629c03cd | 34 | other licenses or rights are granted by implication, estoppel or otherwise. |
Mike Fiore |
1:9f30fbe9e9c1 | 35 | |
Leon Lindenfelser |
63:ed37629c03cd | 36 | 4. TERM AND TERMINATION. This Agreement is effective upon acceptance by Customer and shall continue until terminated by |
Leon Lindenfelser |
63:ed37629c03cd | 37 | MultiTech for any reason whatsoever upon thirty (30) days’ notice. Customer may terminate this Agreement at any time by destroying |
Leon Lindenfelser |
63:ed37629c03cd | 38 | the Software and notifying MultiTech at: sales@multitech.com. If Customer breaches any provision of this Agreement, this Agreement |
Leon Lindenfelser |
63:ed37629c03cd | 39 | will automatically terminate. Upon the termination of this Agreement, the license granted to Customer will terminate. The provisions of |
Leon Lindenfelser |
63:ed37629c03cd | 40 | Sections 2, 3, 4, 5, 6, 7, 8, and 9 shall survive termination or expiration of this Agreement for any reason. |
Mike Fiore |
1:9f30fbe9e9c1 | 41 | |
Leon Lindenfelser |
63:ed37629c03cd | 42 | 5. CONFIDENTIALITY. MultiTech may disclose certain information regarding the business of MultiTech and its suppliers, including the |
Leon Lindenfelser |
63:ed37629c03cd | 43 | Software and technical, marketing, financial, employee, planning, and other confidential or proprietary information of MultiTech or its |
Leon Lindenfelser |
63:ed37629c03cd | 44 | suppliers ("Confidential Information"). Any information that Customer knew or should have known, under the circumstances, was |
Leon Lindenfelser |
63:ed37629c03cd | 45 | considered confidential or proprietary by MultiTech will be considered Confidential Information. Customer agrees (a) not to disclose |
Leon Lindenfelser |
63:ed37629c03cd | 46 | Confidential information to any persons outside its organization, except to its consultants or agents who agree in writing to protect such |
Leon Lindenfelser |
63:ed37629c03cd | 47 | Confidential information as required herein; and (b) to use the Confidential information only for the purpose of evaluating the Software. |
Mike Fiore |
1:9f30fbe9e9c1 | 48 | |
Leon Lindenfelser |
63:ed37629c03cd | 49 | 6. DISCLAIMER. CUSTOMER ACKNOWLEDGES AND AGREES THAT CUSTOMER'S USE OF THE SOFTWARE IS ENTIRELY AT |
Leon Lindenfelser |
63:ed37629c03cd | 50 | ITS OWN RISK AND THE SOFTWARE PROVIDED BY MULTITECH TO CUSTOMER IS PROVIDED "AS IS" WITHOUT ANY |
Leon Lindenfelser |
63:ed37629c03cd | 51 | WARRANTY OF ANY KIND WHATSOEVER. MULTITECH, ON BEHALF OF ITSELF AND ITS SUPPLIERS, HEREBY EXPRESSLY |
Leon Lindenfelser |
63:ed37629c03cd | 52 | DISCLAIMS ALL WARRANTIES WITH REGARD TO THE SOFTWARE, WHETHER EXPRESS, IMPLIED, STATUTORY OR |
Leon Lindenfelser |
63:ed37629c03cd | 53 | OTHERWISE, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A |
Leon Lindenfelser |
63:ed37629c03cd | 54 | PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT AND ANY WARRANTIES ARISING FROM COURSE OF DEALING OR |
Leon Lindenfelser |
63:ed37629c03cd | 55 | COURSE OF PERFORMANCE. TO THE EXTENT THAT, AS A MATTER OF APPLICABLE LAW, ANY IMPLIED OR STATUTORY |
Leon Lindenfelser |
63:ed37629c03cd | 56 | WARRANTY MAY NOT BE DISCLAIMED, THE DURATION AND SCOPE OF SUCH WARRANTY SHALL BE THE MINIMUM |
Leon Lindenfelser |
63:ed37629c03cd | 57 | PERMISSIBLE UNDER SUCH APPLICABLE LAW. |
Mike Fiore |
1:9f30fbe9e9c1 | 58 | |
Leon Lindenfelser |
63:ed37629c03cd | 59 | 7. LIMITATION OF LIABILITY. IN NO EVENT WILL MULTITECH BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY, |
Leon Lindenfelser |
63:ed37629c03cd | 60 | PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES, INCLUDING ANY LOST DATA AND LOST PROFITS, ARISING FROM OR |
Leon Lindenfelser |
63:ed37629c03cd | 61 | RELATING TO THE SOFTWARE OR THIS AGREEMENT, EVEN IF MULTITECH HAS BEEN ADVISED OF THE POSSIBILITY OF |
Leon Lindenfelser |
63:ed37629c03cd | 62 | SUCH DAMAGES. MULTITECH’S TOTAL CUMULATIVE LIABILITY IN CONNECTION WITH THIS AGREEMENT AND THE |
Leon Lindenfelser |
63:ed37629c03cd | 63 | SOFTWARE, WHETHER IN CONTRACT OR TORT OR OTHERWISE, WILL NOT EXCEED $50. CUSTOMER ACKNOWLEDGES |
Leon Lindenfelser |
63:ed37629c03cd | 64 | THAT THIS PROVISION REFLECTS THE AGREED UPON ALLOCATION OF RISK FOR THIS AGREEMENT AND THAT MULTITECH |
Leon Lindenfelser |
63:ed37629c03cd | 65 | WOULD NOT ENTER INTO THIS AGREEMENT WITHOUT THESE LIMITATIONS ON ITS LIABILITY. |
Leon Lindenfelser |
63:ed37629c03cd | 66 | |
Leon Lindenfelser |
63:ed37629c03cd | 67 | 8. COMPLIANCE WITH LAWS. Customer shall comply with all laws, regulations, rules, ordinances and orders applicable to its use of |
Leon Lindenfelser |
63:ed37629c03cd | 68 | the Software. Without limiting the foregoing, Customer shall comply with the relevant export administration and control laws and |
Leon Lindenfelser |
63:ed37629c03cd | 69 | regulations, as may be amended from time to time, including, without limitation, the United States Export Administration Act, to ensure |
Leon Lindenfelser |
63:ed37629c03cd | 70 | that the Software is not shipped, transferred or exported (directly or indirectly) in violation of U.S. law. |
Mike Fiore |
1:9f30fbe9e9c1 | 71 | |
Leon Lindenfelser |
63:ed37629c03cd | 72 | 9. MISCELLANEOUS. Customer may not assign or delegate, directly or indirectly, by operation of law or otherwise, this Agreement or |
Leon Lindenfelser |
63:ed37629c03cd | 73 | any of its rights or obligations under this Agreement (including the license rights granted to Customer to the Software) to any third party. |
Leon Lindenfelser |
63:ed37629c03cd | 74 | Any attempted assignment or transfer in violation of the foregoing will be null and void and of no effect. This Agreement will be subject |
Leon Lindenfelser |
63:ed37629c03cd | 75 | to and governed by the laws of the State of Minnesota and the United States of America without regard for its conflicts of law principles |
Leon Lindenfelser |
63:ed37629c03cd | 76 | that would require application of the laws of a different state or country. The federal and state courts for Minneapolis, MN shall have |
Leon Lindenfelser |
63:ed37629c03cd | 77 | jurisdiction over any disputes, claims or controversies arising out of or relating to this Agreement, and Customer hereby consents the |
Leon Lindenfelser |
63:ed37629c03cd | 78 | jurisdiction of such courts over any such dispute, claim or controversy. All modifications, waivers and amendments must be in writing |
Leon Lindenfelser |
63:ed37629c03cd | 79 | and signed by both parties. Any waiver or failure to enforce any provision of this Agreement on one occasion will not be deemed a waiver |
Leon Lindenfelser |
63:ed37629c03cd | 80 | of any other provision or of such provision on any other occasion. If any provision of this Agreement is held by a court of competent |
Leon Lindenfelser |
63:ed37629c03cd | 81 | jurisdiction to be unenforceable for any reason, the remaining provisions hereof shall be unaffected and continue in full force and effect. |
Leon Lindenfelser |
63:ed37629c03cd | 82 | This Agreement constitutes the entire agreement between the parties regarding the subject hereof and supersedes all prior or |
Leon Lindenfelser |
63:ed37629c03cd | 83 | contemporaneous agreements, understandings and communications, whether written or oral. |
Mike Fiore |
1:9f30fbe9e9c1 | 84 | |
Mike Fiore |
1:9f30fbe9e9c1 | 85 | Multi-Tech Systems, Inc. |
Mike Fiore |
1:9f30fbe9e9c1 | 86 | 2205 Woodale Drive |
Mike Fiore |
1:9f30fbe9e9c1 | 87 | Mounds View, Minnesota 55112 |
Mike Fiore |
1:9f30fbe9e9c1 | 88 | customerservice@multitech.com |
Mike Fiore |
1:9f30fbe9e9c1 | 89 | 20130910 |