From 0dced6491dd2b71916d123ded2f7549adaff4312 Mon Sep 17 00:00:00 2001 From: Peter Hinch Date: Sat, 4 May 2019 10:10:48 +0100 Subject: [PATCH 1/3] mode setter enables changes and honors delays. --- adafruit_bno055.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/adafruit_bno055.py b/adafruit_bno055.py index 97af7a8..1c13fdd 100644 --- a/adafruit_bno055.py +++ b/adafruit_bno055.py @@ -197,6 +197,14 @@ def mode(self): """ return self._read_register(_MODE_REGISTER) + @mode.setter + def mode(self, new_mode): + self._write_register(_MODE_REGISTER, _CONFIG_MODE) # Empirically necessary + time.sleep_ms(0.02) # Datasheet table 3.6 + if new_mode != _CONFIG_MODE: + self._write_register(_MODE_REGISTER, new_mode) + time.sleep(0.01) # Table 3.6 + @property def calibration_status(self): """Tuple containing sys, gyro, accel, and mag calibration data.""" @@ -213,10 +221,6 @@ def calibrated(self): sys, gyro, accel, mag = self.calibration_status return sys == gyro == accel == mag == 0x03 - @mode.setter - def mode(self, new_mode): - self._write_register(_MODE_REGISTER, new_mode) - @property def external_crystal(self): """Switches the use of external crystal on or off.""" From 6408a1a3c79cb6f768cf1f321dd94e8054569912 Mon Sep 17 00:00:00 2001 From: Peter Hinch Date: Sun, 5 May 2019 09:00:37 +0100 Subject: [PATCH 2/3] Fix errors identified in review. --- adafruit_bno055.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/adafruit_bno055.py b/adafruit_bno055.py index 1c13fdd..d145f06 100644 --- a/adafruit_bno055.py +++ b/adafruit_bno055.py @@ -200,8 +200,8 @@ def mode(self): @mode.setter def mode(self, new_mode): self._write_register(_MODE_REGISTER, _CONFIG_MODE) # Empirically necessary - time.sleep_ms(0.02) # Datasheet table 3.6 - if new_mode != _CONFIG_MODE: + time.sleep(0.02) # Datasheet table 3.6 + if new_mode != CONFIG_MODE: self._write_register(_MODE_REGISTER, new_mode) time.sleep(0.01) # Table 3.6 From 29784ae7a17c3abf2a72b333c0982033650260c0 Mon Sep 17 00:00:00 2001 From: Peter Hinch Date: Sun, 5 May 2019 09:02:28 +0100 Subject: [PATCH 3/3] Fix errors identified in review. --- adafruit_bno055.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adafruit_bno055.py b/adafruit_bno055.py index d145f06..a9d76af 100644 --- a/adafruit_bno055.py +++ b/adafruit_bno055.py @@ -199,7 +199,7 @@ def mode(self): @mode.setter def mode(self, new_mode): - self._write_register(_MODE_REGISTER, _CONFIG_MODE) # Empirically necessary + self._write_register(_MODE_REGISTER, CONFIG_MODE) # Empirically necessary time.sleep(0.02) # Datasheet table 3.6 if new_mode != CONFIG_MODE: self._write_register(_MODE_REGISTER, new_mode)