Thread: Robot Twitch
View Single Post
  #6   Spotlight this post!  
Unread 27-02-2012, 08:43
Greg McKaskle Greg McKaskle is offline
Registered User
FRC #2468 (Team NI & Appreciate)
 
Join Date: Apr 2008
Rookie Year: 2008
Location: Austin, TX
Posts: 4,751
Greg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond reputeGreg McKaskle has a reputation beyond repute
Re: Robot Twitch

I don't mind good complaints -- especially when I agree with you.

The issue is that we are using an uncommonly used hook to catch unwired errors and routing them to the DS. This doesn't take the full 200ms, but I think it takes 15 or 20ms, ruining your control rate.

We tracked down the issue a few years ago and I didn't have the foresight to get it fixed for 2011. I looked again this year for a workaround and couldn't find one. Fortunately, I know the guy who can fix it and he is now on the FRC team, so I think it will get fixed.

For more details on the issue, before LV can run code it has to reserve it. It visits all called subVIs and other resources that it needs, reserves them, and ensures that everything is actually able to run. Then it runs the handler once, then it unreserved it, which unreserves all of the subVIs. The algorithm is typicall run once when the app starts up, but the hook for catching errors does this each time the error occurs -- not really the right hook for what we are doing. The hook was intended to log to disk or put up a dialog and we are using it in a situation where it keeps going, so the performance is more important.

Greg McKaskle
Reply With Quote