X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/c8e517646538669c290c5566231c8ec2b02f33bc..eea687e6d9524e252d3ae50f06b33f4e753dcf2b:/LUFA/ManPages/MigrationInformation.txt diff --git a/LUFA/ManPages/MigrationInformation.txt b/LUFA/ManPages/MigrationInformation.txt index d5f680eef..7190d65c0 100644 --- a/LUFA/ManPages/MigrationInformation.txt +++ b/LUFA/ManPages/MigrationInformation.txt @@ -10,53 +10,16 @@ * 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 110528 to XXXXXX - * Device Mode - * - The definition of the Audio class \ref USB_Audio_Descriptor_Format_t has been altered, to remove the fixed singular - * audio sample rate in the descriptor definition, and to rename the \c SampleFrequencyType to the more appropriate - * \c TotalDiscreteSampleRates. Existing applications will need to add an array of \ref USB_Audio_SampleFreq_t elements - * immediately following any \ref USB_Audio_Descriptor_Format_t descriptors, and insert the appropriate sampling rates - * supported by the device, as well as rename the descriptor elements to match the updated element names. - * - The device mode Audio class driver now requires a new user application callback, \ref CALLBACK_Audio_Device_GetSetEndpointProperty(). - * Existing applications must implement this new callback, however if multiple sample rates or pitch control is not used, - * this function may be hard-coded to always return false for previous behaviour to be retained. - * - The \c USB_ConfigurationNumber, \c USB_RemoteWakeupEnabled and \c USB_CurrentlySelfPowered globals have been renamed to - * \ref USB_Device_ConfigurationNumber, \ref USB_Device_RemoteWakeupEnabled and \ref USB_Device_CurrentlySelfPowered to clearly indicate - * the USB mode they relate to. Existing applications using these variables should rename all references to the previous names. - * - * Host Mode - * - The USB_Host_SetDeviceConfiguration() function now automatically sets the USB Host state machine to the \ref HOST_STATE_Configured - * state if a non-zero configuration is set sucessfully, or the \ref HOST_STATE_Addressed if a zero-index configuration is specified. Existing - * applications should no longer manually alter the \ref USB_HostState global, and should instead call this function to configure and - * unconfigure an attached device. - * - The \c HOST_STATE_WaitForDeviceRemoval and \c HOST_STATE_Suspended host state machine states have been removed; these are replaced by - * unconfiguring the attached device via a call to \ref USB_Host_SetDeviceConfiguration() and a test of \ref USB_Host_IsBusSuspended() instead. - * - It is highly recommended that the EVENT_USB_Host_DeviceEnumerationComplete() event callback now be used for initial device configuration, - * rather than a switch on the USB host state machine state for readability. - * - * \section Sec_Migration110528 Migrating from 101122 to 110528 + * \section Sec_Migration111009 Migrating from 110528 to 111009 * Non-USB Library Components - * - The TWI driver \ref TWI_StartTransmission() function return type has now changed, so that the function returns an - * error code from the \ref TWI_ErrorCodes_t enum instead of a boolean success flag. Existing code must now check - * against the \ref TWI_ERROR_NoError return value for success instead of a boolean \c true value, or it will not function - * correctly. - * - The Serial Stream driver has been removed, and its functionality rolled into the regular serial driver. Existing code - * should remove references to the \c LUFA_SRC_SERIALSTREAM module in their makefiles, include the regular Serial driver - * header instead and call the regular \ref Serial_Init() function followed by the new \ref Serial_CreateStream() function - * with a \c NULL parameter. - * - The \ref Serial_ReceiveByte() function has changed, and now returns a signed 16-bit integer, with -1 indicating no data was - * received. - * - The TWI driver \ref TWI_Init() function now expects additional prescaler and bitlength parameters. See the function - * documentation for more details. - * - The name postfix on all driver modules to turn off and disable that module has been changed from *_ShutDown() to *_Disable(). - * Rename all references to these functions to use the new function names. + * - The \c JTAG_DEBUG_ASSERT() macro has been renamed \ref JTAG_ASSERT() to be consistent with \ref STDOUT_ASSERT(). * * USB Core * - By default, unordered Endpoint and Pipe configuration is now allowed once again, via the previous workaround of * reconfiguring all Endpoints/Pipes in order each time a new Endpoint/Pipe is created. To minimize the compiled program * size, the new \c ORDERED_EP_CONFIG compile time option may be defined in the project makefile to restrict the ordering * in exchange for a smaller compiled binary size. - * - The previous F_CLOCK symbol, required in the project makefile, has been renamed to F_USB. This is due to the previous name + * - The previous \c F_CLOCK symbol, required in the project makefile, has been renamed to \c F_USB. This is due to the previous name * being far too generic for use in future architecture ports, where multiple clock domains are used. * * Device Mode @@ -67,17 +30,31 @@ * error code to allow the user application to determine when to send the next chunk of data. * - The \ref CDC_Device_SendString() function now expects a null terminated string instead of an explicit length. Existing code * should use the new \ref CDC_Device_SendData() function, or remove the length parameter from the function call. - * - The Endpoint_ResetFIFO() function has been renamed to \ref Endpoint_ResetEndpoint(), to make the API function names more + * - The \c Endpoint_ResetFIFO() function has been renamed to \ref Endpoint_ResetEndpoint(), to make the API function names more * consistent. Existing applications using the old function name should simply replace it with a call to the new function name. - * - The Endpoint_*_Byte() functions have been renamed Endpoint_*_8() to ensure they are correct across all architectures. Existing + * - The \c Endpoint_*_Byte() functions have been renamed Endpoint_*_8() to ensure they are correct across all architectures. Existing * code using these functions should replace the previous function names with the new function names. - * - The Endpoint_*_Word() functions have been renamed Endpoint_*_16() to ensure they are correct across all architectures. Existing + * - The \c Endpoint_*_Word() functions have been renamed Endpoint_*_16() to ensure they are correct across all architectures. Existing * code using these functions should replace the previous function names with the new function names. - * - The Endpoint_*_DWord() functions have been renamed Endpoint_*_32() to ensure they are correct across all architectures. Existing + * - The \c Endpoint_*_DWord() functions have been renamed Endpoint_*_32() to ensure they are correct across all architectures. Existing * code using these functions should replace the previous function names with the new function names. * - The Device mode RNDIS class driver no longer stores the incoming and outgoing packets in the class driver instance; the user is * now expected to manually define a storage location for the packet data. Packets must now be sent and received manually via a call * to \ref RNDIS_Device_ReadPacket() and/or \ref RNDIS_Device_SendPacket(). + * - The definition of the Audio class \ref USB_Audio_Descriptor_Format_t has been altered, to remove the fixed singular + * audio sample rate in the descriptor definition, and to rename the \c SampleFrequencyType to the more appropriate + * \c TotalDiscreteSampleRates. Existing applications will need to add an array of \ref USB_Audio_SampleFreq_t elements + * immediately following any \ref USB_Audio_Descriptor_Format_t descriptors, and insert the appropriate sampling rates + * supported by the device, as well as rename the descriptor elements to match the updated element names. + * - The device mode Audio class driver now requires a new user application callback, \ref CALLBACK_Audio_Device_GetSetEndpointProperty(). + * Existing applications must implement this new callback, however if multiple sample rates or pitch control is not used, + * this function may be hard-coded to always return false for previous behaviour to be retained. + * - The \c USB_ConfigurationNumber, \c USB_RemoteWakeupEnabled and \c USB_CurrentlySelfPowered globals have been renamed to + * \ref USB_Device_ConfigurationNumber, \ref USB_Device_RemoteWakeupEnabled and \ref USB_Device_CurrentlySelfPowered to clearly indicate + * the USB mode they relate to. Existing applications using these variables should rename all references to the previous names. + * - The \c ENDPOINT_DESCRIPTOR_DIR_IN and \c ENDPOINT_DESCRIPTOR_DIR_OUT macros have now been replaced by \ref ENDPOINT_DIR_IN and + * \ref ENDPOINT_DIR_OUT to improve code clarity. + * - The \ref HID_DESCRIPTOR_JOYSTICK() macro now takes an additional (first) parameter indicating the number of axis in the joystick. * * Host Mode * - The Pipe stream functions now all require a \c BytesProcessed parameter instead of the previous callback parameter. @@ -88,14 +65,17 @@ * - The \ref PRNT_Host_SendString() and \ref CDC_Host_SendString() functions now expect a null terminated string instead of an explicit * length. Existing code should use the new \ref PRNT_Host_SendData() and \ref CDC_Host_SendData() functions, or remove the * length parameter from the function call. - * - The Pipe_ClearErrorFlags() function has been removed, as the pipe error flags are now automatically cleared when the + * - The \c Pipe_ClearErrorFlags() function has been removed, as the pipe error flags are now automatically cleared when the * \ref Pipe_ClearError() function is called. - * - The Pipe_*_Byte() functions have been renamed Pipe_*_8() to ensure they are correct across all architectures. Existing code using + * - The \c Pipe_*_Byte() functions have been renamed Pipe_*_8() to ensure they are correct across all architectures. Existing code using * these functions should replace the previous function names with the new function names. - * - The Pipe_*_Word() functions have been renamed Pipe_*_16() to ensure they are correct across all architectures. Existing code using + * - The \c Pipe_*_Word() functions have been renamed Pipe_*_16() to ensure they are correct across all architectures. Existing code using * these functions should replace the previous function names with the new function names. - * - The Pipe_*_DWord() functions have been renamed Pipe_*_32() to ensure they are correct across all architectures. Existing code using + * - The \c Pipe_*_DWord() functions have been renamed Pipe_*_32() to ensure they are correct across all architectures. Existing code using * these functions should replace the previous function names with the new function names. + * - The \c USB_Host_ClearPipeStall() function has been renamed to USB_Host_ClearEndpointStall(), as it operates on a full endpoing address + * within the attached device and not a pipe within the host. Existing code using the old function name should update the function calls and + * check for correct usage. * * \section Sec_Migration101122 Migrating from 100807 to 101122 * USB Core