Sha256: 46bd93165a4c17bf6c11900787684f2b539921cda0ca5a7317a70f58180e825b
Contents?: true
Size: 935 Bytes
Versions: 1
Compression:
Stored size: 935 Bytes
Contents
module Dino module Components class Button < BaseComponent UP = "01" DOWN = "00" def initialize(options={}) super(options) @down_callbacks, @up_callbacks, @state = [], [], UP self.board.add_digital_hardware(self) self.board.start_read end def down(callback) @down_callbacks << callback end def up(callback) @up_callbacks << callback end def update(data) return if data == @state @state = data case data when UP button_up when DOWN button_down else return end end private def button_up @up_callbacks.each do |callback| callback.call end end def button_down @down_callbacks.each do |callback| callback.call end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dino-0.8 | lib/dino/components/button.rb |