Introduction for beginners!

General discussions about V-USB, our firmware-only implementation of a low speed USB device on Atmel's AVR microcontrollers
Post Reply
nhamed
Posts: 1
Joined: Mon Dec 16, 2013 9:50 am

Introduction for beginners!

Post by nhamed » Mon Dec 16, 2013 10:03 am

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

matrixstorm
Posts: 16
Joined: Tue Sep 18, 2012 2:30 pm

Re: Introduction for beginners!

Post by matrixstorm » Mon Dec 16, 2013 6:56 pm

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

ulao
Rank 4
Rank 4
Posts: 480
Joined: Mon Aug 25, 2008 8:45 pm

Re: Introduction for beginners!

Post by ulao » Tue Dec 17, 2013 7:54 pm

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.

blargg
Rank 3
Rank 3
Posts: 102
Joined: Thu Nov 14, 2013 10:01 pm

Re: Introduction for beginners!

Post by blargg » Tue Dec 17, 2013 9:21 pm

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.

Post Reply