chiark / gitweb /
new "readlots" program for capturing signals using the parport
authorian <ian>
Sun, 9 Jan 2005 02:27:38 +0000 (02:27 +0000)
committerian <ian>
Sun, 9 Jan 2005 02:27:38 +0000 (02:27 +0000)
parport/.cvsignore
parport/Makefile
parport/readlots.c [new file with mode: 0644]

index a0657facc5c964d723fcc10ab057aa32488de3ca..a22ddbfb47d1c207e7f84ae7c0beef4a9e11d62e 100644 (file)
@@ -1,3 +1,4 @@
 parport-ctl
 train-pic-prog-select
 siggen
+readlots
index 0f9d8fd3544186dec921c631ee9a205862b8acfa..0cb60c9f2e02566325ae5603d244d83e66aaec9c 100644 (file)
@@ -1,6 +1,6 @@
 include ../cprogs.make
 
-CPROGS_I=      parport-ctl train-pic-prog-select
+CPROGS_I=      parport-ctl train-pic-prog-select readlots
 SCRIPTS_I=     odyssey-train
 TARGETS=       siggen $(CPROGS_I)
 
@@ -12,6 +12,7 @@ install:
 
 train-pic-prog-select: train-pic-prog-select.o lib.o
 siggen:                        siggen.o lib.o
+readlots:              readlots.o lib.o
 
 train-pic-prog-select.o siggen.o lib.o: lib.h
 
diff --git a/parport/readlots.c b/parport/readlots.c
new file mode 100644 (file)
index 0000000..41c4330
--- /dev/null
@@ -0,0 +1,34 @@
+/**/
+
+#include <assert.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+
+#include <sys/time.h>
+#include <sys/ioctl.h>
+#include <linux/ppdev.h>
+
+#include "lib.h"
+
+static void badusage(void) {
+  fprintf(stderr,
+         "usage: readlots <&parport\n"
+         "options: none\n");
+}        
+
+int main(int argc, const char *const *argv) {
+  unsigned char v;
+  struct timeval tv;
+  int r;
+
+  argc--;
+  argv++;
+  if (argc>=1) badusage();
+
+  for (;;) {
+    r= gettimeofday(&tv,0); assert(!r);
+    doioctl(PPRSTATUS, &v, 0);
+    printf("%10lu.%06lu %02x\n", tv.tv_sec, tv.tv_usec, v);
+  }
+}