FreeCalypso > hg > ice1-trau-tester
annotate ater/user_cmd.c @ 37:26c9535df39e
rm abis subdir: moved to e1-fake-trau repository
The present code repository is meant to contain code for talking
to a TRAU DUT, hence the name ice1-trau-tester. The different and
separate function of talking to an E1 BTS (Abis instead of Ater,
and in the opposite role) was never in scope for this project, but
that code got added here in a haste when the InSite BTS arrived
while the TRAU bring-up was still blocked. Now that we have our
Nokia TCSM2 system working and are doing TRAU experiments, let's
keep the code clean.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 29 Aug 2024 19:02:02 +0000 |
parents | 1dda11905e85 |
children | 16715bd149e0 |
rev | line source |
---|---|
5
7233c10af3ad
pcm: hook in stdin select mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
7233c10af3ad
pcm: hook in stdin select mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * In this module we handle user-issued stdin commands during |
15
98ae717734d6
ater: starting skeleton
Mychaela Falconia <falcon@freecalypso.org>
parents:
12
diff
changeset
|
3 * itt-ater-16 running session. |
5
7233c10af3ad
pcm: hook in stdin select mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 */ |
7233c10af3ad
pcm: hook in stdin select mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 |
7233c10af3ad
pcm: hook in stdin select mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 #include <stdint.h> |
7233c10af3ad
pcm: hook in stdin select mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 #include <stdbool.h> |
7233c10af3ad
pcm: hook in stdin select mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 #include <stdio.h> |
7233c10af3ad
pcm: hook in stdin select mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 #include <stdlib.h> |
7233c10af3ad
pcm: hook in stdin select mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 #include <string.h> |
7233c10af3ad
pcm: hook in stdin select mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 |
7233c10af3ad
pcm: hook in stdin select mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 #include <osmocom/core/select.h> |
7233c10af3ad
pcm: hook in stdin select mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 |
7233c10af3ad
pcm: hook in stdin select mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 #include "globals.h" |
7233c10af3ad
pcm: hook in stdin select mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 |
6
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
16 static struct cmdtab { |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
17 char *cmd; |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
18 void (*func)(int argc, char **argv); |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
19 } cmdtab[] = { |
24
f49e57b0d1a2
ater: implement activ command
Mychaela Falconia <falcon@freecalypso.org>
parents:
15
diff
changeset
|
20 {"activ", cmd_activate}, |
25
45411b72b6b3
ater: implement deact command
Mychaela Falconia <falcon@freecalypso.org>
parents:
24
diff
changeset
|
21 {"deact", cmd_deact}, |
27
2742dbea95f1
ater: implement play command
Mychaela Falconia <falcon@freecalypso.org>
parents:
25
diff
changeset
|
22 {"play", cmd_play_file}, |
29
1dda11905e85
ater: implement play-stop command
Mychaela Falconia <falcon@freecalypso.org>
parents:
27
diff
changeset
|
23 {"play-stop", cmd_play_stop}, |
6
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
24 {"print-rx", cmd_print_rx}, |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
25 {"record", cmd_record_start}, |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
26 {"record-stop", cmd_record_stop}, |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
27 /* table search terminator */ |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
28 {NULL, NULL} |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
29 }; |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
30 |
5
7233c10af3ad
pcm: hook in stdin select mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 void handle_user_cmd(int argc, char **argv) |
7233c10af3ad
pcm: hook in stdin select mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 { |
6
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
33 struct cmdtab *tp; |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
34 |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
35 for (tp = cmdtab; tp->cmd; tp++) |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
36 if (!strcmp(tp->cmd, argv[0])) |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
37 break; |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
38 if (!tp->func) { |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
39 printf("error: unknown or unimplemented command\n"); |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
40 return; |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
41 } |
631f2db08538
pcm: implement print-rx and record commands
Mychaela Falconia <falcon@freecalypso.org>
parents:
5
diff
changeset
|
42 tp->func(argc, argv); |
5
7233c10af3ad
pcm: hook in stdin select mechanism
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 } |