Commit Graph

745 Commits

Author SHA1 Message Date
Dean Camera
940145ca6d Fix errors in the SingleUSBModeTest build test. Fix logic errors in USBMode.h. 2012-06-06 19:39:38 +00:00
Dean Camera
fab1678602 Fix typo in the UC3 host pipe driver. Improve library TAR export exclusion filetype filter. 2012-06-06 19:09:06 +00:00
Dean Camera
0d888458e1 Fix incorrect bank mask in Endpoint_ConfigureEndpoint() for the UC3 devices. 2012-06-02 19:34:10 +00:00
Dean Camera
5ce60f25e6 Ensure that USB_DEVICE_ONLY or USB_HOST_ONLY is properly set for devices that physically do not support a particular mode. Fix main LUFA library makefile default target. 2012-06-02 15:50:10 +00:00
Dean Camera
35564bb1a7 Fixed swapped Little Endian/Big Endian endpoint and pipe write code for the UC3 devices (thanks to Andrew Chu). 2012-05-26 16:02:20 +00:00
Dean Camera
f235021abe Fix incorrect definition for the XMEGA Endpoint_BytesInEndpoint() function when used on OUT endpoints. 2012-05-26 15:06:00 +00:00
Dean Camera
b181cf4fb8 Minor documentation improvements. 2012-05-20 15:35:01 +00:00
Dean Camera
82162c710c Additional fixes to the MIDI host driver due to not unfreezing/re-freezing pipes correctly (thanks to Michael Brown). 2012-05-20 13:04:26 +00:00
Dean Camera
f2ae4dc255 Upgrade Doxygen configuration files for Doxygen 1.8.1, fix broken stylesheet and footer HTML, add explicit spacing into documentation code fragments to prevent Doxygen from removing empty lines in the output. 2012-05-20 10:55:59 +00:00
Dean Camera
c9b3468f1e Add missing CPPCheck unusedFunction check suppressions on the USB template functions. 2012-05-19 22:14:06 +00:00
Dean Camera
380f014c4c Added build test to verify correct compilation of all bootloaders using all supported devices.
Fixed compile error with the unreleased ATMEGA32U6 device.
2012-05-13 13:06:11 +00:00
Dean Camera
e5a7fa201e Add support for the ATXMEGA384C3. 2012-05-07 17:40:52 +00:00
Dean Camera
1007317c5f Fixed broken MIDI host driver MIDI_Host_ReceiveEventPacket() function due to not unfreezing the MIDI data IN pipe before use (thanks to Michael Brown). 2012-05-06 11:11:33 +00:00
Dean Camera
0e434c8f8f Add additional preprocessor sanity checks for the XMEGA platform based on the USB controller input clock speed. 2012-05-05 19:46:20 +00:00
Dean Camera
2d98e5499b Fixed possible deadlock in the CDC device driver if the USB connection is dropped while the CDC_REQ_SetLineEncoding control request is being processed by the stack (thanks to Jonathan Hudgins). 2012-05-05 19:43:06 +00:00
Dean Camera
46d511c021 Fixed incorrect DFU version number reported to the host in the DFU bootloader descriptors. Fixed incorrect version hundredths value encoding in VERSION_BCD() macro (thanks to Georg Glock). 2012-05-05 15:25:27 +00:00
Dean Camera
e875d7cf9f Changed MIDI event structure MIDI_EventPacket_t to use a single field for the combined virtual cable index and command ID, to prevent bitfield packing issues on some architectures (thanks to Darren Gibbs). 2012-04-25 18:28:56 +00:00
Dean Camera
c0841d98c5 Fixed incorrect reponse to GET STATUS requests in device mode if NO_DEVICE_SELF_POWER or NO_DEVICE_REMOTE_WAKEUP tokens are defined (thanks to Georg Glock). 2012-04-15 13:34:11 +00:00
Dean Camera
47f6a35013 Reintegrate the FullEPAddresses development branch into trunk. 2012-04-14 14:41:17 +00:00
Dean Camera
8f4f48d963 Add architecture guards to all architecture-specific files, so that they can be bulk-added to existing IDE projects without having to exclude unused architecture files. 2012-04-07 17:01:46 +00:00
Dean Camera
1cc62c9282 Oops - typos in alterations to HID_DESCRIPTOR_JOYSTICK(). 2012-03-29 19:52:18 +00:00
Dean Camera
b3aaffb792 Removed variable axis support from the HID_DESCRIPTOR_JOYSTICK() macro due to OS incompatibilities, replaced with fixed 3-axis joystick report structure. 2012-03-29 19:41:05 +00:00
Dean Camera
00b6b0140f Re-enable cppcheck static analysis unused function checks after adding in special-case suppressions to the event stub functions. Add missing function prototypes to the AudioInput and AudioOutput class driver device demos. 2012-03-25 12:12:08 +00:00
Dean Camera
f87aec2264 Fixed incorrect call to the user callback CALLBACK_Audio_Device_GetSetInterfaceProperty() in the Audio Class device driver (thanks to Tiit Ratsep). 2012-03-15 19:11:26 +00:00
Dean Camera
77adb2ba52 Audio Device Class driver changed to also require the index of the Audio Control interface within the device, for SET/GET/CUR/MIN/MAX/RES property adjustments. 2012-03-14 22:12:40 +00:00
Dean Camera
17f104cbe8 Fixed compile error for the UC3 architecture when INTERRUPT_CONTROL_ENDPOINT is specified (thanks to Andrus Aaslaid). 2012-03-06 14:50:59 +00:00
Dean Camera
8a9e30a0cb Fixed possible enumeration error if the user application selects the non-Control pipe between the Powered and Default states of the host state machine. 2012-02-26 15:01:36 +00:00
Dean Camera
0456dfeb88 Update main library documentation organisation for Doxygen 1.8.0. 2012-02-25 17:07:33 +00:00
Dean Camera
e406140f11 Minor documentation fixes - change \note entries to \warning where appropriate and remove/update old documentation. 2012-02-24 20:25:36 +00:00
Dean Camera
4068efbd18 Remove potentially unaligned uint32_t access in HIDParser.c, replace with standard C bit shifts. 2012-02-20 18:47:25 +00:00
Dean Camera
84ff878fd7 Fix errors uncovered by the new build test compile warnings; fix UC3 pipe configuration function broken, redundant function prototypes and unused parameters. 2012-02-19 15:26:42 +00:00
Dean Camera
50ff97f378 All USB Class Driver configuration struct values are now non-const, to allow for run-time modifications if required before configuring an instance. 2012-02-19 15:24:05 +00:00
Dean Camera
1132488e8f Add build tests to verify correct compilation of as many modules as possible under as many architectures as possible.
Fix broken compilation of LUFA under C++ compilers when the Serial peripheral module header file is included in a C++ source file.

Fix missing semicolon in the UC3 architecture host pipe functions.

Fix failed compilation for the XMEGA architecture if USB_DEVICE_ONLY us not specified.
2012-02-18 23:33:12 +00:00
Dean Camera
82fdedc192 Minor documentation improvements. 2012-02-11 22:35:06 +00:00
Dean Camera
81bd8f2f83 Clean up the Audio Device class driver control request Endpoint match logic. 2012-02-11 20:39:33 +00:00
Dean Camera
2180f57d17 Altered the HID class driver to only try to construct at maximum one packet per USB frame, to reduce CPU usage. 2012-02-09 20:30:27 +00:00
Dean Camera
385ffb6de3 Fix XMEGA architecture not correctly resetting the device address and endpoints in response to a USB bus reset from the host. 2012-02-09 20:27:03 +00:00
Dean Camera
c60897df39 Allow serial strings to be generated on the older AVR8 devices which do not explicitly state they contain unique values in the datasheet, as this appears to be implemented in hardware. 2012-02-08 18:35:16 +00:00
Dean Camera
fdab3aef86 Add (still preliminary) support for the ATXMEGA64A4 and ATXMEGA128A4. Fix minor error in the AVRISP-MKII clone project descriptors. 2012-02-05 21:59:35 +00:00
Dean Camera
a677254026 Added INVERTED_VBUS_ENABLE_LINE and NO_AUTO_VBUS_MANAGEMENT compile time options (thanks to Opendous Inc.). 2012-02-05 15:19:01 +00:00
Dean Camera
f1b6ddb710 Update file contributor copyrights for 2012. 2012-02-04 22:38:44 +00:00
Dean Camera
2c806f6cee Update file header copyrights for 2012. 2012-02-04 22:32:30 +00:00
Dean Camera
64e9361298 Minor corrections to the XMEGA USB controller implementation. 2012-02-04 22:16:34 +00:00
Dean Camera
a436fbb612 Minor documentation improvements. 2012-02-02 20:17:22 +00:00
Dean Camera
fc4d3ab400 Minor documentation improvements. 2012-02-01 21:28:25 +00:00
Dean Camera
a147cee95f Added new CALLBACK_Audio_Device_GetSetInterfaceProperty() callback to the Audio Device Class driver. 2012-01-28 18:07:35 +00:00
Dean Camera
3038ea1c6e USB_CONFIG_ATTR_BUSPOWERED constant renamed to USB_CONFIG_ATTR_RESERVED, as this was misnamed (thanks to NXP Semiconductors). 2012-01-02 05:43:23 +00:00
Dean Camera
f201f6697b Run wspurify script on /trunk/ and /branches/ C source files, to remove any trailing whitespace at the end of each line. 2011-12-23 01:51:39 +00:00
Dean Camera
676de74d9b Don't validate the Device Descriptor's vendor ID when validating that a device is an Android Accessory device; the Product ID and (later) Accessory protocol support is enough to probe AOA class support without having to maintain a list of Android device manufacture VID values. 2011-12-14 02:52:42 +00:00
Dean Camera
84a739ae72 Minor XMEGA USB driver fixes. 2011-12-13 03:40:51 +00:00
Dean Camera
ec3e47a7d0 Change PIPE_PIPENUM_MASK from 0x07 to the more generic 0x0F to allow for full pipe address support in USB host architectures other than the current AVR8 devices. Minor documentation improvements. 2011-12-11 03:04:16 +00:00
Dean Camera
0c59d5993e Altered the Mass Storage Host class driver so that SCSI data STALLs from the attached device can be recovered from automatically without having to reset the Mass Storage interface.
Altered the Mass Storage Host LowLevel demo so that SCSI data STALLs from the attached device can be recovered from automatically without having to reset the Mass Storage interface.
2011-12-01 08:39:43 +00:00
Dean Camera
70f3d8e933 Add support for the Paranoid Studio USB2AX boards (hardware revisions 1-3). 2011-11-28 23:43:58 +00:00
Dean Camera
cdd4e11fa8 Oops - fix incorrect value of AOA_CSCP_AOADataSubclass in the Android Open Accessory class driver. 2011-11-24 21:35:22 +00:00
Dean Camera
38d7cdf803 Minor Doxygen documentation improvements.
Add missing ATTR_NON_NULL_PTR_ARG and const decorations.
2011-11-24 11:59:52 +00:00
Dean Camera
3b99abb5fc Add new USB_Host_GetDescriptor() function. Alter the USB_Host_GetDeviceDescriptor() and USB_Host_GetDeviceStringDescriptor() convenience functions so that they wrap the new function. 2011-11-24 11:46:04 +00:00
Dean Camera
e915d968a5 Added new USB_Host_GetDeviceConfiguration() and USB_Host_GetInterfaceAltSetting() functions. 2011-11-24 11:33:10 +00:00
Dean Camera
7f8dbb4908 Convert the LowLevel AndroidAccessory demo to use the new class driver constants to reduce code duplication.
Add missing Doxygen documentation.
2011-11-24 01:31:31 +00:00
Dean Camera
8b5aa61601 Add new Android Open Accessory class driver to the library core and add a new Android Open Accessory Host ClassDriver demo. 2011-11-24 01:24:01 +00:00
Dean Camera
09577fe541 Add XMEGA compile time tokens to the LUFAConfig.h code template.
Add additional compile time errors to the XMEGA and AVR8 architectures if multiple USE_*_DESCRIPTORS compile time tokens are enabled.

Add support for the NO_INTERNAL_SERIAL compile time token on the XMEGA targets.
2011-11-23 00:04:16 +00:00
Dean Camera
b711b7d6a4 Fixed broken AVR32 endpoint/pipe communications when ORDERED_EP_CONFIG compile time option is not enabled (thanks to Matthias).
Fixed broken compilation for the AVR32 devices if the NO_SOF_EVENTS compile time option was not enabled (thanks to Matthias).
2011-11-22 08:06:52 +00:00
Dean Camera
eb2e883fd3 Added Class, ClassDevice, ClassHost and ClassCommon to the internal class driver source filenames to prevent ambiguities. 2011-11-18 06:26:51 +00:00
Dean Camera
3e04487279 Fixed misspelled HID_KEYBOARD_MODIFIER_* macros in the HID class driver (thanks to Laszlo Monda). 2011-11-16 08:19:34 +00:00
Dean Camera
dc09ccab8b Minor corrections for the XMEGA USB controller. Add compile time warning if the USB clock frequency is provably incorrect. 2011-11-14 07:31:40 +00:00
Dean Camera
8df0cf3241 Fixed race conditions in the CDC, HID and Mass Storage class drivers when processing some control requests. 2011-11-09 12:29:14 +00:00
Dean Camera
cb7f7a8241 Fix XMEGA core USB driver endpoint code to prevent incorrect STALL determination. 2011-11-01 06:05:54 +00:00
Dean Camera
7992202603 Add support for the new MEGA B series devices. 2011-10-31 03:39:12 +00:00
Dean Camera
00ad509061 Add support for the Atmel XMEGA A3BU Xplained board.
More XMEGA USB core fixes.
2011-10-31 03:31:00 +00:00
Dean Camera
0304916356 Fix XMEGA core USB driver so that device mode enumerates correctly on the host PC. 2011-10-31 02:26:21 +00:00
Dean Camera
1e0c3bc69a Namespace out the internal endpoint globals in the XMEGA architecture. 2011-10-30 14:05:34 +00:00
Dean Camera
fe87b8a225 Update ENDPOINT_EPNUM_MASK to be 0x0F, the maximum possible USB endpoint number within a device, rather than just the maximum number for the AVR8 and UC3 targets of 0x07. 2011-10-30 14:04:47 +00:00
Dean Camera
72717825e5 Namespace out the internal endpoint and pipe globals in the UC3 architecture. 2011-10-30 14:03:53 +00:00
Dean Camera
b714ffbfa0 Update XMEGA clock management so that the correct 16-bit calibration is used when requested. Fix endpoint descriptor table so that the frame number is stored into the correct location. Add compile time option to source the USB clock from the PLL rather than the internal 32MHz RC oscillator. 2011-10-30 12:06:02 +00:00
Dean Camera
ab43251bf9 Minor documentation fixes. 2011-10-30 07:09:44 +00:00
Dean Camera
028a3c4ab3 XMEGA port improvements; connection and disconnection are now detected correctly. Fixed incorrect interrupt priority levels being set for XMEGA devices. 2011-10-30 07:09:20 +00:00
Dean Camera
f1543ae8ff Fixed CDC class drivers not saving and sending all 16-bits of the control line states (thanks to Matthew Swabey). 2011-10-26 06:51:07 +00:00
Dean Camera
bc14c1a7f6 Update XMEGA platform clock management example code to suit the currently released silicon.
Cleanups to the UC3 endpoint/pipe multi byte read code.
2011-10-25 04:28:22 +00:00
Dean Camera
c15eaa5dae When automatic PLL management mode is enabled on the U4 series AVR8 chips, the PLL is now configured for 48MHz and not a divided 96MHz, to lower power consumption and to keep the system within the datasheet specs for 3.3V operation (thanks to Scott Vitale). 2011-10-12 02:27:22 +00:00
Dean Camera
68e777e16b Prevent written but unused variable warnings on GCC 4.6 with dummy reads. 2011-10-09 12:54:50 +00:00
Dean Camera
a4d67bb6ff USB XMEGA support improvements; add DFLL clock platform support, ensure the endpoint table is correctly aligned and configured in the USB controller. 2011-10-07 05:52:35 +00:00
Dean Camera
6553bf5bfb Fix incorrect function call name in USB_Host_SendControlRequest() for AVR8 devices. 2011-10-07 04:38:53 +00:00
Dean Camera
2ae41fb153 Added endian-correction to the CDC driver's Line Encoding control request handlers. 2011-10-07 03:47:42 +00:00
Dean Camera
3bb8055459 Fix compile errors for the USB XMEGA parts when the USB driver is used.
Add core support for the ATXMEGA64A1U.

Minor documentation corrections.
2011-10-04 11:40:55 +00:00
Dean Camera
3223786c49 Fix compile error on the UC3 targets when INTERRUPT_CONTROL_ENDPOINT compile time option is used (thanks to Ian Woloschin).
Small size improvement for Little Endian devices when USB host mode is used.

Minor documentation fixes.
2011-09-28 13:24:08 +00:00
Dean Camera
77dbfd3cc4 Add missing "used" attribute to ATTR_INIT_SECTION to ensure functions declared with that meta-attribute are not discarded by the linker.
Add missing function and definition documentation.
2011-09-22 05:55:32 +00:00
Dean Camera
022fa26b43 Fix missing C++ linkage command in ArchitectureSpecific.h.
Fix missing closing brace in an Endpoint function for the UC3 targets.
2011-09-21 23:40:05 +00:00
Dean Camera
99ff27e403 Fixed HID Parser's largest report size bit count not including the size of the last parsed report item.
Fixed HID host driver's largest HID report size count corrupt when the number of report bits exceeds 255.
2011-09-17 13:07:21 +00:00
Dean Camera
4b229cb5ef Fixed optimization error in the HID Parser item value USB_SetHIDReportItemInfo() and USB_GetHIDReportItemInfo() routines if the report item was NULL (which should be allowable according to the API).
Fixed HID Parser CALLBACK_HIDParser_FilterHIDReportItem() callback function not being passed a cacheable report item pointer.
2011-09-07 10:18:49 +00:00
Dean Camera
94e0a0058a Oops - restore conditional calls to USB_USBTask() in the Mass Storage class driver for the non-stream loops. 2011-09-05 22:22:19 +00:00
Dean Camera
dc9133ad21 Move documentation for the USB_HOST_TIMEOUT_MS into the HostStandardReq module where it is used. 2011-08-28 03:44:22 +00:00
Dean Camera
3b898ae178 Remove redundant prototype for Audio_Host_StartStopStreaming() and Audio_Host_GetSetEndpointProperty(). Update host mode Audio class inline functions to prevent unused parameter warnings. 2011-08-28 01:40:36 +00:00
Dean Camera
a233109909 Renamed USB_Host_ClearPipeStall() to USB_Host_ClearEndpointStall() as the function works on an endpoint address within the attached device, and not a Pipe within the host.
Updated MS_Host_ResetMSInterface() to now perform a full Mass Storage reset sequence to prevent data corruption in the event of a device lock up or timeout (thanks to David Lyons).

Add parenthesis around the library Endianness macros that do nothing on a particular architecture to prevent operator precedence issues depending on usage.

Minor documentation corrections.
2011-08-24 09:50:21 +00:00
Dean Camera
cff190b8f4 Minor documentation fixes.
Add extra parenthesis around terms in the common MIN() and MAX() macros to prevent issues with non-trivial macro inputs (thanks to David Lyons).
2011-08-23 10:39:04 +00:00
Dean Camera
2d9f98b592 Add multiple axis support to the HID joystick report in the HID_DESCRIPTOR_JOYSTICK() macro. 2011-08-23 07:07:34 +00:00
Dean Camera
40728fd20d Remove redundant calls to USB_USBTask() in the Mass Storage Device Class driver when INTERRUPT_CONTROL_ENDPOINT is not used, as this is done inside the stream callbacks.
Fix implementations of Endpoint_SetEndpointDirection() and Endpoint_GetEndpointDirection() for the AVR8 architecture.
2011-07-29 08:12:00 +00:00
Dean Camera
d5e874d348 Add INTERRUPT_CONTROL_ENDPOINT compile time option support for the UC3 devices. 2011-07-25 09:56:21 +00:00
Dean Camera
5c274d106b Fixed USB_USBTask not being called internally in stream transfers between packets when Partial Stream Transfers are used.
Remove old unused function prototype in the LowLevel MassStorage device demo.
2011-07-25 01:11:24 +00:00
Dean Camera
110711598a Removed the ENDPOINT_DESCRIPTOR_DIR_* macros in favour of the shorter ENDPOINT_DIR_* macros, which can now be used with both Endpoint_ConfigureEndpoint() and in the device descriptors. 2011-07-19 07:02:19 +00:00
Dean Camera
2c404e5af5 Add support for the ORDERED_EP_CONFIG compile time token on the UC3 architecture. 2011-07-19 02:42:27 +00:00
Dean Camera
69243c5071 Move out the EP_TYPE_* macros to the base USBController.h header, as these are used in the device descriptors as well and thus must not be changed. 2011-07-19 02:15:36 +00:00