changeset 96:13d47c9df28b

trau-hr-dump: add -s option for subset sync pattern match With this option, trau-hr-dump can be used to decode TFO-HRv1 captures that contain embedded TFO messages.
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 18 Mar 2025 23:55:29 +0000
parents 7c7ace4999c1
children fe0551c9b8cd
files trau-decode/trau-hr-dump.c
diffstat 1 files changed, 9 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/trau-decode/trau-hr-dump.c	Tue Mar 18 23:08:29 2025 +0000
+++ b/trau-decode/trau-hr-dump.c	Tue Mar 18 23:55:29 2025 +0000
@@ -17,7 +17,7 @@
 
 static uint8_t *filebuf;
 static unsigned total_size;
-static int include_raw;
+static int include_raw, sync_subset;
 
 static void
 read_ts_file(filename, subslot_arg)
@@ -82,11 +82,13 @@
 	}
 	if (!cand[8])
 		return 0;
-	if (cand[16])
+	if (cand[16] && !sync_subset)
 		return 0;
 	if (!cand[17])
 		return 0;
 	for (n = 3; n < 20; n++) {
+		if (sync_subset && (n & 1) == 0)
+			continue;
 		if (!cand[n * 8])
 			return 0;
 	}
@@ -156,14 +158,17 @@
 	extern int optind;
 	int c;
 
-	while ((c = getopt(argc, argv, "r")) != EOF) {
+	while ((c = getopt(argc, argv, "rs")) != EOF) {
 		switch (c) {
 		case 'r':
 			include_raw = 1;
 			continue;
+		case 's':
+			sync_subset = 1;
+			continue;
 		default:
 		usage:
-			fprintf(stderr, "usage: %s [-r] binfile subslot\n",
+			fprintf(stderr, "usage: %s [-r] [-s] binfile subslot\n",
 				argv[0]);
 			exit(1);
 		}