ChangeLog.txt 95.5 KB
Newer Older
1001
1002
1003
1004
1005
1006
1007
1008
1009
  *  - Fixed macro/function naming consistency; USB_HOST is now USB_Host, USB_DEV is now USB_Device
  *  - Added better error reporting to host demos
  *  - Added 10 microsecond delay after addressing devices in host mode, to prevent control stalls
  *
  *
  *  \section Sec_ChangeLog132 Version 1.3.2 - Released April 1st, 2008
  *
  *  - Added call to ReconfigureUSART() in USBtoSerial SetLineCoding request, so that baud rate changes
  *    are reflected in the hardware
1010
  *  - Fixed CDC and USBtoSerial demos - Stream commands do not work for control endpoints, and the
1011
1012
1013
1014
1015
1016
  *    GetLineCoding request had an incorrect RequestType mask preventing it from being processed
  *  - Improved reliability of the USBtoSerial demo, adding a busy wait while the buffer is full
  *  - Device control endpoint size is now determined from the device's descriptors rather than being fixed
  *  - Separated out SPI code into new SPI driver in AT90USBXXX driver directory
  *  - Bootloader now returns correct PID for the selected USB AVR model, not just the AT90USB128X PID
  *  - Added support for the RZUSBSTICK board
1017
  *  - Bicolour driver removed in favor of generic LEDs driver
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
  *  - Added support for the ATMEGA32U4 AVR
  *  - Added MANUAL_PLL_CONTROL compile time option to prevent the USB library from manipulating the PLL
  *
  *
  *  \section Sec_ChangeLog131 Version 1.3.1 - Released March 19th 2008
  *
  *  - Fixed USB to Serial demo - class value in the descriptors was incorrect
  *  - Control endpoint size changed from 64 bytes to 8 bytes to save on USB FIFO RAM and to allow low
  *    speed mode devices to enumerate properly
  *  - USB to Serial demo data endpoints changed to dual-banked 16 byte to allow the demo to work
  *    on USB AVRs with limited USB FIFO RAM
  *  - Changed demo endpoint numbers to use endpoints 3 and 4 for double banking, to allow limited
  *    USB device controller AVRs (AT90USB162, AT90USB82) to function correctly
  *  - Updated Audio Out demo to use timer 1 for AVRs lacking a timer 3 for the PWM output
  *  - Fixed incorrect USB_DEV_OPT_HIGHSPEED entry in the Mass Storage device demo makefile
  *  - Optimized Mass Storage demo for a little extra transfer speed
  *  - Added LED indicators to the Keyboard demo for Caps Lock, Num Lock and Scroll Lock
  *  - Added Endpoint_Read_Stream, Endpoint_Write_Stream, Pipe_Read_Stream and Pipe_Write_Stream functions
  *    (including Big and Little Endian variants)
  *  - Made Dataflash functions inline for speed, removed now empty Dataflash.c driver file
  *  - Added new SetSystemClockPrescaler() macro (thanks to Joerg Wunsch)
  *  - Fixed Endpoint_ClearStall() to function correctly on full USB controller AVRs (AT90USBXXX6/7)
  *  - Endpoint_Setup_In_Clear() and Endpoint_Setup_Out_Clear() no longer set FIFOCON, in line with the
  *    directives in the datasheet
  *  - Fixed PLL prescaler defines for all AVR models and frequencies
  *  - Fixed ENDPOINT_INT_IN and ENDPOINT_INT_OUT definitions
  *  - Added interrupt driven keyboard and mouse device demos
  *  - Combined USB_Device_ClearFeature and USB_Device_SetFeature requests into a single routine for code
  *    size savings
  *  - Added missing Pipe_GetCurrentPipe() macro to Pipe.h
  *
  *
  *  \section Sec_ChangeLog130 Version 1.3.0 - Released March 7th 2008
  *
  *  - Unnecessary control endpoint config removed from device mode
  *  - Fixed device standard request interpreter accidentally processing some class-specific requests
  *  - Added USE_RAM_DESCRIPTORS and USE_EEPROM_DESCRIPTORS compile time options to instruct the library
  *    to use descriptors stored in RAM or EEPROM rather than flash memory
  *  - All demos now disable watchdog on startup, in case it has been enabled by fuses or the bootloader
  *  - USB_DEV_OPT_LOWSPEED option now works correctly
  *  - Added ability to set the USB options statically for a binary size reduction via the USE_STATIC_OPTIONS
  *    compile time define
  *  - USB_Init no longer takes a Mode parameter if compiled for a USB device with no host mode option, or
  *    if forced to a particular mode via the USB_HOST_ONLY or USB_DEVICE_ONLY compile time options
  *  - USB_Init no longer takes an Options parameter if options statically configured by USE_STATIC_OPTIONS
  *  - Endpoint_Ignore_* and Pipe_Ignore_* made smaller by making the dummy variable non-volatile so that the
  *    compiler can throw away the result more efficiently
  *  - Added in an optional GroupID value to each scheduler entry, so that groups of tasks can once again be
  *    controlled by the new Scheduler_SetGroupTaskMode() routine
  *  - Added support for AT90USB162 and AT90USB82 AVR models
  *  - Added support for the STK525 and STK526 boards
  *  - Added support for custom board drivers to be supplied by selecting the board type as BOARD_USER, and
  *    placing board drivers in {Application Directory}/Board/
  *  - PLL is now stopped and USB clock is frozen when detached from host in device mode, to save power
  *  - Joystick defines are now in synch with the schematics - orientation will be rotated for the USBKEY
  *  - Fixed USB_DEV_IsUSBSuspended() - now checks the correct register
  *  - Fixed data transfers to devices when in host mode
  *  - Renamed USB_DEV_OPT_HIGHSPEED to USB_DEV_OPT_FULLSPEED and USB_HOST_IsDeviceHighSpeed() to
  *    USB_HOST_IsDeviceFullSpeed() to be in line with the official USB speed names (to avoid confusion with
  *    the real high speed mode, which is unavailable on the USB AVRs)
  *
  *
  *  \section Sec_ChangeLog120 Version 1.2.0 - Released February 4th, 2008
  *
  *  - Added USB_DeviceEnumerationComplete event for host mode
1083
  *  - Added new Scheduler_Init routine to prepare the scheduler, so that tasks can be started and
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
  *    stopped before the scheduler has been started (via Scheduler_Start)
  *  - Connection events in both Device and Host mode are now interrupt-driven, allowing the USB management
  *    task to be stopped when the USB is not connected to a host or device
  *  - All demos updated to stop the USB task when not in use via the appropriate USB events
  *  - Mass Storage Host demo application updated to function correctly with all USB flash disks
  *  - Mass Storage Host demo application now prints out the capacity and number of LUNs in the attached
  *    device, and prints the first block as hexadecimal numbers rather than ASCII characters
  *  - Endpoint and Pipe clearing routines now clear the Endpoint/Pipe interrupt and status flags
  *  - Shifted error handling code in the host enum state machine to a single block, to reduce code complexity
  *  - Added in DESCRIPTOR_TYPE, DESCRIPTOR_SIZE and DESCRIPTOR_CAST macros to make config descriptor processing
  *    clearer in USB hosts and DESCRIPTOR_ADDRESS for convenience in USB devices
  *  - Added in alloca macro to common.h, in case the user is using an old version of avr-lib-c missing the macro
  *
  *
  *  \section Sec_ChangeLog130 Version 1.1.0 - Released January 25th 2008
  *
  *  - Fixed DCONNI interrupt being enabled accidentally after a USB reset
  *  - Fixed DDISCI interrupt not being disabled when a device is not connected
1102
  *  - Added workaround for powerless pull-up devices causing false disconnect interrupts
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
  *  - Added USB_DeviceEnumerationFailed event for Host mode
  *  - AVR_HOST_GetDeviceConfigDescriptor routine no longer modifies ConfigSizePtr if a valid buffer
  *    pointer is passed
  *  - Added ALLOCABLE_BYTES to DynAlloc, and added code to make the size of key storage variables
  *    dependant on size of memory parameters passed in via the user project's makefile
  *  - Fixed incorrect device reset routine being called in USBTask
  *  - Devices which do not connect within the standard 300mS are now supported
  *  - Removed incorrect ATTR_PURE from Scheduler_SetTaskMode(), which was preventing tasks from being
  *    started/stopped, as well as USB_InitTaskPointer(), which was breaking dual device/host USB projects
  *  - Changed scheduler to use the task name rather than IDs for setting the task mode, eliminating the
  *    need to have a task ID list
1114
1115
  *  - ID transition interrupt now raises the appropriate device/host disconnect event if device attached
  *  - Fixed double VBUS change (and VBUS -) event when detaching in device mode
1116
  *  - Added ability to disable ANSI terminal codes by the defining of DISABLE_TERMINAL_CODES in makefile
1117
  *  - Removed return from ConfigurePipe and ConfigureEndpoint functions - use Pipe_IsConfigured() and
1118
1119
  *    Endpoint_IsConfigured() after calling the config functions to determine success
  */
1120