Module: MatrixCreator::Uv

Defined in:
lib/matrix_creator/uv.rb

Overview

Module: UV

Communicate with the UV driver

Constant Summary collapse

UV_CONFIG =

Configuration values for the UV driver

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

Base port to send data to UV driver

UV_CONFIG[:port]

Class Method Summary collapse

Class Method Details

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

Detects and returns information from the UV driver

Examples:

Detect 3 values for the UV driver

MatrixCreator::Uv.detect(max_resp: 3)

Detect values for the UV driver for 30 seconds

MatrixCreator::Uv.detect(max_secs: 30)

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

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

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

MatrixCreator::Uv.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/uv.rb', line 35

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

.detect_onceHash

Detects one response from the UV driver and returns its value

Returns:

  • (Hash)

    object with the UV response values



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

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