diff trau-decode/parse-tfo16.c @ 76:d4ee42801cdc

trau-decode: factor out parse-fr-common.c
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 08 Feb 2025 04:57:15 +0000
parents 5f98c5cae4ea
children
line wrap: on
line diff
--- a/trau-decode/parse-tfo16.c	Sat Feb 08 03:38:54 2025 +0000
+++ b/trau-decode/parse-tfo16.c	Sat Feb 08 04:57:15 2025 +0000
@@ -18,7 +18,7 @@
 	SYNCED
 } state;
 static unsigned hunt_for_0_count, frame_pos_count;
-static uint8_t in_frame_2bit[160], frame_bits[320], d_bits[260];
+static uint8_t in_frame_2bit[160], frame_bits[320];
 
 static void
 unpack_dibits()
@@ -59,29 +59,6 @@
 }
 
 static void
-collect_d_bits()
-{
-	bcopy(frame_bits + 33, d_bits, 15);
-	bcopy(frame_bits + 49, d_bits + 15, 15);
-	bcopy(frame_bits + 65, d_bits + 30, 15);
-	bcopy(frame_bits + 81, d_bits + 45, 15);
-	bcopy(frame_bits + 97, d_bits + 60, 15);
-	bcopy(frame_bits + 113, d_bits + 75, 15);
-	bcopy(frame_bits + 129, d_bits + 90, 15);
-	bcopy(frame_bits + 145, d_bits + 105, 15);
-	bcopy(frame_bits + 161, d_bits + 120, 15);
-	bcopy(frame_bits + 177, d_bits + 135, 15);
-	bcopy(frame_bits + 193, d_bits + 150, 15);
-	bcopy(frame_bits + 209, d_bits + 165, 15);
-	bcopy(frame_bits + 225, d_bits + 180, 15);
-	bcopy(frame_bits + 241, d_bits + 195, 15);
-	bcopy(frame_bits + 257, d_bits + 210, 15);
-	bcopy(frame_bits + 273, d_bits + 225, 15);
-	bcopy(frame_bits + 289, d_bits + 240, 15);
-	bcopy(frame_bits + 305, d_bits + 255, 5);
-}
-
-static void
 process_frame()
 {
 	unsigned c1_5eq, c6_11;
@@ -112,18 +89,7 @@
 	printf("  C6-C11: %u\n", c6_11);
 	printf("  C12=%u C13=%u C14=%u C15=%u\n", frame_bits[28],
 		frame_bits[29], frame_bits[30], frame_bits[31]);
-	switch (c1_5eq) {
-	case 0x02:
-	case 0x1C:
-		collect_d_bits();
-		print_fr_frame(d_bits);
-		break;
-	case 0x1A:
-		collect_d_bits();
-		check_efr_crc(d_bits);
-		print_efr_frame(d_bits);
-		break;
-	}
+	print_fr_efr_frame(frame_bits, c1_5eq);
 	printf("  C16=%u C17=%u C18=%u C19=%u C20=%u C21=%u\n",
 		frame_bits[310], frame_bits[311], frame_bits[312],
 		frame_bits[313], frame_bits[314], frame_bits[315]);