Dean Camera [Sun, 27 Feb 2011 20:00:15 +0000 (20:00 +0000)]
Changed over the AVR8 USB controller interrupt management macros to be inlined functions instead, for better compile-time validity checking and to keep the per-architecture source files as uniform as possible.
Dean Camera [Sun, 27 Feb 2011 18:25:29 +0000 (18:25 +0000)]
General cleanup and more port work to the AVR32 UC3B.
Dean Camera [Sun, 27 Feb 2011 15:23:09 +0000 (15:23 +0000)]
Fix USB Host mode compile errors for the UC3B architecture.
Dean Camera [Sun, 27 Feb 2011 14:39:49 +0000 (14:39 +0000)]
Move out common architecture-independent core definitions into the appropriate core dispatch header files.
Dean Camera [Sun, 27 Feb 2011 14:04:29 +0000 (14:04 +0000)]
More AVR32 UC3B architecture ports - USB device mode applications can now be sucessfully compiled, although they will be currently non-functional.
Dean Camera [Sat, 26 Feb 2011 20:22:33 +0000 (20:22 +0000)]
Removed Pipe_ClearErrorFlags(), pipe error flags are now automatically cleared when Pipe_ClearError() is called.
More UC3B architecture porting.
Dean Camera [Sat, 26 Feb 2011 15:57:06 +0000 (15:57 +0000)]
Added TWI baud rate prescaler and bit length parameters to the TWI_Init() function (thanks to Thomas Herlinghaus).
Dean Camera [Sat, 26 Feb 2011 15:54:11 +0000 (15:54 +0000)]
More UC3B architecture port updates.
Dean Camera [Sun, 20 Feb 2011 19:18:06 +0000 (19:18 +0000)]
Update board driver common APIs to use uint_reg_t.
Dean Camera [Sun, 20 Feb 2011 18:27:09 +0000 (18:27 +0000)]
Fix incorrect Doxygen grouping in the incomplete AVR32 UC3B architecture port.
Dean Camera [Sun, 20 Feb 2011 18:23:09 +0000 (18:23 +0000)]
Make sure the peripheral driver .c files include the driver dispatch header, rather than the architecture specific header files.
Dean Camera [Sun, 20 Feb 2011 18:21:04 +0000 (18:21 +0000)]
Rename architecture specific driver files, to make them appear with uniquely identifying filenames in the documentation.
Dean Camera [Sun, 20 Feb 2011 17:53:17 +0000 (17:53 +0000)]
Added start of a port of the core USB driver code to the AVR32 UC3B architecture.
Dean Camera [Sun, 20 Feb 2011 14:43:13 +0000 (14:43 +0000)]
More updates to remove architecture-specific comments from the documentation, alter USBMode.h preprocessor logic to support future architectures more easily.
Dean Camera [Sun, 20 Feb 2011 14:07:20 +0000 (14:07 +0000)]
More Doxygen updates for multiple architecture support.
Dean Camera [Sun, 20 Feb 2011 13:08:29 +0000 (13:08 +0000)]
Start update of documentation to support possible multiple architectures in the future - alter \file documentation to automatically copy in the module documentation where possible.
Dean Camera [Sat, 19 Feb 2011 22:59:27 +0000 (22:59 +0000)]
Initial restructuring of the core USB driver module to support multiple architectures in the future.
Dean Camera [Sat, 19 Feb 2011 18:53:30 +0000 (18:53 +0000)]
Fix documentation glitches from the restructuring changes.
Dean Camera [Sat, 19 Feb 2011 18:45:50 +0000 (18:45 +0000)]
Move out Dataflash IC command constants headers into the general LUFA/Drivers/Misc/ directory rather than duplicating them inside the individual board driver folders.
Dean Camera [Sat, 19 Feb 2011 18:37:22 +0000 (18:37 +0000)]
Add new ARCH option to the makefiles to (eventually) specify the target device architecture. Update non-usb peripheral drivers to reflect future multiple architecture support.
Dean Camera [Sat, 19 Feb 2011 12:09:55 +0000 (12:09 +0000)]
Reduced latency for executing the Start-Of-Frame events (if enabled in the user application).
Dean Camera [Thu, 17 Feb 2011 22:08:29 +0000 (22:08 +0000)]
Fix non-ASCII characters breaking LaTex documentation builds.
Dean Camera [Wed, 16 Feb 2011 21:00:46 +0000 (21:00 +0000)]
Added board driver support for the Sparkfun ATMEGA8U2 breakout board.
Dean Camera [Tue, 15 Feb 2011 20:32:51 +0000 (20:32 +0000)]
Add missing HID bootloader AVRStudio project.
Dean Camera [Sun, 13 Feb 2011 21:27:24 +0000 (21:27 +0000)]
Add more const-ness to the stream endpoint/pipe functions where possible.
Dean Camera [Sat, 12 Feb 2011 00:08:05 +0000 (00:08 +0000)]
Fix include path in the library RingBuffer.h header file.
Dean Camera [Fri, 11 Feb 2011 20:00:48 +0000 (20:00 +0000)]
Fix typos in the HID class bootloader makefile.
Dean Camera [Thu, 10 Feb 2011 17:55:49 +0000 (17:55 +0000)]
Add static keyword to all project globals whose scope should be restricted to the same module as they are declared in.
Tighten up the HID class bootloader code slightly, document that it currently exceeds 2KB of bootloader space for all models other than the Series 2 USB AVRs.
Dean Camera [Wed, 9 Feb 2011 22:48:31 +0000 (22:48 +0000)]
Fix errors in the hid_bootloader_cli.c program code.
Dean Camera [Wed, 9 Feb 2011 22:35:48 +0000 (22:35 +0000)]
Update HID bootloader loader application to support the VID/PID used by the bootloader.
Dean Camera [Wed, 9 Feb 2011 21:34:00 +0000 (21:34 +0000)]
Added HID class bootloader, compatible with a modified version of the command line Teensy loader from PJRC.com.
Dean Camera [Wed, 9 Feb 2011 18:22:17 +0000 (18:22 +0000)]
Add missing svn:eol-style properties to the new KeyboardMouseMultiReport demo.
Dean Camera [Wed, 9 Feb 2011 17:58:21 +0000 (17:58 +0000)]
Change bootloader makefiles to automatically compute the bootloader starting address from a flash size and bootloader section size, expressed in KB.
Dean Camera [Sun, 6 Feb 2011 18:03:29 +0000 (18:03 +0000)]
Oops - fix missing constants in the TempDataLogger FatFS diskio.h header file.
Add const to all project descriptor definitions for safety.
Dean Camera [Sun, 6 Feb 2011 17:04:39 +0000 (17:04 +0000)]
Tighten up the Bootloader GetDescriptor() function, as the descriptor size can be extracted from the header after the address has been found.
Dean Camera [Sun, 6 Feb 2011 15:17:46 +0000 (15:17 +0000)]
Update projects using FatFS and PetiteFatFS to the latest library versions.
Dean Camera [Sun, 6 Feb 2011 12:18:41 +0000 (12:18 +0000)]
Fix incorrect #include filenames in the RNDIS demos.
Dean Camera [Fri, 4 Feb 2011 18:17:31 +0000 (18:17 +0000)]
Fixed programming errors in the AVRISP-MKII project when the programming packet is a round multiple of the endpoint bank size under avrdude (thanks to Steffan Woltjer).
Dean Camera [Wed, 2 Feb 2011 15:31:45 +0000 (15:31 +0000)]
Fixed incorect BUTTONS_BUTTON1 definition for the Minimus board.
Dean Camera [Sun, 30 Jan 2011 23:12:06 +0000 (23:12 +0000)]
Renamed all driver termination *_ShutDown() functions to the more logical name *_Disable().
Dean Camera [Sun, 30 Jan 2011 22:42:24 +0000 (22:42 +0000)]
Oops - fix up some calls to the old function names, include Serial Peripheral driver in the RNDISEthernetHost project.
Dean Camera [Sun, 30 Jan 2011 21:02:31 +0000 (21:02 +0000)]
Renamed the PRNT_Host_SendString(), CDC_Host_SendString() and CDC_Device_SendString() functions to *_SendData(), and added new versions of the *_SendString() routines that expect a null terminated string instead.
Added new Serial_SendData() function to the Serial driver.
Dean Camera [Sun, 30 Jan 2011 19:47:31 +0000 (19:47 +0000)]
Removed SerialStream module, rolled functionality into the base USART Serial peripheral driver instead through the new Serial_CreateStream() and Serial_CreateBlockingStream() methods.
Renamed the Serial byte send/receive functions to remain consistent with the CDC driver's byte functions.
Altered the serial byte receive function to make it non-blocking.
Dean Camera [Sun, 30 Jan 2011 14:40:24 +0000 (14:40 +0000)]
Oops - forgot to add in LOGICAL MINIMUM and LOGICAL MAXIMUM report items into the standard library Joystick HID report descriptor macro. Add in support for joystick resolution reporting via PHYSICAL_MINIMUM and PHYSICAL_MAXIMUM items.
Dean Camera [Sun, 30 Jan 2011 14:14:04 +0000 (14:14 +0000)]
Add new HID_DESCRIPTOR_VENDOR() macro, change over all projects and Device ClassDriver demos to use it.
Fix reversed byte ordering of multi-byte HID data.
Added support to the HID parser for extended USAGE items that contain the usage page as well as the usage index.
Removed the HID_IOF_NON_VOLATILE and HID_IOF_VOLATILE flags from HID INPUT items where the flag is invalid. Changed over HID OUTPUT items to use HID_IOF_NON_VOLATILE.
Change over MagStripe project to use HID_DESCRIPTOR_KEYBOARD() for its HID report. Change over MouseHostDevice demo to use HID_DESCRIPTOR_MOUSE() for its HID report.
Dean Camera [Wed, 26 Jan 2011 21:33:07 +0000 (21:33 +0000)]
Added new KeyboardMouseMultiReport Device ClassDriver demo.
Fixed ReportID not being removed from the feature/out report data array in the HID class driver when Report IDs are used.
Added new MAX() and MIN() convenience macros.
Dean Camera [Sun, 23 Jan 2011 20:02:51 +0000 (20:02 +0000)]
Added new HID_DESCRIPTOR_MOUSE, HID_DESCRIPTOR_KEYBOARD and HID_DESCRIPTOR_JOYSTICK macros for easy automatic creation of basic USB HID device reports.
Dean Camera [Sun, 23 Jan 2011 17:41:16 +0000 (17:41 +0000)]
Change over Joystick demo HID report descriptor to use USAGE_MINIMUM and USAGE_MAXIMUM when describing the joystick buttons, to allow for easy extension of the number of supported buttons.
Dean Camera [Sat, 22 Jan 2011 17:48:06 +0000 (17:48 +0000)]
Changed AVRISP-MKII project to use the Watchdog interrupt for command timeouts, to reduce CPU usage and free timer 0 for other uses in the future.
Dean Camera [Mon, 17 Jan 2011 23:11:13 +0000 (23:11 +0000)]
Fixed incorrect definition of the HID_KEYBOARD_SC_RIGHT_ARROW constant in the HID class driver (thanks to Joby Taffey).
Add in newHID_KEYBOARD_SC_POWER keyboard scancode constant.
Dean Camera [Mon, 17 Jan 2011 19:44:48 +0000 (19:44 +0000)]
Abuse the the C preprocessor so that the HID macros can automatically encode data into the array from the HID macros automagically, by specifying the bit-width of the data, and the data itself as a single integer value of that width.
Dean Camera [Sun, 16 Jan 2011 23:13:54 +0000 (23:13 +0000)]
Fixed several functions in the Host mode Still Image Class driver returning an error code from the incorrect error code enum (thanks to Daniel Seibert).
Dean Camera [Sun, 16 Jan 2011 19:41:26 +0000 (19:41 +0000)]
Minor documentation corrections for the new HID report item constant defines.
Dean Camera [Sun, 16 Jan 2011 19:34:28 +0000 (19:34 +0000)]
New HID report item macros (with HID_RI_ prefix) to allow for easy creation and editing of HID report descriptors.
Changed over all project and demo HID report descriptors to use the new HID report item macros.
Moved the HIDParser.c source file to the LUFA/Drivers/USB/Class/Common/ directory from the LUFA/Drivers/USB/Class/Host/.
Dean Camera [Sun, 16 Jan 2011 16:13:22 +0000 (16:13 +0000)]
Added new ADC_GET_CHANNEL_MASK() convenience macro to the ADC driver.
Dean Camera [Thu, 13 Jan 2011 22:56:49 +0000 (22:56 +0000)]
Added new high level TWI packet read/write commands, altered behaviour of the TWI_StartTransmission() function.
Spell check source code files.
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.