Dean Camera
5ca1d7bf8f
Fix redefinition warning when USB_DEVICE_ONLY is set on an AVR which does not support USB host mode.
2009-07-30 07:45:36 +00:00
Dean Camera
fef185a409
Cleanup USBMode.h to simplify preprocessor logic.
2009-07-29 02:49:34 +00:00
Dean Camera
bb05712efe
Added 404 errors to the RNDIS Webserver example.
2009-07-29 01:40:42 +00:00
Dean Camera
6928f17b64
Extend the automatic serial number descriptor code to read out and send all 10 bytes (20 characters) of the internal serial number on supported AVRs, rather than just the first 6 bytes (12 characters).
2009-07-28 16:12:09 +00:00
Dean Camera
7f3f39b575
Fixed report data alignment issues in the MouseHostWithParser demo when X and Y movement data size is not a multiple of 8 bits.
...
Fixed HID Report Descriptor Parser not correctly resetting internal states when a REPORT ID element is encountered.
2009-07-28 15:14:54 +00:00
Dean Camera
e426463355
Better solution - change compile time token names to DEVICE_STATE_AS_GPIOR and HOST_STATE_AS_GPIOR and allow the user to set them to the index of the GPIOR register within the device to use.
2009-07-28 13:12:14 +00:00
Dean Camera
c1be307393
Added HOST_STATE_AS_GPIOR1 and DEVICE_STATE_AS_GPIOR0 compile time options, the latter of which is used in the bootloaders, to reduce code size.
2009-07-28 13:01:44 +00:00
Dean Camera
864196c884
State information for class drivers is now zeroed out during enumeration (both in device and host mode) to ensure sane values after each enumeration. User code should no longer explicitly set state information as this is no longer preserved.
2009-07-27 23:19:17 +00:00
Dean Camera
b9dd51cd63
Collapse configuration descriptor size retrieval and size testing into a single if statement within the new host mode class driver demos for clarity.
2009-07-27 10:55:21 +00:00
Dean Camera
84c3c4a3d9
Change Host mode class driver Pipe configuration routines -- better to let the application fetch the configuration descriptors once, and then pass them to each class driver in turn.
2009-07-27 10:48:55 +00:00
Dean Camera
5251bc6e4e
Add new MouseHost Class Driver demo, unfinished, to allow for better testing of the new prototype Host Mode Class Driver framework. Flesh out start of a HID class Host mode class driver.
2009-07-27 10:31:07 +00:00
Dean Camera
05fa6e0c43
Corrected new Pipe_IsEndpointBound() function.
...
Completed host CDC class driver enumeration code.
2009-07-26 10:45:33 +00:00
Dean Camera
cbbd3d746a
Added new Pipe_BoundEndpointNumber() and Pipe_IsEndpointBound() functions.
2009-07-26 10:22:16 +00:00
Dean Camera
200821fe82
Added new LEDs_ToggleLEDs() function to the Board LEDs driver.
2009-07-24 01:44:01 +00:00
Dean Camera
3991c94b38
Ensure new Benito Programmer project matches Don's established LED behaviour - flash LED while generating target /RESET pulse, ping-pong LEDs during enumeration.
2009-07-24 01:26:36 +00:00
Dean Camera
a6e85d6ed8
Added new Benito project, a simple modified USB-to-Serial bridge for the programming of AVRs using the official Arduino bootloader.
2009-07-23 10:39:10 +00:00
Dean Camera
5dbfdaa17d
Ensure that the USB_DeviceState variable is properly set upon wakeup events, to the Addressed or Configured state as needed.
...
Add explicit support for the AT90USB646 to the Teensy bootloader now that PJRC have released the Teensy++ board.
Ensure unfinished SideShow demo uses an unallocated PID value within the LUFA range.
2009-07-23 08:00:12 +00:00
Dean Camera
7a5d045987
Slight changes to TeensyHID bootloader to ensure it builds under the 2KB boundary.
...
Changed USB_Init() and USB_Shutdown() so that they are no longer dependant on oneanother for possible code savings when the interface is never explicitly shut down.
2009-07-21 13:51:34 +00:00
Dean Camera
e071f3897a
Added new USB_DeviceState variable to keep track of the current Device mode USB state.
...
Added new Endpoint_ClearStatusStage() convenience function to assist with the status stages of control transfers.
Removed vague USB_IsConnected global - test USB_DeviceState or USB_HostState explicitly to gain previous functionality.
Removed USB_IsSuspended global - test USB_DeviceState against DEVICE_STATE_Suspended instead.
Fixed possible enumeration errors from spinloops which may fail to exit if the USB connection is severed before the exit condition becomes true.
2009-07-21 13:31:21 +00:00
Dean Camera
44179abcf8
Add PrinterHost demo to the documentation.
2009-07-21 10:29:56 +00:00
Dean Camera
d0db78432f
Add extra tests to the MassStorage device demo and class driver for validating command blocks from the host.
2009-07-21 04:46:48 +00:00
Dean Camera
67f390fe74
Add explicit guards to all device mode tasks to ensure the device is connected and configured before running the task, to prevent any user tasks from locking up the main USB task if the device has not been properly configured.
2009-07-21 02:48:41 +00:00
Dean Camera
292fc9b65e
Move unfinished SideShow source files to nested Lib directory for clarity.
2009-07-20 14:23:47 +00:00
Dean Camera
4f747e7b76
Change Doxygen configuration files to not produce 4096 directories for the documentation files -- the LUFA components do not generate enough documentation files to justify the large performance hit of creating so many directories.
...
Fix missing Doxygen documentation in the Class Driver Mass Storage Device demo.
2009-07-20 14:07:02 +00:00
Dean Camera
3ee3ed2d6d
Add PrinterHost to the project file and Host LowLevel directory makefile.
2009-07-20 13:41:37 +00:00
Dean Camera
f3c061d5c8
Fixed PrinterHost demo Printer_GetDeviceID() routine not removing the Device ID string length from the start of the returned array (thanks to John Andrews).
...
Fixed error in new pipe stream function template system not setting the right device token for R/W operations (also thanks to John Andrews).
2009-07-20 10:19:13 +00:00
Dean Camera
cf313989e6
Don't send terminal RESET codes via serial - just set the foreground colour and assume the user has the background set to something sane, so that the demos don't wipe out custom user terminal settings.
2009-07-19 13:17:38 +00:00
Dean Camera
786479faf0
Add partial project documentation to the incomplete PrinterHost demo.
...
Change over Printer_GetDeviceID() to require a pointer to the destination buffer plus the buffer size, rather than using a pointer to a special structure.
Make new Printer_SendData() function to hide the implementation of sending data to an attached printer, cleaning up the main demo source file body.
2009-07-19 12:36:19 +00:00
Dean Camera
9d2613d908
Fixed incorrect PIPE_EPNUM_MASK mask causing pipe failures on devices with endpoint addresses of 8 and above (thanks to John Andrews).
2009-07-19 09:04:25 +00:00
Dean Camera
d6543dee0d
Minor updates to the Magstripe and MissileLauncher projects to fix bugs and improve performance.
...
Fixed error in GenericHID descriptors preventing it from passing the USB-IF HID tests (thanks to Søren Greiner).
2009-07-16 15:00:10 +00:00
Dean Camera
c619e21fa7
Added support for the new ATMEGA32U2, ATMEGA16U2 and ATMEGA8U2 AVR models.
2009-07-16 08:57:51 +00:00
Dean Camera
32086e4f14
Fix small error in last commit preventing compilation in some circumstances.
2009-07-16 08:32:20 +00:00
Dean Camera
37f8a84f35
Added new TOTAL_NUM_CONFIGURATIONS option, removed USE_SINGLE_DEVICE_CONFIGURATION compile time option (but silently convert it to USE_SINGLE_DEVICE_CONFIGURATION internally for compatibility).
...
Added new USE_FLASH_DESCRIPTORS compile time option. By default, descriptors can now lie in mixed memory spaces (specified by a new parameter to the CALLBACK_USB_GetDescriptor() function) unless one of the USE_*_DESCRIPTORS compile time option is specified.
2009-07-16 08:15:27 +00:00
Dean Camera
f85a53a31b
Fix HID class device driver -- if a SetIDle request is issued with the LSB of wValue set to zero, the idle period must be set for all HID interfaces.
...
Fix Keyboard and Mouse demos, Idle period is now multiplied by 4 as the period is read into and sent out of the device to ensure it is always stored as a multiple of 1ms. Fixes Keyboard demo using an initial Idle period of 2s rather than 500ms (thanks to Brian Dickman).
Move out the internal device serial descriptor reading routine into a seperate static function, rather than being part of USB_Device_GetDescriptor.
2009-07-15 05:49:19 +00:00
Dean Camera
da138684e4
Added module file dependancy information to the USB class drivers.
2009-07-14 07:59:34 +00:00
Dean Camera
312748702a
Added better module summaries.
2009-07-14 07:33:06 +00:00
Dean Camera
e9215b4b36
Fix broken Pipe stream function templates due to mixed const/no const use in prototypes.
2009-07-13 12:44:47 +00:00
Dean Camera
73d9fafc0f
Added new EEPROM and FLASH buffer versions of the Endpoint and Pipe stream functions. Changed Endpoint.c and Pipe.c to use a templated system to build the seperate functions, rather than duplicating each function's code many times.
2009-07-13 12:38:30 +00:00
Dean Camera
1d26e78258
Added compatibility list to the documentation of each individual demo.
...
Documented FAST_STREAM_TRANSFERS compile time option.
Reduced the TCP window size for the RNDIS demos (Class and LowLevel) to make them compatible with the AT90USB64x.
2009-07-13 06:44:14 +00:00
Dean Camera
0fcbe22c9e
Added new HOST_STATE_WaitForDeviceRemoval host state machine state for non-blocking disabling of device communications until the device has been removed (for use when an error occurs or communications with the device have completed). Changed over all host mode demos to use the new state.
...
Added verbose documentation for each of the USB Host state machine states.
2009-07-13 05:34:43 +00:00
Dean Camera
a54ed0085b
Seperated out parts of the PrinterHost incomplete demo into a seperate Lib subdirectory.
...
Fixed Host mode to Device mode UID change not causing a USB Disconnect event when a device was connected.
2009-07-13 04:46:52 +00:00
Dean Camera
e0af6014a7
Added incomplete PrinterHost demo application.
...
Seperated out Lib components of the incomplete BluetoothHost demo application out into a seperate Lib subfolder.
Changed F_CLOCK entries in project makefiles to alias to F_CPU by default, as this is the most common case.
2009-07-11 15:05:56 +00:00
Dean Camera
86e6ed7f31
Dataflash_WaitWhileBusy() now always ensures that the dataflash is ready for the next command immediately after returning, no need to call Dataflash_ToggleSelectedChipCS() afterwards.
...
Added new DATAFLASH_CHIP_MASK() macro to the Dataflash driver, which returns the Dataflash select mask for the given chip index.
Updated MassStorage device block write routines to use ping-pong Dataflash buffering to increase throughput by around 30%.
2009-06-29 09:30:06 +00:00
Dean Camera
f1076ac4d6
Added const modifiers to device mode class drivers.
...
Added parameter directions to function parameter documentation.
Added new experimental FAST_STREAM_FUNCTIONS compile time option to speed up stream transfers at the expense of a higher FLASH consumption (needs testing to verify improved throughput).
2009-06-28 13:39:08 +00:00
Dean Camera
3cbdcd3686
Reduce struct name pollution - group typedef struct names by class driver name where appropriate.
2009-06-26 11:43:56 +00:00
Dean Camera
7366f590f5
Rename some of the library documentation files.
2009-06-26 10:25:59 +00:00
Dean Camera
3bd4011c09
Split Getting Started page of the documentation into its own section.
2009-06-26 10:24:54 +00:00
Dean Camera
1756087c3e
Optimize vendor/product description string display code in MassStorageHost.
...
Remove all Host mode class demos other than the CDCHost class driver demo, so that they can be re-added as they are made once the host mode class framework is designed.
Fixed USB_Host_SendControlRequest() not re-suspending the USB bus when initial device ready-wait fails.
Fixed USB Pad regulator not being disabled on some AVR models when the USB_OPT_REG_DISABLED option is used.
2009-06-26 09:58:43 +00:00
Dean Camera
bb23e55f11
Fixed MassStorage demo not clearing the reset flag when a Mass Storage Reset is issued while not processing a command.
2009-06-23 08:45:46 +00:00
Dean Camera
a3a04aa671
Pipe_ConfigurePipe() now automatically defaults IN pipes to accepting infinite IN requests, this can still be changed by calling the existing \ref Pipe_SetFiniteINRequests() function.
2009-06-23 08:03:09 +00:00
Dean Camera
7f81803aaa
Fixed CDCHost demo unfreezing IN pipes during configuration, rather than during use.
...
Changed Pipe stream functions to automatically set the pipe token, allowing them to be used on bidirectional pipes without having to explicitly call Pipe_SetPipeToken() beforehand.
2009-06-23 07:55:18 +00:00
Dean Camera
189d0c7e66
Add demos/bootloaders/projects overview to the manual.
2009-06-22 11:32:51 +00:00
Dean Camera
7d7573e4e5
Corrected the ADC driver for the ATMEGA16U4 and ATMEGA32U4 (thanks to Opendous Inc.).
2009-06-22 10:23:47 +00:00
Dean Camera
a34cccf099
Optimize unique serial number reading code for size -- remove atoi/toupper references, replace with hand-rolled code as the input has known size constraints.
2009-06-21 13:52:21 +00:00
Dean Camera
730624f745
Added new USE_INTERNAL_SERIAL define for using the unique serial numbers in some AVR models as the USB device's serial number, added NO_INTERNAL_SERIAL compile time option to turn off new serial number reading code. Updated Mass Storage and CDC based demos to use the new device serial number if the device it is compiled for supports it.
2009-06-21 09:22:31 +00:00
Dean Camera
9d506553aa
Trim unique serial number created by the USE_INTERNAL_SERIAL option to 12 characters rather than 20 - apparently Windows will implode if a serial number is too long.
2009-06-21 08:04:10 +00:00
Dean Camera
b2de451959
Add new temp LUFA project logo to the manual.
2009-06-21 04:48:05 +00:00
Dean Camera
00d0883507
Added USE_INTERNAL_SERIAL compile time option to automatically read out the internal unique serial number as the device's serial number descriptor on supported AVR models.
2009-06-20 11:43:26 +00:00
Dean Camera
35bdada24b
Clean up RNDIS demo type define names.
2009-06-19 07:29:02 +00:00
Dean Camera
feabfd12ce
Fix makefiles -- the auto-addition of -D switches to each LUFA compile time option was faulty, due to GNUMake becomming confused by the spaces in the USE_STATIC_OPTIONS lines. Make user add in the switches explicitly instead.
2009-06-19 05:08:04 +00:00
Dean Camera
beb0b2bda0
Move LUFA compile time options to a new section in the application makefiles for clarity.
2009-06-19 04:34:35 +00:00
Dean Camera
dfa547164a
Extend USB_GetDeviceConfigDescriptor() routine to require the configuration number within the device to fetch, to add support for multi-configuration devices.
2009-06-19 03:37:47 +00:00
Dean Camera
0d8679cf6b
Re-add in simple scheduler for compatibility with legacy code, mark all scheduler related files as deprecated.
2009-06-19 03:21:03 +00:00
Dean Camera
f896c00c48
Break device mode class driver interfaces into seperate config and state structs which are then combined, for clarity. Move device mode class driver interfaces back into the device mode class driver headers from the common class headers to make room for host class interfaces.
2009-06-18 10:31:55 +00:00
Dean Camera
e338cb6f32
Added new USB_Host_ClearPipeStall() convenience function to clear a stall condition on an attached device's endpoint.
...
Added new USB_Host_GetDeviceDescriptor() convenience function to retrieve the attached device's Device descriptor.
Make Pipe_ConfigurePipe() mask the given endpoint number against PIPE_EPNUM_MASK to ensure the endpoint IN direction bit is cleared to prevent endpoint type corruption.
Fix documentation mentioning Pipe_GetCurrentToken() function when real name is Pipe_GetPipeToken().
2009-06-18 07:53:51 +00:00
Dean Camera
2b21a1552d
Remove hardcoded DOT path from all Doxygen config files.
...
Better documentation for the MissleLauncher project - add credit to PyLauncher project.
2009-06-16 13:50:02 +00:00
Dean Camera
dcf303762a
Pipe_GetErrorFlags() now returns additional error flags for overflow and underflow errors.
...
Change MIDI demos to use real MIDI command values, and shift for the USB wrapper, rather than shift for the MIDI bytes. This is a little confusing for the MIDI USB wrapper, but allows for the use of real standardized MIDI command values.
2009-06-16 07:17:22 +00:00
Dean Camera
39d07c3da0
Added USB Missle Launcher project, submitted by Dave Fletcher.
2009-06-16 05:53:27 +00:00
Dean Camera
b5ca3990c2
Added new USB_Host_SetDeviceConfiguration() convenience function. Change over Low Level host demos to use the new routine.
2009-06-16 04:20:21 +00:00
Dean Camera
ab76c52e14
Move main library documentation pages into a new ManPages subdirectory.
2009-06-15 13:57:57 +00:00
Dean Camera
84d7783350
Remove ConfigDescriptor.c/.h files from the ClassDriver Host demos, as they will be obsoleted when the Host mode class drivers are complete. Add new StillImage stub class driver common header.
2009-06-15 13:42:34 +00:00
Dean Camera
345506b11c
Add author image to library documentation.
2009-06-15 11:12:39 +00:00
Dean Camera
48b3c9976c
Use sub pages in main library documentation to improve readability.
2009-06-15 11:01:58 +00:00
Dean Camera
b61049f722
Fixed broken HIDReportParser.c.
2009-06-15 08:58:55 +00:00
Dean Camera
c75f8bf223
More Doxygen fixes - ensure no undocumented function parameters.
2009-06-15 08:36:12 +00:00
Dean Camera
b7049da11b
Enhanced class drivers to use the same public/private section seperations as other portions of the library.
2009-06-15 04:38:42 +00:00
Dean Camera
afe6ae1402
Add host mode USB Class driver stubs, add beginnings of a CDC host class driver.
...
Split out common defines/types from class drivers into a seperate common class driver directory.
Make central USB Class driver dispatch headers, used for both device and host modes.
2009-06-14 15:55:13 +00:00
Dean Camera
9fdc53d765
Fix errors from last commit.
2009-06-14 07:57:04 +00:00
Dean Camera
4d3a594f3e
Changed per-device controller preprocessor checks over to per-device series for better device control.
...
Fixed error in Endpoint.c using HSOFI rather than SOFI for counting elapsed milliseconds.
2009-06-14 07:44:02 +00:00
Dean Camera
9798440ca4
Changed to new device mode Class Driver function name prefixes to make way for similar host mode Class drivers.
2009-06-11 06:15:45 +00:00
Dean Camera
462fb500d7
Move temp Todo list from the Changelog to a new Future Changes page in the documentation.
2009-06-10 07:20:08 +00:00
Dean Camera
34f6e0dd33
Deleted Host ClassDriver demos -- not yet started, faster to rebase new ClassDriver demos from the newly schedulerless LowLevel host demos rather than re-convert each demo from the previous scheduler-based implementations.
...
Fixes to MassStorageHost demo to improve compatibility with more USB drives.
2009-06-09 04:27:53 +00:00
Dean Camera
ccf5bd19f2
Finished basic documentation of all device mode class drivers.
2009-06-08 11:31:41 +00:00
Dean Camera
1c12341cd7
Completed documentation of the HID device class driver.
2009-06-08 10:35:42 +00:00
Dean Camera
bde64666fb
Finished CDC device class driver documentation.
2009-06-08 10:06:49 +00:00
Dean Camera
e6881fd166
Error status LEDs shown when device endpoint configuration fails to complete.
...
MIDI device demo no longer blocks if a note change event is sent while the endpoint is not ready.
2009-06-08 07:46:07 +00:00
Dean Camera
ac70ddd0a1
Converted Host mode demos to schedulerless. Fixed host mode broken due to earlier Start-of-frame event experiments.
2009-06-08 07:34:16 +00:00
Dean Camera
33a0184749
Converted device mode low-level demos to schedulerless.
2009-06-07 07:20:33 +00:00
Dean Camera
f51017f8fb
Conversion of old incomplete SideShow demo to new APIs.
2009-06-05 07:52:53 +00:00
Dean Camera
6a7c298c0f
Synchronise with the 090605 release.
2009-06-05 06:46:23 +00:00
Dean Camera
3d1baa6f95
Added multiple Report ID support to the HID class driver. Removed OUT endpoint support from HID driver (all OUT reports are now processed through control requests) as a seperate endpoint had issues with determining the exact output report length.
2009-06-05 02:23:31 +00:00
Dean Camera
7665bf323e
Fixed EVENT_USB_CDC_ControLineStateChanged() event not taking the CDC interface structure as a parameter.
...
Converted TestApp demo over to the new demo structure.
More class driver documentation improvements.
2009-06-04 06:26:35 +00:00
Dean Camera
dc42c5eb6b
Added Doxygen documentation to the Audio class driver. Added new modules for each of the new device class drivers to the library documentation.
2009-06-04 04:02:55 +00:00
Dean Camera
4897ef8972
Ensure all USB device class drivers have the same three main functions as their interface for consistency.
2009-06-04 03:03:48 +00:00
Dean Camera
a67bd74e3e
Minor documentation page updates.
...
Redocumented all device demos, now that they have changed over to the new USB class drivers.
Added C linkage to class drivers for C++ support.
Added prefixes to most of the class driver constants to prevent name clashes.
2009-06-04 02:55:30 +00:00
Dean Camera
7c5444b89a
Removed new Start of Frame event from the library; performance suffered far too much and it was only useful in one of the standard classes (HID). Altered HID demos to use the previous method of tracking millisecond periods via a hardware timer rather than the SOF events.
...
Fixed MIDI class driver blocking on unread events to the host.
2009-06-02 10:54:32 +00:00
Dean Camera
74b7c07e96
Add MIDI class driver, update MIDI device demo to use the new USB class driver. All device demos/projects have now been converted to the new library class drivers, although documentation is yet to be completed.
2009-06-01 12:01:53 +00:00
Dean Camera
d1e5266036
Commit of new class abstraction APIs for all device demos other than the MIDI demo - not documented yet.
...
Removed scheduler and memory allocation libraries.
Added new EVENT_USB_StartOfFrame event in the library to indicate the start of each USB frame (when generated).
Removed Tx interrupt from the USBtoSerial demo; now sends characters via polling to ensure more time for the Rx interrupt.
2009-06-01 11:03:39 +00:00
Dean Camera
2440ca268a
Fix broken Host mode, from the recent API changes.
2009-05-26 05:16:02 +00:00
Dean Camera
7eb4eb7cdd
Fix all device mode demos broken in the recent API changes.
...
Change USBtoSerial Tx to polling-driven rather than interrupt driven, to ensure more time for the Rx interrupt to be serviced.
2009-05-26 04:46:35 +00:00
Dean Camera
b7ef7f49c9
Moved out each demos' functionality library files (e.g. Ring Buffer library) to /Lib directories for a better directory structure.
2009-05-22 06:17:57 +00:00
Dean Camera
d0806c817c
Deleted StdDescriptors.c, renamed USB_GetDescriptor() to CALLBACK_USB_GetDescriptor, moved ConfigDescriptor.c/.h from the LUFA/Drivers/USB/Class/ directory to LUFA/Drivers/USB/HighLevel/ in preperation for the new USB class APIs.
2009-05-22 05:23:00 +00:00
Dean Camera
b3a4d8512b
Fixed incorrect PID value being used in the USBtoSerial project (thanks to Phill).
2009-05-20 14:50:26 +00:00
Dean Camera
59becad82f
Fix broken doxygen reference in last commit.
2009-05-19 10:36:39 +00:00
Dean Camera
4a8ac5e474
USB_IsConnected is now cleared before the USB_Disconnect() event is fired in response to VBUS being removed.
...
Minor documentation improvements.
2009-05-19 10:33:29 +00:00
Dean Camera
2ee9fc7077
Rewritten event system to remove all macros, to make user code clearer.
...
Fixed incorrect ENDPOINT_EPNUM_MASK mask preventing endpoints above EP3 from being selected (thanks to Jonathan Oakley).
Removed STREAM_CALLBACK() macro - callbacks now use regular function definitions to clarify user code.
Removed DESCRIPTOR_COMPARATOR() macro - comparators should now use regular function definitions to clarify user code.
2009-05-18 10:05:21 +00:00
Dean Camera
72c2922e38
Removed DESCRIPTOR_ADDRESS() macro as it was largely supurflous and only served to obfuscate code.
2009-05-17 07:44:00 +00:00
Dean Camera
eeba38e343
Create a new function pointer type in StreamCallbacks.h for endpoint/pipe stream callbacks, to make stream function prototypes clearer.
2009-05-15 12:27:32 +00:00
Dean Camera
76d5e99bb8
Fix to previous patch (make CDCHost demo deallocate pipes when an invalid CDC interface is skipped).
...
Remove the saving of the USB_GetNextDescriptorComp() return value in all host demos, since it went unused anyway; replaced with a simple check against the success error code for clarity.
2009-05-15 08:02:30 +00:00
Dean Camera
fabfdd454a
Fixed CDCHost not clearing configured endpoints and resetting configured endpoints mask when a partially enumerated invalid CDC interface is skipped.
2009-05-15 07:38:35 +00:00
Dean Camera
32f0f605ef
Removed all user pipe/endpoint interrupt APIs, added internal library support for interrupt driven control endpoints when in device mode by defining INTERRUPT_CONTROL_ENDPOINT token and passing it to the compiler via the -D switch.
2009-05-14 10:07:08 +00:00
Dean Camera
0d5baf9bb3
Fixed Device Mode not handling Set Feature and Clear Feature Chapter 9 requests that are addressed to the device (thanks to Brian Dickman).
2009-05-13 22:40:08 +00:00
Dean Camera
4904b10ef6
Moved USB Host state machine code out from USBTask.c and into Host.c, where it more properly belongs.
2009-05-13 14:13:57 +00:00
Dean Camera
958a1b4e2b
Fixed Mouse and Keyboard device demos not acting in accordance with the HID specification for idle periods (thanks to Brian Dickman).
...
Removed support for endpoint/pipe non-control interrupts; these did not act in the way users expected, and had many subtle issues.
2009-05-12 08:28:02 +00:00
Dean Camera
ea74397095
Fixed RNDISEthernet not working under Linux due to Linux requiring an "optional" request which was unhandled.
2009-05-11 08:58:53 +00:00
Dean Camera
e0985b9950
Fixed bug in RNDISEthernet and DualCDC demos not using the correct USB_ControlRequest structure for control request data.
...
Fixed documentation showing incorrect USB mode support on the supported AVRs list.
2009-05-11 07:52:13 +00:00
Dean Camera
3f48497874
Fix broken Set Feature/Clear Feature chapter 9 request (incorrect status stage clearing).
...
Commit for the 090510 release.
2009-05-10 05:23:35 +00:00
Dean Camera
c7aceb2c7f
Serial driver now correctly calculates the baud register value when in double speed mode.
...
Init function of the Serial driver is now static inline to product smaller code for the common-case of static init.
2009-05-07 11:12:23 +00:00
Dean Camera
938f86d063
Fix build errors in Joystick device demo and library LEDs driver (on *nix systems).
2009-05-07 06:33:07 +00:00
Dean Camera
526e398986
Fixed inability to enumerate any devices while in host mode (broken in a previous commit).
2009-05-07 05:30:19 +00:00
Dean Camera
2bd88ebc4f
Minor correction to the DevChapter9.c handling of Set and Clear feature requests -- remote wake up requests now complete correctly rather than stalling the request.
2009-05-06 13:17:38 +00:00
Dean Camera
a908773a13
Change device demos to cache the board button values in the same manner as the board joystick to maintain consistency.
2009-05-06 12:43:00 +00:00
Dean Camera
63a8f66d92
Changed HWB board driver to Buttons driver, to allow for the support of future boards with more than one mounted GPIO button.
2009-05-06 07:50:34 +00:00
Dean Camera
f11f69fd29
Fixed missing semicolon in the ATAVRUSBRF01 LED board driver code, changed LED board driver code to define dummy LED masks for the first four board LEDs so that user code can be compiled for boards with less than four LEDs without code modifications (thanks to Morten Lund).
2009-05-05 14:02:02 +00:00
Dean Camera
253deb996f
Changed PIPE_CONTROLPIPE_DEFAULT_SIZE from 8 to 64 to try to prevent problems with faulty devices which do not respect the given wLength value when reading in the device descriptor.
...
Further documentation improvements - removed file view from the main library documentation, replaced file references in the documentation with group references.
2009-05-04 12:55:00 +00:00
Dean Camera
0137001ea9
Fixed naming of OTG.h functions, to make them consistent with the rest of the library API.
2009-05-03 14:24:34 +00:00
Dean Camera
01c4bef107
More minor renaming of library enums and events to try to create a consistent API.
2009-05-03 14:17:24 +00:00
Dean Camera
6a8e27f7ee
Fixed Endpoint_Write_Control_* functions writing more data than expected by the host, causing it to panic (thanks to Johannes Raschke).
2009-05-02 13:05:25 +00:00
Dean Camera
13935a31b9
Fixed reversed signature byte ordering in the CDC bootloader (thanks to Johannes Raschke).
2009-05-02 05:49:15 +00:00
Dean Camera
58e42c6ca9
Fixed SPI driver init function not clearing SPI2X bit when not needed.
...
Fixed PREVENT ALLOW MEDIUM REMOVAL command issuing in the MassStorageHost demo using incorrect parameters (thanks to Mike Alex).
Fixed MassStorageHost demo broken due to an incorrect if statement test in MassStore_GetReturnedStatus().
2009-04-26 10:29:59 +00:00
Dean Camera
e21b620bf6
Move the length decrements in the pipe and endpoint stream functions to the point at which the buffers are operated on, to prevent decrements during iterations where no data is exchanged (thanks to Francisco Moraes).
2009-04-26 05:01:06 +00:00
Dean Camera
a504a3a010
Endpoint configuration is now refined to give better output when all configurations have static inputs - removed the now useless STATIC_ENDPOINT_CONFIGURATION compile time token.
2009-04-24 07:28:51 +00:00
Dean Camera
c20a94a4e8
Fixed USB_RemoteWakeupEnabled flag never being set (the REMOTE WAKEUP Set Feature request was not being handled).
...
Renamed the FEATURELESS_CONTROL_ONLY_DEVICE compile-time token to CONTROL_ONLY_DEVICE.
2009-04-23 13:28:12 +00:00
Dean Camera
9cec85bfd9
Documentation enhancements to improve documentation cross-references.
2009-04-22 14:28:55 +00:00
Dean Camera
d860e9e842
USB_HostRequest renamed to USB_ControlRequest, entire control request header is now read into USB_ControlRequest in Device mode rather than having the library pass only partially read header data to the application.
...
The USB_UnhandledControlPacket event has had its parameters removed, in favour of accessing the new USB_ControlRequest structure.
The Endpoint control stream functions now correctly send a ZLP to the host when less data than requested is sent.
2009-04-22 13:03:11 +00:00
Dean Camera
e5e7eaee7a
Removed specialized Endpoint_ClearControl* and Pipe_ClearControl* macros in favour of the standard Endpoint_Clear* and Pipe_Clear* macros (Atmel have confirmed no effect from setting FIFOCON on control endpoints).
2009-04-21 06:05:50 +00:00
Dean Camera
37b2130fb2
Changed over all deprecated GCC structure tag initializers to the standardized C99 format (thanks to Mike Alexander).
2009-04-20 11:21:36 +00:00
Dean Camera
619b0b7b6b
Spell checked non-source documentation pages.
2009-04-19 14:29:57 +00:00
Dean Camera
663f449c10
Fixed incorrect HID interface class and subclass values in the Mouse and KeyboardMouse demos (thanks to Brian Dickman).
...
Capitolised the "Descriptor_Search" and "Descriptor_Search_Comp" prefixes of the values in the DSearch_Return_ErrorCodes_t and DSearch_Comp_Return_ErrorCodes_t enums.
Minor documentation improvements.
2009-04-19 11:43:21 +00:00
Dean Camera
32e735b2b2
Removed "Host_" section of the function names in ConfigDescriptor.h, as most of the routines can now be used in device mode on the device descriptor.
...
Renamed functions in the HID parser to have a "USB_" prefix and the acronym "HID" in the name.
Further module-level documentation updates.
2009-04-17 08:33:53 +00:00
Dean Camera
d38fa49cb6
More documentation changes for better module-level documentation rather than file-level documentation.
2009-04-17 05:04:21 +00:00
Dean Camera
6380d057f8
Fixed CDC and USBtoSerial demos freezing where buffers were full while still transmitting or receiving (thanks to Peter Hand).
2009-04-17 04:10:30 +00:00
Dean Camera
11bb2f2172
Renamed Serial_Stream driver to SerialStream to remain consistent with the rest of the library's naming scheme for files.
2009-04-17 00:20:00 +00:00
Dean Camera
5712b8dff6
Rename Drivers/AT90USBXXX to Drivers/Peripheral.
2009-04-17 00:12:31 +00:00
Dean Camera
710d48a48a
Partial commit: Rename references to Drivers/AT90USBXXX to Drivers/Peripheral.
2009-04-17 00:06:53 +00:00
Dean Camera
1c16ae399a
Partial commit: change references to Drivers/AT90USBXXX to Drivers/Peripheral.
2009-04-16 23:59:14 +00:00
Dean Camera
8f6b4ddf76
Fixed GenericHIDHost demo report write routine incorrect for control type requests (thanks to Andrei Krainev).
...
Removed Endpoint_ClearCurrentBank() and Pipe_ClearCurrentBank() in favour of new Endpoint_ClearIN(), Endpoint_ClearOUT(), Endpoint_ClearControlIN(), Endpoint_ClearControlOUT(), Pipe_ClearIN(), Pipe_ClearOUT(), Pipe_ClearControlIN() and Pipe_ClearControlOUT() macros (done to allow for the detection of packets of zero length).
Renamed *_ReadWriteAllowed() macros to *_IsReadWriteAllowed() to remain consistent with the rest of the LUFA API.
Endpoint_IsSetupReceived() macro has been renamed to Endpoint_IsSETUPReceived(), Endpoint_ClearSetupReceived() macro has been renamed to Endpoint_ClearControlSETUP(), the Pipe_IsSetupSent() macro has been renamed to Pipe_IsSETUPSent() and the Pipe_ClearSetupSent() macro is no longer applicable and should be removed - changes made to compliment the new endpoint and pipe bank management API.
Updated all demos, bootloaders and projects to use the new endpoint and pipe management APIs (thanks to Roman Thiel).
Updated library doxygen documentation, added groups, changed documentation macro functions to real functions for clarity.
Removed old endpoint and pipe aliased read/write/discard routines which did not have an explicit endian specifier for clarity.
Removed the ButtLoadTag.h header file, as no one used for its intended purpose anyway.
2009-04-16 08:50:34 +00:00
Dean Camera
ef06bfd1c0
Fixed minor issue with the RNDISEthernet demo DHCP protocol decoder routine using incorrectly named variables (thanks to Jonathan Oakley).
...
Fixed GenericHIDHost demo report write routine incorrect for control type requests (thanks to Andrei).
2009-04-15 00:56:12 +00:00
Dean Camera
ecaf872177
Corrected AudioInput and AudioOutput demos, to fix endpoint underflows due to rounding in the sample reload timer.
2009-04-14 12:07:41 +00:00
Dean Camera
6a5a37d7d1
The USB_Host_SendControlRequest() function no longer automatically selects the Control pipe (pipe 0), so that other control type pipes can be used with the function.
...
The USB Host management task now saves and restores the currently selected pipe before and after the task completes.
2009-04-14 08:35:47 +00:00
Dean Camera
fea5d08512
Adjusted sample CTC timer calculations in the AudioOutput and AudioInput demos to account for situations where the division results in a value with no remainder, requiring one to be subtracted from the result (thanks to Robin Theunis).
2009-04-14 08:17:24 +00:00
Dean Camera
af02b5b0c9
Fixed RNDISEthenet demo checking the incorrect message field for packet size constraints (thanks to Jonathan).
...
Fixed WriteNextReport code in the GenericHIDHost demo using incorrect parameter types and not selecting the correct endpoint.
2009-04-13 06:58:46 +00:00
Dean Camera
d3484e6bdd
Fixed GenericHID demo not starting USB and HID management tasks when not using interrupt driven modes (thanks to Carl Kjeldsen).
2009-04-09 00:00:59 +00:00
Dean Camera
51910b4505
Added support to the CDCHost demo for devices with mutiple CDC interfaces which are not the correct ACM type preceeding the desired ACM CDC interface.
2009-04-07 11:46:54 +00:00
Dean Camera
cb7884da50
Added preprocessor checks and documentation to the bootloaders giving information about missing SIGNATURE_x defines due to outdated avr-libc versions.
2009-04-07 04:19:57 +00:00
Dean Camera
557a945ba1
Removed all binary constants and replaced with decimal or hexadecimal constants so that unpatched GCC compilers can still build the code without having to be itself patched and recompiled first.
2009-04-05 07:00:11 +00:00
Dean Camera
7d4cccc22d
Move StdRequestType.h, StreamCallbacks.h, USBMode.h from the LowLevel USB driver directory to the HighLevel USB driver directory, where they are more suited.
2009-04-05 06:27:49 +00:00
Dean Camera
01d388f293
Add call to MassStore_WaitForDataReceived() in MassStore_GetReturnedStatus() to ensure that the CSW has been received in the extended MSC timeout period before continuing, to prevent long processing delays from causing the MassStore_GetReturnedStatus() to early-abort.
2009-04-05 04:05:07 +00:00
Dean Camera
58f550dfb3
Added new PIMA_DATA_SIZE() define to the Still Image Host demo.
2009-04-02 10:13:12 +00:00
Dean Camera
6933f2e1a5
All comments in the library, bootloaders, demos and projects have now been spell-checked and spelling mistakes/typos corrected.
2009-04-01 13:53:58 +00:00
Dean Camera
fb3fcb968e
Minor corrections to the library Doxygen documentation.
2009-04-01 13:10:05 +00:00
Dean Camera
ece9e3d599
Changed GenericHID device demo to use the LUFA scheduler, added INTERRUPT_DATA_ENDPOINT and INTERRUPT_CONTROL_ENDPOINT compile time options.
2009-04-01 07:43:50 +00:00
Dean Camera
6198289b38
Added new GenericHIDHost demo.
...
Corrections to the KeyboardHost and MouseHost demos' pipe handling to freeze and unfreeze the data pipes at the point of use.
2009-04-01 07:21:45 +00:00
Dean Camera
74496a947e
Fixed incorrect defined in Version.h.
...
Fixed Still Image Host SImage_SendData() function not clearing the pipe bank after sending data.
2009-04-01 05:38:43 +00:00
Dean Camera
fa85c5e416
Commit for the 090401 release.
2009-03-31 11:56:00 +00:00
Dean Camera
3aa8620a61
Minor documentation fixes to correct formatting and typos.
2009-03-29 12:59:44 +00:00
Dean Camera
dc83f73ca3
Added new GenericHID device demo application.
2009-03-29 12:42:25 +00:00
Dean Camera
d83d87e1b8
Fixed MagStripe keyboard interface polling interval, increased to 4ms from 2ms to maintain compatibility with Apple MacOS X. Fixed changelog comments on the size of the track buffers when compiling for the AT90USBXXX6/7.
2009-03-29 06:31:24 +00:00
Dean Camera
2acae9b0a3
Add new page to the documentation listing existing LUFA powered projects, fix up some inaccuracies in the documentation.
2009-03-27 08:45:39 +00:00
Dean Camera
ab3de47420
AVRISP Programmer code is no longer in the LUFA mainline, remove it's PID allocation.
2009-03-27 08:23:33 +00:00
Dean Camera
bb4880a9ee
Fixed incorrect ADC driver init register manipulation (thanks to Tobias).
2009-03-27 03:11:58 +00:00
Dean Camera
1c9092a8a6
Fixed USBTask.h not conditionally including HostChapter9.h only when CAN_BE_DEVICE is defined (thanks to Ian Gregg).
2009-03-26 00:20:28 +00:00
Dean Camera
4bb59f9673
Fixed documentation typoes and preprocessor checks relating to misspellings of the USE_RAM_DESCRIPTORS token (thanks to Ian Gregg).
2009-03-25 22:43:00 +00:00
Dean Camera
350141e085
Fixed CDC demo not sending an empty packet after each transfer to prevent the host from buffering incomming data.
...
Altered Project and Bootloader makefiles so that the path to the LUFA library can be set in one place.
2009-03-23 05:43:49 +00:00
Dean Camera
ecf7538430
Combined Keyboad and Mouse normal and interrupt driven host demos into unified Keyboard and Mouse host demos.
2009-03-20 05:39:15 +00:00
Dean Camera
88051e78a2
Combined Mouse, MouseViaInt and MouseFullInt demos into a single unified demo.
...
Corrections to Keyboard demo.
Removed AVRISP_Programmer project due to code quality concerns.
2009-03-19 14:16:12 +00:00
Dean Camera
48400df13c
Combined Keyboard, KeyboardViaInt and KeyboardFullInt demos into a single unified demo.
2009-03-19 13:19:12 +00:00
Dean Camera
9e9fc97fc9
Fixed typos in the SPI driver SPI_SPEED_FCPU_DIV_64 and SPI_SPEED_FCPU_DIV_128 masks (thanks to Markus Zocholl).
2009-03-18 09:14:09 +00:00
Dean Camera
ceb68a0640
Corrected CDC class bootloader to fix a few bugs, changed address counter to store x2 addresses for convenience.
2009-03-17 13:56:26 +00:00
Dean Camera
904ad3abd2
Incomplete non-functional BluetoothHost demo removed until it has reached a stable state to prevent confusion.
2009-03-17 12:58:15 +00:00
Dean Camera
14c5615474
Added DataflashManager_WriteBlocks_RAM() and DataflashManager_ReadBlocks_RAM() functions to the MassStorage demo, to allow for easy interfacing with a FAT library for dataflash file level access.
2009-03-17 10:45:32 +00:00
Dean Camera
d770d98bca
Board Dataflash driver now allows for dataflash ICs which use different shifts for setting the current page/byte address (thanks to Kenneth Clubb).
2009-03-17 04:43:34 +00:00
Dean Camera
e611b250c1
Added extra output to makefiles to indicate the currently selected BOARD parameter.
2009-03-16 11:29:00 +00:00
Dean Camera
0214e096a0
Renamed NO_CLEARSET_FEATURE_REQUEST compile time token to NO_FEATURELESS_CONTROL_ONLY_DEVICE and expanded its function to also remove parts of the Get Status chapter 9 request, to further reduce code usage.
2009-03-11 13:11:58 +00:00
Dean Camera
3803976534
Fixed incorrect/missing control status stage transfers on demos, bootloaders and applications (thanks to Nate Lawson).
2009-03-10 05:56:17 +00:00
Dean Camera
4a09da2098
Removed SetSystemClockPrescaler() macro, the clock_prescale_set() avr-libc macro has been corrected in recent avr-libc versions
2009-03-09 12:28:50 +00:00
Dean Camera
7e7124e40b
Updated makefiles to reflect new dfu-ee programming target invocations (supplied by Opendous, Inc.).
...
Renamed the ATTR_ALWAYSINLINE function attribute macro to ATTR_ALWAYS_INLINE to match the style of the other function attribute macro names.
Added ATTR_ALWAYS_INLINE attribute to several inlined library functions, to ensure they are inlined in all circumstances.
Cleanups to Endpoint.h and Pipe.h. Added better documentation for the endpoint and pipe interrupts.
2009-03-04 08:03:13 +00:00
Dean Camera
5e787a4bb0
Updated changelog to reflect recent commit changes.
2009-03-03 08:19:32 +00:00
Dean Camera
99145a8d7c
Makefiles and library modified to add a new F_CLOCK constant to give the unprescaled master input clock frequency, so that the correct PLL mask can be determined even when the CPU (F_CPU) clock rate is prescaled outside the normal input range of the PLL.
...
Started to clean up the AVRISP Programmer project code, donated by Opendous Inc.
2009-02-26 05:48:47 +00:00
Dean Camera
fa456ce531
USBtoSerial demo now discards all Rx data when not connected to a USB host, rather than buffering characters for transmission next time the device is attached to a host.
2009-02-23 09:30:29 +00:00
Dean Camera
6a10d6b465
Moved all source to the trunk directory.
2009-02-23 07:08:22 +00:00