OSDN Git Service

Add test-mona2cable. master
authormonamour <monamour@72fde1f0-ad36-0410-829e-9351af74d6db>
Sat, 24 May 2008 12:38:08 +0000 (12:38 +0000)
committermonamour <monamour@72fde1f0-ad36-0410-829e-9351af74d6db>
Sat, 24 May 2008 12:38:08 +0000 (12:38 +0000)
git-svn-id: https://svn.sourceforge.jp/svnroot/ecuexplorer/trunk/test-mona2cable@16 72fde1f0-ad36-0410-829e-9351af74d6db

test-mona2cable.c [new file with mode: 0644]

diff --git a/test-mona2cable.c b/test-mona2cable.c
new file mode 100644 (file)
index 0000000..fc93fe9
--- /dev/null
@@ -0,0 +1,49 @@
+#include <termios.h>
+#include <fcntl.h>
+#include <sys/ioctl.h>
+#include <stdio.h>
+
+
+int
+main(int argc, char **argv)
+{
+    int fd;
+    int serial;
+    int i;
+    char send_buf[] = "this is test.";
+    char buf[20] = { 0 };
+
+    if (argc != 2) {
+       fprintf(stderr, "Usage: %s {device_name}\n", argv[0]);
+    }
+
+    fd = open(argv[1], O_RDWR);
+    if (fd < 0) {
+       fprintf(stderr, "Error to open.");
+       exit(1);
+    }
+    ioctl(fd, TIOCMGET, &serial);
+
+    for (i = 0; i < 3; i++) {
+       fprintf(stderr, ".Blinking...");
+       serial |= TIOCM_DTR;
+       serial |= TIOCM_RTS;
+       ioctl(fd, TIOCMSET, &serial);
+       sleep(1);
+       serial &= ~TIOCM_DTR;
+       serial &= ~TIOCM_RTS;
+       ioctl(fd, TIOCMSET, &serial);
+       sleep(1);
+    }    
+
+    write(fd, send_buf, sizeof(send_buf));
+    sleep(1);
+    read(fd, buf, sizeof(send_buf));
+
+    if (!memcmp(buf, send_buf, sizeof(send_buf))) {
+       fprintf(stderr, "Loopback ok! (%s)", buf);
+    } else {
+       fprintf(stderr, "Loopback failed! (%s)", buf);
+    }
+    close(fd);
+}