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/LoRaApp.cpp	Sun Apr 16 23:12:47 2017 +0000
+++ b/app/LoRaApp.cpp	Mon Apr 24 13:47:27 2017 +0000
@@ -37,7 +37,7 @@
 {
     BuffAddr = memptr;
     memset( BuffAddr, 0, LORAWAN_APP_DATA_MAX_SIZE );
-    BuffPtr = 0;    
+    BuffPtr = 0;
 }
 
 Application::~Application( )
@@ -46,11 +46,8 @@
 
 void Application::ApplicationAppendData( uint8_t *pData, uint8_t len )
 {
-    if( ( BuffPtr + len ) <= LORAWAN_APP_DATA_SIZE )
-    {
-        memcpy( BuffAddr + BuffPtr, pData, len );
-        BuffPtr += len;
-    }
+    memcpy( BuffAddr + BuffPtr, pData, len );
+    BuffPtr += len;
 }
 
 void Application::ApplicationPtrPos( uint8_t ptrPos )
@@ -70,7 +67,7 @@
             uint16_t altitudeGps = atoi( Gps.NmeaGpsData.NmeaAltitude );
 
             if( ( BuffPtr + 8 ) <= LORAWAN_APP_DATA_SIZE )
-            {               
+            {
                 BuffAddr[BuffPtr++] = ( Gps.LatitudeBinary >> 16 ) & 0xFF;
                 BuffAddr[BuffPtr++] = ( Gps.LatitudeBinary >> 8 ) & 0xFF;
                 BuffAddr[BuffPtr++] = Gps.LatitudeBinary & 0xFF;
@@ -84,54 +81,22 @@
         }
 
         // Appends 1 Byte to TX buffer
-        case AppPrsr:
-        {               
-            if( ( BuffPtr + 2 ) <= LORAWAN_APP_DATA_SIZE )
-            {                
-                volatile uint8_t stat;
-                float val;
-
-                Mpl3115a2.SetModeBarometer();
-                Mpl3115a2.ToggleOneShot( );
-                   
-                stat = Mpl3115a2.read(STATUS_REG);       
-                while( (stat & 0x04) != 0x04 ) {
-                    wait(0.01);   
-                    stat = Mpl3115a2.read(STATUS_REG);                  
-                }
-
-                val = Mpl3115a2.ReadBarometer()/100.0;
-                
-                BuffAddr[BuffPtr++] = ( ( uint16_t ) val >> 8 ) & 0xFF;
-                BuffAddr[BuffPtr++] = ( ( uint16_t ) val ) & 0xFF;
-                
+        case AppTemp:
+        {
+            Mpl3115a2.ReadTemperature( );
+            if( ( BuffPtr + 1 ) <= LORAWAN_APP_DATA_SIZE )
+            {
+                BuffAddr[BuffPtr++] = ( int32_t )Mpl3115a2.Temperature;     // Signed degrees Celcius in half degree units. So, +/-63 °C
             }
             break;
         }
 
         // Appends 1 Byte to TX buffer
-        case AppTemp:
-        {           
-            Mpl3115a2.ReadTemperature( );
-            if( ( BuffPtr + 1 ) <= LORAWAN_APP_DATA_SIZE )
-            {
-                BuffAddr[BuffPtr++] = ( int32_t )Mpl3115a2.Temperature;     // Signed degrees Celcius in half degree units. So, +/-63 °C                         
-            }
-            break;
-        }       
-
-        // Appends 1 Byte to TX buffer
         case AppBat:
         {  
             if( ( BuffPtr + 1 ) <= LORAWAN_APP_DATA_SIZE )
             {
-#ifdef BAT_VAL_PERCENT
-                uint16_t value;
-                value = BoardGetBatteryLevel();
-                BuffAddr[BuffPtr++] = ( value * 100 ) >> 8;  // Bat level in %
-#else
                 BuffAddr[BuffPtr++] = BoardGetBatteryLevel( );              // Per LoRaWAN spec; 0 = Charging; 1...254 = level, 255 = N/A
-#endif                
             }
             break;
         }
@@ -141,7 +106,7 @@
         {
             int32_t i, j;
 
-            // Populate Tx Buffer with increasing byte values starting from 0x00, 0x01, 0x02 ... 
+            // Populate Tx Buffer with increasing byte values starting from 0x00, 0x01, 0x02 ...
             for( i = BuffPtr, j = 0; i < LORAWAN_APP_DATA_SIZE; i++ )
             {
                 BuffAddr[i] = j++;
@@ -159,7 +124,7 @@
             statusReg = Mma8451q.read_single( MMA8451_PL_STATUS );
 
             /* Display Orientation of NAMote on Serial Port */
-            SerialAcclMetrDisplay( statusReg );
+            //SerialAcclMetrDisplay( statusReg );
 
             // If Orientation of the Mote changed then let Green LED ON
             if( ( statusReg & 0x80 ) != 0 )
@@ -188,14 +153,14 @@
                 {
                     BuffAddr[BuffPtr++] = 0; // horizontal = false
                     BuffAddr[BuffPtr++] = 0x11; // vertical = true
-                }               
-            }       
-            
+                }
+            }
+
             break;
-        }       
+        }
 
         case AppAcclSenet:
-        {   
+        {
             uint8_t statusReg; 
 
             // Read the PS_STATUS register
@@ -204,7 +169,7 @@
             /* Display Orientation of NAMote on Serial Port */
             SerialAcclMetrDisplay( statusReg );
 
-            // If Orientation of the Mote changed then populate Upper Nibble of 0th Byte of Tx Buffer                       
+            // If Orientation of the Mote changed then populate Upper Nibble of 0th Byte of Tx Buffer
             if( ( statusReg & 0x40 ) != 0 )
             {   
                 AppLed = 0;
@@ -216,81 +181,23 @@
                 AppLed = 1;
                 CtrlLED( Green, LED_ON );
                 BuffAddr[BuffPtr++] = 10; // vertical
-            }                       
-            
-            break;
-        }
-
-        case AppAcclSensor:
-        {   
-            uint8_t statusReg;
-            int8_t regVal;
-            int16_t axesData;
-
-            // Read the PS_STATUS register
-            statusReg = Mma8451q.read_single( MMA8451_PL_STATUS );
-
-            /* Display Orientation of NAMote on Serial Port */
-            SerialAcclMetrDisplay( statusReg );
-
-            // If Orientation of the Mote changed then populate Upper Nibble of 0th Byte of Tx Buffer                       
-            if( ( statusReg & 0x80 ) != 0 )
-            {                   
-                CtrlLED( Green, LED_ON );                
             }
-            else
-            {                
-                CtrlLED( Green, LED_OFF );
-            } 
-
-            // Read and populate device orientation in Tx Buffer
-            if( ( BuffPtr + 6 ) <= LORAWAN_APP_DATA_SIZE )
-            {
-                uint8_t addr;
-                addr = MMA8451_OUT_X_MSB;
-
-                // Read X-axis Data
-                regVal = Mma8451q.read_single( addr++ );
-                axesData = regVal << 8;
-                regVal = Mma8451q.read_single( addr++ );
-                axesData |= regVal;             
-                BuffAddr[BuffPtr++] = ( axesData >> 10 ) & 0xFF; 
-                BuffAddr[BuffPtr++] = ( axesData >> 2 ) & 0xFF; 
-
-                // Read Y-axis Data
-                regVal = Mma8451q.read_single( addr++ );
-                axesData = regVal << 8;
-                regVal = Mma8451q.read_single( addr++ );
-                axesData |= regVal;             
-                BuffAddr[BuffPtr++] = ( axesData >> 10 ) & 0xFF; 
-                BuffAddr[BuffPtr++] = ( axesData >> 2 ) & 0xFF; 
-
-                // Read Z-axis Data
-                regVal = Mma8451q.read_single( addr++ );
-                axesData = regVal << 8;
-                regVal = Mma8451q.read_single( addr++ );
-                axesData |= regVal;             
-                BuffAddr[BuffPtr++] = ( axesData >> 10 ) & 0xFF; 
-                BuffAddr[BuffPtr++] = ( axesData >> 2 ) & 0xFF; 
-            }
-            
             break;
         }
 
         case AppPushButton:
-        {   
+        {
             uint16_t PushButtonCnt;
-            uint8_t *p = (uint8_t *) &PushButtonCnt;
+            uint8_t *p = ( uint8_t * )&PushButtonCnt;
 
             PushButtonCnt = LoRaMacUplinkStatus.UplinkCounter;
-                
-            memcpy( &BuffAddr[BuffPtr], p, sizeof(uint16_t) );
-            
+
+            memcpy( &BuffAddr[BuffPtr], p, sizeof( uint16_t ) );
             break;
         }
 
         default:
-        {            
+        {
             break;
         }
     }
@@ -359,6 +266,10 @@
             TimerInit( &LedTimer, OnGreenLedTimerEvent );
             break;
         }
+        default:
+        {
+            break;
+        }
     }
     
 }
@@ -394,6 +305,10 @@
             GreenLed = LED_ON;
             break;
         }
+        default:
+        {
+            break;
+        }
     }
 }
 
@@ -439,6 +354,10 @@
             }
             break;
         }
+        default:
+        {
+            break;
+        }
     }
 }   
 
@@ -482,19 +401,19 @@
 void CheckOrientation( void )
 {
     uint8_t statusReg; 
-    
+
     // Read the PS_STATUS register
     statusReg = Mma8451q.read_single( MMA8451_PL_STATUS );
 
-     // If Orientation of the Mote changed then populate Upper Nibble of 0th Byte of Tx Buffer                       
+     // If Orientation of the Mote changed then populate Upper Nibble of 0th Byte of Tx Buffer
     if( ( statusReg & 0x40 ) != 0 )
-    {           
+    {
         CtrlLED( Green, LED_OFF );
         VerticalStatus = false; // horizontal
     }
     else
-    {        
+    {
         CtrlLED( Green, LED_ON );
         VerticalStatus = true; // vertical
-    }       
-}
\ No newline at end of file
+    }
+}