MultiTech / libxDot-Custom

Fork of libxDot-dev-mbed5-deprecated by MultiTech

The Connect example can be used as a starting point for an xDot application.

Import programmDot_LoRa_Connect_Example_CUSTOM_AS923

Example configuration of frequencies and datarates for AS923 channel plan.

Change the libmDot-Custom library to libxDot-Custom after importing the above example.

Change the platform for the project to xDot in upper right corner of the compiler page.

Ensure the mbed-os version matches the with the library commit.

Currently the AT Firmware cannot be built online for the xDot.

Creating new channel plans

Copy EU868 or US915 custom channel plan as a starting point

Import librarymDot_Channel_Plans

Channel plans to enable libmDot-Custom

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

Files at this revision

API Documentation at this revision

Comitter:
jreiss
Date:
Thu Mar 16 13:23:56 2017 +0000
Parent:
27:9f789acbca4d
Commit message:
remove weak attribute from printMessage

Changed in this revision

MTS-Utils/MTSLog.h Show annotated file Show diff for this revision Revisions of this file
--- a/MTS-Utils/MTSLog.h	Wed Jan 18 16:14:28 2017 +0000
+++ b/MTS-Utils/MTSLog.h	Thu Mar 16 13:23:56 2017 +0000
@@ -65,7 +65,7 @@
 
     /** Print log message.
      */
-    static void __attribute__((weak)) printMessage(int level, const char* format, ...);
+    static void printMessage(int level, const char* format, ...);
 
     /** Determine if the given level is currently printable.
      */