Module: ArduinoFirmata
- Defined in:
- lib/arduino_firmata.rb,
lib/arduino_firmata/main.rb,
lib/arduino_firmata/const.rb,
lib/arduino_firmata/error.rb,
lib/arduino_firmata/arduino.rb,
lib/arduino_firmata/version.rb
Defined Under Namespace
Classes: Arduino, Error, Params, Status
Constant Summary collapse
- INPUT =
0- OUTPUT =
1- ANALOG =
2- PWM =
3- SERVO =
4- SHIFT =
5- I2C =
6- LOW =
0- HIGH =
1- MAX_DATA_BYTES =
32- DIGITAL_MESSAGE =
send data for a digital port
0x90- ANALOG_MESSAGE =
send data for an analog pin (or PWM)
0xE0- REPORT_ANALOG =
enable analog input by pin
0xC0- REPORT_DIGITAL =
enable digital input by port
0xD0- SET_PIN_MODE =
set a pin to INPUT/OUTPUT/PWM/etc
0xF4- REPORT_VERSION =
report firmware version
0xF9- SYSTEM_RESET =
reset from MIDI
0xFF- START_SYSEX =
start a MIDI SysEx message
0xF0- END_SYSEX =
end a MIDI SysEx message
0xF7- VERSION =
'0.3.4'
Class Method Summary collapse
Class Method Details
.connect(serial_name = nil, params = {}, &block) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/arduino_firmata/main.rb', line 7 def self.connect(serial_name=nil, params={}, &block) serial_name = self.list[0] unless serial_name raise Error.new 'Arduino not found' unless serial_name Params.default.each do |k,v| params[k] = v unless params[k] end arduino = Arduino.new serial_name, params unless block_given? return arduino else arduino.instance_eval &block arduino.close end end |
.list ⇒ Object
3 4 5 |
# File 'lib/arduino_firmata/main.rb', line 3 def self.list Dir.entries('/dev').grep(/tty\.?(usb|acm)/i).map{|fname| "/dev/#{fname}"} end |