FreeCalypso > hg > freecalypso-tools
annotate uptools/atcmd/settime.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 | 19e5a3e2f9c0 |
children | dc2fd8e6f42c |
rev | line source |
---|---|
387
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 * This utility sends an AT+CCLK command to the GSM device to set its time |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * to the host's notion of local time. |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 */ |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 #include <time.h> |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 #include <stdio.h> |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 #include <stdlib.h> |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 #include <unistd.h> |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 #include "../../rvinterf/include/exitcodes.h" |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 main(argc, argv) |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 char **argv; |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 { |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 int c; |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 extern int optind; |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 time_t unixtime; |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 struct tm *tm; |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 char command[32]; |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 while ((c = getopt(argc, argv, "B:np:RX:")) != EOF) |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 if (!atinterf_cmdline_opt(c)) { |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 /* error msg already printed */ |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 exit(ERROR_USAGE); |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 } |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 if (argc != optind) { |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 fprintf(stderr, "usage: %s [options]\n", argv[0]); |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 exit(ERROR_USAGE); |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 } |
407
19e5a3e2f9c0
fcup-settime: moved time() retrieval a little closer to the output
Mychaela Falconia <falcon@freecalypso.org>
parents:
387
diff
changeset
|
30 atinterf_init(); |
387
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 time(&unixtime); |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 tm = localtime(&unixtime); |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 sprintf(command, "AT+CCLK=\"%02d/%02d/%02d,%02d:%02d:%02d%+03d\"", |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 tm->tm_year % 100, tm->tm_mon + 1, tm->tm_mday, |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 tm->tm_hour, tm->tm_min, tm->tm_sec, tm->tm_gmtoff / (15*60)); |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 atinterf_exec_cmd_needok(command, 0, 0); |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 exit(0); |
b61b81d3cece
fcup-settime program written, compiles, produces expected AT+CCLK command
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 } |