Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
fmt = '%(message)s'
if args.timestamps:
fmt = '%(asctime)-15s %(levelname)s %(message)s'
if args.verbose:
logging.basicConfig(level=logging.DEBUG, format=fmt)
else:
logging.basicConfig(level=logging.INFO, format=fmt)
adapter_logger, protocol_logger = None, None
if args.debug_adapter:
adapter_logger = logging
if args.debug_protocol:
protocol_logger = logging
a = adapter.Adapter(args.port, logger=adapter_logger)
s = serialio.SerialIO(a, logger=protocol_logger)
s.adapter.connect()
logging.info("Connected to adapter version {}".format(s.adapter.version()))
s.connect()
logging.info("Connected to target version {}".format(s.version()))
sys.exit(args.func(args, s) or 0)
return block
def read_track_logs(self, flight_number):
self.io.write(struct.pack('>BBH', 3, 5, flight_number))
try:
while True:
self.buf += self.io.read()
except TimeoutError:
pass
return self.buf
if __name__ == '__main__':
from serialio import SerialIO
logging.basicConfig(level=logging.DEBUG)
s = SerialIO('/dev/cu.usbmodem641')
a = Ascent(s)
if True:
print repr(a.dev_drv_status_res())
if True:
for block in a.dev_drv_list_tracks():
print repr(block)
def __new__(self, device=None, model=None):
if device:
devices = (device,)
else:
device_globs = DEVICE_GLOBS.get(os.uname()[0], ())
devices = list(filename for device_glob in device_globs for filename in sorted(glob(device_glob)))
if model is not None and model not in FlightRecorder.SUPPORTED_MODELS:
raise RuntimeError # FIXME
for device in devices:
try:
io = SerialIO(device)
except IOError:
continue
if model in Fifty20.SUPPORTED_MODELS:
return Fifty20(io)
elif model in Flymaster.SUPPORTED_MODELS:
return Flymaster(io)
elif model in Sixty15.SUPPORTED_MODELS:
return Sixty15(io)
elif model is None:
try:
try:
line = 'PBRSNP,'.encode('nmea_sentence')
logger.info('write %r' % line)
io.write(line)
line = io.read(0.2)
while line.find('\x11' if line[0] == '\x13' else '\n') == -1:
def read_track_logs(self, flight_number):
self.io.write(struct.pack('>BBH', 3, 5, flight_number))
try:
while True:
self.buf += self.io.read()
except TimeoutError:
pass
return self.buf
s.adapter.set_tclk(0)
# Run target serial clock at 1.5MHz
s.adapter.set_sclk(127)
try:
code = args.code.decode('hex')
except TypeError:
logging.fatal("Code must be in hexadecimal format.")
return
if len(code) != 7:
logging.fatal("Code must be 7 bytes long.")
return
s.unlock(code)
status = s.unlock_status()
if status != serialio.UNLOCK_SUCCESSFUL:
logging.fatal("Target did not unlock.")
return
logging.info("Target unlocked.")
start = 0x0e00
end = 0x0fff
with open(args.output, 'w') as f:
logging.info("Writing pages {:x}-{:x} to {}...".format(start, end,
args.output))
for page in range(start, end+1):
logging.debug("Dumping {:x}00-{:x}ff...".format(page, page))
data = s.read_page(page)
f.write(data)