test AnalogIn_Diff.lib for board K64F

Dependencies:   AnalogIn_Diff_ok mbed

Files at this revision

API Documentation at this revision

Comitter:
fblanc
Date:
Fri Jul 11 13:01:16 2014 +0000
Parent:
1:c340607e4661
Child:
3:f1ab02bc87f3
Commit message:
test acplc87 230Vac ok;

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Thu Jul 10 14:44:30 2014 +0000
+++ b/main.cpp	Fri Jul 11 13:01:16 2014 +0000
@@ -1,12 +1,14 @@
 #include "mbed.h"
 #include "math.h"
 #include "MovingAverage.h"
+#define VERSION "11_07_2014"
+#define CIBLE "K64F"
 //USBSerial pc;
 #define max(a,b) (a>=b?a:b)
 #define min(a,b) (a<=b?a:b)
 struct {
-    double   gain;
-    double   offset;
+   float   gain;
+    float   offset;
 //AnalogIn adc;
 } adc_volt,adc_curr;
 Serial pc(USBTX, USBRX);
@@ -16,8 +18,8 @@
 DigitalOut led1(LED_RED);
 DigitalOut led2(LED_GREEN);
 DigitalOut led3(LED_BLUE);
-MovingAverage<float> Trms_float(100,230);
-//MovingAverage<int> Trms_int(100,0);
+MovingAverage<float> Trms(100,230);
+MovingAverage<float> moy(100,0);
 float min=250000;
 float max=0;
 bool min_OK=false;
@@ -27,9 +29,10 @@
     led1=1;
     int val_i32=adc_2.read_u16()-adc_1.read_u16(); //read ADC
 
-    val=((float)val_i32*adc_volt.gain)-adc_volt.offset;
-    Trms_float.Insert(val*val);
-    val=Trms_float.GetAverage();
+    val=(float)val_i32*adc_volt.gain-adc_volt.offset;
+moy.Insert(val);
+    Trms.Insert(val*val);
+    val=Trms.GetAverage();
     max=max(val,max);
     if(min_OK==true)
         min=min(val,min);
@@ -42,19 +45,21 @@
     led2=0;
     led3=1;
     pc.baud(115200);
-    adc_volt.gain=129.0*3.3/65535.0;
-    adc_volt.offset=0.0;
+    pc.printf("LAAS-CNRS ,HMA ,%s ,%s\r",CIBLE,VERSION);
+    adc_volt.gain=(1960.0*3.3)/65535.0;
+    adc_volt.offset=-17.0;
 
     flipperADC.attach_us(&flipADC, 200); //200µs
-    wait (1);
+    wait (5);
 min_OK=true;
     while (true) {
 
         
         led3=1;
 
-        pc.printf("RMS=%0.1f \r\n",sqrt(Trms_float.GetAverage()));
-        pc.printf("min=%0.1f max=%0.1f\r\n",sqrt(min),sqrt(max));
+        pc.printf("RMS=%f \r\n",sqrt(Trms.GetAverage()));
+        pc.printf("min=%0.0f max=%0.0f\r\n",sqrt(min),sqrt(max));
+        pc.printf("moy=%f \r\n",moy.GetAverage());
         led3=0;
         wait (1);
     }