示例#1
0
def terminal(port=default_port(), baud='9600'):
    """Launch minterm from pyserial"""
    testargs = ['nodemcu-uploader', port, baud]
    # TODO: modifying argv is no good
    sys.argv = testargs
    # resuse miniterm on main function
    miniterm.main()
示例#2
0
def terminal(port=default_port()):
    testargs = ['nodemcu-uploader', port]
    # TODO: modifying argv is no good 
    sys.argv = testargs
    # resuse miniterm on main function
    miniterm.main()  
    
    def serialports_monitor(**kwargs):
        if not kwargs['port']:
            for item in get_serialports():
                if "VID:PID" in item['hwid']:
                    kwargs['port'] = item['port']
                    break

        sys.argv = ["monitor"]
        for k, v in kwargs.iteritems():
            if k in ("port", "baud", "rts", "dtr"):
                continue
            k = "--" + k.replace("_", "-")
            if isinstance(v, bool):
                if v:
                    sys.argv.append(k)
            elif isinstance(v, tuple):
                for i in v:
                    sys.argv.extend([k, i])
            else:
                sys.argv.extend([k, str(v)])

        try:
            miniterm.main(  # pylint: disable=E1123
                default_port=kwargs['port'],
                default_baudrate=kwargs['baud'],
                default_rts=kwargs['rts'],
                default_dtr=kwargs['dtr']
            )
        except Exception as e:  # pylint: disable=W0702
            raise MinitermException(e)
示例#4
0
def device_monitor(**kwargs):
    if not kwargs['port']:
        ports = get_serialports(filter_hwid=True)
        if len(ports) == 1:
            kwargs['port'] = ports[0]['port']

    sys.argv = ["monitor"]
    for k, v in kwargs.iteritems():
        if k in ("port", "baud", "rts", "dtr"):
            continue
        k = "--" + k.replace("_", "-")
        if isinstance(v, bool):
            if v:
                sys.argv.append(k)
        elif isinstance(v, tuple):
            for i in v:
                sys.argv.extend([k, i])
        else:
            sys.argv.extend([k, str(v)])

    try:
        miniterm.main(
            default_port=kwargs['port'],
            default_baudrate=kwargs['baud'],
            default_rts=kwargs['rts'],
            default_dtr=kwargs['dtr'])
    except Exception as e:
        raise MinitermException(e)
示例#5
0
def device_monitor(**kwargs):
    if not kwargs['port']:
        ports = get_serialports(filter_hwid=True)
        if len(ports) == 1:
            kwargs['port'] = ports[0]['port']

    sys.argv = ["monitor"]
    for k, v in kwargs.iteritems():
        if k in ("port", "baud", "rts", "dtr"):
            continue
        k = "--" + k.replace("_", "-")
        if isinstance(v, bool):
            if v:
                sys.argv.append(k)
        elif isinstance(v, tuple):
            for i in v:
                sys.argv.extend([k, i])
        else:
            sys.argv.extend([k, str(v)])

    try:
        miniterm.main(default_port=kwargs['port'],
                      default_baudrate=kwargs['baud'],
                      default_rts=kwargs['rts'],
                      default_dtr=kwargs['dtr'])
    except Exception as e:
        raise MinitermException(e)
示例#6
0
    def device_monitor(**kwargs):
        if not kwargs['port']:
            for item in get_serialports():
                if "VID:PID" in item['hwid']:
                    kwargs['port'] = item['port']
                    break

        sys.argv = ["monitor"]
        for k, v in kwargs.iteritems():
            if k in ("port", "baud", "rts", "dtr"):
                continue
            k = "--" + k.replace("_", "-")
            if isinstance(v, bool):
                if v:
                    sys.argv.append(k)
            elif isinstance(v, tuple):
                for i in v:
                    sys.argv.extend([k, i])
            else:
                sys.argv.extend([k, str(v)])

        try:
            miniterm.main(  # pylint: disable=E1123
                default_port=kwargs['port'],
                default_baudrate=kwargs['baud'],
                default_rts=kwargs['rts'],
                default_dtr=kwargs['dtr'])
        except Exception as e:  # pylint: disable=W0702
            raise MinitermException(e)
示例#7
0
def terminal(port=default_port(), baud='9600'):
    """Launch minterm from pyserial"""
    testargs = ['nodemcu-uploader', port, baud]
    # TODO: modifying argv is no good
    sys.argv = testargs
    # resuse miniterm on main function
    miniterm.main()
示例#8
0
def serialports_monitor(**kwargs):
    sys.argv = sys.argv[2:]

    if not kwargs['port']:
        for item in get_serialports():
            if "VID:PID" in item['hwid']:
                sys.argv += ["--port", item['port']]
                break

    try:
        miniterm.main()
    except Exception as e:  # pylint: disable=W0702
        raise PlatformioException(str(e))
示例#9
0
def serialports_monitor(**kwargs):
    sys.argv = sys.argv[3:]

    if not kwargs['port']:
        for item in get_serialports():
            if "VID:PID" in item['hwid']:
                sys.argv += ["--port", item['port']]
                break

    try:
        miniterm.main()
    except:  # pylint: disable=W0702
        pass
示例#10
0
def serialports_monitor(**kwargs):
    sys.argv = sys.argv[2:]

    if not kwargs['port']:
        for item in get_serialports():
            if "VID:PID" in item['hwid']:
                sys.argv += ["--port", item['port']]
                break

    try:
        miniterm.main()
    except:  # pylint: disable=W0702
        pass
    def serialports_monitor(**kwargs):
        sys.argv = app.get_session_var("command_ctx").args[1:]

        if not kwargs['port']:
            for item in get_serialports():
                if "VID:PID" in item['hwid']:
                    sys.argv += ["--port", item['port']]
                    break

        try:
            miniterm.main()
        except Exception as e:  # pylint: disable=W0702
            raise MinitermException(e)
示例#12
0
    def device_monitor(**kwargs):
        sys.argv = app.get_session_var("command_ctx").args[1:]

        if not kwargs['port']:
            for item in get_serialports():
                if "VID:PID" in item['hwid']:
                    sys.argv += ["--port", item['port']]
                    break

        try:
            miniterm.main()
        except Exception as e:  # pylint: disable=W0702
            raise MinitermException(e)
示例#13
0
def device_monitor(**kwargs):  # pylint: disable=too-many-branches
    click.echo("Looking for advanced Serial Monitor with UI? "
               "Check http://bit.ly/pio-advanced-monitor")
    project_options = {}
    try:
        with fs.cd(kwargs["project_dir"]):
            project_options = get_project_options(kwargs["environment"])
        kwargs = apply_project_monitor_options(kwargs, project_options)
    except NotPlatformIOProjectError:
        pass

    if not kwargs["port"]:
        ports = util.get_serial_ports(filter_hwid=True)
        if len(ports) == 1:
            kwargs["port"] = ports[0]["port"]
        elif "platform" in project_options and "board" in project_options:
            board_hwids = get_board_hwids(
                kwargs["project_dir"],
                project_options["platform"],
                project_options["board"],
            )
            for item in ports:
                for hwid in board_hwids:
                    hwid_str = ("%s:%s" % (hwid[0], hwid[1])).replace("0x", "")
                    if hwid_str in item["hwid"]:
                        kwargs["port"] = item["port"]
                        break
                if kwargs["port"]:
                    break
    elif kwargs["port"] and (set(["*", "?", "[", "]"]) & set(kwargs["port"])):
        for item in util.get_serial_ports():
            if fnmatch(item["port"], kwargs["port"]):
                kwargs["port"] = item["port"]
                break

    # override system argv with patched options
    sys.argv = ["monitor"] + options_to_argv(
        kwargs,
        project_options,
        ignore=("port", "baud", "rts", "dtr", "environment", "project_dir"),
    )

    try:
        miniterm.main(
            default_port=kwargs["port"],
            default_baudrate=kwargs["baud"] or 9600,
            default_rts=kwargs["rts"],
            default_dtr=kwargs["dtr"],
        )
    except Exception as e:
        raise exception.MinitermException(e)
示例#14
0
def device_monitor(**kwargs):  # pylint: disable=too-many-branches
    env_options = {}
    try:
        env_options = get_project_options(kwargs['project_dir'],
                                          kwargs['environment'])
        for k in ("port", "speed", "rts", "dtr"):
            k2 = "monitor_%s" % k
            if k == "speed":
                k = "baud"
            if kwargs[k] is None and k2 in env_options:
                kwargs[k] = env_options[k2]
                if k != "port":
                    kwargs[k] = int(kwargs[k])
    except exception.NotPlatformIOProject:
        pass

    if not kwargs['port']:
        ports = util.get_serial_ports(filter_hwid=True)
        if len(ports) == 1:
            kwargs['port'] = ports[0]['port']

    sys.argv = ["monitor"] + env_options.get("monitor_flags", [])
    for k, v in kwargs.items():
        if k in ("port", "baud", "rts", "dtr", "environment", "project_dir"):
            continue
        k = "--" + k.replace("_", "-")
        if k in env_options.get("monitor_flags", []):
            continue
        if isinstance(v, bool):
            if v:
                sys.argv.append(k)
        elif isinstance(v, tuple):
            for i in v:
                sys.argv.extend([k, i])
        else:
            sys.argv.extend([k, str(v)])

    if kwargs['port'] and (set(["*", "?", "[", "]"]) & set(kwargs['port'])):
        for item in util.get_serial_ports():
            if fnmatch(item['port'], kwargs['port']):
                kwargs['port'] = item['port']
                break

    try:
        miniterm.main(default_port=kwargs['port'],
                      default_baudrate=kwargs['baud'] or 9600,
                      default_rts=kwargs['rts'],
                      default_dtr=kwargs['dtr'])
    except Exception as e:
        raise exception.MinitermException(e)
示例#15
0
def serial_monitor(port, baud):
    """
    Open serial monitor to the specified port with the given baud rate.
    """
    write('Serial Monitor ', Fore.CYAN)
    write(port, Fore.YELLOW)
    write(' @ ', Fore.CYAN)
    writeln(baud, Fore.YELLOW)

    sys.argv = ['monitor', '--exit-char', '3']
    try:
        miniterm.main(default_port=port or serial_ports(),
                      default_baudrate=baud or 9600)
    except KeyboardInterrupt:
        writeln('\nExiting serial monitor', Fore.CYAN)
def device_monitor(**kwargs):  # pylint: disable=too-many-branches
    try:
        project_options = get_project_options(kwargs['project_dir'],
                                              kwargs['environment'])
        monitor_options = {k: v for k, v in project_options or []}
        if monitor_options:
            for k in ("port", "baud", "rts", "dtr"):
                k2 = "monitor_%s" % k
                if kwargs[k] is None and k2 in monitor_options:
                    kwargs[k] = monitor_options[k2]
                    if k != "port":
                        kwargs[k] = int(kwargs[k])
    except exception.NotPlatformIOProject:
        pass

    if not kwargs['port']:
        ports = util.get_serialports(filter_hwid=True)
        if len(ports) == 1:
            kwargs['port'] = ports[0]['port']

    sys.argv = ["monitor"]
    for k, v in kwargs.iteritems():
        if k in ("port", "baud", "rts", "dtr", "environment", "project_dir"):
            continue
        k = "--" + k.replace("_", "-")
        if isinstance(v, bool):
            if v:
                sys.argv.append(k)
        elif isinstance(v, tuple):
            for i in v:
                sys.argv.extend([k, i])
        else:
            sys.argv.extend([k, str(v)])

    try:
        miniterm.main(default_port=kwargs['port'],
                      default_baudrate=kwargs['baud'] or 9600,
                      default_rts=kwargs['rts'],
                      default_dtr=kwargs['dtr'])
    except Exception as e:
        raise exception.MinitermException(e)
示例#17
0
def serialports_monitor(**_):
    sys.argv = sys.argv[3:]
    try:
        miniterm.main()
    except:  # pylint: disable=W0702
        pass
示例#18
0
from serial.tools.miniterm import main

print(
    """-------------------------------------------------------------------------------
 If you can't see the prompt, then try ENTER, Ctrl+C or Ctrl+B.
 Exit with Ctrl+T or simply close the terminal window.
-------------------------------------------------------------------------------"""
)
main()
示例#19
0
def serialports_monitor(**_):
    sys.argv = sys.argv[3:]
    try:
        miniterm.main()
    except:  # pylint: disable=W0702
        pass
示例#20
0
import sys, os
from serial.tools import miniterm
import config, command

minicomCommand = "serial.tools.miniterm --raw --eol ${eol} --encoding ascii ${port} ${baud}"
minicomLookup = config.hardwareConfig()
minicomLookup.update(eol={'\n': 'CR', '\r\n': 'CRLF'}.get(os.linesep))
command.emulateInvocation(minicomCommand, minicomLookup)
miniterm.main()
示例#21
0
def device_monitor(**kwargs):  # pylint: disable=too-many-branches
    # load default monitor filters
    filters_dir = os.path.join(fs.get_source_dir(), "commands", "device", "filters")
    for name in os.listdir(filters_dir):
        if not name.endswith(".py"):
            continue
        device_helpers.load_monitor_filter(os.path.join(filters_dir, name))

    project_options = {}
    try:
        with fs.cd(kwargs["project_dir"]):
            project_options = device_helpers.get_project_options(kwargs["environment"])
        kwargs = device_helpers.apply_project_monitor_options(kwargs, project_options)
    except NotPlatformIOProjectError:
        pass

    platform = None
    if "platform" in project_options:
        with fs.cd(kwargs["project_dir"]):
            platform = PlatformFactory.newPlatform(project_options["platform"])
            device_helpers.register_platform_filters(
                platform, kwargs["project_dir"], kwargs["environment"]
            )

    if not kwargs["port"]:
        ports = util.get_serial_ports(filter_hwid=True)
        if len(ports) == 1:
            kwargs["port"] = ports[0]["port"]
        elif "platform" in project_options and "board" in project_options:
            board_hwids = device_helpers.get_board_hwids(
                kwargs["project_dir"], platform, project_options["board"],
            )
            for item in ports:
                for hwid in board_hwids:
                    hwid_str = ("%s:%s" % (hwid[0], hwid[1])).replace("0x", "")
                    if hwid_str in item["hwid"]:
                        kwargs["port"] = item["port"]
                        break
                if kwargs["port"]:
                    break
    elif kwargs["port"] and (set(["*", "?", "[", "]"]) & set(kwargs["port"])):
        for item in util.get_serial_ports():
            if fnmatch(item["port"], kwargs["port"]):
                kwargs["port"] = item["port"]
                break

    # override system argv with patched options
    sys.argv = ["monitor"] + device_helpers.options_to_argv(
        kwargs,
        project_options,
        ignore=("port", "baud", "rts", "dtr", "environment", "project_dir"),
    )

    if not kwargs["quiet"]:
        click.echo(
            "--- Available filters and text transformations: %s"
            % ", ".join(sorted(miniterm.TRANSFORMATIONS.keys()))
        )
        click.echo("--- More details at http://bit.ly/pio-monitor-filters")
    try:
        miniterm.main(
            default_port=kwargs["port"],
            default_baudrate=kwargs["baud"] or 9600,
            default_rts=kwargs["rts"],
            default_dtr=kwargs["dtr"],
        )
    except Exception as e:
        raise exception.MinitermException(e)
示例#22
0
def run_miniterm(config, port):
    from serial.tools import miniterm
    baud_rate = config.get(CONF_LOGGER, {}).get(CONF_BAUD_RATE, 115200)
    sys.argv = ['miniterm', '--raw', '--exit-char', '3']
    miniterm.main(default_port=port, default_baudrate=baud_rate)