So, several of our non-programmers had difficulty learning how to compile and deploy code to the robot. I decided to try writing a small program that tries to simplify compiling and deploying code as much as possible.
It basically downloads the latest source code from an SVN repository (or if there’s a folder called “source” in the same folder as the exe, it uses the code from that instead), compiles it, configures the ip address of the computer, and transfers the compiled program via ftp to the robot.
I tried to make it as simple as possible: once you set up the options, it should just be a matter of opening the program and clicking a single button.
It’s for C++ only, and any computer that uses this needs to have WindRiver installed. It also only works on Windows. It’s set up to download code from an SVN repository only, since that’s what my team uses, but you can circumvent that by placing your source code inside a folder called “source”, as I stated above.
The source code also needs to be a WindRiver project (it has the .wrmakefile files in it and such).
I’m still in the process of testing it, but I thought I’d post what I have now in case somebody finds it useful. Feedback is appreciated!
True, except for the programmers who’ve got multiple projects lying around (on the hard drive) and we mechies have no idea which project is what or even that we’re deploying the right version of code. Especially when our team has the software guys write test/utility code separately from the main code to test our systems.
Then that’s a different problem, and one that won’t be solved by any number of “simple programs” or gui solutions. This program that he wrote still requires you to know which code base you want to deploy. Why are non-programers deploying code anyway? Any code that non-programmers would need to use should already be on the bot (and if its not there’s probably something wrong anyway.)
We actually have our software team split up into subsystem teams, who write multiple pieces of code (hardware test code, prototype code, subsystem code, and manual diagnostic code). Unless there is a way of maintaining multiple programs on the cRIO (which I’m not aware there is, unless you write a big umbrella program as a program chooser, or maybe there is)… And we had a naming scheme for the projects and we’re finally doing documentation (last I checked, which was a while ago), so non-programmers (and programmers from another system) know what’s going on.