Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: X_NUCLEO_IKS01A1 LoRaWAN-lib SX1276Lib mbed
Diff: app/LoRaApp.cpp
- Revision:
- 2:78df92a365c2
- Parent:
- 0:42863a11464a
- Child:
- 3:4bca7f8f731a
--- a/app/LoRaApp.cpp Fri Aug 26 20:51:07 2016 +0000
+++ b/app/LoRaApp.cpp Sat Aug 27 04:03:02 2016 +0000
@@ -16,6 +16,11 @@
#include "LoRaApp.h"
+#ifdef USE_IKS01A1_SENSOR
+float iks01a1_data;
+int32_t Accl_Value[3] = {0};
+#endif
+
bool VerticalStatus = false;
@@ -44,40 +49,59 @@
void Application::ApplicationCall( eAppType App )
{
switch( App )
- {
- // Appends 8 Bytes (3 bytes longitude, 3 bytes latitude, 2 bytes altitude) to TX buffer
- case AppGps:
- {
- /*
- Gps.service( );
-
- 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;
- BuffAddr[BuffPtr++] = ( Gps.LongitudeBinary >> 16 ) & 0xFF;
- BuffAddr[BuffPtr++] = ( Gps.LongitudeBinary >> 8 ) & 0xFF;
- BuffAddr[BuffPtr++] = Gps.LongitudeBinary & 0xFF;
- BuffAddr[BuffPtr++] = ( altitudeGps >> 8 ) & 0xFF;
- BuffAddr[BuffPtr++] = altitudeGps & 0xFF;
- }
- */
- break;
- }
-
+ {
// Appends 1 Byte to TX buffer
case AppTemp:
{
- /*
- Mpl3115a2.ReadTemperature( );
+#ifdef USE_IKS01A1_SENSOR
+
+ temp_sensor1->GetTemperature(&iks01a1_data);
+
+ printf("Temp = %f, %d\r\n", iks01a1_data, (int8_t) iks01a1_data);
+
if( ( BuffPtr + 1 ) <= LORAWAN_APP_DATA_SIZE )
{
- BuffAddr[BuffPtr++] = ( int32_t )Mpl3115a2.Temperature; // Signed degrees Celcius in half degree units. So, +/-63 °C
+ BuffAddr[BuffPtr++] = (int8_t) iks01a1_data;
+ }
+
+#endif
+ break;
+ }
+
+ // Appends 2 Bytes to TX buffer
+ case AppPressr:
+ {
+#ifdef USE_IKS01A1_SENSOR
+
+ pressure_sensor->GetPressure(&iks01a1_data);
+
+ printf("Pressure = %f, %d\r\n", iks01a1_data, (uint16_t) iks01a1_data);
+
+ if( ( BuffPtr + 2 ) <= LORAWAN_APP_DATA_SIZE )
+ {
+ BuffAddr[BuffPtr++] = ( (int16_t) iks01a1_data >> 8 ) & 0xFF;
+ BuffAddr[BuffPtr++] = ( (int16_t) iks01a1_data ) & 0xFF;
}
- */
+
+#endif
+ break;
+ }
+
+ // Appends 2 Bytes to TX buffer
+ case AppHumid:
+ {
+#ifdef USE_IKS01A1_SENSOR
+
+ humidity_sensor->GetHumidity(&iks01a1_data);
+
+ printf("Humidity = %f, %d\r\n", iks01a1_data, (uint8_t) iks01a1_data);
+
+ if( ( BuffPtr + 1 ) <= LORAWAN_APP_DATA_SIZE )
+ {
+ BuffAddr[BuffPtr++] = (int8_t) iks01a1_data;
+ }
+
+#endif
break;
}
@@ -108,76 +132,25 @@
// Appends 2 Bytes to TX buffer
case AppAccl:
{
- /*
- uint8_t statusReg;
-
- // 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 let Green LED ON
- if( ( statusReg & 0x80 ) != 0 )
- {
- AppLed = 1;
- CtrlLED( Green, LED_ON );
- }
-
- // Read and populate device orientation in Tx Buffer
- if( ( BuffPtr + 2 ) <= LORAWAN_APP_DATA_SIZE )
+#ifdef USE_IKS01A1_SENSOR
+
+ accelerometer->Get_X_Axes(Accl_Value);
+
+ printf("X/Y/Z = %d/%d/%d\r\n", Accl_Value[0], Accl_Value[1], Accl_Value[2]);
+
+ if( ( BuffPtr + 6 ) <= LORAWAN_APP_DATA_SIZE )
{
- if( statusReg & 0x40 )
- {
- if( statusReg & 0x01 )
- {
- BuffAddr[BuffPtr++] = 0x66; // horizontal + faceup
- }
- else
- {
- BuffAddr[BuffPtr++] = 0x99; // horizontal + facedown
- }
-
- BuffAddr[BuffPtr++] = 0; // vertical = false
- }
- else
- {
- BuffAddr[BuffPtr++] = 0; // horizontal = false
- BuffAddr[BuffPtr++] = 0x11; // vertical = true
- }
- }
- */
+ BuffAddr[BuffPtr++] = ( (int16_t) Accl_Value[0] >> 8 ) & 0xFF;
+ BuffAddr[BuffPtr++] = ( (int16_t) Accl_Value[0] ) & 0xFF;
+ BuffAddr[BuffPtr++] = ( (int16_t) Accl_Value[1] >> 8 ) & 0xFF;
+ BuffAddr[BuffPtr++] = ( (int16_t) Accl_Value[1] ) & 0xFF;
+ BuffAddr[BuffPtr++] = ( (int16_t) Accl_Value[2] >> 8 ) & 0xFF;
+ BuffAddr[BuffPtr++] = ( (int16_t) Accl_Value[2] ) & 0xFF;
+ }
+#endif
break;
}
- case AppAcclSenet:
- {
- /*
- uint8_t statusReg;
-
- // 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 & 0x40 ) != 0 )
- {
- AppLed = 0;
- CtrlLED( Green, LED_OFF );
- BuffAddr[BuffPtr++] = 0; // horizontal
- }
- else
- {
- AppLed = 1;
- CtrlLED( Green, LED_ON );
- BuffAddr[BuffPtr++] = 10; // vertical
- }
- */
- break;
- }
-
case AppPushButton:
{
uint16_t PushButtonCnt;