Exemplo n.º 1
0
 def setUp(self):
     """Call before every test case."""
     port = util.default_port()
     self.verbose = os.getenv("VERBOSE", "N") == "Y"
     self.tl = bitbang.Bitbang(port, verbose=self.verbose)
     self.tl.led(1)
     self.tl.init()
Exemplo n.º 2
0
 def setUp(self):
     """Call before every test case."""
     print("")
     port = util.default_port()
     self.verbose = os.getenv("VERBOSE", "N") == "Y"
     self.tl = at89.AT89(port, verbose=self.verbose)
     self.tl.led(1)
Exemplo n.º 3
0
def cmd_update(args):
    reset_tty = args.reset_tty or util.default_port()
    if reset_tty:
        sys.stdout.write("resetting to bootloader via serial\n")
        otl866_reset(reset_tty)

    dev = find_dev()

    report = dev.report()
    model_a = (report.model == dev.MODEL_TL866A)
    if report.status != dev.STATUS_BOOTLOADER:
        reset_to_bootloader(dev)

    stock, image = read_fw(args, model_a)
    target_key, target_erase = load_keys(args, stock, image, model_a)

    if not image.valid:
        raise RuntimeError("firmware image invalid")

    sys.stdout.write("erasing\n")
    dev.erase(target_erase)

    sys.stdout.write("programming\n")
    addr = 0x1800
    cryptbuf = image.encrypt(target_key)
    for off in range(0, len(cryptbuf), 80):
        dev.write(addr, 80, cryptbuf[off:off + 80])
        addr += 64

    report = dev.report()
    sys.stdout.write("done, result: %s\n" % (report.status, ))
    # On failure does it exit bootloader?
    if report.status != dev.STATUS_NORMAL:
        sys.stdout.write("MCU reset\n")
        dev.reset()
Exemplo n.º 4
0
def main():
    import argparse

    parser = argparse.ArgumentParser(
        description='Write pins and read back value')
    parser.add_argument(
        '--port', default=util.default_port(), help='Device serial port')
    args = parser.parse_args()

    run(args.port)
Exemplo n.º 5
0
def main():
    import argparse

    parser = argparse.ArgumentParser(description='Blink the LED')
    parser.add_argument(
        '--port', default=util.default_port(), help='Device serial port')
    parser.add_argument("--verbose", action="store_true")
    parser.add_argument("cmd")
    parser.add_argument("args", nargs='*')
    args = parser.parse_args()

    run(args.port, args.cmd, args.args, verbose=args.verbose)
Exemplo n.º 6
0
def main():
    import argparse

    parser = argparse.ArgumentParser(
        description='Issue a raw command and read response (try command "?"))')
    parser.add_argument('--port',
                        default=util.default_port(),
                        help='Device serial port')
    parser.add_argument("--device", required=True)
    parser.add_argument("--verbose", action="store_true")
    parser.add_argument("out", nargs="?", help="Write to file")
    args = parser.parse_args()

    run(device=args.device, fn_out=args.out, verbose=args.verbose)
Exemplo n.º 7
0
def main():
    import argparse

    parser = argparse.ArgumentParser(
        description='Issue a raw command and read response (try command "?"))')
    parser.add_argument('--port',
                        default=util.default_port(),
                        help='Device serial port')
    parser.add_argument("--verbose", action="store_true")
    parser.add_argument("cmd")
    parser.add_argument("args", nargs='*')
    args = parser.parse_args()

    run(args.port, args.cmd, args.args, verbose=args.verbose)
Exemplo n.º 8
0
def main():
    import argparse

    parser = argparse.ArgumentParser(description='Read 27C256 EPROM')
    parser.add_argument('--port',
                        default=util.default_port(),
                        help='Device serial port')
    parser.add_argument("--verbose", action="store_true")
    parser.add_argument("addr", default="0", help="Address")
    parser.add_argument("size", default=str(SIZE), help="Size")
    args = parser.parse_args()

    addr = int(args.addr, 0)
    size = int(args.size, 0)

    run(args.port, addr, size, verbose=args.verbose)
Exemplo n.º 9
0
    def __init__(self, device=None, verbose_cmd=None, verbose=None):
        if device is None:
            device = util.default_port()
            if device is None:
                raise Exception("Failed to find an open-tl866 serial port")
        if verbose is None:
            verbose = os.getenv("VERBOSE", "N") == "Y"
        self.verbose = verbose
        self.verbose and print("port: %s" % device)
        self.verbose_cmd = verbose_cmd
        self.ser = serial.Serial(device,
                                 timeout=0,
                                 baudrate=115200,
                                 writeTimeout=0)
        self.e = SerialExpect(self.ser, encoding="ascii")

        # send dummy newline to clear any commands in progress
        self.e.write('\n')
        self.e.flush()
        self.flushInput()

        self.assert_ver()