Class: BirdbrainHummingbirdOutput
Overview
Copyright © 2021 Base2 Incorporated–All Rights Reserved.
Constant Summary
BirdbrainRequest::BIRDBRAIN_TEST
Class Method Summary
collapse
-
.led(device, port, intensity) ⇒ Object
-
.play_note(device, note, beats) ⇒ Object
-
.position_servo(device, port, angle) ⇒ Object
-
.rotation_servo(device, port, speed) ⇒ Object
-
.tri_led(device, port, r_intensity, g_intensity, b_intensity) ⇒ Object
bounds, calculate_angle, calculate_intensity, calculate_left_or_right, calculate_speed, connected?, disconnect, not_connected?, request_status, response, response_body, uri, xyz_response
Class Method Details
.led(device, port, intensity) ⇒ Object
5
6
7
|
# File 'lib/birdbrain/birdbrain_hummingbird_output.rb', line 5
def self.led(device, port, intensity)
request_status(response_body('hummingbird', 'out', 'led', port.to_s, bounds(calculate_intensity(intensity), 0, 255), device))
end
|
.play_note(device, note, beats) ⇒ Object
27
28
29
30
31
32
|
# File 'lib/birdbrain/birdbrain_hummingbird_output.rb', line 27
def self.play_note(device, note, beats)
calc_note = bounds(note, 32, 135)
calc_beats = bounds(beats, 0, 16) * 1000
request_status(response_body('hummingbird', 'out', 'playnote', calc_note, calc_beats, device))
end
|
.position_servo(device, port, angle) ⇒ Object
17
18
19
20
|
# File 'lib/birdbrain/birdbrain_hummingbird_output.rb', line 17
def self.position_servo(device, port, angle)
request_status(response_body('hummingbird', 'out', 'servo', port.to_s, bounds(calculate_angle(angle), 0, 254), device))
end
|
.rotation_servo(device, port, speed) ⇒ Object
22
23
24
25
|
# File 'lib/birdbrain/birdbrain_hummingbird_output.rb', line 22
def self.rotation_servo(device, port, speed)
request_status(response_body('hummingbird', 'out', 'rotation', port.to_s, bounds(calculate_speed(speed), 99, 145, 255), device))
end
|
.tri_led(device, port, r_intensity, g_intensity, b_intensity) ⇒ Object
9
10
11
12
13
14
15
|
# File 'lib/birdbrain/birdbrain_hummingbird_output.rb', line 9
def self.tri_led(device, port, r_intensity, g_intensity, b_intensity)
calc_r = bounds(calculate_intensity(r_intensity), 0, 255)
calc_g = bounds(calculate_intensity(g_intensity), 0, 255)
calc_b = bounds(calculate_intensity(b_intensity), 0, 255)
request_status(response_body('hummingbird', 'out', 'triled', port.to_s, calc_r, calc_g, calc_b, device))
end
|