New Firmware Coming for VEX Cortex Microcontroller & VEXnet Joystick

For the past 6 months or so we’ve been hard at work on the next generation of the Cortex & VEXnet Joystick firmware in collaboration with our technology partners. We are pleased to announce this firmware is starting to roll out.

-A new version of ROBOTC has been posted for download which takes advantage of the new firmware.

-intelitek should release the latest version of easyC early next week.

-Next week VEX Robotics, Inc. will be publishing the next version of our “VEXnet Utility” which updates default code users to the latest version.

Items to note about the improved firmware:

-We have migrated away from HID USB communication to a custom Serial USB communication protocol.

-There will be a new orange programming cable coming out early next year which will take advantage of the new Serial Communication (and provide power to the Joystick) but old cables will still work (with the existing USB driver).

-Users using the new firmware will need to install a new driver onto their PC. See this VEX Programming Driver Document for details.

-Downloads should be faster and more reliable.

-VEXnet link performance has been improved.

-We recommend that all users upgrade to this new firmware.

A big thanks goes out to CMU and intelitek for their hard work and support in working with us on this firmware release.

Please let us know if you have any questions.

I am confused by the following from the driver document:

What if I have a programming hardware kit from before January 2012?
The programming hardware kits from before January 2012 are not compatible with the new Serial Communication link. You will need to load the Prolific USB drivers included in the VEX Programming Drivers package. There is one driver for Windows XP and one for
Windows 7.

Do we need the new driver if we are using the old programming kit?

This specifically applies to RobotC but I assume also to EasyC.

If you connect using a USB cable directly to the cortex, you need the new driver as the USB communication protocol has changed. You would need to do this to load new master firmware for example. The same is true if you wanted to load master firmware into the joystick using USB.

If you are connecting to the Joystick programming port using the existing programming kit with the prolific USB to serial adapter, you need the existing prolific driver installed.

What this means practically is that for the next few months it’s best to have both drivers installed.

Just added this note to the above:

-There will be a new orange programming cable coming out early next year which will take advantage of the new Serial Communication (and provide power to the Joystick) but old cables will still work (with the existing USB driver).

You will need the new driver for other reasons, like direct PC to Cortex communication via USB.

-John

When will tournaments upgrade/be compatible with the new firmware? It would be helpful if the version requirements for each event were made known (and if each of the versions is available if different versions are being used).

There is nothing done at a tournament which requires a specific firmware version. We recommend ALL teams update to the latest version for ALL events.

The first question a field tech will ever ask you is:
“Do you have everything upgraded to the latest version?”

-John

What’s the second question?

“If it worked with the previous version all week before this event,
why would you upgrade on the morning of this event?”

They don’t upgrade the O/S on the space shuttle while its on the launch pad…

I have to agree with jgraber, upgrading at a tournament is generally a bad idea. In the case of this newest upgrade with the change of USB communication between joystick and cortex, new PC driver being needed, RobotC being almost, but not quite, source code compatible, it could be messy. I would say if you arrive at a tournament still running the 2.81/2.41 master firmware think hard before jumping in and upgrading on the spot.

Does anyone have the US National Vex Robotics Championship logo. I can only find the worlds logo. Thanks!

You don’t need to post the same question multiple times – give people a chance to answer.

The VRC US National Championships is hosted and run by the CREATE Foundation and their website is http://www.create-found.org/index.php. You should probably ask them about their logo.

Well, actually that IS the second question.
The first is:* “Is your robot turned on?”*

You’re right that updating AT the event isn’t always a good idea. We hope everyone updates to the latest version and does full testing before taking the field.

This is why we’re making this release now. Hopefully by the time we get to some of the larger Championship events, we won’t need to be reminding people to update.

Then again, we’ve seen plenty of people start programming for the first time the day of the event, still not sure how to help them…

@ the op:

  1. I’m assuming that the firmware for direct USB connections will also be changing?

  2. Will VEX be publishing details of this new USB protocol? (Or, for that matter, the old protocol?)

  3. Can you please enumerate the rationale behind this change? Why the move away from USB HID?

  4. Has the new driver been tested on Windows 7 x64?

  5. easyC for Cortex v4.0.1.5 (the current latest version to the best of my knowledge, our install CD arrived last week) doesn’t even support the 2.81 firmware, can you please confirm that they will be releasing updates that will bring easyC up to speed with this latest firmware release? Will these updates be available to existing customers?

A protocol specification would make it easier for kernel developers (such as myself) to develop open source drivers and loader software for UNIX platforms such as Mac OS X and Linux.

It’s taken me awhile to figure out the USB HID protocol for the STM32 Cortex/LPC2458 boards, given the complete lack of appropriate documentation for both the board and the master firmware for the LPC.

~ Bryce A. Lelbach, (Computer Science department, Louisiana State University)

I’m not answering for VEX but as a hobbyist here is my take.

The new driver handles the USB communication, it makes the cortex appear as a com port.

I doubt it.

The old USB protocol was for many of us unreliable.

I’ve been running on Win7 Pro x64 for about a month with no issues.

Don’t know.

I have written a user space application for OSX (no plans to release it, just for fun), the new protocol is not that different from the old one, more or less the same messages but sent directly to USB endpoints rather than as HID reports. Perhaps we could discuss your application via pm, not sure I really want to document what I’ve been up to but if it’s really worthwhile and would not compete with CMU or intelitek then perhaps I would share.

We are developing a JVM for the VEX cortex kits for use in our CS classes at LSU. If you’d like to chat further, please shoot me a mail at blelbach cct . lsu . edu.

Any news on when this new programming cable will be released?

The new programming cable was pushed back, it should be out sometime this summer.

-John