Dean Camera
86be7f9330
Fix incorrect Doxygen grouping in the incomplete AVR32 UC3B architecture port.
2011-02-20 18:27:09 +00:00
Dean Camera
3a00e41639
Make sure the peripheral driver .c files include the driver dispatch header, rather than the architecture specific header files.
2011-02-20 18:23:09 +00:00
Dean Camera
b6a3c78fa3
Rename architecture specific driver files, to make them appear with uniquely identifying filenames in the documentation.
2011-02-20 18:21:04 +00:00
Dean Camera
cad5e9ffca
Added start of a port of the core USB driver code to the AVR32 UC3B architecture.
2011-02-20 17:53:17 +00:00
Dean Camera
f3ec62b5c6
More updates to remove architecture-specific comments from the documentation, alter USBMode.h preprocessor logic to support future architectures more easily.
2011-02-20 14:43:13 +00:00
Dean Camera
28a1ee29a1
More Doxygen updates for multiple architecture support.
2011-02-20 14:07:20 +00:00
Dean Camera
5e73190582
Start update of documentation to support possible multiple architectures in the future - alter \file documentation to automatically copy in the module documentation where possible.
2011-02-20 13:08:29 +00:00
Dean Camera
1daa5e16f9
Initial restructuring of the core USB driver module to support multiple architectures in the future.
2011-02-19 22:59:27 +00:00
Dean Camera
3832182fe1
Fix documentation glitches from the restructuring changes.
2011-02-19 18:53:30 +00:00
Dean Camera
e0a3f26978
Move out Dataflash IC command constants headers into the general LUFA/Drivers/Misc/ directory rather than duplicating them inside the individual board driver folders.
2011-02-19 18:45:50 +00:00
Dean Camera
3d4d8e7f62
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.
2011-02-19 18:37:22 +00:00
Dean Camera
100a197d0e
Reduced latency for executing the Start-Of-Frame events (if enabled in the user application).
2011-02-19 12:09:55 +00:00
Dean Camera
4344b0621d
Added board driver support for the Sparkfun ATMEGA8U2 breakout board.
2011-02-16 21:00:46 +00:00
Dean Camera
0019fbd129
Add more const-ness to the stream endpoint/pipe functions where possible.
2011-02-13 21:27:24 +00:00
Dean Camera
272d446d32
Fix include path in the library RingBuffer.h header file.
2011-02-12 00:08:05 +00:00
Dean Camera
782614dbb5
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.
2011-02-10 17:55:49 +00:00
Dean Camera
73718d7c57
Fixed incorect BUTTONS_BUTTON1 definition for the Minimus board.
2011-02-02 15:31:45 +00:00
Dean Camera
43b9d552bb
Renamed all driver termination *_ShutDown() functions to the more logical name *_Disable().
2011-01-30 23:12:06 +00:00
Dean Camera
43c4735305
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.
2011-01-30 21:02:31 +00:00
Dean Camera
afd828c095
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.
2011-01-30 19:47:31 +00:00
Dean Camera
30f6d2bfd8
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.
2011-01-30 14:40:24 +00:00
Dean Camera
e6dc951630
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.
2011-01-30 14:14:04 +00:00
Dean Camera
a852ea8e43
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.
2011-01-26 21:33:07 +00:00
Dean Camera
6c7ed7ecd6
Added new HID_DESCRIPTOR_MOUSE, HID_DESCRIPTOR_KEYBOARD and HID_DESCRIPTOR_JOYSTICK macros for easy automatic creation of basic USB HID device reports.
2011-01-23 20:02:51 +00:00
Dean Camera
ef44b8c036
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.
2011-01-17 23:11:13 +00:00
Dean Camera
efd57cfe51
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.
2011-01-17 19:44:48 +00:00
Dean Camera
47fec03694
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).
2011-01-16 23:13:54 +00:00
Dean Camera
787869c2fd
Minor documentation corrections for the new HID report item constant defines.
2011-01-16 19:41:26 +00:00
Dean Camera
039a714ee4
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/.
2011-01-16 19:34:28 +00:00
Dean Camera
32830a2b82
Added new ADC_GET_CHANNEL_MASK() convenience macro to the ADC driver.
2011-01-16 16:13:22 +00:00
Dean Camera
70d55f6e0c
Added new high level TWI packet read/write commands, altered behaviour of the TWI_StartTransmission() function.
...
Spell check source code files.
2011-01-13 22:56:49 +00:00
Dean Camera
187ccb2e15
Fix typos and outdated information.
2011-01-10 21:53:38 +00:00
Dean Camera
154f934b22
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.
2011-01-10 18:56:34 +00:00
Dean Camera
f555ad7ced
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).
2011-01-10 18:43:34 +00:00
Dean Camera
477a2047f4
Oops - fix type preventing compilation of demos using the class drivers.
2011-01-08 15:54:57 +00:00
Dean Camera
7dc3d3a68f
Minor documentation improvements.
2011-01-08 11:47:20 +00:00
Dean Camera
d126146887
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.
2011-01-08 00:54:30 +00:00
Dean Camera
a49b5bfd8a
Update Doxygen documentation configuration file for the main project documentation to the latest version. Add missing data structure documentation briefs.
2011-01-03 20:13:06 +00:00
Dean Camera
1d433d4506
Update copyright year on all source files.
2011-01-01 13:00:56 +00:00
Dean Camera
b8fd4dd51c
Fixed incorrect byte ordering in the Audio_Device_WriteSample24 function (thanks to WZab).
2010-12-31 15:03:57 +00:00
Dean Camera
64fe1cd0b2
Rename RingBuffer header functions and typedefs from RingBuff_* to RingBuffer_* so that it matches the header name.
2010-12-31 14:47:20 +00:00
Dean Camera
cb9ef559a0
Fixed inverted Minimus board LEDs.
2010-12-28 22:07:31 +00:00
Dean Camera
6026b9128b
Fix compile errors from the changes to the SerialStream and board Temperature drivers.
2010-12-26 15:44:10 +00:00
Dean Camera
c05e7cd7d9
More minor documentation corrections.
2010-12-26 15:09:27 +00:00
Dean Camera
a8b66f318d
Documentation improvements - put driver example code into its own section, fix incorrect and missing section names.
2010-12-26 14:55:26 +00:00
Dean Camera
2073b96d82
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.
2010-12-26 14:25:34 +00:00
Dean Camera
39ac72f2d1
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.
2010-12-26 13:01:37 +00:00
Dean Camera
bfa622d27e
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.
2010-12-24 18:06:55 +00:00
Dean Camera
ec537fd84d
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.
2010-12-24 17:05:41 +00:00
Dean Camera
0aa950c241
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.
2010-12-13 06:05:05 +00:00
Dean Camera
b20d25854d
Fixed HID hpst class driver incorrectly binding to HID devices that do not have an OUT endpoint.
2010-12-02 04:28:53 +00:00
Dean Camera
ed9d77aeee
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.
2010-12-02 01:56:06 +00:00
Dean Camera
c879887dce
Fixed broken HID_REQ_GetReport request handler in the Low Level GenericHID demo.
2010-11-29 03:01:31 +00:00
Dean Camera
b87d0b45a2
Added board hardware driver support for the Microsin AVR-USB162 development board.
2010-11-21 10:34:15 +00:00
Dean Camera
55da77d85f
Remove internal USB_Device_NibbleToASCII() function in favour of manually inlined code to prevent compilation errors in -O0 optimisation level.
2010-11-21 10:16:44 +00:00
Dean Camera
8f981b5f38
Better documentation for the ANSI terminal escape codes header.
...
Organise the current version changelog better to group core and non-core changes together.
2010-11-17 06:34:04 +00:00
Dean Camera
0ce2950d81
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).
2010-11-08 03:41:48 +00:00
Dean Camera
210bd4db24
Fix documentation reference error.
2010-11-05 05:26:00 +00:00
Dean Camera
fb76acb084
Renamed the EVENT_USB_Device_UnhandledControlRequest() event to EVENT_USB_Device_ControlRequest() as it is now fired before the library request handlers, not afterwards.
2010-11-05 05:15:20 +00:00
Dean Camera
85cf202737
Fixed USBtoSerial and XPLAINBridge demos discarding data from the PC if the send buffer becomes full.
2010-11-03 11:24:34 +00:00
Dean Camera
8f9b5ae00d
Minor documentation improvements.
2010-11-03 06:50:02 +00:00
Dean Camera
ee495ca500
Fixed MIDI class driver send routines silently discarding packets if the endpoint or pipe is busy (thanks to Robin Green).
2010-11-03 03:20:08 +00:00
Dean Camera
5ce8380a7d
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).
2010-11-02 11:16:36 +00:00
Dean Camera
46f2e488b0
Oops - typos in the naming of the NBUSYBK0 bits breaking the new busy bank counting functions.
2010-10-29 06:50:56 +00:00
Dean Camera
cd57e855f6
Added new Pipe_GetBusyBanks(), Endpoint_GetBusyBanks() and Endpoint_AbortPendingIN() functions.
2010-10-29 06:22:03 +00:00
Dean Camera
b8dfa976ce
Added standard keyboard HID report scancode defines (thanks to László Monda).
2010-10-28 23:11:49 +00:00
Dean Camera
2d49c09b38
Move Set Feature and Clear Feature control request feature selector values into their own enum.
2010-10-28 22:51:03 +00:00
Dean Camera
b120c4e4cd
Move RNDISConstants.h into the RNDIS class driver common definition header.
...
Add logical grouping of related #define values for better Doxygen documentation.
2010-10-28 07:52:52 +00:00
Dean Camera
cb779e3d7d
Changed over www.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.
2010-10-28 06:08:58 +00:00
Dean Camera
710f31c540
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.
2010-10-27 07:23:51 +00:00
Dean Camera
08de757811
Changed AudioInput and AudioOutput demos to reload the next sample via an interrupt rather than polling the sample timer.
2010-10-26 06:52:09 +00:00
Dean Camera
55538dcef3
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.
2010-10-25 12:42:55 +00:00
Dean Camera
b37d77eab3
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.
2010-10-24 22:53:57 +00:00
Dean Camera
8f3bee7d86
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.
2010-10-24 12:25:34 +00:00
Dean Camera
5517f96e86
Oops - fix broken SPI driver due to missing bit inversion on a port mask.
2010-10-20 08:08:59 +00:00
Dean Camera
06f222b3ed
Added board hardware driver support for the Minimus board (thanks to the PSGroove team).
2010-10-17 23:14:03 +00:00
Dean Camera
9aa94fee81
Oops - add missing Maximus board LED hardware driver file.
2010-10-17 23:08:53 +00:00
Dean Camera
b4a02fa29d
Added board hardware driver support for the Maximus board (thanks to the PSGroove team).
2010-10-17 23:06:50 +00:00
Dean Camera
cb298295fb
Added board hardware driver support for the Blackcat USB JTAG board (thanks to the PSGroove team).
2010-10-17 23:00:23 +00:00
Dean Camera
9464fa168e
Renamed ENDPOINT_DOUBLEBANK_SUPPORTED() to ENDPOINT_BANKS_SUPPORTED() and changed it to return the maximum number of supported banks for the given endpoint.
2010-10-13 21:05:55 +00:00
Dean Camera
31daf04c6a
Fix SoftUART.c not compiling due to accidental check in of changes not yet complete in the rest of the XPLAINBridge project code.
2010-10-13 14:23:23 +00:00
Dean Camera
5a4def7478
Clean up excessive whitespace at the end of each line using the wspurify tool made by Laszlo Monda
2010-10-13 14:05:35 +00:00
Dean Camera
a8871c7fba
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.
2010-10-12 13:52:06 +00:00
Dean Camera
7aaced1e8b
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().
2010-10-12 12:22:11 +00:00
Dean Camera
c1cfffd8eb
Fixed random enumeration failure while in device mode due to interrupts causing the Set Address request to exceed maximum timings.
2010-10-12 11:27:15 +00:00
Dean Camera
292a631b62
Added new NO_SOF_EVENTS compile time option, enabled in the bootloaders to reduce the compiled binary size.
2010-10-07 11:55:20 +00:00
Dean Camera
ccc82ce745
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.
2010-10-06 12:40:20 +00:00
Dean Camera
accadba2dd
Fixed SPI driver not explicitly setting /SS and MISO pins as inputs when SPI_Init() is called.
2010-10-06 11:51:53 +00:00
Dean Camera
3ae9e6042f
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.
2010-10-06 10:16:02 +00:00
Dean Camera
c8942ef469
Fixed LowLevel JoystickHostWithParser demo not saving the chosen HID interface's report descriptor size.
...
Simplified low level Host demo configuration descriptor parser routines.
2010-10-01 12:01:54 +00:00
Dean Camera
d06febbb59
Fix device mode for the U4 parts.
2010-10-01 11:22:24 +00:00
Dean Camera
383d167125
Whitespace corrections.
...
Make Printer Host mode Class driver interface descriptor search routine pre-cast the current interface descriptor to simplify the value checks.
2010-10-01 00:11:32 +00:00
Dean Camera
a1e453e900
Make Host mode Class drivers only set the class driver instance's state values once a compatible interface has been found within the device.
2010-09-30 23:23:05 +00:00
Dean Camera
86367574e6
Fix incorrectly named configuration descriptor callback routines in the host mode class drivers.
...
Fix typo in MIDI low level device demo.
2010-09-30 08:07:29 +00:00
Dean Camera
7166c7ba3e
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.
2010-09-30 07:56:47 +00:00
Dean Camera
158afe9109
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.
2010-09-30 06:23:38 +00:00
Dean Camera
a509729b2d
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.
2010-09-29 13:56:52 +00:00
Dean Camera
c0e4f52e8f
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.
2010-09-28 14:59:16 +00:00
Dean Camera
25d896a507
Added board hardware driver support for the Arduino Uno development board.
...
Fixed incorrect LEDs_ChangeLEDs() function in the Benito board LED driver.
2010-09-28 14:30:26 +00:00
Dean Camera
713670043a
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.
2010-09-28 12:14:06 +00:00