IEEE 802.15.4 subsystem
Sign in or create your account | Project List | Help
IEEE 802.15.4 subsystem Commit Details
Date: | 2010-11-08 20:22:39 (13 years 4 months ago) |
---|---|
Author: | Werner Almesberger |
Commit: | a7a94b85cd782d9e56cbbe3f44db29b6f4e0bdbe |
Message: | Use getopt in atspi-rssi.c - atspi-rssi/atspi-rssi.c (main): use getopt - atspi-rssi/atspi-rssi.c (usage, main): introduce option -n to select number-of-sweeps mode (default) |
Files: |
tools/atspi-rssi/atspi-rssi.c (3 diffs) |
Change Details
tools/atspi-rssi/atspi-rssi.c | ||
---|---|---|
13 | 13 | |
14 | 14 | #include <stdlib.h> |
15 | 15 | #include <stdio.h> |
16 | #include <unistd.h> | |
16 | 17 | #include <signal.h> |
17 | 18 | #include <sys/time.h> |
18 | 19 | |
... | ... | |
35 | 36 | /* 150 us, according to AVR2001 section 3.5 */ |
36 | 37 | wait_for_interrupt(dsc, IRQ_PLL_LOCK, IRQ_PLL_LOCK, 10, 20); |
37 | 38 | |
38 | /* | |
39 | * No need to explicitly wait for the PPL lock - going USB-SPI | |
40 | * is pretty slow, leaving the transceiver plenty of time. | |
41 | */ | |
42 | 39 | gettimeofday(&t, NULL); |
43 | 40 | rssi = atspi_reg_read(dsc, REG_PHY_RSSI) & RSSI_MASK; |
44 | 41 | t.tv_sec -= t0.tv_sec; |
... | ... | |
60 | 57 | |
61 | 58 | static void usage(const char *name) |
62 | 59 | { |
63 | fprintf(stderr, "usage: %s sweeps \n", name); | |
60 | fprintf(stderr, | |
61 | "usage: %s [-n] sweeps\n", name); | |
64 | 62 | exit(1); |
65 | 63 | } |
66 | 64 | |
67 | 65 | |
68 | int main(int argc, const char **argv) | |
66 | int main(int argc, char **argv) | |
69 | 67 | { |
70 | 68 | struct atspi_dsc *dsc; |
71 | 69 | unsigned long sweeps, i; |
72 | 70 | char *end; |
73 | ||
74 | if (argc != 2) | |
75 | usage(*argv); | |
76 | sweeps = strtoul(argv[1], &end, 0); | |
77 | if (*end) | |
71 | int c; | |
72 | ||
73 | while ((c = getopt(argc, argv, "n")) != EOF) | |
74 | switch (c) { | |
75 | case 'n': | |
76 | break; | |
77 | default: | |
78 | usage(*argv); | |
79 | } | |
80 | ||
81 | switch (argc-optind) { | |
82 | case 1: | |
83 | sweeps = strtoul(argv[optind], &end, 0); | |
84 | if (*end) | |
85 | usage(*argv); | |
86 | break; | |
87 | default: | |
78 | 88 | usage(*argv); |
89 | } | |
79 | 90 | |
80 | 91 | signal(SIGINT, die); |
81 | 92 |