Dean Camera
be09f64872
Fixed incorrect function references in the Mass Storage Class driver documentation.
2010-06-03 15:58:22 +00:00
Dean Camera
6d53cdba83
More documentation fixes.
2010-06-03 15:55:28 +00:00
Dean Camera
fc92f9969c
Minor documentation cleanups.
2010-06-03 15:32:45 +00:00
Dean Camera
5144ea76f6
Oops - descriptor pointer should be assigned, not incremented with the new type-safe code.
2010-06-02 15:44:48 +00:00
Dean Camera
6d22a00e8b
Better fix to avoid void pointer arithmetic in ConfigDescriptor.h to regain C++ compatibility (thanks to Michael Hennebry).
2010-06-02 15:28:07 +00:00
Dean Camera
f606afefff
Remove void* arithmetic in the USB_GetNextDescriptor() static inline function, to make the header file C++ compatible once again. Implement workaround for an obscure GCC bug which can cause incorrect code generation under some circumstances when the void* is re-cast.
2010-05-31 06:55:23 +00:00
Dean Camera
152b2764c3
Small tweaks to ConfigDescriptor.c/.h to ensure pointers use the correct type, and to remove const attribute from the descriptor comparator callback function pointer type define, and into the function prototype instead.
2010-05-30 14:01:41 +00:00
Dean Camera
e95c96ea20
Fixed internal device serial not being accessible on the ATMEGAXXU2 AVRs (thanks to Axel Rohde).
2010-05-30 07:29:18 +00:00
Dean Camera
328ed71ce7
Fix spacing of the function parameter descriptions in the Doxygen documentation.
2010-05-29 08:08:26 +00:00
Dean Camera
670413603f
The EEPROM stream read/write functions now use eeprom_update_byte() instead of eeprom_write_byte(), so that only changed bytes are written to EEPROM to preserve its lifespan.
...
Changed over the AVRISP-MKII and TemperatureDataLogger projects to use eeprom_update_byte() when writing non-volatile parameters to EEPROM to preserve its lifespan.
2010-05-26 11:54:55 +00:00
Dean Camera
34047efc7e
Remove incorrect check for the current device state in the Set Configuration request handler of DevChapter9, which broke Set Configuration requests to the device under most circumstances.
...
Move out the SPI prescaler list to a PROGMEM module-level variable in ISPTarget.c.
2010-05-13 12:57:49 +00:00
Dean Camera
1331cce08a
Fixed possible device lockup when INTERRUPT_CONTROL_ENDPOINT is enabled and the control endpoint is not properly selected when the ISR completes.
2010-05-13 07:43:18 +00:00
Dean Camera
ee5ea4ce2b
Fix nasty bug in USBInterrupt.c which would cause a lockup if the control endpoint was not selected at the point the USB endpoint interrupt fires when INTERRUPT_CONTROL_ENDPOINT is defined.
2010-05-11 13:45:23 +00:00
Dean Camera
05ac59d0ee
Add new ReportType parameter to the HID class driver device callback and host report sending routines.
...
Renamed internal Host mode Class driver descriptor comparator callback routines so that they all start with a uniform DCOMP_{Class Abbreviation}_ prefix.
2010-05-09 06:01:01 +00:00
Dean Camera
071e02c6b6
Add svn:eol-style property to source files, so that the line endings are correctly converted to the target system's native end of line style.
2010-05-08 03:12:14 +00:00
Dean Camera
a9e0935a90
Device mode class driver callbacks are now fired before the control request status stage is sent to prevent the host from timing out if another request is immediately fired and the device has a lengthy callback routine.
...
Inlined currently unused MIDI ProcessControlRequest routine.
2010-05-07 06:54:08 +00:00
Dean Camera
27eb17cb93
Change over unix line-endings to dos line endings.
2010-05-07 06:40:47 +00:00
Dean Camera
842e219bf3
Added new EVENT_CDC_Device_BreakSent() event and CDC_Host_SendBreak() function to the Device and Host CDC Class drivers.
2010-05-06 11:56:34 +00:00
Dean Camera
cde2afc50e
Ensure that the CDC class drivers return 0 if the number of unread bytes is queried and the bank has become empty.
2010-05-06 11:13:24 +00:00
Dean Camera
708a1c6166
Fixed INTERRUPT_CONTROL_ENDPOINT compile time option preventing other interrupts from occuring while the control endpoint request is being processed, causing possible lockups if a USB interrupt occurs during a transfer.
2010-05-04 10:16:44 +00:00
Dean Camera
e652cfac67
Fixed Host mode HID class driver not sending the correct report type when HID_Host_SendReportByID() was called and the HID_HOST_BOOT_PROTOCOL_ONLY compile time option is set.
2010-05-04 10:10:41 +00:00
Dean Camera
27f0ba6fc3
Fixed device state not being reset back to the default state if the host sets the address to 0x00.
...
Fixed Set Configuration requests not being stalled until the host has set the device's address.
Fixed possibility of internal signature retrieval being corrupted if an interrupt occurs during a signature byte read (thanks to Andrei Krainev).
2010-05-04 10:07:22 +00:00
Dean Camera
eed7d4df6a
Added new ENDPOINT_*_BusSuspended error code to the Endpoint function, so that the stream functions early-abort if the bus is suspended before or during a transfer.
2010-05-03 07:41:22 +00:00
Dean Camera
9cad677ebb
The Audio_Device_IsSampleReceived() and Audio_Device_IsReadyForNextSample() functions are now inline, to reduce overhead.
2010-04-29 14:54:11 +00:00
Dean Camera
9e34144c9b
Use puts_P() and printf_P() instead of the normal variants where possible in the Host mode Class Driver demos.
2010-04-28 14:33:10 +00:00
Dean Camera
0063f72117
Oops - relocated USBInterrupt.h header file requires adjusted include paths for the other USB driver header files.
2010-04-28 08:20:15 +00:00
Dean Camera
e977774d4e
Relocate USBInterrupt.c/.h from the HighLevel USB driver directory to the LowLevel directory as it is hardware-dependent.
2010-04-28 08:15:16 +00:00
Dean Camera
59c4871f80
USB_Init() no longer calls sei() to enable global interrupts - this must now be done in the user application once all init code has run.
2010-04-28 07:48:26 +00:00
Dean Camera
8252b4febd
Fixed HID Device Class Driver not allocating a temporary buffer when the host requests a report via the control endpoint and the user has set the PrevReportINBuffer driver configuration element to NULL (thanks to Lars Noschinski).
...
Clean up incomplete BluetoothHost debugging commands to use GCC extension to avoid NULL parameters when no formatting is required.
2010-04-20 08:52:51 +00:00
Dean Camera
3eb81df998
Rename FunctionAttributes.h to Attributes.h, as some attributes are applicable to variables also. Add new ATTR_NOINIT attribute for global variables.
...
Add the beginnings of a SDP implentation to the incomplete BluetoothHost demo.
Add const attribute to the Mass Storage Host driver functions where it was applicable, but missing.
2010-04-15 11:04:24 +00:00
Dean Camera
5e14c194c9
Fixed Set/Clear Feature requests directed to a non-configured endpoint not returning a stall to the host.
...
Make TeensyHID bootloader use an 8 byte control endpoint to match the official Teensy, just in case Paul decides to authenticate on that attribute in the future.
2010-04-14 13:46:49 +00:00
Dean Camera
7b79325aa0
Removed two-step endpoint/pipe bank clear and switch sequence for smaller, faster endpoint/pipe code.
...
Added spacing between multiple paragraphs in Doxygen \note sections.
Removed call to the clock prescaler reset function in the Teensy bootloader to save space - the user application is accessed via a watchdog reset anyway, so the prescale reset would only affect the speed of the bootloader itself.
2010-04-13 23:29:11 +00:00
Dean Camera
9257f4ab8e
Add briefs for the library core structures.
2010-03-29 13:32:36 +00:00
Dean Camera
0557676013
Add file-level brief documentation.
...
Remove accidentally duplicated model-specific peripheral driver files.
2010-03-29 07:49:58 +00:00
Dean Camera
74353374c3
All Class Driver Host mode demos now correctly set the board LEDs to READY once the enumeration process has completed.
...
Fixed Still Image Host class driver not resetting the transaction ID when a new session is opened, fixed driver not sending a valid session ID to the device.
2010-03-25 06:34:38 +00:00
Dean Camera
c2de01b661
Fixed incorrect definition of HID_ALIGN_DATA() causing incorrect HID report item data alignment.
2010-03-24 05:58:20 +00:00
Dean Camera
f79f9abd28
Fixed compilation error in the AudioInput demos when MICROPHONE_BIASED_TO_HALF_RAIL is defined (thanks to C. Scott Ananian).
...
Minor documentation cleanups.
Make sure HID class driver uses properly cast pointers when writing to the report buffer.
2010-03-24 05:50:09 +00:00
Dean Camera
9a5ae36a4f
Software PDI mode breaks unless the software USART has 100 cycles between bits.
2010-03-17 11:48:39 +00:00
Dean Camera
92418433a5
Fix incorrect LED mask name in the Webserver project.
...
Fix missing text from the Host Mode States enum documentation.
2010-03-09 13:22:51 +00:00
Dean Camera
14a5a94084
Fix incorrect error when directly including the LUFA internal USB library components.
2010-02-24 07:01:59 +00:00
Dean Camera
071fd8ce53
Revert changes made for the partial port to the AVR32 architecture.
2010-02-24 06:58:23 +00:00
Dean Camera
a7aaa45ec4
More AVR32 achitecture ports.
2010-02-24 06:21:46 +00:00
Dean Camera
3702ba1fb3
More porting of the USB core to the AVR32.
2010-02-23 14:46:11 +00:00
Dean Camera
0e6d5cf5b4
Start porting the USB core to the AVR32 UC3B.
2010-02-23 07:13:29 +00:00
Dean Camera
012628f635
Turn OFF double banking in the Webserver demo - leaving it on seems to destroy the system throughput.
2010-02-18 05:10:24 +00:00
Dean Camera
67cb070810
Fix HID Host Class driver sending incorrect ReportType values to the device when issuing requests via the control pipe.
2010-02-14 22:13:11 +00:00
Dean Camera
d49cc0f783
Add more include protection macros to give the user warnings when they try to manually include private driver header files, instead of the public driver headers.
2010-02-11 04:05:02 +00:00
Dean Camera
35a0fe9384
Fixed USB_GetHIDReportSize() returning the number of bits in the specified report instead of bytes.
...
Moved the USB_GetHIDReportItemInfo() calls into the main report item passing loop in the *HostWithParser demos - it is fast enough not to effect performance, and avoids duplicate code.
Make Webserver project report the LUFA version as part of the HTTP header.
2010-02-09 12:30:51 +00:00
Dean Camera
7ae91099e9
Fix AVRISP-MKII clone project's TPI Chip Erase command processing - ensure erase location is the high byte in the given address space, check NVMBUSY for completion rather than the NVM Bus Enable bit.
...
Change If-Else chains over to switch statements in XPROGProtocol.c for clarity.
2010-02-08 03:16:09 +00:00
Dean Camera
0c5d6f5f97
Added Keyboard LED report masks (KEYBOARD_LED_*) to the HID class driver and demos.
2010-02-07 13:56:36 +00:00
Dean Camera
196724c62d
Added keyboard modifier masks (HID_KEYBOARD_MODIFER_*) to the HID class driver and Keyboard demos.
2010-02-07 07:31:53 +00:00
Dean Camera
a96d77eca7
Add documentation to the USB Class Drivers module on how to use the Host mode class drivers.
2010-02-02 14:02:18 +00:00
Dean Camera
84e1241f80
Replace the Webserver demo's uIP with the latest code ripped from the Contiki project by Adam Dunkels.
2010-02-02 12:51:05 +00:00
Dean Camera
4d246a82cb
Fixed incorrect values of USB_CONFIG_ATTR_SELFPOWERED and USB_CONFIG_ATTR_REMOTEWAKEUP tokens (thanks to Claus Christensen).
...
Mark the AVRISP-MKII project descriptors as being both Bus Powered and Device Powered.
Copy over file level documentation of the peripheral drivers to the module level documentation.
2010-02-01 12:35:48 +00:00
Dean Camera
b6a4584a19
Fixed Pipe_IsEndpointBound() function not taking the endpoint's direction into account.
...
Re-added Pipe_IsEndpointBound() calls to the CDC and RNDIS host class drivers, not that the function has the correct behaviour for devices with bidirectional endpoints.
2010-02-01 01:27:00 +00:00
Dean Camera
d26a9ed5fd
Be doubly-certain that the incomming CDC class driver's endpoint/pipe is flushed only once when the bank is empty.
2010-01-28 06:37:26 +00:00
Dean Camera
431db89b00
Fixed CDC and RNDIS host demos and class drivers - bidirectional endpoints should use two seperate pipes, not one half-duplex pipe.
2010-01-25 11:50:41 +00:00
Dean Camera
74b6993d66
Cleanup and partially fix AVRISP-MKII project's TPI programming support.
2010-01-25 04:13:44 +00:00
Dean Camera
f3d370a777
Clean up and add more comments to the AVRISP-MKII project. Make sure the SPI_MULTI command handler supports multiple packet responses. Use slightly smaller/faster repeated indirect-load commands when retrieving the PDI target's memory CRCs.
2010-01-17 04:39:33 +00:00
Dean Camera
b0ce1eab66
Fix incorrect preprocessor checks in the PLL prescaler mask determination code for the ATMEGA32U2.
2010-01-16 00:40:52 +00:00
Dean Camera
77dda302ac
Fixed invalid USB controller PLL prescaler values for the ATMEGAxxU2 controllers
...
Fixed lack of support for the ATMEGA32U2 in the DFU and CDC class bootloaders
Changed incomplete Webserver project over to using the uIP timer library.
2010-01-15 02:42:54 +00:00
Dean Camera
89e4d73289
Fixed incorrect interface values in the VirtualSerialMouse and KeyboardMouse demo class driver structures.
...
Added caveat information to the CDC device class driver.
2010-01-12 00:42:00 +00:00
Dean Camera
a56d95e8c2
Fix XPLAIN Dataflash and LED drivers.
2010-01-07 12:38:32 +00:00
Dean Camera
d97db1120b
Added support to the MIDI Class drivers for packed data, where multiple MIDI events are packed into a single USB packet. Added new MIDI Class driver flush routines to override packing behaviour.
2010-01-05 13:52:34 +00:00
Dean Camera
60e9641222
Inline USB management functions in the Class drivers which are standardized but currently unused, to prevent them from using up unneccesary cycles and flash in the user application.
2010-01-05 04:50:18 +00:00
Dean Camera
6122ba93cf
Fix MassStorageKeyboard demo USE_INTERNAL_SERIAL check being performed before the required library headers were included, causing a compilation error.
...
Added notes to the class driver functions indicating which functions require what Device/Host state machine states to function.
2010-01-04 13:34:02 +00:00
Dean Camera
1e1cf2c499
Fix CDC blocking streams in Host mode locking up when the device is removed.
2010-01-04 00:33:31 +00:00
Dean Camera
71e5bcee3d
Fixed blocking CDC streams not aborting when the host is disconnected.
2010-01-04 00:14:09 +00:00
Dean Camera
58a39c6666
Clean up MassStorageKeyboard demo.
2010-01-03 03:48:40 +00:00
Dean Camera
7f9f97c792
Update copyright year to 2010.
2009-12-30 23:49:19 +00:00
Dean Camera
d4ca7fb44c
Fix MIT license language to make its intent clearer.
2009-12-28 00:34:20 +00:00
Dean Camera
d4952265a6
Ensure that unsupported SetFeature/ClearFeature request targets cause a STALL back to the host.
2009-12-21 08:29:12 +00:00
Dean Camera
8b75659563
Added new NO_DEVICE_SELF_POWER and NO_DEVICE_REMOTE_WAKEUP compile time options.
2009-12-20 13:00:49 +00:00
Dean Camera
2cab8f0725
Fixed USB_CurrentMode not being reset to USB_MODE_NONE when the USB interface is shut down and both Host and Device modes can be used (thanks to Daniel Levy).
2009-12-18 00:32:21 +00:00
Dean Camera
c3758ac5ef
Un-inline the SendAddress function in NVMTarget.c/.h of the AVRISP project.
...
Add new HotmailNotifier project, which changes a LED's colour based on the user's unread email count as sent from Windows Live Messenger.
2009-12-17 10:02:19 +00:00
Dean Camera
108a22a66a
The SImage_Host_SendBlockHeader() and SImage_Host_ReceiveBlockHeader() Still Image Host Class driver functions are now public.
2009-12-16 04:03:08 +00:00
Dean Camera
79efd8c79e
Fix a bug in the Still Image Host Class driver where the returned block status code was being truncated.
...
Add programming support to the AVRISP project's PDI programming mode; paged memory writes are not currently functional.
2009-12-15 05:17:52 +00:00
Dean Camera
6648234157
Test with -Wextra, fix library warnings due to unused function parameters.
2009-12-13 14:43:34 +00:00
Dean Camera
32b7762325
Oops - wrong casting on the Configuration Descriptor pointer advance routine.
2009-12-13 14:16:29 +00:00
Dean Camera
3705330dd3
Use -pedantic compile time option to find and correct several minor code errors.
2009-12-13 14:09:25 +00:00
Dean Camera
9c8ed168e5
Fix inverted bit-banged USART logic in the AVRISP project for PDI programming. Add a delay to the clock toggling in the AVRISP project to ensure that the programming speed does not exceed 10MHz under any conditions to satisfy the limits in the datasheet for all target voltages. Fix incorrect pin being used as the DATA in in PDI programming mode.
2009-12-09 12:01:01 +00:00
Dean Camera
e4cfd5208f
Fix incorrect definition of Endpoint_BytesInEndpoint() for the U4 parts.
2009-12-09 07:09:52 +00:00
Dean Camera
7ace314cc1
Increase timeout of Mass Storage and Still Image host commands to 10 seconds (up from 5) to account for slow-processing devices.
...
Added brace guards to macros with parameters to prevent unintended changed evaluation of the macro expression.
Minor code cleanups (remove redundant comments, fix spacing, etc.).
2009-12-09 00:50:55 +00:00
Dean Camera
c1fa230618
Add new USB_Host_GetDeviceStringDescriptor() convenience function.
2009-12-06 13:37:30 +00:00
Dean Camera
c49bdcb7c9
Fixed Mass Storage Host Class driver and Low Level demo not clearing the error condition if an attached device returns a STALL to a GET MAX LUN request (thanks to Martin Luxen).
2009-12-04 09:08:48 +00:00
Dean Camera
7e86387958
Fix double oops -- Host mode settle delay was still being ignored due to inverted logic, HID Parser was assigning the usage Min/Max usage value to the report item's collection path rather than the report item itself.
2009-12-04 02:06:38 +00:00
Dean Camera
a925407588
Oops - fix Host mode pre-enumeration settle delay being ignored leading to failure to enumerate certain devices.
2009-12-04 01:29:20 +00:00
Dean Camera
d6e3259f8b
Fix incorrect const'ness of the ReportItem parameter in USB_SetHIDReportItemInfo().
2009-12-04 01:09:39 +00:00
Dean Camera
2919aeeaab
Fixed HID Parser not distributing the Usage Min and Usage Max values across an array of report items.
...
Added new HID_ALIGN_DATA() macro to return the pre-retrieved value of a HID report item, left-aligned to a given datatype.
Added new PreviousValue to the HID Report Parser report item structure, for easy monitoring of previous report item values.
2009-12-04 01:06:26 +00:00
Dean Camera
1b2cd16976
Added CDC_Host_Flush() function to the CDC Host Class driver to flush sent data to the attached device.
2009-11-30 02:20:26 +00:00
Dean Camera
b7f6a65c25
Fixed USB driver failing to define the PLL prescaler mask for the ATMEGA8U2 and ATMEGA16U2.
...
Simplified the USB.h master include file's target validity checks.
2009-11-29 07:41:54 +00:00
Dean Camera
414b92e812
Add to the existing CDC Class Driver's CreateStream() function documentation to explicitly state that the created streams are bidirectional.
2009-11-29 05:19:41 +00:00
Dean Camera
958d28d05d
Better checking of whether a packet is received in the RNDISEthernetHost Class driver demo - show busy LED status while packets are being printed out.
2009-11-27 06:32:26 +00:00
Dean Camera
5e46801096
Complete RNDIS Host Class driver code - add SendPacket function.
...
Correct CDC Host Class driver token handling for sending data on bidirectional data endpoints.
2009-11-26 11:40:15 +00:00
Dean Camera
f6de4db000
Remove documentation of deleted parameters from the RNDIS Host Class driver's device Initialize function.
2009-11-26 05:08:00 +00:00
Dean Camera
04e177b66e
Fix RNDIS Device Class driver - RNDISConstants.h has moved out to the Common Class driver directory.
2009-11-26 04:50:15 +00:00
Dean Camera
5aa2b26261
Added new RNDIS Host class driver and the beginnings of a RNDISEthernetHost Class Driver demo.
...
Fixed all Class drivers to ensure they have appropriate guards on each function to ensure the device is enumerated before running, fixed error codes on all guards to return "DeviceDisconnected" where possble.
Renamed HOST_SENDCONTROL_DeviceDisconnect enum value to HOST_SENDCONTROL_DeviceDisconnected to be in line with the rest of the library enum error codes.
2009-11-26 04:46:31 +00:00
Dean Camera
ab602a8b48
Fix typo in the StillImageHost LowLevel demo, and the CDC Host Class Driver.
2009-11-25 04:23:40 +00:00
Dean Camera
50f4a3b625
Fix build and Doxygen errors.
2009-11-25 03:56:51 +00:00
Dean Camera
8c6c27d88b
Added new RNDISHost Host LowLevel demo. Fixed misnamed Pipe_SetPipeToken() macro for setting a pipe's direction. Fixed CDCHost failing on devices with bidirectional endpoints.
2009-11-25 03:26:57 +00:00