From 34164a5550911277db03bbbc2a604bc59e0bbc99 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Wed, 8 Jun 2011 01:32:44 +0000 Subject: [PATCH] Remove warnings in the documentation for the library class drivers about sequential pipe/endpoint allocation, as by default this is no longer as issue (unless ORDERED_EP_CONFIG is specified). --- LUFA/Drivers/USB/Class/Device/Audio.h | 4 ---- LUFA/Drivers/USB/Class/Device/CDC.h | 4 ---- LUFA/Drivers/USB/Class/Device/HID.h | 4 ---- LUFA/Drivers/USB/Class/Device/MIDI.h | 4 ---- LUFA/Drivers/USB/Class/Device/MassStorage.h | 4 ---- LUFA/Drivers/USB/Class/Device/RNDIS.h | 4 ---- LUFA/Drivers/USB/Class/Host/Audio.h | 5 ----- LUFA/Drivers/USB/Class/Host/CDC.h | 4 ---- LUFA/Drivers/USB/Class/Host/HID.h | 5 ----- LUFA/Drivers/USB/Class/Host/MIDI.h | 4 ---- LUFA/Drivers/USB/Class/Host/MassStorage.h | 4 ---- LUFA/Drivers/USB/Class/Host/Printer.h | 20 ++++++++------------ LUFA/Drivers/USB/Class/Host/RNDIS.h | 4 ---- LUFA/Drivers/USB/Class/Host/StillImage.h | 4 ---- LUFA/ManPages/CompileTimeTokens.txt | 4 +++- 15 files changed, 11 insertions(+), 67 deletions(-) diff --git a/LUFA/Drivers/USB/Class/Device/Audio.h b/LUFA/Drivers/USB/Class/Device/Audio.h index 7e7dad88d8..4026f9092d 100644 --- a/LUFA/Drivers/USB/Class/Device/Audio.h +++ b/LUFA/Drivers/USB/Class/Device/Audio.h @@ -114,10 +114,6 @@ * \ref EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration containing the * given Audio interface is selected. * - * \note The endpoint index numbers as given in the interface's configuration structure must not overlap with any other - * interface, or endpoint bank corruption will occur. Gaps in the allocated endpoint numbers or non-sequential indexes - * within a single interface is allowed, but no two interfaces of any type have have interleaved endpoint indexes. - * * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class configuration and state. * * \return Boolean \c true if the endpoints were successfully configured, \c false otherwise. diff --git a/LUFA/Drivers/USB/Class/Device/CDC.h b/LUFA/Drivers/USB/Class/Device/CDC.h index 7dc565c823..6e188ad637 100644 --- a/LUFA/Drivers/USB/Class/Device/CDC.h +++ b/LUFA/Drivers/USB/Class/Device/CDC.h @@ -141,10 +141,6 @@ * \ref EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration containing * the given CDC interface is selected. * - * \note The endpoint index numbers as given in the interface's configuration structure must not overlap with any other - * interface, or endpoint bank corruption will occur. Gaps in the allocated endpoint numbers or non-sequential indexes - * within a single interface is allowed, but no two interfaces of any type have have interleaved endpoint indexes. - * * \param[in,out] CDCInterfaceInfo Pointer to a structure containing a CDC Class configuration and state. * * \return Boolean \c true if the endpoints were successfully configured, \c false otherwise. diff --git a/LUFA/Drivers/USB/Class/Device/HID.h b/LUFA/Drivers/USB/Class/Device/HID.h index 133e4f5d8b..52bff7ec9b 100644 --- a/LUFA/Drivers/USB/Class/Device/HID.h +++ b/LUFA/Drivers/USB/Class/Device/HID.h @@ -126,10 +126,6 @@ * \ref EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration * containing the given HID interface is selected. * - * \note The endpoint index numbers as given in the interface's configuration structure must not overlap with any other - * interface, or endpoint bank corruption will occur. Gaps in the allocated endpoint numbers or non-sequential indexes - * within a single interface is allowed, but no two interfaces of any type have have interleaved endpoint indexes. - * * \param[in,out] HIDInterfaceInfo Pointer to a structure containing a HID Class configuration and state. * * \return Boolean \c true if the endpoints were successfully configured, \c false otherwise. diff --git a/LUFA/Drivers/USB/Class/Device/MIDI.h b/LUFA/Drivers/USB/Class/Device/MIDI.h index e0fa502598..45a7561578 100644 --- a/LUFA/Drivers/USB/Class/Device/MIDI.h +++ b/LUFA/Drivers/USB/Class/Device/MIDI.h @@ -105,10 +105,6 @@ * \ref EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration * containing the given MIDI interface is selected. * - * \note The endpoint index numbers as given in the interface's configuration structure must not overlap with any other - * interface, or endpoint bank corruption will occur. Gaps in the allocated endpoint numbers or non-sequential indexes - * within a single interface is allowed, but no two interfaces of any type have have interleaved endpoint indexes. - * * \param[in,out] MIDIInterfaceInfo Pointer to a structure containing a MIDI Class configuration and state. * * \return Boolean \c true if the endpoints were successfully configured, \c false otherwise. diff --git a/LUFA/Drivers/USB/Class/Device/MassStorage.h b/LUFA/Drivers/USB/Class/Device/MassStorage.h index 3ad259d86c..6f0539e540 100644 --- a/LUFA/Drivers/USB/Class/Device/MassStorage.h +++ b/LUFA/Drivers/USB/Class/Device/MassStorage.h @@ -114,10 +114,6 @@ * \ref EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration * containing the given Mass Storage interface is selected. * - * \note The endpoint index numbers as given in the interface's configuration structure must not overlap with any other - * interface, or endpoint bank corruption will occur. Gaps in the allocated endpoint numbers or non-sequential indexes - * within a single interface is allowed, but no two interfaces of any type have have interleaved endpoint indexes. - * * \param[in,out] MSInterfaceInfo Pointer to a structure containing a Mass Storage Class configuration and state. * * \return Boolean \c true if the endpoints were successfully configured, \c false otherwise. diff --git a/LUFA/Drivers/USB/Class/Device/RNDIS.h b/LUFA/Drivers/USB/Class/Device/RNDIS.h index 66b85b15eb..a3b45cbc5f 100644 --- a/LUFA/Drivers/USB/Class/Device/RNDIS.h +++ b/LUFA/Drivers/USB/Class/Device/RNDIS.h @@ -116,10 +116,6 @@ * \ref EVENT_USB_Device_ConfigurationChanged() event so that the endpoints are configured when the configuration * containing the given RNDIS interface is selected. * - * \note The endpoint index numbers as given in the interface's configuration structure must not overlap with any other - * interface, or endpoint bank corruption will occur. Gaps in the allocated endpoint numbers or non-sequential indexes - * within a single interface is allowed, but no two interfaces of any type have have interleaved endpoint indexes. - * * \param[in,out] RNDISInterfaceInfo Pointer to a structure containing a RNDIS Class configuration and state. * * \return Boolean \c true if the endpoints were successfully configured, \c false otherwise. diff --git a/LUFA/Drivers/USB/Class/Host/Audio.h b/LUFA/Drivers/USB/Class/Host/Audio.h index 23523144b4..0ceaf885bf 100644 --- a/LUFA/Drivers/USB/Class/Host/Audio.h +++ b/LUFA/Drivers/USB/Class/Host/Audio.h @@ -120,11 +120,6 @@ * device. This should be called once after the stack has enumerated the attached device, while the host state * machine is in the Addressed state. * - * \note The pipe index numbers as given in the interface's configuration structure must not overlap with any other - * interface, or pipe bank corruption will occur. Gaps in the allocated pipe numbers or non-sequential indexes - * within a single interface is allowed, but no two interfaces of any type have have interleaved pipe indexes. - * \n\n - * * \param[in,out] AudioInterfaceInfo Pointer to a structure containing an Audio Class host configuration and state. * \param[in] ConfigDescriptorSize Length of the attached device's Configuration Descriptor. * \param[in] DeviceConfigDescriptor Pointer to a buffer containing the attached device's Configuration Descriptor. diff --git a/LUFA/Drivers/USB/Class/Host/CDC.h b/LUFA/Drivers/USB/Class/Host/CDC.h index 455e2f9efd..9be60947f9 100644 --- a/LUFA/Drivers/USB/Class/Host/CDC.h +++ b/LUFA/Drivers/USB/Class/Host/CDC.h @@ -151,10 +151,6 @@ * This should be called once after the stack has enumerated the attached device, while the host state machine is in * the Addressed state. * - * \note The pipe index numbers as given in the interface's configuration structure must not overlap with any other - * interface, or pipe bank corruption will occur. Gaps in the allocated pipe numbers or non-sequential indexes - * within a single interface is allowed, but no two interfaces of any type have have interleaved pipe indexes. - * * \param[in,out] CDCInterfaceInfo Pointer to a structure containing an CDC Class host configuration and state. * \param[in] ConfigDescriptorSize Length of the attached device's Configuration Descriptor. * \param[in] DeviceConfigDescriptor Pointer to a buffer containing the attached device's Configuration Descriptor. diff --git a/LUFA/Drivers/USB/Class/Host/HID.h b/LUFA/Drivers/USB/Class/Host/HID.h index bd67f8f186..878a0990b3 100644 --- a/LUFA/Drivers/USB/Class/Host/HID.h +++ b/LUFA/Drivers/USB/Class/Host/HID.h @@ -148,11 +148,6 @@ * device. This should be called once after the stack has enumerated the attached device, while the host state * machine is in the Addressed state. * - * \note The pipe index numbers as given in the interface's configuration structure must not overlap with any other - * interface, or pipe bank corruption will occur. Gaps in the allocated pipe numbers or non-sequential indexes - * within a single interface is allowed, but no two interfaces of any type have have interleaved pipe indexes. - * \n\n - * * \note Once the device pipes are configured, the HID device's reporting protocol must be set via a call * to either the \ref HID_Host_SetBootProtocol() or \ref HID_Host_SetReportProtocol() function. * diff --git a/LUFA/Drivers/USB/Class/Host/MIDI.h b/LUFA/Drivers/USB/Class/Host/MIDI.h index fc31d401d8..28bdbfd3eb 100644 --- a/LUFA/Drivers/USB/Class/Host/MIDI.h +++ b/LUFA/Drivers/USB/Class/Host/MIDI.h @@ -120,10 +120,6 @@ * This should be called once after the stack has enumerated the attached device, while the host state machine is in * the Addressed state. * - * \note The pipe index numbers as given in the interface's configuration structure must not overlap with any other - * interface, or pipe bank corruption will occur. Gaps in the allocated pipe numbers or non-sequential indexes - * within a single interface is allowed, but no two interfaces of any type have have interleaved pipe indexes. - * * \param[in,out] MIDIInterfaceInfo Pointer to a structure containing an MIDI Class host configuration and state. * \param[in] ConfigDescriptorSize Length of the attached device's Configuration Descriptor. * \param[in] DeviceConfigDescriptor Pointer to a buffer containing the attached device's Configuration Descriptor. diff --git a/LUFA/Drivers/USB/Class/Host/MassStorage.h b/LUFA/Drivers/USB/Class/Host/MassStorage.h index cd2ea45315..3476e4fa2d 100644 --- a/LUFA/Drivers/USB/Class/Host/MassStorage.h +++ b/LUFA/Drivers/USB/Class/Host/MassStorage.h @@ -137,10 +137,6 @@ * is found within the device. This should be called once after the stack has enumerated the attached device, while * the host state machine is in the Addressed state. * - * \note The pipe index numbers as given in the interface's configuration structure must not overlap with any other - * interface, or pipe bank corruption will occur. Gaps in the allocated pipe numbers or non-sequential indexes - * within a single interface is allowed, but no two interfaces of any type have have interleaved pipe indexes. - * * \param[in,out] MSInterfaceInfo Pointer to a structure containing an MS Class host configuration and state. * \param[in] ConfigDescriptorSize Length of the attached device's Configuration Descriptor. * \param[in] ConfigDescriptorData Pointer to a buffer containing the attached device's Configuration Descriptor. diff --git a/LUFA/Drivers/USB/Class/Host/Printer.h b/LUFA/Drivers/USB/Class/Host/Printer.h index 096cc592c8..585142d888 100644 --- a/LUFA/Drivers/USB/Class/Host/Printer.h +++ b/LUFA/Drivers/USB/Class/Host/Printer.h @@ -114,24 +114,12 @@ }; /* Function Prototypes: */ - /** General management task for a given Printer host class interface, required for the correct operation of - * the interface. This should be called frequently in the main program loop, before the master USB management task - * \ref USB_USBTask(). - * - * \param[in,out] PRNTInterfaceInfo Pointer to a structure containing a Printer Class host configuration and state. - */ - void PRNT_Host_USBTask(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1); - /** Host interface configuration routine, to configure a given Printer host interface instance using the * Configuration Descriptor read from an attached USB device. This function automatically updates the given Printer * instance's state values and configures the pipes required to communicate with the interface if it is found within * the device. This should be called once after the stack has enumerated the attached device, while the host state * machine is in the Addressed state. * - * \note The pipe index numbers as given in the interface's configuration structure must not overlap with any other - * interface, or pipe bank corruption will occur. Gaps in the allocated pipe numbers or non-sequential indexes - * within a single interface is allowed, but no two interfaces of any type have have interleaved pipe indexes. - * * \param[in,out] PRNTInterfaceInfo Pointer to a structure containing a Printer Class host configuration and state. * \param[in] ConfigDescriptorSize Length of the attached device's Configuration Descriptor. * \param[in] DeviceConfigDescriptor Pointer to a buffer containing the attached device's Configuration Descriptor. @@ -142,6 +130,14 @@ uint16_t ConfigDescriptorSize, void* DeviceConfigDescriptor) ATTR_NON_NULL_PTR_ARG(1) ATTR_NON_NULL_PTR_ARG(3); + /** General management task for a given Printer host class interface, required for the correct operation of + * the interface. This should be called frequently in the main program loop, before the master USB management task + * \ref USB_USBTask(). + * + * \param[in,out] PRNTInterfaceInfo Pointer to a structure containing a Printer Class host configuration and state. + */ + void PRNT_Host_USBTask(USB_ClassInfo_PRNT_Host_t* const PRNTInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1); + /** Configures the printer to enable Bidirectional mode, if it is not already in this mode. This should be called * once the connected device's configuration has been set, to ensure the printer is ready to accept commands. * diff --git a/LUFA/Drivers/USB/Class/Host/RNDIS.h b/LUFA/Drivers/USB/Class/Host/RNDIS.h index 1d238bd8b9..97c8a5b8db 100644 --- a/LUFA/Drivers/USB/Class/Host/RNDIS.h +++ b/LUFA/Drivers/USB/Class/Host/RNDIS.h @@ -131,10 +131,6 @@ * This should be called once after the stack has enumerated the attached device, while the host state machine is in * the Addressed state. * - * \note The pipe index numbers as given in the interface's configuration structure must not overlap with any other - * interface, or pipe bank corruption will occur. Gaps in the allocated pipe numbers or non-sequential indexes - * within a single interface is allowed, but no two interfaces of any type have have interleaved pipe indexes. - * * \param[in,out] RNDISInterfaceInfo Pointer to a structure containing an RNDIS Class host configuration and state. * \param[in] ConfigDescriptorSize Length of the attached device's Configuration Descriptor. * \param[in] DeviceConfigDescriptor Pointer to a buffer containing the attached device's Configuration Descriptor. diff --git a/LUFA/Drivers/USB/Class/Host/StillImage.h b/LUFA/Drivers/USB/Class/Host/StillImage.h index b79b81747f..66266ef476 100644 --- a/LUFA/Drivers/USB/Class/Host/StillImage.h +++ b/LUFA/Drivers/USB/Class/Host/StillImage.h @@ -133,10 +133,6 @@ * found within the device. This should be called once after the stack has enumerated the attached device, while * the host state machine is in the Addressed state. * - * \note The pipe index numbers as given in the interface's configuration structure must not overlap with any other - * interface, or pipe bank corruption will occur. Gaps in the allocated pipe numbers or non-sequential indexes - * within a single interface is allowed, but no two interfaces of any type have have interleaved pipe indexes. - * * \param[in,out] SIInterfaceInfo Pointer to a structure containing a Still Image Class host configuration and state. * \param[in] ConfigDescriptorSize Length of the attached device's Configuration Descriptor. * \param[in] ConfigDescriptorData Pointer to a buffer containing the attached device's Configuration Descriptor. diff --git a/LUFA/ManPages/CompileTimeTokens.txt b/LUFA/ManPages/CompileTimeTokens.txt index 5e9e0990ee..2d067ba631 100644 --- a/LUFA/ManPages/CompileTimeTokens.txt +++ b/LUFA/ManPages/CompileTimeTokens.txt @@ -84,7 +84,9 @@ * ORDERED_EP_CONFIG - (\ref Group_EndpointManagement , \ref Group_PipeManagement) - AVR8 Only \n * The USB AVRs do not allow for Endpoints and Pipes to be configured out of order; they must be configured in an ascending order to * prevent data corruption issues. However, by default LUFA employs a workaround to allow for unordered Endpoint/Pipe initialization. This compile - * time token may be used to restrict the initialization order to ascending indexes only in exchange for a smaller compiled binary size. + * time token may be used to restrict the initialization order to ascending indexes only in exchange for a smaller compiled binary size. Use + * caution when applied to applications using the library USB Class drivers; the user application must ensure that all endpoints and pipes are + * allocated sequentially. * * USE_STATIC_OPTIONS=x - (\ref Group_USBManagement) - All Architectures \n * By default, the USB_Init() function accepts dynamic options at runtime to alter the library behaviour, including whether the USB pad