there.repl_connection
implements a Protocol for pySerial so that statements can be executed on a remote Python prompt (REPL). MicroPython has a special "machine mode" where it does not echo input and clearly marks the output and error response, so that it is easy to parse with a machine.
The class there.repl_connection.MicroPythonRepl
provides two functions for remote code execution. MpyPath
is an pathlib.Path
like object that performs operations on remote files.
there.repl_connection.MicroPythonRepl
there.repl_connection.MpyPath
The command line tool implements push and pull commands that sync files. The underlying logic is available in the sync module.
there.sync.Sync
FUSE is a feature of the GNU/Linux kernel that allows to implement file system in user space programs. There are compatible libraries for MacOS and even for Windows.
fuse_drive.py
implements an class for fusepy
. It gets a connection which it's using to execute commands on the target.
See also mount_windows
, it currently requires a hack to get it working there.
This project uses a modified version of pySerial's miniterm. This version handles the special keys on Windows and translates them to escape sequences. It also uses the Python module colorama to get support for receiving some escape sequences.
Note
colorama
does currently not support (or recognize, when split accross multiple writes) all escape sequences sent by MicroPython, so some quirks may be visible under Windows.
Note
An alternative to colorama
is to get ansi.sys
working.