mirror of
https://github.com/raphnet/4nes4snes
synced 2024-11-11 11:35:01 -05:00
84 lines
3.8 KiB
Plaintext
84 lines
3.8 KiB
Plaintext
|
This file documents changes in the firmware-only USB driver for atmel's AVR
|
||
|
microcontrollers. New entries are always appended to the end of the file.
|
||
|
Scroll down to the bottom to see the most recent changes.
|
||
|
|
||
|
2005-04-01:
|
||
|
- Implemented endpoint 1 as interrupt-in endpoint.
|
||
|
- Moved all configuration options to usbconfig.h which is not part of the
|
||
|
driver.
|
||
|
- Changed interface for usbVendorSetup().
|
||
|
- Fixed compatibility with ATMega8 device.
|
||
|
- Various minor optimizations.
|
||
|
|
||
|
2005-04-11:
|
||
|
- Changed interface to application: Use usbFunctionSetup(), usbFunctionRead()
|
||
|
and usbFunctionWrite() now. Added configuration options to choose which
|
||
|
of these functions to compile in.
|
||
|
- Assembler module delivers receive data non-inverted now.
|
||
|
- Made register and bit names compatible with more AVR devices.
|
||
|
|
||
|
2005-05-03:
|
||
|
- Allow address of usbRxBuf on any memory page as long as the buffer does
|
||
|
not cross 256 byte page boundaries.
|
||
|
- Better device compatibility: works with Mega88 now.
|
||
|
- Code optimization in debugging module.
|
||
|
- Documentation updates.
|
||
|
|
||
|
2006-01-02:
|
||
|
- Added (free) default Vendor- and Product-IDs bought from voti.nl.
|
||
|
- Added USBID-License.txt file which defines the rules for using the free
|
||
|
shared VID/PID pair.
|
||
|
- Added Readme.txt to the usbdrv directory which clarifies administrative
|
||
|
issues.
|
||
|
|
||
|
2006-01-25:
|
||
|
- Added "configured state" to become more standards compliant.
|
||
|
- Added "HALT" state for interrupt endpoint.
|
||
|
- Driver passes the "USB Command Verifier" test from usb.org now.
|
||
|
- Made "serial number" a configuration option.
|
||
|
- Minor optimizations, we now recommend compiler option "-Os" for best
|
||
|
results.
|
||
|
- Added a version number to usbdrv.h
|
||
|
|
||
|
2006-02-03:
|
||
|
- New configuration variable USB_BUFFER_SECTION for the memory section where
|
||
|
the USB rx buffer will go. This defaults to ".bss" if not defined. Since
|
||
|
this buffer MUST NOT cross 256 byte pages (not even touch a page at the
|
||
|
end), the user may want to pass a linker option similar to
|
||
|
"-Wl,--section-start=.mybuffer=0x800060".
|
||
|
- Provide structure for usbRequest_t.
|
||
|
- New defines for USB constants.
|
||
|
- Prepared for HID implementations.
|
||
|
- Increased data size limit for interrupt transfers to 8 bytes.
|
||
|
- New macro usbInterruptIsReady() to query interrupt buffer state.
|
||
|
|
||
|
2006-02-18:
|
||
|
- Ensure that the data token which is sent as an ack to an OUT transfer is
|
||
|
always zero sized. This fixes a bug where the host reports an error after
|
||
|
sending an out transfer to the device, although all data arrived at the
|
||
|
device.
|
||
|
- Updated docs in usbdrv.h to reflect changed API in usbFunctionWrite().
|
||
|
|
||
|
* Release 2006-02-20
|
||
|
|
||
|
- Give a compiler warning when compiling with debugging turned on.
|
||
|
- Added Oleg Semyonov's changes for IAR-cc compatibility.
|
||
|
- Added new (optional) functions usbDeviceConnect() and usbDeviceDisconnect()
|
||
|
(also thanks to Oleg!).
|
||
|
- Rearranged tests in usbPoll() to save a couple of instructions in the most
|
||
|
likely case that no actions are pending.
|
||
|
- We need a delay between the SET ADDRESS request until the new address
|
||
|
becomes active. This delay was handled in usbPoll() until now. Since the
|
||
|
spec says that the delay must not exceed 2ms, previous versions required
|
||
|
aggressive polling during the enumeration phase. We have now moved the
|
||
|
handling of the delay into the interrupt routine.
|
||
|
- We must not reply with NAK to a SETUP transaction. We can only achieve this
|
||
|
by making sure that the rx buffer is empty when SETUP tokens are expected.
|
||
|
We therefore don't pass zero sized data packets from the status phase of
|
||
|
a transfer to usbPoll(). This change MAY cause troubles if you rely on
|
||
|
receiving a less than 8 bytes long packet in usbFunctionWrite() to
|
||
|
identify the end of a transfer. usbFunctionWrite() will NEVER be called
|
||
|
with a zero length.
|
||
|
|
||
|
* Release 2006-03-14
|