diff --git a/LUFA/Drivers/USB/Class/Device/Audio.h b/LUFA/Drivers/USB/Class/Device/Audio.h index 7e7dad88d8641bab681d90a0357c56a46ba52647..4026f9092d9eedec99d481bbc0b8e20039d4eca4 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 7dc565c82398bfa2d55edd5641c579a2ceddb015..6e188ad637d79367cfafcad35c62d8a92f4ab14f 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 133e4f5d8b310abf1244a022ca068c4f769a668a..52bff7ec9b739a346964fc99314c30f46f08bd85 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 e0fa502598e62e0fdbc32fb7925e9fb64ff9710b..45a7561578a32e89b59de2199f45a363741e2dac 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 3ad259d86c8703c9ed77c3f2439716bb098c2913..6f0539e54059adfc62a0df9e7efbc799cd881384 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 66b85b15eb0de19244dd6ca19b03db070c89bda0..a3b45cbc5f1a945e6f6632488d8893c370f294f1 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 23523144b42b77360ced04b30a6aa6c5e1708ba3..0ceaf885bf039f142b389a82ced53a8a8c3cae65 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 455e2f9efdc93d5ff118c85aebe76786ec27a553..9be60947f9ce823a787152a9c03a4f4544cd04bf 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 bd67f8f1863087262240aca27d91a012dfecec03..878a0990b39ebdf399d741156206b7ad9709cd90 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 <b>must</b> 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 fc31d401d8365aaab77c4aa62033452e8d4eea15..28bdbfd3eb4831a32189824deafae68fcb54f964 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 cd2ea453150028107181cc37a57364bec933c01a..3476e4fa2d93e60d02a3c8642c7c507406669b31 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 096cc592c84b5313aea878944fbc0e4309610603..585142d8882f1b49619e6973aab7d48595137cb4 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 1d238bd8b929f71ac42ab489fe1812ddca3eea33..97c8a5b8db8e0ec369a83bf2848651ec305495bc 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 b79b81747f57ac91abcecdd9b88d5355bee39da1..66266ef4767558eb0d54157cf0632920301505bd 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 5e9e0990ee16a3e90bb99922dfc9d75cd489aec6..2d067ba6314357f29423c0d39d588ef7c646bd56 100644 --- a/LUFA/ManPages/CompileTimeTokens.txt +++ b/LUFA/ManPages/CompileTimeTokens.txt @@ -84,7 +84,9 @@ * <b>ORDERED_EP_CONFIG</b> - (\ref Group_EndpointManagement , \ref Group_PipeManagement) - <i>AVR8 Only</i> \n * The USB AVRs do not allow for Endpoints and Pipes to be configured out of order; they <i>must</i> 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. * * <b>USE_STATIC_OPTIONS</b>=<i>x</i> - (\ref Group_USBManagement) - <i>All Architectures</i> \n * By default, the USB_Init() function accepts dynamic options at runtime to alter the library behaviour, including whether the USB pad