ADC logging with demo drive board for calibration
Dependencies: mbed MODSERIAL FastPWM ADS8568_ADC
Diff: main.cpp
- Revision:
- 8:325f68c1e3d2
- Parent:
- 7:2d695116d636
- Child:
- 9:3c5a43ce68bb
--- a/main.cpp Wed Jan 30 14:06:44 2019 +0000 +++ b/main.cpp Mon Feb 04 11:04:58 2019 +0000 @@ -63,6 +63,14 @@ double r1_mean2; double r1_sd; double r1_cv; + double r2_max = 0; + double r2_min = 1e10; + double r2_sum = 0; + double r2_sum2 = 0; + double r2_mean; + double r2_mean2; + double r2_sd; + double r2_cv; rLED = 0; yLED = 0; @@ -88,7 +96,7 @@ yLED = 0; gLED = 1; - sprintf(outString, "I1SIG, I1REF, V1POS, V1NEG, R1 I2SIG, I2REF, V2POS, V2NEG, R2\r\n"); + sprintf(outString, "I1SIG, IREF, V1POS, V1NEG, R1, I2SIG, IREF, V2POS, V2NEG, R2\r\n"); pc.printf("%s", outString); for (int x=0; x<n_samples; x++) { @@ -103,8 +111,12 @@ r2 = (double)(val_array[7]-val_array[6])/(double)(val_array[1]-val_array[2]); if (r1 < r1_min) { r1_min = r1; } if (r1 > r1_max) { r1_max = r1; } + if (r2 < r2_min) { r2_min = r2; } + if (r2 > r2_max) { r2_max = r2; } r1_sum = r1_sum + r1; r1_sum2 = r1_sum2 + (r1*r1); + r2_sum = r2_sum + r2; + r2_sum2 = r2_sum2 + (r2*r2); sprintf(outString, "%5d\t %5d\t %5d\t %5d\t %f %5d\t %5d\t %5d\t %5d\t %f\r\n", val_array[0], val_array[1], val_array[4], val_array[5], r1, val_array[2], val_array[1], val_array[6], val_array[7], r2); pc.printf("%s", outString); @@ -117,6 +129,11 @@ r1_sd = sqrt(r1_mean2-(r1_mean*r1_mean)); r1_cv = r1_sd/r1_mean; + r2_mean = r2_sum/n_samples; + r2_mean2 = r2_sum2/n_samples; + r2_sd = sqrt(r2_mean2-(r2_mean*r2_mean)); + r2_cv = r2_sd/r1_mean; + pc.printf("Statistics:\r\n"); pc.printf("n_samples : %d\r\n", n_samples); pc.printf("r1_mean : %f\r\n", r1_mean); @@ -125,6 +142,12 @@ pc.printf("r1_sd : %f\r\n", r1_sd); pc.printf("r1_cv : %f\r\n", r1_cv); + pc.printf("r2_mean : %f\r\n", r2_mean); + pc.printf("r2_min : %f\r\n", r2_min); + pc.printf("r2_max : %f\r\n", r2_max); + pc.printf("r2_sd : %f\r\n", r2_sd); + pc.printf("r2_cv : %f\r\n", r2_cv); + rLED = 0; }