Main Site Documentation

Writing Driver


#1

Hi

One “simple” question…

What is the process to follow to write a driver (usb driver) for an external component ?

For instance, let’s say, i’d like to create a driver for a webcam or a printer… what should I do in order to create such a driver ?

Is there a web site where the communication / command protocol is available for different printers or webcam ?

Any help or explanation would be great and helpful :slight_smile:


#2

http://www.usb.org/home
That is it really…

USB is not a beginner thing and this is why we have drivers built in for most devices. I can easily tell you if you can write a USB driver. Do you know what is pipe, endpoint, descriptors, iso and bulk? If you do then writing USB drivers is easy, if not then you need to read about 1000 pages on the website above to barely get started with USB.

I know this not the answer you want to hear :slight_smile:

Oh, and you can also buy “USB complete” book which is very helpful.


#3

Some day soon the GHI team will have the USB webcam (still image snapshot) piece added into firmware, then you can cross that one off the list.

Eh gus :wink: :wink: :wink: :wink: :wink: :wink: :wink:


#4

I took a look at the C6820 driver done in the microframework toolkit, and, it’s only command to send and read via USB…as a serial port.

I won’t say it’s nothing, but it ain’t to be something that difficult to do…

I wasn’t talking about USB driver for windows, but only “driver” to handle a new peripheric with my FEZ domino…

Maybe it’s really difficult and I don’t see clearly why :slight_smile:


#5

Is this what you mean?

(link removed)


#6

I thought you are talking about USB host driver! Making drivers for components is very easy. We have plenty of examples and probably already have the driver for the device you are looking for.


#7

Original poster was talking about creating a software driver that handled the USB data stream for a device that isn’t covered by the core GHI USB Host support.

I think Sam might have taken us down a path that wasn’t quite what was needed.


#8

Sam did really provide the correct answer… That was what I was thinking about… Nothing more…


#9

oh, ok then. The examples you gave were all USB devices, which is a more advanced task.

Sam did a great job of documenting the way to approach a driver for any component and it will be a great resource -


#10

I’m Glad!

@ Brett, Thanks for the compliment! ;D