Commit Graph

82 Commits

Author SHA1 Message Date
Peter Dragun
3e3533f918 feat(idf_monitor): move idf_monitor to separate repo 2023-02-03 11:20:15 +01:00
Jakob Hasse
6d9d23702f bugfix(tools): idf.py monitor now reads correctly on Linux
A missing flush in the serial reader implementation for
Linux target was causing input to idf.py monitor to not
be forwarded to the application. This is fixed now.
2022-11-24 15:57:47 +01:00
simon.chupin
35dda59209 tools: remove the dependency on the future package 2022-08-09 16:46:58 +02:00
Adam Simpkins
9961061811 Tools: fix a crash in idf_monitor.py
If self.elf_exists is false, self.gdb_helper is None, which caused this
code to crash.  It looks like this guard was missed in e30329ffe2.

Previously the code could crash like this:

    Traceback (most recent call last):
      File "/usr/local/src/esp-idf/tools/idf_monitor.py", line 376, in <module>
        main()
      File "/usr/local/src/esp-idf/tools/idf_monitor.py", line 367, in main
        monitor.main_loop()
      File "/usr/local/src/esp-idf/tools/idf_monitor.py", line 163, in main_loop
        self._main_loop()
      File "/usr/local/src/esp-idf/tools/idf_monitor.py", line 268, in _main_loop
        super()._main_loop()
      File "/usr/local/src/esp-idf/tools/idf_monitor.py", line 203, in _main_loop
        self.serial_handler.handle_commands(data, self.target, self.run_make, self.console_reader,
      File "/usr/local/src/esp-idf/tools/idf_monitor_base/serial_handler.py", line 203, in handle_commands
        run_make_func('encrypted-flash' if self.encrypted else 'flash')
      File "/usr/local/src/esp-idf/tools/idf_monitor.py", line 150, in run_make
        run_make(target, self.make, self.console, self.console_parser, self.event_queue, self.cmd_queue,
      File "/usr/local/src/esp-idf/tools/idf_monitor.py", line 237, in __exit__
        self.serial_reader.gdb_exit = self.gdb_helper.gdb_exit  # write gdb_exit flag
    AttributeError: 'NoneType' object has no attribute 'gdb_exit'
2022-07-18 21:34:18 -07:00
simon.chupin
43c69f0910 idf.py: Add automated hints on how to resolve errors 2022-07-04 08:15:23 +00:00
Roland Dobai
8dddb8b596 Revert "Merge branch 'feature/clippy' into 'master'"
This reverts merge request !16998
2022-06-29 16:46:47 +08:00
simon.chupin
c6a6eaeb60 idf.py: Add automated hints on how to resolve errors 2022-06-23 14:09:34 +02:00
Nonoo
9266a7c52e Add idf.py monitor argument --no-reset (-R) to prevent resetting the MCU target on monitor startup
Add idf.py monitor argument --no-reset (-R) to prevent resetting the CPU on monitor startup

idf.py monitor: fix type signature

idf.py monitor: fix reset key shortcut when --no-reset (-R) argument is used

idf.py monitor: change --no-reset (-R) argument descriptions in help

idf.py monitor: simplify --no-reset (-R) argument checks

idf.py monitor: add warning if --no-reset is used, but --port is not given

idf.py monitor: ignore --no-reset if --port is not given
2022-05-03 14:52:34 +02:00
Martin Gaňo
74048f079b Fix coredump attribute error in idf_monitor.py
Closes https://github.com/espressif/esp-idf/issues/8651
2022-04-04 12:31:23 +02:00
Martin Gaňo
f3b7f9c431 Add hint for exiting the idf.monitor.py
Closes https://github.com/espressif/esp-idf/issues/8508
2022-03-10 15:20:23 +01:00
Martin Gaňo
b334d01e5f Remove line finalization when coredump is active to avoid coredump failure
Closes https://github.com/espressif/esp-idf/issues/8099
2022-02-24 02:05:58 +01:00
Roland Dobai
014a632b4d Tools: IDF Monitor should flash with the unmodified port
Closes https://github.com/espressif/esp-idf/issues/8432
2022-02-22 18:36:50 +01:00
Niklas Lantau
9f97e5c84e Added typing to serial_write()
Added type annotation for serial_write() parameters and return types.
2022-02-16 16:47:05 +01:00
Aleksei Apaseev
e30329ffe2 idf_monitor: Changed the elf file to be optional when running "idf.py monitor" command
This feature allows to start IDF Monitor without (re-)building the project.
2022-01-07 17:36:08 +08:00
Fu Hanxi
bee690aa8d idf.py: add linux target support for idf.py flash and idf.py monitor 2021-10-18 11:50:50 +08:00
Martin Gaňo
2452dc57f0 Tools: extracted functionality out of idf_monitor 2021-08-03 19:18:17 +08:00
Martin Gaňo
5874fceb0d Moved coredump utils out of idf_monitor 2021-06-28 13:56:39 +02:00
Martin Gaňo
252036567c Moved filters out of idf_monitor.py 2021-06-17 21:38:38 +02:00
Roland Dobai
483f51cdd0 tools: Some additions to IDF Monitor's timestamps
Additions to https://github.com/espressif/esp-idf/pull/7021
2021-06-13 12:13:39 +02:00
Andrey Starodubtsev
f91bde97c1 Add timestamps for idf_monitor.py
Closes https://github.com/espressif/esp-idf/pull/7021
2021-06-11 16:46:52 +02:00
Dmitry
00a7ecb5a3 Code cleanup. Bugfix after rebase with master. Formating. 2021-05-13 15:03:40 +03:00
Dmitry
a16ae6c737 IDF monitor update 2021-05-11 16:08:44 +03:00
Roland Dobai
0dc3da6dce tools: Fix ANSI color converter on Windows
Fix a regression of b77addea2f: The ANSI
color converter returns a class on Windows instead of an object so its
methods won't be callable and will result in a not so helpful error
message: "idf_monitor failed with exit code 120"
2021-04-15 19:56:39 +02:00
Martin Gaňo
b77addea2f Decompose idf_monitor.py 2021-04-12 10:47:33 +02:00
Juraj Michálek
181a2389dc tools: handle exception in case of logging Unicode characters 2021-03-25 13:09:34 +01:00
Fu Hanxi
0146f258d7 style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
Martin Gaňo
8c0a3aa006 Add ability to disable address decoding using evironment variable
Closes https://github.com/espressif/esp-idf/issues/1679
2021-01-08 15:13:50 +01:00
martin.gano
f83039a0cb Imporove port detection in idf.py
Closes https://github.com/espressif/esp-idf/issues/5125
2020-12-31 14:25:52 +01:00
Marius Vikhammer
7fe16bae25 tools: merge C3 changes into master 2020-12-30 07:04:12 +08:00
Ivan Grokhotkov
8f3a3181e6 tools: decode esp32c3 stack dumps in idf_monitor.py
This follows a similar approach as UART core dump handling in
idf_monitor. Panic handler message is detected in the output,
collected into a file, and the file is passed to the decoding script.
In this case, the decoding script acts as a tiny GDB server, so we
can ask GDB to perform the backtrace.
2020-12-22 20:02:48 +11:00
Ivan Grokhotkov
dd8cef9f01 Merge branch 'bugfix/dev_tty_cu_darwin_only_pr5462' into 'master'
idf_monitor: only mangle /dev/tty.* on Darwin

Closes IDFGH-3507

See merge request espressif/esp-idf!10169
2020-08-28 17:39:57 +08:00
Roland Dobai
b9eb7cb7f0 tools: Fix IDF Monitor so it will wait for the device to reconnect 2020-06-29 09:18:05 +02:00
Ivan Grokhotkov
c140a66d3d Merge branch 'feature/coredump_pygdbmi' into 'master'
espcoredump: use pygdbmi for interaction with GDB

Closes IDF-48

See merge request espressif/esp-idf!8841
2020-06-23 01:44:45 +08:00
Ivan Grokhotkov
23a679a7c5 tools: idf_monitor.py: show espcoredump.py error output on failure 2020-06-18 19:08:00 +02:00
Kiril Zyapkov
e64bc76495 idf_monitor: only mangle /dev/tty.* on Darwin 2020-06-17 11:52:30 +03:00
Roland Dobai
e67314f646 tools/idf_monitor: add WebSocket client for IDE integration 2020-06-10 10:56:20 +00:00
michael
8aafb6b513 idf_monitor: support to re-flash with the using port
This commit make idf_monitor overwrite the ESPPORT environment variable
with the port it's using, and re-run make with the modified environment
variable. In this way, the make invoked will inherit the idf_monitor's
port.

Closes https://github.com/espressif/esp-idf/issues/4591
2020-04-07 01:44:26 +08:00
Roland Dobai
9b16594444 tools: Fix flashing encrypted binaries from IDF Monitor 2020-03-26 07:51:59 +01:00
Michael (XIAO Xufeng)
b00cea250f idf_monitor: fix gdb issue opening large COM port on Windows
The GDB uses CreateFile to open COM port on Windows. However this
function requires COM path to be `\\.\COMx` to open COM port whose
number is larger than 10.

Replace the port name from `COM` to `\\.\COM` when on Windows to fix
this.
2020-02-17 07:39:21 +00:00
Ivan Grokhotkov
25041ba583 tools/idf_monitor: automatically decode UART core dumps
This adds detection of UART core dumps to IDF monitor. By default,
core dumps are not printed to the console, but are processed by
espcoredump.py using 'info_corefile' command. The result is printed
to stdout.

This feature can be disabled in menuconfig.

In the future this can be extended to allow running espcoredump.py
with 'dbg_corefile' argument, which is similar to the current GDB Stub
behavior.

Related to IDF-52.
2020-02-13 18:46:26 +01:00
Angus Gratton
f8e7285591 Merge branch 'feature/idfpy_add_baud_parameter_to_monitor' into 'master'
idf.py: add monitor-baud option to monitor command

Closes IDF-978

See merge request espressif/esp-idf!6613
2020-01-30 13:38:29 +08:00
Rosa Elena Veiga Otero
af6541e773 tools: work around usbser.sys bug in idf_monitor
implemented workaround in idf_monitor for known usbser.sys bug which
causes changes in RTS signal to only be sent if DTR signal also changes.
Works by forcing a dummy change in DTR signal (re-assigning its current
value, as it has previously been done in the flashing tool)

Closes https://github.com/espressif/esp-idf/pull/4676
2020-01-28 11:47:45 +01:00
Angus Gratton
2e43d107b4 idf_monitor: Ignore OS-level errors writing to Windows Console
Windows Console write or flush may fail (throwing WindowsError, a subclass of OSError) if the data
written can't be displayed. This may be the case if the serial port is producing garbage bytes.

Ignore the error, in the hope that the serial port may "come good" and write non-garbage later.
2019-12-18 23:35:35 +00:00
Sergei Silnov
767cde7b1c idf.py: add monitor-baud option to monitor command 2019-12-13 21:40:21 +01:00
Roland Dobai
72040f2c44 idf_monitor: Autodetect port
Closes https://github.com/espressif/esp-idf/issues/4191
2019-10-14 08:06:43 +02:00
Per-Olov Jernberg
6435c9f3d5 idf_monitor: Exit with CTRL+X in menu
Currently, the only way of exiting the idf_monitor program is to hit the CTRL+] button, if your keyboard doesn't have that key unless you hit another modifier key, it's not super trivial to exit.

This change adds the option to exit with CTRL+T (for menu) then hitting X (or CTRL+X) for exiting.

Closes https://github.com/espressif/esp-idf/pull/4167
Closes https://github.com/espressif/esp-idf/issues/4129
2019-10-08 08:15:51 +00:00
Michael (XIAO Xufeng)
24f91617d7 idf_monitor: fix the bug that idf_monitor not blocked when no log printed
Inspired by @no1seman, @negativekelvin and @pglen on Github. (In post oder)

Resolves https://github.com/espressif/esp-idf/issues/3884
2019-08-16 17:56:51 +08:00
Michael (XIAO Xufeng)
a2155ff52d idf_monitor: improve the responding of console commands 2019-08-01 11:55:42 +08:00
Angus Gratton
47bbb107a8 build system: Use CMake-based build system as default when describing commands 2019-07-08 17:31:27 +10:00
Roland Dobai
f56b7d4a1d tools: Accept CTRL-T + A for app-flash in idf_monitor
"CTRL-A" cannot be captured in Windows command line, so "A" can be used
instead.
2019-06-27 12:21:09 +02:00