Method: Neotrellis::Keypad#enable_interrupt

Defined in:
lib/neotrellis/keypad.rb

#enable_interrupt(pin) ⇒ Object

Enable the interruption mode. In this mode, the ‘sync()` method will be automatically called when an interruption is triggered by the Seesaw device. The INT ligne of the keypad need to be connected to this GPIO pin.

Parameters:

  • pin (Integer)

    GPIO pin to configure for interruption on. Pin number is in the BCM numbering, as reported by Sysfs.



140
141
142
143
144
145
146
147
148
149
150
151
# File 'lib/neotrellis/keypad.rb', line 140

def enable_interrupt(pin)
	raise "pin must be an integer" unless pin.is_a? Integer

	@interrupt_enabled=true
	@seesaw.write(KEYPAD_BASE, KEYPAD_INTENSET, 0x01)

	@gpio = YaGPIO.new(pin, YaGPIO::INPUT)
	@gpio.set_interrupt(YaGPIO::EDGE_FALLING) do 
		puts "DEBUG Interrupt received." if @debug
		sync
	end
end