diff --git a/app/helpers/InSyncState.rb b/app/helpers/InSyncState.rb index 3e9e236..1efe2ab 100644 --- a/app/helpers/InSyncState.rb +++ b/app/helpers/InSyncState.rb @@ -1,10 +1,11 @@ class InSyncState < StatePattern::State - # END_OF_FRAME = "!\n" + END_OF_FRAME = "!\n" def handle_byte_stream(bytes) idx = 0 - sync_pattern_length = Synchronizer::SYNC_PATTERN.length + #sync_pattern_length = Synchronizer::SYNC_PATTERN.length + sync_pattern_length = END_OF_FRAME.length #p "Sync length: #{sync_length}" frame = "" @@ -30,6 +31,7 @@ class InSyncState < StatePattern::State private def new_frame_starts(bytes,idx,sync_pattern_length) - return bytes[idx..idx+sync_pattern_length-1].eql?(Synchronizer::SYNC_PATTERN) + #return bytes[idx..idx+sync_pattern_length-1].eql?(Synchronizer::SYNC_PATTERN) + return bytes[idx..idx+sync_pattern_length-1].eql?(END_OF_FRAME) end end \ No newline at end of file diff --git a/smartmeter.rb b/smartmeter.rb index df12350..954bfcb 100644 --- a/smartmeter.rb +++ b/smartmeter.rb @@ -14,8 +14,8 @@ ActiveRecord::Base.establish_connection(connection_details) # # Open connection to serial port ser = SerialPort.new("/dev/ttyUSB1", 9600, 7, 1, SerialPort::EVEN) lines = "" -for i in 0..22 - lines = lines+ser.readline("\n").gsub(/\r/, '') +for i in 0..21 + lines = lines+ser.readline("\n").gsub(/\r/, '') end # # read until newline