General discussions about V-USB, our firmware-only implementation of a low speed USB device on Atmel's AVR microcontrollers
-
Guest
Post
by Guest » Sun Nov 11, 2007 6:14 am
christian wrote:If you need to send data to the device, I would recommend that you also encapsulate this in reports sent to the device, so that you can stay fully compliant with HID. See the Automator project for an example.
You don't need the interrupt-in endpoint. However, the HID specification demands that one exists. The host operating system may refuse to connect to the device if there is no interrupt-in endpoint.
And finally: Yes, you can poll for control messages from the host, of course. If you declare an endpoint as interrupt-in, the operating system's USB driver does the polling for you. This is usually more efficient in terms of CPU time used.
Thanks. I'm currently searching on the web regarding the HID side of things. I'm trying to figure out how to pull data from and put data to the
HID on the host side. It is transfering data on the scheduled times. but I'm not sure how to get at it or put data into it for the interupt_out.
I know I can do transfers, either control_in or control_out, but I'm not sure if that is how I'm supposed to get the data to and from the HID. I would imagine there is some pipes functions in the HID.dll, but I'm still searching.
Thanks again.
-
Guest
Post
by Guest » Sun Nov 11, 2007 7:40 am
Anonymous wrote:christian wrote:If you need to send data to the device, I would recommend that you also encapsulate this in reports sent to the device, so that you can stay fully compliant with HID. See the Automator project for an example.
You don't need the interrupt-in endpoint. However, the HID specification demands that one exists. The host operating system may refuse to connect to the device if there is no interrupt-in endpoint.
And finally: Yes, you can poll for control messages from the host, of course. If you declare an endpoint as interrupt-in, the operating system's USB driver does the polling for you. This is usually more efficient in terms of CPU time used.
Thanks. I'm currently searching on the web regarding the HID side of things. I'm trying to figure out how to pull data from and put data to the
HID on the host side. It is transfering data on the scheduled times. but I'm not sure how to get at it or put data into it for the interupt_out.
I know I can do transfers, either control_in or control_out, but I'm not sure if that is how I'm supposed to get the data to and from the HID. I would imagine there is some pipes functions in the HID.dll, but I'm still searching.
Thanks again.
edit: The windows ddk has alot of examples of HID and USB functions.
-
christian
- Objective Development
- Posts: 1443
- Joined: Thu Nov 09, 2006 11:46 am
Post
by christian » Sun Nov 11, 2007 12:37 pm
Or look at the Automator project. It uses Windows HID functions to send and receive data and it contains an abstraction library based on Windows HID calls for Windows and libusb calls for Unix.