Page 1 of 1

Introduction for beginners!

Posted: Mon Dec 16, 2013 10:03 am
by nhamed
Hi guys,

I am a beginner, is there any introduction for v-usb? all I see is professional instructions!
I have read wiki, comments in usbdrv.h, usbconfig.h and main.c in some example projects, but they seem complicated to me.
I don'n know, for example, which message or data transfer from device to PC or ...

Also, it may be very simpler than what I think. Is it true?
Otherwise, is there a basic introduction explaining v-usb?

Thanks a lot

Re: Introduction for beginners!

Posted: Mon Dec 16, 2013 6:56 pm
by matrixstorm
Maybe you want also to read http://www.beyondlogic.org/usbnutshell/usb1.shtml ?

In VUSB communication via host often is done by just using the control endpoint - the endpoint also responsible for communication
device descriptor and strings (vendor, type, serial ...) to the host.

For tinyUSBboard I prepared some VUSB template, some time ago.
You can find it as "VUSB skeleton/example with corresponding linux, windows (delphi) and platform independent GTK libusb program"
at http://matrixstorm.com/avr/tinyusbboard/#examples

Re: Introduction for beginners!

Posted: Tue Dec 17, 2013 7:54 pm
by ulao
I knew nothing of usb and had very little firmware programming experience when I started on v-usb. I only needed two things, 1) example code 2) this form.

Re: Introduction for beginners!

Posted: Tue Dec 17, 2013 9:21 pm
by blargg
Similar here. I've found the guides hopelessly disorganized, presenting random details and commentary before the reader even understands the overall structure. Along the lines of example code being a good teacher, I'd love to see a log of an actual USB session for say a keyboard, describing each USB event, and what v-usb does internally to respond. Not a tiny snapshot of it, but the whole session, so one can see how it all fits together. That would move me forward on my USB understanding far more than anything else. Concrete examples. And with timing information!

EDIT: Cypress' USB 2.0 introduction looks decent, and has plenty of examples of the protocol in action, including a USB analyzer's dump showing an actual log of activity from reset to being ready to use.