* documentation pages. It is not a project source file.\r
*/\r
\r
+========== TODO: ===========\r
+ - Document new device class drivers (in progress)\r
+ - Made new host class drivers\r
+ - Document new host class drivers\r
+ - Convert Host mode demos to class drivers\r
+ - Add in old Host mode demos, convert to schedulerless\r
+ - Add in incomplete host mode demos\r
+ - Add standardized descriptor names to class driver structures, controlled by USE_NONSTANDARD_DESCRIPTOR_NAMES\r
+ - Remake AVRStudio projects to reflect file structure changes\r
+============================\r
+\r
/** \page Page_ChangeLog Project Changelog\r
*\r
* \section Sec_ChangeLogXXXXXX Version XXXXXX\r
*\r
+ * - Removed psuedo-scheduler, dynamic memory block allocator from the library (no longer needed and not used respectively)\r
+ * - Added new class drivers and matching demos to the library for rapid application development\r
+ *\r
+ *\r
+ * \section Sec_ChangeLog090605 Version 090605\r
+ *\r
+ * - Fixed bug in RNDISEthernet and DualCDC demos not using the correct USB_ControlRequest structure for control request data\r
+ * - Fixed documentation showing incorrect USB mode support on the supported AVRs list\r
+ * - Fixed RNDISEthernet not working under Linux due to Linux requiring an "optional" RNDIS request which was unhandled\r
+ * - Fixed Mouse and Keyboard device demos not acting in accordance with the HID specification for idle periods (thanks to Brian Dickman)\r
+ * - Removed support for endpoint/pipe non-control interrupts; these did not act in the way users expected, and had many subtle issues\r
+ * - Fixed Device Mode not handling Set Feature and Clear Feature Chapter 9 requests that are addressed to the device (thanks to Brian Dickman)\r
+ * - Moved control endpoint interrupt handling into the library itself, enable via the new INTERRUPT_CONTROL_ENDPOINT token\r
+ * - Fixed CDCHost not clearing configured pipes and resetting configured pipes mask when a partially enumerated invalid CDC\r
+ * interface is skipped\r
+ * - Clarified the size of library tokens which accept integer values in the Compile Time Tokens page, values now use the smallest datatype\r
+ * inside the library that is able to hold their defined value to save space\r
+ * - Removed DESCRIPTOR_ADDRESS() macro as it was largely supurflous and only served to obfuscate code\r
+ * - Rewritten event system to remove all macros, to make user code clearer\r
+ * - Fixed incorrect ENDPOINT_EPNUM_MASK mask preventing endpoints above EP3 from being selected (thanks to Jonathan Oakley)\r
+ * - Removed STREAM_CALLBACK() macro - callbacks now use regular function definitions to clarify user code\r
+ * - Removed DESCRIPTOR_COMPARATOR() macro - comparators should now use regular function definitions to clarify user code\r
+ * - USB_IsConnected is now cleared before the USB_Disconnect() event is fired in response to VBUS being removed\r
+ * - Fixed incorrect PID value being used in the USBtoSerial project (thanks to Phill)\r
+ * - Deleted StdDescriptors.c, renamed USB_GetDescriptor() to CALLBACK_USB_GetDescriptor, moved ConfigDescriptor.c/.h from the\r
+ * LUFA/Drivers/USB/Class/ directory to LUFA/Drivers/USB/HighLevel/ in preperation for the new USB class APIs\r
+ * - Moved out each demos' functionality library files (e.g. Ring Buffer library) to /Lib directories for a better directory structure\r
+ * - Removed Tx interrupt from the USBtoSerial demo; now sends characters via polling to ensure more time for the Rx interrupt\r
+ *\r
+ *\r
+ * \section Sec_ChangeLog090510 Version 090510\r
+ *\r
* - Added new GenericHIDHost demo\r
* - Corrections to the KeyboardHost and MouseHost demos' pipe handling to freeze and unfreeze the data pipes at the point of use\r
* - KeyboardHost, MouseHost and GenericHIDHost demos now save and restore the currently selected pipe inside the pipe ISR\r
* renamed to Endpoint_ClearSETUP(), the Pipe_IsSetupSent() macro has been renamed to Pipe_IsSETUPSent() and the\r
* Pipe_ClearSetupSent() macro is no longer applicable and should be removed - changes made to compliment the new endpoint and pipe\r
* bank management API\r
- * - Updated all demos, bootloaders and projects to use the new endpoint and pipe management APIs (thanks to Roman Thiel (Curetis AG))\r
+ * - Updated all demos, bootloaders and projects to use the new endpoint and pipe management APIs (thanks to Roman Thiel from Curetis AG)\r
* - Updated library doxygen documentation, added groups, changed documentation macro functions to real functions for clarity\r
* - Removed old endpoint and pipe aliased read/write/discard routines which did not have an explicit endian specifier for clarity\r
* - Removed the ButtLoadTag.h header file, as no one used for its intended purpose anyway\r
* - Fixed incorrect HID interface class and subclass values in the Mouse and KeyboardMouse demos (thanks to Brian Dickman)\r
* - Capitalised the "Descriptor_Search" and "Descriptor_Search_Comp" prefixes of the values in the DSearch_Return_ErrorCodes_t and\r
* DSearch_Comp_Return_ErrorCodes_t enums\r
+ * - Removed "ERROR" from the enum names in the endpoint and pipe stream error code enums\r
+ * - Renamed the USB_PowerOnErrorCodes_t enum to USB_InitErrorCodes_t, renamed the POWERON_ERROR_NoUSBModeSpecified enum value to\r
+ * USB_INITERROR_NoUSBModeSpecified\r
+ * - Renamed USB_PowerOnFail event to USB_InitFailure\r
+ * - Renamed OTG.h header functions to be more consistent with the rest of the library API\r
* - Changed over all deprecated GCC structure tag initializers to the standardized C99 format (thanks to Mike Alexander)\r
* - USB_HostRequest renamed to USB_ControlRequest, entire control request header is now read into USB_ControlRequest in Device mode\r
* rather than having the library pass only partially read header data to the application\r
* - The USB_UnhandledControlPacket event has had its parameters removed, in favour of accessing the new USB_ControlRequest structure\r
* - The Endpoint control stream functions now correctly send a ZLP to the host when less data than requested is sent\r
* - Fixed USB_RemoteWakeupEnabled flag never being set (the REMOTE WAKEUP Set Feature request was not being handled)\r
- * - Renamed the FEATURELESS_CONTROL_ONLY_DEVICE compile-time token to CONTROL_ONLY_DEVICE \r
+ * - Renamed the FEATURELESS_CONTROL_ONLY_DEVICE compile-time token to CONTROL_ONLY_DEVICE\r
+ * - Endpoint configuration is now refined to give better output when all configurations have static inputs - removed the now useless\r
+ * STATIC_ENDPOINT_CONFIGURATION compile time token\r
+ * - Fixed SPI driver init function not clearing SPI2X bit when not needed\r
+ * - Fixed PREVENT ALLOW MEDIUM REMOVAL command issuing in the MassStorageHost demo using incorrect parameters (thanks to Mike Alex)\r
+ * - Fixed MassStorageHost demo broken due to an incorrect if statement test in MassStore_GetReturnedStatus()\r
+ * - Fixed reversed signature byte ordering in the CDC bootloader (thanks to Johannes Raschke)\r
+ * - Changed PIPE_CONTROLPIPE_DEFAULT_SIZE from 8 to 64 to try to prevent problems with faulty devices which do not respect the given\r
+ * wLength value when reading in the device descriptor\r
+ * - Fixed missing semicolon in the ATAVRUSBRF01 LED board driver code (thanks to Morten Lund)\r
+ * - Changed LED board driver code to define dummy LED masks for the first four board LEDs, so that user code can be compiled for boards\r
+ * with less than four LEDs without code modifications (thanks to Morten Lund)\r
+ * - Changed HWB board driver to Buttons driver, to allow for the support of future boards with more than one mounted GPIO button\r
+ * - Serial driver now correctly calculates the baud register value when in double speed mode\r
+ * - Init function of the Serial driver is now static inline to product smaller code for the common-case of static init values\r
* \r
*\r
* \section Sec_ChangeLog090401 Version 090401\r