Commit Graph

981 Commits

Author SHA1 Message Date
Dean Camera 68468e0aea Added new incomplete AudioOutputHost Host LowLevel demo. 2011-05-30 11:36:21 +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 ea922c98d1 Added new incomplete AudioInputHost Host LowLevel demo.
Added missing Audio class control request definitions.

Added support for the Audio class GET STATUS request so that it is correctly ACKed when sent by the host.
2011-05-29 12:41:14 +00:00
Dean Camera cc9b190919 Add new USB_Host_SetInterfaceAltSetting() convenience function. 2011-05-27 07:33:58 +00:00
Dean Camera 7e1e23af59 Update trunk documentation for new LUFA release. 2011-05-27 03:05:50 +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 edc4db41f4 Update Webserver project to remove DHCP IP configuration status notification. 2011-05-26 10:50:22 +00:00
Dean Camera 24ea531fab Update MediaController project to remove the Record usage (not often needed) and explicitly declare each usage for maximum clarity. 2011-05-23 13:19:13 +00:00
Dean Camera b88e0a7b90 Add new MediaController project, a simple Media Playback control manipulator (Play/Pause/Next Track/Volume/etc.). 2011-05-23 12:54:15 +00:00
Dean Camera 3cba88e4c0 Add RNDIS Device support to the Webserver project, so that the files stored on the device can be viewed from a web-browser while the board is plugged into a host machine. 2011-05-22 08:28:40 +00:00
Dean Camera e349974aa9 Fix broken Doxygen documentation. 2011-05-19 13:32:55 +00:00
Dean Camera 9d733d44b4 Add new RNDIS_Host_IsPacketReceived(), RNDIS_Device_ReadPacket() and RNDIS_Device_WritePacket() functions to the Device RNDIS Class Driver.
Modify RNDIS demos to suit the simplified Ethernet_Frame_Info_t structure.
2011-05-18 14:33:34 +00:00
Dean Camera 41de1d1dab Oops - fix bad include path in the moved USBKEY Dataflash board driver header. 2011-05-18 12:24:56 +00:00
Dean Camera 910bca557c Seperated out board drivers by architecture in the library internals for better organisation. 2011-05-18 12:23:24 +00:00
Dean Camera e10f5b4f14 Add new "version" makefile target to the main LUFA library makefile, to give an easy way to identify a LUFA release from the command-line. 2011-05-18 11:53:53 +00:00
Dean Camera 064643e066 Add skeleton LUFAConfig.h to the CodeTemplates directory. 2011-05-14 02:34:47 +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 7d3150423d Add new USE_LUFA_CONFIG_HEADER compile time option.
Add missing LEDS_ToggleLEDs() function to the LED driver for the EVK1101 board.
2011-05-09 14:04:40 +00:00
Dean Camera a85fa30bf1 Minor documentation fixes. 2011-05-08 14:30:36 +00:00
Dean Camera 71c5d4e3e5 Fix up mistakes in the Device Support documentation page. 2011-04-27 10:21:40 +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 7b0cebc1d7 Add new LUFA powered user projects to the documentation. 2011-04-23 05:01:50 +00:00
Dean Camera 513db46548 Added LED flashing to the CDC and DFU class bootloaders to indicate when they are running. 2011-04-23 03:45:29 +00:00
Dean Camera 2b0c9532a3 Fix reversed descriptions for the AVR8 USB pad regulator enable/disable masks (thanks to Omar). 2011-04-20 06:04:49 +00:00
Dean Camera 04263de4f0 Fix definition of pgm_read_ptr(). 2011-04-13 06:58:29 +00:00
Dean Camera e0852408de Replace cast-as-char* byte access of multibyte variables with proper shifts and masks to preserve endianness across different architectures. 2011-04-13 06:12:52 +00:00
Dean Camera 4b1f6cac75 Slight cleanups to the architecture specific makefile templates to make the common configuration sections as identical as possible. 2011-04-12 04:57:47 +00:00
Dean Camera e009aafe25 Update architecture specific makefile templates so that they are as close to one-another as possible. 2011-04-12 04:49:36 +00:00
Dean Camera 16f09ab50a Add makefile template for the AVR32 UC3 architecture. 2011-04-12 04:38:53 +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 d08116b02f Create a new Common module documentation group for the new Global Interrupt macros. 2011-04-08 05:54:56 +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 0c5afda7e8 Oops - fix misnamed function call in Pipe_Discard_Stream(). 2011-04-04 15:41:26 +00:00
Dean Camera 96a2da1813 Oops - fix incorrect variable name in the updated Pipe_Write_8() function. 2011-04-04 15:25:30 +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 2efa79d3ec Conditionally add available address spaces to the address space enum, for multiple address space architectures.
Update Doxygen configuration file for the latest Doxygen release.

Minor documentation updates.
2011-04-04 10:24:57 +00:00
Dean Camera 06d00bb99b Ensure the library builds cleanly in device mode for architectures lacking multiple address spaces. 2011-03-27 22:17:26 +00:00
Dean Camera fa5c8700bc Fix corner case in the HID report descriptor Mouse/Joystick tempates at the 8/16 bit boundary. 2011-03-23 09:25:13 +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 c7f4752d6b Oops - Bootloader optimizations to GetDescriptor() don't work, as the Configuration Descriptor's header does not contain the full length of the descriptor, breaking full enumeration. 2011-03-18 04:58:39 +00:00
Dean Camera f6f4ac588c Fix bugs in the new VirtualSerialMassStorage demo (thanks to Martin Degelsegger). 2011-03-16 22:54:31 +00:00
Dean Camera b47374caf5 Fix incorrectly named include guards in the Board driver header files. 2011-03-16 06:00:02 +00:00
Dean Camera fe62770a1e Added new VirtualSerialMassStorage Device Class Driver demo. 2011-03-16 05:58:58 +00:00
Dean Camera 5eb1862d54 Remove redundant Doxygen guards from the internal preprocessor definitions. 2011-03-15 09:22:39 +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 95a1aa4c01 Add named macros to the board joystick drivers where a shift is needed to maintain unique joystick direction bits in the returned mask value. 2011-03-15 06:51:50 +00:00
Dean Camera b35f93a372 Implemented on-demand PLL clock generation for the U4, U6 and U7 series USB AVRs when automatic PLL mode is specified. 2011-03-15 06:39:34 +00:00
Dean Camera 1a130eed6c Updated the software USART code in the XPLAIN Bridge application so that the incomming bits are sampled at their mid-point instead of starting point, to give maximum reliability (thanks to Anton). 2011-03-15 04:02:15 +00:00
Dean Camera 0111fb515d Oops - fix internal serial number extraction routine for the AVR8 architecture. 2011-03-14 00:24:14 +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
Dean Camera a7eca42996 Add experimental support for the AVR32 UC3A4 microcontrollers.
Add support for the inbuilt unique serial numbers in the UC3A3 and UC3A4 models.
2011-03-13 22:42:08 +00:00
Dean Camera 81fd8d4004 Re-add accidentally deleted Host_UC3.c and Host_UC3.h files. 2011-03-13 22:02:07 +00:00
Dean Camera 944e0d2009 Rename UC3B driver files to UC3, as they are generic to all AVR32 UC3 models. 2011-03-13 21:53:19 +00:00
Dean Camera 6005a42150 Add experimental support for the UC3A0, UC3A1 and UC3A3 series AVR32 microcontrollers. 2011-03-13 21:25:05 +00:00
Dean Camera f301a4a21f Oops - rename misnamed Endianess.h header file.
Remove UC3B temp macros related to EEPROM, to ensure that projects requiring this break at compile time rather than at runtime until a solution can be found.
2011-03-13 06:05:30 +00:00
Dean Camera b1528a1256 Move out endianness management macros into a new common Endianness.h header.
Fix Doxygen documentation, broken due to the added ATTR_PACKED attribute on some structs breaking the Doxygen parser.
2011-03-13 05:54:13 +00:00
Dean Camera 13e2f71f15 Simplify AVR32 UC3B software FIFO, as it will only ever be accessed a byte at a time to prevent data alignment issues. 2011-03-11 07:03:34 +00:00
Dean Camera c8a438d66c Add structure padding to the appropriate descriptor structures to maintain correct alignments on larger architectures.
Fix EVK1101 swapped joystick Right/Down masks.
2011-03-11 06:47:39 +00:00
Dean Camera e4b3e3fc65 Fix UC3B architecture compile errors and ensure the architecture can be compiled with no special makefile tokens defined. 2011-03-05 16:36:57 +00:00
Dean Camera 8b13f7f89a Endpoint_ResetFIFO() renamed to Endpoint_ResetEndpoint(), to be consistent with the Pipe_ResetPipe() function name.
Fix undefined error in Pipe_UC3B.h.

Add missing migration notes.
2011-03-05 16:30:57 +00:00
Dean Camera 1e3d892b6a Add software FIFOs to the UC3B pipe control interfaces, to match the endpoint control interfaces. Fix incorrect endianness for the Endpoint/Pipe read and write routines. 2011-03-05 12:13:35 +00:00
Dean Camera b763c3f33e Porting updates for the UC3B architecture - get UC3B partially enumerating using a modified mouse demo on the EVK1101. Implement a software FIFO for the endpoint banks; datasheet hints that this can be done through hardware as on the AVR8 architecture, but the correct method to do this not discovered yet. 2011-03-05 11:34:04 +00:00
Dean Camera 33a81bffb9 Minor documentation updates. 2011-03-05 10:58:35 +00:00
Dean Camera c1c94fe5a0 Fixed Still Image Host class driver exiting the descriptor search routine prematurely if the data pipes (but not event pipe) is found.
Fixed missing call to Pipe_SetInfiniteINRequests() in the Pipe_ConfigurePipe() routine.
2011-03-03 19:32:27 +00:00
Dean Camera 8c6f26e19d Add in USB_INT_RegisterHandlers() internal function to register the interrupt handler routines used by LUFA. Add dummy loads after clearing the interrupt lines according to the datasheet.
Add in temporary global interrupts enable/disable macros.
2011-02-28 22:30:40 +00:00
Dean Camera 86a2be8536 Fix EVK1101 board joystick driver movement masks. 2011-02-27 23:05:46 +00:00
Dean Camera 29ba88cffd Add code to start the USBB Generic Clock from the user-specified master clock source (OSCx or PLLx) in the AVR32 UC3B core USB driver. 2011-02-27 22:06:31 +00:00
Dean Camera c79f6e2586 Oops - ensure that only the relevant/available interrupts are defined and used on each architecture.
Make all USB driver headers include USBMode.h first, to ensure that the relevant USB mode macros are defined.
2011-02-27 20:38:47 +00:00
Dean Camera 04526d284d Changed over the AVR8 USB controller interrupt management macros to be inlined functions instead, for better compile-time validity checking and to keep the per-architecture source files as uniform as possible. 2011-02-27 20:00:15 +00:00
Dean Camera 92b3553a07 General cleanup and more port work to the AVR32 UC3B. 2011-02-27 18:25:29 +00:00
Dean Camera 4a3b70e727 Fix USB Host mode compile errors for the UC3B architecture. 2011-02-27 15:23:09 +00:00
Dean Camera 381dd0d490 Move out common architecture-independent core definitions into the appropriate core dispatch header files. 2011-02-27 14:39:49 +00:00
Dean Camera f3f481183a More AVR32 UC3B architecture ports - USB device mode applications can now be sucessfully compiled, although they will be currently non-functional. 2011-02-27 14:04:29 +00:00
Dean Camera cf2411435c Removed Pipe_ClearErrorFlags(), pipe error flags are now automatically cleared when Pipe_ClearError() is called.
More UC3B architecture porting.
2011-02-26 20:22:33 +00:00
Dean Camera 66c38cd940 Added TWI baud rate prescaler and bit length parameters to the TWI_Init() function (thanks to Thomas Herlinghaus). 2011-02-26 15:57:06 +00:00
Dean Camera 6f01b6afd5 More UC3B architecture port updates. 2011-02-26 15:54:11 +00:00
Dean Camera a318f32b31 Update board driver common APIs to use uint_reg_t. 2011-02-20 19:18:06 +00:00
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 e4f3d9957e Fix non-ASCII characters breaking LaTex documentation builds. 2011-02-17 22:08:29 +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 3d232953d9 Fix typos in the HID class bootloader makefile. 2011-02-11 20:00:48 +00:00