Class: BirdbrainHummingbird

Inherits:
BirdbrainMicrobit show all
Defined in:
lib/birdbrain/birdbrain_hummingbird.rb

Overview


Copyright © 2021 Base2 Incorporated–All Rights Reserved.


Constant Summary collapse

LEFT =
BirdbrainDevice::LEFT
RIGHT =
BirdbrainDevice::RIGHT
VALID_LED_PORTS =
'123'
VALID_TRILED_PORTS =
'12'
VALID_SENSOR_PORTS =
'123'
VALID_SERVO_PORTS =
'1234'

Constants inherited from BirdbrainMicrobit

BirdbrainMicrobit::VALID_BUTTONS

Constants inherited from BirdbrainDevice

BirdbrainDevice::DEFAULT_DEVICE, BirdbrainDevice::VALID_DEVICES

Instance Attribute Summary

Attributes inherited from BirdbrainDevice

#connected, #device, #state

Instance Method Summary collapse

Methods inherited from BirdbrainMicrobit

#microbit_accelerometer, #microbit_button?, #microbit_clear_display, #microbit_compass, #microbit_display, #microbit_magnetometer, #microbit_orientation, #microbit_orientation_logo_down?, #microbit_orientation_logo_up?, #microbit_orientation_screen_down?, #microbit_orientation_screen_up?, #microbit_orientation_tilt_left?, #microbit_orientation_tilt_right?, #microbit_point, #microbit_print, #microbit_shaking?

Methods inherited from BirdbrainDevice

#connect, connect, #connected?, #connected_and_valid?, #disconnect, #finch?, find_device, #hummingbird?, #initialize, #microbit?, #valid?

Constructor Details

This class inherits a constructor from BirdbrainDevice

Instance Method Details

#dial(port) ⇒ Object



28
29
30
# File 'lib/birdbrain/birdbrain_hummingbird.rb', line 28

def dial(port)
  BirdbrainHummingbirdInput.dial(device, port) if connected_and_valid?(port, VALID_SENSOR_PORTS)
end

#distance(port) ⇒ Object



24
25
26
# File 'lib/birdbrain/birdbrain_hummingbird.rb', line 24

def distance(port)
  BirdbrainHummingbirdInput.distance(device, port) if connected_and_valid?(port, VALID_SENSOR_PORTS)
end

#led(port, intensity) ⇒ Object



44
45
46
# File 'lib/birdbrain/birdbrain_hummingbird.rb', line 44

def led(port, intensity)
  BirdbrainHummingbirdOutput.led(device, port, intensity) if connected_and_valid?(port, VALID_LED_PORTS)
end

#light(port) ⇒ Object



16
17
18
# File 'lib/birdbrain/birdbrain_hummingbird.rb', line 16

def light(port)
  BirdbrainHummingbirdInput.light(device, port) if connected_and_valid?(port, VALID_SENSOR_PORTS)
end

#play_note(note, beats) ⇒ Object



52
53
54
# File 'lib/birdbrain/birdbrain_hummingbird.rb', line 52

def play_note(note, beats)
  BirdbrainHummingbirdOutput.play_note(device, note, beats) if connected?
end

#position_servo(port, angle) ⇒ Object



36
37
38
# File 'lib/birdbrain/birdbrain_hummingbird.rb', line 36

def position_servo(port, angle)
  BirdbrainHummingbirdOutput.position_servo(device, port, angle) if connected_and_valid?(port, VALID_SERVO_PORTS)
end

#rotation_servo(port, speed) ⇒ Object



40
41
42
# File 'lib/birdbrain/birdbrain_hummingbird.rb', line 40

def rotation_servo(port, speed)
  BirdbrainHummingbirdOutput.rotation_servo(device, port, speed) if connected_and_valid?(port, VALID_SERVO_PORTS)
end

#sound(port) ⇒ Object



20
21
22
# File 'lib/birdbrain/birdbrain_hummingbird.rb', line 20

def sound(port)
  BirdbrainHummingbirdInput.sound(device, port) if connected_and_valid?(port, VALID_SENSOR_PORTS)
end

#tri_led(port, r_intensity, g_intensity, b_intensity) ⇒ Object



48
49
50
# File 'lib/birdbrain/birdbrain_hummingbird.rb', line 48

def tri_led(port, r_intensity, g_intensity, b_intensity)
  BirdbrainHummingbirdOutput.tri_led(device, port, r_intensity, g_intensity, b_intensity) if connected_and_valid?(port, VALID_TRILED_PORTS)
end

#valid_device_type?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'lib/birdbrain/birdbrain_hummingbird.rb', line 12

def valid_device_type?
  hummingbird?
end

#voltage(port) ⇒ Object



32
33
34
# File 'lib/birdbrain/birdbrain_hummingbird.rb', line 32

def voltage(port)
  BirdbrainHummingbirdInput.voltage(device, port) if connected_and_valid?(port, VALID_SENSOR_PORTS)
end