View Full Version : How do you get interrupt when digital input is set
ericalbers
10-02-2015, 20:42
Is there code showing how to get a interrupt when say a limit switch is hit?
I see the
public abstract class InterruptHandlerFunction<T>
is there example code of how to implement this for the requestInterrupts off DigitalInputs?
I'm having trouble with how to define the polymorphism of the function properly.
Thanks
Ben Wolsieffer
10-02-2015, 20:52
This is how I used interrupt handlers in a gyro driver. The really wierd part about it is that the interruptFired() method is package private, so any class that uses it needs to be in the edu.wpi.first.wpilibj package. I think this was an oversight on the part of the authors of WPILib.
DigitalInput interrupt = new DigitalInput(0);
// Register an interrupt handler
interrupt.requestInterrupts(new InterruptHandlerFunction<Object>() {
@Override
public void interruptFired(int interruptAssertedMask, Object param) {
// Do stuff
}
});
// Listen for a falling edge
interrupt.setUpSourceEdge(false, true);
// Enable digital interrupt pin
interrupt.enableInterrupts();
ericalbers
10-02-2015, 20:55
Thanks, actually the private part is what was reallly killing me, I just could not get the thing to be happy I had the same code...
testinput =new DigitalInput(0);
testinput.requestInterrupts(new InterruptHandlerFunction<Object>()
{
@Override
public void interruptFired(int interruptAssertedMask, Object param)
{
}
});
I just couldn't get it to like the interruptFired no matter how I set it up...the base class having an error explains it though
Thanks
Is there code showing how to get a interrupt when say a limit switch is hit?
How much code do you plan to put into the interrupt routine?
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.