fini (je crois)

Dependencies:   BSP_DISCO_L476VG LCD_DISCO_L476VG

Helo

Revision:
6:41d6f5a24ff0
Parent:
5:ff9848a77dac
Child:
7:01c904fd8ae3
--- a/main.cpp	Fri Jun 05 13:50:16 2020 +0000
+++ b/main.cpp	Fri Jun 05 18:42:14 2020 +0000
@@ -3,37 +3,51 @@
 #include "LCD_DISCO_L476VG.h"
 
 #define PI 3.14159265358979323846
-#define PER 1//0.0025
-#define res 100
+#define PER 1
+#define cadence 0.01
 
 LCD_DISCO_L476VG lcd;
 
 Serial pc(SERIAL_TX, SERIAL_RX);
 Ticker tick_cadence;
-bool flag_envoi = 0;
+Ticker tick_moy;
+bool flag_data = 0, flag_moy = 0;
 
 
-void interrupt(void){
-    flag_envoi = 1;
+void interrupt_data(void){
+    flag_data = 1;
+}
+void interrupt_moy(void){
+    flag_moy = 1;
 }
 
 int main(void){
     pc.baud(115200);
-    unsigned char i = 0;
     unsigned char display[7] = {0};
-    int y1;
-    unsigned char t;
+    float t, y1, y2, moy;
     
-    tick_cadence.attach(&interrupt, 0.01);
+    tick_cadence.attach(&interrupt_data, 0.01);
+    tick_moy.attach(&interrupt_moy, 1);
+    
 //-------------------------------------------------------------------------
     while(1){
         
-        if(flag_envoi){//                       envoi des données
-            pc.printf("$%d %d;",t, y1)
-            flag_envoi=0;
+        if(flag_data){//                       envoi des données
+            pc.printf("$%f %f;", y1, y2);
+            flag_data=0;
         }
-    y1 = 255*sin(2.0*PI*t/255.0);
-    t++;
-    wait(0.01);
+        if(flag_moy){//                         moyennage
+            moy = moy/256;
+            pc.printf("$%f %f %f;", y1, y2, moy);
+            moy = 0;
+            flag_moy = 0;
+        }
+        else
+            moy += y2;
+            
+    y1 = 2.0*sin(2.0*PI*(1.0/PER)*(t*cadence));
+    y2= 2* fabs(y1) ;
+    t++;;
+    wait(cadence);
     }
 }
\ No newline at end of file