コード例 #1
0
    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
コード例 #2
0
    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)
コード例 #3
0
    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
コード例 #4
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
コード例 #5
0
    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)