Dean Camera
7166c7ba3e
Fix low level host mode demos not correctly fetching the next endpoint when an invalid interface is discarded.
...
Update the pipe configuration routines in the host mode class drivers so that they use the same new code to enumerate compatible devices to increase reliability. Add support to the host mode class drivers for non-sequential (but non-overlapping with other interface) pipe numbers.
2010-09-30 07:56:47 +00:00
Dean Camera
c0e4f52e8f
Fix up incorrect version numbers in demo/project descriptors.
...
Add class name prefixes to missed constants in the class drivers to give all class driver elements a consistent namespace.
2010-09-28 14:59:16 +00:00
Dean Camera
713670043a
Move out many of the common class driver constants into grouped enums, to make them more managable.
...
Add new CDC descriptor structs to the CDC class driver, so that the CDC demos can use human readable field names.
Rename prefix for Still Image Host class driver functions from "SImage_" to "SI_" to remain consistent with the rest of the driver.
2010-09-28 12:14:06 +00:00
Dean Camera
12fb68ea1f
Added PRNT_Host_SendByte() and PRNT_Host_Flush() functions to the Host mode Printer Class driver.
...
Modified PRNT_Host_USBTask() to flush the output pipe on each call.
2010-09-11 04:09:48 +00:00
Dean Camera
4c49ee6885
Whitespace corrections.
2010-09-09 13:33:00 +00:00
Dean Camera
c166dfc64e
Added class specific descriptor type defines with standard USB-IF element naming.
2010-09-09 13:05:57 +00:00
Dean Camera
7aaf9b2036
Added new PRNT_Host_BytesReceived() and PRNT_Host_ReceiveByte() functions to the Print Host Class driver.
2010-09-07 03:38:11 +00:00
Dean Camera
18cbd31605
Added new USB_Device_GetFrameNumber() and USB_Host_GetFrameNumber() functions to retrieve the current USB frame number.
...
Added new USB_Host_EnableSOFEvents(), USB_Host_DisableSOFEvents() and EVENT_USB_Host_StartOfFrame() for the user application handling of USB Start of Frame events while in USB Host mode.
Changed over all demos, drivers and internal functions to use the current frame number over the Start of Frame flag where possible to free up the Start of Frame flag for interrupt use in the user application.
2010-09-05 07:11:53 +00:00
Dean Camera
b7b8a9edfa
Fixed LowLevel PrinterHost demo not sending control requests to the attached printer with the correct printer interface wIndex value.
2010-08-24 13:16:16 +00:00
Dean Camera
f4de17207e
Fixed USB_GetHIDReportItemInfo() function modifying the given report item's data when the report item does not exist within the supplied report of a multiple report HID device.
2010-08-10 12:13:07 +00:00
Dean Camera
ff09cf9c73
Fix XPLAINBridge project discarding characters from the USB interface due to a double read from the endpoint.
...
Make XPLAINBridge and USBtoSerial projects more reliable by forcing a flush if the UART-to-USB buffer becomes nearly full.
Reduce locking in the LightweightRingBuffer.h header files by only locking on the update of the buffer count, and require insertions and removals from each buffer to occur in only one execution thread.
Fix CDC_*_ReceiveByte() returning 0 when the interface is not configured, instead of the new -1 error value.
Fix CDC_Host_ReceiveByte() not re-freezing the pipe if no packet has been received.
Remove redundant Pipe token set commands in the CDC and RNDIS host class drivers.
2010-08-01 14:03:13 +00:00
Dean Camera
0f45b9c8e0
More spell checking of all source files -- correct missed errors, switch to EN-GB spelling dictionary.
2010-07-30 09:48:35 +00:00
Dean Camera
24e621a8d8
Altered the CDC Deivice and Host Class drivers' receive byte routines, so that no data is indicated by a negative return value.
...
Added auto flushing of OUT data to the CDC Host Class driver's USBTask function to automatically flush the send pipe buffer.
2010-07-30 03:52:11 +00:00
Dean Camera
cd39c38d5f
Rename reserved members of all structs so that they are uniformly named across all demos/projects/bootloaders.
...
Added start of the Incomplete TMC demo's command parser code.
2010-07-26 07:28:40 +00:00
Dean Camera
97143bf814
Add missing const qualifiers to class drivers.
...
Indent core library function parameters so that there is only one parameter per line, to increase readability.
2010-07-21 14:00:51 +00:00
Dean Camera
6b5e684c77
Update makefiles to use the latest WinAVR/Atmel toolchain makefile template.
...
Add new module source variables to the library core makefile, so that module sources can be added to a project's makefile on a per-module rather than per-file basis.
2010-07-19 14:00:44 +00:00
Dean Camera
0313034245
Added const attributes to some of the class driver function parameters that were missing it.
2010-07-13 10:01:13 +00:00
Dean Camera
deed746d37
Renamed SERIAL_STREAM_ASSERT() macro to STDOUT_ASSERT().
...
Minor tweaks to the library documentation.
2010-06-17 08:15:58 +00:00
Dean Camera
711542ee89
Spell check code and manual pages. Remove custom Doxygen CSS stylesheet, as the new 1.7 Doxygen's default stylesheet is much better.
2010-06-16 11:01:01 +00:00
Dean Camera
dcedde0123
Fix HID parser documentation for the default maximum report/path/etc. elements so that it matches the current code values.
2010-06-15 03:40:02 +00:00
Dean Camera
a14ece5f57
Change over Doxygen \note documentation to \pre where applicable.
2010-06-15 03:34:55 +00:00
Dean Camera
5ce3f0b17b
Add missing ATTR_NON_NULL_PTR_ARG and ATTR_ALWAYS_INLINE attributes to class driver functions.
2010-06-08 11:14:07 +00:00
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
328ed71ce7
Fix spacing of the function parameter descriptions in the Doxygen documentation.
2010-05-29 08:08:26 +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
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
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
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
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
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
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
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
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
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
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
3705330dd3
Use -pedantic compile time option to find and correct several minor code errors.
2009-12-13 14:09:25 +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
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
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
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
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
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
Dean Camera
702bec892d
Fixed misnamed SI_Host_USBTask() and SI_Host_ConfigurePipes() functions.
2009-11-23 13:35:52 +00:00
Dean Camera
aaa0bed556
The incomplete StandaloneProgrammer project now uses Host and Device Mass storage classes, so that program data can either be loaded onto the device's Dataflash storage, or read off an attached USB memory stick.
...
The USB target family and allowable USB mode tokens are now public and documented (USB_CAN_BE_*, USB_SERIES_*_AVR).
The SCSI_Request_Sense_Response_t and SCSI_Inquiry_Response_t type defines are now part of the Mass Storage Class driver common defines, rather than being defined in the Host mode Class driver section only.
The USB_MODE_HOST token is now defined even when host mode is not available.
Added missing CDC_Host_CreateBlockingStream() function code to the CDC Host Class driver.
2009-11-23 12:40:14 +00:00
Dean Camera
d753512cca
Fix doxygen documentation - doxygen was getting confused on the variable-length ATTR_NON_NULL_PTR_ARG() macro used on function prototypes and was generating many return types for several functions in the documentation (thanks to David Lyons).
2009-11-17 11:28:07 +00:00
Dean Camera
652042111c
Add blocking versions of the CDC Class driver streams, for applications requiring blocking reads.
2009-11-12 12:47:15 +00:00
Dean Camera
6a46f0025a
Add beginnings of a RNDIS Ethernet Host demo.
2009-11-12 10:43:07 +00:00
Dean Camera
5de364163f
Update CDC Class Driver character stream functions to use the correct avr-libc return codes for errors and EOF.
...
Fix pointer arithmetic on void byte buffers by explicitly typecasting the buffer pointers to uint8_t* before altering them.
2009-11-10 11:24:15 +00:00
Dean Camera
c1782ac024
Added new stream creation function to the CDC Class drivers, to easily make standard streams from CDC Class driver instances.
2009-11-10 06:22:03 +00:00
Dean Camera
d6edfe35c8
Spell check all source code variables, comments and strings.
2009-11-09 13:15:28 +00:00
Dean Camera
8bb007f80b
Fixed HID host Class driver report send/receive report broken when issued through the control pipe.
...
Make Mass Storage device Class driver accept resets at any time, rather than just after a command block has been processed.
Remove the HID device parser from the boot protocol Keyboard/Mouse demos.
2009-11-09 08:24:01 +00:00
Dean Camera
64e5c4084f
Add optional pipe double banking support to the Host mode Class drivers.
...
Descriptor processing routines now pass around void pointers rather than uint8_t pointers, as their destination datatype is know well known -- they are just streams of bytes until they are cast to the correct destination type by DESCRIPTOR_CAST.
2009-11-07 03:51:24 +00:00
Dean Camera
f29fc1abc4
Add double banking property to LUFA powered projects in the Projects directory. Add guards to macro parameters to ensure that formulas passed as parameters don't mess up the internal macro structure.
2009-11-06 14:32:01 +00:00
Dean Camera
8ba51f090f
Added new Printer Host mode Class driver.
...
Added new Printer Host mode ClassDriver demo.
Added table of supported classes and modes to the main USB Class Driver documentation.
2009-11-04 13:16:53 +00:00
Dean Camera
4670b39070
Fixed HID report parser collection paths invalid due to misplaced semicolon in the free path item search loop. Increased the default number of collection paths allowable by the parser.
2009-11-04 07:14:38 +00:00
Dean Camera
5832bab02f
Rename the AT90USBXXX67 internal driver directory to AVRU4U6U7.
2009-11-03 11:11:51 +00:00
Dean Camera
870591983c
Add const attribute to class driver APIs.
...
Add new manual pages detailing the advantages of LUFA over the official Atmel USB AVR stack, and reasons why LUFA should be used over a built-from-scratch USB stack.
2009-11-03 02:06:13 +00:00
Dean Camera
c7bc3ec391
Add new MIDI Host Class driver to the library, and new MIDIHost ClassDriver demo.
...
Make MouseHost and KeyboardHost ClassDriver demos use the HID Class driver's structures for the boot protocol Mouse/Keyboard report data, rather than rolling their own.
2009-10-08 08:46:27 +00:00
Dean Camera
09575f9607
Fix accidentally changed code breaking the HID descriptor parser.
2009-10-05 05:20:30 +00:00
Dean Camera
433399b05d
Changed Audio Class driver sample read/write functions to be inline, to reduce the number of cycles needed to transfer samples to and from the device (allowing more time for processing and output).
...
Fixed ClassDriver AudioOutput demo not selecting an audio output mode.
2009-10-03 07:59:32 +00:00
Dean Camera
2f643f6143
Added new HID_HOST_BOOT_PROTOCOL_ONLY compile time token to reduce the size of the HID Host Class driver when Report protocol is not needed.
2009-09-30 08:16:42 +00:00
Dean Camera
baa1b22654
Fixed issue in the HID Host class driver's HID_Host_SendReportByID() routine using the incorrect mode (control/pipe) to send report to the attached device.
2009-09-30 07:58:17 +00:00
Dean Camera
89c837ee34
Removed mostly useless "TestApp" demo, as it was mainly useful only for checking for sytax errors in the library.
...
MIDI device demos now receive MIDI events from the host and display note ON messages via the board LEDs.
Added beginnings of a MIDI class bootloader.
2009-09-30 04:40:36 +00:00
Dean Camera
e57e08c672
Fixed PrinterHost demo returning invalid Device ID data when the attached device does not have a device ID (thanks to Andrei Krainev).
2009-09-28 15:56:27 +00:00
Dean Camera
409c49f057
Doxygen fixes to \param directives to give data direction in all projects. Make HID item filtering routines clearer in the HID WithParser demos.
2009-09-24 02:05:33 +00:00
Dean Camera
573a27d90a
Fix incorrect names for the HID Host protocol setting routines.
2009-09-24 01:52:57 +00:00
Dean Camera
849b9535e7
Add new error condition to the HID Report Parser for when a report is parsed but no unfiltered items are encountered (i.e. nothing of interest in the device report). Make all host HID "WithParser" demos print the new error condition.
2009-09-22 08:07:48 +00:00
Dean Camera
242303c160
Add new attributes to the HID Report Parser and HID Host Mode Class driver to keep track of the largest report the device can send for buffer allocation purposes. Change MouseHostWithParser and KeyboardHostWithParser demos to only allocate the needed number of bytes.
2009-09-21 12:23:09 +00:00
Dean Camera
3ffa7543a0
Finish initial draft of the Host Mode HID Class driver.
...
Add new MouseHostWithParser and KeyboardHostWithParser Host Class driver demos.
2009-09-21 10:49:06 +00:00