IGM
04-04-2012, 22:38
This has been my fourth year on team 1126, my third consecutive year on software. I have always taken pains to fully integrate myself into the code-writing process, but I know that it will not last. When I go, I have to hand over the torch, so to speak.
For many years, our team has taught our students by word of mouth, by wading through undocumented or semi-documented code, by giving random tasks and implementing solutions. There were no documented examples to go on, no repository of implemented functions, and only a few scattered comments to read if we ever wanted to re-implement a feature.
Well, consider this post to be handing over the torch.
Our high school requires that our seniors undertake a major task, and this year I strove to document our code. I mean *really* document it. During the project, I strove to include as many documentation comments as possible, later I compiled a reference manual for the code, and provided explanations and examples for many programming techniques our team used. Some techniques developed over two years, some three, some dating way back before I was ever a student. Set on paper. Documented.
But if the point is to educate, then why be selfish? I've consulted with the mentors on our team, both software and not, and decided that there are enough people on these forums that would like real examples, not just explanations. Would like some explanations, not just some code tossed at them.
We're providing both. Attached in this thread is a word document containing the documentation of this year's game, our robot hardware, our software techniques, and our major robot subsystems. Also attached is our Finger Lakes competition code, which currently sits deployed on our cRIO in a box somewhere.
If you're interested in what we do and how we do it, need an example of how to implement something, or are just interested in what our team can do, it's all here.
If there is any one person out there who will read this post, delve into our bits and extract something useful from it all, then I will consider this mission accomplished.
Until then, I remain your faithful servant.
~Eric Rock, FIRST Team 1126
- Software Lead
P.S. Thank you to all of those who contributed to both this manual and our code. A special thank you to my project mentor, Tim.
For many years, our team has taught our students by word of mouth, by wading through undocumented or semi-documented code, by giving random tasks and implementing solutions. There were no documented examples to go on, no repository of implemented functions, and only a few scattered comments to read if we ever wanted to re-implement a feature.
Well, consider this post to be handing over the torch.
Our high school requires that our seniors undertake a major task, and this year I strove to document our code. I mean *really* document it. During the project, I strove to include as many documentation comments as possible, later I compiled a reference manual for the code, and provided explanations and examples for many programming techniques our team used. Some techniques developed over two years, some three, some dating way back before I was ever a student. Set on paper. Documented.
But if the point is to educate, then why be selfish? I've consulted with the mentors on our team, both software and not, and decided that there are enough people on these forums that would like real examples, not just explanations. Would like some explanations, not just some code tossed at them.
We're providing both. Attached in this thread is a word document containing the documentation of this year's game, our robot hardware, our software techniques, and our major robot subsystems. Also attached is our Finger Lakes competition code, which currently sits deployed on our cRIO in a box somewhere.
If you're interested in what we do and how we do it, need an example of how to implement something, or are just interested in what our team can do, it's all here.
If there is any one person out there who will read this post, delve into our bits and extract something useful from it all, then I will consider this mission accomplished.
Until then, I remain your faithful servant.
~Eric Rock, FIRST Team 1126
- Software Lead
P.S. Thank you to all of those who contributed to both this manual and our code. A special thank you to my project mentor, Tim.