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:
74:f4704f312116
Parent:
73:2bbea82bf1e5
Child:
75:eec3e587c8b8
--- a/main.cpp	Wed Jul 18 17:20:04 2018 +0000
+++ b/main.cpp	Thu Jul 19 08:13:34 2018 +0000
@@ -191,6 +191,33 @@
 Thread thread_Volets_POUMON;
 Thread thread_Volets_FUITE;
 
+
+//Récap des fonctions
+void Save_Pos();//Sauvegarde des positions moteurs
+void Mode_SECU();//Mise en secu des moteurs
+void Sleep_IHM();//Mise en veille IHM, envoie de la consigne sur son port série
+void Sleep_HIGHT_WakeUp();//Mise en veille MCU avec réveille sur front haut
+void Sleep_LOW_WakeUp();//Mise en veille MCU avec réveille sur front bas. BABEFACE
+void ALIM_is_unplugged();//Appelée par l'intéruption. Passe juste un FLAG à false
+void ALIM_unplugged();//Appelée par le sécu THREAD si le FLAG ci-dessus passe a false
+void Stop_Sequence();//Enchainement des fonction amenant à l'arrêt de l'appareil
+void Affichage();//Affichage complet du Debug dans le Terminal...ne pas utiliser car trop lent...préférer le même sur l'IHM
+void Traceur_Arduino();//Envoies des Data pour être interprétées par le traceur Arduino
+int Power_Test(DigitalIn& pin);//Test une pin Digital..Renvoie 1 ou 0. Pas utilisée, on utilise les intérruptions
+float Power_Test(AnalogIn& pin);//Lecture d'une pin analogique. Pas encore utilisée
+bool Check();//A remplir de paramètres qui renvoie true s'ils sont bon, false s'ils sont hors limites
+void Calcul_OTU();//Calcul des OTU, commandée par un Tcker toutes les 60 s
+void SENSORS_thread();//Thread d'intérogation des capteurs. Appelé tous les ref_time
+void GO_TO_thread_POUMON();//Thread d'asservissement en position du volet Poumon. Appelé en permanence, priorité haute
+void GO_TO_thread_FUITE();//Thread d'asservissement en position du volet Fuite. Appelé en permanence, priorité haute
+void SECU_thread();//Thread de contrôle des paramètres devant entrainer une réaction de sécurité. Pour le moment capture du Flag de l'alim débranchée
+void callbackParam();//Callback de l'intéruption des com sur le port USD
+void callbackIHM();//Callback de l'intéruption des com sur le port IHM
+void Decoding_Message(char message []);//Décodage des message reçu par le port USB
+void Decoding_IHM(char message []);//Décodage des message reçu par le port IHM. Uniquement le transfert sur clef USB pour le moment
+void Create_File_Name_Date();//Création d'un nom de fichier par date
+void Create_File_Name_Index();//Création d'un nom de fichier par Index
+
 void Save_Pos()
 {
 
@@ -587,13 +614,13 @@
             FLAG_TRACE = true;
             OUTPUT("  Démarrage du tracé Arduino.\r\n");
         }       
-    } else if (0 == strcmp(com, "PING")) {
+    } else if (0 == strcmp(com, "ping")) {
         /*Commande_IHM = 1;
         IHM("<0 0 ;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;%d>\r\n", Commande_IHM);
         FLAG_DISPLAY = false;
         Commande_IHM = 0;*/
         E3V = 0;
-    } else if (0 == strcmp(com, "ARNSRS_ID")) {
+    } else if (0 == strcmp(com, "arnsrs_id")) {
         OUTPUT("  Changement de l'ID de l'appareil pour le N°: %s\r\n", numb);
         //UTILS::Store_A_Val(atoi(numb), "ARNSRS_ID");
         UTILS::EffacePage(2, PAGE_ID_ADDR, 1);
@@ -604,27 +631,27 @@
     } else if (0 == strcmp(com, "debug")) {
         FLAG_AFF = false;
         FLAG_WINDEV = false;
-    } else if (0 == strcmp(com, "Head_ID")) {
+    } else if (0 == strcmp(com, "head_id")) {
         //On l'enregistre dans l'eeprom
         OUTPUT("Changement de l'ID de la tête capteur pour le N°: %s\r\n", numb);
         UTILS::write_EEPROM(numb, HEAD_ID);
-    } else if (0 == strcmp(com, "O2_1_ID")) {
+    } else if (0 == strcmp(com, "o2_1_id")) {
         //On l'enregistre dans l'eeprom
         UTILS::write_EEPROM(numb, CELL_O2_1_ID);
-    } else if (0 == strcmp(com, "O2_2_ID")) {
+    } else if (0 == strcmp(com, "o2_2_id")) {
         //On l'enregistre dans l'eeprom
         UTILS::write_EEPROM(numb, CELL_O2_2_ID);
-    } else if (0 == strcmp(com, "CO2_ID")) {
+    } else if (0 == strcmp(com, "co2_id")) {
         //On l'enregistre dans l'eeprom
         UTILS::write_EEPROM(numb, CO2_ID);
-    } else if (0 == strcmp(com, "calib_O2")) {
+    } else if (0 == strcmp(com, "calib_o2")) {
         FLAG_O2 = false;
         wait_ms(100);
         float Val =  sensors.Calibrate_O2(atoi(numb));
         OUTPUT("  Calibration O2 dans l'air = %f\r\n", Val);
         wait_ms(100);
         FLAG_O2 = true;
-    } else if (0 == strcmp(com, "calib_CO2_A")) {
+    } else if (0 == strcmp(com, "calib_co2")) {
         int Val = sensors.Calibrate_CO2();
         OUTPUT("  Calibration CO2 dans l'air = %d\r\n", Val);
     } else if (0 == strcmp(com, "flash_i")) {
@@ -636,12 +663,7 @@
     } else if (0 == strcmp(com, "flash_m")) {
         OUTPUT("  Montage de la Flash.\r\n");
         UTILS::Mount_Flash();
-    } else if (0 == strcmp(com, "check_F")) {
-        /*
-        OUTPUT("  ARNSRS_ID.sys   = %d\r\n", (int)UTILS::Read_A_Val("ARNSRS_ID.sys"));
-        OUTPUT("  Servo_Poumon.sys   = %d\r\n", (int)UTILS::Read_A_Val("Servo_Poumon.sys"));
-        OUTPUT("  Servo_Fuite.sys    = %d\r\n", (int)UTILS::Read_A_Val("Servo_Fuite.sys"));
-        */
+    } else if (0 == strcmp(com, "check_f")) {
         OUTPUT("  ARNSRS ID   = %d\r\n", (int) UTILS::Read(ID_ARNSRS_ADDR));
         OUTPUT("  Dernière Position volet poumon enregistrée  = %d\r\n", (int) UTILS::Read(VOLET_POUMON_ADDR));
         OUTPUT("  Dernière Position volet fuite enregistrée   = %d\r\n", (int) UTILS::Read(VOLET_FUITE_ADDR));
@@ -691,12 +713,12 @@
     } else if (0 == strcmp(com, "file_s")) {
         char filename[20];
         UTILS::Get_File_Size(&serialMonit, numb);
-    } else if (0 == strcmp(com, "calib_p")) {
+    } else if (0 == strcmp(com, "calib_pou")) {
         volet_poumon_Position = 0;
         Servo_Poumon.reset();
         Consigne_poumon = HOME_SERVO_POUMON;
         OUTPUT("  Volet poumon Calibré.\r\n");
-    } else if (0 == strcmp(com, "calib_f")) {
+    } else if (0 == strcmp(com, "calib_fui")) {
         volet_fuite_Position = 0;
         Servo_Fuite.reset();
         Consigne_fuite = HOME_SERVO_FUITE;
@@ -725,22 +747,22 @@
         OUTPUT("  Reset de l'appareil.\r\n");
         wait(1);
         NVIC_SystemReset();
-    } else if (0 == strcmp(com, "Kc")) {
+    } else if (0 == strcmp(com, "kc")) {
         Kc = atof(numb);
         control_Servo.reset();
         control_Servo.setTunings(Kc, Ti, Td);
         OUTPUT("  MAJ PID -->  Kc = %f   Ti = %f   Td = %f\r\n", Kc, Ti, Td);
-    } else if (0 == strcmp(com, "Ti")) {
+    } else if (0 == strcmp(com, "ti")) {
         Ti = atof(numb);
         control_Servo.reset();
         control_Servo.setTunings(Kc, Ti, Td);
         OUTPUT("  MAJ PID -->  Kc = %f   Ti = %f   Td = %f\r\n", Kc, Ti, Td);
-    } else if (0 == strcmp(com, "Td")) {
+    } else if (0 == strcmp(com, "td")) {
         Td = atof(numb);
         control_Servo.reset();
         control_Servo.setTunings(Kc, Ti, Td);
         OUTPUT("  MAJ PID -->  Kc = %f   Ti = %f   Td = %f\r\n", Kc, Ti, Td);
-    } else if (0 == strcmp(com, "Cons")) {
+    } else if (0 == strcmp(com, "cons")) {
         consigne = atoi(numb);
         control_Servo.setSetPoint(consigne);
         OUTPUT("  MAJ CONSIGNE PID -->  Consigne = %d\r\n", consigne);
@@ -753,7 +775,7 @@
         UTILS::Write(FLAG_ADDR, 0xDEADBEEF);
         wait(1);
         NVIC_SystemReset();
-    } else if (0 == strcmp(com, "PID")) {
+    } else if (0 == strcmp(com, "pid")) {
         if (FLAG_PID == 1) {
             OUTPUT("  PID OFF\r\n");
             FLAG_PID = 0;
@@ -762,7 +784,7 @@
             FLAG_PID = 1;
         }
     } else {
-
+        OUTPUT("  Commande COZIR, commande érronée....\r\n");
         sensors.cozirSend(message);
     }