Rev 3332 Rev 3333
Line 130... Line 130...
130 other free libraries easier. We no longer require publication of the 130 other free libraries easier. We no longer require publication of the
131 circuit diagrams, but we STRONGLY encourage it. If you improve the driver 131 circuit diagrams, but we STRONGLY encourage it. If you improve the driver
132 itself, PLEASE grant us a royalty free license to your changes for our 132 itself, PLEASE grant us a royalty free license to your changes for our
133 commercial license. 133 commercial license.
134   134  
-   135 * Release 2007-03-29
-   136  
-   137 - New configuration option "USB_PUBLIC" in usbconfig.h.
-   138 - Set USB version number to 1.10 instead of 1.01.
-   139 - Code used USB_CFG_DESCR_PROPS_STRING_DEVICE and
-   140 USB_CFG_DESCR_PROPS_STRING_PRODUCT inconsistently. Changed all occurrences
-   141 to USB_CFG_DESCR_PROPS_STRING_PRODUCT.
-   142 - New assembler module for 16.5 MHz RC oscillator clock with PLL in receiver
-   143 code.
-   144 - New assembler module for 16 MHz crystal.
-   145 - usbdrvasm.S contains common code only, clock-specific parts have been moved
-   146 to usbdrvasm12.S, usbdrvasm16.S and usbdrvasm165.S respectively.
-   147  
-   148 * Release 2007-06-25
-   149  
-   150 - 16 MHz module: Do SE0 check in stuffed bits as well.
-   151  
-   152 * Release 2007-07-07
-   153  
-   154 - Define hi8(x) for IAR compiler to limit result to 8 bits. This is necessary
-   155 for negative values.
-   156 - Added 15 MHz module contributed by V. Bosch.
-   157 - Interrupt vector name can now be configured. This is useful if somebody
-   158 wants to use a different hardware interrupt than INT0.
-   159  
-   160 * Release 2007-08-07
-   161  
-   162 - Moved handleIn3 routine in usbdrvasm16.S so that relative jump range is
-   163 not exceeded.
-   164 - More config options: USB_RX_USER_HOOK(), USB_INITIAL_DATATOKEN,
-   165 USB_COUNT_SOF
-   166 - USB_INTR_PENDING can now be a memory address, not just I/O
-   167  
-   168 * Release 2007-09-19
-   169  
-   170 - Split out common parts of assembler modules into separate include file
-   171 - Made endpoint numbers configurable so that given interface definitions
-   172 can be matched. See USB_CFG_EP3_NUMBER in usbconfig-prototype.h.
-   173 - Store endpoint number for interrupt/bulk-out so that usbFunctionWriteOut()
-   174 can handle any number of endpoints.
-   175 - Define usbDeviceConnect() and usbDeviceDisconnect() even if no
-   176 USB_CFG_PULLUP_IOPORTNAME is defined. Directly set D+ and D- to 0 in this
-   177 case.
-   178  
-   179 * Release 2007-12-01
-   180  
-   181 - Optimize usbDeviceConnect() and usbDeviceDisconnect() for less code size
-   182 when USB_CFG_PULLUP_IOPORTNAME is not defined.
-   183  
-   184 * Release 2007-12-13
-   185  
-   186 - Renamed all include-only assembler modules from *.S to *.inc so that
-   187 people don't add them to their project sources.
-   188 - Distribute leap bits in tx loop more evenly for 16 MHz module.
-   189 - Use "macro" and "endm" instead of ".macro" and ".endm" for IAR
-   190 - Avoid compiler warnings for constant expr range by casting some values in
-   191 USB descriptors.
-   192  
-   193 * Release 2008-01-21
-   194  
-   195 - Fixed bug in 15 and 16 MHz module where the new address set with
-   196 SET_ADDRESS was already accepted at the next NAK or ACK we send, not at
-   197 the next data packet we send. This caused problems when the host polled
-   198 too fast. Thanks to Alexander Neumann for his help and patience debugging
-   199 this issue!
-   200  
-   201 * Release 2008-02-05
-   202  
-   203 - Fixed bug in 16.5 MHz module where a register was used in the interrupt
-   204 handler before it was pushed. This bug was introduced with version
-   205 2007-09-19 when common parts were moved to a separate file.
-   206 - Optimized CRC routine (thanks to Reimar Doeffinger).
-   207  
-   208 * Release 2008-02-16
-   209  
-   210 - Removed outdated IAR compatibility stuff (code sections).
-   211 - Added hook macros for USB_RESET_HOOK() and USB_SET_ADDRESS_HOOK().
-   212 - Added optional routine usbMeasureFrameLength() for calibration of the
-   213 internal RC oscillator.
-   214  
-   215 * Release 2008-02-28
-   216  
-   217 - USB_INITIAL_DATATOKEN defaults to USBPID_DATA1 now, which means that we
-   218 start with sending USBPID_DATA0.
-   219 - Changed defaults in usbconfig-prototype.h
-   220 - Added free USB VID/PID pair for MIDI class devices
-   221 - Restructured AVR-USB as separate package, not part of PowerSwitch any more.
-   222  
-   223 * Release 2008-04-18
-   224  
-   225 - Restructured usbdrv.c so that it is easier to read and understand.
-   226 - Better code optimization with gcc 4.
-   227 - If a second interrupt in endpoint is enabled, also add it to config
-   228 descriptor.
-   229 - Added config option for long transfers (above 254 bytes), see
-   230 USB_CFG_LONG_TRANSFERS in usbconfig.h.
-   231 - Added 20 MHz module contributed by Jeroen Benschop.
-   232  
-   233 * Release 2008-05-13
-   234  
-   235 - Fixed bug in libs-host/hiddata.c function usbhidGetReport(): length
-   236 was not incremented, pointer to length was incremented instead.
-   237 - Added code to command line tool(s) which claims an interface. This code
-   238 is disabled by default, but may be necessary on newer Linux kernels.
-   239 - Added usbconfig.h option "USB_CFG_CHECK_DATA_TOGGLING".
-   240 - New header "usbportability.h" prepares ports to other development
-   241 environments.
-   242 - Long transfers (above 254 bytes) did not work when usbFunctionRead() was
-   243 used to supply the data. Fixed this bug. [Thanks to Alexander Neumann!]
-   244 - In hiddata.c (example code for sending/receiving data over HID), use
-   245 USB_RECIP_DEVICE instead of USB_RECIP_INTERFACE for control transfers so
-   246 that we need not claim the interface.
-   247 - in usbPoll() loop 20 times polling for RESET state instead of 10 times.
-   248 This accounts for the higher clock rates we now support.
-   249 - Added a module for 12.8 MHz RC oscillator with PLL in receiver loop.
-   250 - Added hook to SOF code so that oscillator can be tuned to USB frame clock.
-   251 - Added timeout to waitForJ loop. Helps preventing unexpected hangs.
-   252 - Added example code for oscillator tuning to libs-device (thanks to
-   253 Henrik Haftmann for the idea to this routine).
-   254 - Implemented option USB_CFG_SUPPRESS_INTR_CODE.
-   255  
-   256 * Release 2008-10-22
-   257  
-   258 - Fixed libs-device/osctune.h: OSCCAL is memory address on ATMega88 and
-   259 similar, not offset of 0x20 needs to be added.
-   260 - Allow distribution under GPLv3 for those who have to link against other
-   261 code distributed under GPLv3.
-   262  
-   263 * Release 2008-11-26
-   264  
-   265 - Removed libusb-win32 dependency for hid-data example in Makefile.windows.
-   266 It was never required and confused many people.
-   267 - Added extern uchar usbRxToken to usbdrv.h.
-   268 - Integrated a module with CRC checks at 18 MHz by Lukas Schrittwieser.
-   269  
-   270 * Release 2009-03-23
-   271  
-   272 - Hid-mouse example used settings from hid-data example, fixed that.
-   273 - Renamed project to V-USB due to a trademark issue with Atmel(r).
-   274 - Changed CommercialLicense.txt and USBID-License.txt to make the
-   275 background of USB ID registration clearer.
-   276  
-   277 * Release 2009-04-15
-   278  
-   279 - Changed CommercialLicense.txt to reflect the new range of PIDs from
-   280 Jason Kotzin.
-   281 - Removed USBID-License.txt in favor of USB-IDs-for-free.txt and
-   282 USB-ID-FAQ.txt
-   283 - Fixed a bug in the 12.8 MHz module: End Of Packet decection was made in
-   284 the center between bit 0 and 1 of each byte. This is where the data lines
-   285 are expected to change and the sampled data may therefore be nonsense.
-   286 We therefore check EOP ONLY if bits 0 AND 1 have both been read as 0 on D-.
-   287 - Fixed a bitstuffing problem in the 16 MHz module: If bit 6 was stuffed,
-   288 the unstuffing code in the receiver routine was 1 cycle too long. If
-   289 multiple bytes had the unstuffing in bit 6, the error summed up until the
-   290 receiver was out of sync.
-   291 - Included option for faster CRC routine.
-   292 Thanks to Slawomir Fras (BoskiDialer) for this code!
-   293 - Updated bits in Configuration Descriptor's bmAttributes according to
-   294 USB 1.1 (in particular bit 7, it is a must-be-set bit now).
-   295  
-   296 * Release 2009-08-22
-   297  
-   298 - Moved first DBG1() after odDebugInit() in all examples.
-   299 - Use vector INT0_vect instead of SIG_INTERRUPT0 if defined. This makes
-   300 V-USB compatible with the new "p" suffix devices (e.g. ATMega328p).
-   301 - USB_CFG_CLOCK_KHZ setting is now required in usbconfig.h (no default any
-   302 more).
-   303 - New option USB_CFG_DRIVER_FLASH_PAGE allows boot loaders on devices with
-   304 more than 64 kB flash.
-   305 - Built-in configuration descriptor allows custom definition for second
-   306 endpoint now.
-   307  
-   308 * Release 2010-07-15
-   309  
-   310 - Fixed bug in usbDriverSetup() which prevented descriptor sizes above 255
-   311 bytes.
-   312 - Avoid a compiler warning for unused parameter in usbHandleResetHook() when
-   313 compiler option -Wextra is enabled.
-   314 - Fixed wrong hex value for some IDs in USB-IDs-for-free.txt.
-   315 - Keep a define for USBATTR_BUSPOWER, although the flag does not exist
-   316 in USB 1.1 any more. Set it to 0. This is for backward compatibility.
-   317  
-   318 * Release 2012-01-09
-   319  
-   320 - Define a separate (defined) type for usbMsgPtr so that projects using a
-   321 tiny memory model can define it to an 8 bit type in usbconfig.h. This
-   322 change also saves a couple of bytes when using a scalar 16 bit type.
-   323 - Inserted "const" keyword for all PROGMEM declarations because new GCC
-   324 requires it.
-   325 - Fixed problem with dependence of usbportability.h on usbconfig.h. This
-   326 problem occurred with IAR CC only.
-   327 - Prepared repository for github.com.
-   328  
-   329 * Release 2012-12-06
135 330