kettler-coach-e/testrower.py

50 lines
1.3 KiB
Python
Raw Permalink Normal View History

import struct, sys, hashlib, curses
from time import sleep
from binascii import hexlify,unhexlify
from ant.core import driver
from ant.core import node
from RowerTx import RowerTx
from iConst import *
rower = None
ROWER_SENSOR_ID = int(int(hashlib.md5(getserial()).hexdigest(), 16) & 0xFFFFfffe) + 1
if __name__ =='__main__':
NETKEY = unhexlify(sys.argv[1])
stick = driver.USB1Driver(device=sys.argv[2], log=None, debug=True)
antnode = node.Node(stick)
print("Starting ANT node on network %s" % sys.argv[1])
antnode.start()
key = node.NetworkKey('N:ANT+', NETKEY)
antnode.setNetworkKey(0, key)
print("Starting power meter with ANT+ ID " + repr(ROWER_SENSOR_ID))
try:
# Create the power meter object and open it
rower = RowerTx(antnode, ROWER_SENSOR_ID)
rower.open()
except Exception as e:
print("power_meter error: " + e.message)
rower = None
i = 0
while True:
try:
sleep(1)
except:
break
rower.update(power = 179.2)
i += 1
if (i > 200):
break
if rower:
print "Closing power meter"
rower.close()
rower.unassign()
if antnode:
print "Stopping ANT node"
antnode.stop()