Class: Driver::RawSerial

Inherits:
Extface::RawDriver
  • Object
show all
Defined in:
app/models/extface/driver/raw_serial.rb

Constant Summary collapse

NAME =
'RAW Serial'.freeze

Instance Method Summary collapse

Instance Method Details

#push(buffer) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'app/models/extface/driver/raw_serial.rb', line 6

def push(buffer)
  Extface.redis.rpush(:key, buffer)
  Extface.redis.subscribe(:extface) do |on|
    on.message do |event, data|
      @return = "event: #{event} data: #{data}\n\n"
      Extface.redis.unsubscribe
    end
  end
end

#receive(timeout = nil) ⇒ Object



16
17
18
19
20
21
22
23
24
25
# File 'app/models/extface/driver/raw_serial.rb', line 16

def receive(timeout = nil)
  list, element = Extface.redis.blpop(:key, :timeout => timeout)
  # Extface.redis.subscribe(:extface) do |on|
    # on.message do |event, data|
      # @return = "event: #{event} data: #{data}\n\n"
      # Extface.redis.unsubscribe
    # end
  # end
  return element
end