Thread: Stall detection
View Single Post
  #13   Spotlight this post!  
Unread 27-03-2013, 10:03
apalrd's Avatar
apalrd apalrd is offline
More Torque!
AKA: Andrew Palardy (Most people call me Palardy)
VRC #3333
Team Role: College Student
 
Join Date: Mar 2009
Rookie Year: 2009
Location: Auburn Hills, MI
Posts: 1,347
apalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond reputeapalrd has a reputation beyond repute
Re: Stall detection

I have seen the 400mhz PowerPC pushed to its bounds by many teams. Lots of bad things happen when nearing CPU bandwidth limits, the first things is the LV bootloader stops working (many LV teams know of the 'no-app' switch for this reason). Then, tasks will start jittering and low priority tasks will start missing or be very late, and eventually all of the timing gets so bad that nothing is usable.

I agree that we shouldn't be running up near the limits of a 400mhz PowerPC but many teams are.

A lot of this has to do with horribly inefficient code in the WPIlib, massively inefficient algorithm design, and too many layers of execution. The nature of the LV execution system for LV teams is also a huge contributor to CPU loading, as it optimizes and builds code in a way that might seem strange to OO or procedural programmers. It makes a lot of sense for LV, but the WPIlib and framework is written in a way that seriously hurts LV optimization and fast execution.

I am also generally an opponent of the For loop in embedded software. Unlike the Goto they do occasionally have a use, but they are almost always the wrong answer.
__________________
Kettering University - Computer Engineering
Kettering Motorsports
Williams International - Commercial Engines - Controls and Accessories
FRC 33 - The Killer Bees - 2009-2012 Student, 2013-2014 Advisor
VEX IQ 3333 - The Bumble Bees - 2014+ Mentor

"Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function." ~ John Carmack