diff options
-rw-r--r-- | tools/solarmeter/solarmeter.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/tools/solarmeter/solarmeter.c b/tools/solarmeter/solarmeter.c index e2c76e1..c4cb486 100644 --- a/tools/solarmeter/solarmeter.c +++ b/tools/solarmeter/solarmeter.c @@ -6,12 +6,14 @@ // u = input * 5/256 // u in V // i = input / 2.099 // i in mA -#define UFAC 5.0f/256.0f +#define UFAC 5.0f/256.0f*5.6f/1.89f int main (int argc, char* argv[]) { unsigned char tmp = 0; unsigned char buffer[9]; + float pow; + float pow_sum; int i; // printf ("blah\n"); @@ -24,11 +26,15 @@ int main (int argc, char* argv[]) printf ("read error\n"); return 0; } - printf ("%02.2fV ", buffer[8] * UFAC); + printf ("%5.2fV", buffer[8] * UFAC); + pow_sum = 0.0f; for (i = 0; i<8; i++) { - printf ("%02.2fmW ", (buffer[i] / 2.099f) * (buffer[8] * UFAC)); + pow = (buffer[i] / 2.099f) * (buffer[8] * UFAC); + printf (" %6.2fmW", pow); + pow_sum += pow; } + printf (" %6.2fmW", pow_sum); printf ("\r"); } } |