Thanks gbulmer. One other question. I have not programmed a usb port before. The docs you pointed me to (sorry I didn't see those earlier) seem say the library supports terminal mode at standard serial speeds, which I'm guessing is something like 115,200, or programming mode.
Are there any usb device code examples and libs that enable the the higher speeds? I would like to get above 5Mbps. I have copied some of the text from the link below for reference. Does the current lib only support the slower terminal mode?
"The Maple stm32 microprocessor includes a dedicated USB peripheral which can be configured to act as a general USB slave device with transfer rates up to 12mbps (it unfortunately can not be configured as a host or on-the-go device). By default the peripheral is configured for two uses: first to receive sketch/program uploads from the IDE, and second to emulate a regular serial port for use as a terminal (text read/write).
The emulated terminal is relatively slow and inefficient; it is best for transferring data at regular serial speeds (kilobaud). Users requiring faster data transfer should consider implementing a different communications protocol;"