|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools |
Rating:
|
Display Modes |
|
#16
|
|||
|
|||
|
Re: using interrupts in FRC
In '08, for the introduction of the cRIO, some AEs built an ambitious robot named NItro. It had three omni wheels with encoders and they decided to use NI Soft Motion and interrupts to calculate the Jacobian for the motor control values for path planning.
I came on late to help them finish the project and found that they weren't acknowledging the interrupts but were still running fine. I also found that they were running over 15k interrupt handlers per second, but again, running fine. At the booth, they ran the robot all day long in its wooden pen going through battery after battery. This was with LV, so I cannot comment on the C++ handlers, and this was before the FRC FPGA was complete, so it is not apples to apples. Anyway, interrupts are in the product and should work. If you have issues, please provide details so that we can improve them or their documentation. Greg McKaskle |
|
#17
|
|||||
|
|||||
|
Re: using interrupts in FRC
Quote:
Would you provide more information about how to do this? Links to docs would be great. C++ Thanks. -Hugh |
|
#18
|
|||||
|
|||||
|
Re: using interrupts in FRC
Quote:
Quote:
In Java, some of the Encoder constructors accept a third Digital Input to specify the index signal. In C++, it looks like the reset/index feature is not exposed in the Encoder class. That's unfortunate. I don't know enough about the low-level resource interface to the FPGA to be comfortable trying to suggest adding a new constructor that includes it. |
|
#19
|
|||
|
|||
|
Re: using interrupts in FRC
Quote:
) |
|
#20
|
|||||
|
|||||
|
Re: using interrupts in FRC
The LabVIEW help suggests that the External Reset is level sensitive, meaning it should continuously zero the encoder value as long as it is active. I can't verify that with complete certainty using the documentation I have access to.
|
|
#21
|
|||||
|
|||||
|
Re: using interrupts in FRC
Alan – Thanks for pointing out this feature. We were attempting to use an index pulse in C++ this past season but could not find how to reset the encoder count with an index pulse. We didn’t think to look in Java and Labview.
Hey Greg, how about exposing the index function in C++ for us C++ users? -Hugh |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|