diff options
| -rw-r--r-- | tools/mpremote/mpremote/commands.py | 9 | ||||
| -rw-r--r-- | tools/mpremote/mpremote/mip.py | 11 | ||||
| -rw-r--r-- | tools/mpremote/mpremote/transport_serial.py | 6 |
3 files changed, 12 insertions, 14 deletions
diff --git a/tools/mpremote/mpremote/commands.py b/tools/mpremote/mpremote/commands.py index aae612765..fcda62ad2 100644 --- a/tools/mpremote/mpremote/commands.py +++ b/tools/mpremote/mpremote/commands.py @@ -242,6 +242,11 @@ def do_soft_reset(state, _args=None): def do_rtc(state, args): + state.ensure_raw_repl() + state.did_action() + + state.transport.exec("import machine") + if args.set: import datetime @@ -256,6 +261,6 @@ def do_rtc(state, args): now.second, now.microsecond, ) - _do_execbuffer(state, "import machine; machine.RTC().datetime({})".format(timetuple), True) + state.transport.exec("machine.RTC().datetime({})".format(timetuple)) else: - _do_execbuffer(state, "import machine; print(machine.RTC().datetime())", True) + print(state.transport.eval("machine.RTC().datetime()")) diff --git a/tools/mpremote/mpremote/mip.py b/tools/mpremote/mpremote/mip.py index c86bf01f4..04f504252 100644 --- a/tools/mpremote/mpremote/mip.py +++ b/tools/mpremote/mpremote/mip.py @@ -150,10 +150,7 @@ def _install_package(transport, package, index, target, version, mpy): mpy_version = "py" if mpy: transport.exec("import sys") - mpy_version = ( - int(transport.eval("getattr(sys.implementation, '_mpy', 0) & 0xFF").decode()) - or "py" - ) + mpy_version = transport.eval("getattr(sys.implementation, '_mpy', 0) & 0xFF") or "py" package = f"{index}/package/{mpy_version}/{package}/{version}.json" @@ -178,11 +175,7 @@ def do_mip(state, args): if args.target is None: state.transport.exec("import sys") - lib_paths = ( - state.transport.eval("'|'.join(p for p in sys.path if p.endswith('/lib'))") - .decode() - .split("|") - ) + lib_paths = [p for p in state.transport.eval("sys.path") if p.endswith("/lib")] if lib_paths and lib_paths[0]: args.target = lib_paths[0] else: diff --git a/tools/mpremote/mpremote/transport_serial.py b/tools/mpremote/mpremote/transport_serial.py index a97b7e0a0..69ebf916a 100644 --- a/tools/mpremote/mpremote/transport_serial.py +++ b/tools/mpremote/mpremote/transport_serial.py @@ -271,7 +271,7 @@ class SerialTransport(Transport): self.exec_raw_no_follow(command) return self.follow(timeout, data_consumer) - def eval(self, expression, parse=False): + def eval(self, expression, parse=True): if parse: ret = self.exec("print(repr({}))".format(expression)) ret = ret.strip() @@ -331,7 +331,7 @@ class SerialTransport(Transport): def fs_stat(self, src): try: self.exec("import os") - return os.stat_result(self.eval("os.stat(%s)" % ("'%s'" % src), parse=True)) + return os.stat_result(self.eval("os.stat(%s)" % ("'%s'" % src))) except TransportError as e: reraise_filesystem_error(e, src) @@ -503,7 +503,7 @@ class SerialTransport(Transport): def mount_local(self, path, unsafe_links=False): fout = self.serial - if self.eval('"RemoteFS" in globals()') == b"False": + if not self.eval('"RemoteFS" in globals()'): self.exec(fs_hook_code) self.exec("__mount()") self.mounted = True |
