FreeCalypso > hg > gsm-codec-lib
annotate efrtest/dlcap-sync.c @ 469:7c50864deaff
amrts-pcm8-compact program written
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 13 May 2024 21:06:58 +0000 |
parents | 4104b0390fab |
children | d80ccb3c3970 |
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> |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 static const uint8_t efr_dhf[31] = { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 0xC0,0x85,0xEB,0x49,0x0F,0xAA,0xD6,0x03,0xE3,0xA1,0x86,0x07,0xB0,0xC4,0x2C,0x08, |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 0x04,0x80,0x55,0x80,0x00,0x00,0x00,0x00,0x03,0x6B,0x00,0x00,0x00,0x00,0x00, |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 }; |
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 static const uint8_t mr122_dhf[31] = { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 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
|
23 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
|
24 }; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 extern const uint8_t sync_from_pcma[320*31]; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 extern const uint8_t sync_from_pcmu[320*31]; |
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 static int |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 check_for_match(input, table) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 const uint8_t *input, *table; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 unsigned 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 for (n = 0; n < 320; n++) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 if (!bcmp(input, table + n * 31, 31)) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 return n; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 return -1; |
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 |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 main(argc, argv) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 char **argv; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 FILE *inf; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 char linebuf[128]; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 int lineno, rc; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 uint16_t status_words[3]; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 uint8_t tidsp_bytes[33], efr_bytes[31]; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 const uint8_t *match_table; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 int dhf_state; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 char *dhf_name; |
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 if (argc != 3) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 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
|
56 exit(1); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 inf = fopen(argv[1], "r"); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 if (!inf) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 perror(argv[1]); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 exit(1); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 if (!strcmp(argv[2], "alaw")) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 match_table = sync_from_pcma; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 else if (!strcmp(argv[2], "ulaw")) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 match_table = sync_from_pcmu; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 else |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 goto usage; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 dhf_state = 0; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 for (lineno = 1; fgets(linebuf, sizeof linebuf, inf); lineno++) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 /* support both old and new formats */ |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 if (isxdigit(linebuf[0]) && isxdigit(linebuf[1]) && |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 isxdigit(linebuf[2]) && isxdigit(linebuf[3])) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 rc = parse_dlcap_common(linebuf, status_words, |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 tidsp_bytes); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 if (rc < 0) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 invalid: fprintf(stderr, |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 "error: %s is not in the expected format\n", |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 argv[1]); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 exit(1); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 } else if (!strncmp(linebuf, "EFR ", 4)) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 rc = parse_dlcap_common(linebuf + 4, status_words, |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 tidsp_bytes); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 if (rc < 0) |
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 if (linebuf[85] != ' ') |
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 (!isdigit(linebuf[86])) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 goto invalid; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 } else |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 goto invalid; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 if ((status_words[0] & 0xC204) != 0xC000) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 dhf_state = 0; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 continue; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 efr_tidsp_to_std(tidsp_bytes, efr_bytes); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 if (!bcmp(efr_bytes, efr_dhf, 31)) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 dhf_state = 1; |
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 (!bcmp(efr_bytes, mr122_dhf, 31)) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 dhf_state = 2; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 continue; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 if (!dhf_state) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 continue; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 rc = check_for_match(efr_bytes, match_table); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 if (rc >= 0 && rc <= 159) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 printf( |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 "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
|
112 lineno, rc); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 if (dhf_state == 2) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 printf("... but preceded by MR122 DHF!\n"); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 } else if (rc >= 160 && rc <= 279) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 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
|
117 lineno, rc - 160); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 if (dhf_state == 2) |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 printf("... but preceded by MR122 DHF!\n"); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 } else if (rc >= 280 && rc <= 319) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 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
|
122 lineno, rc - 160); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 switch (dhf_state) { |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 case 1: |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 dhf_name = "EFR"; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 break; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 case 2: |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 dhf_name = "MR122"; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 break; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 default: |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 dhf_name = "???"; |
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 printf("previous frame was %s DHF\n", dhf_name); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 dhf_state = 0; |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 } |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 exit(0); |
4104b0390fab
efrtest: new program gsmefr-dlcap-sync
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 } |