From 560715fd0bfe35e81cb25e9c03b9e36888675a5a Mon Sep 17 00:00:00 2001 From: Leon Krieg Date: Thu, 19 Sep 2024 20:21:18 +0200 Subject: [PATCH] Make sure dewpoint calculations are correct --- src/main.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/main.c b/src/main.c index 414f566..624966a 100644 --- a/src/main.c +++ b/src/main.c @@ -12,6 +12,7 @@ // TODO: Check thermistor conversion results /w thermometer. // TODO: Implement optional CRC8 sensor measurement check. // TODO: Use 18.432MHz quarz crystal, burn required fuses. +// TODO: Make sure nothing breaks with negative temperatures. // TODO: Write an improved command parser (low priority). // TODO: Proper error handling and recovery (after testing). @@ -110,7 +111,7 @@ static int Init(void) static void Update(void) { - float t[6], rh[3]; + float t[6], rh[3], dp[3]; word raw; Info("Reading sensor values..."); @@ -133,9 +134,13 @@ static void Update(void) raw = I2C_ADS1115_ReadRaw(ADS03); t[5] = SteinhartHart(Resistance(raw)); - Info("T1=%.2fC, RH1=%.2f%%, NT1=%.2fC", t[0], rh[0], t[3]); - Info("T2=%.2fC, RH2=%.2f%%, NT2=%.2fC", t[1], rh[1], t[4]); - Info("T3=%.2fC, RH3=%.2f%%, NT3=%.2fC", t[2], rh[2], t[5]); + dp[0] = Dewp(t[0], rh[0]); + dp[1] = Dewp(t[1], rh[1]); + dp[2] = Dewp(t[2], rh[2]); + + Info("T1=%.2fC, RH1=%.2f%%, NT1=%.2fC, DEW1=%.2fC", t[0], rh[0], t[3], dp[0]); + Info("T2=%.2fC, RH2=%.2f%%, NT2=%.2fC, DEW2=%.2fC", t[1], rh[1], t[4], dp[1]); + Info("T3=%.2fC, RH3=%.2f%%, NT3=%.2fC, DEW3=%.2fC", t[2], rh[2], t[5], dp[2]); // TODO: Implement state machine // TODO: Handle serial commands