Merge in latest trunk.
authorDean Camera <dean@fourwalledcubicle.com>
Sun, 20 May 2012 15:43:51 +0000 (15:43 +0000)
committerDean Camera <dean@fourwalledcubicle.com>
Sun, 20 May 2012 15:43:51 +0000 (15:43 +0000)
103 files changed:
1  2 
Bootloaders/CDC/BootloaderCDC.txt
Bootloaders/CDC/makefile
Bootloaders/DFU/BootloaderDFU.txt
Bootloaders/DFU/makefile
Bootloaders/HID/makefile
Demos/Device/ClassDriver/AudioInput/AudioInput.txt
Demos/Device/ClassDriver/AudioInput/makefile
Demos/Device/ClassDriver/AudioOutput/AudioOutput.txt
Demos/Device/ClassDriver/AudioOutput/makefile
Demos/Device/ClassDriver/DualVirtualSerial/makefile
Demos/Device/ClassDriver/GenericHID/GenericHID.txt
Demos/Device/ClassDriver/GenericHID/makefile
Demos/Device/ClassDriver/Joystick/makefile
Demos/Device/ClassDriver/Keyboard/makefile
Demos/Device/ClassDriver/KeyboardMouse/makefile
Demos/Device/ClassDriver/KeyboardMouseMultiReport/makefile
Demos/Device/ClassDriver/MIDI/makefile
Demos/Device/ClassDriver/MassStorage/MassStorage.txt
Demos/Device/ClassDriver/MassStorage/makefile
Demos/Device/ClassDriver/MassStorageKeyboard/MassStorageKeyboard.txt
Demos/Device/ClassDriver/MassStorageKeyboard/makefile
Demos/Device/ClassDriver/Mouse/makefile
Demos/Device/ClassDriver/RNDISEthernet/RNDISEthernet.txt
Demos/Device/ClassDriver/RNDISEthernet/makefile
Demos/Device/ClassDriver/VirtualSerial/makefile
Demos/Device/ClassDriver/VirtualSerialMassStorage/VirtualSerialMassStorage.txt
Demos/Device/ClassDriver/VirtualSerialMassStorage/makefile
Demos/Device/ClassDriver/VirtualSerialMouse/makefile
Demos/Device/Incomplete/Sideshow/makefile
Demos/Device/Incomplete/TestAndMeasurement/makefile
Demos/Device/LowLevel/AudioInput/AudioInput.txt
Demos/Device/LowLevel/AudioInput/makefile
Demos/Device/LowLevel/AudioOutput/AudioOutput.txt
Demos/Device/LowLevel/AudioOutput/makefile
Demos/Device/LowLevel/DualVirtualSerial/makefile
Demos/Device/LowLevel/GenericHID/GenericHID.txt
Demos/Device/LowLevel/GenericHID/makefile
Demos/Device/LowLevel/Joystick/makefile
Demos/Device/LowLevel/Keyboard/makefile
Demos/Device/LowLevel/KeyboardMouse/makefile
Demos/Device/LowLevel/MIDI/makefile
Demos/Device/LowLevel/MassStorage/MassStorage.txt
Demos/Device/LowLevel/MassStorage/makefile
Demos/Device/LowLevel/Mouse/makefile
Demos/Device/LowLevel/RNDISEthernet/RNDISEthernet.txt
Demos/Device/LowLevel/RNDISEthernet/makefile
Demos/Device/LowLevel/VirtualSerial/makefile
Demos/DualRole/ClassDriver/MouseHostDevice/makefile
Demos/Host/ClassDriver/AndroidAccessoryHost/makefile
Demos/Host/ClassDriver/AudioInputHost/makefile
Demos/Host/ClassDriver/AudioOutputHost/AudioOutputHost.txt
Demos/Host/ClassDriver/AudioOutputHost/makefile
Demos/Host/ClassDriver/JoystickHostWithParser/makefile
Demos/Host/ClassDriver/KeyboardHost/makefile
Demos/Host/ClassDriver/KeyboardHostWithParser/makefile
Demos/Host/ClassDriver/MIDIHost/makefile
Demos/Host/ClassDriver/MassStorageHost/makefile
Demos/Host/ClassDriver/MouseHost/makefile
Demos/Host/ClassDriver/MouseHostWithParser/makefile
Demos/Host/ClassDriver/PrinterHost/makefile
Demos/Host/ClassDriver/RNDISEthernetHost/makefile
Demos/Host/ClassDriver/StillImageHost/makefile
Demos/Host/ClassDriver/VirtualSerialHost/makefile
Demos/Host/LowLevel/AndroidAccessoryHost/makefile
Demos/Host/LowLevel/AudioInputHost/makefile
Demos/Host/LowLevel/AudioOutputHost/AudioOutputHost.txt
Demos/Host/LowLevel/AudioOutputHost/makefile
Demos/Host/LowLevel/GenericHIDHost/makefile
Demos/Host/LowLevel/JoystickHostWithParser/makefile
Demos/Host/LowLevel/KeyboardHost/makefile
Demos/Host/LowLevel/KeyboardHostWithParser/makefile
Demos/Host/LowLevel/MIDIHost/makefile
Demos/Host/LowLevel/MassStorageHost/makefile
Demos/Host/LowLevel/MouseHost/makefile
Demos/Host/LowLevel/MouseHostWithParser/makefile
Demos/Host/LowLevel/PrinterHost/makefile
Demos/Host/LowLevel/RNDISEthernetHost/makefile
Demos/Host/LowLevel/StillImageHost/makefile
Demos/Host/LowLevel/VirtualSerialHost/makefile
Projects/AVRISP-MKII/AVRISP-MKII.txt
Projects/AVRISP-MKII/Config/AppConfig.h
Projects/AVRISP-MKII/Config/LUFAConfig.h
Projects/AVRISP-MKII/Descriptors.h
Projects/AVRISP-MKII/makefile
Projects/Benito/Benito.txt
Projects/Benito/makefile
Projects/HIDReportViewer/makefile
Projects/LEDNotifier/makefile
Projects/MIDIToneGenerator/MIDIToneGenerator.txt
Projects/MIDIToneGenerator/makefile
Projects/Magstripe/Magstripe.txt
Projects/Magstripe/makefile
Projects/MediaController/makefile
Projects/MissileLauncher/makefile
Projects/RelayBoard/makefile
Projects/SerialToLCD/makefile
Projects/TempDataLogger/TemperatureDataLogger.txt
Projects/TempDataLogger/makefile
Projects/USBtoSerial/makefile
Projects/Webserver/Webserver.txt
Projects/Webserver/makefile
Projects/XPLAINBridge/XPLAINBridge.txt
Projects/XPLAINBridge/makefile

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
   *   </tr>
   *   <tr>
   *    <td>LIBUSB_DRIVER_COMPAT</td>
 - *    <td>Makefile LUFA_OPTS</td>
 + *    <td>AppConfig.h</td>
   *    <td>Define to switch to a non-standard endpoint scheme, breaking compatibility with AVRStudio under Windows but making
-  *        the code compatible with software such as avrdude (all platforms) that use the libUSB driver.</td>
+  *        the code compatible with software such as avrdude (all platforms) that use the libUSB driver.
+  *
+  *        \note This option is incompatible with \c RESET_TOGGLES_LIBUSB_COMPAT.</td>
+  *   </tr>
+  *   <tr>
+  *    <td>RESET_TOGGLES_LIBUSB_COMPAT</td>
 - *    <td>Makefile LUFA_OPTS</td>
++ *    <td>AppConfig.h</td>
+  *    <td>Define to make the /RESET line of the AVR toggle between Jungo and libUSB driver compatibility modes. Each time the AVR is
+  *        reset externally via the reset pin, the compatibility mode will be toggled. The compatibility mode is preserved between
+  *        power cycles and is not toggled via other forms of reset such as Watchdog or Brown Out.
+  *
+  *        \note This option is incompatible with \c LIBUSB_DRIVER_COMPAT.</td>
   *   </tr>
   *   <tr>
   *    <td>XCK_RESCUE_CLOCK_ENABLE</td>
index b7598a5,0000000..26198e3
mode 100644,000000..100644
--- /dev/null
@@@ -1,65 -1,0 +1,66 @@@
 +/*
 +             LUFA Library
 +     Copyright (C) Dean Camera, 2012.
 +
 +  dean [at] fourwalledcubicle [dot] com
 +           www.lufa-lib.org
 +*/
 +
 +/*
 +  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 +
 +  Permission to use, copy, modify, distribute, and sell this
 +  software and its documentation for any purpose is hereby granted
 +  without fee, provided that the above copyright notice appear in
 +  all copies and that both that the copyright notice and this
 +  permission notice and warranty disclaimer appear in supporting
 +  documentation, and that the name of the author not be used in
 +  advertising or publicity pertaining to distribution of the
 +  software without specific, written prior permission.
 +
 +  The author disclaim all warranties with regard to this
 +  software, including all implied warranties of merchantability
 +  and fitness.  In no event shall the author be liable for any
 +  special, indirect or consequential damages or any damages
 +  whatsoever resulting from loss of use, data or profits, whether
 +  in an action of contract, negligence or other tortious action,
 +  arising out of or in connection with the use or performance of
 +  this software.
 +*/
 +
 +/** \file
 + *  \brief Application Configuration Header File
 + *
 + *  This is a header file which is be used to configure some of
 + *  the application's compile time options, as an alternative to
 + *  specifying the compile time constants supplied through a 
 + *  makefile or build system.
 + *
 + *  For information on what each token does, refer to the 
 + *  \ref Sec_Options section of the application documentation.
 + */
 +
 +#ifndef _APP_CONFIG_H_
 +#define _APP_CONFIG_H_
 +
 +      #define AUX_LINE_PORT              PORTB
 +      #define AUX_LINE_PIN               PINB
 +      #define AUX_LINE_DDR               DDRB
 +      #define AUX_LINE_MASK              (1 << 4)
 +
 +      #define ENABLE_ISP_PROTOCOL
 +      #define ENABLE_XPROG_PROTOCOL
 +
 +      #define VTARGET_ADC_CHANNEL        2
 +      #define VTARGET_REF_VOLTS          5
 +      #define VTARGET_SCALE_FACTOR       1
 +//    #define VTARGET_USE_INTERNAL_REF
 +//    #define NO_VTARGET_DETECT
 +//    #define XCK_RESCUE_CLOCK_ENABLE
 +//    #define INVERTED_ISP_MISO
 +
 +//    #define LIBUSB_DRIVER_COMPAT
++//    #define RESET_TOGGLES_LIBUSB_COMPAT
 +//    #define FIRMWARE_VERSION_MINOR     0x11
 +
 +#endif
index 0a7ca2a,0000000..2071bfd
mode 100644,000000..100644
--- /dev/null
@@@ -1,93 -1,0 +1,93 @@@
-               #define USE_FLASH_DESCRIPTORS
 +/*
 +             LUFA Library
 +     Copyright (C) Dean Camera, 2012.
 +
 +  dean [at] fourwalledcubicle [dot] com
 +           www.lufa-lib.org
 +*/
 +
 +/*
 +  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 +
 +  Permission to use, copy, modify, distribute, and sell this
 +  software and its documentation for any purpose is hereby granted
 +  without fee, provided that the above copyright notice appear in
 +  all copies and that both that the copyright notice and this
 +  permission notice and warranty disclaimer appear in supporting
 +  documentation, and that the name of the author not be used in
 +  advertising or publicity pertaining to distribution of the
 +  software without specific, written prior permission.
 +
 +  The author disclaim all warranties with regard to this
 +  software, including all implied warranties of merchantability
 +  and fitness.  In no event shall the author be liable for any
 +  special, indirect or consequential damages or any damages
 +  whatsoever resulting from loss of use, data or profits, whether
 +  in an action of contract, negligence or other tortious action,
 +  arising out of or in connection with the use or performance of
 +  this software.
 +*/
 +
 +/** \file
 + *  \brief LUFA Library Configuration Header File
 + *
 + *  This header file is used to configure LUFA's compile time options,
 + *  as an alternative to the compile time constants supplied through
 + *  a makefile.
 + *
 + *  For information on what each token does, refer to the LUFA
 + *  manual section "Summary of Compile Tokens".
 + */
 +
 +#ifndef _LUFA_CONFIG_H_
 +#define _LUFA_CONFIG_H_
 +
 +      #if (ARCH == ARCH_AVR8)
 +
 +              /* Non-USB Related Configuration Tokens: */
 +//            #define DISABLE_TERMINAL_CODES
 +
 +              /* USB Class Driver Related Tokens: */
 +//            #define HID_HOST_BOOT_PROTOCOL_ONLY
 +//            #define HID_STATETABLE_STACK_DEPTH       {Insert Value Here}
 +//            #define HID_USAGE_STACK_DEPTH            {Insert Value Here}
 +//            #define HID_MAX_COLLECTIONS              {Insert Value Here}
 +//            #define HID_MAX_REPORTITEMS              {Insert Value Here}
 +//            #define HID_MAX_REPORT_IDS               {Insert Value Here}
 +//            #define NO_CLASS_DRIVER_AUTOFLUSH
 +
 +              /* General USB Driver Related Tokens: */
 +              #define ORDERED_EP_CONFIG
 +              #define USE_STATIC_OPTIONS               (USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)
 +              #define USB_DEVICE_ONLY
 +//            #define USB_HOST_ONLY
 +//            #define USB_STREAM_TIMEOUT_MS            {Insert Value Here}
 +//            #define NO_LIMITED_CONTROLLER_CONNECT
 +              #define NO_SOF_EVENTS
 +
 +              /* USB Device Mode Driver Related Tokens: */
 +//            #define USE_RAM_DESCRIPTORS
++//            #define USE_FLASH_DESCRIPTORS
 +//            #define USE_EEPROM_DESCRIPTORS
 +              #define NO_INTERNAL_SERIAL
 +              #define FIXED_CONTROL_ENDPOINT_SIZE      16
 +              #define DEVICE_STATE_AS_GPIOR            0
 +              #define FIXED_NUM_CONFIGURATIONS         1
 +//            #define CONTROL_ONLY_DEVICE
 +//            #define INTERRUPT_CONTROL_ENDPOINT
 +              #define NO_DEVICE_REMOTE_WAKEUP
 +              #define NO_DEVICE_SELF_POWER
 +
 +              /* USB Host Mode Driver Related Tokens: */
 +//            #define HOST_STATE_AS_GPIOR              {Insert Value Here}
 +//            #define USB_HOST_TIMEOUT_MS              {Insert Value Here}
 +//            #define HOST_DEVICE_SETTLE_DELAY_MS          {Insert Value Here}
 +//      #define NO_AUTO_VBUS_MANAGEMENT
 +//      #define INVERTED_VBUS_ENABLE_LINE
 +
 +      #else
 +
 +              #error Unsupported architecture for this LUFA configuration file.
 +
 +      #endif
 +#endif
                #include <avr/pgmspace.h>
  
                #include <LUFA/Drivers/USB/USB.h>
+               #include <LUFA/Drivers/Board/LEDs.h>
++              #include "Config/AppConfig.h"
++
+       /* Preprocessor Checks: */
+               #if defined(LIBUSB_DRIVER_COMPAT) && defined(RESET_TOGGLES_LIBUSB_COMPAT)
+                       #error LIBUSB_DRIVER_COMPAT and RESET_TOGGLES_LIBUSB_COMPAT are mutually exclusive.
+               #endif
  
        /* Macros: */
-               #if !defined(LIBUSB_DRIVER_COMPAT) || defined(__DOXYGEN__)
-                       /** Endpoint address of the AVRISP data OUT endpoint. */
-                       #define AVRISP_DATA_OUT_EPADDR     (ENDPOINT_DIR_OUT | 2)
+               /** Endpoint address of the AVRISP data OUT endpoint. */
+               #define AVRISP_DATA_OUT_EPADDR         (ENDPOINT_DIR_OUT | 2)
+               /** Endpoint address of the AVRISP data IN endpoint, when in Jungo driver compatibility mode. */
+               #define AVRISP_DATA_IN_EPADDR_JUNGO    (ENDPOINT_DIR_IN  | 2)
+               /** Endpoint address of the AVRISP data IN endpoint, when in LibUSB driver compatibility mode. */
+               #define AVRISP_DATA_IN_EPADDR_LIBUSB   (ENDPOINT_DIR_IN  | 3)
  
+               #if !defined(LIBUSB_DRIVER_COMPAT) || defined(__DOXYGEN__)
                        /** Endpoint address of the AVRISP data IN endpoint. */
-                       #define AVRISP_DATA_IN_EPADDR      (ENDPOINT_DIR_IN  | 2)
+                       #define AVRISP_DATA_IN_EPADDR      AVRISP_DATA_IN_EPADDR_JUNGO
+               #elif defined(RESET_TOGGLES_LIBUSB_COMPAT)
+                       #define AVRISP_DATA_IN_EPADDR      AVRISP_CurrDataINEndpointAddress
                #else
-                       #define AVRISP_DATA_OUT_EPADDR     (ENDPOINT_DIR_OUT | 2)
-                       #define AVRISP_DATA_IN_EPADDR      (ENDPOINT_DIR_IN  | 3)
+                       #define AVRISP_DATA_IN_EPADDR      AVRISP_DATA_IN_EPADDR_LIBUSB
                #endif
+               
                /** Size in bytes of the AVRISP data endpoint. */
                #define AVRISP_DATA_EPSIZE             64
  
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge