lib/arduino_firmata/arduino.rb in arduino_firmata-0.2.2 vs lib/arduino_firmata/arduino.rb in arduino_firmata-0.2.3
- old
+ new
@@ -83,11 +83,11 @@
def reset
write SYSTEM_RESET
end
- def sysex(command, data)
+ def sysex(command, data=[])
## http://firmata.org/wiki/V2.1ProtocolDetails#Sysex_Message_Format
raise ArgumentError, 'command must be Number' unless command.kind_of? Fixnum
raise ArgumentError, 'data must be 7bit-Number or Those Array' unless [Fixnum, Array].include? data.class
write_data = data.kind_of?(Array) ? data : [data]
@@ -174,10 +174,10 @@
if @parsing_sysex
if input_data == END_SYSEX
@parsing_sysex = false
sysex_command = @stored_input_data[0]
- sysex_data = @stored_input_data[1..@sysex_bytes_read]
+ sysex_data = @stored_input_data[1...@sysex_bytes_read]
emit :sysex, sysex_command, sysex_data
else
@stored_input_data[@sysex_bytes_read] = input_data
@sysex_bytes_read += 1
end