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 |
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.
License: GNU GPL v2 (see License.txt)
Definition in file usbconfig.h.
#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 |
#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 |