mbed-os github
Dependencies: ADS1015 Faulhaber HTU21D_mod MS5837_potless Sensor_Head_RevB_3 USBDevice_dfu Utilsdfu beep
Fork of ARNSRS_testDFU by
main.cpp@9:04bfdfc029cb, 2017-10-03 (annotated)
- Committer:
- POTLESS_2
- Date:
- Tue Oct 03 15:55:23 2017 +0000
- Revision:
- 9:04bfdfc029cb
- Parent:
- 8:a750d531b381
- Child:
- 10:aca745a66d51
Derni?re version.; HTU21D et com android.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
potless | 1:bef7856b5c0a | 1 | #include "mbed.h" |
potless | 2:4a8bf1d53439 | 2 | #include <string> |
POTLESS_2 | 7:ad15c386e960 | 3 | #include "Sensor_head_revB.h" |
POTLESS_2 | 8:a750d531b381 | 4 | #include "HTU21D.h" |
POTLESS_2 | 4:d84250f67dec | 5 | |
POTLESS_2 | 9:04bfdfc029cb | 6 | |
POTLESS_2 | 9:04bfdfc029cb | 7 | //Ecrit dans le moniteur série de la tablette à 9600 bds si sur 1, penser à mettre NEED_CONSOLE_OUTPUT à 0 |
POTLESS_2 | 9:04bfdfc029cb | 8 | #define NEED_ANDROID_OUTPUT 1 |
POTLESS_2 | 9:04bfdfc029cb | 9 | |
POTLESS_2 | 9:04bfdfc029cb | 10 | |
POTLESS_2 | 9:04bfdfc029cb | 11 | #if NEED_ANDROID_OUTPUT |
POTLESS_2 | 9:04bfdfc029cb | 12 | #define ANDROID(...) { android.printf(__VA_ARGS__); } |
POTLESS_2 | 9:04bfdfc029cb | 13 | #else |
POTLESS_2 | 9:04bfdfc029cb | 14 | #define ANDROID(...) |
POTLESS_2 | 9:04bfdfc029cb | 15 | #endif |
POTLESS_2 | 9:04bfdfc029cb | 16 | |
POTLESS_2 | 7:ad15c386e960 | 17 | //Moniteur série |
POTLESS_2 | 9:04bfdfc029cb | 18 | Serial serialMonit(USBTX,USBRX,9600); |
POTLESS_2 | 9:04bfdfc029cb | 19 | //COM Série vers Android, Serial 3 |
POTLESS_2 | 9:04bfdfc029cb | 20 | Serial android(PC_10,PC_11,9600); |
POTLESS_2 | 4:d84250f67dec | 21 | |
POTLESS_2 | 7:ad15c386e960 | 22 | //Init de la lib ARNSRS; |
POTLESS_2 | 7:ad15c386e960 | 23 | SENSOR_HEAD_REV_B sensors; |
potless | 2:4a8bf1d53439 | 24 | |
POTLESS_2 | 6:ebed9093d661 | 25 | //pour Param Cozir |
POTLESS_2 | 9:04bfdfc029cb | 26 | const int sizeParam = 20; |
POTLESS_2 | 6:ebed9093d661 | 27 | char param[sizeParam ]; |
POTLESS_2 | 6:ebed9093d661 | 28 | int indexParam; |
POTLESS_2 | 6:ebed9093d661 | 29 | bool newParamFlag = false; |
potless | 2:4a8bf1d53439 | 30 | |
POTLESS_2 | 9:04bfdfc029cb | 31 | //pour Commandes Android |
POTLESS_2 | 9:04bfdfc029cb | 32 | const int sizeAndroid = 20; |
POTLESS_2 | 9:04bfdfc029cb | 33 | char Android[sizeParam ]; |
POTLESS_2 | 9:04bfdfc029cb | 34 | int indexAndroid; |
POTLESS_2 | 9:04bfdfc029cb | 35 | bool newAndroidFlag = false; |
POTLESS_2 | 9:04bfdfc029cb | 36 | |
POTLESS_2 | 7:ad15c386e960 | 37 | //Variables de stockage des infos capteurs |
POTLESS_2 | 7:ad15c386e960 | 38 | int co2 = 0; |
POTLESS_2 | 7:ad15c386e960 | 39 | float pression = 0; |
POTLESS_2 | 9:04bfdfc029cb | 40 | float Temp1 = 0; |
POTLESS_2 | 7:ad15c386e960 | 41 | int ppO2 = 0; |
POTLESS_2 | 7:ad15c386e960 | 42 | int CellO2_1 = 0; |
POTLESS_2 | 7:ad15c386e960 | 43 | int CellO2_2 = 0; |
POTLESS_2 | 7:ad15c386e960 | 44 | |
POTLESS_2 | 7:ad15c386e960 | 45 | //Mesure du tempsd'éxecution du loop |
POTLESS_2 | 7:ad15c386e960 | 46 | Timer REAL_RATE; |
POTLESS_2 | 7:ad15c386e960 | 47 | float RATE = 0; |
POTLESS_2 | 7:ad15c386e960 | 48 | |
POTLESS_2 | 8:a750d531b381 | 49 | //HTU21D |
POTLESS_2 | 8:a750d531b381 | 50 | HTU21D temphumid(PB_9, PB_8); //Temp humid sensor || SDA, SCL |
POTLESS_2 | 9:04bfdfc029cb | 51 | float Temp2; |
POTLESS_2 | 9:04bfdfc029cb | 52 | int Humid; |
POTLESS_2 | 9:04bfdfc029cb | 53 | |
POTLESS_2 | 9:04bfdfc029cb | 54 | //Data LOG |
POTLESS_2 | 9:04bfdfc029cb | 55 | char to_store[50]; |
POTLESS_2 | 9:04bfdfc029cb | 56 | time_t seconds; |
POTLESS_2 | 8:a750d531b381 | 57 | |
POTLESS_2 | 8:a750d531b381 | 58 | //VT100 |
POTLESS_2 | 8:a750d531b381 | 59 | static const char CLS[] = "\x1B[2J"; |
POTLESS_2 | 8:a750d531b381 | 60 | static const char HOME[] = "\x1B[H"; |
POTLESS_2 | 8:a750d531b381 | 61 | |
POTLESS_2 | 7:ad15c386e960 | 62 | //Thread d'intérogation des capteurs |
POTLESS_2 | 7:ad15c386e960 | 63 | Thread thread; |
POTLESS_2 | 7:ad15c386e960 | 64 | |
POTLESS_2 | 7:ad15c386e960 | 65 | void Sensors_thread() |
POTLESS_2 | 6:ebed9093d661 | 66 | { |
POTLESS_2 | 7:ad15c386e960 | 67 | while (true) { |
POTLESS_2 | 7:ad15c386e960 | 68 | |
POTLESS_2 | 7:ad15c386e960 | 69 | //CO2 sur Cozir |
POTLESS_2 | 7:ad15c386e960 | 70 | co2 = sensors.requestCO2(); |
POTLESS_2 | 7:ad15c386e960 | 71 | //P / T sur MS5837 |
POTLESS_2 | 7:ad15c386e960 | 72 | pression = sensors.requestPress(); |
POTLESS_2 | 9:04bfdfc029cb | 73 | Temp1 = sensors.requestTemp(); |
POTLESS_2 | 7:ad15c386e960 | 74 | //PPO2 sur ADS1015 |
POTLESS_2 | 7:ad15c386e960 | 75 | ppO2 = sensors.requestPpO2(); |
POTLESS_2 | 7:ad15c386e960 | 76 | //Cell O2 en mV |
POTLESS_2 | 7:ad15c386e960 | 77 | CellO2_1 = sensors.requestCellO2_1(); |
POTLESS_2 | 7:ad15c386e960 | 78 | CellO2_2 = sensors.requestCellO2_2(); |
POTLESS_2 | 9:04bfdfc029cb | 79 | |
POTLESS_2 | 8:a750d531b381 | 80 | //HTU21D |
POTLESS_2 | 9:04bfdfc029cb | 81 | Temp2 = temphumid.sample_ctemp(); |
POTLESS_2 | 9:04bfdfc029cb | 82 | Humid = temphumid.sample_humid(); |
POTLESS_2 | 9:04bfdfc029cb | 83 | |
POTLESS_2 | 9:04bfdfc029cb | 84 | //Fabrication de la chaine Date / heure |
POTLESS_2 | 9:04bfdfc029cb | 85 | seconds = time(NULL); |
POTLESS_2 | 9:04bfdfc029cb | 86 | char Time_buf[32]; |
POTLESS_2 | 9:04bfdfc029cb | 87 | strftime(Time_buf, 32, "%D %I-%M-%S ", localtime(&seconds)); |
POTLESS_2 | 9:04bfdfc029cb | 88 | |
POTLESS_2 | 9:04bfdfc029cb | 89 | //Fabrication de la chaine à enregistrer |
POTLESS_2 | 9:04bfdfc029cb | 90 | sprintf(to_store,"<%s:%d:%d:%.2f:%.2f:%.2f:%d:%d:%d>", |
POTLESS_2 | 9:04bfdfc029cb | 91 | Time_buf, |
POTLESS_2 | 9:04bfdfc029cb | 92 | co2, |
POTLESS_2 | 9:04bfdfc029cb | 93 | ppO2, |
POTLESS_2 | 9:04bfdfc029cb | 94 | pression, |
POTLESS_2 | 9:04bfdfc029cb | 95 | Temp1, |
POTLESS_2 | 9:04bfdfc029cb | 96 | Temp2, |
POTLESS_2 | 9:04bfdfc029cb | 97 | Humid, |
POTLESS_2 | 9:04bfdfc029cb | 98 | CellO2_1, |
POTLESS_2 | 9:04bfdfc029cb | 99 | CellO2_2); |
POTLESS_2 | 4:d84250f67dec | 100 | } |
potless | 2:4a8bf1d53439 | 101 | } |
POTLESS_2 | 4:d84250f67dec | 102 | |
POTLESS_2 | 7:ad15c386e960 | 103 | void Affichage_moniteur() |
POTLESS_2 | 4:d84250f67dec | 104 | { |
POTLESS_2 | 9:04bfdfc029cb | 105 | printf("\r\n"); |
POTLESS_2 | 9:04bfdfc029cb | 106 | printf(" CO2 = %d ppm\r\n" , co2); |
POTLESS_2 | 9:04bfdfc029cb | 107 | printf(" PPO2 = %d mb\r\n", ppO2); |
POTLESS_2 | 9:04bfdfc029cb | 108 | printf(" Pression = %f msw\r\n", pression); |
POTLESS_2 | 9:04bfdfc029cb | 109 | printf(" Temperature 1 = %f C\r\n", Temp1); |
POTLESS_2 | 9:04bfdfc029cb | 110 | printf(" Temperature 2 = %f C\n\r", Temp2); |
POTLESS_2 | 9:04bfdfc029cb | 111 | printf(" Humidity = %d %%\n\r", Humid); |
POTLESS_2 | 8:a750d531b381 | 112 | printf("\n\r"); |
POTLESS_2 | 8:a750d531b381 | 113 | printf(" Cell O2 n 1 = %d\r\n" , CellO2_1); |
POTLESS_2 | 8:a750d531b381 | 114 | printf(" Cell O2 n 2 = %d\r\n" , CellO2_2); |
POTLESS_2 | 7:ad15c386e960 | 115 | printf("\r\n"); |
POTLESS_2 | 9:04bfdfc029cb | 116 | printf("\n"); |
POTLESS_2 | 9:04bfdfc029cb | 117 | printf("Temps d execution de la boucle = %f secondes\n", RATE); |
POTLESS_2 | 9:04bfdfc029cb | 118 | printf("\r\n", ""); |
POTLESS_2 | 9:04bfdfc029cb | 119 | printf("A enregistrer = %s\n", to_store); |
POTLESS_2 | 9:04bfdfc029cb | 120 | printf("\r\n"); |
POTLESS_2 | 9:04bfdfc029cb | 121 | |
POTLESS_2 | 8:a750d531b381 | 122 | /* |
POTLESS_2 | 8:a750d531b381 | 123 | printf(HOME); |
POTLESS_2 | 8:a750d531b381 | 124 | printf("\x1b[30m"); |
POTLESS_2 | 9:04bfdfc029cb | 125 | printf("\x1b[0m\r CO2 = \x1b[1m\x1b[K%d ppm\n", co2); |
POTLESS_2 | 9:04bfdfc029cb | 126 | printf("\x1b[0m\r PPO2 = \x1b[1m\x1b[K%d mb\n", ppO2); |
POTLESS_2 | 9:04bfdfc029cb | 127 | printf("\n"); |
POTLESS_2 | 9:04bfdfc029cb | 128 | printf("\x1b[0m\r Pression = \x1b[1m\x1b[K%.2f msw\n", pression); |
POTLESS_2 | 9:04bfdfc029cb | 129 | printf("\n"); |
POTLESS_2 | 9:04bfdfc029cb | 130 | printf("\x1b[0m\r Temperature 1 = \x1b[1m\x1b[K%.2f C\n", Temp1); |
POTLESS_2 | 9:04bfdfc029cb | 131 | printf("\x1b[0m\r Temperature 2 = \x1b[1m\x1b[K%.2f C\n", Temp2); |
POTLESS_2 | 9:04bfdfc029cb | 132 | printf("\n"); |
POTLESS_2 | 9:04bfdfc029cb | 133 | printf("\x1b[0m\r Humidity = \x1b[1m\x1b[K%d %\n", Humid); |
POTLESS_2 | 9:04bfdfc029cb | 134 | printf("\n"); |
POTLESS_2 | 8:a750d531b381 | 135 | printf("\x1b[0m\r Cell O2 n 1 = \x1b[1m\x1b[K%d\n", CellO2_1); |
POTLESS_2 | 8:a750d531b381 | 136 | printf("\x1b[0m\r Cell O2 n 2 = \x1b[1m\x1b[K%d\n", CellO2_2); |
POTLESS_2 | 8:a750d531b381 | 137 | printf("\n"); |
POTLESS_2 | 9:04bfdfc029cb | 138 | printf("\x1b[0m\r Temps d execution de la boucle = \x1b[1m\x1b[K%f secondes\n", RATE); |
POTLESS_2 | 9:04bfdfc029cb | 139 | printf("\r\n", ""); |
POTLESS_2 | 9:04bfdfc029cb | 140 | printf("\x1b[0m\r A enregistrer = \x1b[1m\x1b[K%s\n", to_store); |
POTLESS_2 | 9:04bfdfc029cb | 141 | printf("\r\n", ""); |
POTLESS_2 | 8:a750d531b381 | 142 | */ |
POTLESS_2 | 4:d84250f67dec | 143 | } |
POTLESS_2 | 4:d84250f67dec | 144 | |
POTLESS_2 | 7:ad15c386e960 | 145 | //Callback de l'intérruption des envois de commandes au Cozir |
POTLESS_2 | 6:ebed9093d661 | 146 | void callbackParam() |
POTLESS_2 | 4:d84250f67dec | 147 | { |
POTLESS_2 | 6:ebed9093d661 | 148 | while(serialMonit.readable()) { |
POTLESS_2 | 6:ebed9093d661 | 149 | if (indexParam == sizeParam) //éviter la saturation du buffer |
POTLESS_2 | 6:ebed9093d661 | 150 | serialMonit.getc(); |
POTLESS_2 | 6:ebed9093d661 | 151 | else |
POTLESS_2 | 6:ebed9093d661 | 152 | param [indexParam++] = serialMonit.getc();//chargement du buffer dans le message |
POTLESS_2 | 6:ebed9093d661 | 153 | if ((indexParam == sizeParam) || (param[indexParam -1] == '\n')) {//le message est complet ou nouvelle ligne ou autre si on veut... |
POTLESS_2 | 6:ebed9093d661 | 154 | param[indexParam] = 0; |
POTLESS_2 | 6:ebed9093d661 | 155 | newParamFlag = true; |
POTLESS_2 | 6:ebed9093d661 | 156 | } |
POTLESS_2 | 4:d84250f67dec | 157 | } |
POTLESS_2 | 6:ebed9093d661 | 158 | } |
POTLESS_2 | 4:d84250f67dec | 159 | |
POTLESS_2 | 9:04bfdfc029cb | 160 | |
POTLESS_2 | 9:04bfdfc029cb | 161 | //Callback de l'intérruption des envois de commandes depuis Android |
POTLESS_2 | 9:04bfdfc029cb | 162 | void callbackAndroid() |
POTLESS_2 | 9:04bfdfc029cb | 163 | { |
POTLESS_2 | 9:04bfdfc029cb | 164 | while(android.readable()) { |
POTLESS_2 | 9:04bfdfc029cb | 165 | if (indexAndroid == sizeAndroid) //éviter la saturation du buffer |
POTLESS_2 | 9:04bfdfc029cb | 166 | android.getc(); |
POTLESS_2 | 9:04bfdfc029cb | 167 | else |
POTLESS_2 | 9:04bfdfc029cb | 168 | Android [indexAndroid++] = android.getc();//chargement du buffer dans le message |
POTLESS_2 | 9:04bfdfc029cb | 169 | if ((indexAndroid == sizeAndroid) || (Android[indexAndroid -1] == '\n')) {//le message est complet ou nouvelle ligne ou autre si on veut... |
POTLESS_2 | 9:04bfdfc029cb | 170 | Android[indexAndroid] = 0; |
POTLESS_2 | 9:04bfdfc029cb | 171 | newAndroidFlag = true; |
POTLESS_2 | 9:04bfdfc029cb | 172 | } |
POTLESS_2 | 9:04bfdfc029cb | 173 | } |
POTLESS_2 | 9:04bfdfc029cb | 174 | } |
POTLESS_2 | 9:04bfdfc029cb | 175 | void Decoding_Message(char message []) |
POTLESS_2 | 9:04bfdfc029cb | 176 | { |
POTLESS_2 | 9:04bfdfc029cb | 177 | char *commande = 0; |
POTLESS_2 | 9:04bfdfc029cb | 178 | int valeur = 0; |
POTLESS_2 | 9:04bfdfc029cb | 179 | |
POTLESS_2 | 9:04bfdfc029cb | 180 | sscanf(message,"%s %d",&commande , &valeur); |
POTLESS_2 | 9:04bfdfc029cb | 181 | |
POTLESS_2 | 9:04bfdfc029cb | 182 | if ((char)commande == 'T') { |
POTLESS_2 | 9:04bfdfc029cb | 183 | set_time(valeur); |
POTLESS_2 | 9:04bfdfc029cb | 184 | } else { |
POTLESS_2 | 9:04bfdfc029cb | 185 | sensors.cozirSend(message); |
POTLESS_2 | 9:04bfdfc029cb | 186 | } |
POTLESS_2 | 9:04bfdfc029cb | 187 | |
POTLESS_2 | 9:04bfdfc029cb | 188 | //wait_ms(500); |
POTLESS_2 | 9:04bfdfc029cb | 189 | strcpy(param," "); |
POTLESS_2 | 9:04bfdfc029cb | 190 | indexParam = 0; |
POTLESS_2 | 9:04bfdfc029cb | 191 | newParamFlag = false; |
POTLESS_2 | 9:04bfdfc029cb | 192 | } |
POTLESS_2 | 9:04bfdfc029cb | 193 | |
POTLESS_2 | 9:04bfdfc029cb | 194 | void Decoding_Message_Android(char message []) |
POTLESS_2 | 9:04bfdfc029cb | 195 | { |
POTLESS_2 | 9:04bfdfc029cb | 196 | char *commande = 0; |
POTLESS_2 | 9:04bfdfc029cb | 197 | int valeur = 0; |
POTLESS_2 | 9:04bfdfc029cb | 198 | |
POTLESS_2 | 9:04bfdfc029cb | 199 | sscanf(message,"%s %d",&commande , &valeur); |
POTLESS_2 | 9:04bfdfc029cb | 200 | |
POTLESS_2 | 9:04bfdfc029cb | 201 | if ((char)commande == 'T') { |
POTLESS_2 | 9:04bfdfc029cb | 202 | set_time(valeur); |
POTLESS_2 | 9:04bfdfc029cb | 203 | } else if ((char)commande == 'R') { |
POTLESS_2 | 9:04bfdfc029cb | 204 | NVIC_SystemReset(); |
POTLESS_2 | 9:04bfdfc029cb | 205 | } |
POTLESS_2 | 9:04bfdfc029cb | 206 | |
POTLESS_2 | 9:04bfdfc029cb | 207 | //wait_ms(500); |
POTLESS_2 | 9:04bfdfc029cb | 208 | strcpy(Android," "); |
POTLESS_2 | 9:04bfdfc029cb | 209 | indexAndroid = 0; |
POTLESS_2 | 9:04bfdfc029cb | 210 | newAndroidFlag = false; |
POTLESS_2 | 9:04bfdfc029cb | 211 | } |
POTLESS_2 | 9:04bfdfc029cb | 212 | |
POTLESS_2 | 4:d84250f67dec | 213 | int main() |
POTLESS_2 | 4:d84250f67dec | 214 | { |
POTLESS_2 | 9:04bfdfc029cb | 215 | //UNIX TIMESTAMP depuis le erminal MAC = date +%s + 7200 pour heure d'été..... |
POTLESS_2 | 9:04bfdfc029cb | 216 | |
POTLESS_2 | 9:04bfdfc029cb | 217 | sensors.Sensors_INIT(false, true, 5, SPOOLING, DIGI_FILTER32, CALIB_AIR); |
POTLESS_2 | 6:ebed9093d661 | 218 | |
POTLESS_2 | 6:ebed9093d661 | 219 | serialMonit.attach(&callbackParam, Serial::RxIrq); |
POTLESS_2 | 6:ebed9093d661 | 220 | |
POTLESS_2 | 9:04bfdfc029cb | 221 | android.attach(&callbackAndroid, Serial::RxIrq); |
POTLESS_2 | 9:04bfdfc029cb | 222 | |
POTLESS_2 | 7:ad15c386e960 | 223 | serialMonit.printf(" Demarrage...\r\n\r\n Entrez les comandes COZIR si besoin :\r\n"); |
POTLESS_2 | 6:ebed9093d661 | 224 | |
POTLESS_2 | 7:ad15c386e960 | 225 | thread.start(Sensors_thread); |
POTLESS_2 | 9:04bfdfc029cb | 226 | |
POTLESS_2 | 7:ad15c386e960 | 227 | thread.set_priority(osPriorityRealtime); |
POTLESS_2 | 9:04bfdfc029cb | 228 | |
POTLESS_2 | 8:a750d531b381 | 229 | printf(CLS); |
POTLESS_2 | 9:04bfdfc029cb | 230 | |
POTLESS_2 | 7:ad15c386e960 | 231 | while (true) { |
POTLESS_2 | 6:ebed9093d661 | 232 | |
POTLESS_2 | 7:ad15c386e960 | 233 | //Démarrage du Timer mesurant le temps d'éxecution du code |
POTLESS_2 | 7:ad15c386e960 | 234 | REAL_RATE.start(); |
POTLESS_2 | 7:ad15c386e960 | 235 | |
POTLESS_2 | 7:ad15c386e960 | 236 | Affichage_moniteur(); |
POTLESS_2 | 9:04bfdfc029cb | 237 | |
POTLESS_2 | 6:ebed9093d661 | 238 | if (newParamFlag) { |
POTLESS_2 | 6:ebed9093d661 | 239 | wait_ms(500); |
POTLESS_2 | 6:ebed9093d661 | 240 | serialMonit.printf("Param = %s\r\n", param); |
POTLESS_2 | 9:04bfdfc029cb | 241 | Decoding_Message(param); |
POTLESS_2 | 9:04bfdfc029cb | 242 | } |
POTLESS_2 | 9:04bfdfc029cb | 243 | |
POTLESS_2 | 9:04bfdfc029cb | 244 | if (newAndroidFlag) { |
POTLESS_2 | 6:ebed9093d661 | 245 | wait_ms(500); |
POTLESS_2 | 9:04bfdfc029cb | 246 | serialMonit.printf("Android = %s\r\n", Android); |
POTLESS_2 | 9:04bfdfc029cb | 247 | Decoding_Message_Android(Android); |
POTLESS_2 | 6:ebed9093d661 | 248 | } |
POTLESS_2 | 7:ad15c386e960 | 249 | |
POTLESS_2 | 9:04bfdfc029cb | 250 | //Vers Android |
POTLESS_2 | 9:04bfdfc029cb | 251 | if (NEED_ANDROID_OUTPUT == 1) { |
POTLESS_2 | 9:04bfdfc029cb | 252 | ANDROID(to_store); |
POTLESS_2 | 9:04bfdfc029cb | 253 | //build_send_Message_int("t", co2, ppO2); |
POTLESS_2 | 9:04bfdfc029cb | 254 | //build_send_Message_float("v", Temp1, pression); |
POTLESS_2 | 9:04bfdfc029cb | 255 | //build_send_Message_int("m", CellO2_1, CellO2_2); |
POTLESS_2 | 9:04bfdfc029cb | 256 | } |
POTLESS_2 | 9:04bfdfc029cb | 257 | |
POTLESS_2 | 9:04bfdfc029cb | 258 | wait_ms(500); |
POTLESS_2 | 9:04bfdfc029cb | 259 | |
POTLESS_2 | 9:04bfdfc029cb | 260 | sensors.Write_SD((string)to_store); |
POTLESS_2 | 9:04bfdfc029cb | 261 | |
POTLESS_2 | 7:ad15c386e960 | 262 | //Arrêt du Timer mesurant le temps d'éxecution du code |
POTLESS_2 | 7:ad15c386e960 | 263 | REAL_RATE.stop(); |
POTLESS_2 | 7:ad15c386e960 | 264 | //Définition de la nouvelle valeur du temps d'échantillonage du PID. |
POTLESS_2 | 7:ad15c386e960 | 265 | RATE = REAL_RATE.read(); |
POTLESS_2 | 7:ad15c386e960 | 266 | //Reset du Timer |
POTLESS_2 | 7:ad15c386e960 | 267 | REAL_RATE.reset(); |
POTLESS_2 | 9:04bfdfc029cb | 268 | |
POTLESS_2 | 4:d84250f67dec | 269 | } |
POTLESS_2 | 4:d84250f67dec | 270 | } |