Class: Prremote::Detector

Inherits:
Object
  • Object
show all
Defined in:
lib/prremote/detector.rb

Constant Summary collapse

R2P2_VENDOR_IDS =

Raspberry Pi USB VID

%w[2e8a].freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.find_deviceObject



7
8
9
# File 'lib/prremote/detector.rb', line 7

def self.find_device
  new.find_device
end

Instance Method Details

#find_deviceObject



11
12
13
14
15
16
17
# File 'lib/prremote/detector.rb', line 11

def find_device
  candidates = serial_ports
  return candidates.first if candidates.size == 1

  r2p2 = candidates.select { |p| r2p2_port?(p) }
  r2p2.first || candidates.first
end

#list_devicesObject



19
20
21
22
23
24
# File 'lib/prremote/detector.rb', line 19

def list_devices
  serial_ports.map do |port|
    label = r2p2_port?(port) ? 'R2P2/PicoRuby' : 'unknown'
    { port: port, label: label }
  end
end