Class: BirdbrainMicrobitInput
Overview
Copyright © 2021 Base2 Incorporated–All Rights Reserved.
Constant Summary
collapse
- MICROBIT_ORIENTATIONS =
['Screen%20Up', 'Screen%20Down', 'Tilt%20Left', 'Tilt%20Right', 'Logo%20Up', 'Logo%20Down']
- MICROBIT_ORIENTATION_RESULTS =
['Screen up', 'Screen down', 'Tilt left', 'Tilt right', 'Logo up', 'Logo down', 'In between']
- MICROBIT_ORIENTATION_IN_BETWEEN =
'In between'
BirdbrainRequest::BIRDBRAIN_TEST
Class Method Summary
collapse
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
.microbit?(device) ⇒ Boolean
9
10
11
|
# File 'lib/birdbrain/birdbrain_microbit_input.rb', line 9
def self.microbit?(device)
request_status(response_body('hummingbird', 'in', 'isHummingbird', 'static', device))
end
|
.microbit_accelerometer(device) ⇒ Object
13
14
15
|
# File 'lib/birdbrain/birdbrain_microbit_input.rb', line 13
def self.microbit_accelerometer(device)
xyz_response(device, 'Accelerometer')
end
|
25
26
27
|
# File 'lib/birdbrain/birdbrain_microbit_input.rb', line 25
def self.microbit_button?(device, button)
request_status(response_body('hummingbird', 'in', 'button', button, device))
end
|
.microbit_compass(device) ⇒ Object
17
18
19
|
# File 'lib/birdbrain/birdbrain_microbit_input.rb', line 17
def self.microbit_compass(device)
(response = response_body('hummingbird', 'in', 'Compass', device)).nil? ? response : response.to_i
end
|
.microbit_magnetometer(device) ⇒ Object
21
22
23
|
# File 'lib/birdbrain/birdbrain_microbit_input.rb', line 21
def self.microbit_magnetometer(device)
xyz_response(device, 'Magnetometer')
end
|
.microbit_orientation(device) ⇒ Object
33
34
35
36
37
38
39
40
41
|
# File 'lib/birdbrain/birdbrain_microbit_input.rb', line 33
def self.microbit_orientation(device)
MICROBIT_ORIENTATIONS.each_with_index do |orientation, index|
return nil if (response = response_body('hummingbird', 'in', 'orientation', orientation, device)).nil?
return MICROBIT_ORIENTATION_RESULTS[index] if request_status(response)
end
MICROBIT_ORIENTATION_IN_BETWEEN
end
|
.microbit_orientation_logo_down?(device) ⇒ Boolean
63
64
65
|
# File 'lib/birdbrain/birdbrain_microbit_input.rb', line 63
def self.microbit_orientation_logo_down?(device)
orientation_check(device, 5)
end
|
.microbit_orientation_logo_up?(device) ⇒ Boolean
59
60
61
|
# File 'lib/birdbrain/birdbrain_microbit_input.rb', line 59
def self.microbit_orientation_logo_up?(device)
orientation_check(device, 4)
end
|
.microbit_orientation_screen_down?(device) ⇒ Boolean
47
48
49
|
# File 'lib/birdbrain/birdbrain_microbit_input.rb', line 47
def self.microbit_orientation_screen_down?(device)
orientation_check(device, 1)
end
|
.microbit_orientation_screen_up?(device) ⇒ Boolean
43
44
45
|
# File 'lib/birdbrain/birdbrain_microbit_input.rb', line 43
def self.microbit_orientation_screen_up?(device)
orientation_check(device, 0)
end
|
.microbit_orientation_tilt_left?(device) ⇒ Boolean
51
52
53
|
# File 'lib/birdbrain/birdbrain_microbit_input.rb', line 51
def self.microbit_orientation_tilt_left?(device)
orientation_check(device, 2)
end
|
.microbit_orientation_tilt_right?(device) ⇒ Boolean
55
56
57
|
# File 'lib/birdbrain/birdbrain_microbit_input.rb', line 55
def self.microbit_orientation_tilt_right?(device)
orientation_check(device, 3)
end
|
.microbit_shaking?(device) ⇒ Boolean
29
30
31
|
# File 'lib/birdbrain/birdbrain_microbit_input.rb', line 29
def self.microbit_shaking?(device)
request_status(response_body('hummingbird', 'in', 'orientation', 'Shake', device))
end
|