py9b/read_esc.py

46 lines
1.1 KiB
Python
Raw Normal View History

#!python2-32
from py9b.link.base import LinkOpenException, LinkTimeoutException
from py9b.link.tcp import TCPLink
from py9b.link.ble import BLELink
2018-12-01 22:24:21 +00:00
from py9b.link.serial import SerialLink
from py9b.transport.base import BaseTransport as BT
from py9b.transport.packet import BasePacket as PKT
from py9b.transport.xiaomi import XiaomiTransport
from py9b.transport.ninebot import NinebotTransport
2018-12-01 22:24:21 +00:00
from py9b.command.regio import ReadRegs
2018-12-01 22:24:21 +00:00
READ_CHUNK_SIZE = 0x10
link = SerialLink()
#link = TCPLink()
#link = BLELink()
with link:
print "Scanning..."
ports = link.scan()
print ports
#tran = XiaomiTransport(link)
tran = NinebotTransport(link)
#link.open(("127.0.0.1", 6000))
link.open(ports[0][1])
print "Connected"
hfo = open("EscRegs.bin", "wb")
for i in xrange(0x0, 0x200, READ_CHUNK_SIZE):
print ".",
2018-12-01 22:24:21 +00:00
for retry in xrange(5):
try:
2018-12-01 22:24:21 +00:00
data = tran.execute(ReadRegs(BT.ESC, i>>1, "16s"))[0]
except LinkTimeoutException:
continue
break
2018-12-01 22:24:21 +00:00
else:
print "No response !"
break
hfo.write(data)
hfo.close()
link.close()