diff options
Diffstat (limited to 'pybot/drivers/hackp.py')
-rw-r--r-- | pybot/drivers/hackp.py | 55 |
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] |