diff --git a/examples/bmi088_shuttle_board.py b/examples/bmi088_shuttle_board.py index dabb73e..3e21f95 100644 --- a/examples/bmi088_shuttle_board.py +++ b/examples/bmi088_shuttle_board.py @@ -1,5 +1,6 @@ import logging import sys +import time from pathlib import Path from umrx_app_v3.shuttle_board.bmi088.bmi088_shuttle import BMI088Shuttle @@ -13,7 +14,23 @@ logging.StreamHandler(sys.stdout), ], ) + shuttle = BMI088Shuttle.on_hardware_v3_rev1() + shuttle.initialize() + shuttle.check_connected_hw() - shuttle = BMI088Shuttle.on_hardware_v3_rev0() + shuttle.configure_i2c() + logging.info(f"acc_chip_id=0x{shuttle.sensor.acc_chip_id:02X}") + logging.info(f"gyro_chip_id=0x{shuttle.sensor.gyro_chip_id:02X}") - shuttle.initialize() + time.sleep(0.1) + shuttle.configure_spi() + _ = shuttle.board.read_spi(shuttle.CSB1, 0, 1) # first read is required + + logging.info(f"acc_chip_id=0x{shuttle.sensor.acc_chip_id:02X}") + logging.info(f"gyro_chip_id=0x{shuttle.sensor.gyro_chip_id:02X}") + + time.sleep(0.1) + logging.info(f"acc_status=0x{shuttle.sensor.acc_status:02X}") + logging.info(f"acc_fifo_config_1=0x{shuttle.sensor.acc_fifo_config_1:02X}") + + logging.info(f"acc_conf=0x{shuttle.sensor.acc_conf:02X}") diff --git a/src/umrx_app_v3/shuttle_board/bmi088/bmi088_shuttle.py b/src/umrx_app_v3/shuttle_board/bmi088/bmi088_shuttle.py index d71fea7..6c1fc6f 100644 --- a/src/umrx_app_v3/shuttle_board/bmi088/bmi088_shuttle.py +++ b/src/umrx_app_v3/shuttle_board/bmi088/bmi088_shuttle.py @@ -108,10 +108,12 @@ def read_accel_register(self, reg_addr: int, bytes_to_read: int = 1) -> array[in return values[0] return values if self.is_spi_configured: - values = self.board.read_spi(self.CSB1, reg_addr, bytes_to_read) + if bytes_to_read == 1: + _ = self.board.read_spi(self.CSB1, reg_addr, 1) + values = self.board.read_spi(self.CSB1, reg_addr, bytes_to_read + 1) if bytes_to_read == 1: return values[0] - return values + return values[1:] error_message = "Configure I2C or SPI protocol prior to reading registers" raise BMI088ShuttleError(error_message)