FreeCalypso > hg > freecalypso-tools
annotate uptools/atcmd/atcmd.c @ 667:2772cf8435b4
CHANGES: binary protocol for flash programming operations
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 07 Mar 2020 19:43:10 +0000 |
parents | dc2fd8e6f42c |
children |
rev | line source |
---|---|
348
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * This utility allows a single AT command to be issued |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * through the atinterf framework. |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 */ |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 #include <stdio.h> |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 #include <stdlib.h> |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 #include <unistd.h> |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 #include "../../rvinterf/include/exitcodes.h" |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 extern char at_response[]; |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 int_callback() |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 { |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 puts(at_response+1); |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 } |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 main(argc, argv) |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 char **argv; |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 { |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 int c; |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 extern int optind; |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 while ((c = getopt(argc, argv, "B:np:RX:")) != EOF) |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 if (!atinterf_cmdline_opt(c)) { |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 /* error msg already printed */ |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 exit(ERROR_USAGE); |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 } |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 if (argc != optind + 1 || strncasecmp(argv[optind], "AT", 2)) { |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 fprintf(stderr, "usage: %s [options] at-cmd\n", argv[0]); |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 exit(ERROR_USAGE); |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 } |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 atinterf_init(); |
467
dc2fd8e6f42c
uptools/atcmd: null pointer passing fixes
Mychaela Falconia <falcon@freecalypso.org>
parents:
348
diff
changeset
|
34 atinterf_exec_cmd(argv[optind], (char *) 0, int_callback); |
348
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 puts(at_response+1); |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 exit(0); |
64dcbabd48ca
uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 } |