|
24 | 24 | from typing import List, Tuple
|
25 | 25 |
|
26 | 26 | import numpy as np
|
| 27 | +import mcbootflash |
27 | 28 |
|
28 | 29 | import pslab
|
29 | 30 | import pslab.protocol as CP
|
@@ -232,6 +233,10 @@ def main(args: argparse.Namespace):
|
232 | 233 | install(args)
|
233 | 234 | return
|
234 | 235 |
|
| 236 | + if args.function == "flash": |
| 237 | + flash(args) |
| 238 | + return |
| 239 | + |
235 | 240 | handler = SerialHandler(port=args.port)
|
236 | 241 |
|
237 | 242 | if args.function == "collect":
|
@@ -465,6 +470,7 @@ def cmdline(args: List[str] = None):
|
465 | 470 | add_wave_args(subparser)
|
466 | 471 | add_pwm_args(subparser)
|
467 | 472 | add_install_args(subparser)
|
| 473 | + add_flash_args(subparser) |
468 | 474 | main(parser.parse_args(args))
|
469 | 475 |
|
470 | 476 |
|
@@ -516,3 +522,29 @@ def add_install_args(subparser: argparse._SubParsersAction):
|
516 | 522 | default=False,
|
517 | 523 | help="Overwrite existing udev rule.",
|
518 | 524 | )
|
| 525 | + |
| 526 | + |
| 527 | +def flash(args: argparse.Namespace): |
| 528 | + """Flash firmware over USB. |
| 529 | +
|
| 530 | + Parameters |
| 531 | + ---------- |
| 532 | + args : :class:`argparse.Namespace` |
| 533 | + Parsed arguments. |
| 534 | + """ |
| 535 | + mcbootflash.flash(args) |
| 536 | + |
| 537 | + |
| 538 | +def add_flash_args(subparser: argparse._SubParsersAction): |
| 539 | + """Add arguments for flash function to ArgumentParser. |
| 540 | +
|
| 541 | + Parameters |
| 542 | + ---------- |
| 543 | + subparser : :class:`argparse._SubParsersAction` |
| 544 | + SubParser to add other arguments related to flash function. |
| 545 | + """ |
| 546 | + parser = mcbootflash.get_parser() |
| 547 | + parser.prog = "pslab" |
| 548 | + parser.usage = "Flash firmware to PSLab v6." |
| 549 | + parser.add_argument("-b", "--baudrate", default=460800, help=argparse.SUPPRESS) |
| 550 | + subparser.add_parser("flash", parents=[parser], add_help=False) |
0 commit comments