View Single Post
  #1   Spotlight this post!  
Unread 22-03-2010, 23:04
biojae's Avatar
biojae biojae is offline
Likes Omni drives :)
AKA: Justin Stocking
FTC #5011 (BOT SQUAD) && FTC#72(Garage bots)&& FRC#0399 (Eagle Robotics)
Team Role: College Student
 
Join Date: Oct 2008
Rookie Year: 2008
Location: Lancaster
Posts: 276
biojae is a jewel in the roughbiojae is a jewel in the roughbiojae is a jewel in the rough
Re: Reset user program button

Well, it would be a good idea if you only had the main thread (task) running.
There are other threads running in the background (ie compressor, FRCCOMMS, vision, etc)
These tasks take up RAM.

And if the main task doesn't properly deallocate all of its resources, then when it is killed these objects could still remain in RAM.

Rebooting the cRio clears all of the RAM, and is an option that doesn't have to have properly written code.
With most of the other team's code that I have helped clean up, memory management was the last concern.

Its probably best for the developers of the Control System, to keep the reset as it is (eventhough it does take a while to come back up) instead of trying to debug the problems of poor memory management.


As far as rebooting when deploying code, Netbeans for Java has the squawk VM reboot the robot when the code has been uploaded. It still takes the same time as a powercycle boot, but it seems faster because you don't have to manually reset the power (or push the reset button, or reboot from the DS).
__________________
FTC Team 72 - No site
FRC Team 399 - http://www.team399.org
2010 Rockwell Collins Innovation in Control Award - (Use of the CAN bus, among other reasons) Phoenix, Arizona!
Reply With Quote