summaryrefslogtreecommitdiffstats
path: root/serial_keypad.c
diff options
context:
space:
mode:
Diffstat (limited to 'serial_keypad.c')
-rw-r--r--serial_keypad.c62
1 files changed, 62 insertions, 0 deletions
diff --git a/serial_keypad.c b/serial_keypad.c
new file mode 100644
index 0000000..91939e6
--- /dev/null
+++ b/serial_keypad.c
@@ -0,0 +1,62 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <termios.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include "util.h"
+#include "keypad.h"
+
+
+
+
+static int usage (const char *name)
+{
+ fprintf (stderr, "Usage:\n");
+ fprintf (stderr, "%s -p device [ -b baud ]\n", name);
+ fprintf (stderr, "\n");
+
+ return -1;
+}
+
+
+int main (int argc, char *argv[])
+{
+ unsigned opt;
+ const char *port = NULL;
+ unsigned baud = 9600;
+ int fd;
+
+ while ((opt = getopt (argc, argv, "h:p:z:USPRBFTAD")) != -1) {
+ switch (opt) {
+ case 'p':
+ port = optarg;
+ break;
+
+ case 'b':
+ baud = atoi (optarg);
+ break;
+
+ default: /* '?' */
+ return usage (argv[0]);
+ }
+ }
+
+ if (!port) return (usage (argv[0]));
+
+ fd = open_tty (port, baud);
+
+ set_blocking (fd);
+
+
+ if (fd < 0) {
+ perror ("open tcp port");
+ return -1;
+ }
+
+
+ return gd_keypad (fd);
+}
+
+