def start(self): if self.device == None: self.log("ERROR", "Device not available") return False dev_board = self.device.board self.log("INFO", "Configuring device") lmw.mbl_mw_settings_set_connection_parameters(dev_board, 7.5, 7.5, 0, 6000) time.sleep(1.5) # Subscribe to accelerometer data acc = lmw.mbl_mw_acc_get_acceleration_data_signal(dev_board) lmw.mbl_mw_datasignal_subscribe(acc, None, self.callback_acc) # Subscribe to gyro data gyro = lmw.mbl_mw_gyro_bmi160_get_rotation_data_signal(dev_board) lmw.mbl_mw_datasignal_subscribe(gyro, None, self.callback_gyr) self.log("INFO", "Starting device...") # Enable accelerometer sampling lmw.mbl_mw_acc_enable_acceleration_sampling(dev_board) lmw.mbl_mw_acc_start(dev_board) # Enable gyrp sampling lmw.mbl_mw_gyro_bmi160_enable_rotation_sampling(dev_board) lmw.mbl_mw_gyro_bmi160_start(dev_board) self.log("INFO", "Device started.") return True
def start(self): libmetawear.mbl_mw_gyro_bmi160_enable_rotation_sampling( self.device.board) libmetawear.mbl_mw_acc_enable_acceleration_sampling(self.device.board) libmetawear.mbl_mw_gyro_bmi160_start(self.device.board) libmetawear.mbl_mw_acc_start(self.device.board)
def start(self): libmetawear.mbl_mw_gyro_bmi160_enable_rotation_sampling( self.device.board) libmetawear.mbl_mw_acc_enable_acceleration_sampling(self.device.board) libmetawear.mbl_mw_gyro_bmi160_start(self.device.board) libmetawear.mbl_mw_acc_start(self.device.board) if self.led: self.led_on(LedColor.GREEN, 0, False) self.led_on_bool = True self.steps_since_led_on = 0
def setup(self): # s represents a device's MAC address for s in self.states: # Device configuration print("Configuring device...") # Not sure what these parameters are for, but they're synchronized with the rest of the settings. libmetawear.mbl_mw_settings_set_connection_parameters( s.device.board, 7.5, 7.5, 0, 6000) # Acceleration libmetawear.mbl_mw_acc_set_odr(s.device.board, 25.0) # 25 Hz data collection rate libmetawear.mbl_mw_acc_set_range(s.device.board, 16.0) # Unsure libmetawear.mbl_mw_acc_write_acceleration_config( s.device.board) # Save to the board's configuration signal_acceleration = libmetawear.mbl_mw_acc_get_acceleration_data_signal( s.device.board) libmetawear.mbl_mw_datasignal_subscribe(signal_acceleration, s.callback_accel) libmetawear.mbl_mw_acc_enable_acceleration_sampling(s.device.board) # Gyrometer libmetawear.mbl_mw_gyro_bmi160_set_odr(s.device.board, 6) # 6 is index for 25 Hz libmetawear.mbl_mw_gyro_bmi160_write_config(s.device.board) signal_gyro = libmetawear.mbl_mw_gyro_bmi160_get_rotation_data_signal( s.device.board) libmetawear.mbl_mw_datasignal_subscribe(signal_gyro, s.callback_gyro) libmetawear.mbl_mw_gyro_bmi160_enable_rotation_sampling( s.device.board) # Magnometer libmetawear.mbl_mw_mag_bmm150_configure(s.device.board, 1, 1, 6) # 6 is index for 25 Hz signal_mag = libmetawear.mbl_mw_mag_bmm150_get_b_field_data_signal( s.device.board) libmetawear.mbl_mw_datasignal_subscribe(signal_mag, s.callback_mag) # Run LED - Stays green until IMUs / system starts with a pulse pattern = LedPattern(repeat_count=Const.LED_REPEAT_INDEFINITELY) libmetawear.mbl_mw_led_load_preset_pattern(byref(pattern), LedPreset.SOLID) libmetawear.mbl_mw_led_write_pattern(s.device.board, byref(pattern), LedColor.GREEN) libmetawear.mbl_mw_led_play(s.device.board) return
states.append(State(d)) for s in states: print("Configuring device") libmetawear.mbl_mw_settings_set_connection_parameters( s.device.board, 1.5, 1.5, 0, 6000) libmetawear.mbl_mw_gyro_bmi160_set_odr(s.device.board, AccBmi160Odr._50Hz) libmetawear.mbl_mw_gyro_bmi160_set_range(s.device.board, AccBoschRange._125dps) libmetawear.mbl_mw_gyro_bmi160_write_config(s.device.board) signal = libmetawear.mbl_mw_gyro_bmi160_get_rotation_data_signal( s.device.board) libmetawear.mbl_mw_datasignal_subscribe(signal, None, s.callback) libmetawear.mbl_mw_gyro_bmi160_enable_rotation_sampling(s.device.board) libmetawear.mbl_mw_gyro_bmi160_start(s.device.board) sleep(10.0) for s in states: libmetawear.mbl_mw_gyro_bmi160_stop(s.device.board) libmetawear.libmetawear.mbl_mw_gyro_bmi160_disable_rotation_sampling( s.device.board) signal = libmetawear.mbl_mw_gyro_bmi160_get_rotation_data_signal( s.device.board) libmetawear.mbl_mw_datasignal_unsubscribe(signal) libmetawear.mbl_mw_debug_disconnect(s.device.board) sleep(1.0)