X-Git-Url: http://git.linex4red.de/pub/lufa.git/blobdiff_plain/0b1f33e2a26091714982447132b251496d5a48b2..03cdb09071c5c9ed9dd0f851a0980d360a4492d0:/Bootloaders/MassStorage/BootloaderMassStorage.c diff --git a/Bootloaders/MassStorage/BootloaderMassStorage.c b/Bootloaders/MassStorage/BootloaderMassStorage.c index 9303471bf..c891f8516 100644 --- a/Bootloaders/MassStorage/BootloaderMassStorage.c +++ b/Bootloaders/MassStorage/BootloaderMassStorage.c @@ -61,6 +61,25 @@ USB_ClassInfo_MS_Device_t Disk_MS_Interface = }; +void Application_Jump_Check(void) +{ + bool JumpToApplication = false; + + #if (BOARD == BOARD_LEONARDO) + /* Enable pull-up on the IO13 pin so we can use it to select the mode */ + PORTC |= (1 << 7); + Delay_MS(10); + JumpToApplication |= ((PINC & (1 << 7)) != 0); + PORTC &= ~(1 << 7); + #endif + + if (JumpToApplication) + { + // cppcheck-suppress constStatement + ((void (*)(void))0x0000)(); + } +} + /** Main program entry point. This routine configures the hardware required by the application, then * enters a loop to run the application tasks in sequence. */ @@ -79,7 +98,7 @@ int main(void) } /** Configures the board hardware and chip peripherals for the demo's functionality. */ -void SetupHardware(void) +static void SetupHardware(void) { /* Disable watchdog if enabled by bootloader/fuses */ MCUSR &= ~(1 << WDRF); @@ -155,4 +174,3 @@ bool CALLBACK_MS_Device_SCSICommandReceived(USB_ClassInfo_MS_Device_t* const MSI return CommandSuccess; } -