Lora4MakerFaire

Dependencies:   HC_SR04_Ultrasonic_Library X_NUCLEO_IKS01A2 mbed LoRaWAN-lib SX1272Lib

Fork of LoRaWANdemo72 by FabLab LoRa

Revision:
9:85c85c65299a
Parent:
8:346c55cb6033
Child:
10:88f1c052f9e9
diff -r 346c55cb6033 -r 85c85c65299a app/main.cpp
--- a/app/main.cpp	Tue Oct 03 13:11:33 2017 +0000
+++ b/app/main.cpp	Fri Nov 17 12:29:00 2017 +0000
@@ -21,15 +21,18 @@
 #include "SerialDisplay.h"
 #include "XNucleoIKS01A2.h"
 #include "string.h"
+#include "ultrasonic.h"
 
 /* Instantiate the expansion board */
 static XNucleoIKS01A2 *mems_expansion_board = XNucleoIKS01A2::instance(D14, D15, D4, D5);
+ultrasonic usensor(D8, D9, .1, 1);
+//static HCSR04 *myUS = ultrasonic::ultrasonic(D8,D9,.1,1) //set the trigger pin to D8 and the Echo pin to D9
 
 /* Retrieve the composing elements of the expansion board */
-static HTS221Sensor *hum_temp = mems_expansion_board->ht_sensor;
+//static HTS221Sensor *hum_temp = mems_expansion_board->ht_sensor;
 //static LSM303AGRAccSensor *accelerometer = mems_expansion_board->accelerometer;
 //static LSM6DSLSensor *acc_gyro = mems_expansion_board->acc_gyro;
-
+//static LPS22HBSensor *press_temp = mems_expansion_board->pt_sensor;
 /*!
  * Defines the application data transmission duty cycle. 5s, value in [ms].
  */
@@ -56,7 +59,7 @@
  *
  * \remark Please note that when ADR is enabled the end-device should be static
  */
-#define LORAWAN_ADR_ON                              1
+#define LORAWAN_ADR_ON                              0
 
 #if defined( USE_BAND_868 )
 
@@ -334,13 +337,15 @@
  */
     float value1, value2;
     char buffer1[32];
+    long dist1;
   //  int16_t Myaxes_int[3];
   //  float Myaxes[3];
   //  float sensitivity;
  //   int32_t axes[3];
- //   char Cont[64];
-   uint32_t Cont[64];
- //  InterruptIn BlueButton(USER_BUTTON);  
+    char Cont[64];
+ //  uint32_t Cont[64];
+ // InterruptIn BlueButton(USER_BUTTON);  
+ 
 static void PrepareTxFrame( uint8_t port )
 {
     
@@ -349,9 +354,13 @@
         
     case 13:
     
-        hum_temp->get_temperature(&value1);
-        hum_temp->get_humidity(&value2);
-        strcpy((char*)Cont, (char*) print_double(buffer1,value2) );
+       
+        //  hum_temp->get_temperature(&value1);
+     //     hum_temp->get_humidity(&value2);
+      //    press_temp->get_pressure(&value1);
+          dist1 = usensor.getCurrentDistance();
+         // usensor->getCurrentDistance(&dist1); 
+          strcpy((char*)Cont, (char*) print_double(buffer1,dist1) );
 //       strcat((char*)Cont, " " );
  //       strcat((char*)Cont, print_double(buffer1,value2) );
  //       strcat((char*)Cont, " ");
@@ -389,16 +398,18 @@
          strcat(Cont, " ");
          strcat(Cont, (char*) print_double(buffer1, value2)); */
          
-       // while(1) {
-        AppDataSize = sprintf ((char*)AppData,(char*)Cont);    
-  /*       if (BlueButton)
+  /*      while(1) {
+   //     AppDataSize = sprintf ((char*)AppData,(char*)Cont);    
+         if (BlueButton)
          { AppDataSize = sprintf((char*)AppData, "0");   
-          break;  }
+         break;  
+  }
           else
        {  AppDataSize = sprintf((char*)AppData, "1");   
-         break;        }  
- //   AppDataSize = sprintf((char*)AppData, "69"); 
-         //} */
+         break; 
+                }  */
+    AppDataSize = sprintf((char*)AppData, (char*)Cont); 
+  //       } 
     break;
     
     case 15:
@@ -881,10 +892,11 @@
     
     //enable sensors
   //  accelerometer -> enable();
-    hum_temp -> enable();
+  //  hum_temp -> enable();
+ //   press_temp -> enable();
    // acc_gyro->enable_x();
    // acc_gyro->enable_g();
-
+    usensor.startUpdates();
     BoardInit( );
     SerialDisplayInit( );
 
@@ -1041,7 +1053,7 @@
                 IsNetworkJoinedStatusUpdate = true;
                 break;
             }
-            case DEVICE_STATE_SEND:
+            case DEVICE_STATE_SEND:    //send frame
             {
                 if( NextTx == true )
                 {