AT command firmware for MultiTech Dot devices.

Fork of mDot_AT_firmware by MultiTech

Dot Library Not Included!

Because these example programs can be used for both mDot and xDot devices, the LoRa stack is not included. The libmDot library should be imported if building for mDot devices. The libxDot library should be imported if building for xDot devices. The AT firmware was last tested with mbed-os-5.4.7. Using a version past mbed-os-5.4.7 will cause the build to fail. The library used with the AT firmware has to match the mbed-os version.

Dot Library Version 3 Updates

Dot Library versions 3.x.x require a channel plan to be injected into the stack. The Dot-Examples and Dot-AT-Firmware do this by defining a macro called "CHANNEL_PLAN" that controls the channel plan that will be used in the examples. Available channel plans will be in the Dot Library repository in the plans folder.

Revision 20 and earlier of Dot-Examples and revision 15 and earlier of Dot-AT-Firmware should be used with Dot Library versions prior to 3.0.0.

Fota Library

Th Fota Library must be added to compile for mDot 3.1.0 with Fota support. Latest dev libraries and 3.2.0 release will include Fota with libmDot/libxDot.

AT Firmware Description

This AT Firmware is what ships on mDot and xDot devices. It provides an AT command interface for using the mDot or xDot for LoRa communication.

AT command documentation can be found on Multitech.com.

The firmware changelog can be found here. The library changelog can be found here.

Dot Libraries

Dot Library Limitations

The commit messages in libmDot-mbed5 and libmDot-dev-mbed5 specify the version of the Dot library the commit contains and the version of mbed-os it was compiled against. We recommend building your application with the version of mbed-os specified in the commit message of the version of the Dot library you're using. This will ensure that you don't run into any runtime issues caused by differences in the mbed-os versions.

Stable and development libraries are available for both mDot and xDot platforms. The library chosen must match the target platform. Compiling for the mDot platform with the xDot library or vice versa will not succeed.

mDot Library

Development library for mDot.

libmDot-dev

Stable library for mDot.

libmDot

xDot Library

Development library for xDot.

libxDot-dev

Stable library for xDot.

libxDot

Committer:
jreiss
Date:
Fri May 03 18:49:18 2019 +0000
Revision:
26:35c201bc5205
Parent:
23:4f0a981c0349
Update to Dot 3.2.1 release; Remove AutoSleep command; Update mbed-os to 5.11.1;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jenkins@jenkinsdm1 18:63f098f042b2 1 #ifndef __CMDFACTORY_H__
jenkins@jenkinsdm1 18:63f098f042b2 2 #define __CMDFACTORY_H__
jenkins@jenkinsdm1 18:63f098f042b2 3
jenkins@jenkinsdm1 18:63f098f042b2 4 #include "Commands.h"
jenkins@jenkinsdm1 18:63f098f042b2 5
jenkins@jenkinsdm1 18:63f098f042b2 6 #include <string>
jenkins@jenkinsdm1 18:63f098f042b2 7
jenkins@jenkinsdm1 18:63f098f042b2 8 class CmdFactory
jenkins@jenkinsdm1 18:63f098f042b2 9 {
jenkins@jenkinsdm1 18:63f098f042b2 10 public:
jenkins@jenkinsdm1 18:63f098f042b2 11 CmdFactory() { };
jenkins@jenkinsdm1 18:63f098f042b2 12 ~CmdFactory() { };
jenkins@jenkinsdm1 18:63f098f042b2 13
jenkins@jenkinsdm1 18:63f098f042b2 14 typedef enum {
jenkins@jenkinsdm1 18:63f098f042b2 15 eAT,
jenkins@jenkinsdm1 18:63f098f042b2 16 eATI,
jenkins@jenkinsdm1 18:63f098f042b2 17 eATZ,
jenkins@jenkinsdm1 18:63f098f042b2 18 eATE,
jenkins@jenkinsdm1 18:63f098f042b2 19 eATVERBOSE,
jenkins@jenkinsdm1 18:63f098f042b2 20 eATK,
jenkins@jenkinsdm1 18:63f098f042b2 21 eATF,
jenkins@jenkinsdm1 18:63f098f042b2 22 eATW,
jenkins@jenkinsdm1 18:63f098f042b2 23 eATV,
jenkins@jenkinsdm1 18:63f098f042b2 24 eATS,
jenkins@jenkinsdm1 18:63f098f042b2 25 eATR,
jenkins@jenkinsdm1 18:63f098f042b2 26 eIPR,
jenkins@jenkinsdm1 18:63f098f042b2 27 eDIPR,
jenkins@jenkinsdm1 18:63f098f042b2 28 eSMODE,
jenkins@jenkinsdm1 18:63f098f042b2 29 eDFREQ,
jenkins@jenkinsdm1 18:63f098f042b2 30 eFREQ,
jenkins@jenkinsdm1 18:63f098f042b2 31 eFSB,
jenkins@jenkinsdm1 18:63f098f042b2 32 ePN,
jenkins@jenkinsdm1 18:63f098f042b2 33 eDI,
jenkins@jenkinsdm1 18:63f098f042b2 34 eDC,
jenkins@jenkinsdm1 18:63f098f042b2 35 eLBT,
jenkins@jenkinsdm1 18:63f098f042b2 36 eAP,
jenkins@jenkinsdm1 18:63f098f042b2 37 eNA,
jenkins@jenkinsdm1 18:63f098f042b2 38 eNSK,
jenkins@jenkinsdm1 18:63f098f042b2 39 eDSK,
jenkins@jenkinsdm1 18:63f098f042b2 40 eULC,
jenkins@jenkinsdm1 18:63f098f042b2 41 eDLC,
jenkins@jenkinsdm1 18:63f098f042b2 42 eSS,
jenkins@jenkinsdm1 18:63f098f042b2 43 eRS,
jenkins@jenkinsdm1 18:63f098f042b2 44 eNK,
jenkins@jenkinsdm1 18:63f098f042b2 45 eNI,
jenkins@jenkinsdm1 18:63f098f042b2 46 eJD,
jenkins@jenkinsdm1 18:63f098f042b2 47 eJOIN,
jenkins@jenkinsdm1 18:63f098f042b2 48 eJR,
jenkins@jenkinsdm1 18:63f098f042b2 49 eNJM,
jenkins@jenkinsdm1 18:63f098f042b2 50 ePS,
jenkins@jenkinsdm1 18:63f098f042b2 51 eNJS,
jenkins@jenkinsdm1 18:63f098f042b2 52 eNLC,
jenkins@jenkinsdm1 18:63f098f042b2 53 eLCC,
jenkins@jenkinsdm1 18:63f098f042b2 54 eLCT,
jenkins@jenkinsdm1 18:63f098f042b2 55 eENC,
jenkins@jenkinsdm1 18:63f098f042b2 56 eRSSI,
jenkins@jenkinsdm1 18:63f098f042b2 57 eSNR,
jenkins@jenkinsdm1 18:63f098f042b2 58 eDP,
jenkins@jenkinsdm1 18:63f098f042b2 59 eSDR,
jenkins@jenkinsdm1 18:63f098f042b2 60 eCHM,
jenkins@jenkinsdm1 18:63f098f042b2 61 eTXDR,
jenkins@jenkinsdm1 18:63f098f042b2 62 eTXP,
jenkins@jenkinsdm1 18:63f098f042b2 63 eANT,
jenkins@jenkinsdm1 18:63f098f042b2 64 eTXF,
Jason Reiss 23:4f0a981c0349 65 eFO,
jenkins@jenkinsdm1 18:63f098f042b2 66 eTXW,
jenkins@jenkinsdm1 18:63f098f042b2 67 eTXCH,
jenkins@jenkinsdm1 18:63f098f042b2 68 eTXN,
Jason Reiss 23:4f0a981c0349 69 eTXS,
jenkins@jenkinsdm1 18:63f098f042b2 70 eTOA,
jenkins@jenkinsdm1 18:63f098f042b2 71 eRXD,
jenkins@jenkinsdm1 18:63f098f042b2 72 eRXO,
jenkins@jenkinsdm1 18:63f098f042b2 73 eCRC,
jenkins@jenkinsdm1 18:63f098f042b2 74 eADR,
jenkins@jenkinsdm1 18:63f098f042b2 75 eACK,
jenkins@jenkinsdm1 18:63f098f042b2 76 eREP,
Jason Reiss 23:4f0a981c0349 77 ePP,
jenkins@jenkinsdm1 18:63f098f042b2 78 eMAC,
jenkins@jenkinsdm1 18:63f098f042b2 79 eSEND,
jenkins@jenkinsdm1 18:63f098f042b2 80 eSENDB,
jenkins@jenkinsdm1 18:63f098f042b2 81 eRECV,
jenkins@jenkinsdm1 18:63f098f042b2 82 eSD,
jenkins@jenkinsdm1 18:63f098f042b2 83 eSLEEP,
jenkins@jenkinsdm1 18:63f098f042b2 84 eSDCE,
jenkins@jenkinsdm1 18:63f098f042b2 85 eWM,
jenkins@jenkinsdm1 18:63f098f042b2 86 eWI,
jenkins@jenkinsdm1 18:63f098f042b2 87 eWP,
jenkins@jenkinsdm1 18:63f098f042b2 88 eWD,
jenkins@jenkinsdm1 18:63f098f042b2 89 eWTO,
jenkins@jenkinsdm1 18:63f098f042b2 90 ePING,
jenkins@jenkinsdm1 18:63f098f042b2 91 eFOTA,
jenkins@jenkinsdm1 18:63f098f042b2 92 eLOG,
Jason Reiss 23:4f0a981c0349 93 eGPSTIME,
Jason Reiss 23:4f0a981c0349 94 eBLS,
Jason Reiss 23:4f0a981c0349 95 eBAT,
Jason Reiss 23:4f0a981c0349 96 eLBTRSSI,
jenkins@jenkinsdm1 18:63f098f042b2 97 ePRINT_TEST,
jenkins@jenkinsdm1 18:63f098f042b2 98 eRXDR,
jenkins@jenkinsdm1 18:63f098f042b2 99 eSENDI,
Jason Reiss 23:4f0a981c0349 100 eSENDC,
jenkins@jenkinsdm1 18:63f098f042b2 101 #ifdef MTS_RADIO_DEBUG_COMMANDS
jenkins@jenkinsdm1 18:63f098f042b2 102 ePRINT_DEBUG,
jenkins@jenkinsdm1 18:63f098f042b2 103 eATWP,
jenkins@jenkinsdm1 18:63f098f042b2 104 eDREGS,
jenkins@jenkinsdm1 18:63f098f042b2 105 eERASE,
jenkins@jenkinsdm1 18:63f098f042b2 106 eDD,
Jason Reiss 23:4f0a981c0349 107 eRXF,
Jason Reiss 23:4f0a981c0349 108 eRECVC,
Jason Reiss 23:4f0a981c0349 109 #endif
jenkins@jenkinsdm1 18:63f098f042b2 110 NUMBER_OF_CMDS
jenkins@jenkinsdm1 18:63f098f042b2 111 } CmdId_t;
jenkins@jenkinsdm1 18:63f098f042b2 112
jenkins@jenkinsdm1 18:63f098f042b2 113 static Command* Create(CmdId_t cmd);
jenkins@jenkinsdm1 18:63f098f042b2 114 };
jenkins@jenkinsdm1 18:63f098f042b2 115 #endif