From 627879da405dd10b10477db789e95aece07f502a Mon Sep 17 00:00:00 2001 From: brentru Date: Tue, 29 May 2018 13:01:49 -0400 Subject: [PATCH 1/3] created properties for tvoc, eco2. verified on hardware. changed example to reflect modifications --- adafruit_sgp30.py | 33 +++++++++++++++++++++++++++++++++ examples/sgp30_simpletest.py | 5 +++-- 2 files changed, 36 insertions(+), 2 deletions(-) mode change 100644 => 100755 adafruit_sgp30.py diff --git a/adafruit_sgp30.py b/adafruit_sgp30.py old mode 100644 new mode 100755 index c7b7731..c837ee4 --- a/adafruit_sgp30.py +++ b/adafruit_sgp30.py @@ -75,6 +75,39 @@ def __init__(self, i2c, address=_SGP30_DEFAULT_I2C_ADDR): raise RuntimeError('SGP30 Not detected') self.iaq_init() + self._co2eq = None # pylint: disable=invalid-name + self._tvoc = None # pylint: disable=invalid-name + self._tvoc_base = None # pylint: disable=invalid-name + self._co2eq_base = None # pylint: disable=invalid-name + + + @property + def tvoc(self): # pylint: disable=invalid-name + """Total Volatile Organic Compound in parts per billion.""" + self._tvoc = self.iaq_measure()[1] + return self._tvoc + + + @property + def tvoc_base(self): #pylint: disable=invalid-name + """Total Volatile Organic Compound baseline value""" + self._tvoc_base = self.get_iaq_baseline()[1] + return self._tvoc_base + + + @property + def co2eq(self): #pylint: disable=invalid-name + """Carbon Dioxide Equivalent in parts per million""" + self._co2eq = self.iaq_measure()[0] + return self._co2eq + + + @property + def co2eq_base(self): #pylint: disable=invalid-name + """Carbon Dioxide Equivalent baseline value""" + self._co2eq_base = self.get_iaq_baseline()[0] + return self._co2eq_base + def iaq_init(self): """Initialize the IAQ algorithm""" # name, command, signals, delay diff --git a/examples/sgp30_simpletest.py b/examples/sgp30_simpletest.py index fb9c44b..082e875 100644 --- a/examples/sgp30_simpletest.py +++ b/examples/sgp30_simpletest.py @@ -19,10 +19,11 @@ while True: co2eq, tvoc = sgp30.iaq_measure() - print("CO2eq = %d ppm \t TVOC = %d ppb" % (co2eq, tvoc)) + print("co2eq = %d ppm \t tvoc = %d ppb" % (sgp30.co2eq, sgp30.tvoc)) time.sleep(1) elapsed_sec += 1 if elapsed_sec > 10: elapsed_sec = 0 co2eq_base, tvoc_base = sgp30.get_iaq_baseline() - print("**** Baseline values: CO2eq = 0x%x, TVOC = 0x%x" % (co2eq_base, tvoc_base)) + print("**** Baseline values: co2eq = 0x%x, tvoc = 0x%x" + % (sgp30.co2eq_base, sgp30.tvoc_base)) From 2f292834562a441a006f663d821820e83a30bc01 Mon Sep 17 00:00:00 2001 From: brentru Date: Tue, 29 May 2018 13:45:56 -0400 Subject: [PATCH 2/3] changed baseline naming to reflect tannewt's comment --- adafruit_sgp30.py | 17 +++++++++-------- examples/sgp30_simpletest.py | 2 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/adafruit_sgp30.py b/adafruit_sgp30.py index c837ee4..51f4ea2 100755 --- a/adafruit_sgp30.py +++ b/adafruit_sgp30.py @@ -77,8 +77,8 @@ def __init__(self, i2c, address=_SGP30_DEFAULT_I2C_ADDR): self._co2eq = None # pylint: disable=invalid-name self._tvoc = None # pylint: disable=invalid-name - self._tvoc_base = None # pylint: disable=invalid-name - self._co2eq_base = None # pylint: disable=invalid-name + self._baseline_tvoc = None # pylint: disable=invalid-name + self._baseline_co2eq = None # pylint: disable=invalid-name @property @@ -89,10 +89,10 @@ def tvoc(self): # pylint: disable=invalid-name @property - def tvoc_base(self): #pylint: disable=invalid-name + def baseline_tvoc(self): #pylint: disable=invalid-name """Total Volatile Organic Compound baseline value""" - self._tvoc_base = self.get_iaq_baseline()[1] - return self._tvoc_base + self._baseline_tvoc = self.get_iaq_baseline()[1] + return self._baseline_tvoc @property @@ -103,10 +103,11 @@ def co2eq(self): #pylint: disable=invalid-name @property - def co2eq_base(self): #pylint: disable=invalid-name + def baseline_co2eq(self): #pylint: disable=invalid-name """Carbon Dioxide Equivalent baseline value""" - self._co2eq_base = self.get_iaq_baseline()[0] - return self._co2eq_base + self._baseline_co2eq = self.get_iaq_baseline()[0] + return self._baseline_co2eq + def iaq_init(self): """Initialize the IAQ algorithm""" diff --git a/examples/sgp30_simpletest.py b/examples/sgp30_simpletest.py index 082e875..b209b17 100644 --- a/examples/sgp30_simpletest.py +++ b/examples/sgp30_simpletest.py @@ -26,4 +26,4 @@ elapsed_sec = 0 co2eq_base, tvoc_base = sgp30.get_iaq_baseline() print("**** Baseline values: co2eq = 0x%x, tvoc = 0x%x" - % (sgp30.co2eq_base, sgp30.tvoc_base)) + % (sgp30.baseline_co2eq, sgp30.baseline_tvoc)) From e60204c729d57638797096c980692a2891bee093 Mon Sep 17 00:00:00 2001 From: brentru Date: Thu, 31 May 2018 13:40:21 -0400 Subject: [PATCH 3/3] made changes to reflect tannewt's review --- adafruit_sgp30.py | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/adafruit_sgp30.py b/adafruit_sgp30.py index 51f4ea2..8441276 100755 --- a/adafruit_sgp30.py +++ b/adafruit_sgp30.py @@ -75,38 +75,29 @@ def __init__(self, i2c, address=_SGP30_DEFAULT_I2C_ADDR): raise RuntimeError('SGP30 Not detected') self.iaq_init() - self._co2eq = None # pylint: disable=invalid-name - self._tvoc = None # pylint: disable=invalid-name - self._baseline_tvoc = None # pylint: disable=invalid-name - self._baseline_co2eq = None # pylint: disable=invalid-name - @property - def tvoc(self): # pylint: disable=invalid-name + def tvoc(self): """Total Volatile Organic Compound in parts per billion.""" - self._tvoc = self.iaq_measure()[1] - return self._tvoc + return self.iaq_measure()[1] @property - def baseline_tvoc(self): #pylint: disable=invalid-name + def baseline_tvoc(self): """Total Volatile Organic Compound baseline value""" - self._baseline_tvoc = self.get_iaq_baseline()[1] - return self._baseline_tvoc + return self.get_iaq_baseline()[1] @property - def co2eq(self): #pylint: disable=invalid-name + def co2eq(self): """Carbon Dioxide Equivalent in parts per million""" - self._co2eq = self.iaq_measure()[0] - return self._co2eq + return self.iaq_measure()[0] @property - def baseline_co2eq(self): #pylint: disable=invalid-name + def baseline_co2eq(self): """Carbon Dioxide Equivalent baseline value""" - self._baseline_co2eq = self.get_iaq_baseline()[0] - return self._baseline_co2eq + return self.get_iaq_baseline()[0] def iaq_init(self):