py9b/read_esc.py

46 lines
1.2 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()
2019-10-20 06:49:22 +00:00
# link = TCPLink()
# link = BLELink()
with link:
2019-10-20 06:49:22 +00:00
print("Scanning...")
ports = link.scan()
print(ports)
2019-10-20 06:49:22 +00:00
# tran = XiaomiTransport(link)
tran = NinebotTransport(link)
2019-10-20 06:49:22 +00:00
# link.open(("127.0.0.1", 6000))
link.open(ports[0][1])
print("Connected")
2019-10-20 06:49:22 +00:00
hfo = open("EscRegs.bin", "wb")
for i in xrange(0x0, 0x200, READ_CHUNK_SIZE):
print(".")
for retry in xrange(5):
try:
data = tran.execute(ReadRegs(BT.ESC, i >> 1, "16s"))[0]
except LinkTimeoutException:
continue
break
else:
print("No response !")
break
hfo.write(data)
2019-10-20 06:49:22 +00:00
hfo.close()
link.close()