summaryrefslogtreecommitdiffstatshomepage
path: root/tools/pyboard.py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-05-03 18:14:34 +0100
committerDamien George <damien.p.george@gmail.com>2014-05-03 18:14:34 +0100
commit3244123031096c6b20da9c424f430b557025a612 (patch)
treebcfdd3f6bfd1eb69b71dbee32aad85a5dbe9a4f0 /tools/pyboard.py
parentaad1204b8ed77a1466f03d848aa1c32dfff1dc24 (diff)
downloadmicropython-3244123031096c6b20da9c424f430b557025a612.tar.gz
micropython-3244123031096c6b20da9c424f430b557025a612.zip
tools: pyboard.py now acts as a command-line program to run scripts.
You can run a local script on the pyboard using: python pyboard.py test.py where test.py is the local script you want to run.
Diffstat (limited to 'tools/pyboard.py')
-rw-r--r--tools/pyboard.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/tools/pyboard.py b/tools/pyboard.py
index 38d428282b..dce60350d0 100644
--- a/tools/pyboard.py
+++ b/tools/pyboard.py
@@ -9,7 +9,7 @@ Example usage:
import pyboard
pyb = pyboard.Pyboard('/dev/ttyACM0')
pyb.enter_raw_repl()
- pyb.exec('pyb.Led(1).on()')
+ pyb.exec('pyb.LED(1).on()')
pyb.exit_raw_repl()
To run a script from the local machine on the board and print out the results:
@@ -17,6 +17,10 @@ To run a script from the local machine on the board and print out the results:
import pyboard
pyboard.execfile('test.py', device='/dev/ttyACM0')
+This script can also be run directly. To execute a local script, use:
+
+ python pyboard.py test.py
+
"""
import time
@@ -157,5 +161,19 @@ def run_test():
pyb.exit_raw_repl()
pyb.close()
+def main():
+ import argparse
+ cmd_parser = argparse.ArgumentParser(description='Run scripts on the pyboard.')
+ cmd_parser.add_argument('--device', default='/dev/ttyACM0', help='the serial device of the pyboard')
+ cmd_parser.add_argument('--test', action='store_true', help='run a small test suite on the pyboard')
+ cmd_parser.add_argument('files', nargs='*', help='input files')
+ args = cmd_parser.parse_args()
+
+ if args.test:
+ run_test()
+
+ for file in args.files:
+ execfile(file, device=args.device)
+
if __name__ == "__main__":
- run_test()
+ main()