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).
16 years ago
Dean Camera
c619e21fa7
Added support for the new ATMEGA32U2, ATMEGA16U2 and ATMEGA8U2 AVR models.
16 years ago
Dean Camera
32086e4f14
Fix small error in last commit preventing compilation in some circumstances.
16 years ago
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.
16 years ago
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.
16 years ago
Dean Camera
da138684e4
Added module file dependancy information to the USB class drivers.
16 years ago
Dean Camera
312748702a
Added better module summaries.
16 years ago
Dean Camera
e9215b4b36
Fix broken Pipe stream function templates due to mixed const/no const use in prototypes.
16 years ago
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.
16 years ago
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.
16 years ago
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.
16 years ago
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).
16 years ago
Dean Camera
3cbdcd3686
Reduce struct name pollution - group typedef struct names by class driver name where appropriate.
16 years ago
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.
16 years ago
Dean Camera
bb23e55f11
Fixed MassStorage demo not clearing the reset flag when a Mass Storage Reset is issued while not processing a command.
16 years ago
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.
16 years ago
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.
16 years ago
Dean Camera
7d7573e4e5
Corrected the ADC driver for the ATMEGA16U4 and ATMEGA32U4 (thanks to Opendous Inc.).
16 years ago
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.
16 years ago
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.
16 years ago
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.
16 years ago
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.
16 years ago
Dean Camera
35bdada24b
Clean up RNDIS demo type define names.
16 years ago
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.
16 years ago
Dean Camera
dfa547164a
Extend USB_GetDeviceConfigDescriptor() routine to require the configuration number within the device to fetch, to add support for multi-configuration devices.
16 years ago
Dean Camera
0d8679cf6b
Re-add in simple scheduler for compatibility with legacy code, mark all scheduler related files as deprecated.
16 years ago
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.
16 years ago
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().
16 years ago
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.
16 years ago
Dean Camera
b5ca3990c2
Added new USB_Host_SetDeviceConfiguration() convenience function. Change over Low Level host demos to use the new routine.
16 years ago
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.
16 years ago
Dean Camera
b61049f722
Fixed broken HIDReportParser.c.
16 years ago
Dean Camera
c75f8bf223
More Doxygen fixes - ensure no undocumented function parameters.
16 years ago
Dean Camera
b7049da11b
Enhanced class drivers to use the same public/private section seperations as other portions of the library.
16 years ago
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.
16 years ago
Dean Camera
9fdc53d765
Fix errors from last commit.
16 years ago
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.
16 years ago
Dean Camera
9798440ca4
Changed to new device mode Class Driver function name prefixes to make way for similar host mode Class drivers.
16 years ago
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.
16 years ago
Dean Camera
ccf5bd19f2
Finished basic documentation of all device mode class drivers.
16 years ago
Dean Camera
1c12341cd7
Completed documentation of the HID device class driver.
16 years ago
Dean Camera
bde64666fb
Finished CDC device class driver documentation.
16 years ago
Dean Camera
ac70ddd0a1
Converted Host mode demos to schedulerless. Fixed host mode broken due to earlier Start-of-frame event experiments.
16 years ago
Dean Camera
6a7c298c0f
Synchronise with the 090605 release.
16 years ago
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.
16 years ago
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.
16 years ago
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.
16 years ago
Dean Camera
4897ef8972
Ensure all USB device class drivers have the same three main functions as their interface for consistency.
16 years ago
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.
16 years ago
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.
16 years ago