Commit Graph

85 Commits

Author SHA1 Message Date
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