aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers
Commit message (Collapse)AuthorAgeFilesLines
...
* Cleanup USBMode.h to simplify preprocessor logic.Dean Camera2009-07-292-21/+16
|
* Extend the automatic serial number descriptor code to read out and send all ↵Dean Camera2009-07-281-3/+3
| | | | 10 bytes (20 characters) of the internal serial number on supported AVRs, rather than just the first 6 bytes (12 characters).
* Fixed report data alignment issues in the MouseHostWithParser demo when X ↵Dean Camera2009-07-281-0/+2
| | | | | | 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.
* Better solution - change compile time token names to DEVICE_STATE_AS_GPIOR ↵Dean Camera2009-07-282-13/+19
| | | | and HOST_STATE_AS_GPIOR and allow the user to set them to the index of the GPIOR register within the device to use.
* Added HOST_STATE_AS_GPIOR1 and DEVICE_STATE_AS_GPIOR0 compile time options, ↵Dean Camera2009-07-282-34/+52
| | | | the latter of which is used in the bootloaders, to reduce code size.
* State information for class drivers is now zeroed out during enumeration ↵Dean Camera2009-07-2714-13/+23
| | | | (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.
* Collapse configuration descriptor size retrieval and size testing into a ↵Dean Camera2009-07-271-2/+7
| | | | single if statement within the new host mode class driver demos for clarity.
* Change Host mode class driver Pipe configuration routines -- better to let ↵Dean Camera2009-07-274-42/+18
| | | | the application fetch the configuration descriptors once, and then pass them to each class driver in turn.
* Add new MouseHost Class Driver demo, unfinished, to allow for better testing ↵Dean Camera2009-07-274-19/+169
| | | | of the new prototype Host Mode Class Driver framework. Flesh out start of a HID class Host mode class driver.
* Corrected new Pipe_IsEndpointBound() function.Dean Camera2009-07-263-31/+14
| | | | Completed host CDC class driver enumeration code.
* Added new Pipe_BoundEndpointNumber() and Pipe_IsEndpointBound() functions.Dean Camera2009-07-263-4/+37
|
* Added new LEDs_ToggleLEDs() function to the Board LEDs driver.Dean Camera2009-07-246-24/+56
|
* Ensure that the USB_DeviceState variable is properly set upon wakeup events, ↵Dean Camera2009-07-231-1/+1
| | | | | | | | 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.
* Slight changes to TeensyHID bootloader to ensure it builds under the 2KB ↵Dean Camera2009-07-212-28/+12
| | | | | | 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.
* Added new USB_DeviceState variable to keep track of the current Device mode ↵Dean Camera2009-07-2120-158/+278
| | | | | | | | | | | | 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.
* Add extra tests to the MassStorage device demo and class driver for ↵Dean Camera2009-07-211-0/+2
| | | | validating command blocks from the host.
* Add explicit guards to all device mode tasks to ensure the device is ↵Dean Camera2009-07-214-4/+4
| | | | 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.
* Move unfinished SideShow source files to nested Lib directory for clarity.Dean Camera2009-07-203-9/+4
|
* Fixed PrinterHost demo Printer_GetDeviceID() routine not removing the Device ↵Dean Camera2009-07-203-9/+20
| | | | | | 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).
* Fixed incorrect PIPE_EPNUM_MASK mask causing pipe failures on devices with ↵Dean Camera2009-07-191-1/+1
| | | | endpoint addresses of 8 and above (thanks to John Andrews).
* Added support for the new ATMEGA32U2, ATMEGA16U2 and ATMEGA8U2 AVR models.Dean Camera2009-07-162-3/+10
|
* Fix small error in last commit preventing compilation in some circumstances.Dean Camera2009-07-161-1/+2
|
* Added new TOTAL_NUM_CONFIGURATIONS option, removed ↵Dean Camera2009-07-165-19/+92
| | | | | | 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.
* Fix HID class device driver -- if a SetIDle request is issued with the LSB ↵Dean Camera2009-07-153-53/+70
| | | | | | | | 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.
* Added module file dependancy information to the USB class drivers.Dean Camera2009-07-1413-0/+53
|
* Added better module summaries.Dean Camera2009-07-149-9/+23
|
* Fix broken Pipe stream function templates due to mixed const/no const use in ↵Dean Camera2009-07-131-6/+6
| | | | prototypes.
* Added new EEPROM and FLASH buffer versions of the Endpoint and Pipe stream ↵Dean Camera2009-07-139-879/+752
| | | | 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.
* Added new HOST_STATE_WaitForDeviceRemoval host state machine state for ↵Dean Camera2009-07-133-16/+103
| | | | | | 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.
* Seperated out parts of the PrinterHost incomplete demo into a seperate Lib ↵Dean Camera2009-07-134-12/+12
| | | | | | subdirectory. Fixed Host mode to Device mode UID change not causing a USB Disconnect event when a device was connected.
* Dataflash_WaitWhileBusy() now always ensures that the dataflash is ready for ↵Dean Camera2009-06-291-1/+14
| | | | | | | | 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%.
* Added const modifiers to device mode class drivers.Dean Camera2009-06-2836-295/+689
| | | | | | 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).
* Reduce struct name pollution - group typedef struct names by class driver ↵Dean Camera2009-06-2614-330/+265
| | | | name where appropriate.
* Optimize vendor/product description string display code in MassStorageHost.Dean Camera2009-06-263-1/+5
| | | | | | | | 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.
* Fixed MassStorage demo not clearing the reset flag when a Mass Storage Reset ↵Dean Camera2009-06-232-4/+3
| | | | is issued while not processing a command.
* Pipe_ConfigurePipe() now automatically defaults IN pipes to accepting ↵Dean Camera2009-06-234-9/+6
| | | | infinite IN requests, this can still be changed by calling the existing \ref Pipe_SetFiniteINRequests() function.
* Fixed CDCHost demo unfreezing IN pipes during configuration, rather than ↵Dean Camera2009-06-232-1/+28
| | | | | | 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.
* Corrected the ADC driver for the ATMEGA16U4 and ATMEGA32U4 (thanks to ↵Dean Camera2009-06-222-2/+25
| | | | Opendous Inc.).
* Optimize unique serial number reading code for size -- remove atoi/toupper ↵Dean Camera2009-06-211-13/+35
| | | | references, replace with hand-rolled code as the input has known size constraints.
* Added new USE_INTERNAL_SERIAL define for using the unique serial numbers in ↵Dean Camera2009-06-213-18/+25
| | | | 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.
* Trim unique serial number created by the USE_INTERNAL_SERIAL option to 12 ↵Dean Camera2009-06-212-3/+3
| | | | characters rather than 20 - apparently Windows will implode if a serial number is too long.
* Added USE_INTERNAL_SERIAL compile time option to automatically read out the ↵Dean Camera2009-06-207-28/+106
| | | | internal unique serial number as the device's serial number descriptor on supported AVR models.
* Clean up RNDIS demo type define names.Dean Camera2009-06-196-43/+48
|
* Fix makefiles -- the auto-addition of -D switches to each LUFA compile time ↵Dean Camera2009-06-192-2/+2
| | | | 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.
* Extend USB_GetDeviceConfigDescriptor() routine to require the configuration ↵Dean Camera2009-06-193-6/+9
| | | | number within the device to fetch, to add support for multi-configuration devices.
* Re-add in simple scheduler for compatibility with legacy code, mark all ↵Dean Camera2009-06-192-27/+58
| | | | scheduler related files as deprecated.
* Break device mode class driver interfaces into seperate config and state ↵Dean Camera2009-06-1820-407/+545
| | | | 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.
* Added new USB_Host_ClearPipeStall() convenience function to clear a stall ↵Dean Camera2009-06-185-2/+64
| | | | | | | | | | 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().
* Pipe_GetErrorFlags() now returns additional error flags for overflow and ↵Dean Camera2009-06-162-3/+12
| | | | | | 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.
* Added USB Missle Launcher project, submitted by Dave Fletcher.Dean Camera2009-06-161-1/+1
|