Dean Camera [Thu, 13 Jan 2011 21:01:05 +0000 (21:01 +0000)]
Oops - The DS1307 contains an unused "DayOfWeek" register that must be accounted for in the new unified DS1307 Time/Day read and write routines.
Dean Camera [Thu, 13 Jan 2011 19:14:38 +0000 (19:14 +0000)]
Changed TempDataLogger project's DS1307 driver to simplify the function interface and prevent a possible race condition.
Dean Camera [Mon, 10 Jan 2011 21:53:38 +0000 (21:53 +0000)]
Fix typos and outdated information.
Dean Camera [Mon, 10 Jan 2011 18:56:34 +0000 (18:56 +0000)]
Call USB_USBTask() in the Endpoint stream functions between packets if INTERRUPT_CONTROL_ENDPOINT is not set. Remove calls to USB_USBTask in the Mass Storage class driver stream read/write continuation checks, since this is now done inside the stream function.
Dean Camera [Mon, 10 Jan 2011 18:43:34 +0000 (18:43 +0000)]
Altered all endpoint/pipe stream transfers so that the new BytesProcessed parameter now points to a location where the number of bytes in the transfer that have been completed can be stored (or NULL if entire transaction should be performed in one chunk).
Added new Endpoint_Null_Stream() and Pipe_Null_stream() functions.
Removed the NO_STREAM_CALLBACKS compile time option due to the new partial stream transfer feature replacing it.
Fixed errors in the incomplete Test and Measurement device demo preventing proper operation (thanks to Pavel Plotnikov).
Dean Camera [Sat, 8 Jan 2011 15:54:57 +0000 (15:54 +0000)]
Oops - fix type preventing compilation of demos using the class drivers.
Dean Camera [Sat, 8 Jan 2011 11:47:20 +0000 (11:47 +0000)]
Minor documentation improvements.
Dean Camera [Sat, 8 Jan 2011 00:54:30 +0000 (00:54 +0000)]
The FAST_STREAM_TRANSFERS compile time option has been removed due to lack of use and low cost/benefit ratio.
Add GCC_FORCE_POINTER_ACCESS() macro use to the RingBuffer library header, to attempt to force GCC into producing more efficient code for manipulating the buffers.
Dean Camera [Mon, 3 Jan 2011 20:37:30 +0000 (20:37 +0000)]
Add custom footer to the main library documentation.
Dean Camera [Mon, 3 Jan 2011 20:13:06 +0000 (20:13 +0000)]
Update Doxygen documentation configuration file for the main project documentation to the latest version. Add missing data structure documentation briefs.
Dean Camera [Sat, 1 Jan 2011 13:00:56 +0000 (13:00 +0000)]
Update copyright year on all source files.
Dean Camera [Fri, 31 Dec 2010 15:03:57 +0000 (15:03 +0000)]
Fixed incorrect byte ordering in the Audio_Device_WriteSample24 function (thanks to WZab).
Dean Camera [Fri, 31 Dec 2010 14:47:20 +0000 (14:47 +0000)]
Rename RingBuffer header functions and typedefs from RingBuff_* to RingBuffer_* so that it matches the header name.
Dean Camera [Tue, 28 Dec 2010 22:07:31 +0000 (22:07 +0000)]
Fixed inverted Minimus board LEDs.
Dean Camera [Sun, 26 Dec 2010 15:44:10 +0000 (15:44 +0000)]
Fix compile errors from the changes to the SerialStream and board Temperature drivers.
Dean Camera [Sun, 26 Dec 2010 15:09:27 +0000 (15:09 +0000)]
More minor documentation corrections.
Dean Camera [Sun, 26 Dec 2010 14:55:26 +0000 (14:55 +0000)]
Documentation improvements - put driver example code into its own section, fix incorrect and missing section names.
Dean Camera [Sun, 26 Dec 2010 14:25:34 +0000 (14:25 +0000)]
Added basic driver example use code to the library documentation.
Made the USARTStream global public and documented in the SerialStream module, allowing for the serial USART stream to be accessed via its handle rather than via the implicit stdout and stdin streams.
Dean Camera [Sun, 26 Dec 2010 13:01:37 +0000 (13:01 +0000)]
Make a new general RingBuffer.h misc library driver, instead of the per-application LightweightRingBuff.h ring buffers. Change over projects to use the new driver.
Add ORDERED_EP_CONFIG to the device Projects (only) that use only a single class driver, or where the endpoint ordering is fixed, to save on compiled binary size.
Added new GCC_FORCE_POINTER_ACCESS() macro to correct GCC's mishandling of struct pointers.
Dean Camera [Sat, 25 Dec 2010 21:36:17 +0000 (21:36 +0000)]
Combined page and word ISP programming mode code in the AVRISP-MKII clone project to reduce compiled size and increase maintainability of the code.
Dean Camera [Sat, 25 Dec 2010 17:49:30 +0000 (17:49 +0000)]
Fixed possible programming problem in the AVRISP-MKII clone project when programming specific patterns into a target memory space that is only byte (not page) addressable.
Dean Camera [Fri, 24 Dec 2010 18:06:55 +0000 (18:06 +0000)]
Much more efficient algorithm for the Endpoint/Pipe configuration routine of unordered endpoints/pipes - only reconfigure the endpoints and pipes above the newly configured endpoint/pipe, and don't cache existing endpoint/pipe configuration before use to save SRAM.
Dean Camera [Fri, 24 Dec 2010 18:05:50 +0000 (18:05 +0000)]
Add ORDERED_EP_CONFIG compile time option to the CDC class bootloader, to reduce the compiled binary size, as the endpoint initialization order is fixed in the code.
Dean Camera [Fri, 24 Dec 2010 18:04:51 +0000 (18:04 +0000)]
Add DEVICE_STATE_AS_GPIOR=0 compile time option to the library projects, to reduce compiled binary size.
Dean Camera [Fri, 24 Dec 2010 17:05:41 +0000 (17:05 +0000)]
Re-add in old Endpoint/Pipe workaround for unordered pipes - add new ORDERED_EP_CONFIG compile time option to override the workaround and use the previous behaviour that imposes correct Endpoint/Pipe ordering but produces smaller compiled code.
Dean Camera [Fri, 17 Dec 2010 20:26:14 +0000 (20:26 +0000)]
Fix a few more incorrectly ordered endpoint initialisations in the device demos.
Dean Camera [Fri, 17 Dec 2010 19:59:19 +0000 (19:59 +0000)]
Add missing AVRStudio4 project file for the MIDIToneGenerator project.
Dean Camera [Fri, 17 Dec 2010 19:54:03 +0000 (19:54 +0000)]
Fixed incorrect endpoint initialisation order in the LowLevel DualVirtualSerial demo (thanks to Rick Drolet).
Dean Camera [Mon, 13 Dec 2010 06:05:05 +0000 (06:05 +0000)]
Fixed incorrect definition of the HID_KEYBOARD_SC_D constant in the HID class driver (thanks to Opendous Inc.).
Add extra comments to the ISPTarget.c source file in the AVRISP-MKII clone project.
Dean Camera [Sun, 12 Dec 2010 16:50:45 +0000 (16:50 +0000)]
Fixed possible lost data in the XPLAINBridge, USBtoSerial and Benito projects when the host exceeds the packet timeout period on received packets as set by USB_STREAM_TIMEOUT_MS (thanks to Justin Rajewski).
Dean Camera [Sun, 12 Dec 2010 16:39:46 +0000 (16:39 +0000)]
Added new RingBuffer_Peek() function to the lightweight ring buffer headers.
Dean Camera [Fri, 3 Dec 2010 03:51:46 +0000 (03:51 +0000)]
Added new completed MIDIToneGenerator project.
Dean Camera [Thu, 2 Dec 2010 04:28:53 +0000 (04:28 +0000)]
Fixed HID hpst class driver incorrectly binding to HID devices that do not have an OUT endpoint.
Dean Camera [Thu, 2 Dec 2010 01:56:06 +0000 (01:56 +0000)]
Refactored Host mode Class Driver *_Host_ConfigurePipes() routines to be more space efficient when compiled.
Added new *_ENUMERROR_PipeConfigurationFailed error codes for the *_Host_ConfigurePipes() routines.
Dean Camera [Tue, 30 Nov 2010 02:43:44 +0000 (02:43 +0000)]
Fixed broken USBFOO board drivers due to missing BOARD_USBFOO define.
Dean Camera [Mon, 29 Nov 2010 03:01:31 +0000 (03:01 +0000)]
Fixed broken HID_REQ_GetReport request handler in the Low Level GenericHID demo.
Dean Camera [Sat, 27 Nov 2010 01:27:55 +0000 (01:27 +0000)]
Fixed broken DFU bootloader, added XPLAIN support for bootloader start when XCK jumpered to ground.
Dean Camera [Fri, 26 Nov 2010 04:27:52 +0000 (04:27 +0000)]
Fix typos in the XPLAINBridge project preventing compilation.
Dean Camera [Fri, 26 Nov 2010 04:16:47 +0000 (04:16 +0000)]
Added ability to write protect Mass Storage disk write operations from the host OS.
Dean Camera [Thu, 25 Nov 2010 03:20:01 +0000 (03:20 +0000)]
Changed the XPLAINBridge software UART to use the regular CTC mode instead of the alternative CTC mode via the Input Capture register, to reduce user confusion.
Dean Camera [Thu, 25 Nov 2010 02:46:35 +0000 (02:46 +0000)]
Make the incomplete MIDIToneGenerator project work with up to three notes, using a LRU (Least Recently Used) algorithm to discard the oldest set note when the note table becomes full.
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.