Skip to content

Commit

Permalink
✨ bmi088 shuttle [#1]
Browse files Browse the repository at this point in the history
  • Loading branch information
selyunin committed Nov 20, 2024
1 parent b76b7e6 commit 71c13b9
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 4 deletions.
21 changes: 19 additions & 2 deletions examples/bmi088_shuttle_board.py
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -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}")
6 changes: 4 additions & 2 deletions src/umrx_app_v3/shuttle_board/bmi088/bmi088_shuttle.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down

0 comments on commit 71c13b9

Please sign in to comment.