From 6828d1c67c0b2c85516082c47a4d4dbb4fa60054 Mon Sep 17 00:00:00 2001
From: Thomas Hooge <thomas@hoogi.de>
Date: Tue, 17 Dec 2024 19:40:41 +0100
Subject: [PATCH] Fix air pressure handling

---
 lib/obp60task/OBPSensorTask.cpp | 22 +++++++++++-----------
 lib/obp60task/PageBME280.cpp    |  4 ++--
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/lib/obp60task/OBPSensorTask.cpp b/lib/obp60task/OBPSensorTask.cpp
index be9f1b1..9466463 100644
--- a/lib/obp60task/OBPSensorTask.cpp
+++ b/lib/obp60task/OBPSensorTask.cpp
@@ -198,7 +198,7 @@ void sensorTask(void *param){
         else{
             api->getLogger()->logDebug(GwLog::LOG,"Modul BME280 found");
             sensors.airTemperature = bme280.readTemperature();
-            sensors.airPressure = bme280.readPressure()/100;
+            sensors.airPressure = bme280.readPressure();
             sensors.airHumidity = bme280.readHumidity();
             BME280_ready = true;
         }
@@ -210,7 +210,7 @@ void sensorTask(void *param){
         else{
             api->getLogger()->logDebug(GwLog::LOG,"Modul BMP280 found");
             sensors.airTemperature = bmp280.readTemperature();
-            sensors.airPressure  =bmp280.readPressure()/100;
+            sensors.airPressure = bmp280.readPressure();
             BMP280_ready = true;
         }
     }
@@ -221,7 +221,7 @@ void sensorTask(void *param){
         else{
             api->getLogger()->logDebug(GwLog::LOG,"Modul BMP085/BMP180 found");
             sensors.airTemperature = bmp085.readTemperature();
-            sensors.airPressure  =bmp085.readPressure()/100;
+            sensors.airPressure = bmp085.readPressure();
             BMP180_ready = true;
         }
     }
@@ -479,10 +479,10 @@ void sensorTask(void *param){
             starttime6 = millis();
             unsigned char TempSource = 2;       // Inside temperature
             unsigned char PressureSource = 0;   // Atmospheric pressure
-            unsigned char HumiditySource=0;     // Inside humidity
+            unsigned char HumiditySource = 0;   // Inside humidity
             if(envsensor == "BME280" && BME280_ready == true){
                 sensors.airTemperature = bme280.readTemperature();
-                sensors.airPressure = bme280.readPressure()/100;
+                sensors.airPressure = bme280.readPressure();
                 sensors.airHumidity = bme280.readHumidity();
                 // Send to NMEA200 bus
                 if(!isnan(sensors.airTemperature)){
@@ -494,33 +494,33 @@ void sensorTask(void *param){
                     api->sendN2kMessage(N2kMsg);
                 }
                 if(!isnan(sensors.airPressure)){
-                    SetN2kPGN130314(N2kMsg, 0, 0, (tN2kPressureSource) mBarToPascal(PressureSource), sensors.airPressure);
+                    SetN2kPGN130314(N2kMsg, 0, 0, (tN2kPressureSource) PressureSource, sensors.airPressure);
                     api->sendN2kMessage(N2kMsg);
                 }
             }
             else if(envsensor == "BMP280" && BMP280_ready == true){
                 sensors.airTemperature = bmp280.readTemperature();
-                sensors.airPressure  =bmp280.readPressure()/100;
+                sensors.airPressure = bmp280.readPressure();
                 // Send to NMEA200 bus
                 if(!isnan(sensors.airTemperature)){
                     SetN2kPGN130312(N2kMsg, 0, 0,(tN2kTempSource) TempSource, CToKelvin(sensors.airTemperature), N2kDoubleNA);
                     api->sendN2kMessage(N2kMsg);
                 }
                 if(!isnan(sensors.airPressure)){
-                    SetN2kPGN130314(N2kMsg, 0, 0, (tN2kPressureSource) mBarToPascal(PressureSource), sensors.airPressure);
+                    SetN2kPGN130314(N2kMsg, 0, 0, (tN2kPressureSource) PressureSource, sensors.airPressure);
                     api->sendN2kMessage(N2kMsg);
                 }
             }
             else if((envsensor == "BMP085" || envsensor == "BMP180") && BMP180_ready == true){
                 sensors.airTemperature = bmp085.readTemperature();
-                sensors.airPressure  =bmp085.readPressure()/100;
+                sensors.airPressure = bmp085.readPressure();
                 // Send to NMEA200 bus
                 if(!isnan(sensors.airTemperature)){
                     SetN2kPGN130312(N2kMsg, 0, 0,(tN2kTempSource) TempSource, CToKelvin(sensors.airTemperature), N2kDoubleNA);
                     api->sendN2kMessage(N2kMsg);
                 }
                 if(!isnan(sensors.airPressure)){
-                    SetN2kPGN130314(N2kMsg, 0, 0, (tN2kPressureSource) mBarToPascal(PressureSource), sensors.airPressure);
+                    SetN2kPGN130314(N2kMsg, 0, 0, (tN2kPressureSource) PressureSource, sensors.airPressure);
                     api->sendN2kMessage(N2kMsg);
                 }
             }
@@ -698,4 +698,4 @@ void sensorTask(void *param){
 void createSensorTask(SharedData *shared){
     xTaskCreate(sensorTask,"readSensors",10000,shared,3,NULL);
 }
-#endif
\ No newline at end of file
+#endif
diff --git a/lib/obp60task/PageBME280.cpp b/lib/obp60task/PageBME280.cpp
index 7c17b73..24654b7 100644
--- a/lib/obp60task/PageBME280.cpp
+++ b/lib/obp60task/PageBME280.cpp
@@ -86,7 +86,7 @@ class PageBME280 : public Page
         }
         // Display data when sensor activated
         if((String(useenvsensor) == "BME280") or (String(useenvsensor) == "BMP280")){
-            svalue3 = String(value3, 0);                // Formatted value as string including unit conversion and switching decimal places
+            svalue3 = String(value3 / 100, 1);          // Formatted value as string including unit conversion and switching decimal places
         }
         else{
             svalue3 = "---";
@@ -190,7 +190,7 @@ class PageBME280 : public Page
 
         // Switch font if format for any values
         getdisplay().setFont(&DSEG7Classic_BoldItalic30pt7b);
-        getdisplay().setCursor(180, 270);
+        getdisplay().setCursor(140, 270);
 
         // Show bus data
         getdisplay().print(svalue3);                         // Real value as formated string