The first two of my exams are over, and I’m thankfully still alive - although somewhat battered. Tomorrow brings my Analogue Electronics exam, soon followed by my Calculus Maths exams, then my…on second thought, I need to have a lie down.
I’m still working (slowly) on the MyUSB documentation, but exams are taking priority — and there really is a mountain of work to be done, with each demo taking at least half an hour. On the plus side, I’ve taken the opportunity to clean up other areas of the documentation, so the next release will have more information pages.
Yesterday I used some downtime after an exam to work on the RNDIS MyUSB demo. The RNDIS (Remote Network Driver Interface Specification) demo is an implementation of Microsoft’s RNDIS protocol, used to create USB-over-Ethernet devices via a virtual network adapter. My previous efforts made a working implementation on top of which I hastily wrote a TCP/IP stack - but it left a lot to be desired. For one, you couldn’t close the connection from the application side, so the webserver demo left connections opened indefinetely.
My work yesterday was to implement proper application closing code, so that the established connection can be cut via a FIN message and a transition to the CLOSING and FIN WAIT 1 TCP states. I also took the opportunity to fix a few of the poor code which left it anything but a standards compliant TCP/IP stack. The result is still not clean nor fully complaint, and I recommend replacing it with a properly written stack like uIP for full functionality, but it serves as a working demonstration.
Aside from the documentation I’m really running dry on further development ideas. I’m going to investigate host-side driver development and the TMC USB class, but if you have any ideas of your own to share, leave a comment!
November 12th, 2008 at 4:20 pm
1). Do some raw devices with client code (preferably libusb).
2). Replace the led macros with a status function, a lot of the new designs dont have 4 leds. Some boards like the avropendous dont have leds at all.
November 15th, 2008 at 1:24 pm
Stub out the unused parts of the demos to show the correct way to read/write data even if you aren’t using it. (I am thinking of the midi demo, or the (unhandled) dtr/rts unhandled events in the cdc demo)