comparison trau-decode/parse-main.c @ 77:729dbac9df82

trau-decode: factor out parse-data.c
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 08 Feb 2025 05:16:35 +0000
parents d4ee42801cdc
children 00fd38c7c8fe
comparison
equal deleted inserted replaced
76:d4ee42801cdc 77:729dbac9df82
61 if (*bits) 61 if (*bits)
62 accum |= 1; 62 accum |= 1;
63 bits++; 63 bits++;
64 } 64 }
65 return accum; 65 return accum;
66 }
67
68 static void
69 print_data_subframe(nf, bits)
70 uint8_t *bits;
71 {
72 unsigned nb;
73
74 printf(" Data frame %d:", nf);
75 for (nb = 0; nb < 9; nb++) {
76 printf(" %02X", bits_to_num(bits, 8));
77 bits += 8;
78 }
79 putchar('\n');
80 }
81
82 static void
83 print_data_frame()
84 {
85 print_data_subframe(0, frame_bits + 4 * 8);
86 print_data_subframe(1, frame_bits + 13 * 8);
87 print_data_subframe(2, frame_bits + 22 * 8);
88 print_data_subframe(3, frame_bits + 31 * 8);
89 } 66 }
90 67
91 static void 68 static void
92 dump_raw_frame() 69 dump_raw_frame()
93 { 70 {
182 case 0x08: 159 case 0x08:
183 case 0x09: 160 case 0x09:
184 case 0x16: 161 case 0x16:
185 case 0x17: 162 case 0x17:
186 case 0x14: 163 case 0x14:
187 printf(" C6-C15: %u%u%u%u%u%u%u%u%u%u\n", frame_bits[22], 164 print_data_frame(frame_bits);
188 frame_bits[23], frame_bits[24], frame_bits[25],
189 frame_bits[26], frame_bits[27], frame_bits[28],
190 frame_bits[29], frame_bits[30], frame_bits[31]);
191 print_data_frame();
192 break; 165 break;
193 case 0x1F: 166 case 0x1F:
194 printf(" C6-C13: %u%u%u%u%u%u%u%u\n", frame_bits[22], 167 print_edata_frame(frame_bits);
195 frame_bits[23], frame_bits[24], frame_bits[25],
196 frame_bits[26], frame_bits[27], frame_bits[28],
197 frame_bits[29]);
198 printf(" M1=%u M2=%u\n", frame_bits[30], frame_bits[31]);
199 break; 168 break;
200 case 0x06: 169 case 0x06:
201 c6_11 = bits_to_num(frame_bits + 22, 6); 170 c6_11 = bits_to_num(frame_bits + 22, 6);
202 printf(" C6-C11: %u\n", c6_11); 171 printf(" C6-C11: %u\n", c6_11);
203 printf(" RIF=%u C13=%u Config_Prot=%u%u%u Msg_No=%u%u\n", 172 printf(" RIF=%u C13=%u Config_Prot=%u%u%u Msg_No=%u%u\n",