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 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

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
Committer:
Jenkins@KEILDM1.dc.multitech.prv
Date:
Fri Nov 08 09:34:58 2019 -0600
Revision:
71:ae3afc16ec3e
Parent:
63:ed37629c03cd
mdot-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
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