test AnalogIn_Diff.lib for board K64F
Dependencies: AnalogIn_Diff_ok mbed
Revision 2:bf4f474ff746, committed 2014-07-11
- 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);
}
frederic blanc
ADC DIFF K64F