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
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
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
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
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
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
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
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
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
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
bad956bace
Fix TWI driver documentation example (thanks to Jerome Colombie).
2011-06-18 08:04:25 +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
Dean Camera
34164a5550
Remove warnings in the documentation for the library class drivers about sequential pipe/endpoint allocation, as by default this is no longer as issue (unless ORDERED_EP_CONFIG is specified).
2011-06-08 01:32:44 +00:00
Dean Camera
e572ee7ff2
Added new Host mode Audio Class driver.
...
Added new EVENT_Audio_StreamStartStopChange() event to the Audio Device Class driver to detect stream start/stop events.
2011-06-08 01:26:52 +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
2e76ad721e
Partial commit: Rename USBFOO LED driver to fix capitalisation of file name, which will cause issues on *nix systems.
2011-06-08 00:25:03 +00:00
Dean Camera
73733275be
Partial commit: Rename USBFOO LED driver to fix capitalisation of file name, which will cause issues on *nix systems.
2011-06-08 00:24:01 +00:00
Dean Camera
567f7ecce0
Fix errors in the Audio device demos and class driver regarding multiple sample frequency support.
2011-06-07 02:05:19 +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
3bd6336075
Added board driver support for the Busware TUL board.
2011-06-04 04:13:01 +00:00
Dean Camera
2731c3a8ae
Added new callback to the Audio Class driver to allow for endpoint control manipulations such as data sample rates.
...
Modified the Class Driver AudioInput and AudioOutput demos to support multiple sample rates.
Fixed KeyboardHost and KeyboardHostWithParser demos displaying incorrect values when numerical keys were pressed.
Fix broken LowLevel audio demo descriptors.
Minor documentation fixes.
2011-06-03 07:56:12 +00:00
Dean Camera
f01a05415c
Spell check library source code files.
2011-06-01 14:33:40 +00:00
Dean Camera
6d2a08f1b7
Fixed incorrect signature in the CDC and DFU class bootloaders for the ATMEGA8U2.
...
Minor documentation cleanups.
Modify the incomplete AudioInputHost demo for mono audio output.
2011-06-01 14:10:35 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
782614dbb5
Add static keyword to all project globals whose scope should be restricted to the same module as they are declared in.
...
Tighten up the HID class bootloader code slightly, document that it currently exceeds 2KB of bootloader space for all models other than the Series 2 USB AVRs.
2011-02-10 17:55:49 +00:00
Dean Camera
73718d7c57
Fixed incorect BUTTONS_BUTTON1 definition for the Minimus board.
2011-02-02 15:31:45 +00:00
Dean Camera
43b9d552bb
Renamed all driver termination *_ShutDown() functions to the more logical name *_Disable().
2011-01-30 23:12:06 +00:00
Dean Camera
43c4735305
Renamed the PRNT_Host_SendString(), CDC_Host_SendString() and CDC_Device_SendString() functions to *_SendData(), and added new versions of the *_SendString() routines that expect a null terminated string instead.
...
Added new Serial_SendData() function to the Serial driver.
2011-01-30 21:02:31 +00:00
Dean Camera
afd828c095
Removed SerialStream module, rolled functionality into the base USART Serial peripheral driver instead through the new Serial_CreateStream() and Serial_CreateBlockingStream() methods.
...
Renamed the Serial byte send/receive functions to remain consistent with the CDC driver's byte functions.
Altered the serial byte receive function to make it non-blocking.
2011-01-30 19:47:31 +00:00
Dean Camera
30f6d2bfd8
Oops - forgot to add in LOGICAL MINIMUM and LOGICAL MAXIMUM report items into the standard library Joystick HID report descriptor macro. Add in support for joystick resolution reporting via PHYSICAL_MINIMUM and PHYSICAL_MAXIMUM items.
2011-01-30 14:40:24 +00:00
Dean Camera
e6dc951630
Add new HID_DESCRIPTOR_VENDOR() macro, change over all projects and Device ClassDriver demos to use it.
...
Fix reversed byte ordering of multi-byte HID data.
Added support to the HID parser for extended USAGE items that contain the usage page as well as the usage index.
Removed the HID_IOF_NON_VOLATILE and HID_IOF_VOLATILE flags from HID INPUT items where the flag is invalid. Changed over HID OUTPUT items to use HID_IOF_NON_VOLATILE.
Change over MagStripe project to use HID_DESCRIPTOR_KEYBOARD() for its HID report. Change over MouseHostDevice demo to use HID_DESCRIPTOR_MOUSE() for its HID report.
2011-01-30 14:14:04 +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
6c7ed7ecd6
Added new HID_DESCRIPTOR_MOUSE, HID_DESCRIPTOR_KEYBOARD and HID_DESCRIPTOR_JOYSTICK macros for easy automatic creation of basic USB HID device reports.
2011-01-23 20:02:51 +00:00
Dean Camera
ef44b8c036
Fixed incorrect definition of the HID_KEYBOARD_SC_RIGHT_ARROW constant in the HID class driver (thanks to Joby Taffey).
...
Add in newHID_KEYBOARD_SC_POWER keyboard scancode constant.
2011-01-17 23:11:13 +00:00
Dean Camera
efd57cfe51
Abuse the the C preprocessor so that the HID macros can automatically encode data into the array from the HID macros automagically, by specifying the bit-width of the data, and the data itself as a single integer value of that width.
2011-01-17 19:44:48 +00:00
Dean Camera
47fec03694
Fixed several functions in the Host mode Still Image Class driver returning an error code from the incorrect error code enum (thanks to Daniel Seibert).
2011-01-16 23:13:54 +00:00
Dean Camera
787869c2fd
Minor documentation corrections for the new HID report item constant defines.
2011-01-16 19:41:26 +00:00
Dean Camera
039a714ee4
New HID report item macros (with HID_RI_ prefix) to allow for easy creation and editing of HID report descriptors.
...
Changed over all project and demo HID report descriptors to use the new HID report item macros.
Moved the HIDParser.c source file to the LUFA/Drivers/USB/Class/Common/ directory from the LUFA/Drivers/USB/Class/Host/.
2011-01-16 19:34:28 +00:00
Dean Camera
32830a2b82
Added new ADC_GET_CHANNEL_MASK() convenience macro to the ADC driver.
2011-01-16 16:13:22 +00:00
Dean Camera
70d55f6e0c
Added new high level TWI packet read/write commands, altered behaviour of the TWI_StartTransmission() function.
...
Spell check source code files.
2011-01-13 22:56:49 +00:00
Dean Camera
187ccb2e15
Fix typos and outdated information.
2011-01-10 21:53:38 +00:00
Dean Camera
154f934b22
Call USB_USBTask() in the Endpoint stream functions between packets if INTERRUPT_CONTROL_ENDPOINT is not set. Remove calls to USB_USBTask in the Mass Storage class driver stream read/write continuation checks, since this is now done inside the stream function.
2011-01-10 18:56:34 +00:00
Dean Camera
f555ad7ced
Altered all endpoint/pipe stream transfers so that the new BytesProcessed parameter now points to a location where the number of bytes in the transfer that have been completed can be stored (or NULL if entire transaction should be performed in one chunk).
...
Added new Endpoint_Null_Stream() and Pipe_Null_stream() functions.
Removed the NO_STREAM_CALLBACKS compile time option due to the new partial stream transfer feature replacing it.
Fixed errors in the incomplete Test and Measurement device demo preventing proper operation (thanks to Pavel Plotnikov).
2011-01-10 18:43:34 +00:00
Dean Camera
477a2047f4
Oops - fix type preventing compilation of demos using the class drivers.
2011-01-08 15:54:57 +00:00
Dean Camera
7dc3d3a68f
Minor documentation improvements.
2011-01-08 11:47:20 +00:00
Dean Camera
d126146887
The FAST_STREAM_TRANSFERS compile time option has been removed due to lack of use and low cost/benefit ratio.
...
Add GCC_FORCE_POINTER_ACCESS() macro use to the RingBuffer library header, to attempt to force GCC into producing more efficient code for manipulating the buffers.
2011-01-08 00:54:30 +00:00
Dean Camera
a49b5bfd8a
Update Doxygen documentation configuration file for the main project documentation to the latest version. Add missing data structure documentation briefs.
2011-01-03 20:13:06 +00:00
Dean Camera
1d433d4506
Update copyright year on all source files.
2011-01-01 13:00:56 +00:00
Dean Camera
b8fd4dd51c
Fixed incorrect byte ordering in the Audio_Device_WriteSample24 function (thanks to WZab).
2010-12-31 15:03:57 +00:00
Dean Camera
64fe1cd0b2
Rename RingBuffer header functions and typedefs from RingBuff_* to RingBuffer_* so that it matches the header name.
2010-12-31 14:47:20 +00:00
Dean Camera
cb9ef559a0
Fixed inverted Minimus board LEDs.
2010-12-28 22:07:31 +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
c05e7cd7d9
More minor documentation corrections.
2010-12-26 15:09:27 +00:00
Dean Camera
a8b66f318d
Documentation improvements - put driver example code into its own section, fix incorrect and missing section names.
2010-12-26 14:55:26 +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
bfa622d27e
Much more efficient algorithm for the Endpoint/Pipe configuration routine of unordered endpoints/pipes - only reconfigure the endpoints and pipes above the newly configured endpoint/pipe, and don't cache existing endpoint/pipe configuration before use to save SRAM.
2010-12-24 18:06:55 +00:00
Dean Camera
ec537fd84d
Re-add in old Endpoint/Pipe workaround for unordered pipes - add new ORDERED_EP_CONFIG compile time option to override the workaround and use the previous behaviour that imposes correct Endpoint/Pipe ordering but produces smaller compiled code.
2010-12-24 17:05:41 +00:00