Further documentation improvements - removed file view from the main library documentation, replaced file references in the documentation with group references.
60 files changed:
.UnicodeString = L"AVR CDC Bootloader"\r
};\r
\r
.UnicodeString = L"AVR CDC Bootloader"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see LUFA library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
.UnicodeString = L"AVR DFU Bootloader"\r
};\r
\r
.UnicodeString = L"AVR DFU Bootloader"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
.UnicodeString = L"AVR Teensy Bootloader"\r
};\r
\r
.UnicodeString = L"AVR Teensy Bootloader"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
.UnicodeString = L"LUFA Audio In Demo"\r
};\r
\r
.UnicodeString = L"LUFA Audio In Demo"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
.UnicodeString = L"LUFA Audio Out Demo"\r
};\r
\r
.UnicodeString = L"LUFA Audio Out Demo"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
.UnicodeString = L"LUFA CDC Demo"\r
};\r
\r
.UnicodeString = L"LUFA CDC Demo"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
.UnicodeString = L"LUFA Dual CDC Demo"\r
};\r
\r
.UnicodeString = L"LUFA Dual CDC Demo"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
.UnicodeString = L"LUFA Generic HID Demo"\r
};\r
\r
.UnicodeString = L"LUFA Generic HID Demo"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
.UnicodeString = L"LUFA Joystick Demo"\r
};\r
\r
.UnicodeString = L"LUFA Joystick Demo"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
.UnicodeString = L"LUFA Keyboard Demo"\r
};\r
\r
.UnicodeString = L"LUFA Keyboard Demo"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
.UnicodeString = L"LUFA Mouse and Keyboard Demo"\r
};\r
\r
.UnicodeString = L"LUFA Mouse and Keyboard Demo"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
.UnicodeString = L"LUFA MIDI Demo"\r
};\r
\r
.UnicodeString = L"LUFA MIDI Demo"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
.UnicodeString = L"000000000000"\r
};\r
\r
.UnicodeString = L"000000000000"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
.UnicodeString = L"LUFA Mouse Demo"\r
};\r
\r
.UnicodeString = L"LUFA Mouse Demo"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
.UnicodeString = L"LUFA RNDIS CDC Demo"\r
};\r
\r
.UnicodeString = L"LUFA RNDIS CDC Demo"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
.UnicodeString = L"LUFA USB-RS232 Demo"\r
};\r
\r
.UnicodeString = L"LUFA USB-RS232 Demo"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
.UnicodeString = L"LUFA Demo"\r
};\r
\r
.UnicodeString = L"LUFA Demo"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
/** \file\r
*\r
* This file contains dummy handlers for all the possible USB events passed to the\r
/** \file\r
*\r
* This file contains dummy handlers for all the possible USB events passed to the\r
- * application by the library (see Events.h documentation for more details on USB events).\r
+ * application by the library (see \ref Group_Events documentation for more details on USB events).\r
*\r
* Each event is caught and printed to the USART so that they may be monitored.\r
*/\r
*\r
* Each event is caught and printed to the USART so that they may be monitored.\r
*/\r
MCU = at90usb1287\r
\r
\r
MCU = at90usb1287\r
\r
\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring\r
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called \r
# "Board" inside the application directory.\r
BOARD = USBKEY\r
* renamed to Endpoint_ClearSETUP(), the Pipe_IsSetupSent() macro has been renamed to Pipe_IsSETUPSent() and the\r
* Pipe_ClearSetupSent() macro is no longer applicable and should be removed - changes made to compliment the new endpoint and pipe\r
* bank management API\r
* renamed to Endpoint_ClearSETUP(), the Pipe_IsSetupSent() macro has been renamed to Pipe_IsSETUPSent() and the\r
* Pipe_ClearSetupSent() macro is no longer applicable and should be removed - changes made to compliment the new endpoint and pipe\r
* bank management API\r
- * - Updated all demos, bootloaders and projects to use the new endpoint and pipe management APIs (thanks to Roman Thiel (Curetis AG))\r
+ * - Updated all demos, bootloaders and projects to use the new endpoint and pipe management APIs (thanks to Roman Thiel from Curetis AG)\r
* - Updated library doxygen documentation, added groups, changed documentation macro functions to real functions for clarity\r
* - Removed old endpoint and pipe aliased read/write/discard routines which did not have an explicit endian specifier for clarity\r
* - Removed the ButtLoadTag.h header file, as no one used for its intended purpose anyway\r
* - Updated library doxygen documentation, added groups, changed documentation macro functions to real functions for clarity\r
* - Removed old endpoint and pipe aliased read/write/discard routines which did not have an explicit endian specifier for clarity\r
* - Removed the ButtLoadTag.h header file, as no one used for its intended purpose anyway\r
* - Fixed PREVENT ALLOW MEDIUM REMOVAL command issuing in the MassStorageHost demo using incorrect parameters (thanks to Mike Alex)\r
* - Fixed MassStorageHost demo broken due to an incorrect if statement test in MassStore_GetReturnedStatus()\r
* - Fixed reversed signature byte ordering in the CDC bootloader (thanks to Johannes Raschke)\r
* - Fixed PREVENT ALLOW MEDIUM REMOVAL command issuing in the MassStorageHost demo using incorrect parameters (thanks to Mike Alex)\r
* - Fixed MassStorageHost demo broken due to an incorrect if statement test in MassStore_GetReturnedStatus()\r
* - Fixed reversed signature byte ordering in the CDC bootloader (thanks to Johannes Raschke)\r
+ * - Changed PIPE_CONTROLPIPE_DEFAULT_SIZE from 8 to 64 to try to prevent problems with faulty devices which do not respect the given\r
+ * wLength value when reading in the device descriptor\r
* \r
*\r
* \section Sec_ChangeLog090401 Version 090401\r
* \r
*\r
* \section Sec_ChangeLog090401 Version 090401\r
# This will remove the Files entry from the Quick Index and from the \r
# Folder Tree View (if specified). The default is YES.\r
\r
# This will remove the Files entry from the Quick Index and from the \r
# Folder Tree View (if specified). The default is YES.\r
\r
\r
# Set the SHOW_NAMESPACES tag to NO to disable the generation of the \r
# Namespaces page. This will remove the Namespaces entry from the Quick Index\r
\r
# Set the SHOW_NAMESPACES tag to NO to disable the generation of the \r
# Namespaces page. This will remove the Namespaces entry from the Quick Index\r
#include "../Peripheral/ADC.h"\r
\r
#if !defined(BOARD)\r
#include "../Peripheral/ADC.h"\r
\r
#if !defined(BOARD)\r
- #error #error BOARD must be set in makefile to a value specified in BoardTypes.h. \r
+ #error BOARD must be set in makefile to a value specified in BoardTypes.h. \r
#elif (BOARD != BOARD_USBKEY) && (BOARD != BOARD_STK525) && (BOARD != BOARD_STK526)\r
#error The selected board does not contain a temperature sensor.\r
#endif\r
#elif (BOARD != BOARD_USBKEY) && (BOARD != BOARD_STK525) && (BOARD != BOARD_STK526)\r
#error The selected board does not contain a temperature sensor.\r
#endif\r
\r
/** Returns the descriptor's type, expressed as the 8-bit type value in the header of the descriptor.\r
* This value's meaning depends on the descriptor's placement in the descriptor, but standard type\r
\r
/** Returns the descriptor's type, expressed as the 8-bit type value in the header of the descriptor.\r
* This value's meaning depends on the descriptor's placement in the descriptor, but standard type\r
- * values can be accessed in the DescriptorTypes_t enum located in USB/HighLevel/StdDescriptors.h.\r
+ * values can be accessed in the \ref USB_DescriptorTypes_t enum.\r
*/\r
#if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) || defined(__DOXYGEN__)\r
#define DESCRIPTOR_TYPE(DescriptorPtr) DESCRIPTOR_CAST(DescriptorPtr, USB_Descriptor_Header_t).Type\r
*/\r
#if defined(USE_NONSTANDARD_DESCRIPTOR_NAMES) || defined(__DOXYGEN__)\r
#define DESCRIPTOR_TYPE(DescriptorPtr) DESCRIPTOR_CAST(DescriptorPtr, USB_Descriptor_Header_t).Type\r
* \note This event only exists on USB AVR models which support dual role modes.\r
*\r
* \note This event does not exist if the USB_DEVICE_ONLY or USB_HOST_ONLY tokens have been supplied\r
* \note This event only exists on USB AVR models which support dual role modes.\r
*\r
* \note This event does not exist if the USB_DEVICE_ONLY or USB_HOST_ONLY tokens have been supplied\r
- * to the compiler (see LowLevel.h documentation).\r
+ * to the compiler (see \ref Group_USBManagement documentation).\r
*/\r
void USB_UIDChange(void);\r
\r
*/\r
void USB_UIDChange(void);\r
\r
* \note This event only exists on USB AVR models which supports host mode.\r
*\r
* \note This event does not exist if the USB_DEVICE_ONLY token is supplied to the compiler (see\r
* \note This event only exists on USB AVR models which supports host mode.\r
*\r
* \note This event does not exist if the USB_DEVICE_ONLY token is supplied to the compiler (see\r
- * LowLevel.h documentation).\r
+ * \ref Group_USBManagement documentation).\r
*/\r
void USB_HostError(const uint8_t ErrorCode);\r
\r
*/\r
void USB_HostError(const uint8_t ErrorCode);\r
\r
* \note This event only exists on USB AVR models which supports host mode.\r
*\r
* \note This event does not exist if the USB_DEVICE_ONLY token is supplied to the compiler (see\r
* \note This event only exists on USB AVR models which supports host mode.\r
*\r
* \note This event does not exist if the USB_DEVICE_ONLY token is supplied to the compiler (see\r
- * LowLevel.h documentation).\r
+ * \ref Group_USBManagement documentation).\r
- * \see USBTask.h for more information on the USB management task and reducing CPU usage.\r
+ * \see \ref TASK(USB_USBTask) for more information on the USB management task and reducing CPU usage.\r
*/\r
void USB_DeviceAttached(void);\r
\r
*/\r
void USB_DeviceAttached(void);\r
\r
* \note This event only exists on USB AVR models which supports host mode.\r
*\r
* \note This event does not exist if the USB_DEVICE_ONLY token is supplied to the compiler (see\r
* \note This event only exists on USB AVR models which supports host mode.\r
*\r
* \note This event does not exist if the USB_DEVICE_ONLY token is supplied to the compiler (see\r
- * LowLevel.h documentation).\r
+ * \ref Group_USBManagement documentation).\r
- * \see USBTask.h for more information on the USB management task and reducing CPU usage.\r
+ * \see \ref TASK(USB_USBTask) for more information on the USB management task and reducing CPU usage.\r
*/\r
void USB_DeviceUnattached(void);\r
\r
*/\r
void USB_DeviceUnattached(void);\r
\r
* \note This event only exists on USB AVR models which supports host mode.\r
*\r
* \note This event does not exist if the USB_DEVICE_ONLY token is supplied to the compiler (see\r
* \note This event only exists on USB AVR models which supports host mode.\r
*\r
* \note This event does not exist if the USB_DEVICE_ONLY token is supplied to the compiler (see\r
- * LowLevel.h documentation).\r
+ * \ref Group_USBManagement documentation).\r
*/\r
void USB_DeviceEnumerationFailed(const uint8_t ErrorCode, const uint8_t SubErrorCode);\r
\r
*/\r
void USB_DeviceEnumerationFailed(const uint8_t ErrorCode, const uint8_t SubErrorCode);\r
\r
* on control transfers, interrupts are disabled during control request processing.\r
*\r
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see\r
* on control transfers, interrupts are disabled during control request processing.\r
*\r
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see\r
- * LowLevel.h documentation).\r
+ * \ref Group_USBManagement documentation).\r
*\r
* \note Requests should be handled in the same manner as described in the USB 2.0 Specification,\r
* or appropriate class specification. In all instances, the library has already read the\r
*\r
* \note Requests should be handled in the same manner as described in the USB 2.0 Specification,\r
* or appropriate class specification. In all instances, the library has already read the\r
* This event fires after the value of \ref USB_ConfigurationNumber has been changed.\r
*\r
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see\r
* This event fires after the value of \ref USB_ConfigurationNumber has been changed.\r
*\r
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see\r
- * LowLevel.h documentation).\r
+ * \ref Group_USBManagement documentation).\r
*/\r
void USB_ConfigurationChanged(void);\r
\r
*/\r
void USB_ConfigurationChanged(void);\r
\r
* the device over to a low power state until the host wakes up the device.\r
*\r
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see\r
* the device over to a low power state until the host wakes up the device.\r
*\r
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see\r
- * LowLevel.h documentation).\r
+ * \ref Group_USBManagement documentation).\r
*\r
* \see \ref USB_WakeUp() event for accompanying Wake Up event.\r
*/\r
*\r
* \see \ref USB_WakeUp() event for accompanying Wake Up event.\r
*/\r
* mode.\r
*\r
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see\r
* mode.\r
*\r
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see\r
- * LowLevel.h documentation).\r
+ * \ref Group_USBManagement documentation).\r
*\r
* \see \ref USB_Suspend() event for accompanying Suspend event.\r
*/\r
*\r
* \see \ref USB_Suspend() event for accompanying Suspend event.\r
*/\r
* disabled.\r
*\r
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see\r
* disabled.\r
*\r
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see\r
- * LowLevel.h documentation).\r
+ * \ref Group_USBManagement documentation).\r
*/\r
void USB_Reset(void);\r
\r
*/\r
void USB_Reset(void);\r
\r
* \ref USB_Device_ErrorCodes_t enum located in Device.h.\r
*\r
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see\r
* \ref USB_Device_ErrorCodes_t enum located in Device.h.\r
*\r
* \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see\r
- * LowLevel.h documentation).\r
+ * \ref Group_USBManagement documentation).\r
*/\r
void USB_DeviceError(const uint8_t ErrorCode);\r
#endif\r
*/\r
void USB_DeviceError(const uint8_t ErrorCode);\r
#endif\r
#define NO_DESCRIPTOR 0\r
\r
/** Macro to calculate the power value for the device descriptor, from a given number of milliamps. */\r
#define NO_DESCRIPTOR 0\r
\r
/** Macro to calculate the power value for the device descriptor, from a given number of milliamps. */\r
- #define USB_CONFIG_POWER_MA(x) (x >> 1)\r
+ #define USB_CONFIG_POWER_MA(mA) (mA >> 1)\r
\r
/** Macro to calculate the Unicode length of a string with a given number of Unicode characters.\r
* Should be used in string descriptor's headers for giving the string descriptor's byte length.\r
*/\r
\r
/** Macro to calculate the Unicode length of a string with a given number of Unicode characters.\r
* Should be used in string descriptor's headers for giving the string descriptor's byte length.\r
*/\r
- #define USB_STRING_LEN(x) (sizeof(USB_Descriptor_Header_t) + (x << 1))\r
+ #define USB_STRING_LEN(str) (sizeof(USB_Descriptor_Header_t) + (str << 1))\r
\r
/** Macro to encode a given four digit floating point version number (e.g. 01.23) into Binary Coded\r
* Decimal format for descriptor fields requiring BCD encoding, such as the USB version number in the\r
\r
/** Macro to encode a given four digit floating point version number (e.g. 01.23) into Binary Coded\r
* Decimal format for descriptor fields requiring BCD encoding, such as the USB version number in the\r
/** This module raises the Device Error event while in device mode, if the \ref USB_GetDescriptor()\r
* routine is not hooked in the user application to properly return descriptors to the library.\r
*\r
/** This module raises the Device Error event while in device mode, if the \ref USB_GetDescriptor()\r
* routine is not hooked in the user application to properly return descriptors to the library.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_DeviceError);\r
#endif\r
*/\r
RAISES_EVENT(USB_DeviceError);\r
#endif\r
/* Type Defines: */\r
/** Type define for all descriptor's header, indicating the descriptor's length and type.\r
*\r
/* Type Defines: */\r
/** Type define for all descriptor's header, indicating the descriptor's length and type.\r
*\r
- * \note The non-standard structure element names are documented here - see the StdDescriptors.h file\r
- * documentation for more information on the two descriptor naming schemes. If the\r
- * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements with names\r
- * identical to those listed in the USB standard.\r
+ * \note The non-standard structure element names are documented here. If the\r
+ * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements \r
+ * with names identical to those listed in the USB standard.\r
*/\r
typedef struct\r
{\r
*/\r
typedef struct\r
{\r
\r
/** Type define for a standard device descriptor.\r
*\r
\r
/** Type define for a standard device descriptor.\r
*\r
- * \note The non-standard structure element names are documented here - see the StdDescriptors.h file\r
- * documentation for more information on the two descriptor naming schemes. If the\r
- * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements with names\r
- * identical to those listed in the USB standard.\r
+ * \note The non-standard structure element names are documented here. If the\r
+ * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements \r
+ * with names identical to those listed in the USB standard.\r
*/\r
typedef struct\r
{\r
*/\r
typedef struct\r
{\r
\r
/** Type define for a standard configuration descriptor.\r
*\r
\r
/** Type define for a standard configuration descriptor.\r
*\r
- * \note The non-standard structure element names are documented here - see the StdDescriptors.h file\r
- * documentation for more information on the two descriptor naming schemes. If the\r
- * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements with names\r
- * identical to those listed in the USB standard.\r
+ * \note The non-standard structure element names are documented here. If the\r
+ * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements \r
+ * with names identical to those listed in the USB standard.\r
*/\r
typedef struct\r
{\r
*/\r
typedef struct\r
{\r
\r
/** Type define for a standard interface descriptor.\r
*\r
\r
/** Type define for a standard interface descriptor.\r
*\r
- * \note The non-standard structure element names are documented here - see the StdDescriptors.h file\r
- * documentation for more information on the two descriptor naming schemes. If the\r
- * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements with names\r
- * identical to those listed in the USB standard.\r
+ * \note The non-standard structure element names are documented here. If the\r
+ * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements \r
+ * with names identical to those listed in the USB standard.\r
*/\r
typedef struct\r
{\r
*/\r
typedef struct\r
{\r
* together at the point of enumeration, loading one generic driver for all the interfaces in the single\r
* function. Read the ECN for more information.\r
*\r
* together at the point of enumeration, loading one generic driver for all the interfaces in the single\r
* function. Read the ECN for more information.\r
*\r
- * \note The non-standard structure element names are documented here - see the StdDescriptors.h file\r
- * documentation for more information on the two descriptor naming schemes. If the\r
- * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements with names\r
- * identical to those listed in the USB standard.\r
+ * \note The non-standard structure element names are documented here. If the\r
+ * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements \r
+ * with names identical to those listed in the USB standard.\r
*/\r
typedef struct\r
{\r
*/\r
typedef struct\r
{\r
\r
/** Type define for a standard endpoint descriptor.\r
*\r
\r
/** Type define for a standard endpoint descriptor.\r
*\r
- * \note The non-standard structure element names are documented here - see the StdDescriptors.h file\r
- * documentation for more information on the two descriptor naming schemes. If the\r
- * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements with names\r
- * identical to those listed in the USB standard.\r
+ * \note The non-standard structure element names are documented here. If the\r
+ * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements \r
+ * with names identical to those listed in the USB standard.\r
*/\r
typedef struct\r
{\r
*/\r
typedef struct\r
{\r
* This structure should also be used for string index 0, which contains the supported language IDs for\r
* the device as an array.\r
*\r
* This structure should also be used for string index 0, which contains the supported language IDs for\r
* the device as an array.\r
*\r
- * \note The non-standard structure element names are documented here - see the StdDescriptors.h file\r
- * documentation for more information on the two descriptor naming schemes. If the\r
- * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements with names\r
- * identical to those listed in the USB standard.\r
+ * \note The non-standard structure element names are documented here. If the\r
+ * USE_NONSTANDARD_DESCRIPTOR_NAMES token is not set, this structure contains elements \r
+ * with names identical to those listed in the USB standard.\r
*/\r
typedef struct\r
{\r
*/\r
typedef struct\r
{\r
*\r
* \note Not all USB AVR models support VBUS interrupts; this event only exists on supported AVRs.\r
*\r
*\r
* \note Not all USB AVR models support VBUS interrupts; this event only exists on supported AVRs.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_VBUSChange);\r
\r
*/\r
RAISES_EVENT(USB_VBUSChange);\r
\r
*\r
* \note Not all USB AVR models support VBUS interrupts; this event only exists on supported AVRs.\r
*\r
*\r
* \note Not all USB AVR models support VBUS interrupts; this event only exists on supported AVRs.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_VBUSConnect);\r
\r
*/\r
RAISES_EVENT(USB_VBUSConnect);\r
\r
*\r
* \note Not all USB AVR models support VBUS interrupts; this event only exists on supported AVRs.\r
*\r
*\r
* \note Not all USB AVR models support VBUS interrupts; this event only exists on supported AVRs.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_VBUSDisconnect);\r
#endif\r
*/\r
RAISES_EVENT(USB_VBUSDisconnect);\r
#endif\r
/** This module raises the Suspended event when the host suspends the USB interface of the AVR\r
* whilst running in device mode.\r
*\r
/** This module raises the Suspended event when the host suspends the USB interface of the AVR\r
* whilst running in device mode.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_Suspend);\r
\r
/** This module raises the Wake Up event when the host resumes the USB interface of the AVR\r
* whilst running in device mode.\r
*\r
*/\r
RAISES_EVENT(USB_Suspend);\r
\r
/** This module raises the Wake Up event when the host resumes the USB interface of the AVR\r
* whilst running in device mode.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_WakeUp);\r
\r
/** This module raises the USB Reset event when the host resets the USB interface of the AVR\r
* whilst running in device mode.\r
*\r
*/\r
RAISES_EVENT(USB_WakeUp);\r
\r
/** This module raises the USB Reset event when the host resets the USB interface of the AVR\r
* whilst running in device mode.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_Reset);\r
#endif\r
*/\r
RAISES_EVENT(USB_Reset);\r
#endif\r
*\r
* \note Not all USB AVR models support host mode; this event only exists on supported AVRs.\r
*\r
*\r
* \note Not all USB AVR models support host mode; this event only exists on supported AVRs.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_HostError);\r
\r
*/\r
RAISES_EVENT(USB_HostError);\r
\r
*\r
* \note Not all USB AVR models support host mode; this event only exists on supported AVRs.\r
*\r
*\r
* \note Not all USB AVR models support host mode; this event only exists on supported AVRs.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_DeviceUnattached);\r
#endif\r
*/\r
RAISES_EVENT(USB_DeviceUnattached);\r
#endif\r
* \note Not all USB AVR models support host mode and thus the UID pin; this event only exists on\r
* supported AVRs.\r
*\r
* \note Not all USB AVR models support host mode and thus the UID pin; this event only exists on\r
* supported AVRs.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_UIDChange);\r
#endif\r
*/\r
RAISES_EVENT(USB_UIDChange);\r
#endif\r
break;\r
case HOST_STATE_Powered:\r
Pipe_ConfigurePipe(PIPE_CONTROLPIPE, EP_TYPE_CONTROL,\r
break;\r
case HOST_STATE_Powered:\r
Pipe_ConfigurePipe(PIPE_CONTROLPIPE, EP_TYPE_CONTROL,\r
- PIPE_TOKEN_SETUP, PIPE_CONTROLPIPE,\r
+ PIPE_TOKEN_SETUP, ENDPOINT_CONTROLEP,\r
PIPE_CONTROLPIPE_DEFAULT_SIZE, PIPE_BANK_SINGLE); \r
\r
if (!(Pipe_IsConfigured()))\r
PIPE_CONTROLPIPE_DEFAULT_SIZE, PIPE_BANK_SINGLE); \r
\r
if (!(Pipe_IsConfigured()))\r
Pipe_ResetPipe(PIPE_CONTROLPIPE);\r
\r
Pipe_ConfigurePipe(PIPE_CONTROLPIPE, EP_TYPE_CONTROL,\r
Pipe_ResetPipe(PIPE_CONTROLPIPE);\r
\r
Pipe_ConfigurePipe(PIPE_CONTROLPIPE, EP_TYPE_CONTROL,\r
- PIPE_TOKEN_SETUP, PIPE_CONTROLPIPE,\r
+ PIPE_TOKEN_SETUP, ENDPOINT_CONTROLEP,\r
USB_ControlPipeSize, PIPE_BANK_SINGLE);\r
\r
if (!(Pipe_IsConfigured()))\r
USB_ControlPipeSize, PIPE_BANK_SINGLE);\r
\r
if (!(Pipe_IsConfigured()))\r
/** This module raises the \ref USB_Connect event when a USB device has been connected whilst in host\r
* mode, but not yet enumerated.\r
*\r
/** This module raises the \ref USB_Connect event when a USB device has been connected whilst in host\r
* mode, but not yet enumerated.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_Connect);\r
\r
/** This module raises the \ref USB_DeviceAttached event when in host mode, and a device is attached\r
* to the AVR's USB interface.\r
*\r
*/\r
RAISES_EVENT(USB_Connect);\r
\r
/** This module raises the \ref USB_DeviceAttached event when in host mode, and a device is attached\r
* to the AVR's USB interface.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_DeviceAttached);\r
\r
/** This module raises the \ref USB_DeviceUnattached event when in host mode, and a device is removed\r
* from the AVR's USB interface.\r
*\r
*/\r
RAISES_EVENT(USB_DeviceAttached);\r
\r
/** This module raises the \ref USB_DeviceUnattached event when in host mode, and a device is removed\r
* from the AVR's USB interface.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_DeviceUnattached);\r
\r
/** This module raises the \ref USB_DeviceEnumerationFailed event when in host mode, and an\r
* attached USB device has failed to successfully enumerated.\r
*\r
*/\r
RAISES_EVENT(USB_DeviceUnattached);\r
\r
/** This module raises the \ref USB_DeviceEnumerationFailed event when in host mode, and an\r
* attached USB device has failed to successfully enumerated.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_DeviceEnumerationFailed);\r
\r
*/\r
RAISES_EVENT(USB_DeviceEnumerationFailed);\r
\r
* attached USB device has been successfully enumerated and ready to be used by the user\r
* application.\r
*\r
* attached USB device has been successfully enumerated and ready to be used by the user\r
* application.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_DeviceEnumerationComplete);\r
\r
/** This module raises the \ref USB_Disconnect event when an attached USB device is removed from the USB\r
* bus.\r
*\r
*/\r
RAISES_EVENT(USB_DeviceEnumerationComplete);\r
\r
/** This module raises the \ref USB_Disconnect event when an attached USB device is removed from the USB\r
* bus.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_Disconnect);\r
#endif\r
*/\r
RAISES_EVENT(USB_Disconnect);\r
#endif\r
* - In host mode, it may be disabled at start-up, enabled on the firing of the \ref USB_DeviceAttached\r
* event and disabled again on the firing of the \ref USB_DeviceUnattached event.\r
*\r
* - In host mode, it may be disabled at start-up, enabled on the firing of the \ref USB_DeviceAttached\r
* event and disabled again on the firing of the \ref USB_DeviceUnattached event.\r
*\r
- * \see Events.h for more information on the USB events.\r
+ * \see \ref Group_Events for more information on the USB events.\r
*\r
* \ingroup Group_USBManagement\r
*/\r
*\r
* \ingroup Group_USBManagement\r
*/\r
/** This module raises the \ref USB_UnhandledControlPacket event when a request to the default control\r
* endpoint has been received, but the library does not implement an internal handler for it.\r
*\r
/** This module raises the \ref USB_UnhandledControlPacket event when a request to the default control\r
* endpoint has been received, but the library does not implement an internal handler for it.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_UnhandledControlPacket);\r
\r
/** This module raises the \ref USB_ConfigurationChanged event when the host issues a \ref REQ_SetConfiguration\r
* device request, to change the currently selected configuration number.\r
*\r
*/\r
RAISES_EVENT(USB_UnhandledControlPacket);\r
\r
/** This module raises the \ref USB_ConfigurationChanged event when the host issues a \ref REQ_SetConfiguration\r
* device request, to change the currently selected configuration number.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_ConfigurationChanged);\r
\r
*/\r
RAISES_EVENT(USB_ConfigurationChanged);\r
\r
* enumeration of the device (i.e. when a \ref REQ_SetConfiguration request changes the current configuration\r
* number from 0 to a non-zero value).\r
*\r
* enumeration of the device (i.e. when a \ref REQ_SetConfiguration request changes the current configuration\r
* number from 0 to a non-zero value).\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
RAISES_EVENT(USB_DeviceEnumerationComplete);\r
\r
*/\r
RAISES_EVENT(USB_DeviceEnumerationComplete);\r
\r
* issued if the host is currently allowing remote wakeup events from the device (i.e.,\r
* the \ref USB_RemoteWakeupEnabled flag is set).\r
*\r
* issued if the host is currently allowing remote wakeup events from the device (i.e.,\r
* the \ref USB_RemoteWakeupEnabled flag is set).\r
*\r
- * \see StdDescriptors.h for more information on the RMWAKEUP feature and device descriptors.\r
+ * \see \ref Group_Descriptors for more information on the RMWAKEUP feature and device descriptors.\r
*/\r
static inline void USB_Device_SendRemoteWakeup(void);\r
\r
*/\r
static inline void USB_Device_SendRemoteWakeup(void);\r
\r
* \note This macro should only be used if the device has indicated to the host that it\r
* supports the Remote Wakeup feature in the device descriptors.\r
*\r
* \note This macro should only be used if the device has indicated to the host that it\r
* supports the Remote Wakeup feature in the device descriptors.\r
*\r
- * \see StdDescriptors.h for more information on the RMWAKEUP feature and device descriptors.\r
+ * \see \ref Group_Descriptors for more information on the RMWAKEUP feature and device descriptors.\r
*\r
* \return Boolean true if no Remote Wakeup request is currently being sent, false otherwise\r
*/\r
*\r
* \return Boolean true if no Remote Wakeup request is currently being sent, false otherwise\r
*/\r
DEVICE_ERROR_GetDescriptorNotHooked = 0, /**< Indicates that the \ref USB_GetDescriptor() method\r
* has not been hooked by the user application.\r
*\r
DEVICE_ERROR_GetDescriptorNotHooked = 0, /**< Indicates that the \ref USB_GetDescriptor() method\r
* has not been hooked by the user application.\r
*\r
- * \see StdDescriptors.h for more information on\r
+ * \see \ref Group_Descriptors for more information on\r
* the \ref USB_GetDescriptor() method.\r
*/\r
};\r
* the \ref USB_GetDescriptor() method.\r
*/\r
};\r
*\r
* For information on each state, refer to the USB 2.0 specification. Some states have\r
*\r
*\r
* For information on each state, refer to the USB 2.0 specification. Some states have\r
*\r
- * \see USBTask.h for information on the global variable USB_HostState, which stores the\r
- * current host state machine state.\r
+ * \see \ref USB_HostState, which stores the current host state machine state.\r
*/\r
enum USB_Host_States_t\r
{\r
*/\r
enum USB_Host_States_t\r
{\r
\r
/** Enum for the error codes for the \ref USB_HostError event.\r
*\r
\r
/** Enum for the error codes for the \ref USB_HostError event.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
enum USB_Host_ErrorCodes_t\r
{\r
*/\r
enum USB_Host_ErrorCodes_t\r
{\r
\r
/** Enum for the error codes for the \ref USB_DeviceEnumerationFailed event.\r
*\r
\r
/** Enum for the error codes for the \ref USB_DeviceEnumerationFailed event.\r
*\r
- * \see Events.h for more information on this event.\r
+ * \see \ref Group_Events for more information on this event.\r
*/\r
enum USB_Host_EnumerationErrorCodes_t\r
{\r
*/\r
enum USB_Host_EnumerationErrorCodes_t\r
{\r
*\r
* \note This token is not available on AVR models which do not support host mode.\r
*/\r
*\r
* \note This token is not available on AVR models which do not support host mode.\r
*/\r
- #define USB_MODE_HOST 2\r
+ #define USB_MODE_HOST 2\r
#endif\r
\r
#if defined(USB_CAN_BE_BOTH) || defined(__DOXYGEN__)\r
#endif\r
\r
#if defined(USB_CAN_BE_BOTH) || defined(__DOXYGEN__)\r
\r
/** Mask for a CONTROL type endpoint or pipe.\r
*\r
\r
/** Mask for a CONTROL type endpoint or pipe.\r
*\r
- * \note See Endpoint.h and Pipe.h headers for endpoint/pipe functions.\r
+ * \note See \ref Group_EndpointManagement and \ref Group_PipeManagement for endpoint/pipe functions.\r
*/\r
#define EP_TYPE_CONTROL 0x00\r
\r
/** Mask for an ISOCHRONOUS type endpoint or pipe.\r
*\r
*/\r
#define EP_TYPE_CONTROL 0x00\r
\r
/** Mask for an ISOCHRONOUS type endpoint or pipe.\r
*\r
- * \note See Endpoint.h and Pipe.h headers for endpoint/pipe functions.\r
+ * \note See \ref Group_EndpointManagement and \ref Group_PipeManagement for endpoint/pipe functions.\r
*/\r
#define EP_TYPE_ISOCHRONOUS 0x01\r
\r
/** Mask for a BULK type endpoint or pipe.\r
*\r
*/\r
#define EP_TYPE_ISOCHRONOUS 0x01\r
\r
/** Mask for a BULK type endpoint or pipe.\r
*\r
- * \note See Endpoint.h and Pipe.h headers for endpoint/pipe functions.\r
+ * \note See \ref Group_EndpointManagement and \ref Group_PipeManagement for endpoint/pipe functions.\r
*/\r
#define EP_TYPE_BULK 0x02\r
\r
/** Mask for an INTERRUPT type endpoint or pipe.\r
*\r
*/\r
#define EP_TYPE_BULK 0x02\r
\r
/** Mask for an INTERRUPT type endpoint or pipe.\r
*\r
- * \note See Endpoint.h and Pipe.h headers for endpoint/pipe functions.\r
+ * \note See \ref Group_EndpointManagement and \ref Group_PipeManagement for endpoint/pipe functions.\r
*/\r
#define EP_TYPE_INTERRUPT 0x03\r
\r
*/\r
#define EP_TYPE_INTERRUPT 0x03\r
\r
#endif\r
\r
#if !defined(USE_STATIC_OPTIONS) || defined(__DOXYGEN__)\r
#endif\r
\r
#if !defined(USE_STATIC_OPTIONS) || defined(__DOXYGEN__)\r
- extern volatile uint8_t USB_Options;\r
/** Indicates the current USB options that the USB interface was initialized with when \ref USB_Init()\r
* was called. This value will be one of the USB_MODE_* masks defined elsewhere in this module.\r
*\r
* \note This variable should be treated as read-only in the user application, and never manually\r
* changed in value.\r
*/\r
/** Indicates the current USB options that the USB interface was initialized with when \ref USB_Init()\r
* was called. This value will be one of the USB_MODE_* masks defined elsewhere in this module.\r
*\r
* \note This variable should be treated as read-only in the user application, and never manually\r
* changed in value.\r
*/\r
+ extern volatile uint8_t USB_Options;\r
#endif\r
\r
/* Throwable Events: */\r
#endif\r
\r
/* Throwable Events: */\r
/** Default size of the default control pipe's bank, until altered by the Endpoint0Size value \r
* in the device descriptor of the attached device.\r
*/\r
/** Default size of the default control pipe's bank, until altered by the Endpoint0Size value \r
* in the device descriptor of the attached device.\r
*/\r
- #define PIPE_CONTROLPIPE_DEFAULT_SIZE 8\r
+ #define PIPE_CONTROLPIPE_DEFAULT_SIZE 64\r
\r
/** Pipe number mask, for masking against pipe addresses to retrieve the pipe's numerical address\r
* in the device.\r
\r
/** Pipe number mask, for masking against pipe addresses to retrieve the pipe's numerical address\r
* in the device.\r
/* Macros: */\r
#define PIPE_TOKEN_MASK (0x03 << PTOKEN0)\r
\r
/* Macros: */\r
#define PIPE_TOKEN_MASK (0x03 << PTOKEN0)\r
\r
+ #if !defined(ENDPOINT_CONTROLEP)\r
+ #define ENDPOINT_CONTROLEP 0\r
+ #endif\r
+ \r
#define Pipe_AllocateMemory() MACROS{ UPCFG1X |= (1 << ALLOC); }MACROE\r
#define Pipe_DeallocateMemory() MACROS{ UPCFG1X &= ~(1 << ALLOC); }MACROE\r
\r
#define Pipe_AllocateMemory() MACROS{ UPCFG1X |= (1 << ALLOC); }MACROE\r
#define Pipe_DeallocateMemory() MACROS{ UPCFG1X &= ~(1 << ALLOC); }MACROE\r
\r
* - Teensy, another tiny AT90USB162 development board: http://www.pjrc.com/teensy/index.html\r
* - SEGA Megadrive/Genesis Development Cartridge: http://www.spritesmind.net/_GenDev/forum/viewtopic.php?t=464\r
* - CAMTRIG, a remote Camera Trigger device: http://code.astraw.com/projects/motmot/camtrig\r
* - Teensy, another tiny AT90USB162 development board: http://www.pjrc.com/teensy/index.html\r
* - SEGA Megadrive/Genesis Development Cartridge: http://www.spritesmind.net/_GenDev/forum/viewtopic.php?t=464\r
* - CAMTRIG, a remote Camera Trigger device: http://code.astraw.com/projects/motmot/camtrig\r
+ * - Opendous-JTAG, an open source JTAG device: http://code.google.com/p/opendous-jtag/\r
*/
\ No newline at end of file
*/
\ No newline at end of file
.UnicodeString = L"Magnetic Card Reader"\r
};\r
\r
.UnicodeString = L"Magnetic Card Reader"\r
};\r
\r
-/** This function is called by the library when in device mode, and must be overridden (see StdDescriptors.h\r
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
* documentation) by the application code so that the address and size of a requested descriptor can be given\r
* to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function\r
* is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the\r
-# Target board (see library BoardTypes.h documentation, USER or blank for projects not requiring
+# Target board (see library "Board Types" documentation, USER or blank for projects not requiring
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called
# "Board" inside the application directory.
BOARD = USER
# LUFA board drivers). If USER is selected, put custom board drivers in a directory called
# "Board" inside the application directory.
BOARD = USER