St-connect

Dependencies:   HP206C mbed WakeUp QMC5883L DHT22 DS1820

  1. ST Conect Project Look how we did it : [Hackster](https://www.hackster.io/monginjulien/st-connect-dike-monitoring-534a32)
Revision:
9:2f31939caaf2
Parent:
8:c4801ce16934
Child:
10:c645f569b7ce
diff -r c4801ce16934 -r 2f31939caaf2 main.cpp
--- a/main.cpp	Mon Nov 12 10:24:45 2018 +0000
+++ b/main.cpp	Mon Nov 26 10:41:12 2018 +0000
@@ -34,6 +34,7 @@
 #endif
 
 #ifdef ENABLE_GROUND_HUMIDITY
+    DigitalOut transistor_humidity(D12);
     AnalogIn capt_ground_humidity(A0);      // SEN0
 #endif
 
@@ -43,6 +44,7 @@
 
 Serial sigfox(D1, D0);
 DigitalInOut reset_sigfox(D9);
+DigitalOut myled(LED1);
 
 char message[MESSAGE_SIZE] = "AT$SF=";
 
@@ -136,10 +138,21 @@
     
     #ifdef ENABLE_MAGNETOMETER
         capt_magnetometer.init();
-        wait_ms(1500);
+        wait(5);
     #endif
     
     while(1) {
+        #ifdef DEBUG
+            myled = 1;
+            wait(5);
+            myled = 0;
+        #endif
+        
+        #ifdef ENABLE_GROUND_HUMIDITY
+            // Plug the ground humidity
+            transistor_humidity = 1;
+        #endif
+        
         // Wake Up sigfox
         reset_sigfox.output();
         reset_sigfox = 0;
@@ -157,6 +170,7 @@
         #ifdef ENABLE_GROUND_HUMIDITY
             // Humidite Sol
             ground_humidity = capt_ground_humidity.read() * 100;
+            transistor_humidity = 0;
         #endif
         
         #ifdef ENABLE_DHT22
@@ -178,11 +192,11 @@
         
         #ifdef ENABLE_MAGNETOMETER
             // Magnetometre
-            // capt_magnetometer.soft_reset();
+            capt_magnetometer.init();
             magnetic_field[0] = capt_magnetometer.getMagXvalue();
             magnetic_field[1] = capt_magnetometer.getMagYvalue();
             magnetic_field[2] = capt_magnetometer.getMagZvalue();
-            // capt_magnetometer.standby();
+            capt_magnetometer.standby();
         #endif
         
         // Affichage pour debug
@@ -208,18 +222,29 @@
                 pc.printf("ENVOIE\r\n", message);
             #endif
             sigfox.printf("%s", message);
-            wait(10);
+            wait(8);
         #endif
+        
+        // Sleep Sigfox
         sigfox.printf("AT$P=1\r\n");
         #ifdef DEBUG
             pc.printf("Sleep");
+            myled = 1;
+            wait(0.3);
+            myled = 0;
+            wait(0.3);
+            myled = 1;
+            wait(0.3);
+            myled = 0;
+            wait(0.3);
+            myled = 1;
+            wait(0.3);
+            myled = 0;
         #endif
-        
+                
         // DEEPSLEEP
         WakeUp::set_ms(30000);
         WakeUp::attach(&mycallback);
         deepsleep();
-        //wait(30);
-        //wait(10);
     }
 }
\ No newline at end of file