Fix recv_payload_msg to wait for msgid

Signed-off-by: Jacki <jacki@thejackimonster.de>
This commit is contained in:
Jacki 2025-03-28 00:17:58 +01:00
parent 4cfd8cd871
commit 3dfa9c4350
No known key found for this signature in database
GPG key ID: B404184796354C5E

View file

@ -94,7 +94,7 @@ static bool recv_payload(device_imu_type* device, uint16_t size, uint8_t* payloa
if (transferred >= payload_size) {
transferred = payload_size;
}
if (transferred == 0) {
return false;
}
@ -152,13 +152,11 @@ static bool recv_payload_msg(device_imu_type* device, uint8_t msgid, uint16_t le
const uint16_t packet_len = 3 + len;
const uint16_t payload_len = 5 + packet_len;
if (!recv_payload(device, payload_len, (uint8_t*) (&packet))) {
return false;
}
if (packet.msgid != msgid) {
return false;
}
do {
if (!recv_payload(device, payload_len, (uint8_t*) (&packet))) {
return false;
}
} while (packet.msgid != msgid);
memcpy(data, packet.data, len);
return true;