Add option to the USB XMEGAs to set the USB bus interrupt priority level.
[pub/lufa.git] / LUFA / ManPages / MigrationInformation.txt
index d3782d3..d5f680e 100644 (file)
  *  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 101122 to XXXXXX
+ *  \section Sec_MigrationXXXXXX Migrating from 110528 to XXXXXX
+ *  <b>Device Mode</b>
+ *    - 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.
+ *
+ *  <b>Host Mode</b>
+ *    - 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
  *  <b>Non-USB Library Components</b>
  *    - 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
@@ -29,7 +53,7 @@
  *
  *  <b>USB Core</b>
  *    - 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 minimise the compiled program
+ *      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
@@ -53,7 +77,7 @@
  *      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_WritePacket().
+ *      to \ref RNDIS_Device_ReadPacket() and/or \ref RNDIS_Device_SendPacket().
  *
  *  <b>Host Mode</b>
  *    - The Pipe stream functions now all require a \c BytesProcessed parameter instead of the previous callback parameter.
  *
  *  <b>Host Mode</b>
  *    - The \ref CDC_Host_ReceiveByte() function has changed, and now returns a signed 16-bit integer, with -1 indicating no data was
- *      received. This allows for more efficient coding, as a call to \ref CDC_Device_BytesReceived() is no longer needed if the exact
+ *      received. This allows for more efficient coding, as a call to \ref CDC_Host_BytesReceived() is no longer needed if the exact
  *      number of queued bytes received is not needed.
  *    - The \ref CDC_Host_USBTask() now calls \ref CDC_Host_Flush() automatically, flushing any queued data to the attached device. Manual
  *      flushing of the interface is no longer needed if the flushes should be in sync with calls to \ref CDC_Host_USBTask().
  *    - The HWB driver has changed to the \c Buttons driver. See the board Buttons driver documentation for the new API.
  *
  *  <b>Dual Role Mode</b>
- *    - The \c USB_PowerOnFail even has been renamed to \c USB_InitFailure.
+ *    - The \c USB_PowerOnFail event has been renamed to \c USB_InitFailure.
  *    - The functions in \c OTG.h have been renamed to remain more consistent with the library API. See the functions in \c OTG.h for more
  *      details.
  *