View Full Version : Deploying Code...
Tim Lehmann4967
14-03-2015, 17:02
Our programmer kept sitting in his chair and looking around. Thus, he was promptly scolded for not working. His response was "I am deploying code."
We needed a way to know when he was deploying code. Behold, the status flag&safety glasses combo.
Kevin Sevcik
14-03-2015, 22:10
http://imgs.xkcd.com/comics/compiling.png
TimTheGreat
14-03-2015, 22:25
Based on the long deploy time I take it you guys use labview?
Tim Lehmann4967
14-03-2015, 23:01
Based on the long deploy time I take it you guys use labview?
We use C++. It doesn't take terribly long to deploy, but it is long enough for someone to notice.
Christopher149
14-03-2015, 23:15
We use C++. It doesn't take terribly long to deploy, but it is long enough for someone to notice.
We're using Java, and it's 10 seconds. That is barely noticeable.
pastelpony
15-03-2015, 00:12
We're using Java, and it's 10 seconds. That is barely noticeable.
With an i7, it still takes us about 2-3 minutes to build/deploy code with LabVIEW.
Pratik Kunapuli
15-03-2015, 00:14
We are using java with an i7 and have had compile and deploy times as quick as 7 seconds, but the average for us is somewhere around 12 seconds.
FlamingSpork
15-03-2015, 08:07
We use C++ and an i5. Our build and deploy times are around 30 seconds for small changes. (And several minutes for large changes.)
Landonh12
15-03-2015, 08:54
With an i7, it still takes us about 2-3 minutes to build/deploy code with LabVIEW.
You do know that you don't have to build the code every time you want to run it, right?
You can simply go to Robot Main.vi and run it from there. It takes us about 15 seconds to deploy the first time, and around 3 seconds after that until we reboot.
You only need to build/deploy/run as startup when you are done with your code.
pastelpony
15-03-2015, 10:23
You do know that you don't have to build the code every time you want to run it, right?
You can simply go to Robot Main.vi and run it from there. It takes us about 15 seconds to deploy the first time, and around 3 seconds after that until we reboot.
You only need to build/deploy/run as startup when you are done with your code.
I've known about the run from robot main.vi but I never really used it. I've just got used to the whole build/run as startup protocol. I'll actually try to start running through there. Thanks.
TogetherSword8
15-03-2015, 10:42
Another LabVIEW trick, code in dashboard variables for any variables you have in your code (works out really well for autonomous). This allows you to easily test your autonomous code and modify any values without having to stop and change in your code. Once you hit the right combination, screenshot your dashboard, and go back to your code and replace the dashboard variable receive function with the variable it is supposed to be. This is useful in competition, we were able to fully debug an autonomous in one practice field time in this method, and we ran it 5 times in a row during this same session to make sure it would run consistently on the field.
The running from robot main method works great when you are in your shop, i just get a little wary about possibly forgetting to rebuild and redeploy the code before we go out onto the field. :eek:
pastelpony
15-03-2015, 10:55
Another LabVIEW trick, code in dashboard variables for any variables you have in your code (works out really well for autonomous). This allows you to easily test your autonomous code and modify any values without having to stop and change in your code. Once you hit the right combination, screenshot your dashboard, and go back to your code and replace the dashboard variable receive function with the variable it is supposed to be. This is useful in competition, we were able to fully debug an autonomous in one practice field time in this method, and we ran it 5 times in a row during this same session to make sure it would run consistently on the field.
The running from robot main method works great when you are in your shop, i just get a little wary about possibly forgetting to rebuild and redeploy the code before we go out onto the field. :eek:
I've been doing that for a while and had that set up this season, though from it's usage, I found that using time controls with autonomous has proven to be unreliable and will in the future try to use encoders + PID.
I need one of these.
Too often I have mechanicals yelling at me, "What's the hold up?" when they're waiting for the robot to do something.
Darn mechanicals.
Alan Anderson
15-03-2015, 14:10
If you're using LabVIEW and trying to "Deploy" code, you're doing it wrong. There are legitimate reasons to use "Deploy", but I can't think of any that would be of use to an FRC team.
It takes only about ten seconds to send a LabVIEW program to the robot using "Run as Startup". Doing the "Build" beforehand can be several minutes, but it doesn't interfere with anyone running the robot. You don't even need to have the robot connected, or even present, to "Build" the code.
When you're doing interactive development/debug sessions by "Run"ning the Robot Main vi, sending all the code to the robot does take about the same amount of time as compiling it with "Build", but only once at the beginning of the process. Thereafter, it is only a few seconds to send only the changed code and run it again.
vBulletin® v3.6.4, Copyright ©2000-2017, Jelsoft Enterprises Ltd.