1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-11-28 06:24:10 +01:00

Merged in LP-595_PikoBLX_firmware_rescue (pull request #508)

LP-595 Add delay to ensure USB_Connected is detected - Back to common BL logic

Approved-by: Eric Price
This commit is contained in:
Lalanne Laurent 2022-06-16 14:49:29 +00:00 committed by Eric Price
commit 814b675a20
3 changed files with 15 additions and 6 deletions

View File

@ -76,6 +76,10 @@ int main()
PIOS_Board_Init();
PIOS_IAP_Init();
// Without vsense pin, need to wait for correct PIOS_USB_CableConnected detection.
// This break DSM binding process but allows firmware rescue.
PIOS_DELAY_WaitmS(500);
USB_connected = PIOS_USB_CableConnected(0);
if (PIOS_IAP_CheckRequest() == TRUE) {
@ -165,7 +169,7 @@ int main()
if (stopwatch > 50 * 1000 * 1000) {
stopwatch = 0;
}
if ((stopwatch > 6 * 1000 * 1000) && ((DeviceState == BLidle) /*|| (DeviceState == DFUidle && !USB_connected)*/)) {
if ((stopwatch > 6 * 1000 * 1000) && ((DeviceState == BLidle) || (DeviceState == DFUidle && !USB_connected))) {
JumpToApp = TRUE;
}
@ -199,7 +203,6 @@ void jump_to_app()
Jump_To_Application();
} else {
DeviceState = failed_jump;
JumpToApp = FALSE;
return;
}
}

View File

@ -76,6 +76,10 @@ int main()
PIOS_Board_Init();
PIOS_IAP_Init();
// Without vsense pin, need to wait for correct PIOS_USB_CableConnected detection.
// This break DSM binding process but allows firmware rescue.
PIOS_DELAY_WaitmS(500);
USB_connected = PIOS_USB_CableConnected(0);
if (PIOS_IAP_CheckRequest() == TRUE) {
@ -165,7 +169,7 @@ int main()
if (stopwatch > 50 * 1000 * 1000) {
stopwatch = 0;
}
if ((stopwatch > 6 * 1000 * 1000) && ((DeviceState == BLidle) /*|| (DeviceState == DFUidle && !USB_connected)*/)) {
if ((stopwatch > 6 * 1000 * 1000) && ((DeviceState == BLidle) || (DeviceState == DFUidle && !USB_connected))) {
JumpToApp = TRUE;
}
@ -199,7 +203,6 @@ void jump_to_app()
Jump_To_Application();
} else {
DeviceState = failed_jump;
JumpToApp = FALSE;
return;
}
}

View File

@ -76,6 +76,10 @@ int main()
PIOS_Board_Init();
PIOS_IAP_Init();
// Without vsense pin, need to wait for correct PIOS_USB_CableConnected detection.
// This break DSM binding process but allows firmware rescue.
PIOS_DELAY_WaitmS(500);
USB_connected = PIOS_USB_CableConnected(0);
if (PIOS_IAP_CheckRequest() == TRUE) {
@ -165,7 +169,7 @@ int main()
if (stopwatch > 50 * 1000 * 1000) {
stopwatch = 0;
}
if ((stopwatch > 6 * 1000 * 1000) && ((DeviceState == BLidle) /*|| (DeviceState == DFUidle && !USB_connected)*/)) {
if ((stopwatch > 6 * 1000 * 1000) && ((DeviceState == BLidle) || (DeviceState == DFUidle && !USB_connected))) {
JumpToApp = TRUE;
}
@ -199,7 +203,6 @@ void jump_to_app()
Jump_To_Application();
} else {
DeviceState = failed_jump;
JumpToApp = FALSE;
return;
}
}