FreeCalypso > hg > gsm-codec-lib
annotate efrtest/dlcap-sync.c @ 553:ebcf414b7d99
doc/TFO-transform: describe details for FRv1, both modes
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 07 Oct 2024 08:24:24 +0000 |
parents | d80ccb3c3970 |
children |
rev | line source |
---|---|
468
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * This program reads a TCH/EFS downlink capture file from a FreeCalypso GSM MS |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * that was produced in a session in which seqsync PCMA or PCMU input was fed |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 * into the test call from IP-PSTN side. It looks for EFR DHF followed by |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 * specific frame patterns indicating how the seqsync input was transcoded |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 * by the alien GSM network, and reports its findings. |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 */ |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 #include <ctype.h> |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 #include <stdio.h> |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 #include <stdint.h> |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 #include <stdlib.h> |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 #include <string.h> |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 #include <strings.h> |
472
d80ccb3c3970
gsmefr-dlcap-sync: use DHF datum in the library
Mychaela Falconia <falcon@freecalypso.org>
parents:
468
diff
changeset
|
15 #include "../libgsmefr/gsm_efr.h" |
468
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 static const uint8_t mr122_dhf[31] = { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 0xC0,0x85,0x4D,0xB9,0x6A,0xAA,0xD6,0x00,0x00,0x00,0x00,0x01,0xB5,0x87,0xF6,0x68, |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 0x37,0x94,0x09,0x00,0x41,0x58,0x54,0xF1,0x0F,0x6B,0x02,0x40,0x3C,0x7E,0xA0, |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 }; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 extern const uint8_t sync_from_pcma[320*31]; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 extern const uint8_t sync_from_pcmu[320*31]; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 static int |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 check_for_match(input, table) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 const uint8_t *input, *table; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 unsigned n; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 for (n = 0; n < 320; n++) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 if (!bcmp(input, table + n * 31, 31)) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 return n; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 return -1; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 main(argc, argv) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 char **argv; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 FILE *inf; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 char linebuf[128]; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 int lineno, rc; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 uint16_t status_words[3]; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 uint8_t tidsp_bytes[33], efr_bytes[31]; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 const uint8_t *match_table; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 int dhf_state; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 char *dhf_name; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 if (argc != 3) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 usage: fprintf(stderr, "usage: %s dlcap-file alaw|ulaw\n", argv[0]); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 exit(1); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 inf = fopen(argv[1], "r"); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 if (!inf) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 perror(argv[1]); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 exit(1); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 if (!strcmp(argv[2], "alaw")) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 match_table = sync_from_pcma; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 else if (!strcmp(argv[2], "ulaw")) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 match_table = sync_from_pcmu; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 else |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 goto usage; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 dhf_state = 0; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 for (lineno = 1; fgets(linebuf, sizeof linebuf, inf); lineno++) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 /* support both old and new formats */ |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 if (isxdigit(linebuf[0]) && isxdigit(linebuf[1]) && |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 isxdigit(linebuf[2]) && isxdigit(linebuf[3])) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 rc = parse_dlcap_common(linebuf, status_words, |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 tidsp_bytes); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 if (rc < 0) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 invalid: fprintf(stderr, |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 "error: %s is not in the expected format\n", |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 argv[1]); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 exit(1); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 } else if (!strncmp(linebuf, "EFR ", 4)) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 rc = parse_dlcap_common(linebuf + 4, status_words, |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 tidsp_bytes); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 if (rc < 0) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 goto invalid; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 if (linebuf[85] != ' ') |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 goto invalid; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 if (!isdigit(linebuf[86])) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 goto invalid; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 } else |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 goto invalid; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 if ((status_words[0] & 0xC204) != 0xC000) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 dhf_state = 0; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 continue; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 efr_tidsp_to_std(tidsp_bytes, efr_bytes); |
472
d80ccb3c3970
gsmefr-dlcap-sync: use DHF datum in the library
Mychaela Falconia <falcon@freecalypso.org>
parents:
468
diff
changeset
|
94 if (!bcmp(efr_bytes, EFR_decoder_homing_frame, 31)) { |
468
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 dhf_state = 1; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 continue; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 if (!bcmp(efr_bytes, mr122_dhf, 31)) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 dhf_state = 2; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 continue; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 if (!dhf_state) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 continue; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 rc = check_for_match(efr_bytes, match_table); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 if (rc >= 0 && rc <= 159) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 printf( |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 "line %d: match to standard EFR with offset %d\n", |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 lineno, rc); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 if (dhf_state == 2) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 printf("... but preceded by MR122 DHF!\n"); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 } else if (rc >= 160 && rc <= 279) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 printf("line %d: match to AMR-EFR with offset %d\n", |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 lineno, rc - 160); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 if (dhf_state == 2) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 printf("... but preceded by MR122 DHF!\n"); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 } else if (rc >= 280 && rc <= 319) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 printf("line %d: match to AMR-EFR with offset %d\n", |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 lineno, rc - 160); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 switch (dhf_state) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 case 1: |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 dhf_name = "EFR"; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 break; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 case 2: |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 dhf_name = "MR122"; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 break; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 default: |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 dhf_name = "???"; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 printf("previous frame was %s DHF\n", dhf_name); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 dhf_state = 0; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 exit(0); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 } |