Skip to content

Commit 62787c4

Browse files
try adding retries to beken
1 parent 26a68d8 commit 62787c4

File tree

1 file changed

+26
-8
lines changed

1 file changed

+26
-8
lines changed

BK7231Flasher/BK7231Flasher.cs

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -840,7 +840,7 @@ bool doGetBusAndSetBaudRate()
840840
}
841841
Thread.Sleep(50);
842842
int attempt = 0;
843-
int maxAttempts = 0;
843+
int maxAttempts = 10;
844844
while (true)
845845
{
846846
addSuccess("Going to set baud rate setting (" + baudrate + ")!" + Environment.NewLine);
@@ -943,14 +943,30 @@ bool doEraseInternal(int startSector, int sectors)
943943
for (int sec = 0; sec < sectors; sec++)
944944
{
945945
int secAddr = startSector + SECTOR_SIZE * sec;
946-
// 4K erase
947-
bool bOk = eraseSector(secAddr, 0x20);
948-
addLog("Erasing sector " + secAddr + "...");
949-
if (bOk == false)
946+
int tries = 0;
947+
while (true)
950948
{
951-
logger.setState("Erase failed.", Color.Red);
952-
addError(" Erasing sector " + secAddr + " failed!" + Environment.NewLine);
953-
return false;
949+
tries++;
950+
// 4K erase
951+
bool bOk = eraseSector(secAddr, 0x20);
952+
addLog("Erasing sector " + secAddr + "...");
953+
if (bOk == false)
954+
{
955+
if(tries > 5)
956+
{
957+
logger.setState("Erase failed.", Color.Red);
958+
addError(" Erasing sector " + secAddr + " failed!" + Environment.NewLine);
959+
return false;
960+
}
961+
else
962+
{
963+
addWarning(" failed, will retry! ");
964+
}
965+
}
966+
else
967+
{
968+
break;
969+
}
954970
}
955971
addLog(" ok! ");
956972
logger.setProgress(sec+1, sectors);
@@ -1828,6 +1844,7 @@ bool setBaudrate(int baudrate, int delay_ms)
18281844

18291845
}
18301846
Thread.Sleep(delay_ms/2);
1847+
int prev = serial.BaudRate;
18311848
serial.BaudRate = baudrate;
18321849
byte[] rxbuf = Start_Cmd(null, CalcRxLength_SetBaudRate(), 0.5f);
18331850
if (rxbuf != null)
@@ -1837,6 +1854,7 @@ bool setBaudrate(int baudrate, int delay_ms)
18371854
return true;
18381855
}
18391856
}
1857+
serial.BaudRate = prev;
18401858
return false;
18411859
}
18421860
}

0 commit comments

Comments
 (0)