Вышла новая версия библиотеки Lufa Version 100807
New:
* Added new ADC_DisableChannel() function (thanks to Mich Davis)
* Added new VTARGET_REF_VOLTS and VTARGET_SCALE_FACTOR compile time defines to the AVRISP-MKII programmer project to set the VTARGET reference voltage and scale factor
* Added new pgm_read_ptr() macro to Common.h for reading of pointers out of flash memory space
* Added new SWAPENDIAN_16() and SWAPENDIAN_32() macros to Common.h for statically initialized variables at compile time
* Added new Drivers/USB/LowLevel/Device.c file to house Device mode specific functions that are more complicated than simple macros
* Added new AVRStudio 4 project files for all library demos, projects and bootloaders
* Added ability to set the serial baud rate via the user's terminal in the XPLAINBridge project
* Added new LUFA module variables for the different source modules in the core library makefile to simplify project makefiles
* Added start of a new Test and Measurement class demo (thanks to Peter Lawrence)
* Added new SPI_ORDER_* data order masks to the SPI peripheral driver
* Added support to the AVRISP-MKII project for ISP speeds slower than 125KHz via a new software SPI driver
* Added support for the new button/LED on the latest model USBTINY-MKII
Changed:
* The RingBuff library code has been replaced in the XPLAINBridge, Benito and USBtoSerial projects with an ultra lightweight ring buffer to help improve the reliability of the projects
* The EEPROM stream read/write functions now use eeprom_update_byte() instead of eeprom_write_byte(), so that only changed bytes are written to EEPROM to preserve its lifespan
* Changed over the AVRISP-MKII and TemperatureDataLogger projects to use eeprom_update_byte() when writing non-volatile parameters to EEPROM to preserve its lifespan
* Removed unused line encoding data and control requests from the CDC Bootloader code, to save space
* Renamed SERIAL_STREAM_ASSERT() macro to STDOUT_ASSERT()
* The USB_Device_IsRemoteWakeupSent() and USB_Device_IsUSBSuspended() macros have been deleted, as they are now obsolete
* Rewrote the implementation of the SwapEndian_16() and SwapEndian_32() functions so that they compile down in most instances to minimal loads and stores rather than complicated shifts
* The software UART in the XPLAINBridge has been largely altered to try to improve upon its performance and reliability
* The USBtoSerial and Benito projects now flushes received data via a flush timer, so that several bytes can be transmitted at once
* Removed the automated checking of event names in the demo, project and bootloader makefiles due to inconsistencies between the behaviour of the command line tools used to perform the check on each platform
* Internal USB driver source files renamed and moved to ease future possible architecture ports
* All internal pseudo-function macros have been converted to true inline functions for type-safety and readability
* Changed LED indicator masks for the AVRISP-MKII project, so that there are defined roles for each LED
* Altered the CDC Device and Host Class drivers' receive byte routines, so that no data is indicated by the function returning a negative value (thanks to Andreas Paulin)
* Added auto flushing of OUT data to the CDC Host Class driver's USBTask function to automatically flush the send pipe buffer
Fixed:
* Fixed AVRISP project sending a LOAD EXTENDED ADDRESS command to 128KB AVRs after programming or reading from the last page of FLASH (thanks to Gerard Sexton)
* Fixed AVRISP project not sending a full erase-and-write EEPROM command to XMEGA targets when writing to the EEPROM instead of the split write-only command (thanks to Tim Margush)
* Fixed RNDISEthernet demos crashing when calculating checksums for Ethernet/TCP packets of more than ~500 bytes due to an overflow in the checksum calculation loop (thanks to Kevin Malec)
* Fixed XPLAINBridge project not correctly reading the XMEGA's supply voltage when reporting back to the host
* Fixed incorrect signature for the ATMEGA32U2 in the DFU bootloader (thanks to Axel Rohde)
* Fixed internal device serial not being accessible on the ATMEGAXXU2 AVRs (thanks to Axel Rohde)
* Fixed void pointer arithmetic in ConfigDescriptor.h breaking C++ compatibility (thanks to Michael Hennebry)
* Fixed broken PDI EEPROM Section Erase functionality in the AVRISP-MKII project
* Fixed USB_Device_SendRemoteWakeup() not working when the USB clock was frozen during USB bus suspend (thanks to Brian Dickman)
* Fixed occasional lockup of the AVRISP project due to the timeout extension code incorrectly extending the timeout in PDI and TPI programming modes infinitely
* Fixed HID device class driver still using PrevReportINBuffer for GetReport control requests even when it has been set to NULL by the user application (thanks to Axel Rohde)
* Fixed MIDI_Device_SendEventPacket() not correctly waiting for the endpoint to become ready (thanks to Robin Green)
* Fixed Benito and USBtoSerial projects not turning off the USART before reconfiguring it, which could cause incorrect operation to occur (thanks to Bob Paddock)
* Fixed Serial peripheral driver not turning off the USART before reconfiguring it, which would cause incorrect operation to occur (thanks to Bob Paddock)
Во вложении собранный и пропатченный проект под мою печатку
https://kazus.ru/forums/showpost.php...8&postcount=25