X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/619b0b7b6b44e4422ea9aeb0cde41343bb5dda70..d47df1cd3a340306255b26a7112d7ff7fa6cd4e4:/LUFA/MigrationInformation.txt diff --git a/LUFA/MigrationInformation.txt b/LUFA/MigrationInformation.txt index beb0cb6ed..cbf5b936d 100644 --- a/LUFA/MigrationInformation.txt +++ b/LUFA/MigrationInformation.txt @@ -10,30 +10,74 @@ * to the next version released. It does not indicate all new additions to the library in each version change, only * areas relevant to making older projects compatible with the API changes of each new release. * - * \section Sec_MigrationXXXXXX Migrating from 090401 to XXXXXX + * \section Sec_Migration090605 Migrating from 090510 to 090605 + * + * + * \section Sec_Migration090605 Migrating from 090510 to 090605 + * + * Device Mode + * - Support for non-control data endpoint interrupts has been dropped due to many issues in the implementation. All existing + * projects using interrupts on non-control endpoints should switch to polling. For control interrupts, the library can + * manage the control endpoint via interrupts automatically by compiling with the INTERRUPT_CONTROL_ENDPOINT token defined. + * - The DESCRIPTOR_ADDRESS() macro has been removed. User applications should use normal casts to obtain a descriptor's memory + * address. + * - The library events system has been rewritten, so that all macros have been removed to allow for clearer user code. See + * \ref Group_Events for new API details. + * - The STREAM_CALLBACK() macro has been removed. User applications should replace all instances of the macro with regular + * function signatures of a function accepting no arguments and returning a uint8_t value. + * - The Event_DeviceError() event no longer exists, as its sole caller (unlinked USB_GetDescriptor() function) now produces a + * compilation error rather than a runtime error. The StdDescriptors.c file no longer exists as a result, and should be removed + * from project makefiles. + * - The USB_GetDescriptor() function has been renamed to CALLBACK_USB_GetDescriptor() to be in line with the new CALLBACK_ function + * prefixes for functions which *must* be implemented in the user application. + * + * Host Mode + * - Support for non-control data pipe interrupts has been dropped due to many issues in the implementation. All existing + * projects using interrupts on non-control pipes should switch to polling. + * - The library events system has been rewritten, so that all macros have been removed to allow for clearer user code. See + * \ref Group_Events for new API details. + * - The STREAM_CALLBACK() macro has been removed. User applications should replace all instances of the macro with regular + * function signatures of a function accepting no arguments and returning a uint8_t value. + * - The DESCRIPTOR_COMPARATOR() macro has been removed. User applications should replace all instances of the macro with + * regular function signatures of a function accepting a void pointer to the descriptor to test, and returning a uint8_t value. + * + * + * \section Sec_Migration090510 Migrating from 090401 to 090510 * * All * - The ButtLoadTag.h header has been removed, as it was never used for its intended purpose. Projects should either remove all * BUTTLOADTAG elements, or download and extract ButtLoadTag.h header from the ButtLoad project. * - The Drivers/AT90USBXXX directory has been renamed to Drivers/Peripheral. * - The Serial_Stream driver has been renamed to SerialStream to remain consistent with the rest of the library naming scheme. + * - The HWB driver has changed to the Buttons driver. See the board Buttons driver documentation for the new API. + * + * Dual Role Mode + * - The USB_PowerOnFail even has been renamed to USB_InitFailure. + * - The functions in OTG.h have been renamed to remain more consistent with the library API. See the functions in OTG.h for more + * details. * * Library Demos * - Most demos, bootloaders and applications have had significant changes from previous versions. Applications built off of any * library demos should update to the latest versions. * * Device Mode - * - The Endpoint_ClearCurrentBank() macro has been removed, and is now replaced with the Endpoint_ClearIN(), Endpoint_ClearOUT(), - * Endpoint_ClearControlIN(), Endpoint_ClearControlOUT() and other related macros. See Endpoint.h documentation for more details - * on the new endpoint management macros. + * - The Endpoint_ClearCurrentBank() macro has been removed, and is now replaced with the Endpoint_ClearIN(), Endpoint_ClearOUT() + * macros. See Endpoint.h documentation for more details on the new endpoint management macros. * - The Endpoint_ReadWriteAllowed() macro has been renamed to Endpoint_IsReadWriteAllowed() to be more consistent with the rest of * the API naming scheme. * - The Endpoint_IsSetupINReady() and Endpoint_IsSetupOutReceived() macros have been renamed to Endpoint_IsINReady() and * Endpoint_IsOUTReceived() respectively. * - The Endpoint_IsSetupReceived() macro has been renamed to Endpoint_IsSETUPReceived(). - * - The Endpoint_ClearSetupReceived() macro has been renamed to Endpoint_ClearControlSETUP(). + * - The Endpoint_ClearSetupReceived() macro has been renamed to Endpoint_ClearSETUP(). * - All endpoint read/write/discard aliases which did not have an explicitly endianness specifier (such as Endpoint_Read_Word()) have * been removed for clarity. Existing projects should use the "_LE" suffix on such calls to use the explicit Little Endian versions. + * - The USB_UnhandledControlPacket event no longer has any parameters. User code should no longer attempt to read in the remainder of + * the Control Request header as all Control Request header data is now preloaded by the library and made available in the + * USB_ControlRequest structure. + * - The FEATURELESS_CONTROL_ONLY_DEVICE token has been renamed to CONTROL_ONLY_DEVICE. + * - The STATIC_ENDPOINT_CONFIGURATION is no longer applicable as the library will apply this optimization when appropriate automatically. + * - The values of the Endpoint_Stream_RW_ErrorCodes_t and Endpoint_ControlStream_RW_ErrorCodes_t enums have had the "ERROR_" portion + * of their names removed. * * Host Mode * - The USB_Host_SendControlRequest() function no longer automatically selects the Control pipe (pipe 0) to allow it to be used on @@ -41,20 +85,20 @@ * in existing projects where the Control pipe is to be operated on. * - The USB Host management task now saves and restores the currently selected pipe before and after the task runs. Projects no longer * need to manage this manually when calling the USB management task. - * - The Pipe_ClearCurrentBank() macro has been removed, and is now replaced with the Pipe_ClearIN(), Pipe_ClearOUT(), - * Pipe_ClearControlIN(), Pipe_ClearControlOUT() and other related macros. See Pipe.h documentation for more details on the new pipe - * management macros. + * - The Pipe_ClearCurrentBank() macro has been removed, and is now replaced with the Pipe_ClearIN(), Pipe_ClearOUT() macros. See + * Pipe.h documentation for more details on the new pipe management macros. * - The Pipe_ReadWriteAllowed() macro has been renamed to Pipe_IsReadWriteAllowed() to be more consistent with the rest of the API * naming scheme. * - The Pipe_IsSetupINReceived() and Pipe_IsOutReady() macros have been renamed to Pipe_IsINReceived() and Pipe_IsOUTReady() * respectively. - * - The new Pipe_ClearControlSETUP() macro should be used to send CONTROL transactions, rather than the previous Pipe_ClearSetupOUT() macro. + * - The new Pipe_ClearSETUP() macro should be used to send SETUP transactions, rather than the previous Pipe_ClearSetupOUT() macro. * - The Pipe_IsSetupSent() macro has been renamed to Pipe_IsSETUPSent(). * - The Pipe_ClearSetupSent() macro is no longer applicable and should be removed. * - All pipe read/write/discard aliases which did not have an explicitly endianness specifier (such as Pipe_Read_Word()) have * been removed for clarity. Existing projects should use the "_LE" suffix on such calls to use the explicit Little Endian versions. * - The Host_IsResetBusDone() macro has been renamed to Host_IsBusResetComplete(). - * - The Pipe_Ignore_Word() function has been renamed to Pipe_Discard_Word() to remain consistent with the rest of the pipe API. + * - The Pipe_Ignore_Word() and Pipe_Ignore_DWord() functions have been renamed to Pipe_Discard_Word() and Pipe_Discard_DWord() to remain + * consistent with the rest of the pipe API. * - It is no longer needed to manually include the headers from LUFA/Drivers/USB/Class, as they are now included along with the rest * of the USB headers when LUFA/Drivers/USB/USB.h is included. * - Functions in the ConfigDescriptor.h header file no longer have "Host_" as part of their names. @@ -62,6 +106,10 @@ * and SetReportItemInfo() has been renamed to USB_GetHIDReportItemInfo(). * - The values of the DSearch_Return_ErrorCodes_t and DSearch_Comp_Return_ErrorCodes_t enums have had their respective "Descriptor_Search" * and "Descriptor_Search_Comp" prefixes changed to all caps. + * - The USB_HostRequest global has been renamed to USB_ControlRequest, and is used in Device mode also. The USB_Host_Request_Header_t + * structure type has been renamed to USB_Request_Header_t. + * - The values of the Pipe_Stream_RW_ErrorCodes_t enum have had the "ERROR_" portion of their names removed. + * * * \section Sec_Migration090401 Migrating from 090209 to 090401 *