What do your programmers do when the finish early?

We finished auton early, so we decided to add support for a Guitar Hero controller to our robot from last year. XD

Programmers are never finished. There is always improvement that can be made.

Programmers? Finished early? Not on an FRC team…

When my programmers are finished they will immediately begin serving the singularity they just created. Until that happens, they aren’t finished.

Ours in past years have turned off all the lights in the room, layed down on the table and had nap time

The real question is:

What do programmers do for 5 weeks before they have access to a working robot?

Write simulations and test code against those.

No, seriously, I just finished debugging how to detect when one of our mechanisms gets a ball jammed into it so that we can unjam it. This was all in simulation. Hopefully when we get access to the real hardware later today for the first time, everything will just work

They redefine “finished” and “early”.

“Finished” as in you will never be there and “Early” as in when you think your done, but then something comes up.

Wouldn’t know. It has never happened. :]

Build season for programmers starts on kickoff and ends on the last competition :slight_smile:

What we’d like to do if we had extra time is slap a LIDAR on the robot and make it fully autonomous, even during teleop :stuck_out_tongue:

FTFY :smiley:

Work on the practice chassis/board.

If you don’t have a practice chassis, get one. Developing code is really, really hard if you don’t have a test bed.

I don’t know about early, but one time during champs in a six-hour period between rounds one of our programmers wrote an artificial intelligence program that used natural language processing to help us keep our pit organized.

Its never finished…

I don’t see what the problem is? Programmers simply don’t finish! And early, do you just mean not at competition? In our case, the build season never ends. Once something is made, it is tested, it fails, tested again, fails, tested again, and so on until February 21 11:59. The programmers just struggle to keep up with all the crazy changes that are being made last second here and there. Every year the programmers end up with some autonomous code, keyword “some”. And have to quickly improve on it on day 1 of the competition and see how it goes from there. Maybe your definition of programmer finishing early means with enough time before the next match, meaning time to successfully download to the robot. :slight_smile: But yeah I mean if I was a programmer that was finished with still over 24 hours to spare, I would ask what changes will be made to the robot and practice practice and practice autonomous until it is perfect! (Which is never so…:smiley: :smiley: )

How did that work?

I think it’s entirely reasonable to say that programmers can be “finished.” The thing is as soon as our programmers are done figuring out stuff relating specifically to this year and this robot they immediately start on things that are normally offseason work. You never even see the transition.

Time to lean means time to clean…your code. Some friendly thoughts to consider if you think you’re done. If you can answer yes to these (and probably some that others will add), then congratulations; take some time to reap the reward of your toil.

[ul]
[li]Is your code well-commented?
[/li][li]Are your variables well-named?
[/li][li]Do you have magic numbers in your code that would benefit from well-named constants (e.g., CAN IDs, motor numbers, joystick IDs, etc.)?
[/li][li]Do you have dead code that you find and eliminate?
[/li][li]Any public variables or methods that should be made more protected?
[/li][li]Are your methods protected against out-of-range values that might lead to runtime failures and CD posts like “Help! Autonomous code runs ok but teleop never runs”?
[/li][li]Brainstorm / play devils-advocate to smoke out any potential practicality issues,which may have been overlooked, that will become evident at your first competition
[/li][LIST]
[li]How fast/easy can your code be switched between red and blue alliance? Are these hard-coded or can they be set with a toggle switch on the robot or a choice on the Driver Station?
[/li][li]Have you accounted for any “mirroring” issues such that your robot only performs correctly/optimally when on the red side of the field?
[/li][li]Has your drive team asked for any controls or status that you’ve not implemented or they’ve asked to be implemented differently?
[/li][/ul]
[li]Is your team so large that there may be junior programmers that might not have had as much coding time? Can you use this time and the developed code to train them on programming in general, the WPIlib, etc?
[/li][/LIST]

I’m no programmer but I do know that finished and early are two words that aren’t in a programmers vocabulary. If that was somehow possible, I guess they would learn how other teams write code for their robots.