Log in

View Full Version : Interrupts with RobotPy


RyanN
12-07-2016, 14:16
I know interrupts work with RobotPy, since encoders and counters are covered.

How do I create an interrupt with RobotPy?

Say I have the ADIS16448 IMU that I would like to use the DataReady output for to call an ISR. And yes, I know what I'm doing probably won't work well. Python is probably too slow to handle real time interrupts.

Some example code would be great!

Thanks!

Ether
12-07-2016, 15:31
I know interrupts work with RobotPy, since encoders and counters are covered.

Encoders and counters do not use interrupts. They are polled by the FPGA.

virtuald
13-07-2016, 00:06
Encoders and counters do not use interrupts. They are polled by the FPGA.

What he said.

... I've never tried doing WPILib interrupts in python. They certainly won't do anything in the simulator, and chances are they *mostly* work on the real robot, but there are probably edge cases where you'll get a weird exception (this is how I2C/SPI was until I actually had some hardware to do testing with).

I would recommend finding some Java code and translating it into python, and then file bug reports on github when you find it doesn't work. :)

RyanN
13-07-2016, 12:36
I'll try to find some Java code then.

I'm guessing the FPGA has RTL for handling encoders and counters then. (It makes sense). I always forget the RoboRIO is half processor, half FPGA. I'm used to just processors. :)

Joe Ross
13-07-2016, 21:14
The Java roborio library for the adis16448 uses interrupts for the same purpose you want.

RyanN
18-07-2016, 11:16
The Java roborio library for the adis16448 uses interrupts for the same purpose you want.

Yep. I figured that one out. :)

Thanks!