mQ Branch for NA mote testing

Dependencies:   LoRaWAN-lib SX1272Lib-mQ lib_gps lib_mma8451q lib_mpl3115a2 mbed

Fork of LoRaWAN-NAMote72-Application-Demo by Semtech

Revision:
18:18408c3c2d0c
Parent:
15:39a23f5affd1
--- a/app/LoRaEventProc.cpp	Sun Apr 16 23:12:47 2017 +0000
+++ b/app/LoRaEventProc.cpp	Mon Apr 24 13:47:27 2017 +0000
@@ -28,161 +28,125 @@
  */
 void PrepareLoRaFrame( uint8_t port )
 {
-
     switch( port )
-    {    
+    {
     case 5:
-        {   
+        {
             uint8_t tmp;
             uint8_t tmpLength;
             uint8_t ptrIndex = 0;
-            
+
             // Point the pointer to position index of Tx Buffer
             LoRaApp.ApplicationPtrPos( ptrIndex );
 
             tmp = ( AppLed != 0 ) ? 0x0F : 0x00;
             tmpLength = 1;
-            
-            LoRaApp.ApplicationAppendData( &tmp, tmpLength ); // Populate lower nibble of 0th Byte with LED state            
+
+            LoRaApp.ApplicationAppendData( &tmp, tmpLength ); // Populate lower nibble of 0th Byte with LED state
 
             /*!
-            *  Read Temperature
-            *  Appends 1 Byte to TX buffer
-            */
+             *  Read Temperature
+             *  Appends 1 Byte to TX buffer
+             */
             LoRaApp.ApplicationCall( AppTemp );
 
             /*!
-            *  Read Battery
-            *  Appends 1 Byte to TX buffer
-            */
+             *  Read Battery
+             *  Appends 1 Byte to TX buffer
+             */
             LoRaApp.ApplicationCall( AppBat );
 
             /*!
-            *  Read GPS coordinates
-            *  Appends 8 Bytes (3 bytes longitude, 3 bytes latitude, 2 bytes altitude) to TX buffer
-            */
-            LoRaApp.ApplicationCall( AppGps );            
-
-            /*!
-            *  Read Accelerometer
-            *  Appends 2 Bytes to TX buffer
-            *   Value       Orientation
-            *   0x99 0x00   horizontal + faceup
-            *   0x66 0x00   horizontal + facedown
-            *   0x00 0x11   vertical
-            */
-            LoRaApp.ApplicationCall( AppAccl ); // Generate Accelerometer data bytes    
+             *  Read GPS coordinates
+             *  Appends 8 Bytes (3 bytes longitude, 3 bytes latitude, 2 bytes altitude) to TX buffer
+             */
+            LoRaApp.ApplicationCall( AppGps );
 
             /*!
-            *  Generate Ramp data bytes
-            *  Appends incremental values of 1 Byte each to TX buffer until Full
-            */
-            LoRaApp.ApplicationCall( AppRamp );
-
-            break;
-        }   
-
-    // Senet M2X ORIENTATION Demo 
-    // Set LORAWAN_APP_DATA_SIZE to 2
-    case 6: 
-        { 
-            uint8_t ptrIndex = 1;
-            
-            //Point the pointer to position index of Tx Buffer
-            LoRaApp.ApplicationPtrPos( ptrIndex );
-            
-            LoRaApp.ApplicationCall( AppAcclSenet ); // Generate Accelerometer data bytes    
-            
-            
+             *  Read Accelerometer
+             *  Appends 2 Bytes to TX buffer
+             *   Value       Orientation
+             *   0x99 0x00   horizontal + faceup
+             *   0x66 0x00   horizontal + facedown
+             *   0x00 0x11   vertical
+             */
+            LoRaApp.ApplicationCall( AppAccl ); // Generate Accelerometer data bytes
 
-            break;
-        }
-        
-    /* Senet GPS Demo 
-       Data Format (in Hex):
-            [01, 02, Lattitude (3 bytes), Longitude (3 Bytes), Elevation (2 bytes), Tx Power (1 byte)]
-    */  
-    case 7: 
-        { 
-            uint8_t ptrIndex = 0;
-            uint8_t tmp[] = {0x01, 0x02};
-            
-            //Point the pointer to position index of Tx Buffer
-            LoRaApp.ApplicationPtrPos( ptrIndex );
-            
-            LoRaApp.ApplicationAppendData( tmp, 2 );  
-            
-            LoRaApp.ApplicationCall( AppGps ); // Generate Accelerometer data bytes  
-            
-            uint8_t pow = 30 - 2*(( uint8_t ) LoRaMacUplinkStatus.TxPower);
-            LoRaApp.ApplicationAppendData( &pow, 1 );  
+            /*!
+             *  Generate Ramp data bytes
+             *  Appends incremental values of 1 Byte each to TX buffer until Full
+             */
+            LoRaApp.ApplicationCall( AppRamp );
 
             break;
         }
 
-    // Push-Button Demo     
-    case 11: 
-        { 
-            uint8_t ptrIndex = 0;
-            
-            //Point the pointer to position index of Tx Buffer
+    // Senet M2X ORIENTATION Demo
+    // Set LORAWAN_APP_DATA_SIZE to 2
+    case 6:
+        {
+            uint8_t ptrIndex = 1;
+
+            // Point the pointer to position index of Tx Buffer
             LoRaApp.ApplicationPtrPos( ptrIndex );
-            
-            LoRaApp.ApplicationCall( AppPushButton ); // Transmit uplink counter   
-            
-            break;
-        }
 
-    // Transmit on Vertical Orientation Demo     
-    case 12: 
-        { 
-            uint8_t ptrIndex = 0;
-            
-            //Point the pointer to position index of Tx Buffer
-            LoRaApp.ApplicationPtrPos( ptrIndex );
-            
-            LoRaApp.ApplicationCall( AppPushButton ); // Transmit uplink counter      
-            
+            LoRaApp.ApplicationCall( AppAcclSenet ); // Generate Accelerometer data bytes
+
             break;
         }
 
-    
-    /* Senet myDevices Sensor Demo 
-    Data Format (in Hex):
-    [Pressure (2 Bytes), Temperature (1 Byte), X-Axis (2 bytes), Y-Axis (2 bytes), Z-Axis (2 bytes), ]
-        */  
-    case 13: 
-        { 
+    /* Senet GPS Demo
+       Data Format (in Hex):
+            [01, 02, Lattitude (3 bytes), Longitude (3 Bytes), Elevation (2 bytes), Tx Power (1 byte)]
+    */  
+    case 7:
+        {
             uint8_t ptrIndex = 0;
-            uint8_t tmp = 0;
-            
-            //Point the pointer to position index of Tx Buffer
-            LoRaApp.ApplicationPtrPos( ptrIndex );
-            
-            LoRaApp.ApplicationCall( AppPrsr);
+            uint8_t tmp[] = { 0x01, 0x02 };
 
-            LoRaApp.ApplicationCall( AppTemp );
+            // Point the pointer to position index of Tx Buffer
+            LoRaApp.ApplicationPtrPos( ptrIndex );
 
-            LoRaApp.ApplicationCall( AppBat );
-            
-            LoRaApp.ApplicationCall( AppAcclSensor ); // Generate Accelerometer data bytes  
+            LoRaApp.ApplicationAppendData( tmp, 2 );
 
-            if( AppLed == 1 )
-            {
-                tmp = 0x01;
-            }
-            else
-            {
-                tmp = 0x00;
-            }
-            
-            LoRaApp.ApplicationAppendData( &tmp, 1 );                        
+            LoRaApp.ApplicationCall( AppGps ); // Generate Accelerometer data bytes
+
+            uint8_t pow = 30 - 2 * ( ( uint8_t )LoRaMacUplinkStatus.TxPower );
+            LoRaApp.ApplicationAppendData( &pow, 1 );
 
             break;
         }
-        
+
+    // Push-Button Demo
+    case 11:
+        {
+            uint8_t ptrIndex = 0;
+
+            // Point the pointer to position index of Tx Buffer
+            LoRaApp.ApplicationPtrPos( ptrIndex );
+
+            LoRaApp.ApplicationCall( AppPushButton ); // Transmit uplink counter
+
+            break;
+        }
+
+    // Transmit on Vertical Orientation Demo
+    case 12:
+        {
+            uint8_t ptrIndex = 0;
+
+            // Point the pointer to position index of Tx Buffer
+            LoRaApp.ApplicationPtrPos( ptrIndex );
+
+            LoRaApp.ApplicationCall( AppPushButton ); // Transmit uplink counter
+
+            break;
+        }
+
     default:
-        break;
+        {
+            break;
+        }
     }
 }
 
@@ -191,29 +155,28 @@
  * \brief   Sets Interrupt for next payload transmission
  */
 void InitNextTxInterrupt( uint8_t port )
-{   
+{
     switch( port )
     {  
     /* GPS Application Demo
         Set Timer interrupt for next uplink
     */
     case 5:
-        { 
+        {
         }
 
     /* Senet + M2X demo
     Set Timer interrupt for next uplink
     */
     case 6: 
-        { 
-            
+        {
         }
         
     /* Senet GPS Demo 
        Set Timer interrupt for next uplink
     */  
-    case 7: 
-        { 
+    case 7:
+        {
             // Schedule next packet transmission
             TxDutyCycleTime = APP_TX_DUTYCYCLE + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );
             TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
@@ -224,8 +187,8 @@
     /* Push Button Demo 
        Send Packet Immedietly if PC0 = GND
     */  
-    case 11: 
-        { 
+    case 11:
+        {
             volatile bool PushButtonStatus;
 
             PushButtonStatus = PC0;
@@ -242,15 +205,15 @@
                 IsTxIntUpdate = true;
             }
             break;
-        }   
+        }
 
     /* Orientation Demo 
        Send Packet Immedietly if Mote is Vertical
     */  
-    case 12: 
-        {             
+    case 12:
+        {
             CheckOrientation( );
-            
+
             if(VerticalStatus == true)
             {
                 // Send Pkt immedietly if PC = GND
@@ -263,13 +226,13 @@
                 IsTxIntUpdate = true;
             }
             break;
-        }   
+        }
 
     /* Compliance Test 
        Set Timer interrupt for next uplink
     */
     case 224:
-        {               
+        {
             // Schedule next packet transmission
             TimerSetValue( &TxNextPacketTimer, COMPLIANCE_TX_DUTYCYCLE );
             TimerStart( &TxNextPacketTimer );
@@ -279,7 +242,6 @@
     default:
         {
             // Schedule next packet transmission
-            TxDutyCycleTime = APP_TX_DUTYCYCLE + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );
             TimerSetValue( &TxNextPacketTimer, TxDutyCycleTime );
             TimerStart( &TxNextPacketTimer );
             break;
@@ -299,26 +261,25 @@
     CtrlLED( Red, LED_ON ); 
 }
 
-
 /*!
  * \brief   What to do during TX ? blink/toggle LED etc.
  */
 void TxEvent( void )
 {
-    int blinkTime = 25000;
+    int blinkTime = 25;
 
     // Blink Red LED for 25msec
     BlinkLED( Red, blinkTime );
 }
 
-void RxEvent()
+void RxEvent( void )
 {
     // Toggle yellow LED
-    ToggleLED( Yellow );  
+    ToggleLED( Yellow );
 
     // If Rx Data is 0x01 turn on Green LED else if 0x0 Turn Green LED off
     if( LoRaMacDownlinkStatus.BufferSize == 1 )
-    {       
+    {
         if( LoRaMacDownlinkStatus.Buffer[0] == 0x01 )
         {
             AppLed = 1;