Commit Graph

854 Commits

Author SHA1 Message Date
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 9d2e7aeff4 Add missing file Subversion EOL-style properties. 2012-02-13 20:13:35 +00:00
Dean Camera 7a8b038687 Fix Dataflash driver for the XMEGA-B1 XPLAINED - the Dataflash is connected to the USART module, but requires physical port remapping. 2012-02-13 19:59:31 +00:00
Dean Camera 01a80df6c2 Minor documentation improvements. 2012-02-12 20:47:57 +00:00
Dean Camera 5051df08d7 Minor documentation improvements. 2012-02-12 20:39:57 +00:00
Dean Camera 09d2be0dc1 Add new Master SPI Mode USART serial peripheral driver for the XMEGA and AVR8 architectures.
Modify board Dataflash drivers so that each individual board is responsible for including the correct peripheral driver (SPI or SerialSPI) based on the board connections to the Dataflash chip.

Complete A3BU-XPLAINED and B1-XPLAINED board Dataflash drivers.
2012-02-12 20:34:33 +00:00
Dean Camera f45d60f768 Added Serial USART peripheral driver for the XMEGA platform.
Fix XMEGA SPI peripheral driver's incorrect const-ness on the SPI peripheral struct.
2012-02-12 11:48:24 +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 a2d18e46f8 Update XMEGA board drivers to use the port inversion feature of the XMEGA architecture rather than performing the inversion in software. Add partially completed XMEGA-B1-XPLAINED Dataflash board driver and revert implementation of the XMEGA-A3BU-XPLAINED Dataflash driver as the chip is connected to the USART, not the SPI interface. 2012-02-09 20:26:13 +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 1482f77826 Oops - XMEGA-B1 Xplained LEDs are on PORTB and PORTE, not PORTF and PORTE. 2012-02-06 17:10:42 +00:00
Dean Camera 4d131de85b Add board driver support for the Atmel XMEGA-B1 Xplained board.
Fix Dataflash driver for the A3BU-Xplained board.

Minor documentation improvements.
2012-02-06 17:05:33 +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 da676f0f70 Add support for the Micropendous (Arduino-like) series of boards (revisions 1 and 2). 2012-02-05 15:50:09 +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 e55946f972 Add missing svn:eol-style properties to /trunk/. 2012-02-04 23:00:22 +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 3dacb73af3 Fix errors in the new Micropendous board drivers. Reorder the board definition macro indexes so that misspelled board names default to BOARD_USER rather then BOARD_USBKEY. 2012-02-03 21:10:07 +00:00
Dean Camera 10a56f6105 Add support for the Micropendous series of USB AVR8 boards. 2012-02-03 20:20:11 +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 5563da6a62 Added new LEDs_Disable(), Buttons_Disable() and Joystick_Disable() functions to the board hardware drivers. 2012-01-29 14:33:36 +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 154d28e39f Fixed incorrect implementation of LEDs_ToggleLEDs() for the Adafruit-U4 board (thanks to Caroline Saliman). 2011-12-26 13:23:43 +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 259a3c9854 Fix typo in the Joystick board driver documentation example code. 2011-11-29 11:31:00 +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 2b23318357 Add dummy board documentation nodes for the XPLAIN_REV1 and TEENSY2 meta board targets. 2011-11-28 13:15:27 +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 a81ccd83fd Added support for version 2 of the Teensy boards (thanks to Christoph Redecker). 2011-11-23 00:15:58 +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 e30be658c9 Add missing SVN eol-style property to ensure that source code line endings and converted to the native values on checkout. 2011-11-09 23:35:16 +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 0ad6f1fb53 Add partial support for the Atmel A3BU Xplained's Dataflash IC (physical USART-as-SPI transport driver still pending). 2011-11-01 06:06:41 +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 139c1afeeb Add XMEGA SPI peripheral driver. 2011-10-31 04:30:47 +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 738c9203fc Fixed ring buffer size limited to 255 elements, instead of the intended 65535 elements. 2011-10-18 11:23:23 +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 b5682f2c44 Add project name to the Doxygen makefile target output. 2011-09-21 06:45:09 +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 e64f4b0cd9 Update the TempDataLogger project and driver documentation to use the new TWI_BITLENGTH_FROM_FREQ() macro. 2011-09-02 04:41:43 +00:00
Dean Camera 413438eb23 Add new TWI_BITLENGTH_FROM_FREQ() macro to the AVR8 TWI peripheral driver.
Change Delay_MS() to accept a 16-bit parameter rather than an 8-bit parameter for longer possible delays.

Minor documentation improvements.
2011-09-02 04:38:56 +00:00
Dean Camera 88d022a752 Make TWI_ReadPacket() use a repeated start condition rather than a full bus release/recapture after the read address has been sent.
Fix TWI_ReadPacket() not releasing the bus correctly after all data transferred.

Make TWI_SendByte() and TWI_ReceiveByte() non-inline to reduce compiled binary size.
2011-08-31 07:17:33 +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 d0ac8e46f9 Renamed the JTAG_DEBUG_ASSERT() macro to JTAG_ASSERT().
Changed the reports in the GenericHID device demos to control the board LEDs, to reduce user confusion over the callback routines.

Fixed swapped TWI_ADDRESS_READ and TWI_ADDRESS_WRITE values.

Fixed TWI_ReadPacket() not releasing the TWI bus on read completion.
2011-08-22 13:03:56 +00:00
Dean Camera af725dd418 Fix TWI peripheral driver example code in the library documentation. 2011-08-19 04:11:38 +00:00
Dean Camera 9708b45e69 Minor documentation corrections. 2011-08-17 14:51:05 +00:00
Dean Camera ddae47979d Update LUFAConfig.h with missing options for the AVR32 target.
Add Binary Page Mode fuse command bytes to the AT45DB642D.h Dataflash header.
2011-08-04 05:32:17 +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
Dean Camera 69ab85cbc0 More USB XMEGA porting for Endpoint control. 2011-07-18 07:03:47 +00:00