class Shutter3MorseCode

Public Class Methods

new(bdid, topic: 'shutter3', sps_address: nil, sps_port: 59000, debug: false) click to toggle source
Calls superclass method
# File lib/shutter3_morsecode.rb, line 12
def initialize(bdid, topic: 'shutter3', sps_address: nil, 
     sps_port: 59000, debug: false)

  super(bdid, sps_address: sps_address, sps_port: sps_port)
  @mc = ''
  @t = Time.now
  @debug = debug

end

Public Instance Methods

on_android_keydown() click to toggle source
# File lib/shutter3_morsecode.rb, line 26
def on_android_keydown()
  @t = Time.now
  puts '@t: ' + @t.inspect if @debug
end
on_android_keypress() click to toggle source
# File lib/shutter3_morsecode.rb, line 22
def on_android_keypress()

end
on_android_keyup() click to toggle source
# File lib/shutter3_morsecode.rb, line 31
def on_android_keyup()
  keyup(1)
  puts '@t2: ' + (Time.now - @t).inspect if @debug
end
on_connect() click to toggle source
Calls superclass method
# File lib/shutter3_morsecode.rb, line 36
def on_connect()
  super()
end
on_disconnect() click to toggle source
Calls superclass method
# File lib/shutter3_morsecode.rb, line 40
def on_disconnect()
  super()
end
on_ios_keydown() click to toggle source
# File lib/shutter3_morsecode.rb, line 48
def on_ios_keydown()
  @t = Time.now
  puts '@t: ' + @t.inspect if @debug
end
on_ios_keypress() click to toggle source
# File lib/shutter3_morsecode.rb, line 44
def on_ios_keypress()

end
on_ios_keyup() click to toggle source
# File lib/shutter3_morsecode.rb, line 53
def on_ios_keyup()
  keyup(2)
  puts '@t2: ' + (Time.now - @t).inspect if @debug
end

Private Instance Methods

keyup(key) click to toggle source
# File lib/shutter3_morsecode.rb, line 60
def keyup(key)

  if @t + 0.5 > Time.now then
    @mc += key.to_s
  else
    if Time.now > @t + 1.2 then
      notify MorseCode.new(@mc).to_s
      @mc = ''
    elsif @mc[-1] == '4'
      @mc[-1] = '5'
    elsif @mc[-1] == '5'
      notify MorseCode.new(@mc).to_s
      @mc = ''
    else
      @mc += '4'
    end
  end

  puts '@mc: '  + @mc.inspect if @debug

end