mbed-os github

Dependencies:   ADS1015 Faulhaber HTU21D_mod MS5837_potless Sensor_Head_RevB_3 USBDevice_dfu Utilsdfu beep

Fork of ARNSRS_testDFU by POTLESS

Revision:
31:231a96d1d1c8
Parent:
30:7a16a66d76f3
Child:
33:f5d4bae05f16
--- a/main.cpp	Wed Feb 21 06:58:28 2018 +0000
+++ b/main.cpp	Fri Feb 23 13:11:46 2018 +0000
@@ -146,8 +146,15 @@
 
 //Boolean du status de l'appareil, en mode SECU ou nominal
 bool EN_MODE_SECU = false;
+
+//Test des alim
 DigitalIn V_USB(PA_0);
-float Vusb = 1;
+DigitalIn V_PILES_2(PC_3);
+AnalogIn V_PILES(PA_1);
+
+int Vusb = 1;
+int VPiles = 1;
+float VPiles_2 = 1;
 
 //Interruption user button
 InterruptIn button(USER_BUTTON);
@@ -159,7 +166,7 @@
     serialMonit.printf("\r\n");
     serialMonit.printf("  CO2             = %d ppm\r\n"  , co2);
     serialMonit.printf("  PPO2            = %d mb\r\n", ppO2);
-    serialMonit.printf("  OTU             = %d \r\n", OTU);
+    serialMonit.printf("  OTU             = %d \r\n", (int)OTU);
     serialMonit.printf("  Pression        = %f msw\r\n", pression);
     serialMonit.printf("  Temp MS5837     = %f C\r\n", Temp1);
     serialMonit.printf("  Temp HTU21D     = %f C\n\r", Temp2);
@@ -231,7 +238,7 @@
     sleep_manager_sleep_auto();
 }
 
-//Fonction test de valeur d'entrée convertie en Hight / Low
+//Fonction test de valeur d'entrée digitale
 int Power_Test(DigitalIn& pin)
 {
     pin.mode(PullDown);
@@ -244,6 +251,13 @@
     }          
 }
 
+//Fonction test de valeur d'entrée analogique
+float Power_Test(AnalogIn& pin)
+{
+    float Val = pin.read();
+    return Val;
+}
+
 //Contrôle du status de l'appareil / des constantes
 bool Check()
 {
@@ -315,6 +329,7 @@
     while (true) {       
         //Alim USB
         Vusb = Power_Test(V_USB);
+        VPiles = Power_Test(V_PILES);
         //Divers problèmes à implémenter
         //if(!Check()) Mode_SECU();
     }
@@ -366,6 +381,10 @@
         Mode_SECU();
     }else if (0 == strcmp(com, "calib_O2")) {
         sensors.Calibrate_O2(true, (int)val); 
+    }else if (0 == strcmp(com, "flash_i")) {
+        FLAG_REC = false;
+        UTILS::Flash_Infos();
+        FLAG_REC = true;    
     }else if (0 == strcmp(com, "check")) {
         FLAG_REC = false;
         serialMonit.printf("  Calibration_O2.txt = %f\r\n", UTILS::Read_A_Val("Calibration_O2"));
@@ -388,7 +407,6 @@
         FLAG_AFF = false;
         UTILS::Help();       
     }else if (0 == strcmp(com, "clean")) {
-        //Enregistrement de la chaine
         FLAG_REC = false;
         UTILS::Clean_Flash();
     }else if (0 == strcmp(com, "dir")) {
@@ -409,7 +427,19 @@
         sprintf(filename, "LOG_%d.txt", (int)val);
         UTILS::Delete_Flash_File(filename);
         UTILS::Dir_Flash();
-        FLAG_REC = true;           
+        FLAG_REC = true;
+    }else if (0 == strcmp(com, "file_s")) {
+        FLAG_REC = false;
+        char filename[20];
+        sprintf(filename, "LOG_%d.txt", (int)val);
+        UTILS::Get_File_Size(filename);
+        FLAG_REC = true;
+    //}else if (0 == strcmp(com, "file_i")) {
+    //    FLAG_REC = false;
+    //    char filename[20];
+    //    sprintf(filename, "LOG_%d.txt", (int)val);
+    //    UTILS::Get_File_Infos_bis(filename);
+    //    FLAG_REC = true;                      
     } else if (0 == strcmp(com, "calib_p")) {
         Consigne_poumon = 0;
         volet_poumon_Position = 0;
@@ -688,11 +718,25 @@
                 0
                );
 #endif
-
+        char to_slave[50];
+        //Fabrication de la chaine pour l'IHM
+        sprintf(to_slave,"%d:%d:%d:%.2f:%.2f:%.2f:%d:%d:%d:%.2f:%.2f\r\n",
+                co2,
+                ppO2,
+                (int)OTU,
+                pression,
+                Temp1,
+                Temp2,
+                Humid,
+                CellO2_1,
+                CellO2_2,
+                volet_poumon_Position,
+                volet_fuite_Position);
+               
         //Pour Android on ajoute < et > pour décoder l'arrivée du message
         if (NEED_ANDROID_OUTPUT == 1) {
-            sprintf(to_android,"<%s>",to_store);
-            ANDROID(to_android);
+            //sprintf(to_android,"<%s>",to_store);
+            ANDROID(to_slave);
         }
 
         //Calcul des OTU