Dean Camera
73a21890f6
Added missing DoxyGen configuration file to the PrinterHost demo.
2009-07-20 13:52:45 +00:00
Dean Camera
8a28fd8e6c
Added extra DoxyGen documentation to the new PrinterHost demo.
2009-07-20 13:49:26 +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
2a90f66de2
Moved PrinterHost demo from Incomplete to LowLevel, as it is now near-complete.
2009-07-20 13:37:20 +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
211712d66d
Remove ClearPipeStall routine from the StillImageHost demo, as there is now a version of the function built into the library itself.
2009-07-20 03:14:41 +00:00
Dean Camera
4c035b14f1
Cleaner solution to the PrinterHost data send routine problem of embedded NULLs - use a special structure to hold the data string plus the length in bytes of the data.
2009-07-20 03:07:27 +00:00
Dean Camera
5d8cdd9bea
Fix unfinished printer host demo - some printer languages use embedded NULLs and so strlen() won't work in all cases. Ensure NULL terminator for the test page is not transmitted to the device.
2009-07-20 02:59:16 +00:00
Dean Camera
8a68203d34
Added error codes to most StillImageHost demo commands.
2009-07-20 02:27:32 +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
cc879df4f0
Use sane ANSI terminal escape codes for the Host mode demos, so that they do not cause eye-searing, unreadable text on terminals which parse the escape codes properly.
2009-07-19 13:08:48 +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
d3fb6273aa
Fix PrinterHost demo so that it will only enumerate printers with Bidirectional protocol encapsulation. Change enumeration code to automatically select the correct alternate setting for the printer interface to select the bidirectional protocol.
2009-07-19 09:36:16 +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
b243c2b80b
Magstripe Project: Ensure that empty tracks still print out a newline seperator so that the host always knows what track data is being sent.
...
Updates to PrinterHost demo to include some PCL test data plus fixes to the GetDeviceID routine.
2009-07-19 07:30:37 +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
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
23f3c3deee
Fixed compilation error in incomplete BluetoothHost demo.
2009-07-11 15:07:07 +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
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
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
b2cf4d3222
Oops - SCSI INQUIRY data uses fixed-length, non-terminated strings -- need to copy the strings to a temp buffer and terminate before using them in printf.
2009-06-23 09:38:22 +00:00
Dean Camera
64937a6206
MassStorageHost demo now retrieves Inquiry data from the device during enumeration, and prints the device's Vendor and Product IDs.
2009-06-23 09:01:23 +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
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
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
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
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
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
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
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
6be24e4404
Fixes to the MIDI device demos (ClassDriver, LowLevel); discard unused read-in events from the host, use standard MIDI event structure in low level demo rather than sending individual bytes.
2009-06-10 05:03:45 +00:00
Dean Camera
0323e13b39
Copy over schedulerless host demos to ClassDrivers directory, for later modification to new Host mode USB class drivers.
2009-06-09 04:30:12 +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
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
2793c88fc6
Add master device Host demo makefile.
...
Copy and convert incomplete Bluetooth Host demo to the library.
2009-06-05 08:13:19 +00:00
Dean Camera
d47df1cd3a
Delete host mode demos from the root Host demos folder.
2009-06-05 07:59:24 +00:00
Dean Camera
f1199200e1
Copy existing Host mode demos to new ClassDriver and LowLevel subfolders.
2009-06-05 07:56:39 +00:00
Dean Camera
dd2cc7eda7
Remove outdated AVRStudio project files from demos, projects, bootloaders. Fix makefiles of ClassDriver device demos.
2009-06-05 07:30:23 +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
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
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
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
da007db18d
Remove remainder of data pipe interrupt management code from the host demos.
2009-05-12 12:59: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
1f83abe6f4
Renamed the the TotalHIDReports element of the HID descriptor structure in the HID class demos to TotalReportDescriptors, to be more accurate of the element's function (thanks to Brian Dickman).
2009-05-07 22:33:36 +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
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
edcfaf7716
Fix build errors in host demos due to usage of pipe error codes which have now been renamed.
2009-05-03 14:34:20 +00:00
Dean Camera
f05224ec46
Fix minor build errors.
2009-05-01 05:20:23 +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
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
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
ba7cd3f22e
Fix errors in the KeyboardHost demo which prevented correct compilation.
2009-04-20 13:24:25 +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
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
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
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
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
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
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
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
ca641bba83
Corrected bitfields -- the smallest datatype required for each bitfield is now used, rather than relying on GCC to truncate unused bytes in bitfields (thanks to Walt Sacuta).
2009-03-26 03:22:02 +00:00
Dean Camera
ed031c1df2
Seperated out OTG, Device and Host mode demos into seperate folders for clarity. Adjusted makefiles so that the path to the LUFA library can be set in one place.
2009-03-20 06:34:41 +00:00