Quote:
Originally Posted by DampRobot
Boot times aren't a huge deal for me. A few times when we're racing to get to queuing, and we have to re-deploy code, that extra time makes me sweat. But for most of the time, I hardly notice it. Maybe it's a bigger deal for the programmers, who have to develop with it, but I always assumed that they could just use the time when code was comping or the robot was booting to check CD or something.
|
I'm not sure of how LabView handles code reloads/deploys on the new OS, but at least for C++ and Java the Linux platform should make these kind of "soft" boots significantly faster (to the point of making boot times nearly moot). On VxWorks it was necessary (in almost all cases) to completely reboot the cRIO to reload user code even for C++ and Java because your user program was running as a kernel module. Assuming that robot programs run as normal user-mode (but root) programs on Linux (and I sure hope that's the case!) a "soft" reboot for C++ and Java should just consist of killing and restarting the user process (milliseconds) rather than a full OS reboot (20+ seconds).
In other words the upload/test cycle should be extremely fast (at least for C++ and Java) on Athena, assuming you don't power cycle the robot.
For the Athena Python port, I plan to take advantage of this fact to instantly reload the user program as soon as a new Python file is saved/uploaded (note: due to Python implementation memory leaks this requires restarting the entire interpreter, preventing this from working on the cRIO port, but will not be a problem on Linux).
__________________
Author of
cscore - WPILib CameraServer for 2017+
Author of
ntcore - WPILib NetworkTables for 2016+
Creator of
RobotPy - Python for FRC
2010 FRC World Champions (
294, 67, 177)
2007 FTC World Champions (30, 74,
23)
2001 FRC National Champions (71,
294, 125, 365, 279)