mbed-os github
Dependencies: ADS1015 Faulhaber HTU21D_mod MS5837_potless Sensor_Head_RevB_3 USBDevice_dfu Utilsdfu beep
Fork of ARNSRS_testDFU by
Diff: main.cpp
- Revision:
- 16:917656586772
- Parent:
- 15:efd3b3bf3f37
- Child:
- 17:bef8abc445f2
diff -r efd3b3bf3f37 -r 917656586772 main.cpp --- a/main.cpp Sat Nov 25 16:22:38 2017 +0000 +++ b/main.cpp Mon Nov 27 16:33:13 2017 +0000 @@ -322,14 +322,17 @@ #ifdef PID_MODE else if ((char)commande == 'p') { Kc = (float)valeur; + control_Servo.reset(); control_Servo.setTunings(Kc, Ti, Td); printf(" UPDATE PID --> Kc = %f Ti = %f Td = %f\r\n\n", Kc, Ti, Td); } else if ((char)commande == 'i') { Ti = (float)valeur; + control_Servo.reset(); control_Servo.setTunings(Kc, Ti, Td); printf(" UPDATE PID --> Kc = %f Ti = %f Td = %f\r\n\n", Kc, Ti, Td); } else if ((char)commande == 'd') { Td = (float)valeur; + control_Servo.reset(); control_Servo.setTunings(Kc, Ti, Td); printf(" UPDATE PID --> Kc = %f Ti = %f Td = %f\r\n\n", Kc, Ti, Td); } else if ((char)commande == 'c') { @@ -405,8 +408,28 @@ Calibration_servo(); - sensors.Sensors_INIT(false, true, 5, SPOOLING, DIGI_FILTER32, CALIB_AIR); +/* +Par défaut les valeur en cas de calibration sur true sont les suivant + nbCalibO2 = 5 + Mode = SPOOLING + Filtre = DIGI_FILTER32 + CalibrationCO2 = "CALIB_AIR" + + Parfois la calibration du Cozir coince...faire reset et relancer... + + Pour calibrer avec ces paramètres : + + sensors.Sensors_INIT(true, true); + + Pour changer utiliser la syntaxe suivante : + + sensors.Sensors_INIT(true, true, 5, SPOOLING, DIGI_FILTER32, CALIB_AIR); + + */ + + sensors.Sensors_INIT(false, true); + serialMonit.attach(&callbackParam, Serial::RxIrq); android.attach(&callbackAndroid, Serial::RxIrq); @@ -429,7 +452,7 @@ thread.start(Get_Info_thread); - thread.set_priority(osPriorityRealtime); + thread.set_priority(osPriorityNormal); #ifdef PID_MODE //Init PID @@ -469,7 +492,7 @@ strftime(Time_buf, 32, "%D %I-%M-%S ", localtime(&seconds)); //Fabrication de la chaine à enregistrer - sprintf(to_store,"%s:%d:%d:%.2f:%.2f:%.2f:%d:%d:%d:%3.2f:%3.2f:%d:%f:%f:%f", + sprintf(to_store,"%s:%d:%d:%.2f:%.2f:%.2f:%d:%d:%d:%3.2f:%3.2f:%d:%.3f:%.3f:%.3f", Time_buf, co2, ppO2, @@ -515,9 +538,17 @@ //Reset du Timer REAL_RATE.reset(); - //Pour ralentir le code à 1 seconde fixe quelque soit les intéruptions du loop.... + //Pour ralentir le code à Ref_Time seconde fixe quelque soit les intéruptions du loop.... + if (Ref_Time > RATE){ RATE_TRUE = (Ref_Time - RATE) * 1000; - + }else{ + RATE_TRUE = 0; +#ifdef PID_MODE + control_Servo.setInterval(RATE); +#endif + printf("Pour ralentir le code, Ref_Time doit être supérieur à %f seconde(s)\r\n\n", RATE); + } + wait_ms(RATE_TRUE); } }