Commit Graph

6322 Commits

Author SHA1 Message Date
Roland Dobai 9307a932ad Tools: Handle IO error in idf.py output capturing
Closes https://github.com/espressif/esp-idf/issues/9649
2022-09-02 10:49:29 +02:00
Roland Dobai 6539d0af6d Merge branch 'feature/add_tests_for_hints' into 'master'
tools: add unit tests for hints

See merge request espressif/esp-idf!19788
2022-09-02 01:32:26 +08:00
Mahavir Jain 251faf98f9 Merge branch 'ci/migrate_protocomm_unit_test_app' into 'master'
ci: Migrate protocomm unit tests from unit-test-app to component-test-app

Closes IDF-5599

See merge request espressif/esp-idf!19781
2022-09-01 23:16:36 +08:00
simon.chupin 92ef2a4c83 Tools: Add unit tests for idf.py hints 2022-09-01 17:09:46 +02:00
Song Ruo Jing 61282cc5dd gpio: Fix interrupt lost issue
In previous gpio default isr, interrupt status bits get cleared at the exit of the isr.
However, for edge-triggered interrupt type, the interrupt status bit should be cleared before entering the per-pin handlers to avoid any potential interrupt lost.

Closes https://github.com/espressif/esp-idf/pull/6853
2022-09-01 16:01:01 +08:00
harshal.patil a17313ad32 ci: Migrate protocomm unit tests from unit-test-app to component-test-app 2022-09-01 10:24:33 +05:30
wuzhenghui 1d299a8976 esp32c6: add hal support 2022-09-01 12:37:51 +08:00
songruojing 9d515185d0 esp32c6: clean up existing soc files and header file inclusion in IDF to be compatible with the new chip 2022-09-01 12:28:06 +08:00
Roland Dobai b4b9d993db Merge branch 'feature/build_color_output' into 'master'
build system, tools: enable compiler color diagnostics by default, update CMake to 3.24.0

See merge request espressif/esp-idf!19864
2022-09-01 02:35:07 +08:00
Ivan Grokhotkov 4d9018e925 Merge branch 'feature/ulp_cmake_cleanups' into 'master'
ulp: CMake and python cleanups

See merge request espressif/esp-idf!19817
2022-08-31 17:59:05 +08:00
wuzhenghui c31aaeda2a ll: add reset interface to rtc_cntl_ll 2022-08-31 01:59:36 +00:00
Ivan Grokhotkov 1ba3d58b78 tools: cmake: upgrade from 3.23.1 to 3.24.0 2022-08-30 16:38:14 +02:00
Ivan Grokhotkov 13881a3832 idf.py: ensure that build log is always sanitized from color sequences
The actual output from the build tool (CMake/Ninja) may or may not
contain color escape codes, depending on various factors. The output
written to the log file should never include color escape codes,
though. This is because color escape codes in files are usually not
rendered as "color" in editors, and complicate reading. Also escape
codes would break the regular expressions used to display hints for
compilation errors.
2022-08-30 16:38:14 +02:00
Ivan Grokhotkov d04b554065 tools: idf.py: enable CLICOLOR_FORCE for interactive builds
If stdout is a TTY (meaning that the output is not redirected), tell
the build tool (GNU Make or Ninja) to enable colorized output.

GNU Make and Ninja also check if their stdout is redirected and
strip color escape sequences in that case. CLICOLOR_FORCE environment
variable overrides this behavior.

With this change, if the compiler was launched with the
-fcolor-diagnostics flag and idf.py output is not redirected, the
final output in the terminal will be colorized.

(-fcolor-diagnostics is handled at CMake level by the previous commit)
2022-08-30 16:38:13 +02:00
Ivan Grokhotkov 56e6263350 cmake: enable CMAKE_COLOR_DIAGNOSTICS by default
Related to https://github.com/espressif/esp-idf/issues/4162

Setting this option informs CMake that it should pass
-fcolor-diagnostics flag to the compiler.

(Colorized build system output, like from GNU Make, is produced even
without this flag.)

Note that if the build is done using Ninja and the build output is
redirected (not a TTY), Ninja will still strip the escape codes from
the output. For the case of idf.py, this is handled in the next
commit.
2022-08-30 16:38:13 +02:00
Mahavir Jain a8c8946766 Merge branch 'fix/mqtt_ssl_ds_remove_unwanted_readme_section' into 'master'
mqtt/ssl_ds: Remove unwanted readme section

See merge request espressif/esp-idf!19841
2022-08-30 22:30:22 +08:00
Roland Dobai cb81d14892 Merge branch 'bugfix/build_color_output_windows' into 'master'
tools: idf.py: use actual sys.stdout instead of the memoized one

See merge request espressif/esp-idf!19847
2022-08-30 16:31:42 +08:00
Marius Vikhammer dfaaefe2ce Merge branch 'bugfix/uart_sclk_freq' into 'master'
uart: fixed sclk_freq not init warning when compiling with asserts disabled

Closes IDFGH-8144

See merge request espressif/esp-idf!19792
2022-08-30 16:24:38 +08:00
Ivan Grokhotkov b548d9345e Revert "Merge branch 'feature/build_color_output' into 'master'"
This reverts merge request !19330
2022-08-30 15:14:47 +08:00
Aditya Patwardhan 6c7fd1edc0 mqtt/ssl_ds: Remove unwanted references to configure_ds.py, Also updated
the DS documentation
2022-08-30 10:54:15 +05:30
Ivan Grokhotkov 2916bf9b6c ulp: esp32ulp_mapgen: remove the special case for RISC-V, cleanup
There are multiple changes in this commit:

1. Unify the RISC-V and ULP-FSM code paths in esp32ulp_mapgen.py.
   It seems that these were originally introduced because `nm` output
   for the RISC-V case contained symbol sizes, while for the ULP-FSM
   no symbol sizes were reported. This makes sense, because the
   ULP-FSM object files are produced from assembly source, symbol
   sizes have to be added manually using the .size directive.
   In the case of RISC-V, the object files are built from C sources
   and the sizes are automatically added by the compiler.

   Now 'posix' output format is used for both RISC-V and ULP-FSM.

2. Move BASE_ADDR out of esp32ulp_mapgen.py. This now has to be passed
   from CMake, which should make it easier to modify if a new chip
   with a different RTC RAM base address is added.

3. Add C++ guards to the generated header file.

4. Switch from optparse to argparse for similarity with other IDF
   tools.

5. Add type annotations.
2022-08-30 02:34:28 +02:00
Ivan Grokhotkov 2c5b62f10e tools: idf.py: use actual sys.stdout instead of the memoized one
This fixes the issue with build output not being colorized on Windows,
while the hints messages are colorized.

The issue occurred because sys.stdout and sys.stderr get overridden
by colorama.init() at runtime, but the default argument
output_stream=sys.stdout holds the reference to the"original"
sys.stdout.

colorama.init() (which, by the way, gets called via a curious chain
of imports, via idf_component_tools.manifest and tqdm package)
overrides standard streams, on Windows only. The overridden streams
contain logic to convert ANSI color codes into Windows Console API
calls to colorize the text.

Since read_and_write_stream function used the default value of
output_stream evaluated at module loading time, it was using the
original sys.stdout, not the one overridden by colorama.

One extra note is that while this does fix the coloring issue, the
solution is a bit fragile, as it relies on one of the following
(on Windows):
- colorama.init() is called (this can change if idf-component-manager
  stops importing tqdm)
- Sufficiently new version of Windows 10 is used, and ANSI color codes
  support is enabled in the Registry.
2022-08-30 01:30:32 +02:00
Fu Hanxi 4f3610f957 Merge branch 'ci/upload_elf_map_to_minio' into 'master'
ci: upload elf map file to s3 server to reduce artifacts size

Closes IDFCI-1385

See merge request espressif/esp-idf!19756
2022-08-30 01:06:11 +08:00
Roland Dobai 84acc58d3c Merge branch 'fix/disable_idf_py_moinitor_hints' into 'master'
Tools: Disable idf.py hints for IDF Monitor

Closes IDFGH-8110

See merge request espressif/esp-idf!19782
2022-08-29 22:51:55 +08:00
Roland Dobai 9d75833884 Merge branch 'contrib/github_pr_9656' into 'master'
upgrade ccache installed version to 4.6.2 (GitHub PR)

Closes IDFGH-8160 and IDFGH-6735

See merge request espressif/esp-idf!19834
2022-08-29 22:34:46 +08:00
Ivan Grokhotkov 02a19c6df5 Merge branch 'feature/build_color_output' into 'master'
build system, tools: enable compiler color diagnostics by default

Closes IDFGH-1965

See merge request espressif/esp-idf!19330
2022-08-29 20:32:42 +08:00
Ivan Grokhotkov 4f0967d44c Merge branch 'feature/update-gdb-to-11.2_20220823' into 'master'
tools: update gdb version to '11.2_20220823'

Closes IDFGH-4276 and IDF-842

See merge request espressif/esp-idf!19723
2022-08-29 19:34:40 +08:00
Ivan Grokhotkov 990681764e tools: cmake: upgrade from 3.23.1 to 3.24.0 2022-08-29 11:15:25 +02:00
Ivan Grokhotkov 712743d777 idf.py: ensure that build log is always sanitized from color sequences
The actual output from the build tool (CMake/Ninja) may or may not
contain color escape codes, depending on various factors. The output
written to the log file should never include color escape codes,
though. This is because color escape codes in files are usually not
rendered as "color" in editors, and complicate reading. Also escape
codes would break the regular expressions used to display hints for
compilation errors.
2022-08-29 11:15:16 +02:00
Ivan Grokhotkov 12abe1f316 tools: idf.py: enable CLICOLOR_FORCE for interactive builds
If stdout is a TTY (meaning that the output is not redirected), tell
the build tool (GNU Make or Ninja) to enable colorized output.

GNU Make and Ninja also check if their stdout is redirected and
strip color escape sequences in that case. CLICOLOR_FORCE environment
variable overrides this behavior.

With this change, if the compiler was launched with the
-fcolor-diagnostics flag and idf.py output is not redirected, the
final output in the terminal will be colorized.

(-fcolor-diagnostics is handled at CMake level by the previous commit)
2022-08-29 11:15:00 +02:00
morris d36af75642 Merge branch 'feature/add_esp32c6_rom_header_file' into 'master'
esp_rom: add esp32c6 header files

See merge request espressif/esp-idf!19796
2022-08-29 17:14:09 +08:00
Ivan Grokhotkov 41cffbb2f2 cmake: enable CMAKE_COLOR_DIAGNOSTICS by default
Related to https://github.com/espressif/esp-idf/issues/4162

Setting this option informs CMake that it should pass
-fcolor-diagnostics flag to the compiler.

(Colorized build system output, like from GNU Make, is produced even
without this flag.)

Note that if the build is done using Ninja and the build output is
redirected (not a TTY), Ninja will still strip the escape codes from
the output. For the case of idf.py, this is handled in the next
commit.
2022-08-29 11:05:15 +02:00
Fu Hanxi 2484e00a94 ci: move LDGEN_CHECK_MAPPING to configure_ci_environment.sh 2022-08-29 16:57:31 +08:00
Roland Dobai 94a2d9f16a Merge branch 'bugfix/fix_hints_templates' into 'master'
tools: fix hints templates

See merge request espressif/esp-idf!19789
2022-08-29 16:43:14 +08:00
Roland Dobai 55b7b42724 Merge branch 'bugfix/fix_CN_letters_in_monitor' into 'master'
tools: fix multi-byte character appearance in idf.py monitor

See merge request espressif/esp-idf!19566
2022-08-29 16:36:01 +08:00
morris b82d6ce928 md5_hash: fix copyright checker 2022-08-29 15:40:37 +08:00
wuzhenghui fbeb6195c2 esp_rom: add esp32c6 header files 2022-08-29 15:40:37 +08:00
Dominic Cerquetti 823ae5cf45 upgrade ccache installed version to 4.6.2
- primary reason: 4.6.2 fixes errors if the user's home directory contains a space
- alternative fix: the CCACHE_DIR env var can be set to something without a space in it, or set to TMP which properly escapes the home dir name
- there may be other issues with spaces in filenames on builds in other parts of ESP-IDF, see https://github.com/espressif/esp-idf/issues/8364 for more info

tested locally on windows only, use at your own risk
2022-08-27 14:28:20 -04:00
Djordje Nedic 5ee663d592 tools: Add CSV support to idf_size.py
This adds CSV support to idf_size.py and idf.py size actions and using the --format argument which accepts 'text', 'json' or 'csv' as input.

idf_size.py --json argument is deprecated but left to avoid a breaking change.

For idf.py size actions OUTPUT_JSON environment variable set at configuration time is overriden at target build time if --format is used.

Additionally, this commit refactors big parts of code, unified usage of json_dict and manually generated dictionaries for textual output and improves code quality in many parts.
2022-08-26 15:34:21 +02:00
morris ebd3081d97 Merge branch 'bugfix/fix_rtc_gpio_hold' into 'master'
gpio: Fix missing set hold bit in rtc gpio register

Closes IDFGH-2489

See merge request espressif/esp-idf!19760
2022-08-26 18:13:14 +08:00
Omar Chebib 2f8c76abf2 Merge branch 'bugfix/rename_configs_not_set' into 'master'
Confgen: KConfig options not set in sdkconfig.defaults files can now be renamed

See merge request espressif/esp-idf!19751
2022-08-26 16:33:27 +08:00
Ondrej Kosta 9c73c00a05 Merge branch 'bugfix/iperf_py_script_upt' into 'master'
ci iperf: fixed condition for waiting to iperf server is up in DUT

Closes IDFCI-1285

See merge request espressif/esp-idf!19575
2022-08-26 16:32:49 +08:00
Marius Vikhammer b844df8c85 uart: fixed sclk_freq not init warning when compiling with asserts disabled
Closes https://github.com/espressif/esp-idf/issues/9642
2022-08-26 11:52:46 +08:00
Omar Chebib 0030e46a96 Confgen: KConfig options not set in sdkconfig.defaults files can now be renamed 2022-08-26 03:36:28 +00:00
simon.chupin e635492c95 tools: fix hints templates 2022-08-25 18:00:23 +02:00
Roland Dobai 352cb3fb5e Merge branch 'bugfix/idf_tools_test_timeout' into 'master'
ci: increase timeout for python packages install test

Closes IDFCI-1436

See merge request espressif/esp-idf!19775
2022-08-25 21:01:59 +08:00
Roland Dobai ff38cb8e0d Tools: Disable idf.py hints for IDF Monitor
The feature will be re-enabled later after a proper fix for the
following Github issue.

Closes https://github.com/espressif/esp-idf/issues/9610
2022-08-25 14:53:41 +02:00
Ivan Grokhotkov 5c8db0ea7f ci: increase timeout for python packages install test
On the build runners, the installation frequently takes around 150
seconds, which is above the current timeout. This change increases
the timeout.

Closes IDFCI-1436
2022-08-25 10:45:03 +02:00
Alexey Lapshin 244a1b5e6a tools: fix test_abort backtrace 2022-08-24 23:00:30 +04:00
Alexey Lapshin 3556536748 tools: update gdb version to '11.2_20220823'
Closes https://github.com/espressif/esp-idf/issues/6124
2022-08-24 23:00:30 +04:00