diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2012-05-20 17:16:21 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2012-05-20 17:16:21 +0000 |
commit | 5f709e281eec223c5de9766a99bdd54339e149cb (patch) | |
tree | aac4b2e9f666d28d37ca6078afc08926021867f8 /Projects/XPLAINBridge/XPLAINBridge.c | |
parent | 28967ef2e8f32e77031eb645970d2fa1a843e255 (diff) | |
parent | 5833b27f80f4b6b10f5765468f5863e57b97a65a (diff) | |
download | lufa-5f709e281eec223c5de9766a99bdd54339e149cb.tar.gz lufa-5f709e281eec223c5de9766a99bdd54339e149cb.tar.bz2 lufa-5f709e281eec223c5de9766a99bdd54339e149cb.zip |
Merge in latest trunk.
Diffstat (limited to 'Projects/XPLAINBridge/XPLAINBridge.c')
-rw-r--r-- | Projects/XPLAINBridge/XPLAINBridge.c | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/Projects/XPLAINBridge/XPLAINBridge.c b/Projects/XPLAINBridge/XPLAINBridge.c index 071c13e53..3bd1fbf55 100644 --- a/Projects/XPLAINBridge/XPLAINBridge.c +++ b/Projects/XPLAINBridge/XPLAINBridge.c @@ -176,11 +176,6 @@ void SetupHardware(void) /* Disable clock division */ clock_prescale_set(clock_div_1); - /* Hardware Initialization */ - SoftUART_Init(); - LEDs_Init(); - USB_Init(); - /* Disable JTAG debugging */ MCUCR |= (1 << JTD); MCUCR |= (1 << JTD); @@ -195,6 +190,16 @@ void SetupHardware(void) /* Re-enable JTAG debugging */ MCUCR &= ~(1 << JTD); MCUCR &= ~(1 << JTD); + + /* Hardware Initialization */ + SoftUART_Init(); + LEDs_Init(); + #if defined(RESET_TOGGLES_LIBUSB_COMPAT) + UpdateCurrentCompatibilityMode(); + #endif + + /* USB Stack Initialization */ + USB_Init(); } /** Event handler for the library USB Configuration Changed event. */ @@ -267,20 +272,22 @@ void EVENT_CDC_Device_LineEncodingChanged(USB_ClassInfo_CDC_Device_t* const CDCI * 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[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) + const void** const DescriptorAddress, + uint8_t* const DescriptorMemorySpace) { /* Return the correct descriptors based on the selected mode */ if (CurrentFirmwareMode == MODE_USART_BRIDGE) - return USART_GetDescriptor(wValue, wIndex, DescriptorAddress); + return USART_GetDescriptor(wValue, wIndex, DescriptorAddress, DescriptorMemorySpace); else - return AVRISP_GetDescriptor(wValue, wIndex, DescriptorAddress); + return AVRISP_GetDescriptor(wValue, wIndex, DescriptorAddress, DescriptorMemorySpace); } |