From 1fea0e21ca79668509d62b9f36fc84135661f73b Mon Sep 17 00:00:00 2001 From: Melissa LeBlanc-Williams Date: Mon, 22 Jul 2019 13:41:29 -0700 Subject: [PATCH 1/7] First attempts at PyBadge LC fix --- adafruit_pybadger.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/adafruit_pybadger.py b/adafruit_pybadger.py index dd5af05..2ef876d 100644 --- a/adafruit_pybadger.py +++ b/adafruit_pybadger.py @@ -90,6 +90,8 @@ def __init__(self, i2c=None): self._accelerometer = adafruit_lis3dh.LIS3DH_I2C(i2c, address=0x19, int1=int1) except ValueError: self._accelerometer = adafruit_lis3dh.LIS3DH_I2C(i2c, int1=int1) + except RuntimeError: + self._accelerometer = None # Buttons self._buttons = GamePadShift(digitalio.DigitalInOut(board.BUTTON_CLOCK), @@ -202,7 +204,10 @@ def light(self): @property def acceleration(self): """Accelerometer data.""" - return self._accelerometer.acceleration + acceleration = None + if self._accelerometer is not None: + acceleration = self._accelerometer.acceleration + return acceleration @property def brightness(self): From c0e9f433408e48aaf5266c952b6870d465b84b42 Mon Sep 17 00:00:00 2001 From: Melissa LeBlanc-Williams Date: Mon, 22 Jul 2019 13:47:20 -0700 Subject: [PATCH 2/7] First attempts at PyBadge LC fix - Part 2 --- adafruit_pybadger.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/adafruit_pybadger.py b/adafruit_pybadger.py index 2ef876d..64f2090 100644 --- a/adafruit_pybadger.py +++ b/adafruit_pybadger.py @@ -83,16 +83,19 @@ class PyBadger: def __init__(self, i2c=None): # Accelerometer - if i2c is None: - i2c = board.I2C() - int1 = digitalio.DigitalInOut(board.ACCELEROMETER_INTERRUPT) try: - self._accelerometer = adafruit_lis3dh.LIS3DH_I2C(i2c, address=0x19, int1=int1) - except ValueError: - self._accelerometer = adafruit_lis3dh.LIS3DH_I2C(i2c, int1=int1) + if i2c is None: + i2c = board.I2C() + int1 = digitalio.DigitalInOut(board.ACCELEROMETER_INTERRUPT) except RuntimeError: self._accelerometer = None + if i2c is not None: + try: + self._accelerometer = adafruit_lis3dh.LIS3DH_I2C(i2c, address=0x19, int1=int1) + except ValueError: + self._accelerometer = adafruit_lis3dh.LIS3DH_I2C(i2c, int1=int1) + # Buttons self._buttons = GamePadShift(digitalio.DigitalInOut(board.BUTTON_CLOCK), digitalio.DigitalInOut(board.BUTTON_OUT), From fa0c95c75c43fcc9e141759d655a3bd10d0c1e23 Mon Sep 17 00:00:00 2001 From: Melissa LeBlanc-Williams Date: Mon, 22 Jul 2019 16:24:36 -0700 Subject: [PATCH 3/7] Nexted the try/except blocks --- adafruit_pybadger.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/adafruit_pybadger.py b/adafruit_pybadger.py index 64f2090..64e0942 100644 --- a/adafruit_pybadger.py +++ b/adafruit_pybadger.py @@ -87,14 +87,12 @@ def __init__(self, i2c=None): if i2c is None: i2c = board.I2C() int1 = digitalio.DigitalInOut(board.ACCELEROMETER_INTERRUPT) - except RuntimeError: - self._accelerometer = None - - if i2c is not None: try: self._accelerometer = adafruit_lis3dh.LIS3DH_I2C(i2c, address=0x19, int1=int1) except ValueError: self._accelerometer = adafruit_lis3dh.LIS3DH_I2C(i2c, int1=int1) + except RuntimeError: + self._accelerometer = None # Buttons self._buttons = GamePadShift(digitalio.DigitalInOut(board.BUTTON_CLOCK), From 78746dab39ca76dd4328b86397a587f9e3a7b568 Mon Sep 17 00:00:00 2001 From: Melissa LeBlanc-Williams Date: Mon, 22 Jul 2019 16:38:41 -0700 Subject: [PATCH 4/7] Un-nest the try/except blocks and move try/except under if statement --- adafruit_pybadger.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/adafruit_pybadger.py b/adafruit_pybadger.py index 64e0942..6a134b5 100644 --- a/adafruit_pybadger.py +++ b/adafruit_pybadger.py @@ -83,16 +83,18 @@ class PyBadger: def __init__(self, i2c=None): # Accelerometer - try: - if i2c is None: + if i2c is None: + try: i2c = board.I2C() + except RuntimeError: + self._accelerometer = None + + if i2c is not None: int1 = digitalio.DigitalInOut(board.ACCELEROMETER_INTERRUPT) try: self._accelerometer = adafruit_lis3dh.LIS3DH_I2C(i2c, address=0x19, int1=int1) except ValueError: self._accelerometer = adafruit_lis3dh.LIS3DH_I2C(i2c, int1=int1) - except RuntimeError: - self._accelerometer = None # Buttons self._buttons = GamePadShift(digitalio.DigitalInOut(board.BUTTON_CLOCK), From 7d9668fcc389455f4f5e721d1fb04943e76f7e17 Mon Sep 17 00:00:00 2001 From: Melissa LeBlanc-Williams Date: Mon, 22 Jul 2019 17:55:14 -0700 Subject: [PATCH 5/7] Shortened Acceleration Property --- adafruit_pybadger.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/adafruit_pybadger.py b/adafruit_pybadger.py index 6a134b5..025317f 100644 --- a/adafruit_pybadger.py +++ b/adafruit_pybadger.py @@ -207,10 +207,7 @@ def light(self): @property def acceleration(self): """Accelerometer data.""" - acceleration = None - if self._accelerometer is not None: - acceleration = self._accelerometer.acceleration - return acceleration + return self._accelerometer.acceleration if self._accelerometer is not None else None @property def brightness(self): From 0a868a2339d85f2ad56a567d72cfcc7738c98789 Mon Sep 17 00:00:00 2001 From: Melissa LeBlanc-Williams Date: Tue, 23 Jul 2019 08:17:35 -0700 Subject: [PATCH 6/7] Added comment to remove autodim if on PyBadge LC --- examples/pybadger_simpletest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/pybadger_simpletest.py b/examples/pybadger_simpletest.py index f5fa502..0b3f49d 100644 --- a/examples/pybadger_simpletest.py +++ b/examples/pybadger_simpletest.py @@ -5,7 +5,7 @@ pybadger.show_badge(name_string="Blinka", hello_scale=2, my_name_is_scale=2, name_scale=3) while True: - pybadger.auto_dim_display(delay=10) + pybadger.auto_dim_display(delay=10) # Remove this line if you have the PyBadge LC since there's no accelerometer if pybadger.button.a: pybadger.show_business_card(image_name="Blinka.bmp", name_string="Blinka", name_scale=2, email_string_one="blinka@", email_string_two="adafruit.com") From 45fb2849e37902c089d58b110612b324498da85b Mon Sep 17 00:00:00 2001 From: Melissa LeBlanc-Williams Date: Tue, 23 Jul 2019 08:25:17 -0700 Subject: [PATCH 7/7] Linting --- examples/pybadger_simpletest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/pybadger_simpletest.py b/examples/pybadger_simpletest.py index 0b3f49d..836fd13 100644 --- a/examples/pybadger_simpletest.py +++ b/examples/pybadger_simpletest.py @@ -5,7 +5,7 @@ pybadger.show_badge(name_string="Blinka", hello_scale=2, my_name_is_scale=2, name_scale=3) while True: - pybadger.auto_dim_display(delay=10) # Remove this line if you have the PyBadge LC since there's no accelerometer + pybadger.auto_dim_display(delay=10) # Remove or comment out this line if you have the PyBadge LC if pybadger.button.a: pybadger.show_business_card(image_name="Blinka.bmp", name_string="Blinka", name_scale=2, email_string_one="blinka@", email_string_two="adafruit.com")