libmDot allowing custom channel plans

Fork of libmDot-custom by Jason Reiss

Information

Library has been updated to mbed 5.x

The LoRaWAN Certification test mode implementation is built-in to libmDot code. When a start test mode packet is received the library will not return until test mode has ended.

Warning

This library is currently in BETA release. Unresolved issues may be experienced. Software is provided as is with no expectation of support of bug fixes in the future. Please report issues found through the mbed website or directly to support.multitech.com.

Changing of channel plan parameters may cause the device to no longer respect local RF regulations. Please use caution and respect your local regulations.

In AT Command Firmware remove line 803.

CommandTerminal/CommandTerminal.cpp

        delete[] info->RxBuffer;

Likewise, if your application is handling events from the library asynchronously.

Creating new channel plans

Copy EU868 or US915 custom channel plan as a starting point

Import programmDot_AT_firmware_CUSTOM

AT Firmware with custom channel plan support

EU868 provides a framework for a DYNAMIC channel plan with duty-cycle limitations

US915 provides a framework for a FIXED channel plan

RADIO_POWERS are measured output in dBm for each radio tx power setting.

Additional MAC Commands can be implemented by overriding the HandleMacCommand function.

Steps

  1. Setup datarates, duty-cycle bands and channels in ChannelPlan_* constructor
  2. Modify GetJoinDatarate and CalculateJoinBackoff to change join datarates and backoff
  3. Customize HandleJoinAccept datarates
  4. Use GetRxWindow(int) to define how the device open Rx window 1 and 2
  5. GetNextChannel will pick a channel from the enabled channel at the current datarate before each TX

Changes

RevisionDateWhoCommit message
30:ea6818a83412 2017-03-23 jreiss Add US915 and KR920 headers default tip
29:e2323ff52dfd 2017-03-07 jreiss Update libmDot use mbed-os 5.3.6
28:741c6a944d4e 2017-03-07 jreiss Update libmDot use mbed-os 5.3.6
27:8bf1a1c3b92a 2017-03-07 jreiss remove weak attribute from printMessage
26:322ce639a1f9 2017-01-18 jreiss update to mbed-os 5.3.3
25:36d92b31ad2b 2017-01-18 jreiss Add appkey and appeui functions; Add dwelltime and maxeirp getters/setters; KR920: max DR 7; AS923: max tx power 36 and maxeirp 20 defaults
24:faed4a8ae961 2017-01-06 jreiss update to 5.3.2
23:3830a5f61f09 2017-01-06 jreiss update to mbed-os 5.3.2; AS923: add DL channel and tx param MAC commands; KR920: add LBT
22:33e7f0e79585 2016-10-31 jreiss update to mbed-os 5.2.1
21:f77f883a080e 2016-10-17 jreiss add channel plans folder; update libraries to include compiled channel plan objects
20:78f320259904 2016-09-28 jreiss update libraries with mbed 5.x support
19:7e94c4f41b21 2016-09-21 jreiss Update libmDot with pin changes to reduce sleep current
18:aa39c917aa3f 2016-09-17 jreiss update library archive; change license notice in EU868.cpp and US915.cpp
17:dd0f69240713 2016-08-31 Jason Reiss Query channel plan for datarate details, remove US915 and EU868 from library
16:9bd6cacde447 2016-08-29 jreiss Change to custom channel plan libmDot
15:b50f92f1c6ff 2016-08-18 jreiss update libmDot to 2.0.3
14:121e4c454964 2016-04-04 Mike Fiore add other missing header
13:0f89ec319c18 2016-04-04 Mike Fiore add missing mDotEvent header
12:5fddfa2b85aa 2016-04-04 Mike Fiore update to version 1.0.8-1
11:9938ba31d428 2016-03-29 Mike Fiore update to version 1.0.7 of mDot library
10:0b4eb17d07ae 2015-09-10 Mike Fiore update libmDot to version 0.0.9-1
9:ebf682e616d0 2015-09-10 Mike Fiore update README, move files into new directory structure
8:57978a837b2d 2015-08-18 Mike Fiore update version info in library, no other changes
7:683dba5d576f 2015-08-17 Mike Fiore update to version 0.0.7
6:390fc83d588d 2015-07-16 Mike Fiore update from rev 0310fa23bc9c37c0575342961eac26e61d0966f4. NOTE: this version breaks compatibility with older MTS network server versions - use setJoinByteOrder(mDot::MSB) if operating with a network server version earlier than 0.0.5 or AEP 1.0.30
5:0bfe6a650513 2015-07-07 Mike Fiore update from revision 8f17f909cd6be946ce224094891e211901ac4836 - allow a DigitalOut pointer to be passed in and used as activity LED
4:94969e981dcc 2015-06-30 Mike Fiore update mDot library and mDot.h from git revision c5af21e8ddc6d37b5cd2f375c4b3b50ab50af026
3:5e805b567124 2015-06-24 Mike Fiore example code try to join in while loop
2:6385bf37bfe7 2015-06-24 Mike Fiore update README with info about beta-newboards & mbed-src
1:9f30fbe9e9c1 2015-06-24 Mike Fiore add README, LICENSE, headers, and library - from git tag mbed_24June2015
0:c62615f15125 2015-06-24 mfiore initial commit, mDot header