Conflicting Rules?

4.3.6 FIRST recognizes that it is the responsibility of each team to design and construct their ROBOT within…On the software side, writing actual lines of code, verification of syntax, final debugging, etc would all be considered development of the final software implementation, and must be completed during the approved fabrication periods.

<R24> During the period between ship date and the competitions, all teams may manufacture SPARE, REPLACEMENT, and UPGRADE PARTS, and develop software for their ROBOT at their home facility… This will allow teams to have the maximum time possible prior to each competition event to develop and complete the software for their ROBOT while maximizing the potential capabilities provided by the control system

These two rules seem to conflict them selfs one says you can’t develop software after the build season (4.3.6). And one says you can (<R24>)

Here is the document:

http://usfirst.org/uploadedFiles/Robotics_Programs/FRC/Game_and_Season__Info/2011_Assets/04%20-%20The%20Robot_RevI.pdf

R24 makes the period after build season an “approved fabrication period,” so you can develop code during that time.

It’s the littlest bit ambiguous, but 4.3.6 is intended for the period before kickoff, but if not for R24 it would indeed affect the period afterward as well. Nice catch

yes but 4.3.6 says this

On the software side, writing actual lines of code,
verification of syntax, final debugging, etc would all be considered development of the final software
implementation, and must be completed during the approved fabrication periods.

which means you can not do any coding after the fabrication period

You’ve got a very good point in the conflicting rules on paper. Over the past year or two as one of the lead programmers it actually does kind of make sense on paper; you shouldn’t have a robot, and therefore you probably won’t be able to code for it. Most teams skirt this with a testbed platform for their programmers, and keep the cRIO for the withholding allowance to facilitate coding.

Also, I’m pretty sure if you went to any “real world” programmers and said they do fabrication, they would either drag you into a lengthy debate on the subject or stuff you in the nearest cramped space. :rolleyes:

Yes, but R24 states that between the ship/zip date and your first competition IS PART of the fabrication period.

ok that makes more sense they should word it better

It says you can’t develop code except for during the approved fabrication periods. <R24> defines the period after ship day as one of the approved fabrication periods.

Did you see the part about “and develop software for their ROBOT at their home facility” in <R24>?

Thanks for the clarification

FRC/GDC is really after preventing off season code development with these rules. They don’t want you cutting and pasting code onto your robot that you developed in the many months before kickoff.

Think of it like a fabricated item…you can’t use anything made before kickoff on your robot. That doesn’t mean you can’t be inspired by a design you made in past years or in the off season. Likewise, just as you can build some parts after ship date because the rules say you can, you can also develop code in the same way, because the rules say you can.

The rules don’t conflict (if you ask me). The “approved fabrication period” is both the build season and the time between events.

Tomy,
It is easy to confuse people with text taken out of context. The section you reference in your first post includes this…
Pondering software issues to be resolved, researching general case solutions, discussing solutions with teammates, collecting raw materials, sketching mechanisms, preparing tools, and outlining high-level descriptions of software algorithms are all reasonable activities before the scheduled build period. However, completing detailed dimensioned drawings of specific parts, and any actual fabrication of any hardware items intended to go on the actual competition ROBOT is prohibited outside of the approved fabrication periods. On the software side, writing actual lines of code, verification of syntax, final debugging, etc would all be considered development of the final software implementation, and must be completed during the approved fabrication periods.

In other words, you may think, write, test code provided that “writing actual lines of code, verification of syntax, final debugging, etc” must be completed during the approved periods. Think of code as a modified part. You decide on a modification and plan how to build and install said part then bring the materials with you when at competition or during access periods and make the final assy during those legal times.