test AnalogIn_Diff.lib for board K64F
Dependencies: AnalogIn_Diff_ok mbed
Diff: main.cpp
- Revision:
- 2:bf4f474ff746
- Parent:
- 1:c340607e4661
- Child:
- 3:f1ab02bc87f3
diff -r c340607e4661 -r bf4f474ff746 main.cpp --- 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); }