/* Public Interface - May be used in end-application: */
/* Pseudo-Functions for Doxygen: */
#if !defined(__INCLUDE_FROM_EVENTS_C) || defined(__DOXYGEN__)
- /** Event for USB stack initialization failure. This event fires when the USB interface fails to
- * initialize correctly due to a hardware or software fault.
- *
- * \note This event only exists on USB AVR models which support dual role modes.
- *
- * \param[in] ErrorCode Error code indicating the failure reason, a value in \ref USB_InitErrorCodes_t.
- */
- void EVENT_USB_InitFailure(const uint8_t ErrorCode);
-
/** Event for USB mode pin level change. This event fires when the USB interface is set to dual role
* mode, and the UID pin level has changed to indicate a new mode (device or host). This event fires
* before the mode is switched to the newly indicated mode but after the \ref EVENT_USB_Device_Disconnect
void USB_Event_Stub(void) ATTR_CONST;
#if defined(USB_CAN_BE_BOTH)
- void EVENT_USB_InitFailure(const uint8_t ErrorCode) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
void EVENT_USB_UIDChange(void) ATTR_WEAK ATTR_ALIAS(USB_Event_Stub);
#endif
#elif defined(USB_HOST_ONLY)
UHWCON &= ~(1 << UIMOD);
#elif defined(USB_CAN_BE_BOTH)
- if (Mode == USB_MODE_UID)
- {
- UHWCON |= (1 << UIDE);
-
- USB_INT_Clear(USB_INT_IDTI);
- USB_INT_Enable(USB_INT_IDTI);
-
- USB_CurrentMode = USB_GetUSBModeFromUID();
- }
- else if (Mode == USB_MODE_DEVICE)
+ if (Mode == USB_MODE_DEVICE)
{
UHWCON |= (1 << UIMOD);
}
}
else
{
- EVENT_USB_InitFailure(USB_INITERROR_NoUSBModeSpecified);
- return;
+ UHWCON |= (1 << UIDE);
}
#endif
*/
void USB_ResetInterface(void);
- /* Enums: */
- /** Enum for error codes relating to the powering on of the USB interface. These error codes are
- * used in the ErrorCode parameter value of the \ref EVENT_USB_InitFailure() event.
- */
- enum USB_InitErrorCodes_t
- {
- USB_INITERROR_NoUSBModeSpecified = 0, /**< Indicates that \ref USB_Init() was called with an
- * invalid or missing Mode parameter.
- */
- };
-
/* Global Variables: */
#if (!defined(USB_HOST_ONLY) && !defined(USB_DEVICE_ONLY)) || defined(__DOXYGEN__)
/** Indicates the mode that the USB interface is currently initialized to. This value will be
USB_INT_Disable(USB_INT_SUSPEND);
USB_INT_Enable(USB_INT_WAKEUP);
- Endpoint_ClearEndpoints();
-
Endpoint_ConfigureEndpoint(ENDPOINT_CONTROLEP, EP_TYPE_CONTROL,
ENDPOINT_DIR_OUT, USB_ControlEndpointSize,
ENDPOINT_BANK_SINGLE);
* - Changed over all demos, drivers and internal functions to use the current frame number over the Start of Frame flag where possible
* to free up the Start of Frame flag for interrupt use in the user application
* - All project makefiles now correctly clean intermediate build files from assembly and C++ sources (thanks to Daniel Czigany)
+ * - Removed the EVENT_USB_InitFailure() event, not specifying a USB mode now defaults to UID selection mode
*
* <b>Fixed:</b>
* - Fixed USB_GetHIDReportItemInfo() function modifying the given report item's data when the report item does not exist
* variables.
* - A new USB driver source file, Drivers/USB/HighLevel/PipeStream.c now exists. This source file should be added to all
* project makefiles using the USB driver of LUFA, or the makefile should be updated to use the new module source variables.
+ * - The EVENT_USB_InitFailure() event has been removed, as the USB_Init() function will no longer fail; if not USB mode is
+ * specified, the controller will default to UID selection mode.
*
* <b>Device Mode</b>
* - The signature for the CALLBACK_USB_GetDescriptor() callback has changed, the "void** const DescriptorAddress" parameter is