Update failure with VEX IQ

When trying to update the controller, etc. we plug the USB in and get an error issue almost immediately. Sometimes, it will look like it is about to go through, but then the error message appears. We have changed cables. We have restarted chrome books. We have multiple robots on multiple chrome books failing simultaneously. Any advice would be much appreciated.

Thank you.

Need more details on what you are trying to do.

Is this for IQ generation 1 or generation 2 (color screen) ?

Are you trying to do a firmware update on the controller ?
Using VEXcode ?

or are you trying to send a program through the controller to the IQ brain ?

If you are using VEXcode,
After a failed attempt, perhaps use the feedback button in VEXcode so tech support can see the logs and determine what may be happening, perhaps reference this topic in the feedback comments.

4 Likes

We had Vex utility and code running at the same time. Closing VEX Code did the trick.

Thank you for reaching out.

1 Like

I know that VexOS as a utility is slowly going to go on its way out, since Gen 2 updates through VexCode (I think? Right?) Still, it would be really nice if VexCode detected VexOS utility being open, and popped up a warning/prompt message that gets people to close VexCode to do an update through VexOS (or update VexOS to do the warning, either way).

Soooooo many Facebook group posts through the season where this was the case, and it’s a fairly straightforward fix (just like a startup splash screen on V5 and IQ VexCode to know that it’s booting, instead of guessing for a full minute…).

2 Likes

If we could, we would.
Unlike accessing serial ports using languages such as C, the code behind VEXcode (which is essentially javascript) has no way to detect that condition, at least a simple way we are aware of.

edit: I should add, when we looked at this before, the issue was treated as a generic problem, that is, how can we detect any other application that was using the serial ports we wanted to use, it was trying to detect more than just the VEXos utility for IQ. Perhaps there is a more straightforward way to detect just that single application is running.

and this is more of an OS thing, when I launch VEXcode on my Mac, it’s up in perhaps 5 seconds. Under windows, the launch process has to extract all the code from an archive file, if windows has anti-virus software running it will scan all of the files that get created, we have no control of this process, our code is not even running until all that has happened.

3 Likes

Not even looking for a process by name? Guess it depends on what sort of OS availability there is for that, or what the FOSS policy to add a package that could do it is (and all the joyous international implications y’all have to consider in those packages).

Re:VexCode startup, maybe for Windows, a small launcher app that is what runs when you start the program, then it kicks off the archive unpacking and the rest of the process? I’m sure adding an OS-specific wrinkle is not to be taken lightly, depending on how portable you’ve made that code.

I really do appreciate the detailed response!

2 Likes

Yea, I edited my post above, we can see if that’s a possibility (not that I’m really that involved with VEXcode dev)

VEXcode initially supported V5. The problem was multiple programs, some from partner developers, that may possibly be accessing the serial port.

VEXcode.
VCS
V5 firmware utility
PROS
RobotMesh
MathWorks.

The chrome frameworks that VEXcode uses just didn’t have the capability to detect an already opened serial port, so not much we could do. Now things are migrating to web based access (webSerial) as chrome apps are depreciated on chromebook (as well as the chrome APIs) so it’s not getting any easier.

VEXos utility for IQ generation 1 does not need using that much anymore, not sure when/if there will ever be another firmware update for IQ generation 1, but they typically happen only once or twice a year at most.

4 Likes