-
-#if defined(RESET_TOGGLES_LIBUSB_COMPAT) || defined(__DOXYGEN__)
-/** Checks the state of the system status register MCUSR and indicates via a flag if
- *  the current AVRISP driver compatibility mode needs to be reset.
- *
- *  When the \c RESET_TOGGLES_LIBUSB_COMPAT compile time option is enabled, pulling
- *  the reset line of the AVR low will toggle between Jungo and libUSB compatibility
- *  modes. Other forms of reset (such as power on or watchdog) will not force a mode
- *  change.
- */
-void CheckExternalReset(void)
-{      
-       /* If an external reset occured, we need to change compatibility mode */
-       AVRISP_NeedCompatibilitySwitch = (MCUSR == (1 << EXTRF));
-
-       MCUSR = 0;
-}
-
-/** Updates the device descriptors so that the correct compatibility mode is used
- *  when the \c RESET_TOGGLES_LIBUSB_COMPAT compile time option is enabled. This
- *  configures the programmer for either Jungo or libUSB driver compatibility. Each
- *  time the AVR is reset via pulling the reset line low the compatibility mode will
- *  be toggled. The current mode is stored in EEPROM and preserved through power
- *  cycles of the AVR.
- */
-void UpdateCurrentCompatibilityMode(void)
-{
-       /* Load the current IN endpoint address stored in EEPROM */
-       AVRISP_CurrDataINEndpointAddress = eeprom_read_byte(&AVRISP_CurrDataINEndpointAddress_EEPROM);
-       
-       /* Check if we need to switch compatibility modes */
-       if (AVRISP_NeedCompatibilitySwitch)
-       {
-               /* Toggle between compatibility modes */
-               AVRISP_CurrDataINEndpointAddress = (AVRISP_CurrDataINEndpointAddress == AVRISP_DATA_IN_EPADDR_LIBUSB) ?
-                               AVRISP_DATA_IN_EPADDR_JUNGO : AVRISP_DATA_IN_EPADDR_LIBUSB;
-
-               /* Save the new mode into EEPROM */
-               eeprom_update_byte(&AVRISP_CurrDataINEndpointAddress_EEPROM, AVRISP_CurrDataINEndpointAddress);
-       }
-
-       LEDs_SetAllLEDs(LEDS_NO_LEDS);
-
-       /* Validate IN endpoint address and indicate current mode via LED flashes */
-       switch (AVRISP_CurrDataINEndpointAddress)
-       {
-               default:
-                       /* Default to Jungo compatibility mode if saved EEPROM is invalid */
-                       AVRISP_CurrDataINEndpointAddress = AVRISP_DATA_IN_EPADDR_JUNGO;
-               case AVRISP_DATA_IN_EPADDR_JUNGO:
-                       /* Two flashes for Jungo compatibility mode */
-                       for (uint8_t i = 0; i < 4; i++)
-                       {
-                               LEDs_ToggleLEDs(LEDS_ALL_LEDS);
-                               Delay_MS(100);
-                       }               
-                       break;
-               case AVRISP_DATA_IN_EPADDR_LIBUSB:
-                       /* Five flashes for libUSB compatibility mode */
-                       for (uint8_t i = 0; i < 10; i++)
-                       {
-                               LEDs_ToggleLEDs(LEDS_ALL_LEDS);
-                               Delay_MS(100);
-                       }
-                       break;
-       }
-       
-       Delay_MS(500);
-}
-#endif