Sha256: f9ba8a7b72618aba2559ba0d64d493a736d3a41c8f4e297b9086037bb381684f

Contents?: true

Size: 812 Bytes

Versions: 5

Compression:

Stored size: 812 Bytes

Contents

require_relative 'logger'
require 'firmata'

module WallE
  module SerialSnoop
    extend self
    extend Logger

    def locate_ports
      ports = Dir['/dev/*'].grep(/usb|acm/)
      board = nil
      if ports.any?
        what = 'serial port'
        what << 's' unless ports.one?

        info "Found possible #{what} #{ports}"
        ports.each do |port|
          begin
            info "Connecting to #{port}..."
            board = Firmata::Board.new(port)
            info "Connected to #{port}."
            break # we've found a board
          rescue => e
            error e.message
            board = nil
          end
        end
      else
        error 'Error: No USB devices detected'
      end

      error 'Error: Unable to connect to USB device' unless board

      board
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
wall_e-0.1.0 lib/wall_e/serial_snoop.rb
wall_e-0.0.4 lib/wall_e/serial_snoop.rb
wall_e-0.0.3 lib/wall_e/serial_snoop.rb
wall_e-0.0.2 lib/wall_e/serial_snoop.rb
wall_e-0.0.1 lib/wall_e/serial_snoop.rb