firmware/usbconfig.h File Reference

Configuration options for the USB-driver. More...

Go to the source code of this file.

Defines

#define USB_CFG_IOPORTNAME   D
 This is the port where the USB bus is connected.
#define USB_CFG_DMINUS_BIT   0
 This is the bit number in USB_CFG_IOPORT where the USB D- line is connected.
#define USB_CFG_DPLUS_BIT   2
 This is the bit number in USB_CFG_IOPORT where the USB D+ line is connected.
#define USB_CFG_HAVE_INTRIN_ENDPOINT   1
 Define this to 1 if you want to compile a version with two endpoints: The default control endpoint 0 and an interrupt-in endpoint 1.
#define USB_CFG_HAVE_INTRIN_ENDPOINT3   0
 Define this to 1 if you want to compile a version with three endpoints: The default control endpoint 0, an interrupt-in endpoint 1 and an interrupt-in endpoint 3.
#define USB_CFG_IMPLEMENT_HALT   0
 Define this to 1 if you also want to implement the ENDPOINT_HALT feature for endpoint 1 (interrupt endpoint).
#define USB_CFG_INTR_POLL_INTERVAL   10
 If you compile a version with endpoint 1 (interrupt-in), this is the poll interval.
#define USB_CFG_IS_SELF_POWERED   0
 Define this to 1 if the device has its own power supply.
#define USB_CFG_MAX_BUS_POWER   100
 Set this variable to the maximum USB bus power consumption of your device.
#define USB_CFG_IMPLEMENT_FN_WRITE   1
 Set this to 1 if you want usbFunctionWrite() to be called for control-out transfers.
#define USB_CFG_IMPLEMENT_FN_READ   0
 Set this to 1 if you need to send control replies which are generated "on the fly" when usbFunctionRead() is called.
#define USB_CFG_IMPLEMENT_FN_WRITEOUT   0
 Define this to 1 if you want to use interrupt-out (or bulk out) endpoint 1.
#define USB_CFG_HAVE_FLOWCONTROL   0
 Define this to 1 if you want flowcontrol over USB data.
#define USB_CFG_VENDOR_ID   0x42, 0x42
 We cannot use Obdev's free shared VID/PID pair because this is a HID.
#define USB_CFG_DEVICE_ID   0x31, 0xe1
 This is the ID of the product, low byte first.
#define USB_CFG_DEVICE_VERSION   0x00, 0x01
 Version number of the device: Minor number first, then major number.
#define USB_CFG_VENDOR_NAME   'w', 'w', 'w', '.', 's', 'c', 'h', 'a', 't', 'e', 'n', 's', 'e', 'i', 't', 'e', '.', 'd', 'e'
 These two values define the vendor name returned by the USB device.
#define USB_CFG_VENDOR_NAME_LEN   19
 Length of USB_CFG_DEVICE_VERSION.
#define USB_CFG_DEVICE_NAME   'D', 'u', 'l', 'c', 'i', 'm', 'e', 'r'
 Same as above for the device name.
#define USB_CFG_DEVICE_NAME_LEN   8
 Length of USB_CFG_DEVICE_NAME.
#define USB_CFG_DEVICE_CLASS   0
 See USB specification if you want to conform to an existing device class.
#define USB_CFG_DEVICE_SUBCLASS   0
 See USB specification if you want to conform to an existing device subclass.
#define USB_CFG_INTERFACE_CLASS   0x03
 See USB specification if you want to conform to an existing device class or protocol.
#define USB_CFG_INTERFACE_SUBCLASS   0x01
 See USB specification if you want to conform to an existing device class or protocol.
#define USB_CFG_INTERFACE_PROTOCOL   0x01
 See USB specification if you want to conform to an existing device class or protocol.
#define USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH   63
 Define this to the length of the HID report descriptor, if you implement an HID device.
#define USB_CFG_DESCR_PROPS_DEVICE   0
#define USB_CFG_DESCR_PROPS_CONFIGURATION   0
#define USB_CFG_DESCR_PROPS_STRINGS   0
#define USB_CFG_DESCR_PROPS_STRING_0   0
#define USB_CFG_DESCR_PROPS_STRING_VENDOR   0
#define USB_CFG_DESCR_PROPS_STRING_PRODUCT   0
#define USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER   0
#define USB_CFG_DESCR_PROPS_HID   0
#define USB_CFG_DESCR_PROPS_HID_REPORT   0
#define USB_CFG_DESCR_PROPS_UNKNOWN   0


Detailed Description

Configuration options for the USB-driver.

This file is almost identical to the original usbconfig.h by Christian Starkjohann, in structure and content.

It contains parts of the USB driver which can be configured and can or must be adapted to your hardware.

Author:
Ronald Schaten <ronald@schatenseite.de>
Version:
Id
usbconfig.h,v 1.1 2008-07-09 20:47:12 rschaten Exp

License: GNU GPL v2 (see License.txt)

Definition in file usbconfig.h.


Define Documentation

#define USB_CFG_DESCR_PROPS_CONFIGURATION   0

Definition at line 214 of file usbconfig.h.

#define USB_CFG_DESCR_PROPS_DEVICE   0

Definition at line 213 of file usbconfig.h.

#define USB_CFG_DESCR_PROPS_HID   0

Definition at line 220 of file usbconfig.h.

#define USB_CFG_DESCR_PROPS_HID_REPORT   0

Definition at line 221 of file usbconfig.h.

#define USB_CFG_DESCR_PROPS_STRING_0   0

Definition at line 216 of file usbconfig.h.

#define USB_CFG_DESCR_PROPS_STRING_PRODUCT   0

Definition at line 218 of file usbconfig.h.

#define USB_CFG_DESCR_PROPS_STRING_SERIAL_NUMBER   0

Definition at line 219 of file usbconfig.h.

#define USB_CFG_DESCR_PROPS_STRING_VENDOR   0

Definition at line 217 of file usbconfig.h.

#define USB_CFG_DESCR_PROPS_STRINGS   0

Definition at line 215 of file usbconfig.h.

#define USB_CFG_DESCR_PROPS_UNKNOWN   0

Definition at line 222 of file usbconfig.h.

#define USB_CFG_DEVICE_CLASS   0

See USB specification if you want to conform to an existing device class.

This setting means to specify the class at the interface level.

Definition at line 148 of file usbconfig.h.

#define USB_CFG_DEVICE_ID   0x31, 0xe1

This is the ID of the product, low byte first.

It is interpreted in the scope of the vendor ID. If you have registered your own VID with usb.org or if you have licensed a PID from somebody else, define it here. Otherwise you use obdev's free shared VID/PID pair. Be sure to read the rules in USBID-License.txt!

Definition at line 122 of file usbconfig.h.

#define USB_CFG_DEVICE_NAME   'D', 'u', 'l', 'c', 'i', 'm', 'e', 'r'

Same as above for the device name.

If you don't want a device name, undefine the macros. See the file USBID-License.txt before you assign a name.

Definition at line 141 of file usbconfig.h.

#define USB_CFG_DEVICE_NAME_LEN   8

Length of USB_CFG_DEVICE_NAME.

Definition at line 144 of file usbconfig.h.

#define USB_CFG_DEVICE_SUBCLASS   0

See USB specification if you want to conform to an existing device subclass.

Definition at line 151 of file usbconfig.h.

#define USB_CFG_DEVICE_VERSION   0x00, 0x01

Version number of the device: Minor number first, then major number.

Definition at line 125 of file usbconfig.h.

#define USB_CFG_DMINUS_BIT   0

This is the bit number in USB_CFG_IOPORT where the USB D- line is connected.

This may be any bit in the port.

Definition at line 28 of file usbconfig.h.

#define USB_CFG_DPLUS_BIT   2

This is the bit number in USB_CFG_IOPORT where the USB D+ line is connected.

This may be any bit in the port. Please note that D+ must also be connected to interrupt pin INT0!

Definition at line 33 of file usbconfig.h.

#define USB_CFG_HAVE_FLOWCONTROL   0

Define this to 1 if you want flowcontrol over USB data.

See the definition of the macros usbDisableAllRequests() and usbEnableAllRequests() in usbdrv.h.

Definition at line 100 of file usbconfig.h.

#define USB_CFG_HAVE_INTRIN_ENDPOINT   1

Define this to 1 if you want to compile a version with two endpoints: The default control endpoint 0 and an interrupt-in endpoint 1.

Definition at line 54 of file usbconfig.h.

#define USB_CFG_HAVE_INTRIN_ENDPOINT3   0

Define this to 1 if you want to compile a version with three endpoints: The default control endpoint 0, an interrupt-in endpoint 1 and an interrupt-in endpoint 3.

You must also enable endpoint 1 above.

Definition at line 59 of file usbconfig.h.

#define USB_CFG_HID_REPORT_DESCRIPTOR_LENGTH   63

Define this to the length of the HID report descriptor, if you implement an HID device.

Otherwise don't define it or define it to 0.

Definition at line 167 of file usbconfig.h.

#define USB_CFG_IMPLEMENT_FN_READ   0

Set this to 1 if you need to send control replies which are generated "on the fly" when usbFunctionRead() is called.

If you only want to send data from a static buffer, set it to 0 and return the data from usbFunctionSetup(). This saves a couple of bytes.

Definition at line 90 of file usbconfig.h.

#define USB_CFG_IMPLEMENT_FN_WRITE   1

Set this to 1 if you want usbFunctionWrite() to be called for control-out transfers.

Set it to 0 if you don't need it and want to save a couple of bytes.

Definition at line 84 of file usbconfig.h.

#define USB_CFG_IMPLEMENT_FN_WRITEOUT   0

Define this to 1 if you want to use interrupt-out (or bulk out) endpoint 1.

You must implement the function usbFunctionWriteOut() which receives all interrupt/bulk data sent to endpoint 1.

Definition at line 95 of file usbconfig.h.

#define USB_CFG_IMPLEMENT_HALT   0

Define this to 1 if you also want to implement the ENDPOINT_HALT feature for endpoint 1 (interrupt endpoint).

Although you may not need this feature, it is required by the standard. We have made it a config option because it bloats the code considerably.

Definition at line 65 of file usbconfig.h.

#define USB_CFG_INTERFACE_CLASS   0x03

See USB specification if you want to conform to an existing device class or protocol.

This is HID class.

Definition at line 155 of file usbconfig.h.

#define USB_CFG_INTERFACE_PROTOCOL   0x01

See USB specification if you want to conform to an existing device class or protocol.

This is keyboard protocol.

Definition at line 163 of file usbconfig.h.

#define USB_CFG_INTERFACE_SUBCLASS   0x01

See USB specification if you want to conform to an existing device class or protocol.

This is a boot device.

Definition at line 159 of file usbconfig.h.

#define USB_CFG_INTR_POLL_INTERVAL   10

If you compile a version with endpoint 1 (interrupt-in), this is the poll interval.

The value is in milliseconds and must not be less than 10 ms for low speed devices.

Definition at line 70 of file usbconfig.h.

#define USB_CFG_IOPORTNAME   D

This is the port where the USB bus is connected.

When you configure it to "B", the registers PORTB, PINB and DDRB will be used.

Definition at line 24 of file usbconfig.h.

#define USB_CFG_IS_SELF_POWERED   0

Define this to 1 if the device has its own power supply.

Set it to 0 if the device is powered from the USB bus.

Definition at line 74 of file usbconfig.h.

#define USB_CFG_MAX_BUS_POWER   100

Set this variable to the maximum USB bus power consumption of your device.

The value is in milliamperes. [It will be divided by two since USB communicates power requirements in units of 2 mA.]

Definition at line 79 of file usbconfig.h.

#define USB_CFG_VENDOR_ID   0x42, 0x42

We cannot use Obdev's free shared VID/PID pair because this is a HID.

We use John Hyde's VID (author of the book "USB Design By Example") for this example instead. John has offered this VID for use by students for non-commercial devices. Well... This example is for demonstration and education only... DO NOT LET DEVICES WITH THIS VID ESCAPE YOUR LAB! The Product-ID is a random number.

USB vendor ID for the device, low byte first. If you have registered your own Vendor ID, define it here. Otherwise you use obdev's free shared VID/PID pair. Be sure to read USBID-License.txt for rules!

Definition at line 115 of file usbconfig.h.

#define USB_CFG_VENDOR_NAME   'w', 'w', 'w', '.', 's', 'c', 'h', 'a', 't', 'e', 'n', 's', 'e', 'i', 't', 'e', '.', 'd', 'e'

These two values define the vendor name returned by the USB device.

The name must be given as a list of characters under single quotes. The characters are interpreted as Unicode (UTF-16) entities. If you don't want a vendor name string, undefine these macros. ALWAYS define a vendor name containing your Internet domain name if you use obdev's free shared VID/PID pair. See the file USBID-License.txt for details.

Definition at line 134 of file usbconfig.h.

#define USB_CFG_VENDOR_NAME_LEN   19

Length of USB_CFG_DEVICE_VERSION.

Definition at line 137 of file usbconfig.h.


Generated on Sat Jul 12 22:27:15 2008 for Dulcimer by  doxygen 1.5.4