wayne roberts / Mbed 2 deprecated LoRaWAN-demo-72_mdotIKS01A1

Dependencies:   X_NUCLEO_IKS01A1 mbed LoRaWAN-lib SX1272Lib

Fork of LoRaWAN-demo-72 by Semtech

Files at this revision

API Documentation at this revision

Comitter:
dudmuck
Date:
Wed Aug 17 23:56:43 2016 +0000
Parent:
5:62862ef9480b
Commit message:
use LoRaWAN on mDot with IKS01A1 sensor board

Changed in this revision

X_NUCLEO_IKS01A1.lib Show annotated file Show diff for this revision Revisions of this file
app/Comissioning.h Show annotated file Show diff for this revision Revisions of this file
app/main.cpp Show annotated file Show diff for this revision Revisions of this file
board/board.h Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/X_NUCLEO_IKS01A1.lib	Wed Aug 17 23:56:43 2016 +0000
@@ -0,0 +1,1 @@
+https://developer.mbed.org/users/dudmuck/code/X_NUCLEO_IKS01A1/#b5b8e7cab622
--- a/app/Comissioning.h	Tue Jul 05 15:00:47 2016 +0000
+++ b/app/Comissioning.h	Wed Aug 17 23:56:43 2016 +0000
@@ -29,12 +29,12 @@
 /*!
  * IEEE Organizationally Unique Identifier ( OUI ) (big endian)
  */
-#define IEEE_OUI                                    0x11, 0x22, 0x33
+#define IEEE_OUI                                    0x00, 0x25, 0x0c
 
 /*!
  * Mote device IEEE EUI (big endian)
  */
-#define LORAWAN_DEVICE_EUI                          { IEEE_OUI, 0x44, 0x55, 0x66, 0x77, 0x88 }
+#define LORAWAN_DEVICE_EUI                          { IEEE_OUI, 0x01, 0x00, 0x00, 0x00, 0x21 }
 
 /*!
  * Application IEEE EUI (big endian)
@@ -44,7 +44,7 @@
 /*!
  * AES encryption/decryption cipher application key
  */
-#define LORAWAN_APPLICATION_KEY                     { 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6, 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C }
+#define LORAWAN_APPLICATION_KEY                     { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff }
 
 /*!
  * Current network ID
--- a/app/main.cpp	Tue Jul 05 15:00:47 2016 +0000
+++ b/app/main.cpp	Wed Aug 17 23:56:43 2016 +0000
@@ -19,17 +19,20 @@
 #include "LoRaMac.h"
 #include "Comissioning.h"
 #include "SerialDisplay.h"
+#include "x_nucleo_iks01a1.h"
+#include "vt100.h"
+extern VT100 vt;
 
 /*!
  * Defines the application data transmission duty cycle. 5s, value in [us].
  */
-#define APP_TX_DUTYCYCLE                            5000000
+#define APP_TX_DUTYCYCLE                            15000000
 
 /*!
  * Defines a random delay for application data transmission duty cycle. 1s,
  * value in [us].
  */
-#define APP_TX_DUTYCYCLE_RND                        1000000
+#define APP_TX_DUTYCYCLE_RND                        3000000
 
 /*!
  * Default datarate
@@ -78,7 +81,7 @@
 /*!
  * LoRaWAN application port
  */
-#define LORAWAN_APP_PORT                            15
+#define LORAWAN_APP_PORT                           5 //15
 
 /*!
  * User application data buffer size
@@ -281,6 +284,8 @@
     }
 }
 
+static X_NUCLEO_IKS01A1 *mems_expansion_board = X_NUCLEO_IKS01A1::Instance();
+static TempSensor *temp_sensor1 = mems_expansion_board->ht_sensor;
 /*!
  * \brief   Prepares the payload of the frame
  */
@@ -288,6 +293,16 @@
 {
     switch( port )
     {
+    case 5:
+        unsigned int ret;
+        float TEMPERATURE_Value;
+        AppDataSize = 11;
+        AppData[0] = AppLedStateOn;
+        ret |= (!CALL_METH(temp_sensor1, GetTemperature, &TEMPERATURE_Value, 0.0f) ? 0x0 : 0x1);
+        vt.SetCursorPos( 43, 1 );
+        vt.printf( "temp:%f", TEMPERATURE_Value );
+        AppData[1] = (int)TEMPERATURE_Value * 2;
+        break;        
     case 15:
         {
             AppData[0] = AppLedStateOn;
@@ -778,6 +793,7 @@
         {
             case DEVICE_STATE_INIT:
             {
+                uint8_t id2;
                 LoRaMacPrimitives.MacMcpsConfirm = McpsConfirm;
                 LoRaMacPrimitives.MacMcpsIndication = McpsIndication;
                 LoRaMacPrimitives.MacMlmeConfirm = MlmeConfirm;
@@ -824,7 +840,8 @@
                 SerialDisplayUpdatePublicNetwork( LORAWAN_PUBLIC_NETWORK );
 
                 LoRaMacDownlinkStatus.DownlinkCounter = 0;
-
+                
+                CALL_METH(temp_sensor1, ReadID, &id2, 0x0);
                 DeviceState = DEVICE_STATE_JOIN;
                 break;
             }
--- a/board/board.h	Tue Jul 05 15:00:47 2016 +0000
+++ b/board/board.h	Wed Aug 17 23:56:43 2016 +0000
@@ -21,7 +21,7 @@
 #include "system/utilities.h"
 #include "sx1272-hal.h"
 
-#define USE_BAND_868
+#define USE_BAND_915_HYBRID
 
 extern SX1272MB2xAS Radio;