summaryrefslogtreecommitdiff
path: root/digital/io/tools/io/io.py
diff options
context:
space:
mode:
Diffstat (limited to 'digital/io/tools/io/io.py')
-rw-r--r--digital/io/tools/io/io.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/digital/io/tools/io/io.py b/digital/io/tools/io/io.py
new file mode 100644
index 00000000..8b78a8cc
--- /dev/null
+++ b/digital/io/tools/io/io.py
@@ -0,0 +1,36 @@
+import proto, time
+
+class Io:
+
+ def __init__ (self, file, time = time.time, **param):
+ self.proto = proto.Proto (file, time, 0.1)
+ self.async = False
+ self.param = param
+ self.send_param ()
+
+ def send_param (self):
+ p = self.param
+ for i, t in enumerate (p['trap']):
+ self.proto.send ('t', 'BBB', i, t[0], t[1])
+ for i, t in enumerate (p['sharp_threshold']):
+ self.proto.send ('h', 'BHH', i, t[0], t[1])
+
+ def write_eeprom (self):
+ self.proto.send ('p', 'BB', ord ('E'), ord ('s'))
+ time.sleep (1)
+ self.proto.wait (lambda: True)
+
+ def reset (self):
+ self.proto.send ('w')
+ self.proto.send ('w', 'H', 0)
+ self.proto.send ('z')
+ self.proto.send ('z')
+
+ def close (self):
+ self.reset ()
+ self.wait (lambda: True)
+ self.proto.file.close ()
+
+ def fileno (self):
+ return self.proto.fileno ()
+