Commit Graph

601 Commits

Author SHA1 Message Date
Dean Camera 6928f17b64 Extend the automatic serial number descriptor code to read out and send all 10 bytes (20 characters) of the internal serial number on supported AVRs, rather than just the first 6 bytes (12 characters). 2009-07-28 16:12:09 +00:00
Dean Camera 7f3f39b575 Fixed report data alignment issues in the MouseHostWithParser demo when X and Y movement data size is not a multiple of 8 bits.
Fixed HID Report Descriptor Parser not correctly resetting internal states when a REPORT ID element is encountered.
2009-07-28 15:14:54 +00:00
Dean Camera 3472af91a5 Change project makefiles so that the current target settings and not just the board selection is printed during the build process.
Fix warning in AudioOutput demos when AUDIO_OUT_STEREO output mode is selected.
2009-07-28 13:53:52 +00:00
Dean Camera e426463355 Better solution - change compile time token names to DEVICE_STATE_AS_GPIOR and HOST_STATE_AS_GPIOR and allow the user to set them to the index of the GPIOR register within the device to use. 2009-07-28 13:12:14 +00:00
Dean Camera c1be307393 Added HOST_STATE_AS_GPIOR1 and DEVICE_STATE_AS_GPIOR0 compile time options, the latter of which is used in the bootloaders, to reduce code size. 2009-07-28 13:01:44 +00:00
Dean Camera 23c1653efe Make LowLevel AudioOutput demo work in the same way as the ClassDriver AudioOutput demo for LEDs output. 2009-07-28 10:49:33 +00:00
Dean Camera 61ff4824a9 Changed AudioOutput demos to explicitly use timer 3 - the smaller USB AVRs where timer 1 was needed instead did not have the endpoint size neccesary for good audio throughput anyway.
Fix Benito documentation indicating erronously that the project used the HID USB class instead of the CDC class.
2009-07-28 10:46:20 +00:00
Dean Camera 864196c884 State information for class drivers is now zeroed out during enumeration (both in device and host mode) to ensure sane values after each enumeration. User code should no longer explicitly set state information as this is no longer preserved. 2009-07-27 23:19:17 +00:00
Dean Camera b9dd51cd63 Collapse configuration descriptor size retrieval and size testing into a single if statement within the new host mode class driver demos for clarity. 2009-07-27 10:55:21 +00:00
Dean Camera 84c3c4a3d9 Change Host mode class driver Pipe configuration routines -- better to let the application fetch the configuration descriptors once, and then pass them to each class driver in turn. 2009-07-27 10:48:55 +00:00
Dean Camera 5251bc6e4e Add new MouseHost Class Driver demo, unfinished, to allow for better testing of the new prototype Host Mode Class Driver framework. Flesh out start of a HID class Host mode class driver. 2009-07-27 10:31:07 +00:00
Dean Camera 05fa6e0c43 Corrected new Pipe_IsEndpointBound() function.
Completed host CDC class driver enumeration code.
2009-07-26 10:45:33 +00:00
Dean Camera cbbd3d746a Added new Pipe_BoundEndpointNumber() and Pipe_IsEndpointBound() functions. 2009-07-26 10:22:16 +00:00
Dean Camera 200821fe82 Added new LEDs_ToggleLEDs() function to the Board LEDs driver. 2009-07-24 01:44:01 +00:00
Dean Camera 3991c94b38 Ensure new Benito Programmer project matches Don's established LED behaviour - flash LED while generating target /RESET pulse, ping-pong LEDs during enumeration. 2009-07-24 01:26:36 +00:00
Dean Camera 2a0c28e6e4 Minor updates to the Benito programmer - remove redundant PORT register manipulations. 2009-07-23 14:11:20 +00:00
Dean Camera 06f3a6a876 Tweaks to the new Benito Programmer project for documentation and port/pin usage. 2009-07-23 11:01:32 +00:00
Dean Camera a6e85d6ed8 Added new Benito project, a simple modified USB-to-Serial bridge for the programming of AVRs using the official Arduino bootloader. 2009-07-23 10:39:10 +00:00
Dean Camera 5dbfdaa17d Ensure that the USB_DeviceState variable is properly set upon wakeup events, to the Addressed or Configured state as needed.
Add explicit support for the AT90USB646 to the Teensy bootloader now that PJRC have released the Teensy++ board.

Ensure unfinished SideShow demo uses an unallocated PID value within the LUFA range.
2009-07-23 08:00:12 +00:00
Dean Camera 7a5d045987 Slight changes to TeensyHID bootloader to ensure it builds under the 2KB boundary.
Changed USB_Init() and USB_Shutdown() so that they are no longer dependant on oneanother for possible code savings when the interface is never explicitly shut down.
2009-07-21 13:51:34 +00:00
Dean Camera e071f3897a Added new USB_DeviceState variable to keep track of the current Device mode USB state.
Added new Endpoint_ClearStatusStage() convenience function to assist with the status stages of control transfers.

Removed vague USB_IsConnected global - test USB_DeviceState or USB_HostState explicitly to gain previous functionality.

Removed USB_IsSuspended global - test USB_DeviceState against DEVICE_STATE_Suspended instead.

Fixed possible enumeration errors from spinloops which may fail to exit if the USB connection is severed before the exit condition becomes true.
2009-07-21 13:31:21 +00:00
Dean Camera 44179abcf8 Add PrinterHost demo to the documentation. 2009-07-21 10:29:56 +00:00
Dean Camera d0db78432f Add extra tests to the MassStorage device demo and class driver for validating command blocks from the host. 2009-07-21 04:46:48 +00:00
Dean Camera 67f390fe74 Add explicit guards to all device mode tasks to ensure the device is connected and configured before running the task, to prevent any user tasks from locking up the main USB task if the device has not been properly configured. 2009-07-21 02:48:41 +00:00
Dean Camera bf50959b80 Simplify SideShow GUID compares via a macro. 2009-07-20 14:51:19 +00:00
Dean Camera 86819ba9d8 Fixes to unfinished SideShow demo to re-enable correct building after previous commit. 2009-07-20 14:27:14 +00:00
Dean Camera 292fc9b65e Move unfinished SideShow source files to nested Lib directory for clarity. 2009-07-20 14:23:47 +00:00
Dean Camera 18f7cd3325 Ensure control pipe is selected in the PrinterHost demo before trying to send control requests. 2009-07-20 14:12:05 +00:00
Dean Camera 4f747e7b76 Change Doxygen configuration files to not produce 4096 directories for the documentation files -- the LUFA components do not generate enough documentation files to justify the large performance hit of creating so many directories.
Fix missing Doxygen documentation in the Class Driver Mass Storage Device demo.
2009-07-20 14:07:02 +00:00
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 d6543dee0d Minor updates to the Magstripe and MissileLauncher projects to fix bugs and improve performance.
Fixed error in GenericHID descriptors preventing it from passing the USB-IF HID tests (thanks to Søren Greiner).
2009-07-16 15:00:10 +00:00
Dean Camera c619e21fa7 Added support for the new ATMEGA32U2, ATMEGA16U2 and ATMEGA8U2 AVR models. 2009-07-16 08:57:51 +00:00
Dean Camera 32086e4f14 Fix small error in last commit preventing compilation in some circumstances. 2009-07-16 08:32:20 +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 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.
2009-07-15 05:49:19 +00:00
Dean Camera da138684e4 Added module file dependancy information to the USB class drivers. 2009-07-14 07:59:34 +00:00