kettler-coach-e/testrower.py
Harald Hoyer 5a7a77b2c5 first commit
Signed-off-by: Harald Hoyer <harald@profian.com>
2022-09-20 11:46:17 +02:00

50 lines
1.3 KiB
Python

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()