Module: MatrixCreator::Imu

Defined in:
lib/matrix_creator/imu.rb

Overview

Module: IMU

Communicate with the IMU driver

Constant Summary collapse

IMU_CONFIG =

Configuration values for the IMU driver

MatrixCreator.settings[:devices][:imu]
BASE_PORT =

Base port to send data to IMU driver

IMU_CONFIG[:port]

Class Method Summary collapse

Class Method Details

.detect(options = {}, &block) ⇒ Array

Detects and returns information from the IMU driver

Examples:

Detect 3 values for the IMU driver

MatrixCreator::Imu.detect(max_resp: 3)

Detect values for the IMU driver for 30 seconds

MatrixCreator::Imu.detect(max_secs: 30)

Detect values for the IMU driver with a speed of 0.5 seconds per response

MatrixCreator::Imu.detect(max_secs: 30, speed: 0.5)

Detect values for the IMU driver for 15 seconds and process data when received

MatrixCreator::Imu.detect(max_resp: 10){ |data|
  // Do something with the data
}

Parameters:

  • options (Hash) (defaults to: {})

    of keys and values that can contain speed, max_resp and/or max_secs

Returns:

  • (Array)

    elements detected in JSON format



35
36
37
# File 'lib/matrix_creator/imu.rb', line 35

def self.detect(options = {}, &block)
  MatrixCreator::DriverBase.detect(BASE_PORT, MatrixMalos::Imu, options, block)
end

.detect_onceHash

Detects one response from the IMU driver and returns its value

Returns:

  • (Hash)

    object with the IMU response values



44
45
46
# File 'lib/matrix_creator/imu.rb', line 44

def self.detect_once
  detect(max_resp: 1).first
end