Using SendData, which is more stable than SendDataWait

This commit is contained in:
Rodrigo Alfonso
2024-01-28 09:27:22 -03:00
parent 845de04dc1
commit eff513e700

View File

@@ -214,8 +214,6 @@ class LinkWirelessMultiboot {
u32 phase = 0;
while (transferredBytes < romSize) {
retry:
link->wait(228);
serverHeader.isACK = 0;
serverHeader.targetSlots = 0b0001; // TODO: Implement
serverHeader.payloadSize = 84; // 87 - 3 (serversdkheader)
@@ -231,8 +229,18 @@ class LinkWirelessMultiboot {
(rom[transferredBytes + i + 2] << 16) |
(rom[transferredBytes + i + 3] << 24)); // TODO: CHECK BOUNDS
}
if (!sendAndExpectData(data, 87, response))
if (!link->sendData(data, 87)) {
logger("SendData failed!");
return FAILURE;
}
LinkRawWireless::ReceiveDataResponse response;
if (!link->receiveData(response)) {
logger("ReceiveData failed!");
return FAILURE;
}
if (response.data.size() == 0)
goto retry;
clientHeader = parseClientHeader(response.data[0]);
if (clientHeader.isACK && clientHeader.n == n &&
clientHeader.phase == phase) {