micropython-samples/fastbuild/pyb_check

36 wiersze
1012 B
Python
Executable File

#! /usr/bin/python3
# -*- coding: utf-8 -*-
# Called from buildpyb
# Arg: device (e.g. '/dev/pyboard')
import sys
import os, os.path
mp = os.getenv('MPDIR')
sys.path.append(''.join((mp, '/tools')))
import pyboard
errmsg = 'Usage pyb_check device'
d = {b'PYBv1.1' : 'PYBV11', b'PYBv1.0' : 'PYBV10', b'PYBLITEv1.0' : 'PYBLITEV10',
b'PYBD-SF2W' : 'PYBD_SF2', b'PYBD-SF3W' : 'PYBD_SF3', b'PYBD-SF6W' : 'PYBD_SF6',
b'PYBD_SF2W' : 'PYBD_SF2', b'PYBD_SF3W' : 'PYBD_SF3', b'PYBD_SF6W' : 'PYBD_SF6',}
def main():
if len(sys.argv) < 2:
print(errmsg, file=sys.stderr)
sys.exit(1)
device = sys.argv[1]
if not os.path.exists(device):
print('Device {} does not exist'.format(device), file=sys.stderr)
sys.exit(1)
pybd = pyboard.Pyboard(device)
pybd.enter_raw_repl()
hardware = pybd.exec('import os; print(os.uname()[4].split(' ')[0])').strip()
pybd.exit_raw_repl()
if hardware in d:
print(d[hardware])
if __name__ == "__main__":
main()