[FVC]: Transferring programs between computers

I know this question was answered elsewhere, but I couldn’t find it using the search function.

In EasyC v2, which files (which extensions) do you have to copy if you want to transfer a program from one computer to another? If you transfer only the source code and recompile on the new computer, is this sufficient?

Also, in the FVC template for this year, we figured out how to make our R/C work to our satisfaction in Operator Controlled mode. However, we were wondering if there is EasyC source code available for the default mode, just in case there’s some subtlety from the default we missed. We’re still at a low level of programming, so any format other than EasyC is probably beyond us.

You just need the project file (*.ECP extension) and the *.BDS file with the same name.

What exactly do you mean the default mode? The code that originally came with the VEX controller is on the VexLabs website. It’s just the .HEX file so you can’t really look at it, but you can redownload it to the VEX controller.

I’m interested in the EasyC code used to create the .HEX file you mentioned (also available from the Build & Download menu). I wasn’t necesarily expecting it, but was hoping it’s available.

I know that you can recreate something similar using RC Tank commands, but I was wondering if there was an exact replica available for pasting into the Operator Controlled portion of the template. The reason for this query is that we recently attended a scrimmage where to our great surprise, we had one of the more functional robots, and only one team had the FVC 06-07 template. I’m assuming that teams who choose to attend a scrimmage are generally further along than those who don’t and am envisioning a worst case scenario where a significant number of teams show up at the championship event assuming that they can skip autonomous and just take part in the R/C part without the template. It would be nice if a “dummy” program were available to them which does nothing in autonomous and mimics the R/C default code in the Operator Controlled portion – this way, they could participate, instead of being disqualified for the whole tournament. I don’t know how one would go about pasting .HEX code into a template, or if it’s even possible.

I do not believe there is an official template default program. The problem with a “dummy” program would be any of their attachments and the motors they used, since most teams have at least somewhat different layouts.

One way to make a team’s program legal would be to turn their program into a function, and then call that function in the operator control of the template.

Are you referring to moving chunks of code in its entirety into a template? It can be done:
1.) Right click “User Functions” and create a new function. All you need to do is name it, leave the rest blank. Copy your code into it. Save, and close the project.
2.) Open the template and right click “User Functions” again. This time, select “Add Existing Function”. A window showing the contents of the Project folder will show up. If you expand the project that you were just working with, you should see your function listed. Click on it, select “Add”, and then select “Close”.
3.) Copy the contents of the user function you just imported, and paste it into the Operator Control function.

In your case, if the computers are separate, then save the project to a thumbdrive or email it after step #1.

If you’re still running into problems, please give us a call. Thanks!
JAB

I guess haven’t made myself very clear. The teams I’m concerned about are not capable of doing the above. They will have no program of any kind – no software, no template. The only “programmng” they have is the default software that comes factory-ready pre-loaded onto the controller. The only way they can make their robots go is with the remote control. If they show up at the tournament, they will be disqualified and not be allowed to let the robots run because they don’t have the FVC '06-'07 template that disables the R/C during autonomous and at the end of the match. What I would like to do is find/write a program for them that makes the R/C work exactly like it does using the pre-loaded, factory-condition software and embed it into the operator controlled part of the FVC '06-'7 template. That way, their robots will be inactive during autonomous, and their remotes will work exactly the same way as they’re used to during the 2 minutes of operator control.

While some might say, “Too bad for them, they should have been more aware of the programming requirements,” the practical reality is that there are potentially many teams who might be disqualified for this reason. Of the 60+ teams registering interest in FVC from our area, only 8 attended the scrimmage less than a month ago. Almost half who attended had no robot built – only Vex kits in tackle boxes. Only one had touched the programming.

When we tried to install the programming and purchase the upgrade for the school computer, we ran into many snags. We’ve worked on it for 4 weeks, and still don’t have a working copy at school (I purchased an extra copy for home which works, and we downloaded the template using that). I’m envisioning that if other schools are having similar troubles, there will be potentially precious few teams that will fulfill the requirements of having a robot that qualifies to run.

In the interest of Gracious Professionalism, I would like to see a team that has an R/C robot have a chance to participate, even if they didn’t touch the programming. It would seem that sharing a program like the one I described would be a fair way to allow those in that situation to participate.

Most of all, what I don’t want to happen is for teams to drop out and not come to the tournament because they haven’t been able to get a handle on the programming yet. We’ve already lost 18 local teams (they all bought kits and pre-registered interest) because Vex is “too hard.” We ourselves struggle, so we feel for those in the same boat.

Maybe some of us folks on the right coast can ship a simple competition ready version of the default software to our buddies on the left coast. I think I and one or two friends could cobble it together.

Should a team ever actually use it in a competition I believe that they would need to be certain that the tournament judges know that the code is something from the public domain that the team is simply using (without modification/improvement) rather than something they developed.

For example, Team 3040 has already implemented, using EasyC in a competition template, 4-motor tank drive plus using sending xmitter channel 5 and 6 commands to a couple of PWM outputs. With a little work some other simple drive configurations could be implemented.

The resulting “source” file and hex file could be shared. To download the hex file into the robot a team would still have to acquire at least a programming module (aka programming dongle) and the free software tools for downloading files into the microcontroller.

I can point teams to a web site that leads them to the free software tools they need. I think VexLabs sells the “programming modules” individually, and I know a friend who can build and sell at a fair price, a substitute device that can also fill that role. Of course, the EasyC Programming Kit can save you a lot of trouble by supplying these things in one transaction…

If someone wants to confirm (through the official FVC Q&A) that this would a legal way for teams to acquire their software (maybe the software source would need to be formally described in each robot’s BOM); we could probably help the Rookie teams get over this bump in their roads to inspiration.

Blake

Yolande, I am familiar with the issue you are describing. This came up at the FVC competition last year in Duluth, GA. Thank goodness Brad Miller with WPI was there and was able to quickly get many teams to upload the competition template and even write a quick Autonomous program to compete with. I remember helping 2 or 3 other teams do the same thing while I was there. This year my team plans to host a scrimmage where we will address the same issues BEFORE competition day. We plan to have a dedicated table where we can check the robot to ensure teams are using the latest master code, competition templates and if needed… help them get some sort of autonomous program running.

The problem as I saw it last year is that some teams did not understand the need for, nor the process for uploading and using the templates. This was made even more difficult for them since many had already written operator controlled programs that they did not know how to import into the templates. So even if there was a simple default code written for teams to use, some may still not understand the process enough to ensure that all software code requirements are taken care of.

As Jessica mentioned, it is not difficult at all to put a simple pre-existing operator controlled program into the competition template. If you know of any team that needs help doing this, let the FVC community know by having them post their concerns here. I am certain there will be several people who come forward to offer assistance. I can talk about it to someone till I’m blue, but when we sit down and show it to them on the screen and have them type the commands on the keyboard, they are suddenly enlightened and they see how easy the process is.

If this can’t be done for the teams in your area prior to competition day, maybe you can suggest to your FVC organizing committee that a table be setup at the competition to ensure that the software and template requirements are met prior to the start of matches.

Well folks, ManicMechanic got permission from her Affiliate Partner to offer a competition-ready EasyC “clone” of the default code that comes preloaded into starter kits’ computers. I gave it a shot; although with a couple of 3:00 AM sessions at the last minute during my FRC team’s NASA/VCU Regional… I’m a bit nervous about whether I have some disastrous bug in it.

When I/we get some feedback from MM about how well the code worked, fix any bugs discovered, groom and polish it a bit, and then check with the FIRST Gods… maybe we will be able to announce a result that will help young teams ease into the world of FVC programming.

Note that as part of the deal, there are no autonomous instructions in the software I/we were allowed to supply (not that I could have guessed what to put in there other than a bit of driving straight ahead or maybe running left and right post patterns).

Stay tuned.

Blake

First, Blake, thank you for spending countless hours on the programming. I know that there were some (almost) sleepless nights there.

Sure enough, there were 3 teams that showed up without any programming. But when we tried to open Blake’s program from the help desk laptop, it wouldn’t open. At the time, we were frazzled (arrived an hour late getting lost on the way there) and not thinking quite clearly. The people at the help desk had to move the teams along. So we brought the teams back to our station, and our next-door-neighbor and we were able to help them write some simple programs on the spot. One team had some jumpering that they had to eliminate because of our inability to program it. So if we had been able to use Blake’s program, it would have come in handy.

I think the problem was that we were attempting to open the program from a CD (in the hurry, we’d forgotten to transfer the ECP and BDS files to the Projects folder).

As it turned out, it worked out. But there is definitely a demand for Blake’s program – we just need have a more streamlined process for using it. As more and more rookies join, I think this sort of thing will be imperative for the future.