diff --git a/adafruit_dps310.py b/adafruit_dps310.py index 32cdf53..dfbde62 100644 --- a/adafruit_dps310.py +++ b/adafruit_dps310.py @@ -45,6 +45,7 @@ __repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_DPS310.git" # Common imports; remove if unused or pylint will complain +import math from time import sleep import adafruit_bus_device.i2c_device as i2c_device from adafruit_register.i2c_struct import UnaryStruct, ROUnaryStruct @@ -234,6 +235,8 @@ def __init__(self, i2c_bus, address=_DPS310_DEFAULT_ADDRESS): 1040384, 2088960, ) + self.sea_level_pressure = 1013.25 + """Pressure in hectoPascals at sea level. Used to calibrate `altitude`.""" self.initialize() def initialize(self): @@ -301,6 +304,12 @@ def pressure(self): final_pressure = pres_calc / 100 return final_pressure + @property + def altitude(self): + """The altitude based on the sea level pressure (`sea_level_pressure`) - which you must + enter ahead of time)""" + return 44330 * (1.0 - math.pow(self.pressure / self.sea_level_pressure, 0.1903)) + @property def temperature(self): """The current temperature reading in degrees C"""