X-Git-Url: http://git.linex4red.de/pub/USBaspLoader.git/blobdiff_plain/dda3e71306415ec5fd744d0daa2fafeddec99961..d7ac76b34c7ead103afb231d705976faa5c4beae:/firmware/main.c diff --git a/firmware/main.c b/firmware/main.c index c609439..d08ed23 100644 --- a/firmware/main.c +++ b/firmware/main.c @@ -493,7 +493,12 @@ static uchar replyBuffer[4]; }else if(rq->bRequest == USBASP_FUNC_DISCONNECT){ #if BOOTLOADER_CAN_EXIT +# ifdef CONFIG_HAVE__BOOTLOADER_ABORTTIMEOUTONACT + /* let the main loop know for ever that here was activity */ + stayinloader &= (0xfc); +# else stayinloader &= (0xfe); +# endif #endif }else{ /* ignore: others, but could be USBASP_FUNC_CONNECT */ @@ -761,7 +766,12 @@ int __attribute__((__noreturn__)) main(void) initForUsbConnectivity(); do{ #if ((BOOTLOADER_LOOPCYCLES_TIMEOUT) && (BOOTLOADER_CAN_EXIT)) - if (stayinloader & 0x1) { +# ifdef CONFIG_HAVE__BOOTLOADER_ABORTTIMEOUTONACT + if (stayinloader != 0x0e) { + /* can be reached, since high-nibble is decreased every cycle... */ +#else + if (stayinloader & 0x01) { +#endif timeout_remaining = BOOTLOADER_LOOPCYCLES_TIMEOUT; } else { __loopscycles++;