Skip to content

Unexpected error occours when specifying a custom directory to device monitor #5439

Description

@renanrms

Scenario to reproduce

I am working on my repository (Platformio lib) and I tried to run device monitor with the configuration on platformio.ini on the directory of one of the lib examples.
It would be useful to this use case to get always the correct configuration of device monitor from platformio.ino .

Terminal prompt and output

$ pio device monitor -d examples/distance-ultrasound/
FileNotFoundError: Traceback (most recent call last):
  File "/home/renan/.platformio/penv/lib/python3.12/site-packages/platformio/__main__.py", line 103, in main
    cli()  # pylint: disable=no-value-for-parameter
    ^^^^^
  File "/home/renan/.platformio/penv/lib/python3.12/site-packages/click/core.py", line 1485, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/renan/.platformio/penv/lib/python3.12/site-packages/click/core.py", line 1406, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/renan/.platformio/penv/lib/python3.12/site-packages/platformio/cli.py", line 85, in invoke
    return super().invoke(ctx)
           ^^^^^^^^^^^^^^^^^^^
  File "/home/renan/.platformio/penv/lib/python3.12/site-packages/click/core.py", line 1873, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/renan/.platformio/penv/lib/python3.12/site-packages/click/core.py", line 1873, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/renan/.platformio/penv/lib/python3.12/site-packages/click/core.py", line 1269, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/renan/.platformio/penv/lib/python3.12/site-packages/click/core.py", line 824, in invoke
    return callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/renan/.platformio/penv/lib/python3.12/site-packages/platformio/device/monitor/command.py", line 154, in device_monitor_cmd
    start_terminal(options)
  File "/home/renan/.platformio/penv/lib/python3.12/site-packages/platformio/device/monitor/terminal.py", line 54, in start_terminal
    term = new_terminal(options)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/home/renan/.platformio/penv/lib/python3.12/site-packages/platformio/device/monitor/terminal.py", line 102, in new_terminal
    term = Terminal(
           ^^^^^^^^^
  File "/home/renan/.platformio/penv/lib/python3.12/site-packages/platformio/device/monitor/terminal.py", line 28, in __init__
    super().__init__(*args, **kwargs)
  File "/home/renan/.platformio/penv/lib/python3.12/site-packages/serial/tools/miniterm.py", line 403, in __init__
    self.update_transformations()
  File "/home/renan/.platformio/penv/lib/python3.12/site-packages/serial/tools/miniterm.py", line 456, in update_transformations
    self.tx_transformations = [t() for t in transformations]
                               ^^^
  File "/home/renan/.platformio/platforms/espressif32/monitor/filter_exception_decoder.py", line 44, in __call__
    self.enabled = self.setup_paths()
                   ^^^^^^^^^^^^^^^^^^
  File "/home/renan/.platformio/platforms/espressif32/monitor/filter_exception_decoder.py", line 60, in setup_paths
    data = load_build_metadata(self.project_dir, self.environment, cache=True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/renan/.platformio/penv/lib/python3.12/site-packages/platformio/project/helpers.py", line 140, in load_build_metadata
    with fs.cd(project_dir):
  File "/home/renan/.platformio/penv/lib/python3.12/site-packages/platformio/fs.py", line 37, in __enter__
    os.chdir(self.new_path)
FileNotFoundError: [Errno 2] No such file or directory: '/home/renan/Git/FTRLab-lib/examples/distance-ultrasound/examples/distance-ultrasound'

============================================================

An unexpected error occurred. Further steps:

* Verify that you have the latest version of PlatformIO using
  `python -m pip install -U platformio` command

* Try to find answer in FAQ Troubleshooting section
  https://docs.platformio.org/page/faq/index.html

* Report this problem to the developers
  https://github.com/platformio/platformio-core/issues

============================================================

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions