Commit Graph

20833 Commits

Author SHA1 Message Date
Ivan Grokhotkov
5d32e80ea7 freertos: ensure interrupts are disabled before enabling tick timer
xPortStartScheduler calls vPortSetupTimer -> _frxt_tick_timer_init,
which enables tick timer interrupt and sets up the first timeout.
From that point on, the interrupt can fire. If the interrupt happens
while _frxt_dispatch is running, the scheduler will enter an infinite
loop. This is because _frxt_dispatch isn't supposed to be preemptable,
and the tick interrupt will overwrite some of the registers used by
_frxt_dispatch.
Note that this situation doesn't practically occur on the real
hardware, where the execution of vPortSetupTimer and _frxt_dispatch
happens quickly enough. However it can be reproduced on an emulator
if the tick period is set to 1ms.

Add an explicit call to portDISABLE_INTERRUPTS in xPortStartScheduler
to guarantee that _frxt_dispatch doesn't run with interrupts enabled.
This is similar to the esprv_intc_int_set_threshold(1); call in
RISC-V version of port.c.
2021-12-20 17:25:56 +01:00
Jiang Jiang Jian
2a8ef2103f Merge branch 'mesh/bugfix_fix_no_ip_issue' into 'master'
esp_wifi_mesh: fix the device can not receive IP_EVENT_STA_GOT_IP when the router restarted

See merge request espressif/esp-idf!16334
2021-12-20 12:24:24 +00:00
Guo Jia Cheng
5fdbd40404 Merge branch 'bugfix/mdns-query-instance-filter' into 'master'
mdns: filter instance name for ANY queries

See merge request espressif/esp-idf!16255
2021-12-20 10:38:19 +00:00
Roland Dobai
b886dc6998 Merge branch 'feature/idf_py_savedefconfig' into 'master'
Tools: Add "idf.py save-defconfig" command to generate sdkconfig.defaults based on current sdkconfig

Closes IDF-2970

See merge request espressif/esp-idf!16409
2021-12-20 08:23:43 +00:00
Wei Tian Hua
7f06350400 Merge branch 'doc/optimize_hfp_doc' into 'master'
doc/: Optimize HFP Documents

Closes BT-2131

See merge request espressif/esp-idf!16258
2021-12-20 06:37:12 +00:00
Krzysztof Budzynski
18978cc1c2 Merge branch 'bugfix/docs_update_deep_sleep_note' into 'master'
add a note for deep sleep crc check

Closes DOC-665

See merge request espressif/esp-idf!15686
2021-12-20 05:25:14 +00:00
Marius Vikhammer
c2d00810a6 Merge branch 'feature/esp8684_doc_build' into 'master'
docs: update docs to be able to build with esp8684

Closes IDF-4313

See merge request espressif/esp-idf!15849
2021-12-20 03:32:28 +00:00
Marius Vikhammer
82325f6037 docs: update docs to be able to build with esp8684 2021-12-20 10:32:49 +08:00
morris
c14638878b Merge branch 'bugfix/dedic_gpio_initial_occupy_mask' into 'master'
fast_gpio: fix wrong initial occupy mask

See merge request espressif/esp-idf!16219
2021-12-18 05:39:53 +00:00
Ivan Grokhotkov
b5d17f85a8 Merge branch 'bugfix/stdatomic_sync_op_and_fetch' into 'master'
newlib: stdatomic: implement missing "op_fetch", "nand" builtins

Closes IDF-4397

See merge request espressif/esp-idf!16404
2021-12-17 14:42:57 +00:00
Rocha Euripedes
279c8aeb8a Merge branch 'example/asio_async_http_request' into 'master'
Examples/Asio:  Async http request

See merge request espressif/esp-idf!15285
2021-12-17 13:08:37 +00:00
Roland Dobai
eab738c79e Merge branch 'bugfix/ldgen_plus_in_archive_name' into 'master'
ldgen: allow + sign in archive names

Closes IDFGH-6414

See merge request espressif/esp-idf!16432
2021-12-17 12:08:03 +00:00
Jakob Hasse
7c7fbb1fd0 Merge branch 'feature/i2c_cxx_improve' into 'master'
I2C C++ Several improvements, breaking changes

See merge request espressif/esp-idf!16102
2021-12-17 09:45:27 +00:00
David Čermák
8caa8195d4 Merge branch 'bugfix/mdns_null_deref_fuzzer' into 'master'
mdns: Fix potential null deref reported by fuzzer test

See merge request espressif/esp-idf!16299
2021-12-17 09:37:55 +00:00
Ivan Grokhotkov
52fb8624cc ldgen: allow + sign in archive names
Closes https://github.com/espressif/esp-idf/issues/8073
2021-12-17 10:31:01 +01:00
Mahavir Jain
717b58eee1 Merge branch 'docs/remove_code_snippets' into 'master'
docs: Refactor ESP HTTP Client documentation

Closes DOC-2329

See merge request espressif/esp-idf!16392
2021-12-17 08:59:54 +00:00
morris
e8c5f8656b fast_gpio: fix wrong initial occupy mask 2021-12-17 15:49:44 +08:00
Jakob Hasse
7572f75d6b refactor (cxx)!: I2C C++ classes use strong value types now
Added host-based I2C C++ unit tests

BREAKING CHANGE: I2C C++ interface changes, raw values for
    arguments are mostly not allowed anymore.
2021-12-17 14:05:52 +08:00
Laukik Hase
9558177372 docs: Refactor ESP HTTP Client documentation
- Removed redundant code snippets
- Linked appropriate functions from the application example for each feature
- Spell and grammar check
2021-12-17 10:47:04 +05:30
morris
47ab8f8e63 Merge branch 'bugfix/mdns_test_app_break_api' into 'master'
mdns: Unbreak test app caused by async API change

See merge request espressif/esp-idf!16428
2021-12-17 01:41:20 +00:00
David Cermak
c0d08faf91 mdns: Unbreak test app cauased by async API change
Regression from f391d610e8
2021-12-16 22:46:53 +01:00
Ivan Grokhotkov
5b3b5f006f Merge branch 'feature/cmake_weak_deps_helper' into 'master'
cmake: add idf_component_optional_requires utility function, simplify some component dependencies

Closes IDF-3086

See merge request espressif/esp-idf!16373
2021-12-16 13:46:45 +00:00
David Čermák
e8a4c4b440 Merge branch 'bugfix/mdns_add_result_count_async' into 'master'
mdns: Added results count to async API (GitHub PR)

Closes IDFGH-6340

See merge request espressif/esp-idf!16362
2021-12-16 12:48:39 +00:00
David Čermák
c86183d54d Merge branch 'bugfix/mdns_server_instance_mismatch' into 'master'
mdns: fix mdns server instance mismatch

Closes IDFCI-1011

See merge request espressif/esp-idf!16420
2021-12-16 12:05:04 +00:00
morris
5efc7bf2b4 Merge branch 'bugfix/build_spaces_in_path_kconfig_ldgen_esptool' into 'master'
kconfig, ldgen, esptool, cmake: changes to support spaces in paths

See merge request espressif/esp-idf!15429
2021-12-16 10:32:49 +00:00
shenjun
f646e7759d esp_wifi_mesh: fix the device can not receive IP_EVENT_STA_GOT_IP when the router restarted 2021-12-16 17:18:47 +08:00
zhangwenxu
6173dd7809 mdns: fix mdns server instance mismatch 2021-12-16 16:52:05 +08:00
Ondrej Kosta
81cd70cf7f Merge branch 'contrib/github_pr_7966' into 'master'
Changed argument pointer to correct data (GitHub PR)

Closes IDFGH-6303

See merge request espressif/esp-idf!16351
2021-12-16 08:03:19 +00:00
Marius Vikhammer
5040803ff0 Merge branch 'feature/remove_deprecated_rom_headers' into 'master'
rom: remove deprecated headers from esp32 components

Closes IDF-2828

See merge request espressif/esp-idf!16372
2021-12-16 04:36:33 +00:00
Armando (Dou Yiwen)
302b21af03 Merge branch 'feature/adc_dma_driver' into 'master'
adc: dma driver

Closes IDF-2538 and IDF-1776

See merge request espressif/esp-idf!14278
2021-12-16 04:31:22 +00:00
Armando
103d310aaa adc: make adc_ll.h unavailable on 8684 2021-12-16 00:19:15 +00:00
Armando
4dc0d6b2fe adc: support adc dma driver on all chips 2021-12-16 00:19:15 +00:00
Roland Dobai
5118dd7cf3 Tools: Add "idf.py save-defconfig" command to generate sdkconfig.defaults 2021-12-15 17:15:31 +01:00
Chinmay Chhajed
5ddce053ea Merge branch 'bugfix/bt_enc_proc_finish' into 'master'
bt/bugfix: ACL Rx data is sent to host before enc change event

See merge request espressif/esp-idf!16346
2021-12-15 12:07:59 +00:00
Euripedes Rocha
2433816b14 EXAMPLE/ASIO Async HTTP request
Introduces a new example on ASIO to ilustrates on how to compose
async operation to build network related protocols.
2021-12-15 19:54:24 +08:00
Sudeep Mohanty
07bfc09d0c Merge branch 'task/remove-portmacro.h-from-task.h' into 'master'
freertos: remove portmacro.h inclusion from task.h

Closes IDF-3793

See merge request espressif/esp-idf!16307
2021-12-15 11:17:51 +00:00
Simon
878c643743 Merge branch 'bugfix/xtal_to_pll_8684' into 'master'
rtc_clk: change clock source from XTAL to PLL on real board(8684)

See merge request espressif/esp-idf!16397
2021-12-15 08:47:42 +00:00
Ondrej Kosta
da9a6d9082 Merge branch 'cleanup/netif_glue_cont' into 'master'
Cleanup/netif glue cont

See merge request espressif/esp-idf!16403
2021-12-15 07:07:21 +00:00
Zhang Wen Xu
c9ee50a0be Merge branch 'feature/support_multiple_instance_for_mdns_service_txt_set' into 'master'
mdns: support multiple instance for mdns service txt set

See merge request espressif/esp-idf!16105
2021-12-15 06:44:53 +00:00
David Čermák
32457784ce Merge branch 'test/mdns_ci_test' into 'master'
mdns: added test app

Closes IDF-4132

See merge request espressif/esp-idf!15736
2021-12-15 06:01:27 +00:00
Cao Sen Miao
e3d14858c7 rtc_clk: change clock source from xtal to pll on real board(ESP8684) 2021-12-15 12:21:11 +08:00
morris
7b32d8138c Merge branch 'bugfix/mcpwm_ll_missing_type_conversion' into 'master'
mcpwm: fix implicit conversion in LL function

Closes IDFGH-6407

See merge request espressif/esp-idf!16396
2021-12-15 03:58:04 +00:00
Ivan Grokhotkov
7056fd3129 bootloader: don't add nonexistent directories to EXTRA_COMPONENT_DIRS 2021-12-14 19:17:53 +01:00
Ivan Grokhotkov
09e50b27ed cmake: handling of space-separated EXTRA_COMPONENT_DIRS
COMPONENT_DIRS and EXTRA_COMPONENT_DIRS should be defined as CMake
lists, using 'set' or 'list' commands. Some applications written
for earlier versions of ESP-IDF used to define these variables as
space separated strings.

For example, the following is correct:

  set(EXTRA_COMPONENT_DIRS path/to/components path/to/more/components)

The following is not correct:

  set(EXTRA_COMPONENT_DIRS "${EXTRA_COMPONENT_DIRS} component1")
  set(EXTRA_COMPONENT_DIRS "${EXTRA_COMPONENT_DIRS} component2")

The string "component1 component2" may indicate a single directory
name with a space, or two directory names separated by space.

However due to the fact that such way of defining EXTRA_COMPONENT_DIRS
was supported in IDF 4.3 and earlier, we need to provide backward
compatibility for it.

This commit introduces a new script, split_paths_by_spaces.py, which
is invoked if EXTRA_COMPONENT_DIRS or COMPONENT_DIRS variable contains
spaces. The script tries to determine if each space should be
interpreted as a separator or as part of the directory name.

When this cannot be done unambiguously, the script reports an error.

In all cases when space separators are detected, the script reports
a warning, and prints instructions for fixing the CMakeLists.txt.

Breaking change in this commit: specifying non-existent directories
in COMPONENT_DIRS or EXTRA_COMPONENT_DIRS is no longer allowed.
2021-12-14 19:17:53 +01:00
Ivan Grokhotkov
29489a3303 build system: fix quoting of fragments list passed to ldgen 2021-12-14 19:17:53 +01:00
Ivan Grokhotkov
6b361d923c esptool_py: fix quoting issues in run_serial_tool.cmake 2021-12-14 19:17:53 +01:00
Ivan Grokhotkov
50799e3026 esptool_py: fix passing arguments to cmake -P
Fixes WORKING_DIRECTORY argument being passed with spaces escaped `\ `
which causes failure in run_cmd.cmake, since the WORKING_DIRECTORY is
interpreted as having a literal backslash character in it.
2021-12-14 19:17:53 +01:00
Ivan Grokhotkov
8da98b864d build system: pass semicolon-separated directory lists to kconfig
New —-list-separator argument of confgen.py and
prepare_kconfig_files.py is used to select which character is used
as list separator. For compatibility with esp-docs, we still keep
support for space separator. Otherwise esp-docs would have to choose
the separator depending on the IDF version.
2021-12-14 19:17:53 +01:00
Ivan Grokhotkov
01033a3a60 newlib: stdatomic: implement missing "op_fetch", "nand" builtins
* Adds implementations of __{atomic,sync}_nand_fetch_n. These builtins
  were implemented for other operations but were not defined for NAND.
* Adds implementation of __atomic_OP_fetch_n for all OPs.
* Adds implementation of __sync_OP_and_fetch_n for all OPs.

Reported in https://github.com/espressif/arduino-esp32/issues/5948
2021-12-14 16:06:12 +01:00
Mahavir Jain
b208d832a3 Merge branch 'contrib/github_pr_8041' into 'master'
print Firmware Upgrade URL to help user debug (GitHub PR)

Closes IDFGH-6382

See merge request espressif/esp-idf!16387
2021-12-14 14:59:23 +00:00