Go to Post So if you were a rookie team in this division what would you do? Watch.Experience.Learn. - dodar [more]
Home
Go Back   Chief Delphi > Technical > Programming > C/C++
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
 
 
Thread Tools Rate Thread Display Modes
Prev Previous Post   Next Post Next
  #1   Spotlight this post!  
Unread 02-05-2009, 11:06 AM
heydowns's Avatar
heydowns heydowns is offline
Registered User
AKA: Jeff Downs
FRC #1511 (Rolling Thunder)
Team Role: Mentor
 
Join Date: Jan 2006
Rookie Year: 2005
Location: Ra-Cha-Cha
Posts: 142
heydowns has a reputation beyond reputeheydowns has a reputation beyond reputeheydowns has a reputation beyond reputeheydowns has a reputation beyond reputeheydowns has a reputation beyond reputeheydowns has a reputation beyond reputeheydowns has a reputation beyond reputeheydowns has a reputation beyond reputeheydowns has a reputation beyond reputeheydowns has a reputation beyond reputeheydowns has a reputation beyond repute
Notifier fixes (impacting PIDController)

We had been having a lot of issues with PIDController. While it generally worked, we were seeing weird sampling times (not always what we specified) and very unreliable behavior either when deleting PIDController objects or when reloading our code via the Windriver Debug (download to RAM) interface.

We discovered a few issues in the Notifier class, which the PIDController class uses to implement a significant portion of its functionality.

First, if you are having issues like your PIDController not seeming to run (get samples nor set motor values) after reloading code through the debug interface (this was our worst issue), the fix is fairly simple:

Go to the debug settings dialog (Run->Open Debug Dialog), click the "Downloads" tab, select your program file in the list, click Edit Button. Make sure that "Download Even When File Not Modified" checkbox is checked. Then click "Advanced Options". In the new dialog, make sure that "do not unload the existing module" is unchecked.
"OK" out of the settings dialogs, ensure that "reload" is checked in the main Debug Dialog", then click Apply.

Reboot robot, reload code, and you should be good from there out.


If you are getting tripped up by problems when deleting PIDControllers (usually the same symptom as above - subsequent PIDController use will result in no actual calls to your PIDSource or PIDOutput), or are seeing issues of odd sampling periods when using multiple PIDControllers at once, the fix is more involved. You'll need to modify your WPILib and rebuild it or wait for an updated version to be released.

The gory details and a patch to fix are here:
http://forums.usfirst.org/showpost.p...9&postcount=15

Please note that I am not officially associated with WPILib maintenance in any way -- this is just something that worked to fix issues for our team -- I hope it will be useful to others.
Reply With Quote
 


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Notifier Class Phoenix Spud Programming 0 01-26-2009 08:16 PM
PIDController class (PIDSource/PIDOutput interfaces?) Jared Russell C/C++ 3 01-11-2009 09:49 AM
Portal Config Fixes Brandon Martus Announcements 0 06-28-2006 01:27 PM
FIRST impacting the presidential race? Tom Bottiglieri Rumor Mill 5 11-03-2004 06:04 PM
FIRST Impacting Job Choices Dorienne Career 27 08-17-2004 04:43 PM


All times are GMT -5. The time now is 09:28 AM.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi