iconsole/testpower.py

48 lines
1.3 KiB
Python
Raw Permalink Normal View History

2017-04-20 21:33:42 +02:00
import serial, struct, sys, hashlib, curses
from time import sleep
2017-04-21 16:12:57 +02:00
from binascii import hexlify,unhexlify
2017-04-20 21:33:42 +02:00
from ant.core import driver
from ant.core import node
from bluetooth import *
from PowerMeterTx import PowerMeterTx
2017-04-21 16:12:57 +02:00
from iConst import *
2017-04-20 21:33:42 +02:00
power_meter = None
2017-04-25 15:31:37 +02:00
POWER_SENSOR_ID = int(int(hashlib.md5(getserial()).hexdigest(), 16) & 0xFFFFfffe) + 1
2017-04-20 21:33:42 +02:00
if __name__ =='__main__':
2017-04-21 16:12:57 +02:00
NETKEY = unhexlify(sys.argv[1])
2017-04-20 21:33:42 +02:00
stick = driver.USB1Driver(device="/dev/ttyANT", log=None, debug=True)
antnode = node.Node(stick)
2017-04-21 16:12:57 +02:00
print("Starting ANT node on network %s" % sys.argv[1])
2017-04-20 21:33:42 +02:00
antnode.start()
key = node.NetworkKey('N:ANT+', NETKEY)
antnode.setNetworkKey(0, key)
print("Starting power meter with ANT+ ID " + repr(POWER_SENSOR_ID))
try:
# Create the power meter object and open it
power_meter = PowerMeterTx(antnode, POWER_SENSOR_ID)
power_meter.open()
except Exception as e:
print("power_meter error: " + e.message)
power_meter = None
i = 0
while True:
sleep(1)
power_meter.update(power = i, cadence = i)
i += 1
if (i > 200):
break
if power_meter:
print "Closing power meter"
power_meter.close()
power_meter.unassign()
if antnode:
print "Stopping ANT node"
antnode.stop()