From 19efebc6c1fbbc3b874576bd8ffefab437ff9814 Mon Sep 17 00:00:00 2001
From: Neil Gershenfeld <gersh@cba.mit.edu>
Date: Sun, 13 Dec 2020 09:21:42 -0500
Subject: [PATCH] wip

---
 GPIO/libgpiod/ring.libgpiod.c | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100644 GPIO/libgpiod/ring.libgpiod.c

diff --git a/GPIO/libgpiod/ring.libgpiod.c b/GPIO/libgpiod/ring.libgpiod.c
new file mode 100644
index 0000000..acc8be5
--- /dev/null
+++ b/GPIO/libgpiod/ring.libgpiod.c
@@ -0,0 +1,33 @@
+//
+// ring.libgpiod.c
+//
+// libgpiod ring oscillator test
+//    gcc ring.libgpiod.c -o ring.libgpiod -lgpiod
+//
+// Neil Gershenfeld 12/13/20
+//
+// This work may be reproduced, modified, distributed,
+// performed, and displayed for any purpose, but must
+// acknowledge this project. Copyright is retained and
+// must be preserved. The work is provided as is; no
+// warranty is provided, and users accept all liability.
+//
+#include <gpiod.h>
+int main(int argc, char **argv) {
+   struct gpiod_chip *chip;
+   struct gpiod_line *lineout;
+   struct gpiod_line *linein;
+   unsigned int pinout = 23;
+   unsigned int pinin = 24;
+   chip = gpiod_chip_open_by_name("gpiochip0");
+   lineout = gpiod_chip_get_line(chip,pinout);
+   gpiod_line_request_output(lineout,"main",0);
+   linein = gpiod_chip_get_line(chip,pinin);
+   gpiod_line_request_input(linein,"main");
+   while (1) {
+  	   if (gpiod_line_get_value(linein))
+        	   gpiod_line_set_value(lineout,0);
+  	   else
+        	   gpiod_line_set_value(lineout,1);
+  	   }
+   }
-- 
GitLab