Commit Graph

73 Commits

Author SHA1 Message Date
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 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 f01a05415c Spell check library source code files. 2011-06-01 14:33:40 +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 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 04263de4f0 Fix definition of pgm_read_ptr(). 2011-04-13 06:58:29 +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 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 5eb1862d54 Remove redundant Doxygen guards from the internal preprocessor definitions. 2011-03-15 09:22:39 +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 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 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 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 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 a318f32b31 Update board driver common APIs to use uint_reg_t. 2011-02-20 19:18:06 +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 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 a852ea8e43 Added new KeyboardMouseMultiReport Device ClassDriver demo.
Fixed ReportID not being removed from the feature/out report data array in the HID class driver when Report IDs are used.

Added new MAX() and MIN() convenience macros.
2011-01-26 21:33:07 +00:00
Dean Camera 7dc3d3a68f Minor documentation improvements. 2011-01-08 11:47:20 +00:00
Dean Camera 1d433d4506 Update copyright year on all source files. 2011-01-01 13:00:56 +00:00
Dean Camera 6026b9128b Fix compile errors from the changes to the SerialStream and board Temperature drivers. 2010-12-26 15:44:10 +00:00
Dean Camera 2073b96d82 Added basic driver example use code to the library documentation.
Made the USARTStream global public and documented in the SerialStream module, allowing for the serial USART stream to be accessed via its handle rather than via the implicit stdout and stdin streams.
2010-12-26 14:25:34 +00:00
Dean Camera 39ac72f2d1 Make a new general RingBuffer.h misc library driver, instead of the per-application LightweightRingBuff.h ring buffers. Change over projects to use the new driver.
Add ORDERED_EP_CONFIG to the device Projects (only) that use only a single class driver, or where the endpoint ordering is fixed, to save on compiled binary size.

Added new GCC_FORCE_POINTER_ACCESS() macro to correct GCC's mishandling of struct pointers.
2010-12-26 13:01:37 +00:00
Dean Camera cb779e3d7d Changed over www.fourwalledcubicle.com links to the new www.lufa-lib.org redirect domain, including the new aliased links for LUFA-related pages such as the various download/source control mirrors and support lists. 2010-10-28 06:08:58 +00:00
Dean Camera 5a4def7478 Clean up excessive whitespace at the end of each line using the wspurify tool made by Laszlo Monda 2010-10-13 14:05:35 +00:00
Dean Camera 5f3c4cc6e0 Reverted modifications to USBInterrupt.h that were intefering with correct host mode operation.
Fixed SUSPI interrupt not being cleared during device mode enumeration, causing accidental mis-fires on re-enumeration.

Fixed JTAG_DEBUG_POINT() and JTAG_DEBUG_BREAK() macros not compiling under pure C99 standards mode.
2010-09-22 04:20:45 +00:00
Dean Camera 612df774d9 Oops - fix mixed "initialize" and "initialise" - opt for American spelling due to its wide use in technical standards. 2010-07-30 10:58:16 +00:00
Dean Camera 0f45b9c8e0 More spell checking of all source files -- correct missed errors, switch to EN-GB spelling dictionary. 2010-07-30 09:48:35 +00:00
Dean Camera 28401f7bb7 Spell check all source files once again to find any typos. 2010-07-29 16:20:45 +00:00
Dean Camera 97143bf814 Add missing const qualifiers to class drivers.
Indent core library function parameters so that there is only one parameter per line, to increase readability.
2010-07-21 14:00:51 +00:00
Dean Camera 99d8a39363 Move and rename DevChaper9.c/.h and HostChapter9.c/.h to the HighLevel directory, new named DeviceStandardReq.c/.h and HostStandardReq.c/.h.
Rename LowLevel.c/.h to USBController.c/.h.

Remove dependancies on the complete <avr/io.h> header in the HighLevel USB driver directory, to ensure less work is required in later (possible) ports.
2010-07-21 12:20:34 +00:00
Dean Camera c326fe9605 Rewrote the implementation of the SwapEndian_16() and SwapEndian_32() functions so that they compile down in most instances to minimal loads and stores rather than complicated shifts.
Fixed SCSI.c implementations of all the demos/projects casting the block count to a 32-bit temporary before calling SwapEndian_16().
2010-07-09 07:24:34 +00:00
Dean Camera e621ab33be Added new pgm_read_ptr() macro to Common.h for reading of pointers out of flash memory space.
Added new SWAPENDIAN_16() and SWAPENDIAN_32() macros to Common.h for statically initialized variables at compile time.
2010-06-22 07:06:27 +00:00
Dean Camera deed746d37 Renamed SERIAL_STREAM_ASSERT() macro to STDOUT_ASSERT().
Minor tweaks to the library documentation.
2010-06-17 08:15:58 +00:00
Dean Camera 23a94a7181 Fix byte ordering of UUIDs in the SDP server - host can now successfully pair to the Bluetooth device and discover the exposed Serial Port Profile RFCOMM service. 2010-06-02 14:49:06 +00:00
Dean Camera c362709a1e The SDP UUID lists should be searched and ALL UUIDs matched for a record to be retrieved, not partial matches. Change the SDP code so that the entire list must be matched against a service attribute table's contents before it is returned.
Change matching algorithm so that it recursively searches through the entire attribute table, and not just pre-specified sequence attributes.

Add browse lists and proper descriptions to the Serial Port service.
2010-06-02 07:05:34 +00:00