diff trau-decode/parse-main.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 f77a48a01ff0
children 729dbac9df82
line wrap: on
line diff
--- a/trau-decode/parse-main.c	Sat Feb 08 03:38:54 2025 +0000
+++ b/trau-decode/parse-main.c	Sat Feb 08 04:57:15 2025 +0000
@@ -25,7 +25,7 @@
 	D144_EDATA,
 } d144_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()
@@ -66,47 +66,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
-print_fr_efr_frame(c1_5)
-	unsigned c1_5;
-{
-	switch (c1_5) {
-	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;
-	}
-}
-
-static void
 print_data_subframe(nf, bits)
 	uint8_t *bits;
 {
@@ -213,7 +172,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]);
-		print_fr_efr_frame(c1_5);
+		print_fr_efr_frame(frame_bits, c1_5);
 		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]);