Commit Graph

971 Commits

Author SHA1 Message Date
Dean Camera
84a739ae72 Minor XMEGA USB driver fixes. 2011-12-13 03:40:51 +00:00
Dean Camera
ec3e47a7d0 Change PIPE_PIPENUM_MASK from 0x07 to the more generic 0x0F to allow for full pipe address support in USB host architectures other than the current AVR8 devices. Minor documentation improvements. 2011-12-11 03:04:16 +00:00
Dean Camera
0c59d5993e Altered the Mass Storage Host class driver so that SCSI data STALLs from the attached device can be recovered from automatically without having to reset the Mass Storage interface.
Altered the Mass Storage Host LowLevel demo so that SCSI data STALLs from the attached device can be recovered from automatically without having to reset the Mass Storage interface.
2011-12-01 08:39:43 +00:00
Dean Camera
259a3c9854 Fix typo in the Joystick board driver documentation example code. 2011-11-29 11:31:00 +00:00
Dean Camera
70f3d8e933 Add support for the Paranoid Studio USB2AX boards (hardware revisions 1-3). 2011-11-28 23:43:58 +00:00
Dean Camera
2b23318357 Add dummy board documentation nodes for the XPLAIN_REV1 and TEENSY2 meta board targets. 2011-11-28 13:15:27 +00:00
Dean Camera
cdd4e11fa8 Oops - fix incorrect value of AOA_CSCP_AOADataSubclass in the Android Open Accessory class driver. 2011-11-24 21:35:22 +00:00
Dean Camera
38d7cdf803 Minor Doxygen documentation improvements.
Add missing ATTR_NON_NULL_PTR_ARG and const decorations.
2011-11-24 11:59:52 +00:00
Dean Camera
3b99abb5fc Add new USB_Host_GetDescriptor() function. Alter the USB_Host_GetDeviceDescriptor() and USB_Host_GetDeviceStringDescriptor() convenience functions so that they wrap the new function. 2011-11-24 11:46:04 +00:00
Dean Camera
e915d968a5 Added new USB_Host_GetDeviceConfiguration() and USB_Host_GetInterfaceAltSetting() functions. 2011-11-24 11:33:10 +00:00
Dean Camera
7f8dbb4908 Convert the LowLevel AndroidAccessory demo to use the new class driver constants to reduce code duplication.
Add missing Doxygen documentation.
2011-11-24 01:31:31 +00:00
Dean Camera
8b5aa61601 Add new Android Open Accessory class driver to the library core and add a new Android Open Accessory Host ClassDriver demo. 2011-11-24 01:24:01 +00:00
Dean Camera
a81ccd83fd Added support for version 2 of the Teensy boards (thanks to Christoph Redecker). 2011-11-23 00:15:58 +00:00
Dean Camera
09577fe541 Add XMEGA compile time tokens to the LUFAConfig.h code template.
Add additional compile time errors to the XMEGA and AVR8 architectures if multiple USE_*_DESCRIPTORS compile time tokens are enabled.

Add support for the NO_INTERNAL_SERIAL compile time token on the XMEGA targets.
2011-11-23 00:04:16 +00:00
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
eb2e883fd3 Added Class, ClassDevice, ClassHost and ClassCommon to the internal class driver source filenames to prevent ambiguities. 2011-11-18 06:26:51 +00:00
Dean Camera
3e04487279 Fixed misspelled HID_KEYBOARD_MODIFIER_* macros in the HID class driver (thanks to Laszlo Monda). 2011-11-16 08:19:34 +00:00
Dean Camera
dc09ccab8b Minor corrections for the XMEGA USB controller. Add compile time warning if the USB clock frequency is provably incorrect. 2011-11-14 07:31:40 +00:00
Dean Camera
e30be658c9 Add missing SVN eol-style property to ensure that source code line endings and converted to the native values on checkout. 2011-11-09 23:35:16 +00:00
Dean Camera
8df0cf3241 Fixed race conditions in the CDC, HID and Mass Storage class drivers when processing some control requests. 2011-11-09 12:29:14 +00:00
Dean Camera
0ad6f1fb53 Add partial support for the Atmel A3BU Xplained's Dataflash IC (physical USART-as-SPI transport driver still pending). 2011-11-01 06:06:41 +00:00
Dean Camera
cb7f7a8241 Fix XMEGA core USB driver endpoint code to prevent incorrect STALL determination. 2011-11-01 06:05:54 +00:00
Dean Camera
139c1afeeb Add XMEGA SPI peripheral driver. 2011-10-31 04:30:47 +00:00
Dean Camera
7992202603 Add support for the new MEGA B series devices. 2011-10-31 03:39:12 +00:00
Dean Camera
00ad509061 Add support for the Atmel XMEGA A3BU Xplained board.
More XMEGA USB core fixes.
2011-10-31 03:31:00 +00:00
Dean Camera
0304916356 Fix XMEGA core USB driver so that device mode enumerates correctly on the host PC. 2011-10-31 02:26:21 +00:00
Dean Camera
1e0c3bc69a Namespace out the internal endpoint globals in the XMEGA architecture. 2011-10-30 14:05:34 +00:00
Dean Camera
fe87b8a225 Update ENDPOINT_EPNUM_MASK to be 0x0F, the maximum possible USB endpoint number within a device, rather than just the maximum number for the AVR8 and UC3 targets of 0x07. 2011-10-30 14:04:47 +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
b714ffbfa0 Update XMEGA clock management so that the correct 16-bit calibration is used when requested. Fix endpoint descriptor table so that the frame number is stored into the correct location. Add compile time option to source the USB clock from the PLL rather than the internal 32MHz RC oscillator. 2011-10-30 12:06:02 +00:00
Dean Camera
ab43251bf9 Minor documentation fixes. 2011-10-30 07:09:44 +00:00
Dean Camera
028a3c4ab3 XMEGA port improvements; connection and disconnection are now detected correctly. Fixed incorrect interrupt priority levels being set for XMEGA devices. 2011-10-30 07:09:20 +00:00
Dean Camera
f1543ae8ff Fixed CDC class drivers not saving and sending all 16-bits of the control line states (thanks to Matthew Swabey). 2011-10-26 06:51:07 +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
738c9203fc Fixed ring buffer size limited to 255 elements, instead of the intended 65535 elements. 2011-10-18 11:23:23 +00:00
Dean Camera
c15eaa5dae When automatic PLL management mode is enabled on the U4 series AVR8 chips, the PLL is now configured for 48MHz and not a divided 96MHz, to lower power consumption and to keep the system within the datasheet specs for 3.3V operation (thanks to Scott Vitale). 2011-10-12 02:27: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
a4d67bb6ff USB XMEGA support improvements; add DFLL clock platform support, ensure the endpoint table is correctly aligned and configured in the USB controller. 2011-10-07 05:52:35 +00:00
Dean Camera
6553bf5bfb Fix incorrect function call name in USB_Host_SendControlRequest() for AVR8 devices. 2011-10-07 04:38:53 +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
3bb8055459 Fix compile errors for the USB XMEGA parts when the USB driver is used.
Add core support for the ATXMEGA64A1U.

Minor documentation corrections.
2011-10-04 11:40:55 +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
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
Dean Camera
0aa950c241 Fixed incorrect definition of the HID_KEYBOARD_SC_D constant in the HID class driver (thanks to Opendous Inc.).
Add extra comments to the ISPTarget.c source file in the AVRISP-MKII clone project.
2010-12-13 06:05:05 +00:00
Dean Camera
b20d25854d Fixed HID hpst class driver incorrectly binding to HID devices that do not have an OUT endpoint. 2010-12-02 04:28:53 +00:00
Dean Camera
ed9d77aeee Refactored Host mode Class Driver *_Host_ConfigurePipes() routines to be more space efficient when compiled.
Added new *_ENUMERROR_PipeConfigurationFailed error codes for the *_Host_ConfigurePipes() routines.
2010-12-02 01:56:06 +00:00
Dean Camera
c879887dce Fixed broken HID_REQ_GetReport request handler in the Low Level GenericHID demo. 2010-11-29 03:01:31 +00:00
Dean Camera
b87d0b45a2 Added board hardware driver support for the Microsin AVR-USB162 development board. 2010-11-21 10:34:15 +00:00
Dean Camera
55da77d85f Remove internal USB_Device_NibbleToASCII() function in favour of manually inlined code to prevent compilation errors in -O0 optimisation level. 2010-11-21 10:16:44 +00:00
Dean Camera
8f981b5f38 Better documentation for the ANSI terminal escape codes header.
Organise the current version changelog better to group core and non-core changes together.
2010-11-17 06:34:04 +00:00
Dean Camera
0ce2950d81 Added board hardware driver support for the Adafruit U4 breakout board.
Fixed calculation of timer register reload values derived from F_CPU; must subtract one from the division result for the compare value to be correct.

Change AVRISP-MKII rescue clock speed to 4MHz to ensure that a 125KHz ISP speed works regardless of the target's fuses (i.e. DIV8 set).
2010-11-08 03:41:48 +00:00
Dean Camera
210bd4db24 Fix documentation reference error. 2010-11-05 05:26:00 +00:00