From 526806cfcb5febb7c4a8653ce2b038d80c367fcf Mon Sep 17 00:00:00 2001 From: norbert-walter Date: Sun, 27 Mar 2022 16:05:51 +0200 Subject: [PATCH] Fix for hanging voltage page by using average values --- lib/obp60task/OBPSensorTask.cpp | 6 ++++++ lib/obp60task/PageVoltage.cpp | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/obp60task/OBPSensorTask.cpp b/lib/obp60task/OBPSensorTask.cpp index db639d4..035b92d 100644 --- a/lib/obp60task/OBPSensorTask.cpp +++ b/lib/obp60task/OBPSensorTask.cpp @@ -283,6 +283,12 @@ void sensorTask(void *param){ if(millis() > starttime5 + 1000 && String(powsensor1) == "off"){ starttime5 = millis(); sensors.batteryVoltage = (float(analogRead(OBP_ANALOG0)) * 3.3 / 4096 + 0.17) * 20; // Vin = 1/20 + // Save new data in average array + batV.reading(int(sensors.batteryVoltage * 100)); + // Calculate the average values for different time lines from integer values + sensors.batteryVoltage10 = batV.getAvg(10) / 100.0; + sensors.batteryVoltage60 = batV.getAvg(60) / 100.0; + sensors.batteryVoltage300 = batV.getAvg(300) / 100.0; // Send to NMEA200 bus if(!isnan(sensors.batteryVoltage)){ SetN2kDCBatStatus(N2kMsg, 0, sensors.batteryVoltage, N2kDoubleNA, N2kDoubleNA, 1); diff --git a/lib/obp60task/PageVoltage.cpp b/lib/obp60task/PageVoltage.cpp index 9945cbd..a248b43 100644 --- a/lib/obp60task/PageVoltage.cpp +++ b/lib/obp60task/PageVoltage.cpp @@ -85,7 +85,7 @@ public: value1 = commonData.data.batteryVoltage300; // Average 300s break; default: - value1 = commonData.data.batteryVoltage; // Default + value1 = commonData.data.batteryVoltage; // Default break; } bool valid1 = true;