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
72717825e5
Namespace out the internal endpoint and pipe globals in the UC3 architecture.
2011-10-30 14:03:53 +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
68e777e16b
Prevent written but unused variable warnings on GCC 4.6 with dummy reads.
2011-10-09 12:54:50 +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
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
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
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
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
0c2ad9eb34
Add missing SVN eol-style property to files where it was missing.
2011-07-15 08:46:08 +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
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
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
7207b05695
Add missing function attributes.
2011-07-12 05:13:31 +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
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
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
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
e5e34f91fa
Fix compile errors when both Host and Device modes are enabled.
2011-06-09 04:32:52 +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
Dean Camera
605ef921cc
Fix compile errors when compiling for the AVR32 UC3 target.
2011-06-08 00:25:20 +00:00
Dean Camera
7dffa15c16
Massive corrections to the project documentation and code comments, thanks to Russian translation services provided by Andrey from Microsin.ru.
2011-06-05 13:55:56 +00:00
Dean Camera
f01a05415c
Spell check library source code files.
2011-06-01 14:33:40 +00:00
Dean Camera
2a26efc691
Altered the definition of the USB_Audio_Descriptor_Format_t descriptor so that the user is now responsible for supplying the supported audio sampling rates, to allow for multiple audio interfaces with different numbers of supported rates and/or continuous sample rates.
2011-05-30 11:07:57 +00:00
Dean Camera
cc9b190919
Add new USB_Host_SetInterfaceAltSetting() convenience function.
2011-05-27 07:33:58 +00:00
Dean Camera
6e7fc21a94
Fix incorrect macro guard in the UC3 EndpointStream header file.
...
Fix incorrect project name in the Projects/ folder makefile.
2011-05-26 11:37:40 +00:00
Dean Camera
1ea5dae8a8
Copy out the EndpointStream and PipeStream functions to each architecture, so that each architecture can optimise the stream functions according to the available hardware (such as DMA, where available).
2011-05-26 11:27:21 +00:00
Dean Camera
049e930963
Fixed possible invalid program execution when in host mode if corrupt descriptor lengths are supplied by the attached device.
...
Minor code cleanups to add const and reformat where missing, as well as abstract out the internal device signature start address into a macro, so that it can be altered to suit particular devices within a single architecture if needed.
Add missing documentation to the USB_Device_States_t enum.
2011-05-14 02:17:58 +00:00
Dean Camera
f670bdeff8
Add __VA_ARGS__ support to the LUFA supplied ISR macro. Add proper result typecasting to the SWAPENDIAN_* macros.
...
Switch to using -1 on the UC3 target to obtain a register mask with all bits set (for clearing interrupts and status flags).
Fix incorrect USB controller mode on the UC3 when a fixed mode is specified as a compile time option due to AVR32_USBB.USBCON.uide being set by default.
Make USB_Descriptor_String_t use a uint16_t for Unicode strings on all targets except the AVR8 (retained for backwards compatibility).
2011-04-25 07:28:36 +00:00
Dean Camera
995195a2b0
Add missing function attributes to the pipe/endpoint functions for all architectures.
...
Perform endianness correction in the HID report parser for big-endian platforms.
2011-04-12 03:03:56 +00:00
Dean Camera
852b5e612d
Remove redundant type information for bitfield elements, other than the signed/unsignedness of the element.
...
Change type of USB_SelectedPipe and USB_SelectedEndpoint for the AVR32 UC3 architecture to uint32_t to reduce the compiled code size.
2011-04-10 06:43:02 +00:00
Dean Camera
c263ea837a
Move global interrupt enable/disable functions out to Common.h and document them.
2011-04-08 05:40:25 +00:00
Dean Camera
de9bd767dc
Correct UC3 global interrupt functions.
...
Replace all calls and references to _delay_ms() in the code with the architecture-agnostic Delay_MS() function.
Improve code generation for the Delay_MS() function on the AVR8 architecture when called with a constant input.
2011-04-08 05:05:05 +00:00
Dean Camera
70284d390f
Add in a new common Delay_MS() function, which provides a blocking delay for all architectures.
...
Remove use of avr-libc specific ATOMIC_BLOCK, replace with a new per-architecture set of inline functions to retrieve and manipulate the global interrupt enable bit for each architecture.
Add in documentation for the USB controller common interrupt routine which must be linked to the interrupt controller in the user application on the AVR32 UC3 architecture.
2011-04-08 04:49:20 +00:00
Dean Camera
899df7d331
Renamed all low level Endpoint_Read_*, Endpoint_Write_* and Endpoint_Discard_* functions to use the number of bits instead of a symbolic size (Byte, Word, DWord) so that the function names are applicable and correct across all architectures.
...
Renamed all low level Pipe_Read_*, Pipe_Write_* and Pipe_Discard_* functions to use the number of bits instead of a symbolic size (Byte, Word, DWord) so that the function names are applicable and correct across all architectures.
2011-04-04 12:52:30 +00:00
Dean Camera
f595043584
Add in new architecture attribute defines to selectively remove the EEPROM and FLASH memory space functions on architectures which do not have seperate memory address spaces.
2011-03-21 11:10:02 +00:00
Dean Camera
aba7932a5c
F_CLOCK changed to F_USB to be more descriptive, and applicable on future architecture ports.
2011-03-21 10:20:42 +00:00
Dean Camera
134e018b21
Fixed Remote Wakeup broken on the AVRs due to the mechanism only operating when the SUSPI bit is set (thanks to Holger Steinhaus).
...
Remove redundant setting of UIDE in the AVR8 and AVR32 USB controller drivers.
2011-03-15 08:07:29 +00:00
Dean Camera
ea361a0d30
Correct Endpoint/Pipe maximum constants for the AVR32 UC3 models.
2011-03-14 00:03:30 +00:00
Dean Camera
02dfd7dc3d
Simplify the internal serial extraction routines for each architecture.
2011-03-13 23:32:32 +00:00