MultiTech / mDot_Channel_Plans

The channel plans in this library can be used as starting points for new channel plans and used as a reference for implementation.

Information

To use source version of a channel plan, first remove the Channel Plans folder from libmDot-Custom library.

Not all plans are complete to LoRaWAN specifications.

AS923 and KR920 have the default channels defined and can accept in channels in the Join Accept message or from New Channel MAC commands.

Channel Set must match those expected by the network server in order for ADR to work

AS923 regional settings can be adjusted by the network server using Tx Param Setup MAC command to set max EIRP and dwell time for uplinks.

Files at this revision

API Documentation at this revision

Comitter:
Jason Reiss
Date:
Tue Feb 07 15:32:43 2017 -0600
Parent:
13:996f1663d12e
Commit message:
Update ADR ACK to change DR after each ACK_DELAY packets after ACK_LIMIT

Changed in this revision

src/CustomChannelPlan_AS923.cpp Show annotated file Show diff for this revision Revisions of this file
src/CustomChannelPlan_AU915.cpp Show annotated file Show diff for this revision Revisions of this file
src/CustomChannelPlan_EU868.cpp Show annotated file Show diff for this revision Revisions of this file
src/CustomChannelPlan_IN865.cpp Show annotated file Show diff for this revision Revisions of this file
src/CustomChannelPlan_KR920.cpp Show annotated file Show diff for this revision Revisions of this file
src/CustomChannelPlan_NZ918.cpp Show annotated file Show diff for this revision Revisions of this file
src/CustomChannelPlan_US915.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/src/CustomChannelPlan_AS923.cpp	Tue Feb 07 09:00:25 2017 -0600
+++ b/src/CustomChannelPlan_AS923.cpp	Tue Feb 07 15:32:43 2017 -0600
@@ -533,7 +533,7 @@
         ret = (_settings.Session.AdrCounter >= ADR_ACK_LIMIT);
 
         if (_settings.Session.AdrCounter >= (ADR_ACK_LIMIT + ADR_ACK_DELAY)) {
-            if (_settings.Session.AdrCounter - 1 % ADR_ACK_DELAY == 0) {
+            if ((_settings.Session.AdrCounter - 1) % ADR_ACK_DELAY == 0) {
 
                 if (_settings.Session.TxDatarate > MIN_DATARATE) {
                     _settings.Session.TxDatarate--;
--- a/src/CustomChannelPlan_AU915.cpp	Tue Feb 07 09:00:25 2017 -0600
+++ b/src/CustomChannelPlan_AU915.cpp	Tue Feb 07 15:32:43 2017 -0600
@@ -546,7 +546,7 @@
         ret = (_settings.Session.AdrCounter >= ADR_ACK_LIMIT);
 
         if (_settings.Session.AdrCounter >= (ADR_ACK_LIMIT + ADR_ACK_DELAY)) {
-            if (_settings.Session.AdrCounter - 1 % ADR_ACK_DELAY == 0) {
+            if ((_settings.Session.AdrCounter - 1) % ADR_ACK_DELAY == 0) {
 
                 if (_settings.Session.TxDatarate > MIN_DATARATE) {
                     _settings.Session.TxDatarate--;
--- a/src/CustomChannelPlan_EU868.cpp	Tue Feb 07 09:00:25 2017 -0600
+++ b/src/CustomChannelPlan_EU868.cpp	Tue Feb 07 15:32:43 2017 -0600
@@ -537,7 +537,7 @@
         ret = (_settings.Session.AdrCounter >= ADR_ACK_LIMIT);
 
         if (_settings.Session.AdrCounter >= (ADR_ACK_LIMIT + ADR_ACK_DELAY)) {
-            if (_settings.Session.AdrCounter - 1 % ADR_ACK_DELAY == 0) {
+            if ((_settings.Session.AdrCounter - 1) % ADR_ACK_DELAY == 0) {
 
                 if (_settings.Session.TxDatarate > MIN_DATARATE) {
                     _settings.Session.TxDatarate--;
--- a/src/CustomChannelPlan_IN865.cpp	Tue Feb 07 09:00:25 2017 -0600
+++ b/src/CustomChannelPlan_IN865.cpp	Tue Feb 07 15:32:43 2017 -0600
@@ -511,7 +511,7 @@
         ret = (_settings.Session.AdrCounter >= ADR_ACK_LIMIT);
 
         if (_settings.Session.AdrCounter >= (ADR_ACK_LIMIT + ADR_ACK_DELAY)) {
-            if (_settings.Session.AdrCounter - 1 % ADR_ACK_DELAY == 0) {
+            if ((_settings.Session.AdrCounter - 1) % ADR_ACK_DELAY == 0) {
 
                 if (_settings.Session.TxDatarate > MIN_DATARATE) {
                     _settings.Session.TxDatarate--;
--- a/src/CustomChannelPlan_KR920.cpp	Tue Feb 07 09:00:25 2017 -0600
+++ b/src/CustomChannelPlan_KR920.cpp	Tue Feb 07 15:32:43 2017 -0600
@@ -499,7 +499,7 @@
         ret = (_settings.Session.AdrCounter >= ADR_ACK_LIMIT);
 
         if (_settings.Session.AdrCounter >= (ADR_ACK_LIMIT + ADR_ACK_DELAY)) {
-            if (_settings.Session.AdrCounter - 1 % ADR_ACK_DELAY == 0) {
+            if ((_settings.Session.AdrCounter - 1) % ADR_ACK_DELAY == 0) {
 
                 if (_settings.Session.TxDatarate > MIN_DATARATE) {
                     _settings.Session.TxDatarate--;
--- a/src/CustomChannelPlan_NZ918.cpp	Tue Feb 07 09:00:25 2017 -0600
+++ b/src/CustomChannelPlan_NZ918.cpp	Tue Feb 07 15:32:43 2017 -0600
@@ -495,7 +495,7 @@
         ret = (_settings.Session.AdrCounter >= ADR_ACK_LIMIT);
 
         if (_settings.Session.AdrCounter >= (ADR_ACK_LIMIT + ADR_ACK_DELAY)) {
-            if (_settings.Session.AdrCounter - 1 % ADR_ACK_DELAY == 0) {
+            if ((_settings.Session.AdrCounter - 1) % ADR_ACK_DELAY == 0) {
 
                 if (_settings.Session.TxDatarate > MIN_DATARATE) {
                     _settings.Session.TxDatarate--;
--- a/src/CustomChannelPlan_US915.cpp	Tue Feb 07 09:00:25 2017 -0600
+++ b/src/CustomChannelPlan_US915.cpp	Tue Feb 07 15:32:43 2017 -0600
@@ -546,7 +546,7 @@
         ret = (_settings.Session.AdrCounter >= ADR_ACK_LIMIT);
 
         if (_settings.Session.AdrCounter >= (ADR_ACK_LIMIT + ADR_ACK_DELAY)) {
-            if (_settings.Session.AdrCounter - 1 % ADR_ACK_DELAY == 0) {
+            if ((_settings.Session.AdrCounter - 1) % ADR_ACK_DELAY == 0) {
 
                 if (_settings.Session.TxDatarate > MIN_DATARATE) {
                     _settings.Session.TxDatarate--;