From fe3232cfe3049e73b2fbb88d29a1f17aaf1bb9e8 Mon Sep 17 00:00:00 2001 From: Kai Lauterbach Date: Mon, 16 May 2022 10:45:08 +0200 Subject: [PATCH] Debug output of windspeed calculation added. --- firmware/config.h | 2 +- firmware/sensor_wind.ino | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/firmware/config.h b/firmware/config.h index 49753ac..cae52d4 100644 --- a/firmware/config.h +++ b/firmware/config.h @@ -27,7 +27,7 @@ #define WIFI_MINIMUM_SIGNAL_QUALITY 10 // percent #define RESET_ESP_TIME_INTERVAL_MS 3600000 -#define ROTOR_LENGTH_KM 0.000105 +#define ROTOR_LENGTH_KM 0.000115 #define WIND_SENSOR_MEAS_TIME_S 5.0 #define SEC_TO_HOUR_FACTOR (60.0 * 60.0) #define COUNT_TO_KMH ((TWO_PI * ROTOR_LENGTH_KM / WIND_SENSOR_MEAS_TIME_S) * SEC_TO_HOUR_FACTOR) diff --git a/firmware/sensor_wind.ino b/firmware/sensor_wind.ino index 6e61a71..cfda894 100644 --- a/firmware/sensor_wind.ino +++ b/firmware/sensor_wind.ino @@ -12,7 +12,8 @@ ICACHE_RAM_ATTR void _anemometerInterrupt() #endif } -float wind_speed() { +float wind_speed() +{ anemometerRotations = 0; int interruptNumber = digitalPinToInterrupt(ANEMOMETER_PIN); @@ -21,6 +22,13 @@ float wind_speed() { delay(1000 * WIND_SENSOR_MEAS_TIME_S); // time to measure detachInterrupt(interruptNumber); - return (float)anemometerRotations * COUNT_TO_KMH; + // calculate the speed as km/h + float tmp_speed = (float)anemometerRotations * COUNT_TO_KMH; + +#ifdef DEBUG + Serial.print("Windspeed: " + String(tmp_speed)); +#endif + + return tmp_speed; }