Generic_HID Firmware for Microchip Full-speed USB Chips

Jan Axelson
www.Lvr.com

March 19, 2005

This application is a generic HID device (not a system 
keyboard or mouse) that does the following:

Receives Output reports using interrupt OUT transfers and 
sends the report data back to the host in Input reports 
using interrupt IN transfers.

Receives Output reports using control transfers (Set_Report 
request) and sends the report data back to the host in Input 
reports using control transfers (Get_Report requests.)

The application uses separate buffers for Output reports 
received via interrupt transfers and Output reports received 
via control transfers use separate buffers. The application 
uses separate buffers for Input reports received via 
interrupt transfers and Input reports received via control 
transfers.

Receives Feature reports using control transfers (Set_Report 
request) and sends the report data back to the host in 
Feature reports using control transfers (Get_Report 
requests.)

A single buffer holds received Feature reports and reports 
to be sent.

This example is adapted from Microchip's Mouse example.

The project has been tested on the PICDEM FS USB
DEMONSTRATION BOARD

The project files should be at C:\MCHPFSUSB_generic_hid. If 
you want to change the location, see section 4.2.3 in the 
PICDEM FS USB Users Guide.

This application and host applications to communicate with 
the device are available from www.Lvr.com/hidpage.htm

March 30, 2005

Minor edits and enhancements added.

------------------------------------------------------------

Tools:

 - C18 Compiler and MPLAB(R) IDE, download from 
 www.microchip.com
----------------------------------------------------------------------