After leaving my newly created team this year as a senior I have realized an important tool that I have not come across that would help out those people that are on a team and aren’t programmers. I am the only programmer on my team and many times I have not been present while people are running tests on the robot. And some times those tests require a change in the program due to frequent switching of devices on ports. This put a lot of pressure on our team, and caused us to fall back some times. I have also realized how awesome it would be to NOT have to recompile code every single time to change small config data.
Now, I realize most of you experience programmers would instantly say that CSV files are the answer. And a simple parser written for the robot would be the way to go. I agree, which is why I began to write this library that does that, and more.
I am currently working on a library that contains a few simple goals:
-READ/WRITE a file that will store any kind of data in multiple sets of data (in other words instead of containing simply one spreadsheet of data it contains multiple). This will allow programmers to store config data for sensors, devices and any other kind of data in the same file which will keep file transferring simple.
-IS COMPATIBLE with the universal format of a CSV file. This will allow programmers to not have to move over to this custom made file type, and will allow excel and other spreadsheet editors to read/write the data.
-PARSE raw file data to match programming uses. In other words the parser stores data in a simple to use format that will allow programs to easily work with this library.
Also, coupled in the same project is a GUI interface I am working on for this library. It is using the standard (not FRC standard) java swing library to create an easy to use interface for editing, creating, and sending these config files to and from the cRIO. This will enable NON-Programmers to change ports, or other config data and get it to the cRIO without needing a lick of computer knowledge. This will give programmers more time to work on other important projects for teams.
This library is currently being developed on GitHub. There is one small issue however. I am no longer with a robotics team and need help. This task can not be accomplished by one man without a robot. I am asking the awesome robotics community out there to help out the programmers for FRC teams across the globe by helping to create and test this library on your robots. I believe this will simplify and better the seasons (both build and off) of future FRC competitions. If you are interested, or have any suggestions please see the repository home page at:
It is open source and I invite you to fork from it. The current library is for Java programmers, however I would love for C/C++ folks to fork and start working on it to get this thing bi-lingual. LV programmers: I’m not sure how you guys are going to be able to do this, however I encourage someone to translate it and put up a similar project.
PS: I am using the GIT-flow work strategy. Please read up on it BEFORE you send pull requests.
PPS: please forgive poor documentation. I have not had much time to clean up ALL the code (most is clean) and insert well written documentation.