carte esclave Petit Robot

Dependencies:   mbed Herkulex_Library_2019 actions_Gr ident_crac actions_Pr

Revision:
9:9833e788942b
Parent:
8:8aeb718824ea
Child:
10:48c0d1b8aed9
--- a/Capteurs/dt.cpp	Thu May 16 11:58:17 2019 +0000
+++ b/Capteurs/dt.cpp	Fri May 17 10:39:09 2019 +0000
@@ -12,6 +12,8 @@
 DigitalIn DT3_isr(PA_6);
 DigitalIn DT4_isr(PA_4);
 
+Timer t;
+
 double DT1_mes[256]= {0};
 double DT1_trait[256]= {0};
 double DT1_trait_Ex;
@@ -29,35 +31,44 @@
 double DT4_trait_Ex;
 
 unsigned char n = 0;
+bool flag_t=0;
 
 void f_mesure()
 {
-    n++;
-    DT1.read();//lecture dans le vide le temp que l'adc switch
-    wait_us(100);//attente du switch de l'adc
-    DT1_mes[n]= DT1.read() * A + B;
-    DT1_trait[n] = mediane(DT1_mes, 10);
-    DT1_trait_Ex = DT1_trait[n];
-    
-    DT2.read();//lecture dans le vide le temp que l'adc switch
-    wait_us(100);//attente du switch de l'adc
-    DT2_mes[n]= DT2.read() * A + B;
-    DT2_trait[n] = mediane(DT2_mes, 10);
-    DT2_trait_Ex = DT2_trait[n];
-    
-    DT3.read();//lecture dans le vide le temp que l'adc switch
-    wait_us(100);//attente du switch de l'adc
-    DT3_mes[n]= DT3.read() * A + B;
-    DT3_trait[n] = mediane(DT3_mes, 10);
-    DT3_trait_Ex = DT3_trait[n];
-    
-    DT4.read();//lecture dans le vide le temp que l'adc switch
-    wait_us(100);//attente du switch de l'adc
-    DT4_mes[n]= DT4.read() * A + B;
-    DT4_trait[n] = mediane(DT4_mes, 10);
-    DT4_trait_Ex = DT4_trait[n];
+    if(!flag_t) {
+        t.start();
+        flag_t=1;
+    }
+
+    if (t.read_ms() >= 4) {
+        n++;
+        DT1.read();//lecture dans le vide le temp que l'adc switch
+        wait_us(100);//attente du switch de l'adc
+        DT1_mes[n]= DT1.read() * A + B;
+        DT1_trait[n] = mediane(DT1_mes, 10);
+        DT1_trait_Ex = DT1_trait[n];
 
-    wait_ms(4);
+        DT2.read();//lecture dans le vide le temp que l'adc switch
+        wait_us(100);//attente du switch de l'adc
+        DT2_mes[n]= DT2.read() * A + B;
+        DT2_trait[n] = mediane(DT2_mes, 10);
+        DT2_trait_Ex = DT2_trait[n];
+
+        DT3.read();//lecture dans le vide le temp que l'adc switch
+        wait_us(100);//attente du switch de l'adc
+        DT3_mes[n]= DT3.read() * A + B;
+        DT3_trait[n] = mediane(DT3_mes, 10);
+        DT3_trait_Ex = DT3_trait[n];
+
+        DT4.read();//lecture dans le vide le temp que l'adc switch
+        wait_us(100);//attente du switch de l'adc
+        DT4_mes[n]= DT4.read() * A + B;
+        DT4_trait[n] = mediane(DT4_mes, 10);
+        DT4_trait_Ex = DT4_trait[n];
+
+        t.reset();
+    }
+
 }
 
 double mediane(double* buff_med, int size_med)