New LUFA BETA For Testing

Since the feedback I’ve gotten all points in favour of releasing the current LUFA progress early next month despite the unfinished Host Mode Class drivers, I’m going to do just that. I’m now releasing the current SVN as a beta version, for the scheduled 090810 release. This beta release lacks the final polish (update of docs, etc.) of the final release, but will be the code that will form the next release.

This beta is now in the testing phase; please submit all feedback here before the 10th so that any outstanding problems can be addressed before the final 090810 release is made public. Remember to check out all the changes – both the new Documentation organisation and the new code examples/features.

At the end of the testing phase, if no problems are found, this will be re-branded as the 090810 release and uploaded for general use.

Download the 090810 BETA: http://groups.google.com/group/myusb-support-list/web/LUFA%20090810b.zip
Download the 090810 BETA documentation: http://groups.google.com/group/myusb-support-list/web/LUFA%20090810b%20Documentation.zip

Current BETA Change Log:

New:

  • Added new class drivers and matching demos to the library for rapid application development
  • Added incomplete device and host mode demos for later enhancement
  • Error status LEDs shown when device endpoint configuration fails to complete in all demos and projects
  • Added new USB_Host_SetDeviceConfiguration() convenience function for easy configuration selection of devices while in USB host mode
  • Added new USB_Host_ClearPipeStall() convenience function to clear a stall condition on an attached device’s endpoint
  • Added new USB_Host_GetDeviceDescriptor() convenience function to retrieve the attached device’s Device descriptor
  • Added USB Missle Launcher project, submitted by Dave Fletcher
  • Added new USE_INTERNAL_SERIAL define for using the unique serial numbers in some AVR models as the USB device’s serial number, added NO_INTERNAL_SERIAL compile time option to turn off new serial number reading code
  • Added new DATAFLASH_CHIP_MASK() macro to the Dataflash driver, which returns the Dataflash select mask for the given chip index
  • Updated MassStorage device block write routines to use ping-pong Dataflash buffering to increase throughput by around 30%
  • Added new HOST_STATE_WaitForDeviceRemoval host state machine state for non-blocking disabling of device communications until the device has been removed (for use when an error occurs or communications with the device have completed)
  • Added new FAST_STREAM_TRANSFERS compile time option for faster stream transfers via multiple bytes copied per stream loop
  • Added stdio stream demo code to the low-level CDC demo, to show how to create standard streams out of the virtual serial ports
  • Added new EEPROM and FLASH buffer versions of the Endpoint and Pipe stream functions
  • Added new USE_FLASH_DESCRIPTORS and TOTAL_NUM_CONFIGURATIONS compile time options
  • Added support for the new ATMEGA32U2, ATMEGA16U2 and ATMEGA8U2 AVR models
  • Added new PrinterHost demo (thanks to John Andrews)

Changed:

  • Deprecated psuedo-scheduler and removed dynamic memory allocator from the library (first no longer needed and second unused)
  • Low level API MIDI device demo no longer blocks if a note change event is sent while the endpoint is not ready
  • Internal per-device preprocessing conditions changed to per-device series rather than per controller group for finer-grain internal control
  • Pipe_GetErrorFlags() now returns additional error flags for overflow and underflow errors
  • Extended USB_GetDeviceConfigDescriptor() routine to require the configuration number within the device to fetch
  • Pipe stream functions now automatically set the correct pipe token, so that bidirectional pipes can be used
  • Pipe_ConfigurePipe() now automatically defaults IN pipes to accepting infinite IN requests, this can still be changed by calling the existing Pipe_SetFiniteINRequests() function
  • Dataflash_WaitWhileBusy() now always ensures that the dataflash is ready for the next command immediately after returning, no need to call Dataflash_ToggleSelectedChipCS() afterwards
  • Changed F_CLOCK entries in project makefiles to alias to F_CPU by default, as this is the most common case
  • The device-mode CALLBACK_USB_GetDescriptor() function now has an extra parameter so that the memory space in which the requested descriptor is located can be specified. This means that descriptors can now be located in multiple memory spaces within a device.
  • Host mode demos now use sane terminal escape codes, so that text is always readable and events/program output is visually distinguished from oneanother using foreground colours

Fixed:

  • Changed bootloaders to use FLASHEND rather than the existence of RAMPZ to determine if far FLASH pointers are needed to fix bootloaders on some of the USB AVR devices where avr-libc erronously defines RAMPZ
  • Fixes to MassStorageHost for better device compatibility (increase command timeout, change MassStore_WaitForDataReceived() to only unfreeze and check one data pipe at a time) to prevent incorrect device enumerations and freezes while trasferring data
  • Make Pipe_ConfigurePipe() mask the given endpoint number against PIPE_EPNUM_MASK to ensure the endpoint IN direction bit is cleared to prevent endpoint type corruption
  • Fix documentation mentioning Pipe_GetCurrentToken() function when real name is Pipe_GetPipeToken()
  • Fixed ADC driver for the ATMEGA32U4 and ATMEGA16U4 (thanks to Opendous Inc.)
  • Fixed CDCHost demo unfreezing the pipes at the point of configuration, rather than use
  • Fixed MassStorage demo not clearing the reset flag when a Mass Storage Reset is issued while not processing a command
  • Fixed USB_Host_SendControlRequest() not re-suspending the USB bus when initial device ready-wait fails
  • Fixed USB Pad regulator not being disabled on some AVR models when the USB_OPT_REG_DISABLED option is used
  • Fixed Host mode to Device mode UID change not causing a USB Disconnect event when a device was connected
  • Fixed Mouse/Keyboard demos not performing the correct arithmetic on the Idle period at the right times (thanks to Brian Dickman)
  • Fixed GenericHID failing HID class tests due to incorrect Logical Minimum and Logical Maximum values (thanks to Soren Greiner)
  • Fixed incorrect PIPE_EPNUM_MASK mask causing pipe failures on devices with endpoint addresses of 8 and above (thanks to John Andrews)
 

Comments: 1

Leave a reply »

 
 
 

Both links above for the latest Beta , report that no file found?

 

Leave a Reply

 
(will not be published)
 
 
Comment
 
 

 

Vital Stats

  • 35 Years Old
  • Australian
  • Lover of embedded systems
  • Firmware engineer
  • Self-Proclaimed Geek

Latest Blog Posts

RSS