Dean Camera [Wed, 24 Nov 2010 13:57:44 +0000 (13:57 +0000)]
Readd incomplete MIDIToneGenerator project, which can now correctly generate up to three simultaneous notes from MIDI channel 0.
Dean Camera [Tue, 23 Nov 2010 06:56:24 +0000 (06:56 +0000)]
Fixed Benito project discarding incoming data from the USB virtual serial port when the USART is busy.
Minor documentation improvements.
Dean Camera [Mon, 22 Nov 2010 05:30:20 +0000 (05:30 +0000)]
Commit for 101122 release.
Dean Camera [Mon, 22 Nov 2010 05:24:33 +0000 (05:24 +0000)]
Lower bulk endpoint polling rate in the descriptors to the lowest possible value to give maximum throughput.
Dean Camera [Sun, 21 Nov 2010 10:34:15 +0000 (10:34 +0000)]
Added board hardware driver support for the Microsin AVR-USB162 development board.
Dean Camera [Sun, 21 Nov 2010 10:16:44 +0000 (10:16 +0000)]
Remove internal USB_Device_NibbleToASCII() function in favour of manually inlined code to prevent compilation errors in -O0 optimisation level.
Dean Camera [Sun, 21 Nov 2010 10:01:01 +0000 (10:01 +0000)]
Oops - reduce size of each ring buffer in the USBtoSerial and Benito projects so that the RAM is not overflowed on the smaller USB AVR targets (thanks to Andrei from Microsin.ru).
Dean Camera [Wed, 17 Nov 2010 06:34:04 +0000 (06:34 +0000)]
Better documentation for the ANSI terminal escape codes header.
Organise the current version changelog better to group core and non-core changes together.
Dean Camera [Wed, 17 Nov 2010 05:46:18 +0000 (05:46 +0000)]
Rename incorrectly named XPROGTarget_SendBreak() function to XPROGTarget_SendIdle(), as it is sending idle bits and not break bits.
Dean Camera [Tue, 16 Nov 2010 13:14:27 +0000 (13:14 +0000)]
Fixed AVRISP-MKII clone project not starting the target's program automatically after exiting TPI programming mode.
Dean Camera [Tue, 16 Nov 2010 12:30:00 +0000 (12:30 +0000)]
Slow AVRISP-MKII clone PDI/TPI programming speed back to 250KHz due to issues with the XPLAINBridge when PDI programming at faster rates.
Speed up XMEGANVM_WaitWhileNVMControllerBusy() by preloading the status register address into the pointer register of the target's NVM controller and then reading via a faster indirect load command.
Dean Camera [Tue, 16 Nov 2010 01:37:43 +0000 (01:37 +0000)]
Added new XCK_RESCUE_CLOCK_ENABLE compile time option to the AVRISP-MKII clone programmer project (thanks to Tom Light).
Dean Camera [Mon, 15 Nov 2010 08:24:18 +0000 (08:24 +0000)]
Fixed incorrect event name in the Benito project.
Dean Camera [Sun, 14 Nov 2010 06:44:57 +0000 (06:44 +0000)]
Second patch to fix incorrect PDI/TPI programming speed.
Dean Camera [Fri, 12 Nov 2010 06:24:01 +0000 (06:24 +0000)]
Fixed PDI/TPI programming speed of ~250KHz in the AVRISP-MKII Clone project, instead of the desired 500KHz.
Dean Camera [Wed, 10 Nov 2010 12:38:25 +0000 (12:38 +0000)]
Fixed incorrect PollingIntervalMS values in the demo/project/bootloader endpoint descriptors (thanks to MCS Electronics).
Dean Camera [Tue, 9 Nov 2010 11:02:50 +0000 (11:02 +0000)]
Remove link to (now deleted) public Mercurial mirror in the documentation.
Dean Camera [Tue, 9 Nov 2010 09:38:38 +0000 (09:38 +0000)]
Fix incorrect ADEFS and CPPDEFS entries in the DFU and CDC class bootloader makefiles.
Dean Camera [Mon, 8 Nov 2010 03:41:48 +0000 (03:41 +0000)]
Added board hardware driver support for the Adafruit U4 breakout board.
Fixed calculation of timer register reload values derived from F_CPU; must subtract one from the division result for the compare value to be correct.
Change AVRISP-MKII rescue clock speed to 4MHz to ensure that a 125KHz ISP speed works regardless of the target's fuses (i.e. DIV8 set).
Dean Camera [Sun, 7 Nov 2010 12:54:52 +0000 (12:54 +0000)]
Fixed broken input in the MagStripe reader project due to an incorrect HID report descriptor.
Dean Camera [Fri, 5 Nov 2010 05:26:00 +0000 (05:26 +0000)]
Fix documentation reference error.
Dean Camera [Fri, 5 Nov 2010 05:15:20 +0000 (05:15 +0000)]
Renamed the EVENT_USB_Device_UnhandledControlRequest() event to EVENT_USB_Device_ControlRequest() as it is now fired before the library request handlers, not afterwards.
Dean Camera [Fri, 5 Nov 2010 03:43:11 +0000 (03:43 +0000)]
Loop in the ClassDriver MIDI device/host demos until there are no more incomming events to process. Only clear the endpoint/pipe bank in the LowLevel MIDI device/host demos when the endpoint is empty after an event read.
Dean Camera [Wed, 3 Nov 2010 11:24:34 +0000 (11:24 +0000)]
Fixed USBtoSerial and XPLAINBridge demos discarding data from the PC if the send buffer becomes full.
Dean Camera [Wed, 3 Nov 2010 06:50:02 +0000 (06:50 +0000)]
Minor documentation improvements.
Dean Camera [Wed, 3 Nov 2010 06:37:40 +0000 (06:37 +0000)]
Remove already implemented features from the Future Changes manual page.
Dean Camera [Wed, 3 Nov 2010 03:20:08 +0000 (03:20 +0000)]
Fixed MIDI class driver send routines silently discarding packets if the endpoint or pipe is busy (thanks to Robin Green).
Dean Camera [Tue, 2 Nov 2010 11:16:36 +0000 (11:16 +0000)]
Fix XPLAINBridge code broken during the changes to the Rescue Clock generation in the AVRISP-MKII clone project.
Change over all low level host mode project's descriptor comparator routines to perform the descriptor casting in a temp variable to make the code clearer and easier to modify (despite being more verbose).
Dean Camera [Tue, 2 Nov 2010 07:57:23 +0000 (07:57 +0000)]
Rescue clock of the AVRISP-MKII moved to the AVR's OCR1A pin, so that the clock can be generated at all times when 125KHz ISP programming mode is selected.
Dean Camera [Fri, 29 Oct 2010 08:20:36 +0000 (08:20 +0000)]
Rename new CDC class bootloader NO_LOCK_BYTE_SUPPORT compile time option to NO_LOCK_BYTE_WRITE_SUPPORT as reads are still permitted.
Clean up CDC bootloader command processing code.
Dean Camera [Fri, 29 Oct 2010 08:07:49 +0000 (08:07 +0000)]
Added new NO_BLOCK_SUPPORT, NO_EEPROM_BYTE_SUPPORT, NO_FLASH_BYTE_SUPPORT and NO_LOCK_BYTE_SUPPORT compile time options to the CDC class bootloader.
Dean Camera [Fri, 29 Oct 2010 06:50:56 +0000 (06:50 +0000)]
Oops - typos in the naming of the NBUSYBK0 bits breaking the new busy bank counting functions.
Dean Camera [Fri, 29 Oct 2010 06:22:03 +0000 (06:22 +0000)]
Added new Pipe_GetBusyBanks(), Endpoint_GetBusyBanks() and Endpoint_AbortPendingIN() functions.
Dean Camera [Thu, 28 Oct 2010 23:11:49 +0000 (23:11 +0000)]
Added standard keyboard HID report scancode defines (thanks to László Monda).
Dean Camera [Thu, 28 Oct 2010 22:51:03 +0000 (22:51 +0000)]
Move Set Feature and Clear Feature control request feature selector values into their own enum.
Dean Camera [Thu, 28 Oct 2010 07:52:52 +0000 (07:52 +0000)]
Move RNDISConstants.h into the RNDIS class driver common definition header.
Add logical grouping of related #define values for better Doxygen documentation.
Dean Camera [Thu, 28 Oct 2010 06:08:58 +0000 (06:08 +0000)]
Changed over fourwalledcubicle.com links to the new www.lufa-lib.org redirect domain, including the new aliased links for LUFA-related pages such as the various download/source control mirrors and support lists.
Dean Camera [Wed, 27 Oct 2010 07:23:51 +0000 (07:23 +0000)]
Added new NO_CLASS_DRIVER_AUTOFLUSH compile time option to disable automatic flushing of interfaces when the USB management tasks for each driver is called.
The MIDI class drivers now automatically flushes the MIDI interface when the MIDI class driver's USBTask() function is called.
Dean Camera [Tue, 26 Oct 2010 06:52:09 +0000 (06:52 +0000)]
Changed AudioInput and AudioOutput demos to reload the next sample via an interrupt rather than polling the sample timer.
Dean Camera [Mon, 25 Oct 2010 12:42:55 +0000 (12:42 +0000)]
Add descriptor class, subclass and protocol constants to the class drivers, modify all demos to use them where possible.
Move out private/internal host class driver constants to the common class driver headers, so that they can be used in the Low Level host mode demos.
Ensure all demos, projects and bootloaders use the class driver constants where possible to minimise code repetition.
Dean Camera [Sun, 24 Oct 2010 22:53:57 +0000 (22:53 +0000)]
All USB class drivers are now automatically included when LUFA/Drivers/USB.h is included, and no longer need to be seperately included.
All LowLevel demos changed to use the constants and types defined in the USB class drivers.
Dean Camera [Sun, 24 Oct 2010 12:25:34 +0000 (12:25 +0000)]
Better algorithm to extract and convert the internal device serial number into a string descriptor (if present).
Fix incorrect warning text when an unsuitable F_CLOCK value is given.
Dean Camera [Wed, 20 Oct 2010 08:08:59 +0000 (08:08 +0000)]
Oops - fix broken SPI driver due to missing bit inversion on a port mask.
Dean Camera [Wed, 20 Oct 2010 07:39:11 +0000 (07:39 +0000)]
Added default test tone generation mode to the Device mode AudioInput demos.
Dean Camera [Sun, 17 Oct 2010 23:14:03 +0000 (23:14 +0000)]
Added board hardware driver support for the Minimus board (thanks to the PSGroove team).
Dean Camera [Sun, 17 Oct 2010 23:08:53 +0000 (23:08 +0000)]
Oops - add missing Maximus board LED hardware driver file.
Dean Camera [Sun, 17 Oct 2010 23:06:50 +0000 (23:06 +0000)]
Added board hardware driver support for the Maximus board (thanks to the PSGroove team).
Dean Camera [Sun, 17 Oct 2010 23:00:23 +0000 (23:00 +0000)]
Added board hardware driver support for the Blackcat USB JTAG board (thanks to the PSGroove team).
Dean Camera [Wed, 13 Oct 2010 21:10:48 +0000 (21:10 +0000)]
Add missing ENDPOINT_ATTR_NO_SYNC and ENDPOINT_USAGE_DATA attributes to the descriptors in the ClassDriver MassStorageKeyboard demo.
Dean Camera [Wed, 13 Oct 2010 21:05:55 +0000 (21:05 +0000)]
Renamed ENDPOINT_DOUBLEBANK_SUPPORTED() to ENDPOINT_BANKS_SUPPORTED() and changed it to return the maximum number of supported banks for the given endpoint.
Dean Camera [Wed, 13 Oct 2010 14:25:36 +0000 (14:25 +0000)]
Fix incomplete StandaloneProgrammer project code not compiling due to the recent API changes in the LUFA core.
Dean Camera [Wed, 13 Oct 2010 14:23:23 +0000 (14:23 +0000)]
Fix SoftUART.c not compiling due to accidental check in of changes not yet complete in the rest of the XPLAINBridge project code.
Dean Camera [Wed, 13 Oct 2010 14:10:24 +0000 (14:10 +0000)]
Minor documentation corrections.
Dean Camera [Wed, 13 Oct 2010 14:05:35 +0000 (14:05 +0000)]
Clean up excessive whitespace at the end of each line using the wspurify tool made by Laszlo Monda
Dean Camera [Tue, 12 Oct 2010 13:52:06 +0000 (13:52 +0000)]
Fixed MIDI_Host_Flush() not aborting early when the specified MIDI host interface was not configured.
Small documentation improvements to explicitly reference tokens in Doxygen, to ensure that they are converted to cross-reference links in the output files.
Dean Camera [Tue, 12 Oct 2010 12:25:05 +0000 (12:25 +0000)]
Fix Webserver project code not compiling due to the changes to the USB mode selection constant names.
Dean Camera [Tue, 12 Oct 2010 12:22:11 +0000 (12:22 +0000)]
Remove USB_MODE_* macros, replace with a semantically linked USB_Modes_t enum.
Moved the USB device selection logic for ENDPOINT_TOTAL_ENDPOINTS further up in Endpoint.h to where the endpoint bank capabilities are determined, to reduce the total number of device-specific logic.
Change USB_Host_WaitMS() to test and disable the HSOFI interrupt before resuming the bus, so that it does not fire before the delay loop has run.
Add missing const qualifier to the parameter of USB_Host_ClearPipeStall().
Dean Camera [Tue, 12 Oct 2010 11:27:15 +0000 (11:27 +0000)]
Fixed random enumeration failure while in device mode due to interrupts causing the Set Address request to exceed maximum timings.
Dean Camera [Tue, 12 Oct 2010 10:40:42 +0000 (10:40 +0000)]
Minor documentation enhancements.
Dean Camera [Sun, 10 Oct 2010 06:32:48 +0000 (06:32 +0000)]
Remove MIDI ClassDriver device demo's accidental inclusion of the unused ADC peripheral driver header file.
Dean Camera [Sun, 10 Oct 2010 06:23:45 +0000 (06:23 +0000)]
Fixed ISR definition conflict in the XPLAIN bridge between the software UART and the AVRISP-MKII ISP modules.
Dean Camera [Thu, 7 Oct 2010 11:55:20 +0000 (11:55 +0000)]
Added new NO_SOF_EVENTS compile time option, enabled in the bootloaders to reduce the compiled binary size.
Dean Camera [Wed, 6 Oct 2010 12:40:20 +0000 (12:40 +0000)]
Added board hardware driver support for the Busware CUL V3 board.
Added SVN eol-style property to the library driver files that are missing it.
Dean Camera [Wed, 6 Oct 2010 11:51:53 +0000 (11:51 +0000)]
Fixed SPI driver not explicitly setting /SS and MISO pins as inputs when SPI_Init() is called.
Dean Camera [Wed, 6 Oct 2010 10:16:02 +0000 (10:16 +0000)]
Cache the USB_DeviceState variable internally in the library core when multiple checks are required in a single loop iteration, to reduce compiled code size.
Dean Camera [Sat, 2 Oct 2010 10:07:24 +0000 (10:07 +0000)]
Revert change to the AVRISP-MKII project for fuse byte programming via the CMDEX bit - this appears to be an error in the XMEGA manual external memory programming table.
Dean Camera [Sat, 2 Oct 2010 10:02:24 +0000 (10:02 +0000)]
Fixed broken lock byte programming in the AVRISP-MKII clone project for some XMEGA targets.
Dean Camera [Sat, 2 Oct 2010 08:41:08 +0000 (08:41 +0000)]
Fixed broken FLASH/EEPROM programming in the AVRISP-MKII clone project when writing in non-paged mode and the polling byte cannot be used.
Dean Camera [Fri, 1 Oct 2010 12:01:54 +0000 (12:01 +0000)]
Fixed LowLevel JoystickHostWithParser demo not saving the chosen HID interface's report descriptor size.
Simplified low level Host demo configuration descriptor parser routines.
Dean Camera [Fri, 1 Oct 2010 11:22:54 +0000 (11:22 +0000)]
Oops - revert changes to the Device mode Class Driver VirtualSerial demo makefile.
Dean Camera [Fri, 1 Oct 2010 11:22:24 +0000 (11:22 +0000)]
Fix device mode for the U4 parts.
Dean Camera [Fri, 1 Oct 2010 00:11:32 +0000 (00:11 +0000)]
Whitespace corrections.
Make Printer Host mode Class driver interface descriptor search routine pre-cast the current interface descriptor to simplify the value checks.
Dean Camera [Thu, 30 Sep 2010 23:23:05 +0000 (23:23 +0000)]
Make Host mode Class drivers only set the class driver instance's state values once a compatible interface has been found within the device.
Dean Camera [Thu, 30 Sep 2010 08:07:29 +0000 (08:07 +0000)]
Fix incorrectly named configuration descriptor callback routines in the host mode class drivers.
Fix typo in MIDI low level device demo.
Dean Camera [Thu, 30 Sep 2010 07:56:47 +0000 (07:56 +0000)]
Fix low level host mode demos not correctly fetching the next endpoint when an invalid interface is discarded.
Update the pipe configuration routines in the host mode class drivers so that they use the same new code to enumerate compatible devices to increase reliability. Add support to the host mode class drivers for non-sequential (but non-overlapping with other interface) pipe numbers.
Dean Camera [Thu, 30 Sep 2010 06:23:38 +0000 (06:23 +0000)]
Reverted Endpoint/Pipe non-sequential configuration hack, placed restriction on the configuration order instead to ensure maximum reliability.
Altered all low level device and host mode demos to ensure that endpoints and pipes are configured in ascending order properly.
Rewrote all low level host mode demos' configuration descriptor parser code to ensure that pipes are enumerated in ascending order, and to ensure maximum compatibility with devices.
Incremented all device mode demo's device descriptor revision numbers to ensure that any descriptor changes are re-fetched on machines which have enumerated previous versions.
Dean Camera [Wed, 29 Sep 2010 13:56:52 +0000 (13:56 +0000)]
Changed default value for the reset polarity parameter in the AVRISP-MKII project so that it defaults to active low drive.
Fixed incorrect USB_DeviceState value when unconfiguring the device without an address set.
Dean Camera [Tue, 28 Sep 2010 14:59:16 +0000 (14:59 +0000)]
Fix up incorrect version numbers in demo/project descriptors.
Add class name prefixes to missed constants in the class drivers to give all class driver elements a consistent namespace.
Dean Camera [Tue, 28 Sep 2010 14:30:26 +0000 (14:30 +0000)]
Added board hardware driver support for the Arduino Uno development board.
Fixed incorrect LEDs_ChangeLEDs() function in the Benito board LED driver.
Dean Camera [Tue, 28 Sep 2010 13:27:19 +0000 (13:27 +0000)]
Added CDC functional descriptor structs to the Low Level CDC demos and CDC class bootloader, to improve the readability of the descriptors.
Fixed BootloaderCDC project failing on some operating systems due to removed Line Encoding options (thanks to Alexey Belyaev).
Dean Camera [Tue, 28 Sep 2010 12:14:06 +0000 (12:14 +0000)]
Move out many of the common class driver constants into grouped enums, to make them more managable.
Add new CDC descriptor structs to the CDC class driver, so that the CDC demos can use human readable field names.
Rename prefix for Still Image Host class driver functions from "SImage_" to "SI_" to remain consistent with the rest of the driver.
Dean Camera [Fri, 24 Sep 2010 06:59:28 +0000 (06:59 +0000)]
Remove dfu-programmer program switches, to ensure maximum compatibility with all dfu-programmer versions.
Dean Camera [Fri, 24 Sep 2010 06:45:11 +0000 (06:45 +0000)]
Added the --suppress-bootloader-mem option to the makefile dfu target, to ensure that writes to the bootloader section of the AVR's flash memory are ignored (thanks to Axel Rohde).
Fixed incorrect command name for EEPROM memory programming in the makefile dfu-ee target.
Makefile whitespace fixes.
Dean Camera [Fri, 24 Sep 2010 06:34:43 +0000 (06:34 +0000)]
Fixed endpoint selection within the CALLBACK_HID_Device_CreateHIDReport() callback function causing broken GET REPORT requests.
Minor whitespace fixes.
Dean Camera [Wed, 22 Sep 2010 04:20:45 +0000 (04:20 +0000)]
Reverted modifications to USBInterrupt.h that were intefering with correct host mode operation.
Fixed SUSPI interrupt not being cleared during device mode enumeration, causing accidental mis-fires on re-enumeration.
Fixed JTAG_DEBUG_POINT() and JTAG_DEBUG_BREAK() macros not compiling under pure C99 standards mode.
Dean Camera [Tue, 21 Sep 2010 14:06:39 +0000 (14:06 +0000)]
Oops - need to call USB_Attach() when reinitializing into USB Host mode, or no devices will be detected.
Dean Camera [Tue, 21 Sep 2010 10:48:38 +0000 (10:48 +0000)]
Fixed USB_Host_ClearPipeStall() incorrectly attempting to determine the endpoint's direction from the currently selected pipe.
Dean Camera [Sun, 19 Sep 2010 08:42:30 +0000 (08:42 +0000)]
Rename internal suspend and wake up USB interrupt macros so that they follow the same naming scheme as the other USB ISR macros.
Dean Camera [Sun, 19 Sep 2010 06:30:14 +0000 (06:30 +0000)]
Make device mode configure the control endpoint even before the bus has been reset, so that the device will enumerate correctly on hosts that do not reset the device before initial use.
Dean Camera [Sun, 19 Sep 2010 06:09:25 +0000 (06:09 +0000)]
More simplifications to USBController.c, fix errors and warnings when compiled for the series 2 USB AVRs.
Dean Camera [Sun, 19 Sep 2010 06:00:45 +0000 (06:00 +0000)]
Fix warning when not compiled for UID auto-selection mode.
Dean Camera [Sun, 19 Sep 2010 05:58:27 +0000 (05:58 +0000)]
Clean up USBController.c/.h to more clearly seperate out host and device setup and reset paths.
Make USBInterrupt.c process all pending USB host mode interrupts before resetting the bus, so that no interrupts are lost when in UID auto-selection mode.
Dean Camera [Sun, 19 Sep 2010 05:46:17 +0000 (05:46 +0000)]
Ensure device address latch bit is not set at the same time as the new address, as per datasheet.
Minor documentation fixes.
Fix broken USB host mode due to the USB frame counter not being updated during the early enumeration steps, causing USB_Host_DelayMS() to spinloop forever.
Dean Camera [Wed, 15 Sep 2010 13:11:28 +0000 (13:11 +0000)]
Removed the EVENT_USB_InitFailure() event, as not specifying a USB mode to USB_Init() now defaults the controller into UID selection mode.
Dean Camera [Wed, 15 Sep 2010 10:47:22 +0000 (10:47 +0000)]
Fix incorrect documentation on the Get Descriptor standard request.
Dean Camera [Wed, 15 Sep 2010 03:00:29 +0000 (03:00 +0000)]
Make project makefiles correctly clean intermeditary build files from assembly and C++ sources (thanks to Daniel Czigany).
Dean Camera [Wed, 15 Sep 2010 00:30:40 +0000 (00:30 +0000)]
Minor documentation corrections.
Dean Camera [Tue, 14 Sep 2010 22:04:38 +0000 (22:04 +0000)]
Fix board name redefinition in BoardTypes.h (thanks to Daniel Czigany).
Dean Camera [Tue, 14 Sep 2010 11:19:44 +0000 (11:19 +0000)]
Fixed incorrect signature reported in the CDC class bootloader for the ATMEGA32U2.
Dean Camera [Tue, 14 Sep 2010 11:11:54 +0000 (11:11 +0000)]
Added board hardware driver support for the BUI development board.