Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pybot/drivers/hackp.py
diff options
context:
space:
mode:
Diffstat (limited to 'pybot/drivers/hackp.py')
-rw-r--r--pybot/drivers/hackp.py55
1 files changed, 25 insertions, 30 deletions
diff --git a/pybot/drivers/hackp.py b/pybot/drivers/hackp.py
index 4e9c963..d8aa5c7 100644
--- a/pybot/drivers/hackp.py
+++ b/pybot/drivers/hackp.py
@@ -7,34 +7,29 @@ WRITE_PORT = 0x04
PORT_IN = 0x05
PORT_OUT = 0x06
-
-f1 = {
- 'name': 'getVersion',
- 'call': RD_VERSION,
- 'params': 0,
- 'read': 3
-}
-
-f2 = {
- 'name': 'setMode',
- 'call': SET_MODE,
- 'params': 2,
- 'read': 1
-}
-
-f3 = {
- 'name': 'read',
- 'call': READ,
- 'params': 1,
- 'read': 1
-}
-
-f4 = {
- 'name': 'write',
- 'call': WRITE,
- 'params': 2,
- 'read': 1
-}
-
-FUNCTIONS = [f1, f2, f3, f4]
+def getVersion(dev):
+ dev.send([RD_VERSION])
+ raw = dev.read(3)
+ return raw[1] + raw[2] * 256
+
+def setMode(dev, pin, mode):
+ pin = pin - 1
+ msg = [SET_MODE, pin, mode]
+ dev.send(msg)
+ raw = dev.read(1)
+ return raw[0]
+
+def read(dev, pin):
+ pin = pin - 1
+ msg = [READ, pin]
+ dev.send(msg)
+ raw = dev.read(2)
+ return raw[1]
+
+def write(dev, pin, value):
+ pin = pin - 1
+ msg = [WRITE, pin, value]
+ dev.send(msg)
+ raw = dev.read(1)
+ return raw[0]