aboutsummaryrefslogtreecommitdiffstats
path: root/Projects/AVRISP-MKII/AVRISP-MKII.c
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2012-05-20 17:09:39 +0000
committerDean Camera <dean@fourwalledcubicle.com>2012-05-20 17:09:39 +0000
commit5833b27f80f4b6b10f5765468f5863e57b97a65a (patch)
treea8df9f72605f3f069fa42a67d35ba6874cc0144d /Projects/AVRISP-MKII/AVRISP-MKII.c
parent32cfb8cf4f56f45ddfc50a6b2803ac98496c2c0b (diff)
downloadlufa-5833b27f80f4b6b10f5765468f5863e57b97a65a.tar.gz
lufa-5833b27f80f4b6b10f5765468f5863e57b97a65a.tar.bz2
lufa-5833b27f80f4b6b10f5765468f5863e57b97a65a.zip
Alter the XPLAINBridge and AVRISP-MKII clone projects so that the descriptors from the AVRISP-MKII clone project can be directly used in the XPLAINBridge project. Add support for RESET_TOGGLES_LIBUSB_COMPAT option in the XPLAINBridge project.
Diffstat (limited to 'Projects/AVRISP-MKII/AVRISP-MKII.c')
-rw-r--r--Projects/AVRISP-MKII/AVRISP-MKII.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/Projects/AVRISP-MKII/AVRISP-MKII.c b/Projects/AVRISP-MKII/AVRISP-MKII.c
index 236a2a878..71b6da7cd 100644
--- a/Projects/AVRISP-MKII/AVRISP-MKII.c
+++ b/Projects/AVRISP-MKII/AVRISP-MKII.c
@@ -131,3 +131,24 @@ void AVRISP_Task(void)
}
}
+/** This function is called by the library when in device mode, and must be overridden (see library "USB Descriptors"
+ * documentation) by the application code so that the address and size of a requested descriptor can be given
+ * to the USB library. When the device receives a Get Descriptor request on the control endpoint, this function
+ * is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the
+ * USB host.
+ *
+ * \param[in] wValue Descriptor type and index to retrieve
+ * \param[in] wIndex Sub-index to retrieve (such as a localized string language)
+ * \param[out] DescriptorAddress Address of the retrieved descriptor
+ * \param[out] DescriptorMemorySpace Memory space that the descriptor is stored in
+ *
+ * \return Length of the retrieved descriptor in bytes, or NO_DESCRIPTOR if the descriptor was not found
+ */
+uint16_t CALLBACK_USB_GetDescriptor(const uint16_t wValue,
+ const uint8_t wIndex,
+ const void** const DescriptorAddress,
+ uint8_t* DescriptorMemorySpace)
+{
+ return AVRISP_GetDescriptor(wValue, wIndex, DescriptorAddress, DescriptorMemorySpace);
+}
+