Commit Graph

1096 Commits

Author SHA1 Message Date
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 06de32b1c2 Commit for the 111009 BETA release. 2011-09-21 06:28:42 +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 d881e0cbf6 Fixed incorrect buffer size check in the USBtoSerial project (thanks to Yuri A Nikiforov). 2011-09-07 12:05:37 +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 40946a5704 Minor documentation corrections. 2011-08-19 06:11:39 +00:00
Dean Camera ccf4cffd78 Improve device support documentation in the manual; split out each architecture into a different sub-page of the Device Support section of the manual, add in table to indicate USB mode support for each microcontroller model. 2011-08-19 06:04:39 +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 fc5fa769ef Pull out architecture specific macros and other definitions into a new common header file. Add new JTAG_DISABLE() macro for the AVR8s to software-disable JTAG debugging using cycle-safe assembly code. 2011-08-16 05:53:04 +00:00
Dean Camera 3478178127 Add shortcuts to SwapEndian_16() and SwapEndian_32() internal functions to improve optimization if called with constant inputs. 2011-08-16 05:00:45 +00:00
Dean Camera c505ba047f Set HOST_DEVICE_SETTLE_DELAY_MS to zero for the incomplete AndroidAccessoryHost demo to prevent a timeout on the Android device from aborting Accessory mode after a command it sent to switch modes (thanks to Opendous Inc). 2011-08-09 16:38:35 +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 aceb015ea7 Fixed incorrect Dataflash buffer use in the DataflashManager_WriteBlocks_RAM() function of several demos/projects (thanks to Jeremy Willden). 2011-07-30 02:49:59 +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 025742fca8 Added new VTARGET_USE_INTERNAL_REF configuration option to the AVRISP-MKII clone project (thanks to Volker Bosch). 2011-07-26 03:07:32 +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 06d3797bac Fix names of XMEGA ClockManagement driver functions.
Remove V2 branch for now, to concentrate on a V1 implementation of the USB XMEGAs before large-scale API alterations.
2011-07-18 09:24:50 +00:00
Dean Camera 69ab85cbc0 More USB XMEGA porting for Endpoint control. 2011-07-18 07:03:47 +00:00
Dean Camera 0c2ad9eb34 Add missing SVN eol-style property to files where it was missing. 2011-07-15 08:46:08 +00:00
Dean Camera a36012fc4b Add option to the USB XMEGAs to set the USB bus interrupt priority level. 2011-07-15 08:29:25 +00:00
Dean Camera f07e766755 Complete USB XMEGA interrupt control subsystem code in the core USB driver.
Automatically load in the USB calibration bytes from the User Signature Row on start-up.

Create internal SRAM variable for the endpoint control and status register table, used by the XMEGA USB controller hardware.
2011-07-15 08:10:51 +00:00
Dean Camera ffa8b430c1 Complete initial revision of the XMEGA Clock Management platform driver.
Start the USB clock source generator inside USB_ResetInterface() for XMEGA devices.
2011-07-14 11:31:12 +00:00
Dean Camera c8e5176465 Add XMEGA to the LUFA core library makefile's list of architectures, so that the XMEGA files are properly cleaned on request. 2011-07-14 08:56:41 +00:00
Dean Camera 77a9df36a7 Update UC3 platform driver support to use the bitmasks defined in the header files over raw constants.
Start implementation of XMEGA platform drivers.
2011-07-14 08:30:33 +00:00
Dean Camera b971dbbce8 More XMEGA USB AVR device port work - re-add missing Endpoint stream functions, remove unnecessary internal functions. 2011-07-14 07:28:32 +00:00
Dean Camera 8629e1918c Implementation of several key core USB driver functions for the new USB XMEGA devices. 2011-07-14 07:19:30 +00:00
Dean Camera 6490d1c443 Correct the maximum banks per endpoint information macros for the UC3A3 and UC3A4 devices. 2011-07-14 07:18:31 +00:00
Dean Camera bc41cbd26d Add support for triple endpoint/pipe bank AVR32 UC3 devices. 2011-07-14 05:38:32 +00:00
Dean Camera 7c3290607e Add missing ENDPOINT_DETAILS_EP7 macro for the UC3A3/UC3A4 devices.
MultiArchDemos: Correct usage of updated INTC_RegisterGroupHandler() in the ported demos.
2011-07-14 05:27:50 +00:00
Dean Camera 3f38ea6317 Added Device Qualifier standard descriptor structure definitions USB_StdDescriptor_DeviceQualifier_t and USB_Descriptor_DeviceQualifier_t. 2011-07-14 03:18:30 +00:00
Dean Camera f4528c4aef Add high speed USB support for the UC3 devices containing a high speed USB controller.
Add device support preprocessor checks and use symbolic bit names in the UC3 platform clock management driver.
2011-07-14 02:58:07 +00:00
Dean Camera 13951ab043 Fix compile errors in the UC3 platform support due to a forward reference and an incorrect function prototype. 2011-07-14 00:26:11 +00:00
Dean Camera 01d269879f Add new STRINGIFY() and STRINGIFY_EXPANDED() convenience macros. 2011-07-14 00:11:51 +00:00
Dean Camera d9643cf6ec Add start of an architecture port to the Atmel USB XMEGA devices. 2011-07-13 23:50:05 +00:00
Dean Camera f580232392 Remove unneeded #include of Device.h in StdDescriptors.h breaking compilation for some user projects. 2011-07-13 07:23:07 +00:00
Dean Camera 5f51554a5e Enhance and document the AVR32 UC3 platform drivers. 2011-07-12 13:32:11 +00:00
Dean Camera bd8046976f Minor documentation fixes. 2011-07-12 10:11:52 +00:00
Dean Camera fdb82cd1e8 Fixed error in the pipe unordered allocation algorithm for the AVR8 devices breaking compatibility with some devices. 2011-07-12 07:22:36 +00:00
Dean Camera 04287b76c5 Add more missing function attributes to the TWI peripheral driver.
Fix incorrect standard request name in the host standard request driver.
2011-07-12 05:18:10 +00:00
Dean Camera 7207b05695 Add missing function attributes. 2011-07-12 05:13:31 +00:00
Dean Camera 065ed4da20 Added new USB_Host_GetDeviceStatus() function for USB Host mode. 2011-07-12 04:52:21 +00:00
Dean Camera f152ff26c7 Add missing function attributes to the RingBuffer driver to reduce the chances of invalid usage.
Fix duplicated LED driver functions in the Doxygen documentation.
2011-07-11 11:16:57 +00:00
Dean Camera c029d72b94 More endianness porting of the LUFA host mode class drivers. 2011-07-11 10:44:34 +00:00
Dean Camera 85e85befc4 More endianness porting of the LUFA device mode class drivers.
Add endianness information to the class driver and core structure definitions.

Move out the unused Ethernet_Frame_Info_t structure definition to the RNDIS device demos where it is needed.
2011-07-11 09:50:54 +00:00
Dean Camera d771b1ff8f Oops - re-order Ringbuffer.h inline functions to prevent compile errors due to forward references. 2011-07-11 09:42:13 +00:00
Dean Camera 87ea060afe Added new RingBuffer_GetFreeCount() function to the library miscellaneous RingBuffer driver. 2011-07-11 05:51:35 +00:00
Dean Camera 6c4f736793 Minor documentation and style fixes. 2011-07-11 05:51:04 +00:00
Dean Camera 137ce280c1 Updated all host mode demos and projects to use the EVENT_USB_Host_DeviceEnumerationComplete() event callback for device configuration instead of manual host state machine manipulations in the main application task.
Added new USB_Host_ConfigurationNumber global variable to indicate the selected configuration in an attached device.

Renamed global state variables that are specific to a certain USB mode to clearly indicate which mode the variable relates to, by changing the USB_* prefix to USB_Device_* or USB_Host_*.

Removed the HOST_STATE_WaitForDeviceRemoval and HOST_STATE_Suspended host state machine states, as these are no longer required.

Altered the USB_Host_SetDeviceConfiguration() function to update the new USB_Host_ConfigurationNumber global as required.

Moved out the Host mode standard request convenience/helper functions from the architecture specific Host driver files to the architecture agnostic HostStandardReq.c driver file.
2011-07-08 07:25:56 +00:00
Dean Camera bcb627e1a1 Add missing doxygen group terminator to the new CompilerSpecific.h header file. 2011-07-07 07:38:22 +00:00
Dean Camera 4e601207a7 Tighten up the implementations of the USB_Device_SetDeviceAddress(), USB_Controller_Reset() and USB_PLL_On() functions for the AVR8 devices.
Minor corrections to the documentation of the USB_Control_Request_t enum.
2011-07-06 02:50:08 +00:00
Dean Camera 87b57522b2 Fix improper indenting of the internal board driver dispatch headers.
Slight improvements to the ADC peripheral driver example in the manual.
2011-07-06 02:12:09 +00:00
Dean Camera bfa22eca26 Split out compiler specific helper macros into a new CompilerSpecific.h header file inside the library, for future expansion. 2011-07-06 02:11:13 +00:00
Dean Camera 9ea22ebf41 Fix HID_Host_SetIdlePeriod() function to send the correct request type to the device, remove reference to unavailable (and not needed) local variable. 2011-07-05 00:28:35 +00:00
Dean Camera 5b06886dab Add missing function parameter to the new HID_Host_SetIdlePeriod() function. 2011-07-04 09:22:40 +00:00
Dean Camera 258381e760 Add missing function parameter to the new HID_Host_SetIdlePeriod() function. 2011-07-04 09:22:02 +00:00
Dean Camera 61861c548e Added new HID_Host_SetIdlePeriod() function to the HID Host Class driver. 2011-07-04 09:18:50 +00:00
Dean Camera b775995867 Oops: Fix compile error in the low level KeyboardMouse demo. 2011-07-02 08:40:52 +00:00
Dean Camera 04660d3793 Seperate out the device demos and project's configuration descriptor structure definitions to clearly indicate what descriptors belong to which interface. 2011-07-01 05:26:25 +00:00
Dean Camera c6a7a028bd Merge over core library changes from the MultiArchDemos branch. 2011-06-29 05:57:29 +00:00
Dean Camera 8c3d421a01 Added board hardware driver support for the EVK1104 board.
Fix inverted LEDs_GetLEDs() result for the EVK1100 and EVK1101 boards.
2011-06-27 13:41:06 +00:00
Dean Camera 8cc3fd56d9 Add board driver support for the EVK1100 board. 2011-06-27 13:22:37 +00:00
Dean Camera dee4bc0973 Fix logic bug in the incomplete Android Accessory Host demo preventing correct detection of an attached Android Accessory Mode device. 2011-06-27 05:57:25 +00:00
Dean Camera ca9f89ce82 Add new "checksource" target to the library makefiles, for automated source file existance checking. 2011-06-20 14:38:21 +00:00
Dean Camera 5d7827a573 Minor internal macro renaming for the UC3 devices. 2011-06-20 13:08:27 +00:00
Dean Camera d784baaa3a Fixed compile error when FIXED_CONTROL_ENDPOINT_SIZE compile time option was disabled, and a USE_*_DESCRIPTORS compile time option was not enabled on the AVR8s.
Add C++ compatibility to some header files currently missing extern "C" linkage.
2011-06-20 04:32:34 +00:00
Dean Camera bb0b761c65 Make the HID Report Parser Get/Set Report Item routines fail if a NULL pointer to a report item is given.
Minor visual enhancement to the HIDReportViewer project.
2011-06-20 01:57:22 +00:00
Dean Camera 5e0c807708 Fix incorrect printf format specifier in the HIDReportViewer project. 2011-06-20 01:33:42 +00:00
Dean Camera a7dd984446 Code style fixes for the Device mode USB Audio Class driver to make it more in line with the style of the other library Device Class drivers. 2011-06-19 04:48:49 +00:00
Dean Camera 2e6370a6b9 Add missing project files for the new HIDReportViewer project to upgrade its status to a finished (working) project. 2011-06-19 04:47:53 +00:00
Dean Camera bad956bace Fix TWI driver documentation example (thanks to Jerome Colombie). 2011-06-18 08:04:25 +00:00
Dean Camera 00acc95ff6 Add new incomplete HIDReportViewer project. 2011-06-16 13:37:45 +00:00
Dean Camera 0ec2b55a7c Add missing SVN eol-style properties to source files to prevent mixed end-of-line characters. 2011-06-16 12:18:46 +00:00
Dean Camera f10126a95e Added new \ref SPI_GetCurrentMode() function to the SPI peripheral driver. 2011-06-16 07:23:37 +00:00
Dean Camera d8fe01f19a Rename new Audio class driver functions, callbacks and events to ensure that they contain the USB mode (Device or Host) in the function names. 2011-06-16 06:49:08 +00:00
Dean Camera 21a012a018 Add macro guards to the templated C files to prevent compile errors if they are mistakenly compiled as regular source files in a LUFA project. 2011-06-14 12:54:46 +00:00
Dean Camera f1cfd7ea7d Rename Audio Host Class driver internal descriptor matching routines to be in line with the rest of the class driver function names. 2011-06-14 12:44:41 +00:00
Dean Camera deaab90089 Ensure that only the requested Audio class pipes are mapped to endpoints within the device for a specific Audio Host Class driver instance.
Fix const-correctness of the Audio Host Class driver.
2011-06-13 00:19:40 +00:00
Dean Camera 6e0a26083a Fix bugs in the Host mode Audio class driver. 2011-06-12 13:59:03 +00:00
Dean Camera 6e2a3174a5 Fix errors in the library Host mode Audio Class driver. 2011-06-09 08:00:19 +00:00
Dean Camera e5e34f91fa Fix compile errors when both Host and Device modes are enabled. 2011-06-09 04:32:52 +00:00
Dean Camera 1f1d0710f3 Add new Audio Class Driver Host demos.
Fix errors in the new Audio Host mode Class Driver, which would have prevented data from being sent or received properly by the device.

Add microphone/square wave generation compile time switch to the Low Level AudioOutput Host demo.
2011-06-09 04:08:03 +00:00
Dean Camera 0bf5064aec Pipe_BoundEndpointNumber() has been renamed to Pipe_GetBoundEndpointAddress(), and now returns the correct endpoint direction as part of the endpoint address.
Add Audio_GetSetEndpointProperty() function to the Host mode Audio class driver.
2011-06-08 02:45:32 +00:00