New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Program/Use "Microcontroller" via direct USB connection #20
Comments
"Search" (on the VEXNet update program) appears to send a usb control message with the following fields:
Championship 2010 Firmware: Firmware 2.3: The same command is sent to both OI and MC. |
EasyC can also program through the direct USB link (EasyC for Cortex). I'm attaching USB-sniffer logs taken during the download of the default EasyC firmware onto a Cortex chip. |
Hm, can't seem to attach it on github. Message me if you're interested in the logs. |
I am. Very interested. |
This is now doable with the latest LPC firmware, at least on Windows. I haven't thrown together a Linux driver yet. First, flash the Cortex to the latest firmware, and install the VeXNET serial driver for Windows from the VeX site. Then, put the Cortex into config mode, and plug it into your machine with any usb-to-usb cable. With the new driver, the Cortex now shows up as a USB CDC device instead of a USB HID device. The VeX windows driver emulates a COM port for it, and this can be used with utilities like stm32flash. On Linux, I haven't found a driver that does the emulation properly yet, but USB CDC is much eaasier to work with than USB HID. |
Hey, i took a look at the "VeXNET serial driver" when it initially came out. All it does is tell windows to use the standard usbserial driver, so all that is needed on linux is to add the vid/pid to a list in the kernel. |
nods It's a little tricker than that - I tried doing that, but the input and output lines are reversed from the Linux defaults. I still need to do some more research here. |
Could you clarify what you mean by "the input and output lines are reversed from the Linux defaults"? |
The firmware on the LPC2458 (master processor) in the "IFI Cortex Microcontroller" and the firmware on the OI ("Joystick" or some such, don't remember processor id) are upgradable via a direct usb connection and some windows software.
Additionally, I've been told ROBOTC can program the STM32103F (user processor) on the "Microcontroller" via the same direct usb link (avoiding the orange "programming cable"/usb to serial converter with control line pulser).
Enabling this in Linux/anything will mean determining the contents of the usb protocol.
Unfortunately, for programming the STM32103F, there is no way to get the commands for transfer with out (a) having ROBOTC and using a usb-snooper on windows or (b) having a usb-sniffer to sit bettween the "Joystick" and "Microcontroller" while programming via the orange cable.
'b' has the additional benefit of allowing determination of how to retrieve serial output over direct usb.
Info
Reports as HID device.
The text was updated successfully, but these errors were encountered: