Dean Camera [Thu, 30 Jul 2009 14:12:00 +0000 (14:12 +0000)]
Minor cleanups to DualCDC ClassDriver device demo for clarity.
Dean Camera [Thu, 30 Jul 2009 14:06:52 +0000 (14:06 +0000)]
Fix incorrect configuration in the ClassDriver AudioOutput demo.
Make all audio device Class Driver functions require a reference to the Audio class instance, so that the endpoint size can be checked (and to standardize the APIs).
Make LEDs more responsive in the AudioOutput device demos.
Dean Camera [Thu, 30 Jul 2009 11:03:58 +0000 (11:03 +0000)]
Set all CDC and MassStorage device mode demos (LowLevel and ClassDriver) to use the USE_INTERNAL_SERIAL feature, add compile time warnings for devices which do not have an internal serial.
Dean Camera [Thu, 30 Jul 2009 10:54:57 +0000 (10:54 +0000)]
Added standard stream example to the ClassDriver CDC device demo.
Fix incorrect HWB button mask in the STK526 Buttons driver.
Dean Camera [Thu, 30 Jul 2009 07:45:36 +0000 (07:45 +0000)]
Fix redefinition warning when USB_DEVICE_ONLY is set on an AVR which does not support USB host mode.
Dean Camera [Wed, 29 Jul 2009 02:49:34 +0000 (02:49 +0000)]
Cleanup USBMode.h to simplify preprocessor logic.
Dean Camera [Wed, 29 Jul 2009 01:40:42 +0000 (01:40 +0000)]
Added 404 errors to the RNDIS Webserver example.
Dean Camera [Tue, 28 Jul 2009 16:12:09 +0000 (16:12 +0000)]
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).
Dean Camera [Tue, 28 Jul 2009 15:14:54 +0000 (15:14 +0000)]
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.
Dean Camera [Tue, 28 Jul 2009 13:53:52 +0000 (13:53 +0000)]
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.
Dean Camera [Tue, 28 Jul 2009 13:12:14 +0000 (13:12 +0000)]
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.
Dean Camera [Tue, 28 Jul 2009 13:01:44 +0000 (13:01 +0000)]
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.
Dean Camera [Tue, 28 Jul 2009 10:49:33 +0000 (10:49 +0000)]
Make LowLevel AudioOutput demo work in the same way as the ClassDriver AudioOutput demo for LEDs output.
Dean Camera [Tue, 28 Jul 2009 10:46:20 +0000 (10:46 +0000)]
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.
Dean Camera [Mon, 27 Jul 2009 23:19:17 +0000 (23:19 +0000)]
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.
Dean Camera [Mon, 27 Jul 2009 10:55:21 +0000 (10:55 +0000)]
Collapse configuration descriptor size retrieval and size testing into a single if statement within the new host mode class driver demos for clarity.
Dean Camera [Mon, 27 Jul 2009 10:48:55 +0000 (10:48 +0000)]
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.
Dean Camera [Mon, 27 Jul 2009 10:31:07 +0000 (10:31 +0000)]
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.
Dean Camera [Sun, 26 Jul 2009 10:45:33 +0000 (10:45 +0000)]
Corrected new Pipe_IsEndpointBound() function.
Completed host CDC class driver enumeration code.
Dean Camera [Sun, 26 Jul 2009 10:22:16 +0000 (10:22 +0000)]
Added new Pipe_BoundEndpointNumber() and Pipe_IsEndpointBound() functions.
Dean Camera [Fri, 24 Jul 2009 01:44:01 +0000 (01:44 +0000)]
Added new LEDs_ToggleLEDs() function to the Board LEDs driver.
Dean Camera [Fri, 24 Jul 2009 01:26:36 +0000 (01:26 +0000)]
Ensure new Benito Programmer project matches Don's established LED behaviour - flash LED while generating target /RESET pulse, ping-pong LEDs during enumeration.
Dean Camera [Thu, 23 Jul 2009 14:11:20 +0000 (14:11 +0000)]
Minor updates to the Benito programmer - remove redundant PORT register manipulations.
Dean Camera [Thu, 23 Jul 2009 11:01:32 +0000 (11:01 +0000)]
Tweaks to the new Benito Programmer project for documentation and port/pin usage.
Dean Camera [Thu, 23 Jul 2009 10:39:10 +0000 (10:39 +0000)]
Added new Benito project, a simple modified USB-to-Serial bridge for the programming of AVRs using the official Arduino bootloader.
Dean Camera [Thu, 23 Jul 2009 08:00:12 +0000 (08:00 +0000)]
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.
Dean Camera [Tue, 21 Jul 2009 13:51:34 +0000 (13:51 +0000)]
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.
Dean Camera [Tue, 21 Jul 2009 13:31:21 +0000 (13:31 +0000)]
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.
Dean Camera [Tue, 21 Jul 2009 10:29:56 +0000 (10:29 +0000)]
Add PrinterHost demo to the documentation.
Dean Camera [Tue, 21 Jul 2009 04:46:48 +0000 (04:46 +0000)]
Add extra tests to the MassStorage device demo and class driver for validating command blocks from the host.
Dean Camera [Tue, 21 Jul 2009 02:48:41 +0000 (02:48 +0000)]
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.
Dean Camera [Mon, 20 Jul 2009 14:51:19 +0000 (14:51 +0000)]
Simplify SideShow GUID compares via a macro.
Dean Camera [Mon, 20 Jul 2009 14:27:14 +0000 (14:27 +0000)]
Fixes to unfinished SideShow demo to re-enable correct building after previous commit.
Dean Camera [Mon, 20 Jul 2009 14:23:47 +0000 (14:23 +0000)]
Move unfinished SideShow source files to nested Lib directory for clarity.
Dean Camera [Mon, 20 Jul 2009 14:12:05 +0000 (14:12 +0000)]
Ensure control pipe is selected in the PrinterHost demo before trying to send control requests.
Dean Camera [Mon, 20 Jul 2009 14:07:02 +0000 (14:07 +0000)]
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.
Dean Camera [Mon, 20 Jul 2009 13:52:45 +0000 (13:52 +0000)]
Added missing DoxyGen configuration file to the PrinterHost demo.
Dean Camera [Mon, 20 Jul 2009 13:49:26 +0000 (13:49 +0000)]
Added extra DoxyGen documentation to the new PrinterHost demo.
Dean Camera [Mon, 20 Jul 2009 13:41:37 +0000 (13:41 +0000)]
Add PrinterHost to the project file and Host LowLevel directory makefile.
Dean Camera [Mon, 20 Jul 2009 13:37:20 +0000 (13:37 +0000)]
Moved PrinterHost demo from Incomplete to LowLevel, as it is now near-complete.
Dean Camera [Mon, 20 Jul 2009 10:19:13 +0000 (10:19 +0000)]
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).
Dean Camera [Mon, 20 Jul 2009 03:14:41 +0000 (03:14 +0000)]
Remove ClearPipeStall routine from the StillImageHost demo, as there is now a version of the function built into the library itself.
Dean Camera [Mon, 20 Jul 2009 03:07:27 +0000 (03:07 +0000)]
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.
Dean Camera [Mon, 20 Jul 2009 02:59:16 +0000 (02:59 +0000)]
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.
Dean Camera [Mon, 20 Jul 2009 02:27:32 +0000 (02:27 +0000)]
Added error codes to most StillImageHost demo commands.
Dean Camera [Sun, 19 Jul 2009 13:17:38 +0000 (13:17 +0000)]
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.
Dean Camera [Sun, 19 Jul 2009 13:08:48 +0000 (13:08 +0000)]
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.
Dean Camera [Sun, 19 Jul 2009 12:36:19 +0000 (12:36 +0000)]
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.
Dean Camera [Sun, 19 Jul 2009 09:36:16 +0000 (09:36 +0000)]
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.
Dean Camera [Sun, 19 Jul 2009 09:04:25 +0000 (09:04 +0000)]
Fixed incorrect PIPE_EPNUM_MASK mask causing pipe failures on devices with endpoint addresses of 8 and above (thanks to John Andrews).
Dean Camera [Sun, 19 Jul 2009 07:30:37 +0000 (07:30 +0000)]
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.
Dean Camera [Thu, 16 Jul 2009 15:00:10 +0000 (15:00 +0000)]
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).
Dean Camera [Thu, 16 Jul 2009 08:57:51 +0000 (08:57 +0000)]
Added support for the new ATMEGA32U2, ATMEGA16U2 and ATMEGA8U2 AVR models.
Dean Camera [Thu, 16 Jul 2009 08:32:20 +0000 (08:32 +0000)]
Fix small error in last commit preventing compilation in some circumstances.
Dean Camera [Thu, 16 Jul 2009 08:15:27 +0000 (08:15 +0000)]
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.
Dean Camera [Wed, 15 Jul 2009 05:49:19 +0000 (05:49 +0000)]
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.
Dean Camera [Tue, 14 Jul 2009 07:59:34 +0000 (07:59 +0000)]
Added module file dependancy information to the USB class drivers.
Dean Camera [Tue, 14 Jul 2009 07:33:06 +0000 (07:33 +0000)]
Added better module summaries.
Dean Camera [Mon, 13 Jul 2009 12:44:47 +0000 (12:44 +0000)]
Fix broken Pipe stream function templates due to mixed const/no const use in prototypes.
Dean Camera [Mon, 13 Jul 2009 12:38:30 +0000 (12:38 +0000)]
Added new EEPROM and FLASH buffer versions of the Endpoint and Pipe stream functions. Changed Endpoint.c and Pipe.c to use a templated system to build the seperate functions, rather than duplicating each function's code many times.
Dean Camera [Mon, 13 Jul 2009 06:44:14 +0000 (06:44 +0000)]
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.
Dean Camera [Mon, 13 Jul 2009 05:34:43 +0000 (05:34 +0000)]
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.
Dean Camera [Mon, 13 Jul 2009 04:46:52 +0000 (04:46 +0000)]
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.
Dean Camera [Sat, 11 Jul 2009 15:07:07 +0000 (15:07 +0000)]
Fixed compilation error in incomplete BluetoothHost demo.
Dean Camera [Sat, 11 Jul 2009 15:05:56 +0000 (15:05 +0000)]
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.
Dean Camera [Mon, 29 Jun 2009 11:11:51 +0000 (11:11 +0000)]
Minor correction to MagStripe demo to fix build problems.
Dean Camera [Mon, 29 Jun 2009 09:30:06 +0000 (09:30 +0000)]
Dataflash_WaitWhileBusy() now always ensures that the dataflash is ready for the next command immediately after returning, no need to call Dataflash_ToggleSelectedChipCS() afterwards.
Added new DATAFLASH_CHIP_MASK() macro to the Dataflash driver, which returns the Dataflash select mask for the given chip index.
Updated MassStorage device block write routines to use ping-pong Dataflash buffering to increase throughput by around 30%.
Dean Camera [Sun, 28 Jun 2009 13:39:08 +0000 (13:39 +0000)]
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).
Dean Camera [Fri, 26 Jun 2009 11:43:56 +0000 (11:43 +0000)]
Reduce struct name pollution - group typedef struct names by class driver name where appropriate.
Dean Camera [Fri, 26 Jun 2009 10:25:59 +0000 (10:25 +0000)]
Rename some of the library documentation files.
Dean Camera [Fri, 26 Jun 2009 10:24:54 +0000 (10:24 +0000)]
Split Getting Started page of the documentation into its own section.
Dean Camera [Fri, 26 Jun 2009 09:58:43 +0000 (09:58 +0000)]
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.
Dean Camera [Tue, 23 Jun 2009 09:38:22 +0000 (09:38 +0000)]
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.
Dean Camera [Tue, 23 Jun 2009 09:01:23 +0000 (09:01 +0000)]
MassStorageHost demo now retrieves Inquiry data from the device during enumeration, and prints the device's Vendor and Product IDs.
Dean Camera [Tue, 23 Jun 2009 08:45:46 +0000 (08:45 +0000)]
Fixed MassStorage demo not clearing the reset flag when a Mass Storage Reset is issued while not processing a command.
Dean Camera [Tue, 23 Jun 2009 08:03:09 +0000 (08:03 +0000)]
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.
Dean Camera [Tue, 23 Jun 2009 07:55:18 +0000 (07:55 +0000)]
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.
Dean Camera [Mon, 22 Jun 2009 11:32:51 +0000 (11:32 +0000)]
Add demos/bootloaders/projects overview to the manual.
Dean Camera [Mon, 22 Jun 2009 10:23:47 +0000 (10:23 +0000)]
Corrected the ADC driver for the ATMEGA16U4 and ATMEGA32U4 (thanks to Opendous Inc.).
Dean Camera [Sun, 21 Jun 2009 13:52:21 +0000 (13:52 +0000)]
Optimize unique serial number reading code for size -- remove atoi/toupper references, replace with hand-rolled code as the input has known size constraints.
Dean Camera [Sun, 21 Jun 2009 11:09:12 +0000 (11:09 +0000)]
Add NO_INTERNAL_SERIAL compile time option to bootloaders to prevent them from having unneccesary size increases from unused code.
Dean Camera [Sun, 21 Jun 2009 09:22:31 +0000 (09:22 +0000)]
Added new USE_INTERNAL_SERIAL define for using the unique serial numbers in some AVR models as the USB device's serial number, added NO_INTERNAL_SERIAL compile time option to turn off new serial number reading code. Updated Mass Storage and CDC based demos to use the new device serial number if the device it is compiled for supports it.
Dean Camera [Sun, 21 Jun 2009 08:04:10 +0000 (08:04 +0000)]
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.
Dean Camera [Sun, 21 Jun 2009 05:04:18 +0000 (05:04 +0000)]
Re-add signature byte defines to the DFU and CDC class bootloaders -- the SIGNATURE_x defines in the AVR device header files only exist in a newer version of avr-libc than is in the Debian repositories, causing build issues on Linux.
Dean Camera [Sun, 21 Jun 2009 04:48:05 +0000 (04:48 +0000)]
Add new temp LUFA project logo to the manual.
Dean Camera [Sat, 20 Jun 2009 11:43:26 +0000 (11:43 +0000)]
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.
Dean Camera [Fri, 19 Jun 2009 07:29:02 +0000 (07:29 +0000)]
Clean up RNDIS demo type define names.
Dean Camera [Fri, 19 Jun 2009 05:08:04 +0000 (05:08 +0000)]
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.
Dean Camera [Fri, 19 Jun 2009 04:34:35 +0000 (04:34 +0000)]
Move LUFA compile time options to a new section in the application makefiles for clarity.
Dean Camera [Fri, 19 Jun 2009 03:37:47 +0000 (03:37 +0000)]
Extend USB_GetDeviceConfigDescriptor() routine to require the configuration number within the device to fetch, to add support for multi-configuration devices.
Dean Camera [Fri, 19 Jun 2009 03:21:03 +0000 (03:21 +0000)]
Re-add in simple scheduler for compatibility with legacy code, mark all scheduler related files as deprecated.
Dean Camera [Thu, 18 Jun 2009 10:55:04 +0000 (10:55 +0000)]
Fix broken MagStripe project.
Dean Camera [Thu, 18 Jun 2009 10:49:19 +0000 (10:49 +0000)]
Oops - restore deleted MissileLauncher project, fix all spelling errors for "missile". TODO: Learn how to actually spell.
Dean Camera [Thu, 18 Jun 2009 10:36:02 +0000 (10:36 +0000)]
Fix spelling of the MissileLauncher project directory.
Dean Camera [Thu, 18 Jun 2009 10:31:55 +0000 (10:31 +0000)]
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.
Dean Camera [Thu, 18 Jun 2009 07:53:51 +0000 (07:53 +0000)]
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().
Dean Camera [Tue, 16 Jun 2009 13:50:02 +0000 (13:50 +0000)]
Remove hardcoded DOT path from all Doxygen config files.
Better documentation for the MissleLauncher project - add credit to PyLauncher project.
Dean Camera [Tue, 16 Jun 2009 07:25:47 +0000 (07:25 +0000)]
Add MissleLauncher project to the /Projects/ makefile. Add missing MissleLauncher Doxygen.conf file.
Dean Camera [Tue, 16 Jun 2009 07:17:22 +0000 (07:17 +0000)]
Pipe_GetErrorFlags() now returns additional error flags for overflow and underflow errors.
Change MIDI demos to use real MIDI command values, and shift for the USB wrapper, rather than shift for the MIDI bytes. This is a little confusing for the MIDI USB wrapper, but allows for the use of real standardized MIDI command values.
Dean Camera [Tue, 16 Jun 2009 05:53:27 +0000 (05:53 +0000)]
Added USB Missle Launcher project, submitted by Dave Fletcher.