0
1
mirror of https://github.com/radio95-rnt/fm95.git synced 2026-02-26 19:23:51 +01:00
This commit is contained in:
2025-05-17 20:59:27 +02:00
parent aaf519aa4b
commit 064aefe558

View File

@@ -239,18 +239,19 @@ int main(int argc, char *argv[]) {
vban_frame = data.packet_data.frame_num;
} else {
uint32_t expected_frame = vban_frame + 1;
if (data.packet_data.frame_num != expected_frame) {
if (data.packet_data.frame_num > expected_frame) {
// We receiver a higher counter than expected? Must be a dropped packet
uint8_t dropped_packets = (data.packet_data.frame_num - expected_frame); // The offset probably is how many packets we've missed
if(quiet == 0) printf("Dropped %d packets (got:%d, expected:%d)\n", dropped_packets, data.packet_data.frame_num, expected_frame);
} else {
// So we've got a higher count, must be out of order then
if(quiet == 0) printf("Packets received out of order (got:%d, expected:%d)\n", data.packet_data.frame_num, expected_frame);
}
vban_frame = data.packet_data.frame_num - 1; // Resync, subract one do not domino error
} else vban_frame++;
if (data.packet_data.frame_num == expected_frame) {
// Normal, next expected frame
vban_frame = data.packet_data.frame_num;
} else if (data.packet_data.frame_num > expected_frame) {
// Packets dropped
uint32_t dropped_packets = data.packet_data.frame_num - expected_frame;
if (quiet == 0) printf("Dropped %u packets\n", dropped_packets);
vban_frame = data.packet_data.frame_num; // Resync to current frame
} else {
// Out of order packet (frame_num < expected_frame)
if (quiet == 0) printf("Packets received out of order\n");
// Don't update vban_frame — keep last valid frame
}
}
if(vban_last_sr != data.packet_data.sample_rate_idx) {