Stable version of the xDot library for mbed 5. This version of the library is suitable for deployment scenarios.

Dependents:   Dot-Examples XDOT-Devicewise Dot-Examples-delujoc Dot-Examples_receive ... more

Fork of libxDot-dev-mbed5-deprecated by MultiTech

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:

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

examples/src/fota_example.cpp

    // Initialize FOTA singleton
    Fota::getInstance(dot);
  • Add fragmentation handling the the PacketRx event

examples/inc/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
    }

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
Committer:
Jenkins@KEILDM1.dc.multitech.prv
Date:
Tue Dec 17 06:57:48 2019 -0600
Revision:
24:f0c33ca35c77
Parent:
14:f0c24ce93427
xdot-library revision 3.2.5 and mbed-os revision mbed-os-5.13.4

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 1 IMPORTANT – READ BEFORE OPERATING OR INSTALLING THE MULTI-TECH PRODUCT OR SOFTWARE
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 2
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 3 MULTI-TECH SYSTEMS, INC.
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 4 END USER LICENSE AGREEMENT
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 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.
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 6
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 7 MULTITECH SOFTWARE LICENSE AGREEMENT
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 8 This Software License Agreement ("Agreement") is entered into by and between Multi-Tech Systems, Inc. ("MultiTech") and the business
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 9 entity identified as the customer below ("Customer"). For purposes of this Agreement, “Software” means the software modules provided
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 10 by MultiTech to Customer as more specifically identified below. Software may be provided in binary, object code, or source code formats,
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 11 and includes any updates or upgrades to or new version of the original software, if and when made available to Customer by MultiTech.
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 12
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 13 1. LICENSE GRANT. Subject to the terms of this Agreement, MultiTech grants to Customer, during the Term, a worldwide, revocable,
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 14 non-exclusive, non-transferable, non-sublicensable, royalty-free limited license to: (a) use and reproduce the Software, and modify the
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 15 Software modules for which source code is provided, solely in conjunction with MultiTech’s products; (b) reproduce, have reproduced,
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 16 display, perform, transmit, license and distribute the Software in binary or executable form, solely as incorporated or embedded into
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 17 MultiTech’s products.
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 18 Use of the Software in conjunction with any product other than MultiTech’s products is strictly prohibited. In no event may Customer (i)
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 19 distribute, license or sell the Software or any modifications thereof as a standalone product; (ii) decrypt, disassemble, reverse assemble
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 20 or reverse compile the Software, except to the extent such restrictions are prohibited by applicable law; and/or (iii) distribute the source
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 21 code of the Software and/or modifications thereof.
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 22
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 23 2. RESTRICTIONS ON USE. Customer acknowledges that the Software and the structure, organization, and source code thereof
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 24 constitute valuable trade secrets of MultiTech. Accordingly, except as expressly permitted in Section 1 or as otherwise authorized by
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 25 MultiTech in writing, Customer will not, directly or indirectly: (a) modify, adapt, alter, translate, or create derivative works from the
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 26 Software; (b) sublicense, lease, rent, loan, sell, distribute, make available or otherwise transfer the Software to any third party; (c) reverse
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 27 engineer, decompile, disassemble, or otherwise attempt to derive the source code for the Software; or (d) otherwise use or copy the
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 28 Software except as expressly allowed under Section 1 above. Customer may not disclose to third parties or through publication the
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 29 results of performance/benchmark tests run on the Software without the prior written consent of MultiTech.
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 30
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 31 3. OWNERSHIP. As between the parties, the Software and all modifications and improvements to the Software, and all worldwide
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 32 intellectual property rights and proprietary rights relating thereto or embodied therein, are the exclusive property of MultiTech and its
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 33 suppliers. MultiTech and its suppliers reserve all rights in and to the Software not expressly granted to Customer in Section 1, and no
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 34 other licenses or rights are granted by implication, estoppel or otherwise.
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 35
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 36 4. TERM AND TERMINATION. This Agreement is effective upon acceptance by Customer and shall continue until terminated by
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 37 MultiTech for any reason whatsoever upon thirty (30) days’ notice. Customer may terminate this Agreement at any time by destroying
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 38 the Software and notifying MultiTech at: sales@multitech.com. If Customer breaches any provision of this Agreement, this Agreement
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 39 will automatically terminate. Upon the termination of this Agreement, the license granted to Customer will terminate. The provisions of
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 40 Sections 2, 3, 4, 5, 6, 7, 8, and 9 shall survive termination or expiration of this Agreement for any reason.
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 41
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 42 5. CONFIDENTIALITY. MultiTech may disclose certain information regarding the business of MultiTech and its suppliers, including the
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 43 Software and technical, marketing, financial, employee, planning, and other confidential or proprietary information of MultiTech or its
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 44 suppliers ("Confidential Information"). Any information that Customer knew or should have known, under the circumstances, was
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 45 considered confidential or proprietary by MultiTech will be considered Confidential Information. Customer agrees (a) not to disclose
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 46 Confidential information to any persons outside its organization, except to its consultants or agents who agree in writing to protect such
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 47 Confidential information as required herein; and (b) to use the Confidential information only for the purpose of evaluating the Software.
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 48
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 49 6. DISCLAIMER. CUSTOMER ACKNOWLEDGES AND AGREES THAT CUSTOMER'S USE OF THE SOFTWARE IS ENTIRELY AT
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 50 ITS OWN RISK AND THE SOFTWARE PROVIDED BY MULTITECH TO CUSTOMER IS PROVIDED "AS IS" WITHOUT ANY
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 51 WARRANTY OF ANY KIND WHATSOEVER. MULTITECH, ON BEHALF OF ITSELF AND ITS SUPPLIERS, HEREBY EXPRESSLY
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 52 DISCLAIMS ALL WARRANTIES WITH REGARD TO THE SOFTWARE, WHETHER EXPRESS, IMPLIED, STATUTORY OR
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 53 OTHERWISE, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 54 PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT AND ANY WARRANTIES ARISING FROM COURSE OF DEALING OR
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 55 COURSE OF PERFORMANCE. TO THE EXTENT THAT, AS A MATTER OF APPLICABLE LAW, ANY IMPLIED OR STATUTORY
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 56 WARRANTY MAY NOT BE DISCLAIMED, THE DURATION AND SCOPE OF SUCH WARRANTY SHALL BE THE MINIMUM
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 57 PERMISSIBLE UNDER SUCH APPLICABLE LAW.
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 58
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 59 7. LIMITATION OF LIABILITY. IN NO EVENT WILL MULTITECH BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, EXEMPLARY,
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 60 PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES, INCLUDING ANY LOST DATA AND LOST PROFITS, ARISING FROM OR
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 61 RELATING TO THE SOFTWARE OR THIS AGREEMENT, EVEN IF MULTITECH HAS BEEN ADVISED OF THE POSSIBILITY OF
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 62 SUCH DAMAGES. MULTITECH’S TOTAL CUMULATIVE LIABILITY IN CONNECTION WITH THIS AGREEMENT AND THE
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 63 SOFTWARE, WHETHER IN CONTRACT OR TORT OR OTHERWISE, WILL NOT EXCEED $50. CUSTOMER ACKNOWLEDGES
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 64 THAT THIS PROVISION REFLECTS THE AGREED UPON ALLOCATION OF RISK FOR THIS AGREEMENT AND THAT MULTITECH
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 65 WOULD NOT ENTER INTO THIS AGREEMENT WITHOUT THESE LIMITATIONS ON ITS LIABILITY.
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 66
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 67 8. COMPLIANCE WITH LAWS. Customer shall comply with all laws, regulations, rules, ordinances and orders applicable to its use of
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 68 the Software. Without limiting the foregoing, Customer shall comply with the relevant export administration and control laws and
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 69 regulations, as may be amended from time to time, including, without limitation, the United States Export Administration Act, to ensure
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 70 that the Software is not shipped, transferred or exported (directly or indirectly) in violation of U.S. law.
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 71
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 72 9. MISCELLANEOUS. Customer may not assign or delegate, directly or indirectly, by operation of law or otherwise, this Agreement or
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 73 any of its rights or obligations under this Agreement (including the license rights granted to Customer to the Software) to any third party.
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 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
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 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
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 76 that would require application of the laws of a different state or country. The federal and state courts for Minneapolis, MN shall have
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 77 jurisdiction over any disputes, claims or controversies arising out of or relating to this Agreement, and Customer hereby consents the
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 78 jurisdiction of such courts over any such dispute, claim or controversy. All modifications, waivers and amendments must be in writing
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 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
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 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
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 81 jurisdiction to be unenforceable for any reason, the remaining provisions hereof shall be unaffected and continue in full force and effect.
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 82 This Agreement constitutes the entire agreement between the parties regarding the subject hereof and supersedes all prior or
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 83 contemporaneous agreements, understandings and communications, whether written or oral.
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 84
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 85 Multi-Tech Systems, Inc.
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 86 2205 Woodale Drive
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 87 Mounds View, Minnesota 55112
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 88 customerservice@multitech.com
Jenkins@KEILDM1.dc.multitech.prv 14:f0c24ce93427 89 20130910