Uploading code on the field

when at comps we have always been told never upload code on the field, why? What will happen if I did.

It is rather risky to upload “untested” code to the robot. There’s always a chance you put the wrong sign or condition etc. Usually the risk/reward ratio is not high enough to be worth it.
Additionally, the FTA and other relevant volunteers might not like it that much even if they allow it and you usually want them to like you.

It is against the rules to tether on the field to upload code. Likewise, you cannot deploy code (that I know of) through the VPN once your robot is on the field and your driver station is connected behind the glass. You are, however, allowed to swap the memory card if you have a Rio 2.0.

Rule G104

1 Like

I’m pretty sure you can’t upload code. Something with the FMS won’t let you iirc.

1 Like

If the FTA allows it, you can tether on the field and upload code. In ISR this happens from time to time.
I don’t know what you meant by VPN, but indeed the FMS has a firewall that would prevent the code from deploying by blocking port 22. If you manage to deploy code with an allowed port through the FMS, I don’t think there’s a rule against it.

Well to give a real example of why not to do this … the first year I mentored we were using LabView which has both a temporary deploy (power cycle and its gone) and a permanent deploy. We made some changes, temporarily deployed and tested them. We were being queued so we sent our lead programmer with the drive team deploying the code. Something went wrong with this deploy and we got to watch our robot remain in its initial pose the entire match. So the answer might be, what won’t happen (robot doesn’t move) instead of what will happen.

Our standard operation at competition is make code change and deploy (only if we have time to test and back out if necessary), run system test and if it fails revert changes. Ideally, we also go to the practice field to test, but these aren’t always available or they may be too busy to actually use before our next match.

I really want to know that whatever changes we make work (simulators are great, but not as foolproof as actually testing on the robot that you’re going to send out to the field to compete).

1 Like

Per G104 of the Game Manual you may not tether on the field. Additionally R704 blocks the SSH port on the field, preventing you from uploading code while connected to the FMS.

These rules are likely in-place to discourage unnecessary delays, especially since it’s already common (and discouraged) for some teams to calibrate their vision before every match, which may not be considered a GOOD-FAITH effort to be match ready.

3 Likes

Well

Teams may use these ports as they wish if they do not employ them as outlined above

I had cases where there was lots of time before the match were to begin, the robot was in a crash loop, and the FTA wasn’t willing to let us redeploy with a tether on the field.
You might say “don’t upload untested code in the first place” and you’d probably be right in a perfect world, but my team sort of excels where it comes to blundering things and then fixing it at the eleventh hour.

1 Like

If you’re clever, it’s technically possible to update your code on the field – in fact, I ran into a team once at an event that was doing that.

But really, you definitely shouldn’t be doing that.

2 Likes

I remember in the early days of the crio a team did not understand you could burn code and used the labveiw temp deploy before EVERY MATCH

From what I recall, there was an issue with the RIO 2 that caused the controller to never start the code even if the deploy was totally successful. Most FTAs would allow you to redeploy via tether in this case.

Sounds like a great critical thinking exercise too!

→ Who is “we”? Your team? All teams? You personally?
→ Who did the telling? A mentor? An event volunteer? The game manual?
→ How long is your “always” window? Just last season? Since the team was founded? Since you personally can remember?

These answers might help guide your next steps - whether there’s a way to grow your team’s skills, or a specific rule to learn more about… something like that :slight_smile:

the we was our team, it was a ex member now a mentor for another team, and the always was me joining.

1 Like

Just this week i been in the IOS and wanted to upload code on the feild. I askd the reffs if i could and they said yes but they might start the game with out me. So i will very much not recommend it but again this was an of soesen.

I don’t think I’ve seen G301 mentioned yet.

Deploying code takes some time. If you do it without asking/notifying the FTA, there’s a non-zero chance it gets called. (There’s also a pretty significant chance it doesn’t get called.) Key point is notify the FTA.

It’s also a pretty guaranteed way to have a CSA park in your pit for teaching purposes, depending on the reason you’re uploading that late.

yes I will 2nd this if you talk to the FTA’s they are very nice