diff --git a/lib/biju/modem.rb b/lib/biju/modem.rb index 7726622..a209cae 100644 --- a/lib/biju/modem.rb +++ b/lib/biju/modem.rb @@ -1,5 +1,6 @@ require 'serialport' require 'forwardable' +require 'timeout' module Biju class Modem @@ -23,8 +24,10 @@ module Biju def wait(length: 0) buffer = '' - while IO.select([connection], [], [], 0.50) || buffer.length < length - buffer << connection.getc.chr + Timeout.timeout(10) do + while IO.select([connection], [], [], 0.50) || buffer.length < length + buffer << connection.getc.chr + end end buffer