annotate uptools/atcmd/atcmd.c @ 416:30f6d1c32c6f

doc/Flash-boot-defect article removed (no longer relevant) This article is no longer relevant because the issue in question only affected one (1) defective FCDEV3B board which was not and never will be sold.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 26 Oct 2018 07:11:08 +0000
parents 64dcbabd48ca
children dc2fd8e6f42c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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();
64dcbabd48ca uptools/atcmd framework started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 atinterf_exec_cmd(argv[optind], 0, int_callback);
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 }