From 826eed3da0e9c854f98cef8a5289e191319a455f Mon Sep 17 00:00:00 2001 From: Andrew Smith Date: Mon, 8 May 2023 17:07:17 -0700 Subject: [PATCH 1/3] Add Calculated Sea Level Pressure based on Altitude --- adafruit_bmp280.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/adafruit_bmp280.py b/adafruit_bmp280.py index 6ab9b1b..9586f50 100644 --- a/adafruit_bmp280.py +++ b/adafruit_bmp280.py @@ -368,6 +368,14 @@ def altitude(self) -> float: - which you must enter ahead of time)""" p = self.pressure # in Si units for hPascal return 44330 * (1.0 - math.pow(p / self.sea_level_pressure, 0.1903)) + + @property + def p0(self, altitude_m=0.0) -> float: + """The calculated sea level pressure based on altitude (:attr:`altitude`) + - which you must enter ahead of time)""" + p = self.pressure # in Si units for hPascal + p0 = p / math.pow(1.0 - altitude_m/44330.0, 5.255) + return p0 ####################### Internal helpers ################################ def _read_coefficients(self) -> None: From 30f3f8fbde9e37bfa38d6ddaad97b2044d2518e6 Mon Sep 17 00:00:00 2001 From: Andrew Smith Date: Sat, 13 May 2023 11:00:43 -0700 Subject: [PATCH 2/3] Update to Altitude setter --- adafruit_bmp280.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/adafruit_bmp280.py b/adafruit_bmp280.py index 9586f50..ebf8f76 100644 --- a/adafruit_bmp280.py +++ b/adafruit_bmp280.py @@ -369,13 +369,10 @@ def altitude(self) -> float: p = self.pressure # in Si units for hPascal return 44330 * (1.0 - math.pow(p / self.sea_level_pressure, 0.1903)) - @property - def p0(self, altitude_m=0.0) -> float: - """The calculated sea level pressure based on altitude (:attr:`altitude`) - - which you must enter ahead of time)""" + @altitude.setter + def altitude(self, value: float) -> None: p = self.pressure # in Si units for hPascal - p0 = p / math.pow(1.0 - altitude_m/44330.0, 5.255) - return p0 + self.sea_level_pressure = p / math.pow(1.0 - value/44330.0, 5.255) ####################### Internal helpers ################################ def _read_coefficients(self) -> None: From 480912ac032eafbb0ce923642522f5c848d5d9f1 Mon Sep 17 00:00:00 2001 From: Andrew Smith Date: Sun, 14 May 2023 13:56:16 -0700 Subject: [PATCH 3/3] formatted with black --- adafruit_bmp280.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adafruit_bmp280.py b/adafruit_bmp280.py index ebf8f76..2af58b9 100644 --- a/adafruit_bmp280.py +++ b/adafruit_bmp280.py @@ -368,11 +368,11 @@ def altitude(self) -> float: - which you must enter ahead of time)""" p = self.pressure # in Si units for hPascal return 44330 * (1.0 - math.pow(p / self.sea_level_pressure, 0.1903)) - + @altitude.setter def altitude(self, value: float) -> None: p = self.pressure # in Si units for hPascal - self.sea_level_pressure = p / math.pow(1.0 - value/44330.0, 5.255) + self.sea_level_pressure = p / math.pow(1.0 - value / 44330.0, 5.255) ####################### Internal helpers ################################ def _read_coefficients(self) -> None: