class BirdbrainMicrobitInput

Constants

MICROBIT_ORIENTATIONS
MICROBIT_ORIENTATION_IN_BETWEEN
MICROBIT_ORIENTATION_RESULTS

Public Class Methods

microbit?(device) click to toggle source
# 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) click to toggle source
# File lib/birdbrain/birdbrain_microbit_input.rb, line 13
def self.microbit_accelerometer(device)
  xyz_response(device, 'Accelerometer')
end
microbit_button?(device, button) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# File lib/birdbrain/birdbrain_microbit_input.rb, line 21
def self.microbit_magnetometer(device)
  xyz_response(device, 'Magnetometer')
end
microbit_orientation(device) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# File lib/birdbrain/birdbrain_microbit_input.rb, line 55
def self.microbit_orientation_tilt_right?(device)
  orientation_check(device, 3)
end
microbit_shaking?(device) click to toggle source
# File lib/birdbrain/birdbrain_microbit_input.rb, line 29
def self.microbit_shaking?(device)
  request_status(response_body('hummingbird', 'in', 'orientation', 'Shake', device))
end

Private Class Methods

orientation_check(device, index) click to toggle source
# File lib/birdbrain/birdbrain_microbit_input.rb, line 67
                     def self.orientation_check(device, index)
  request_status(response_body('hummingbird', 'in', 'orientation', MICROBIT_ORIENTATIONS[index], device))
end