Compare commits

..

3892 Commits

Author SHA1 Message Date
Ivan Grokhotkov
f5e484fc79 versions: Update version to 4.2.4 2022-08-31 00:18:44 +02:00
Island
997844bbc3 Merge branch 'bugfix/vendor_model_send_message_no_memory_forv4.2' into 'release/v4.2'
ble_mesh:example: free the memory of malloc (v4.2)

See merge request espressif/esp-idf!19187
2022-08-08 12:25:38 +08:00
Yuan Hong Hui
10f0879fdb ble_mesh:the memory requested by malloc has not benn released 2022-08-05 12:13:47 +00:00
Jiang Jiang Jian
d016f69ffc Merge branch 'feat/make_property_idf_component_manager_root_level_v4.2' into 'release/v4.2'
Feat/make property idf component manager root level (v4.2)

See merge request espressif/esp-idf!19084
2022-08-05 19:58:57 +08:00
Jiang Jiang Jian
847d9631b9 Merge branch 'bugfix/restore_missing_ble_mesh_videos_v4.2' into 'release/v4.2'
ble_mesh: doc: Restore missing ble mesh videos(v4.2)

See merge request espressif/esp-idf!19405
2022-08-05 19:58:42 +08:00
wangjialiang
3c5eb41914 ble_mesh: doc: Restore missing ble mesh videos 2022-08-05 13:57:25 +08:00
Jiang Jiang Jian
be26894259 Merge branch 'bugfix/install_key_refactor_v4.2' into 'release/v4.2'
esp_wifi: backported some wifi fixes (19472381)

See merge request espressif/esp-idf!19385
2022-08-05 10:42:26 +08:00
Kapil Gupta
bdc671aee3 esp_wifi: backported some wifi fixes (19472381)
1. G1 rx drop from key install code refactoring
2. Remove group cipher check for PMF connection
2022-08-04 12:21:20 +05:30
Marius Vikhammer
ca1628b310 Merge branch 'bugfix/freertos_event_group_unblock_race_condition_v4.2' into 'release/v4.2'
FreeRTOS: Fix event group task list race condition (v4.2)

See merge request espressif/esp-idf!19105
2022-08-04 13:14:26 +08:00
Jiang Jiang Jian
2f634a82d5 Merge branch 'bugfix/wlan_fixes_backports_v4.2' into 'release/v4.2'
esp_wifi: Fix some wlan issues(backport v4.2)

See merge request espressif/esp-idf!19362
2022-08-04 11:33:57 +08:00
Jiang Jiang Jian
a46d166c49 Merge branch 'bugfix/combined_softap_pmf_fixes_v4.2' into 'release/v4.2'
Combined bugfixes for SoftAP and PMF (Backport v4.2)

See merge request espressif/esp-idf!19121
2022-08-04 11:05:10 +08:00
Nachiket Kukade
0c88beb9c4 esp_wifi: Update wifi libs
Update wifi libs with below fixes -
1. Improved error handling in SoftAP Rx path, fixed LoRa IE length
2. Handle low memory scenario, re-enabling PMF Capable flag in STA PMF
2022-08-03 18:16:37 +05:30
Jiang Jiang Jian
c5875e64b1 Merge branch 'docs/update_wifi_api_doc_v4.2' into 'release/v4.2'
DOC: update wifi api docs ( backport v4.2)

See merge request espressif/esp-idf!18083
2022-08-03 20:12:06 +08:00
Kapil Gupta
0efba69571 wpa_supplicant: Unicast key renew in TKIP mic failure
Currently we always request group key renew for during
TKIP mic failure. Add support for unicast/multicast
key renew as per packet.
2022-08-03 14:47:07 +05:30
Kapil Gupta
ec70ed86e0 esp_wifi: Changes to not use pmkid caching when SSID is changed 2022-08-03 14:38:05 +05:30
Kapil Gupta
064474fca6 wpa_supplicant: Fix issues reported by coverity 2022-08-03 14:37:43 +05:30
Jiang Jiang Jian
d98e2a3d5f Merge branch 'bugfix/fix_write_to_null_pointer_if_malloc_failed_issue_v4.2' into 'release/v4.2'
fix write to null pointer if malloc failed(Backport v4.2)

See merge request espressif/esp-idf!19350
2022-08-03 10:59:10 +08:00
Jiang Jiang Jian
8e8cf08d2d Merge branch 'bugfix/update_gpio_intr_enable_note_v4.2' into 'release/v4.2'
Update the note of the gpio_intr_enable function(v4.2)

See merge request espressif/esp-idf!18544
2022-08-03 10:58:42 +08:00
xueyunfei
3ffcb03f60 bugfix for backport wifi bugs to 4.2
- Bugfix for close sniffer mode when wifi stop

  - Bugfix for qos null update ba ssn

  - Bugfix for wrong configuration of static txbuf

  - Fix deep sleep can't reconnect to ap when pmf enable.

  - Fix some ap will ignore auth when rx deauth for a while.

  - update wifi header file
2022-08-03 10:45:36 +08:00
Oleg Savchenko
0a0ad4309f fix write to null pointer if malloc failed 2022-08-02 20:30:30 +08:00
zhangyanjiao
63324950fa modify API-reference using Sphinx directives 2022-08-02 20:23:37 +08:00
zhangyanjiao
0a7fedcbbd update wifi api docs 2022-08-02 20:23:37 +08:00
Jiang Jiang Jian
9d854cd6b0 Merge branch 'bugfix/set_ipv6_dns_error_v4.2' into 'release/v4.2'
lw ip: Fixed that ipv6 dns cannot work (v4.2)

See merge request espressif/esp-idf!19064
2022-08-02 20:21:39 +08:00
Jiang Jiang Jian
eddee33f98 Merge branch 'bugfix/fix_bluedroid_host_memory_overflow_v4.2' into 'release/v4.2'
Fixed bluedroid host memory overflow for v4.2

See merge request espressif/esp-idf!18905
2022-08-02 19:47:41 +08:00
Jiang Jiang Jian
510f86d451 Merge branch 'bugfix/memory_debug_not_work_v4.2' into 'release/v4.2'
bugfix/fix the dependency error of macro for memory debug (v4.2)

See merge request espressif/esp-idf!19234
2022-08-02 15:49:36 +08:00
Jiang Jiang Jian
4bdc7853cf Merge branch 'bugfix/put_sempher_and_queue_used_in_isr_into_DRAM_v4.2' into 'release/v4.2'
Make sure semphr/queue used in interrupt is in DRAM

See merge request espressif/esp-idf!18990
2022-08-02 11:32:18 +08:00
Michael (XIAO Xufeng)
7718c60d81 Merge branch 'bugfix/reserve_dma_ram_in_segments_v4.2' into 'release/v4.2'
psram: reserve dma pool in the step of heap max block (v4.2)

See merge request espressif/esp-idf!18861
2022-08-01 17:14:46 +08:00
Fu Hanxi
8b09f2f01f ci: pip install idf-component-manager inside CI 2022-08-01 10:44:50 +08:00
Sergei Silnov
ac8b720880 docs: Add IDF_COMPONENT_MANAGER build property 2022-08-01 10:44:50 +08:00
Sergei Silnov
fdc70f5b7f docs: Enable the component manager by default in CMake 2022-08-01 10:44:50 +08:00
Fu Hanxi
5d1864b7d7 build&config: lift property IDF_COMPONENT_MANAGER to root level 2022-08-01 10:44:50 +08:00
David Čermák
9003e6d1eb Merge branch 'bugfix/cxx_exception_pool_4.2' into 'release/v4.2'
startup: Make __cxx_eh_arena_size_get return 0 if exceptions disabled (v4.2)

See merge request espressif/esp-idf!18800
2022-07-29 13:14:45 +08:00
zhiweijian@espressif.com
029ed39579 Fixed bluedroid host memory overflow 2022-07-28 09:47:03 +00:00
wanlei
da340c02cc psram: fixed heap pool reservation for DMA/internal usage fail issue
As heap block may be allocated into multiple non-continuous chunks, to
reserve enough memory for dma/internal usage, we do the malloc in the
step of max available block.
2022-07-28 10:17:17 +08:00
xiongweichao
06d169e518 Update the note of the gpio_intr_enable function 2022-07-26 12:39:42 +00:00
baohongde
1af2a470dc components/coex: Make sure sempher and queue used in isr is in DRAM
Closes https://github.com/espressif/esp-idf/issues/9032
Closes https://github.com/espressif/esp-idf/issues/8928
Closes https://github.com/espressif/esp-idf/issues/9129
2022-07-25 13:50:43 +08:00
baohongde
6842dc1d2d components/bt: Make sure sempher and queue used in isr is in DRAM 2022-07-25 11:45:45 +08:00
Jiang Jiang Jian
1801a10828 Merge branch 'bugfix/schm_process_in_active_crash_v4.2' into 'release/v4.2'
Coex: fixed crash when calculating end transfer time(v4.2)

See merge request espressif/esp-idf!19192
2022-07-22 21:24:16 +08:00
jincheng
b7fe47292f fix the dependency error of macro for memory debug 2022-07-22 16:21:57 +08:00
xiongweichao
61af5f66a4 coex: fixed crash when calculating end transfer time 2022-07-22 16:15:58 +08:00
Jiang Jiang Jian
ad9395f74a Merge branch 'mesh/non_mesh_connections_access_v4.2' into 'release/v4.2'
esp_wifi_mesh: add non mesh connections access(v4.2)

See merge request espressif/esp-idf!18785
2022-07-21 19:19:14 +08:00
Darian Leung
c7c07c5fb2 freertos: Fix flakey event group unit test
The "FreeRTOS Event Groups" main task will only wait a single tick for the created
tasks to set their response bits. This short delay may not be sufficent if the tick
frequency is high.

This commit updates the test so that

- the main task waits indefinitely for all the response bits to be set.
- created tasks are cleaned up by the main task
2022-07-19 12:19:42 +08:00
Darian Leung
5e15bafd26 freertos: Fix event group task list race condition
FreeRTOS synchronization primitives (e.g., queues, eventgroups) use various event lists (i.e., task lists) to track what
tasks are blocked on a current primitive. Usually these event lists are accessed via one of the event lists functions
(such as vTask[PlaceOn|RemoveFrom]UnorderedEventList()), which in turn ensure that the global task list spinlock
(xTaskQueueMutex) is taken when accessing these lists.

However, some functions in event_groups.c manually traverse their event lists. Thus if a tick interrupt occurs on
another core during traversal and that tick interrupt unblocks a task on the event list being traversed, the event list
will be corrupted.

This commit modifies the following event_groups.c functions so that they take the global task list lock before
traversing their event list.

- xEventGroupSetBits()
- vEventGroupDelete()
2022-07-19 12:13:54 +08:00
Chen Wu
43f1c37458 lwip: Fixed that ipv6 dns cannot work 2022-07-15 16:20:37 +08:00
Jiang Jiang Jian
611493af37 Merge branch 'docs/update_wifi_multiple_antennas_doc_v4.2' into 'release/v4.2'
docs: update wifi multiple antennas docs (v4.2)

See merge request espressif/esp-idf!19048
2022-07-15 10:48:10 +08:00
Island
23a3f97af1 Merge branch 'bugfix/print_ready_after_init_transaction_forv4.2' into 'release/v4.2'
ble_mesh:change the location of print ready(v4.2)

See merge request espressif/esp-idf!19030
2022-07-14 17:28:19 +08:00
Krzysztof Budzynski
15480c49e3 Apply 1 suggestion(s) to 1 file(s) 2022-07-14 16:44:00 +08:00
muhaidong
6ceabe794e Apply 2 suggestions by Marius Vikhammer 2022-07-14 16:42:55 +08:00
muhaidong
758e185090 docs: update wifi multiple antennas docs 2022-07-14 16:36:46 +08:00
Yuan Hong Hui
770075609f ble_mesh:change the location of print ready 2022-07-13 18:13:08 +08:00
David Čermák
bef5f431d9 Merge branch 'bugfix/eth_icmp_dest_localhost_v4.2' into 'release/v4.2'
ci/esp_eth: Make the ICMP destination localhost (v4.2)

See merge request espressif/esp-idf!18753
2022-07-13 16:06:53 +08:00
Jiang Jiang Jian
7a1df44319 Merge branch 'bugfix/modbus_allow_master_slave_work_simultaneously_v42' into 'release/v4.2'
freemodbus: fix issues when modbus master and slave work simultaneously (backport v4.2)

See merge request espressif/esp-idf!14949
2022-07-13 15:37:20 +08:00
Alex Lisitsyn
bfac558b6f freemodbus: fix issues when modbus master and slave work simultaneously (backport v4.2) 2022-07-13 15:37:19 +08:00
Jiang Jiang Jian
e040cd1a68 Merge branch 'bugfix/fix_esp32_ke_mem_c_assert_v4.2' into 'release/v4.2'
Fixed ESP32 BLE ke_mem.c assert for v4.2

See merge request espressif/esp-idf!19004
2022-07-13 14:06:47 +08:00
zwj
6c4351908c Fixed ESP32 BLE ke_mem.c assert 2022-07-13 03:08:09 +00:00
Island
d69e42348f Merge branch 'bugfix/no_proxy_beacon_send_after_deinit_v4.2' into 'release/v4.2'
ble_mesh: stack: Bugfix for proxy beacon send after reinit mesh(v4.2)

See merge request espressif/esp-idf!18793
2022-07-13 10:51:36 +08:00
Jiang Jiang Jian
221993edd4 Merge branch 'bugfix/not_use_malloc_in_bluedroid_v4.2' into 'release/v4.2'
component/bt: use osi_malloc instead of malloc in bluedroid

See merge request espressif/esp-idf!18845
2022-07-12 10:43:44 +08:00
Jiang Jiang Jian
989a390798 Merge branch 'bugfix/enterprise_certs_ca_expired_v4.2' into 'release/v4.2'
esp_wifi: Fix issue of ca certificate expired.

See merge request espressif/esp-idf!18524
2022-07-11 16:45:50 +08:00
Jiang Jiang Jian
8f2659e2ad Merge branch 'bugfix/eap_method_selection_release_v4.2' into 'release/v4.2'
esp_wifi: Fix the negotiation of method with eap server.

See merge request espressif/esp-idf!18509
2022-07-11 16:45:22 +08:00
Jiang Jiang Jian
a07f18ff9f Merge branch 'bugfix/cpu_reset_perip_clk_disable_v4.2' into 'release/v4.2'
esp_system: Peripheral clocks faulty become disabled during cpu reset (backport v4.2)

See merge request espressif/esp-idf!15486
2022-07-11 16:44:32 +08:00
Jiang Jiang Jian
443d8a187b Merge branch 'bugfix/fix_esp_restart_does_not_reset_timer_groups_periph_v42' into 'release/v4.2'
modbus: fix esp restart does not reset timer groups periph (backport v4.2)

See merge request espressif/esp-idf!15506
2022-07-11 16:42:42 +08:00
Alex Lisitsyn
eaf03e06d5 modbus: fix esp restart does not reset timer groups periph (backport v4.2) 2022-07-11 16:42:42 +08:00
Jiang Jiang Jian
034c05c82e Merge branch 'bugfix/usb_hal_and_clk_v4.2' into 'release/v4.2'
Fix USB with swapped pins not working (backport v4.2)

See merge request espressif/esp-idf!17104
2022-07-11 16:42:13 +08:00
Wang Meng Yang
94fd4ffa2e Merge branch 'bugfix/fix_osi_men_dbg_xxx_not_defined_when_enable_mem_dbg_v4.2' into 'release/v4.2'
bugfix/fix the issue of functions not defined when enable memory debug (v4.2)

See merge request espressif/esp-idf!18817
2022-07-11 15:37:54 +08:00
morris
c9bc1943fa ci/esp_eth: Make the ICMP destination localhost
Original commit: 9fa06719fa
global: enable build uinit test for esp32-s3
2022-07-11 04:53:40 +00:00
baohongde
68612afa09 component/bt: use osi_malloc instead of malloc in bluedroid 2022-07-11 02:48:10 +00:00
Jiang Jiang Jian
25253b22cc Merge branch 'bugfix/do_not_allow_unauthenticated_encrypted_key_data_release_v4.2' into 'release/v4.2'
esp_wifi: Ignore unauthenticated encrypted EAPOL-Key data and fix

See merge request espressif/esp-idf!18316
2022-07-10 15:59:53 +08:00
Jiang Jiang Jian
c2090fc962 Merge branch 'bugfix/a2dp_source_not_stop_discovery_correctly_v4.2' into 'release/v4.2'
bugfix/avoid wrongly restart discovery in a2dp_source (v4.2)

See merge request espressif/esp-idf!18712
2022-07-10 15:52:21 +08:00
Jiang Jiang Jian
c811a2c2f4 Merge branch 'bugfix/restore_edr_en_and_protect_for_vhci_env_v4.2' into 'release/v4.2'
bugfix/restore edr_en and add protect for vhci_env (v4.2)

See merge request espressif/esp-idf!18813
2022-07-10 15:49:27 +08:00
Jiang Jiang Jian
3266c6a2d4 Merge branch 'bugfix/lower_a2dp_appT_prio_v4.2' into 'release/v4.2'
bugfix/lower the priority of application task of a2dp demo (v4.2)

See merge request espressif/esp-idf!18822
2022-07-10 15:48:03 +08:00
Jiang Jiang Jian
02c3414fc0 Merge branch 'bugfix/resolve_redefinition_in_spp_and_hid_v4.2' into 'release/v4.2'
bugfix/resolve redefinition in btc_spp.h and btc_hd.h/btc_hh.h (v4.2)

See merge request espressif/esp-idf!18826
2022-07-10 15:47:02 +08:00
Jiang Jiang Jian
6afad65ecb Merge branch 'bugfix/xtensa_sol_frame_saves_extra_registers_v4.2' into 'release/v4.2'
freertos: Xtensa solicited stack frame should save threadptr register (v4.2)

See merge request espressif/esp-idf!18855
2022-07-10 15:45:06 +08:00
Jiang Jiang Jian
f735dfa617 Merge branch 'docs/update_wifi_csi_sub_carrier_index_doc_v4.2' into 'release/v4.2'
docs:update wifi sci subcarrier index docs (v4.2)

See merge request espressif/esp-idf!18943
2022-07-10 15:40:14 +08:00
muhaidong
496b27eb0a docs:update wifi sci subcarrier index docs 2022-07-08 14:51:48 +08:00
jincheng
aeeb255d35 resolve redefinition in btc_spp.h and btc_hd.h/btc_hh.h
Closes https://github.com/espressif/esp-idf/issues/9199
2022-07-08 14:23:09 +08:00
jincheng
e2c29bf4db avoid wrongly restart discovery 2022-07-08 14:19:54 +08:00
jincheng
aae7b6e1ae restore edr_en which wrongly cleared by rsw
add critical protection for vhci_env_p->vhci_intr_st
ignore max_page when handle remote features
2022-07-08 14:13:08 +08:00
jincheng
37b9d3f886 lower the priority of application task of a2dp demo 2022-07-08 14:03:26 +08:00
Jiang Jiang Jian
5f5a2d9c5a Merge branch 'bugfix/auto_test_script_only_use_given_branch_v4.2' into 'release/v4.2'
CI: limit switching branches for auto_test_script (v4.2)

See merge request espressif/esp-idf!11144
2022-07-08 11:26:07 +08:00
jincheng
24fc73c4e0 fix the issue of functions not defined when enable memory debug 2022-07-08 11:00:59 +08:00
Mahavir Jain
b85c0ec352 Merge branch 'bugfix/efuse_esp_efuse_utility_burn_efuses_v4.2' into 'release/v4.2'
efuse: Fix burn operation when data was written directly to regs (v4.2)

See merge request espressif/esp-idf!18887
2022-07-07 22:30:33 +08:00
Chen Yu Dong
4620826c83 ci: limit switching branches for auto_test_script 2022-07-06 11:55:33 +08:00
KonstantinKondrashov
404979d71a efuse: Fix burn operation when data was written directly to regs
Closes https://github.com/espressif/esp-idf/issues/9290
2022-07-05 18:29:27 +08:00
Darian Leung
0a894c2b30 freertos: Xtensa FreeRTOS saves threadptr in solicited stack frame
The Xtensa FreeRTOS port does not save the threadptr register when
doing a voluntary yield. This can result in a crash when multiple
tasks used the threadptr register and call "taskYIELD()".

This commit adds the threadptr register to the solicited stack frame.
2022-07-04 18:26:16 +08:00
Jakob Hasse
2bcfeb612f startup: Make __cxx_eh_arena_size_get return 0 if exceptions disabled
This function is necessary to provide the emergency exception
memory pool size for C++ code.
Since our libstdc++ always has exceptions enabled, this function
must exist here even if -fno-exception is set for user code.
2022-07-01 08:32:37 +02:00
wangjialiang
3facb2dcfa ble_mesh: stack: Bugfix for proxy beacon send after reinit mesh 2022-07-01 11:50:43 +08:00
shenjun
b408043d7e esp_wifi_mesh: add non mesh connections access 2022-06-30 21:19:23 +08:00
Island
42ea9b7cb1 Merge branch 'feature/add_filter_seq_auth_config_v4.2' into 'release/v4.2'
ble_mesh: stack: Add filter old seq_auth packet menuconfig(v4.2)

See merge request espressif/esp-idf!18651
2022-06-24 11:15:22 +08:00
wangjialiang
aa42bb3355 ble_mesh: stack: Add filter old seq_auth packet menuconfig 2022-06-23 16:22:08 +08:00
Jiang Jiang Jian
372ae83fde Merge branch 'bugfix/avdtp_genreal_reject_format_error_v4.2' into 'release/v4.2'
component_bt: Fix AVDTP general reject format error(v4.2)

See merge request espressif/esp-idf!18558
2022-06-21 20:54:34 +08:00
Jiang Jiang Jian
46f777a254 Merge branch 'feature/update_hfp_ag_version_v4.2' into 'release/v4.2'
component_bt: update hfp_ag version to 1.7.2(v4.2)

See merge request espressif/esp-idf!18605
2022-06-21 19:40:59 +08:00
xiongweichao
90f464c671 update hfp_ag version to 1.7.2 2022-06-21 14:50:44 +08:00
Jiang Jiang Jian
32aa2ab24e Merge branch 'feat/epi_flash_api_iram_save_4.2' into 'release/v4.2'
spi_flash: partially move API functions out of IRAM (v4.2)

See merge request espressif/esp-idf!18304
2022-06-19 23:22:48 +08:00
Jiang Jiang Jian
8f9a3d508e Merge branch 'bugfix/idle_task_skipped_light_sleep_backport_v4.2' into 'release/v4.2'
pm_impl: fix neither enter light sleep nor enter waiti state in idle task(backport v4.2)

See merge request espressif/esp-idf!17849
2022-06-19 23:21:57 +08:00
xiongweichao
cec2713416 Fix AVDTP general reject format error. 2022-06-17 10:28:50 +08:00
aditi_lonkar
d8d32d71c9 esp_wifi: Fix issue of ca certificate expired. 2022-06-15 17:23:20 +05:30
Hrudaynath Dhabe
f66638c360 esp_wifi: Fix the negotiation of method with eap server. 2022-06-15 05:57:15 +00:00
Jiang Jiang Jian
14b204e201 Merge branch 'bugfix/pm_enabled_bt_build_fail_v4.2' into 'release/v4.2'
Bluetooth build fail when power management is enabled(v4.2)

See merge request espressif/esp-idf!18383
2022-06-15 11:07:08 +08:00
Hrudaynath Dhabe
8eb3c959dc esp_wifi: Ignore unauthenticated encrypted EAPOL-Key data and fix handling of key RSC.
Closes https://github.com/espressif/esp-idf/issues/8401
2022-06-14 18:33:27 +05:30
Michael (XIAO Xufeng)
ac6f45d290 bootloader: support unlock MXIC flash chips 2022-06-09 12:41:56 +08:00
Cao Sen Miao
168880fe7b spi_flash: move the unlock patch to bootloader and add support for GD 2022-06-09 12:41:56 +08:00
Michael (XIAO Xufeng)
e5ac1eb83f spi_flash: fix the corruption of ROM after calling bootloader_execute_flash_command
The user register, especially dummy related ones, needs to be restored, otherwise the ROM function will not work.

Introduced in dd40123129.
2022-06-09 12:41:56 +08:00
Michael (XIAO Xufeng)
33a8c60b2c bootloader: add xmc spi_flash startup flow to improve reliability 2022-06-09 12:41:56 +08:00
Michael (XIAO Xufeng)
e1bd7b9d8f bootloader: create public bootloader_flash.h header
Move non-public functions into bootloader_flash_priv.h header
2022-06-09 12:41:56 +08:00
Michael (XIAO Xufeng)
9582cbe5b8 bootloader: fix the WRSR format for ISSI flash chips
1. The 2nd bootloader always call `rom_spiflash_unlock()`, but never help to clear the WEL bit when exit. This may cause system unstability.

   This commit helps to clear WEL when flash configuration is done.

   **RISK:** When the app starts, it didn't have to clear the WEL before it actually write/erase. But now the very first write/erase operation should be done after a WEL clear. Though the risk is little (all the following write/erase also need to clear the WEL), we still have to test this carefully, especially for those functions used by the OTA.

2. The `rom_spiflash_unlock()` function in the patch of ESP32 may (1) trigger the QPI, (2) clear the QE or (3) fail to unlock the ISSI chips.

   Status register bitmap of ISSI chip and GD chip:

| SR | ISSI | GD25LQ32C |
| -- | ---- | --------- |
| 0  | WIP  | WIP       |
| 1  | WEL  | WEL       |
| 2  | BP0  | BP0       |
| 3  | BP1  | BP1       |
| 4  | BP2  | BP2       |
| 5  | BP3  | BP3       |
| 6  | QE   | BP4       |
| 7  | SRWD | SRP0      |
| 8  |      | SRP1      |
| 9  |      | QE        |
| 10 |      | SUS2      |
| 11 |      | LB1       |
| 12 |      | LB2       |
| 13 |      | LB3       |
| 14 |      | CMP       |
| 15 |      | SUS1      |

   QE bit of other chips are at the bit 9 of the status register (i.e. bit 1 of SR2), which should be read by RDSR2 command.

   However, the RDSR2 (35H, Read Status 2) command for chip of other vendors happens to be the QIOEN (Enter QPI mode) command of ISSI chips. When the `rom_spiflash_unlock()` function trys to read SR2, it may trigger the QPI of ISSI chips.

   Moreover, when `rom_spiflash_unlock()` try to clear the BP4 bit in the status register, QE (bit 6) of ISSI chip may be cleared by accident. Or if the ISSI chip doesn't accept WRSR command with argument of two bytes (since it only have status register of one byte), it may fail to clear the other protect bits (BP0~BP3) as expected.

   This commit makes the `rom_spiflash_unlock()` check whether the vendor is issi. if so, `rom_spiflash_unlock()` only send RDSR to read the status register, send WRSR with only 1 byte argument, and also avoid clearing the QE bit (bit 6).

3. `rom_spiflash_unlock()` always send WRSR command to clear protection bits even when there is no protection bit active. And the execution of clearing status registers, which takes about 700us, will also happen even when there's no bits cleared.

   This commit skips the clearing of status register if there is no protection bits active.

Also move the execute_flash_command to be a bootloader API; move
implementation of spi_flash_wrap_set to the bootloader
2022-06-09 12:41:56 +08:00
Michael (XIAO Xufeng)
a130dcd5ec test_spiffs: increase test case stack size 2022-06-09 12:41:56 +08:00
Michael (XIAO Xufeng)
51584d4f2a spi_flash: partially move API functions out of IRAM 2022-06-09 12:41:56 +08:00
Jiang Jiang Jian
a3374b2d2f Merge branch 'bugfix/fix_cannot_lslp_again_after_ulp_wakeup_backport_v4.2' into 'release/v4.2'
sleep: fix cannot lightsleep again after a wakeup from ULP(backport v4.2)

See merge request espressif/esp-idf!18218
2022-06-07 11:21:42 +08:00
xiongweichao
0cb13d47cc Bluetooth build fail when power management is enabled 2022-06-06 20:28:25 +08:00
Roland Dobai
087c72e8ea Merge branch 'bugfix/disable_extensions_idfpy_tests_v4.2' into 'release/v4.2'
Tools: Make idf.py tests independent on extra extensions (v4.2)

See merge request espressif/esp-idf!18284
2022-06-03 19:05:26 +08:00
Sergei Silnov
2e8e620d94 Tools: Make idf.py tests independent on extra extensions 2022-06-02 17:56:38 +02:00
Jiang Jiang Jian
59a66f90c7 Merge branch 'bugfix/add_bda_to_read_rmt_name_param_v4.2' into 'release/v4.2'
Bugfix/add bda to read rmt name param v4.2

See merge request espressif/esp-idf!18282
2022-06-02 11:46:51 +08:00
Jiang Jiang Jian
83b2a98682 Merge branch 'feature/docker_build_gh_actions_v4.2' into 'release/v4.2'
ci: move Docker image builds to Github, plus other improvements (v4.2)

See merge request espressif/esp-idf!18289
2022-06-02 11:45:20 +08:00
keymoon
c670dc6d14 assign value to uninitialized bt_addr field 2022-05-29 18:04:53 -07:00
keymoon
2bf87b0a53 add address field to read_rmt_name_param 2022-05-29 18:04:41 -07:00
Ivan Grokhotkov
7d9aff3913 tools/docker: add README.md file to be displayed on Docker Hub
Closes https://github.com/espressif/esp-idf/issues/7933
2022-05-27 14:15:51 +02:00
Ivan Grokhotkov
cf44cbfdc9 ci: build and push Docker images in Github actions
Replaces the previously used Docker Hub autobuild infrastructure.
This allows for more flexible configuration of the build process,
at the expense of some extra maintenance of CI workflow files
required.
2022-05-27 14:15:47 +02:00
Ivan Grokhotkov
a1eb5c77e9 docs: document build arguments of the Docker image 2022-05-27 14:01:34 +02:00
Ivan Grokhotkov
1e64f241f9 tools/docker: add IDF_CLONE_SHALLOW and IDF_INSTALL_TARGETS arguments
These two arguments can be used to reduce the size of the Docker
image:

- Setting IDF_CLONE_SHALLOW enables shallow cloning.
- Setting IDF_INSTALL_TARGETS to the comma separated list of targets
  results in toolchains being installed only for these targets.
2022-05-27 14:01:22 +02:00
jingli
57975000fe esp_hw_support/sleep: fix cannot lightsleep again after a wakeup from ULP
Since ulp wakeup signal are connected to ulp int raw(except esp32), we
need to clear ulp int raw before sleep when ulp wakeup enabled. Otherwise,
if the ulp int raw is already set, chip will not sleep properly.

Closes https://github.com/espressif/esp-idf/issues/6229
2022-05-23 01:00:28 +08:00
Jiang Jiang Jian
b6b7a59958 Merge branch 'bugfix/twai_esp32_errata_workarounds_backport_v4.2' into 'release/v4.2'
TWAI: Add FIFO overrun handling and ESP32 hardware errata workarounds + Refactor TWAI HAL to store state information  (backport v4.2)

See merge request espressif/esp-idf!17106
2022-05-19 10:55:59 +08:00
Jiang Jiang Jian
b74fc002f1 Merge branch 'bugfix/driver_uart_fix_tx_bytes_rts_assert_failure_v42' into 'release/v4.2'
driver: fixes context switch while sending cause rts reset before send (backport v4.2)

See merge request espressif/esp-idf!17942
2022-05-19 10:55:36 +08:00
Alex Lisitsyn
721e26019e driver: fixes context switch while sending cause rts reset before send (backport v4.2) 2022-05-19 10:55:35 +08:00
Jiang Jiang Jian
9cb1729107 Merge branch 'bugfix/fix_adc_calibration_light_sleep_issue_v4.2' into 'release/v4.2'
adc: fix calibration error when waking up from light sleep (v4.2)

See merge request espressif/esp-idf!16931
2022-05-19 10:55:10 +08:00
Jiang Jiang Jian
ea173fc189 Merge branch 'bugfix/ble_mesh_console_correct_repl_config_prompt_forv4.2' into 'release/v4.2'
ble mesh:example:correct repl config prompt in ble mesh console(v4.2)

See merge request espressif/esp-idf!17185
2022-05-19 10:54:52 +08:00
Yuan Hong Hui
886e846dc0 ble mesh:example:correct repl config prompt in ble mesh console(v4.2) 2022-05-19 10:54:51 +08:00
Jiang Jiang Jian
0fba64486a Merge branch 'bugfix/spi_lose_last_3_bytes_v4.2' into 'release/v4.2'
spi_master: fix an issue where master cannot correctly receive data when using DMA in halfduplex mode (v4.2)

See merge request espressif/esp-idf!17379
2022-05-19 10:54:36 +08:00
Jiang Jiang Jian
c71a9e5704 Merge branch 'feature/check_block_after_burn_v4.2' into 'release/v4.2'
efuse: Validates data after burning and re-burnes it if necessary (v4.2)

See merge request espressif/esp-idf!17704
2022-05-19 10:54:19 +08:00
morris
6c66b39221 Merge branch 'feature/modbus_master_fix_check_uart_set_pin_v42' into 'release/v4.2'
example/modbus_master: fix the assert for uart_set_pin (backport v4.2)

See merge request espressif/esp-idf!17626
2022-05-10 18:30:03 +08:00
Elbert van de Put
07c8e86987 example/modbus_master: fix the assert for uart_set_pin
Signed-off-by: aleks <aleks@espressif.com>

Closes https://github.com/espressif/esp-idf/pull/8607
2022-05-10 08:05:22 +00:00
Jiang Jiang Jian
d6a975f6b2 Merge branch 'bugfix/_rtc_slow_length_incorrectly_optimized_backport_v4.2' into 'release/v4.2'
sleep_power_domain: fix _rtc_slow_length being incorrectly optimized by compiler(backport v4.2)

See merge request espressif/esp-idf!17976
2022-05-10 01:04:37 +08:00
morris
d0db75899d Merge branch 'bugfix/ledc_consecutive_fade_v4.2' into 'release/v4.2'
ledc: Bugfixes for issues related to fade protection (backport v4.2)

See merge request espressif/esp-idf!16955
2022-05-07 18:24:45 +08:00
jingli
05b7db9cd8 fix _rtc_slow_length being incorrectly optimized by compiler 2022-05-01 23:26:52 +08:00
Jiang Jiang Jian
667f3dfbad Merge branch 'bugfix/ignore_pmf_capable_flag_v4.2' into 'release/v4.2'
Always connect Station in PMF mode if possible (Backport v4.2)

See merge request espressif/esp-idf!17538
2022-05-01 20:10:58 +08:00
Jiang Jiang Jian
bf7b430f55 Merge branch 'contrib/github_pr_8779_v4.2' into 'release/v4.2'
esp_wifi: fix clearing default wifi netif procedure(v4.2)

See merge request espressif/esp-idf!17940
2022-04-28 16:17:14 +08:00
Jiang Jiang Jian
00d2c3037a Merge branch 'bugfix/fix_disable_bt_log_ci_fail_v4.2' into 'release/v4.2'
component_bt: Fix CI failure when disable bluetooth debug log(v4.2)

See merge request espressif/esp-idf!17905
2022-04-27 18:20:27 +08:00
Jiang Jiang Jian
5c1d1c0f45 Merge branch 'bugfix/spp_crash_after_call_spp_deinit_v4.2' into 'release/v4.2'
Component_bt/Fix spp crash after call esp_spp_deinit(v4.2)

See merge request espressif/esp-idf!17933
2022-04-27 18:06:57 +08:00
Krzysztof Lewandowski
55b6ff6fbd esp_wifi: fix clearing default wifi netif procedure
Prior to this change "esp_wifi_clear_default_wifi_driver_and_handlers"
will not remove netif pointer from table when both AP and STA interfaces were
created and destroying default wifi interfaces is done in unfortunate
order. As a result there is dangling pointer left and it may cause crash in
later code (i.e. when esp_wifi_stop() is called).
2022-04-27 03:23:20 -04:00
xiongweichao
d59d373edc Fix spp initialization failure without free mutex 2022-04-27 14:49:39 +08:00
xiongweichao
9e2ae1271d Fix spp crash after calling esp_spp_deinit 2022-04-27 14:43:42 +08:00
xiongweichao
0825981026 Fix CI failure when disable bluetooth debug log 2022-04-26 15:06:50 +08:00
KonstantinKondrashov
83728f3832 efuse: fix 2022-04-26 00:08:51 +08:00
Island
8b422cd8b1 Merge branch 'bugfix/oversized_SegN_as_valid_v4.2' into 'release/v4.2'
ble_mesh: stack: Bugfix for oversized SegN as valid(v4.2)

See merge request espressif/esp-idf!17774
2022-04-25 18:52:04 +08:00
wangjialiang
7691b8effb ble_mesh: stack: Bugfix for oversized SegN as valid 2022-04-25 11:53:35 +08:00
Jiang Jiang Jian
c35cd9d0fe Merge branch 'bugfix/rrm_dpp_task_delete_v4.2' into 'release/v4.2'
Bugfix/rrm dpp task delete v4.2

See merge request espressif/esp-idf!17880
2022-04-25 10:52:26 +08:00
Jack
be2779818b fix build error 2022-04-23 01:11:29 +08:00
Jack
fdf79ce300 ESP_WIFI: Remove static analysis warnings 2022-04-23 00:54:30 +08:00
Kapil Gupta
dc87416df0 wpa_supplicant: static analysis fixes 2022-04-23 00:33:34 +08:00
Kapil Gupta
a26b0dbaab wpa_supplicant: Add BTM security checks 2022-04-23 00:26:08 +08:00
Jiang Jiang Jian
06837c7efa Merge branch 'bugfix/fix_phy_i2c_crash_v4.2' into 'release/v4.2'
esp_phy: Add IRAM_ATTR for phy i2c spinlock (v4.2)

See merge request espressif/esp-idf!17844
2022-04-21 15:47:04 +08:00
gaoxiaojie
5516dc7d0c pm_impl: fix neither enter light sleep nor enter waiti state in idle task 2022-04-21 14:40:57 +08:00
xiewenxiang
d976bbec08 esp_phy: Add IRAM_ATTR for phy i2c spinlock 2022-04-21 02:57:08 +08:00
Wang Meng Yang
d8105a565e Merge branch 'bugfix/fix_spp_initiator_connect_failed_v4.2' into 'release/v4.2'
Component_bt/Fix SPP initiator can not free resource when connection is failed[backport 4.2]

See merge request espressif/esp-idf!17746
2022-04-19 15:49:12 +08:00
morris
7cb3e99740 Merge branch 'fix/spi_master_use_data_flag_v4.2' into 'release/v4.2'
spi_master: fix the error log when use tx/rx_data with larger data (v4.2)

See merge request espressif/esp-idf!17800
2022-04-18 23:22:02 +08:00
Michael (XIAO Xufeng)
5edd6a4ddf spi_master: fix the error log when use tx/rx_data with larger data 2022-04-18 15:15:06 +08:00
Michael (XIAO Xufeng)
396159299c Merge branch 'bugfix/gpio_pin_num_fix_v4.2' into 'release/v4.2'
gpio: Fix some gpio pin num errors on esp32s2 (backport v4.2)

See merge request espressif/esp-idf!17110
2022-04-18 14:49:52 +08:00
Ivan Grokhotkov
34a326130a Merge branch 'bugfix/nvs_coverity_issues_4.2' into 'release/v4.2'
bugfix (nvs): Fixed issues found by Coverity (backport v4.2)

See merge request espressif/esp-idf!17764
2022-04-14 17:44:51 +08:00
Jakob Hasse
e5eccb409e bugfix (nvs): Fixed issues found by Coverity
*  Fixed potential memory leak
*  Fixed wrong strncpy usage
*  Fixed potential out of bounds access
2022-04-13 18:02:47 +08:00
Nachiket Kukade
154e579cfc esp_wifi: Always connect Station in PMF mode if possible
While using esp_wifi_set_config, flag pmf_capable defaults to 0.
Users may not bother to enable it, which prevents connection to a
WPA3 AP. Or the AP may reset into WPA3 mode failing the re-connection.
To ensure better security, deprecate the pmf_capable flag and set it to
true internally.
Additionally add API esp_wifi_disable_pmf_config to disable PMF for
debug purposes or to avoid PMF issues on AP side.
2022-04-12 18:40:51 +05:30
liqigan
0c2c192013 add missing unlock in btc_spp_cb_handler of BTA_JV_RFCOMM_WRITE_EVT 2022-04-12 15:37:07 +08:00
liqigan
95ad53153f fix SPP initiator can not free resource when connection is failed 2022-04-12 15:36:47 +08:00
Wang Meng Yang
43ee24a52e Merge branch 'bugfix/bt_add_some_debug_log_v4.2' into 'release/v4.2'
component_bt: Add some bluetooth debug log(v4.2)

See merge request espressif/esp-idf!17616
2022-04-11 10:53:40 +08:00
KonstantinKondrashov
dffcb3d0fb efuse: Fix 3/4 coding scheme UTs 2022-04-08 17:13:23 +08:00
morris
ffe304268d Merge branch 'bugfix/modbus_add_task_affinity_and_callbacks_v42' into 'release/v4.2'
freemodbus: add task affinity and callbacks (backport v4.2)

See merge request espressif/esp-idf!14542
2022-04-08 15:59:33 +08:00
KonstantinKondrashov
3a4cf61318 efuse: Improve messages during burn operation 2022-04-07 22:25:06 +08:00
Michael (XIAO Xufeng)
2ec7449c37 Merge branch 'bugfix/phy_regi2c_critical_section_v4.2' into 'release/v4.2'
esp_phy: use spinlock to avoid regi2c access conflicts (v4.2)

See merge request espressif/esp-idf!17693
2022-04-07 20:19:33 +08:00
morris
c226560f6b Merge branch 'bugfix/flash_mmap_output_psram_arg_v4.2' into 'release/v4.2'
mmap: fixed the issue mmap cannot be called with pointers to psram (v4.2)

See merge request espressif/esp-idf!17699
2022-04-07 10:54:08 +08:00
KonstantinKondrashov
08a06865ec efuse: Burn func can return an error
esp_efuse_utility_burn_chip()
2022-04-06 23:42:26 +08:00
KonstantinKondrashov
26619521fb efuse: Validates data after burning and re-burnes it if necessary
It checks the content of the written data and encoding errors.
2022-04-06 20:02:46 +08:00
Michael (XIAO Xufeng)
50b87ff953 mmap: fixed the issue mmap cannot be called with pointers to psram 2022-04-06 17:23:42 +08:00
Anton Maklakov
66d65e66fd Merge branch 'feature/add_component_manager_python_dependency_v4.2' into 'release/v4.2'
Build System: Add idf-component-manager python dependency (v4.2)

See merge request espressif/esp-idf!15986
2022-04-06 16:31:26 +08:00
Michael (XIAO Xufeng)
cb0b143cb3 esp_phy: use spinlock to avoid regi2c access conflicts 2022-04-06 15:01:35 +08:00
Michael (XIAO Xufeng)
171096e856 regi2c: use safe version of spinlock, instead of ISR ver 2022-04-06 14:47:10 +08:00
Michael (XIAO Xufeng)
69c95bf983 Merge branch 'bugfix/spi_free_crash_uninitialized_v4.2' into 'release/v4.2'
spi: fixed crash when calling spi_bus_free when not initialized (v4.2)

See merge request espressif/esp-idf!17610
2022-04-01 11:17:54 +08:00
Michael (XIAO Xufeng)
e7d95dc787 Merge branch 'bugfix/gpio_example_config_struct_zero_init_v4.2' into 'release/v4.2'
example: fixed the issue that config struct is not properly initialized (v4.2)

See merge request espressif/esp-idf!17589
2022-04-01 11:17:17 +08:00
Michael (XIAO Xufeng)
c7c7d5d01d Merge branch 'bugfix/fix_x32k_startup_slow_bug_v4.2' into 'release/v4.2'
bugfix: Fix xtal 32k not oscillate or oscillate too slowly issue for esp32 (v4.2)

See merge request espressif/esp-idf!17591
2022-03-30 17:54:41 +08:00
chaijie
b2e08332e3 ESP32: Fix xtal 32k not oscillate or oscillate too slowly issue
ESP32 in revision0 and revision1 uses touchpad to provide
current to oscillate xtal 32k. But revision2 and revision3
do not need to do that.
Note: touchpad can not work and toupad/ULP wakeup sources
are not available when toupad provides current to xtal 32k
2022-03-30 15:27:03 +08:00
songruojing
affb956da5 esp_system: fix the bug that some peripheral clocks are being disabled during cpu reset for esp32s2 2022-03-29 03:42:34 +00:00
songruojing
9e79d0e06f ledc: Fix FADE_NO_WAIT mode concurrency problem.
Add test cases for fade concurrency issue and fade timing check.

Closes https://github.com/espressif/esp-idf/issues/6710

(cherry picked from commit be2ab09832)
2022-03-29 03:42:06 +00:00
songruojing
01547c4bd8 ledc: Simplify the procedure to perform a one-time duty update
Avoid adding one extra fade cycle when performing a one-time duty update.
Add some notes to ledc_get_duty and ledc_update_duty APIs, so that users
are aware of when the new duty will be effective.

Closes https://github.com/espressif/esp-idf/issues/7288

(cherry picked from commit e175086226)
2022-03-29 03:42:06 +00:00
me-no-dev
198ce9095a Fix USB with swapped pins not working
(cherry picked from commit 0aa1c13027)
2022-03-29 03:41:28 +00:00
songruojing
4c267ef0a6 gpio: Fix some gpio pin num errors on esp32s2 2022-03-29 03:40:54 +00:00
xiongweichao
b8c9bb4247 Add some bluetooth debug log 2022-03-28 11:28:50 +08:00
Michael (XIAO Xufeng)
49231ae961 spi: fixed crash when calling spi_bus_free when not initialized
introduced in 49a48644e4

Closes: https://github.com/espressif/esp-idf/issues/8642
2022-03-27 02:41:09 +08:00
Michael (XIAO Xufeng)
75f856ac37 example: fixed the issue that config struct is not properly initialized 2022-03-25 01:11:55 +08:00
Michael (XIAO Xufeng)
680710df2f Merge branch 'test/remove_spi_flash_perf_thr_v4.2' into 'release/v4.2'
spi_flash_test: remove threshold from unit test (v4.2)

See merge request espressif/esp-idf!16824
2022-03-19 02:36:18 +08:00
morris
84effb1708 Merge branch 'bugfix/sleep_wrong_log_lvl_v4.2' into 'release/v4.2'
Sleep: fix wrong debug level (backport v4.2)

See merge request espressif/esp-idf!17300
2022-03-16 17:10:53 +08:00
Michael (XIAO Xufeng)
16629eaf99 Merge branch 'bugfix/bootloader_uart_custom_gpio_v4.2' into 'release/v4.2'
bootloader: fixed the issue custom_uart_gpio doesn't take effect (v4.2)

See merge request espressif/esp-idf!17309
2022-03-16 11:39:36 +08:00
Jiang Jiang Jian
550872d629 Merge branch 'bugfix/assoc_comeback_fail_issue_v4.2' into 'release/v4.2'
Fix assoc comeback causing invalid state (Backport v4.2)

See merge request espressif/esp-idf!17174
2022-03-16 10:47:48 +08:00
Jiang Jiang Jian
ebee6f3c3f Merge branch 'bugfix/dual_core_pm_lock_issue_backport_v4.2' into 'release/v4.2'
System: fix pm lock issue in dual core mode(backport v4.2)

See merge request espressif/esp-idf!17263
2022-03-16 10:33:29 +08:00
Michael (XIAO Xufeng)
26cf75cb44 spi_flash_test: remove threshold from unit test 2022-03-15 15:22:55 +00:00
Michael (XIAO Xufeng)
67fea1b6bf test_utils: allow printint multiple argument in the performance log 2022-03-15 15:22:55 +00:00
Michael (XIAO Xufeng)
c2d2d58ff1 Merge branch 'bugfix/esp_flash_write_temp_buffer_lifetime_v4.2' into 'release/v4.2'
esp_flash: fix write issue using buffer on stack out of lifetime (v4.2)

See merge request espressif/esp-idf!17206
2022-03-15 22:14:57 +08:00
Michael (XIAO Xufeng)
6c21202065 Merge branch 'fix/sdio_slave_recv_intr_unhandled_v4.2' into 'release/v4.2'
sdio_slave: fixed the issue that interrupt may be cleared with finished trans unhandled (v4.2)

See merge request espressif/esp-idf!17150
2022-03-15 22:06:19 +08:00
Michael (XIAO Xufeng)
608e189a53 Merge branch 'ci/enable_default_ut_s2' into 'release/v4.2'
ci: enable unit test for S2 by default

See merge request espressif/esp-idf!17114
2022-03-15 22:03:07 +08:00
Omar Chebib
ba3266e2ec Sleep: fix wrong debug level
Fix usage of ESP_LOGD in sleep_modes.c which triggers a panic when
used in debug log level.
2022-03-15 11:18:42 +00:00
Roland Dobai
cc230188ea Merge branch 'bugfix/flash_from_monitor_on_windows_v4.2' into 'release/v4.2'
Tools: IDF Monitor should flash with the unmodified port (v4.2)

See merge request espressif/esp-idf!17259
2022-03-12 23:19:06 +08:00
Wang Meng Yang
09a8221d31 Merge branch 'feature/update_hfp_hf_version_v4.2' into 'release/v4.2'
component_bt: Update HFP_HF version to 1.7.2(v4.2)

See merge request espressif/esp-idf!17393
2022-03-10 20:20:08 +08:00
Wang Meng Yang
093fc90b92 Merge branch 'bugfix/a2dp_sniff_v4.2' into 'release/v4.2'
Fix crash when host exit sniff mode(v4.2)

See merge request espressif/esp-idf!17342
2022-03-10 14:09:03 +08:00
Krzysztof Budzynski
219c579084 Merge branch 'docs/fix_broken_links_4.2' into 'release/v4.2'
docs: fix broken links in queue.h file (v4.2)

See merge request espressif/esp-idf!17182
2022-03-09 19:12:40 +08:00
morris
cc518c3d05 Merge branch 'bugfix/i2s_write_failed_in_32bit_slave_mode_v4.2' into 'release/v4.2'
i2s: fix write failure issue in slave mode (backport v4.2)

See merge request espressif/esp-idf!15082
2022-03-09 19:10:56 +08:00
xiongweichao
5e8b07bdea Update HFP_HF version to 1.7.2 2022-03-08 11:11:58 +08:00
Armando
e9bbe44d19 spi_master: fix master HD mode cannot correctly receive data issue when using DMA 2022-03-07 13:54:25 +08:00
Armando
e6c97308b9 sleep: restore analog calibration registers after waking up from light sleep 2022-03-07 11:18:21 +08:00
Jiang Jiang Jian
3c9cc070dd Merge branch 'update/version_4_2_3' into 'release/v4.2'
Update version to 4.2.3

See merge request espressif/esp-idf!17349
2022-03-04 19:00:02 +08:00
Ivan Grokhotkov
bb29e93ddf versions: Update version to 4.2.3 2022-03-03 14:44:57 +01:00
xiongweichao
306df682cc Fix crash when host exit sniff mode 2022-03-03 16:31:43 +08:00
laokaiyao
0c71604b80 i2s: fix write failure issue in slave mode (backport v4.2) 2022-03-03 15:16:53 +08:00
songruojing
3d13370968 uart: fixed incorrect channel number on ESP32S2, S3 and C3 2022-03-02 10:53:30 +08:00
Michael (XIAO Xufeng)
d87d385e6f bootloader: fixed the issue custom_uart_gpio doesn't take effect 2022-03-02 10:53:30 +08:00
jingli
8dd7662696 fix pm lock issue in dual core mode 2022-02-23 22:00:36 +08:00
Roland Dobai
95eb9626a4 Tools: IDF Monitor should flash with the unmodified port
Closes https://github.com/espressif/esp-idf/issues/8432
2022-02-23 13:50:18 +01:00
Jiang Jiang Jian
d503c23d7a Merge branch 'bugfix/update_stack_init_check_4.2' into 'release/v4.2'
Nimble: Updated checks of stack initialization status before executing stack command

See merge request espressif/esp-idf!17198
2022-02-22 09:12:00 +00:00
Jiang Jiang Jian
147f37d6a2 Merge branch 'bugfix/fix_ble_adv_underrun_error_v4.2' into 'release/v4.2'
components/bt: Fix ble adv_underrun issue(backport v4.2)

See merge request espressif/esp-idf!17166
2022-02-22 09:11:16 +00:00
Michael (XIAO Xufeng)
ea6f4fd2ff esp_flash: fix write issue using buffer on stack out of lifetime 2022-02-20 03:24:59 +08:00
Isha Pardikar
05f7dd1d28 Merge branch 'bugfix/update_stack_init_check_4.2' into 'release/v4.2'
Nimble: Updated checks of stack initialization status before executing stack command
2022-02-17 15:09:52 +05:30
intern
e954c47abd docs: fix broken links 2022-02-16 14:24:22 +08:00
xiewenxiang
e39a101aaa components/bt: Fix ble adv_underrun issue
components/bt: Fix LLCP collision for channel map update
2022-02-16 00:28:45 +08:00
Nachiket Kukade
9f85fb2843 esp_wifi: Update wifi lib
Fix assoc comeback causing invalid state
2022-02-15 18:11:41 +05:30
Jiang Jiang Jian
473d39e6e6 Merge branch 'feature/refactor_phy_access_v4.2' into 'release/v4.2'
esp_wifi: refactor PHY access (Backport v4.2)

See merge request espressif/esp-idf!16975
2022-02-15 10:36:56 +00:00
Darian Leung
a0666b9be8 TWAI: FIFO overrun handling and errata workarounds
This commit adds handling for FIFO overruns and
adds workarounds for HW erratas on the ESP32.

Closes https://github.com/espressif/esp-idf/issues/2519
Closes https://github.com/espressif/esp-idf/issues/4276
2022-02-15 14:16:53 +08:00
Darian Leung
90ee294139 TWAI: Track HW state in HAL
This commit refactors the TWAI HAL such that it now tracks
the harwdare's state instead of at the driver layer.
Some HAL and LL cleanup was also done.
2022-02-15 14:16:53 +08:00
zhangyanjiao
c4ae443171 esp_wifi: refactor modem sleep access phy 2022-02-15 11:48:03 +08:00
Xia Xiaotian
cf2093be03 esp_wifi: store PHY digital registers before disabling PHY and load
them after enabling PHY
2022-02-15 11:43:10 +08:00
zhangyanjiao
8920361ff3 make esp32 same to esp32s2 in esp_phy_enable() 2022-02-15 11:43:10 +08:00
Xia Xiaotian
d472641430 esp_wifi: refactor PHY access
- Simplify PHY access API
- Move coexist initializing and deinitializing out from PHY API
  to Wi-Fi and Bluetooth
- Remove coexist pause and resume for they are no longer needed.
2022-02-15 11:43:10 +08:00
Zim Kalinowski
e70c238be0 Merge branch 'bugfix/enterprise_certs_weak_md_v4.2' into 'release/v4.2'
esp_wifi: Fixed issue of weak md for certificates in wifi_enterprise example.(v4.2)

See merge request espressif/esp-idf!16990
2022-02-15 03:39:45 +00:00
Zim Kalinowski
15a20d8100 Merge branch 'bugfix/sdio_slave_dma_desc_int_v4.2' into 'release/v4.2'
sdio_slave: Fixed the issue that DMA descriptors allocated to non-DMA capable area (v4.2)

See merge request espressif/esp-idf!17139
2022-02-15 03:38:38 +00:00
Zim Kalinowski
6f2d77ed2c Merge branch 'bugfix/mdns_null_deref_fuzzer_v4.2' into 'release/v4.2'
mdns: Fix potential null deref reported by fuzzer test(v4.2)

See merge request espressif/esp-idf!17145
2022-02-15 03:37:55 +00:00
Jiang Jiang Jian
3055474491 Merge branch 'bugfix/usb_device_struct_cleanup_v4.2' into 'release/v4.2'
USB: Cleanup device side struct and fix incorrect DM pulldown configuration (v4.2)

See merge request espressif/esp-idf!17102
2022-02-15 03:28:01 +00:00
Jiang Jiang Jian
128f228169 Merge branch 'bugfix/rmt_s2_doesnt_support_rx_wrap_v4.2' into 'release/v4.2'
rmt: do not support rx wrap on esp32s2 (v4.2)

See merge request espressif/esp-idf!17081
2022-02-15 03:07:16 +00:00
Jiang Jiang Jian
95f7e51af0 Merge branch 'bugfix/eap_client_crash_v4.2' into 'release/v4.2'
wpa_supplicant: Fix memory corruption (v4.2)

See merge request espressif/esp-idf!17130
2022-02-15 03:06:40 +00:00
Michael (XIAO Xufeng)
aed907c728 sdio_slave: fixed the issue that interrupt may be cleared with finished trans unhandled 2022-02-15 00:01:46 +08:00
Darian Leung
3e9eec1ebf Fix incorrect D- pulldown and cleanup USB device struct
This commit fixes the incorrect setting of the D- pulldown resistor in the USB LL.
The usb_struct.h used by USB device mode has also been cleaned up.
2022-02-14 23:51:32 +08:00
David Cermak
3efd220463 mdns: Fix potential null deref reported by fuzzer test 2022-02-14 22:52:26 +08:00
Jiang Jiang Jian
7482ad5139 Merge branch 'bugfix/support_esp32s2_eco1_v4.2' into 'release/v4.2'
esp_phy: Update ESP32S2 phy lib to support eco1 chip(v4.2)

See merge request espressif/esp-idf!16722
2022-02-14 12:40:55 +00:00
Wang Meng Yang
faba034955 Merge branch 'bugfix/clear_whitelist_v4.2' into 'release/v4.2'
Nimble : Modify `ble_gap_wl_set` to support clearing complete whitelist

See merge request espressif/esp-idf!16942
2022-02-14 10:47:02 +00:00
Jiang Jiang Jian
7d376a36f0 Merge branch 'feature/pro_recv_hb_forv4.2' into 'release/v4.2'
provisioner receive heartbeat message(v4.2)

See merge request espressif/esp-idf!16640
2022-02-14 06:10:15 +00:00
Jiang Jiang Jian
9150716570 Merge branch 'bugfix/filter_repeated_packages_forv4.2' into 'release/v4.2'
filter repeated packages then send response(v4.2)

See merge request espressif/esp-idf!16820
2022-02-14 06:09:45 +00:00
Yuan Hong Hui
6f7badf942 filter repeated packages then send response(v4.2) 2022-02-14 06:09:44 +00:00
Jiang Jiang Jian
a5ce5002c0 Merge branch 'bugfix/modbus_fix_invalid_error_handling_for_duplicate_param_key_v42' into 'release/v4.2'
freemodbus: fix invalid error handling for duplicate param key (backport v4.2)

See merge request espressif/esp-idf!14787
2022-02-14 06:09:03 +00:00
Jiang Jiang Jian
a609fb0f02 Merge branch 'fix/gitlab_404_local_mirror_v4.2' into 'release/v4.2'
Handle gitlab 404 error (v4.2)

See merge request espressif/esp-idf!16960
2022-02-14 06:08:38 +00:00
Jiang Jiang Jian
893fae229c Merge branch 'bugfix/task_wdt_timeout_uint32_overflow_v4.2' into 'release/v4.2'
Task WDT: Fix overflow issue during timeout calculation (v4.2.3)

See merge request espressif/esp-idf!16983
2022-02-14 06:08:10 +00:00
Jiang Jiang Jian
82c529a773 Merge branch 'bugfix/mcpwm-deadtime-preset-config-backport_v4.2' into 'release/v4.2'
MCPWM/deadtime: fix and sync preset deadtime modes with well-known definition (backport v4.2)

See merge request espressif/esp-idf!14623
2022-02-14 06:02:37 +00:00
Li Hang Fan
54251cfada MCPWM/deadtime: fix and sync preset deadtime modes with well-known definition (backport v4.2) 2022-02-14 06:02:36 +00:00
Michael (XIAO Xufeng)
dbf33d7947 sdio_slave: fixed the issue DMA desc not capable 2022-02-14 12:57:57 +08:00
Michael (XIAO Xufeng)
4d9a68e091 Merge branch 'flash/add_th_support_v4.2' into 'release/v4.2'
spi_flash: add support for th 1M flash(backport v4.2)

See merge request espressif/esp-idf!16717
2022-02-14 04:45:59 +00:00
Michael (XIAO Xufeng)
b4862d1ba2 Merge branch 'feature/support_new_psram_v4.2' into 'release/v4.2'
psram: add ESP32-D0WD-R2-V3 support(backport v4.2)

See merge request espressif/esp-idf!16709
2022-02-13 14:45:30 +00:00
morris
c7b5d3494c rmt: do not support rx wrap on esp32s2
Closes https://github.com/espressif/esp-idf/issues/8354
2022-02-13 12:20:20 +08:00
Michael (XIAO Xufeng)
a7c053c28d Merge branch 'bugfix/add_hw_flow_ctrl_for_uart_test_v4.2' into 'release/v4.2'
driver: add diagnostic information into UART test, enable flow control (v4.2)

See merge request espressif/esp-idf!17115
2022-02-12 20:03:30 +00:00
Kapil Gupta
eec9d6db94 wpa_supplicant: Fix invalid memory dereference 2022-02-12 10:36:00 +05:30
Marius Vikhammer
9c81bceb0e Task WDT: Fix overflow issue during timeout calculation
Closes https://github.com/espressif/esp-idf/issues/8239
2022-02-11 15:57:33 +08:00
Ivan Grokhotkov
dd67f769d9 driver: add diagnostic information into UART test, enable flow control 2022-02-11 13:47:06 +08:00
Rahul Tank
3e1efffd8a Nimble : Modify ble_gap_wl_set to support clearing complete whitelist 2022-02-11 10:35:01 +05:30
Michael (XIAO Xufeng)
067678bdf9 ci: enable unit test for S2 by default 2022-02-11 04:09:17 +00:00
Jiang Jiang Jian
9e7811b95e Merge branch 'bugfix/rd_rem_ext_feats_delayed_cs_4.2' into 'release/v4.2'
bugfix/fix cs event for rd_rem_ext_feats delayed issue (v4.2)

See merge request espressif/esp-idf!16892
2022-02-11 02:59:01 +00:00
Roland Dobai
8fed5801f7 Merge branch 'bugfix/add_dummy_to_total_size_v4.2' into 'release/v4.2'
Tools: fix bug with total size calculation issue (v4.2)

See merge request espressif/esp-idf!16862
2022-02-10 14:04:35 +00:00
Roland Dobai
d090020409 Merge branch 'bugfix/rm_copyright_ignore_list_v4.2' into 'release/v4.2'
CI: Remove unused copyright ignore list (v4.2)

See merge request espressif/esp-idf!16967
2022-02-10 14:03:58 +00:00
Roland Dobai
14038003be Merge branch 'bugfix/win_rename_delay_v4.2' into 'release/v4.2'
Tools: Use delay between rename attempts on Windows in the installer (v4.2)

See merge request espressif/esp-idf!17058
2022-02-10 14:03:42 +00:00
Michael (XIAO Xufeng)
dc50f0e828 Merge branch 'bugfix/fix_spi_cs_hold_time_issue_v4.2' into 'release/v4.2'
spi_master: fix spi cs_ena_posttrans issue (v4.2)

See merge request espressif/esp-idf!16688
2022-02-10 09:37:34 +00:00
Jiang Jiang Jian
d1ada53a7d Merge branch 'bugfix/wps_fixes_v4.2' into 'release/v4.2'
wpa_supplicant: Add WPS Fixes (backport V4.2)

See merge request espressif/esp-idf!17062
2022-02-10 08:14:23 +00:00
jincheng
17b8fbfc1b fix cs evt for rd_rem_ext_feats delayed issue 2022-02-10 15:28:26 +08:00
chenjianxing
10c604475d esp_phy: Update ESP32S2 phy lib to support eco1 chip 2022-02-10 14:00:53 +08:00
Kapil Gupta
eb90d9bf18 wpa_supplicant: Add WPS Fixes
Add following bugfixes

1. Station not able to connect when WPS pin is pressed first on AP.
2. PBC overlap getting detected for selected registrar PIN APs.
3. Station not considering authorised MACs for PIN method.
4. For PIN methodm If no AP is found, station will loop through
   APs in its vicinity and try to do WPS with them one by one till
   WPS timeout occurs. This is for some APs which do not set
   selected registrar correctly.
2022-02-08 17:13:01 +05:30
Roland Dobai
6a2255a18b Tools: Use delay between rename attempts on Windows in the installer 2022-02-08 11:09:15 +01:00
Sergei Silnov
018524ec7e examples: Add the component manager example 2022-02-02 16:44:44 +01:00
Sergei Silnov
3a4218156c docs: Add component manager documentation 2022-02-02 16:44:43 +01:00
Sergei Silnov
5594a511c9 Build System: Don't track dependencies.lock 2022-02-02 16:44:43 +01:00
Sergei Silnov
d955043aea Add idf-component-manager python dependency 2022-02-02 16:44:43 +01:00
aditi_lonkar
ef8a76c667 esp_wifi: Fixed issue of weak md for certificates in wifi_enterprise example. 2022-01-28 15:31:18 +05:30
simon.chupin
ddb8c8ddfd add test for checking memory segments with esptool.py 2022-01-27 15:07:38 +01:00
Roland Dobai
69e04fc263 CI: Remove unused copyright ignore list 2022-01-27 12:51:58 +01:00
Tomas Sebestik
7c3878b288 Handle gitlab 404 error
ci: do not retry on 404 when LOCAL_GITLAB_HTTPS_HOST not set
2022-01-27 11:44:44 +01:00
simon.chupin
d72fa4e62a tools/idf_size: Fixed bug with wrong memory calculation 2022-01-19 18:13:32 +01:00
Jiang Jiang Jian
fcce82ea53 Merge branch 'bugfix/modbus_port_fix_lgpl_licensed_files_v4.2' into 'release/v4.2'
freemodbus: fix port contains lgpl licensed files (v4.2)

See merge request espressif/esp-idf!16551
2022-01-19 08:23:42 +00:00
Jiang Jiang Jian
0e42db7ca8 Merge branch 'bugfix/fix_tbtt_and_phy_issues_v4.2' into 'release/v4.2'
esp_wifi: fix tbtt and phy issues (Backport v4.2)

See merge request espressif/esp-idf!16829
2022-01-19 05:01:12 +00:00
zhangyanjiao
2df406b6ce esp_wifi:
1. fix the issue that no tbtt is generated in station+softap mode when maximum modem sleep is enabled
2. store PHY digital registers before disabling PHY and load them after enabling PHY
3. update libphy.a to V4670 719f9f6_20210218 for esp32
4. update libphy.a to V1500 20210225_0a54a2f for esp32s2
2022-01-18 13:18:36 +08:00
Xia Xiaotian
c98745a5aa esp_wifi: store PHY digital registers before disabling PHY and load
them after enabling PHY
2022-01-18 13:18:36 +08:00
Jiang Jiang Jian
615ba73c4e Merge branch 'bugfix/fix_wifi_bugs_20220114_v4.2' into 'release/v4.2'
esp_wifi: fix some wifi bugs (Backport v4.2)

See merge request espressif/esp-idf!16795
2022-01-18 05:16:34 +00:00
aditi_lonkar
459674c444 esp_wifi: Fixed null pointer dereference 2022-01-14 15:00:52 +08:00
zhangyanjiao
c01c7acdab esp_wifi:
1. Fixed sniffer fcs error crash issue
2. Added support of SHA256 AKM without PMF enabled
3. Added station based check for auth frame formation
2022-01-14 14:57:51 +08:00
xiehang
69b8e2af84 example: Fix espnow stuck issue 2022-01-14 14:26:02 +08:00
ronghulin
f70ac4e529 fix phy init memory leak 2022-01-14 14:26:02 +08:00
28a340af37 Init phy data to default if invalid in flash partition to avoid bootloops
Signed-off-by: ronghulin <ronghulin@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/6610
2022-01-14 14:26:02 +08:00
ronghulin
fa0edda538 Bugfix: Connect example to add scan mode config 2022-01-14 14:26:02 +08:00
Jiang Jiang Jian
909db7cd91 Merge branch 'mesh/bugfix_fix_layer2_node_connection_issue_v4.2' into 'release/v4.2'
esp_wifi_mesh: fix the issue that layer2 node connect to lower-layer node when FIXED-ROOT root disappeared(backport_v4.2)

See merge request espressif/esp-idf!15730
2022-01-14 05:32:46 +00:00
Jiang Jiang Jian
0336c5f525 Merge branch 'bugfix/wpa3_memory_leak_v4.2' into 'release/v4.2'
esp_wifi: Fixes memory leak in wpa3 connection.(v4.2)

See merge request espressif/esp-idf!16561
2022-01-14 04:42:53 +00:00
Jiang Jiang Jian
cf5d7befaf Merge branch 'bugfix/PRs_on_esp_hid_v4.2' into 'release/v4.2'
bugfix/handle_2_esp_hid_PRs (v4.2)

See merge request espressif/esp-idf!16710
2022-01-14 03:12:41 +00:00
Jiang Jiang Jian
9b53301b4d Merge branch 'bugfix/fix_spp_open_err_bda_v4.2' into 'release/v4.2'
Component_bt/Fix SPP acceptor open with wrong remote address[backport 4.2]

See merge request espressif/esp-idf!16615
2022-01-14 03:12:03 +00:00
Jiang Jiang Jian
85a36b86d0 Merge branch 'bugfix/touch_ll_get_sleep_time_v4.2' into 'release/v4.2'
Fixed error in "touch_ll_get_sleep_time" function for ESP32 (v4.2)

See merge request espressif/esp-idf!16249
2022-01-14 03:05:00 +00:00
Jiang Jiang Jian
9bf6cf5ed4 Merge branch 'bugfix/alarm_update_invalid_v4.2' into 'release/v4.2'
timer: stop alarm if alarm value doesn't change in ISR callback (v4.2)

See merge request espressif/esp-idf!16534
2022-01-14 03:04:36 +00:00
Jiang Jiang Jian
6683751579 Merge branch 'bugfix/gpio_uninstall_isr_service_intr_wdt_crash_v4.2' into 'release/v4.2'
gpio: Bugfix - Move esp_intr_free() out of the critical section in gpio_uninstall_isr_service() (backport v4.2)

See merge request espressif/esp-idf!16597
2022-01-14 03:04:15 +00:00
Jiang Jiang Jian
8f836882d4 Merge branch 'bugfix/fix_smartconfig_setopt_fail_v4.2' into 'release/v4.2'
smartconfig: Fix smartconfig set socket option fail (backport v4.2)

See merge request espressif/esp-idf!16773
2022-01-14 03:03:37 +00:00
Ivan Grokhotkov
7ad199d14a Merge branch 'feature/oocd_ver_upgrade_v4.2' into 'release/v4.2'
tools: Updates OpenOCD version to 'v0.11.0-esp32-20211220' (v4.2)

See merge request espressif/esp-idf!16767
2022-01-13 16:23:16 +00:00
yuanjm
1ebd52f36a smartconfig: Fix smartconfig set socket option fail 2022-01-13 11:00:13 +08:00
Roland Dobai
698efba393 Merge branch 'bugfix/fix_modbus_rs485_rts_en_fail_v42' into 'release/v4.2'
Bugfix/fix modbus rs485 rts en fail (backport v4.2)

See merge request espressif/esp-idf!11566
2022-01-12 08:44:05 +00:00
Zim Kalinowski
5f2f1c013a Merge branch 'bugfix/app_compatible_with_3_1_bootloader_v4.2' into 'release/v4.2'
esp_system: Fix RTC_WDT protection in esp_restart_noos (v4.2)

See merge request espressif/esp-idf!16742
2022-01-12 08:37:55 +00:00
Alexey Gerenkov
57c429e618 tools: Updates OpenOCD version to 'v0.11.0-esp32-20211220' 2022-01-12 09:30:24 +01:00
Krzysztof Budzynski
476a0eb26d Merge branch 'fix/remove_deprecated_macro_SPI_TRANS_SET_CD_v4.2' into 'release/v4.2'
Remove a deprecated macro: SPI_TRANS_SET_CD (v4.2)

See merge request espressif/esp-idf!16690
2022-01-12 05:50:53 +00:00
Michael (XIAO Xufeng)
aa445dceeb Merge branch 'bugfix/adc_power_issue_4.2' into 'release/v4.2'
adc: fix adc power issue (4.2)

See merge request espressif/esp-idf!14280
2022-01-12 03:38:19 +00:00
Wang Meng Yang
9b5e0fb672 Merge branch 'bugfix/a2dp_source_congest_v4.2' into 'release/v4.2'
component_bt: Fixed a2dp source audio data packet congestion causing choppy audio in a2dp sink(v4.2)

See merge request espressif/esp-idf!16708
2022-01-11 02:41:55 +00:00
Wang Meng Yang
3516d536ca Merge branch 'bugfix/config_parse_crash_after_flash_erase_v4.2' into 'release/v4.2'
component_bt: fixed config parse crash after flash_erase(v4.2)

See merge request espressif/esp-idf!16696
2022-01-11 02:39:23 +00:00
KonstantinKondrashov
18f2078c5c esp_system: Fix RTC_WDT protection in esp_restart_noos
Fixed issue - v4.3 app not compatible with 3.1 bootloader
2022-01-10 21:58:01 +08:00
Krzysztof Budzynski
ddb7d6c4a0 Merge branch 'docs/fixed_typos_in_esp32-s2-saola-1_user_guide' into 'release/v4.2'
Docs: Fixed typos in ESP32-S2-Saola-1 user guide (backport v4.2)

See merge request espressif/esp-idf!16695
2022-01-10 09:54:42 +00:00
Cao Sen Miao
e59e7e1432 spi_flash: add support for th 1M flash 2022-01-10 11:53:37 +08:00
Cao Sen Miao
dfa736b0e3 psram: add ESP32-D0WD-R2-V3 support 2022-01-10 11:06:25 +08:00
xiongweichao
f41d77cce9 btc_a2dp_control_set_datachnl_stat is only used by a2dp sink 2022-01-10 11:01:41 +08:00
xiongweichao
45b9b12c04 remove btc_a2dp_dispatch_datapath_evt and event 2022-01-10 11:00:59 +08:00
xiongweichao
cf2f2a44c7 Fixed the crash caused by calling esp_a2d_media_ctrl(ESP_A2D_MEDIA_CTRL_START) after stream started 2022-01-10 11:00:03 +08:00
xiongweichao
190bd80f3d Fixed a2dp source audio data packet congestion causing choppy audio in a2dp sink 2022-01-10 10:59:43 +08:00
aleks
239e56541c freemodbus: fix uart_wait_tx_done() reenable tx_done interrupt 2022-01-07 16:45:47 +00:00
aleks
9ac8205208 freemodbus: fix rts enable fail when transmit frame 2022-01-07 16:45:47 +00:00
aleks
4c5099d194 freemodbus: fix modbus rs485 rts enable fail v42 2022-01-07 16:45:47 +00:00
aleks
bf8bff9870 freemodbus: fix invalid error handling for duplicate param_key 2022-01-07 16:09:25 +00:00
xiongweichao
ae676e3491 fixed config parse crash after flash_erase
Closes https://github.com/espressif/esp-idf/issues/6170
2022-01-07 17:13:03 +08:00
Wang Ning
a30cfb2ef3 docs/fixed_typos_in_esp32-s2-saola-1_user_guide 2022-01-07 17:01:53 +08:00
Wang Fang
fec6e140fb fix: remove a deprecated macro: SPI_TRANS_SET_CD 2022-01-07 16:39:31 +08:00
Zim Kalinowski
9f0c9ff2f0 Merge branch 'doc/target_specifc_doxygen_header_v4.2' into 'release/v4.2'
docs: change some header path to use IDF_TARGET (v4.2)

See merge request espressif/esp-idf!15804
2022-01-07 07:49:26 +00:00
Armando
ca6636c33e spi_master: fix spi cs_ena_posttrans issue 2022-01-07 14:28:57 +08:00
Marius Vikhammer
2f02a80d31 docs: change some header path to use IDF_TARGET
Some header path were using hardcoded esp32 paths, when they should be
target dependent.
2022-01-07 11:16:30 +08:00
Jiang Jiang Jian
2b95a627be Merge branch 'bugfix/set_authmode_by_switching_number_to_string_v4.2' into 'release/v4.2'
CI: set authmode by switching number to string (backport v4.2)

See merge request espressif/esp-idf!16555
2022-01-06 10:09:30 +00:00
Armando
a129933ccd adc: apply adc power API to adc driver 2022-01-06 11:42:55 +08:00
Roland Dobai
56cfd0b86b Merge branch 'bugfix/idf_tools_test_without_versions_v4.2' into 'release/v4.2'
Tools: Load tool versions automatically for IDF Tools tests (v4.2)

See merge request espressif/esp-idf!16512
2022-01-04 09:48:09 +00:00
Yuan Hong Hui
8a47cdeb2d add cmd to publish and recv heartbeat message 2022-01-04 15:56:45 +08:00
Zim Kalinowski
dca26e3fe9 Merge branch 'bugfix/psram_fix_bootloader_v4.2' into 'release/v4.2'
bootloader: disable psram cache bug fix for bootloader (v4.2)

See merge request espressif/esp-idf!15806
2022-01-02 06:13:12 +00:00
liqigan
4b3b77e4e8 fix SPP open with wrong remote bd_addr 2021-12-31 15:46:15 +08:00
songruojing
7ef8012019 gpio: Bugfix - Move esp_intr_free() out of the critical section in gpio_uninstall_isr_service()
Closes https://github.com/espressif/esp-idf/issues/5571

Fix the bug that if the API was called from one core to free the interrupt source on the other core, it would trigger interrupt watchdog.

(cherry picked from commit 0e8286c57b)
2021-12-30 14:45:13 +08:00
Murray Fordyce
000599986f Fixed left right key confusion in comments.
"Left" and "Right" were swapped in some comments.
2021-12-30 11:02:54 +08:00
Robin Krens
e9714eaaa5 spacing styling correction 2021-12-30 11:02:54 +08:00
Robin Krens
c115194e88 minor styling changes 2021-12-30 11:02:54 +08:00
Robin Krens
77c3a113bf esp_hid: fix output report char declaration
Current issue: output reports sent by Windows not received.
The report characteristic declaration should also support write without
response as specified by HIDS profile:
See https://www.bluetooth.com/specifications/GATT/ (page 14)
2021-12-30 11:02:54 +08:00
Zim Kalinowski
5f137204b1 Merge branch 'bugfix/ringbuf_read_pointer_wrap_v4.2' into 'release/v4.2'
ringbuf: Fix bug where comparision between a signed and unsigned operand resulted in incorrect free size for no-split/allow-split buffers (v4.2)

See merge request espressif/esp-idf!15883
2021-12-30 02:22:05 +00:00
Zim Kalinowski
f94ce9f51d Merge branch 'bugfix/fix_select_timeout_v4.2' into 'release/v4.2'
VFS: `select` function's timeout is now POSIX compliant (backport v4.2)

See merge request espressif/esp-idf!16191
2021-12-30 02:20:31 +00:00
aditi_lonkar
0b98671385 esp_wifi: Fixes memory leak in wpa3 connection. 2021-12-28 11:37:23 +05:30
huchaoru
fac6a5af5b bugfix: set authmode by switching number to string (backport v4.2) 2021-12-27 20:00:33 +08:00
aleks
394c2c100f freemodbus: fix port contains lgpl licensed files
Initial version of freemodbus master port files have been added to ESP-IDF based on https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32.
The overall repository license, at the time of adding these files, has been BSD 3-clause. However at that time, several port files carried LGPL license headers. As the author of these files confirmed in https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32/issues/61#issuecomment-977828450, this wasn't intentional. ESP-IDF version of modbus master port has been rewritten to target FreeRTOS instead of RT-Thread, but the license headers remained from the original version. This commit corrects this, replacing the license of these files with BSD 3-clause.
2021-12-27 11:12:32 +01:00
Sudeep Mohanty
c6134337a6 ringbuf: Fix bug where comparision between a signed and unsigned operand resulted in incorrect free size for no-split/allow-split buffers
This commit fixes a bug in no-split and allow-split ring buffers free buffer size calculation.
When the free size available in the buffers less than the size of one item header,
the function prvGetCurMaxSizeNoSplit/AllowSplit() incorrectly returned the maxItemSize instead of 0.
This is due to the comparision between a negative and a positive value
where both operands are treated as unsigned during the comparision operation,
thereby treating the negative operand as a large integer.

Also added new unit tests to test buffer-full and almost-full conditions
where this scenario is likely to be hit.

Closes https://github.com/espressif/esp-idf/issues/7344
Closes https://github.com/espressif/esp-idf/pull/7371
2021-12-27 15:14:17 +08:00
Sudeep Mohanty
31327caaf5 Merge branch 'bugfix/ringbuf_send_semaphore_release_order_v4.2' into 'release/v4.2'
esp_ringbuf: Fix order of semaphore release in xRingbufferSend (v4.2)

See merge request espressif/esp-idf!16231
2021-12-24 06:16:47 +00:00
morris
93c784e1c8 timer: stop alarm if alarm value doesn't change in ISR handler
Alarm will be disabled by hardware when alarm event happend.
In the ISR, if auto-reload is enabled, we should re-enable the alarm.
If the alarm target value is changed in user's callback,
the alarm will be reenabled as well.

Closes https://github.com/espressif/esp-idf/issues/7001
Closes https://github.com/espressif/esp-idf/issues/8095
2021-12-24 13:08:33 +08:00
Jiang Jiang Jian
775701d610 Merge branch 'feature/mbedtls-2.16.12-integration_v4.2' into 'release/v4.2'
mbedtls: upgrade to release v2.16.12 (v4.2)

See merge request espressif/esp-idf!16485
2021-12-24 03:20:34 +00:00
RichFalk
6df7b049a3 esp_ringbuf: Fix assertion xQueueGenericSend queue.c
The release of the semaphore indicating the item was successfully sent must be the last semaphore released.  The receiver may be in another task and may delete the Ringbuffer (such as with a return code across tasks design pattern) if they are through with the Ringbuffer.

The function xRingbufferSendAcquire followed by xRingbufferSendComplete had the semaphores released in the proper order and that same pattern should have been used in xRingbufferSend and xRingbufferSendFromISR.  This commit fixes this order.

Issue (IDFGH-6030) #7716 describes the problem in more detail.

Closes IDFGH-6030, https://github.com/espressif/esp-idf/issues/7716
Closes IDFGH-6036, https://github.com/espressif/esp-idf/pull/7721
2021-12-23 15:53:48 +08:00
shenjun
5ed4a3dbfb esp_wifi_mesh: fix the device can not receive IP_EVENT_STA_GOT_IP when the router restarted
1. fix the device can not receive IP_EVENT_STA_GOT_IP when the router restarted
2. fix the issue that layer2 node connect to lower-layer node when FIXED-ROOT root disappeared
2021-12-23 11:19:19 +08:00
Jiang Jiang Jian
9273f5045e Merge branch 'bugfix/fix_rx_fragment_error_issue_v4.2' into 'release/v4.2'
esp_wifi: fix fragment issue and PMF compatible for faulty APs(Backport v4.2)

See merge request espressif/esp-idf!16398
2021-12-22 17:33:54 +00:00
Roland Dobai
1699624dff Tools: Load tool versions automatically for IDF Tools tests 2021-12-22 10:37:01 +01:00
Mahavir Jain
1319034019 mbedtls: upgrade to release v2.16.12
For release notes, please refer to:
https://github.com/ARMmbed/mbedtls/releases/tag/v2.16.12
2021-12-21 14:03:30 +05:30
Mahavir Jain
50df004292 mbedtls: small documentation update 2021-12-21 14:03:30 +05:30
Wang Meng Yang
e7687c7688 Merge branch 'bugfix/fix_spp_listen_err_v4.2' into 'release/v4.2'
Component_bt/Fix SPP cannot malloc slot bugs[backport v4.2]

See merge request espressif/esp-idf!16385
2021-12-21 05:28:25 +00:00
Jiang Jiang Jian
0c15051452 Merge branch 'bugfix/wpa_supplicant_logs_release_v4.2' into 'release/v4.2'
esp_wifi: Change the verbosity of wpa_supplicant logs. (Backport v4.2)

See merge request espressif/esp-idf!16347
2021-12-21 03:36:28 +00:00
Mahavir Jain
b4d4cbdd41 Merge branch 'bugfix/address_already_used_exception_in_ota_tests_v4.2' into 'release/v4.2'
Fix 'address already in use' exception in OTA tests (v4.2)

See merge request espressif/esp-idf!16418
2021-12-20 07:11:53 +00:00
Wang Meng Yang
db669217ac Merge branch 'feature/support_ble_direct_ind_low_adv_v4.2' into 'release/v4.2'
components/bt: Support low duty cycle directed advertising(backport release/v4.2)

See merge request espressif/esp-idf!16379
2021-12-20 03:11:22 +00:00
Harshit Malpani
46b58b5934 Fix for advanced_ota_redirect_url example failure in CI 2021-12-16 12:26:17 +05:30
Jiang Jiang Jian
769099dd64 Merge branch 'bugfix/lwip_config_dhcp_client_id_v4.2' into 'release/v4.2'
lw-ip: Add config for DHCP client id; Fix DNS server idx assert issue (v4.2)

See merge request espressif/esp-idf!16174
2021-12-16 06:43:41 +00:00
Harshit Malpani
a687c3413e Fix 'address already in use' exception in OTA tests
We will stop the server instance at the end of each test case. This will solve the "address already in use" exception
2021-12-16 10:33:27 +05:30
Jiang Jiang Jian
33a6effd3e Merge branch 'feature/support_eap_fast_release_v4.2' into 'release/v4.2'
Feature/support eap fast release v4.2

See merge request espressif/esp-idf!16142
2021-12-16 03:37:49 +00:00
Jiang Jiang Jian
0204aea35b Merge branch 'bugfix/fix_blufi_encryption_fail_v4.2' into 'release/v4.2'
components/bt: fix blufi encryption fail(backport release/v4.2)

See merge request espressif/esp-idf!16316
2021-12-16 03:33:51 +00:00
David Cermak
0eb18951be lwip: Add config for DHCP client id; Fix DNS server idx assert issue
This commit brings two esp-lwip fixes to IDF:

1) Add configuration to disable DHCP client identification
2195f7416f
This config could be used to disable option 61 in DHCP packets, so that
clients will be identified by their  chaddr only.
(This is the lwip upstream original behaviour)

2) Fix server_idx increasing to DNS_MAX_SERVERS and trigger the LWIP_ASSERT
5a567d52f7
When lwip doesn't have DNS server and resolve a domain address, the server_idx
will increase to DNS_MAX_SERVERS, which will trigger the LWIP_ASSERT and make device crash.

Closes https://github.com/espressif/esp-idf/issues/7912
2021-12-15 13:17:03 +01:00
Konstantin Kondrashov
0877949237 Merge branch 'bugfix/fix_esp32h2_efuse_get_ext_mac_v4.2' into 'release/v4.2'
efuse_table_gen: Fixes wrong joining fields with omitted names  (v4.2)

See merge request espressif/esp-idf!15739
2021-12-14 14:07:39 +00:00
NikLeberg
8c3b358abf allow for minimal scope of wifi_init_config_t
With this change one can use the default config as a variable with minimal scope: esp_wifi_init(&(wifi_init_config_t)WIFI_INIT_CONFIG_DEFAULT())
2021-12-14 19:44:31 +08:00
Shang Zhou
6f8ad7eb5e docs: Update miswritten and abbreviated words and syntax errors for initialize WiFi section in esp_wifi.h header file 2021-12-14 19:43:54 +08:00
muhaidong
6baac84d4a esp_wifi: fix fragment issue and PMF compatible for faulty APs
1. fix(pp): fix fragment plt loss when 2td pn compare with 1th pn
2. pmf allow keyindex in big endian format to workaround faulty APs
3. docs: update miswritten and abbreviated words and syntax errors for initialize WiFi section in esp_wifi.h header file
4. allow for minimal scope of wifi_init_config_t
2021-12-14 19:28:31 +08:00
Hrudaynath Dhabe
bab60d20af esp_wifi: Add an example for EAP-FAST. 2021-12-14 12:45:04 +05:30
nishanth.radja
69ca323a74 esp_wifi: Add support for EAP-FAST authentication method 2021-12-14 12:37:26 +05:30
xiewenxiang
146bbe95be components/bt: Fix high duty cycle directed advertising will not be stopped when timeout 2021-12-14 14:10:29 +08:00
xiewenxiang
b3adae9b40 components/bt: Support low duty cycle directed advertising 2021-12-14 14:10:29 +08:00
liqigan
6c2d8ea653 fix SPP server bugs when the BTC layer can not allocate a slot for the listen port 2021-12-14 11:16:42 +08:00
Vikram
c327a0016e Merge branch 'feature/local_control_sec1_v4.2' into 'release/v4.2'
Added support for security1 in local control (backport v4.2)

See merge request espressif/esp-idf!15280
2021-12-09 16:55:22 +00:00
Roland Dobai
01ebb72f0a Merge branch 'bugfix/remove_PIP_USER_v4.2' into 'release/v4.2'
tools: Add check for PIP_USER variable (backport v4.2)

See merge request espressif/esp-idf!16336
2021-12-09 08:10:10 +00:00
Vikram Dattu
f278db260e esp_local_ctrl: Added documentation to chose protocom security
Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2021-12-09 15:26:14 +08:00
Vikram Dattu
3af5f20da1 Added support for security1 in local control
1. Added config options to chose from protocom security.
    It can be chosen 0/1 or custom.
    Possible to set POP as well

2. Added support in `esp_local_ctrl.py` test script for sec_ver selection

Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2021-12-09 15:26:14 +08:00
Hrudaynath Dhabe
c3e66a4ba2 esp_wifi: Change the verbosity of wpa_supplicant logs. 2021-12-09 12:55:32 +05:30
Jiang Jiang Jian
2fa5cee80d Merge branch 'bugfix/fix_some_wifi_bugs_20211202_v4.2' into 'release/v4.2'
fix wifi bugs 20211202 (backport v4.2)

See merge request espressif/esp-idf!16256
2021-12-09 06:19:06 +00:00
Juraj Sadel
a43a21a761 tools: Add check for PIP_USER variable
Closes https://github.com/espressif/esp-idf/issues/7910
2021-12-08 16:18:39 +01:00
xiewenxiang
ab7ad4e771 components/bt: fix blufi encryption fail 2021-12-08 14:09:29 +08:00
Mahavir Jain
5cc2eb15c9 Merge branch 'bugfix/bootloader_debug_buffers_v4.2' into 'release/v4.2'
bootloader_support: Fix and re-enable bootloader_debug_buffer function (v4.2)

See merge request espressif/esp-idf!16075
2021-12-07 02:34:42 +00:00
Jiang Jiang Jian
e694ffd5af Merge branch 'bugfix/link_spi_flash_rom_func_in_bootloader_stage_v4.2' into 'release/v4.2'
esp_rom: link rom spi flash functions in bootloader stage (v4.2)

See merge request espressif/esp-idf!15258
2021-12-06 03:57:55 +00:00
Jiang Jiang Jian
6317335174 Merge branch 'feature/add_coex_hci_command_v4.2' into 'release/v4.2'
Add hci command to set coexistence status (v4.2)

See merge request espressif/esp-idf!16055
2021-12-06 03:57:11 +00:00
Jiang Jiang Jian
38714c37d1 Merge branch 'feature/adds_fault_injection_protection_for_check_anti_rollback_v4.2' into 'release/v4.2'
bootloader_support: Adds fault injection protection for check_anti_rollback (v4.2)

See merge request espressif/esp-idf!16181
2021-12-06 03:56:33 +00:00
Jiang Jiang Jian
36574af3c9 Merge branch 'reduce_bootup_time_when_using_usb-serial-jtag_v4.2' into 'release/v4.2'
rtc_clk: reduce bootup time when using usb-serial-jtag(backport v4.2)

See merge request espressif/esp-idf!16262
2021-12-06 03:55:21 +00:00
Jiang Jiang Jian
06db6f510f Merge branch 'feature/add_dhcp_option_v4.2' into 'release/v4.2'
lw-ip: Add macro to disable vendor class option(backport v4.2)

See merge request espressif/esp-idf!15982
2021-12-06 03:54:59 +00:00
jingli
417711c390 reduce bootup time when using usb-serial-jtag 2021-12-03 21:01:02 +08:00
zhangyanjiao
aa5e034c52 eps_wifi:
1. Fix airkiss and esptouch find channel crash issue
2. Fix RF singal test without 9M rate issue
3. Fix issue of setting invalid size to nvs misc log even after erasing it
4. Fix WEP connection and crash issue
2021-12-03 17:59:31 +08:00
xiehang
a249794640 esp_wifi: Add beacon timeout event 2021-12-03 15:37:06 +08:00
Axel Lin
721fe216e7 wpa_supplicant: Fix wps_free_pins to remove all pins
Current code does not correctly free all pins in wps_free_pins due to the
semicolon at the end of dl_list_for_each_safe(). Fix it.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
2021-12-03 14:35:55 +08:00
Sergey Gorban
f74b5accf3 Fixed error in "touch_ll_get_sleep_time" function for ESP32
Merges https://github.com/espressif/esp-idf/pull/6895
2021-12-03 12:41:31 +08:00
Mahavir Jain
37634f09b2 Merge branch 'fix/remove_warning_when_disabling_rom_dl_mode_v4.2' into 'release/v4.2'
secure_boot: Fix warning when UART ROM DL mode is disabled (v4.2)

See merge request espressif/esp-idf!16239
2021-12-03 04:27:14 +00:00
Jiang Jiang Jian
b656c406bf Merge branch 'bugfix/enable_gpio_20_v4.2' into 'release/v4.2'
gpio: Enable IO20 on ESP32 (backport v4.2)

See merge request espressif/esp-idf!15023
2021-12-03 03:39:47 +00:00
Jiang Jiang Jian
19643f715c Merge branch 'bugfix/fix_memory_leak_controller_deinit_v4.2' into 'release/v4.2'
ESP32: Fix memory leak in controller deinit function v4.2

See merge request espressif/esp-idf!15970
2021-12-03 03:32:18 +00:00
Roland Dobai
c3eb64ef85 Merge branch 'feature/oocd_ver_upgrade_v4.2' into 'release/v4.2'
tools: Updates OpenOCD version to 'v0.10.0-esp32-20211111' (v4.2)

See merge request espressif/esp-idf!16001
2021-12-02 17:28:37 +00:00
Alexey Gerenkov
3c3711dcc3 idf_tools: Adds 'linux-armhf' platform support 2021-12-02 16:53:28 +03:00
Alexey Gerenkov
c2ffbaf683 tools: Updates OpenOCD version to 'v0.10.0-esp32-20211111' 2021-12-02 16:53:23 +03:00
Aditya Patwardhan
bffa30785b secure_boot: Fix warning when UART ROM DL mode is disabled
*Additionally use updated calls to enable rom secure download mode
2021-12-02 21:40:49 +08:00
Mahavir Jain
adda59cc97 bootloader: add anti-FI checks around secure version in anti-rollback scheme 2021-12-02 21:17:27 +08:00
Anton Maklakov
392a126b05 Merge branch 'bugfix/ci_fix_clean_dir' into 'release/v4.2'
ci: Fix build system tests to clean the dir

See merge request espressif/esp-idf!16221
2021-12-02 12:08:49 +00:00
Sergei Silnov
b5d459ee05 ci: Fix build system tests to clean the dir 2021-12-01 18:29:42 +01:00
Gustavo Henrique Nihei
8ffd02be29 bootloader_support: Fix and re-enable bootloader_debug_buffer function
The body of the bootloader_debug_buffer function was conditioned to
macros that were never defined, resulting in deactivated code.

Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-11-30 21:02:23 +08:00
Omar Chebib
53daf3dbbf VFS: select function's timeout is now POSIX compliant
`select` function will now round up the timeout passed as a parameter (if any).
It  makes it POSIX compliant.

* Closes https://github.com/espressif/esp-idf/issues/7514
2021-11-30 12:22:55 +08:00
Roland Dobai
a4ced2bf55 Merge branch 'bugfix/coredump_esp_panic_reason_v4.2' into 'release/v4.2'
coredump: Fixes ESP-specific panic reasons handling (v4.2)

See merge request espressif/esp-idf!16069
2021-11-26 11:00:41 +00:00
Roland Dobai
77a46fd122 Merge branch 'bugfix/doskey_v4.2' into 'release/v4.2'
tools: fix export.bat /tools/idf.py not found issue (v4.2)

See merge request espressif/esp-idf!16050
2021-11-26 10:09:04 +00:00
Mahavir Jain
d8f9e53504 Merge branch 'feature/remove_component_manager_tests_v4.2' into 'release/v4.2'
ci: Remove component manager test from build system tests (v4.2)

See merge request espressif/esp-idf!16108
2021-11-26 05:17:43 +00:00
Anton Maklakov
fccaf93a87 Merge branch 'feature/docker_build_use_git_mirror_v4.2' into 'release/v4.2'
ci: use LOCAL_GIT_MIRROR in docker build job, if set (v4.2)

See merge request espressif/esp-idf!16112
2021-11-25 05:33:45 +00:00
Ivan Grokhotkov
ccb1afa97a ci: use LOCAL_GIT_MIRROR in docker build job, if set
When the build runner has a local git mirror configured via
LOCAL_GIT_MIRROR variable, use that mirror when cloning IDF insider
the docker build job. Follows similar logic for
LOCAL_GITLAB_HTTPS_HOST, which is used for geo nodes.
2021-11-24 15:45:02 +01:00
Sergei Silnov
eee3af33d6 ci: Remove component manager test from build system tests
Component manager itself has a set of integration tests
that run against different ESP-IDF versions
2021-11-24 15:13:14 +01:00
Roland Dobai
792bc9a587 Merge branch 'feature/json_schema_for_idf_size_v4.2' into 'release/v4.2'
tools: add json schema for idf_size (v4.2)

See merge request espressif/esp-idf!15961
2021-11-24 09:00:43 +00:00
yuanjm
3cfcf2b4fd lwip: Add macro to disable vendor class option 2021-11-23 19:37:50 +08:00
Alexey Gerenkov
6d7aa57177 coredump: Fixes core dump private header inclusion guard 2021-11-23 13:06:18 +03:00
Alexey Gerenkov
0473ddffa7 coredump: Fixes ESP-specific panic reasons handling 2021-11-23 13:06:03 +03:00
Jiang Jiang Jian
d4c247dac6 Merge branch 'bugfix/fix_static_check_error_mr_4.2' into 'release/v4.2'
Fix the high-impact issues from the code analysis report from customer.

See merge request espressif/esp-idf!16046
2021-11-23 07:27:18 +00:00
Jiang Jiang Jian
440d1aeb25 Merge branch 'bugfix/leedarson_v4.2' into 'release/v4.2'
component_bt: Fix some code logic errors (v4.2)

See merge request espressif/esp-idf!16030
2021-11-23 07:26:55 +00:00
Jiang Jiang Jian
c1f7f216e3 Merge branch 'bugfix/register_non_32bit_access_v4.2' into 'release/v4.2'
hal: avoid non-32bit access to registers (v4.2)

See merge request espressif/esp-idf!15617
2021-11-23 07:26:31 +00:00
xiongweichao
3beae7c8ef Add hci command to set coexistence status 2021-11-23 11:48:39 +08:00
Ivan Grokhotkov
999abf403e tools: {install, export}.bat: fix path quoting
Also includes fix for DOSKEY definitions.
Closes https://github.com/espressif/esp-idf/issues/7605
Closes https://github.com/espressif/esp-idf/issues/7927
2021-11-22 23:08:49 +01:00
“YangZhao”
4200865dd1 Fix the high-impact issues from the code analysis report from customer.
For the CID10564,10384,10280,10098,10038,The memory was released in other place.
For the CID10365,it release the memory in the function when sent successfully.
For the CID10268,10011, we need not change the code.
2021-11-22 19:55:03 +08:00
xiongweichao
6ab925eaa0 Missing break in switch 2021-11-22 11:48:21 +08:00
xiongweichao
163dfb1091 already defined in bt_target.h 2021-11-22 11:47:00 +08:00
Wang Meng Yang
028a4c93ff Merge branch 'bugfix/fix_modem_sleep_hw_error_mr_4.2' into 'release/v4.2'
fix modem sleep hw error

See merge request espressif/esp-idf!16019
2021-11-22 03:46:30 +00:00
xiongweichao
1733159b08 Dereference after null check 2021-11-22 11:46:30 +08:00
xiongweichao
a8c653b094 Dereference before null check 2021-11-22 11:43:35 +08:00
xiongweichao
0ef796bfc2 Logically dead code 2021-11-22 11:43:05 +08:00
Yang Zhao
14cdcae482 It is abnormal when getting the deep sleep state bit. So we need to check
the state again and run the "ble_master_soft_rst()" if neesed.
2021-11-19 16:17:31 +08:00
Anton Maklakov
e74f0665fc Merge branch 'feature/ci_runner_failure_retries_v4.2' into 'release/v4.2'
ci: runner system failure retries (v4.2)

See merge request espressif/esp-idf!15724
2021-11-19 08:02:26 +00:00
Wang Meng Yang
05b1f873bd Merge branch 'bugfix/fix_custmoer_issues_v4.2' into 'release/v4.2'
bugfix/fix_3_controller_issues_v4.2

See merge request espressif/esp-idf!15978
2021-11-19 03:36:07 +00:00
Rahul Tank
c2a94ba1aa ESP32: Fix memory leak in controller deinit function
Added change to dealloc s_pm_lock in controller deinit as it gets allocated
during init procedure.
2021-11-17 20:42:29 +08:00
Roland Dobai
88e3ec6f03 Merge branch 'bugfix/create_dir_idf_env_v4.2' into 'release/v4.2'
tools: Create the ".espressif" directory on the first run on clean system (v4.2)

See merge request espressif/esp-idf!15857
2021-11-16 15:47:47 +00:00
jincheng
160afee96c - fix HCI_Read_Clock error
- fix HCI_Create_Connection_Cancel error
- fix ASSERT_WARN during epr
2021-11-16 17:10:30 +08:00
simon.chupin
3c69e6c990 tools: add json schema for idf_size 2021-11-15 18:45:08 +01:00
Mahavir Jain
a1b16acf7a Merge branch 'bugfix/efuse_stdbool_v4.2' into 'release/v4.2'
efuse: Add missing stdbool.h include file (v4.2)

See merge request espressif/esp-idf!15937
2021-11-15 15:39:03 +00:00
Jing Li
ccef7c1712 Merge branch 'bugfix/fix_ota_crash_backport_v4.2' into 'release/v4.2'
spi_flash: fix app crash when OTA because the OTA task's stack is in rtc fast memory(backport v4.2)

See merge request espressif/esp-idf!15861
2021-11-15 02:32:54 +00:00
Ondrej Kosta
f84e55bea2 Merge branch 'bugfix/LAN8720_reset_assertion_v4.2' into 'release/v4.2'
Increased LAN8720 ETH-PHY reset assertion time (v4.2)

See merge request espressif/esp-idf!15827
2021-11-14 21:49:08 +00:00
Gustavo Henrique Nihei
32d7f8e6f1 efuse: Enable C++ linkage for the include headers on esp_efuse.h
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-11-12 13:30:24 -03:00
Gustavo Henrique Nihei
d2da4598f5 efuse: Add missing stdbool.h include file
Signed-off-by: Gustavo Henrique Nihei <gustavo.nihei@espressif.com>
2021-11-12 13:30:24 -03:00
Mahavir Jain
047a5bf2f7 Merge branch 'bugfix/aes_unaligned_access_v4.2' into 'release/v4.2'
aes: fix unaligned access (v4.2)

See merge request espressif/esp-idf!15803
2021-11-12 04:27:17 +00:00
Roland Dobai
ed6f72142f Merge branch 'bugfix/archive_details_always_run_like_diff_v4.2' into 'release/v4.2'
tools: fix bug with idf_size argument archive_details (v4.2)

See merge request espressif/esp-idf!15776
2021-11-11 12:34:14 +00:00
Frank Sautter
a8ed7f44bb Increased LAN8720 ETH-PHY reset assertion time (IDFGH-6018)
Increase reset assertion time from 100µs (as specified minimum in the datasheet) to 150µs.
Some specimen of the LAN8720 need the reset signal asserted longer than 100µs to initialise properly. Otherwise they are in a zombie state where they are establishing and loosing an Ethernet link once in a seconds interval.
2021-11-10 21:59:00 +01:00
Xie Wen Xiang
08c79908fb Merge branch 'bugfix/fix_crash_when_shutdown_bt_v4.2' into 'release/v4.2'
component/bt: fix crash when shutdown bt(backport v4.2)

See merge request espressif/esp-idf!15710
2021-11-10 06:31:40 +00:00
jingli
b6b227e6cc fix: app crash when OTA because the OTA task's stack is in rtc fast memory 2021-11-10 14:05:54 +08:00
Marius Vikhammer
a7a495f796 aes: fix potential unaligned access of buffers
https://github.com/espressif/esp-idf/issues/7236
2021-11-10 10:01:45 +08:00
simon.chupin
97873dbedc change --archive_details output 2021-11-09 14:30:11 +01:00
Roland Dobai
719207446f tools: Create the ".espressif" directory on the first run on clean system
Closes https://github.com/espressif/esp-idf/issues/7848
2021-11-09 12:03:20 +01:00
Wang Meng Yang
fab8e9d1bc Merge branch 'bugfix/hfp_demo_audio_not_sine_v4.2' into 'release/v4.2'
Bugfix/hfp demo audio not sine v4.2

See merge request espressif/esp-idf!15750
2021-11-09 03:05:25 +00:00
boarchuz
0fe219a3f3 fix bootloader build with rom flash driver
Closes https://github.com/espressif/esp-idf/pull/7508
Closes https://github.com/espressif/esp-idf/issues/6849
2021-11-08 14:14:39 +08:00
xiewenxiang
6ee20240ed component/bt: fix crash when shutdown bt(backport v4.2) 2021-11-08 10:37:31 +08:00
Island
125cf671e7 Merge branch 'bugfix/ble_mesh_host_init_v4.2' into 'release/v4.2'
ble_mesh: nimble: return error if init host twice (v4.2)

See merge request espressif/esp-idf!15789
2021-11-05 03:10:46 +00:00
Island
78fc16d1d3 Merge branch 'bugfix/sig_ble_mesh_errata_e16350_v4.2' into 'release/v4.2'
ble_mesh: stack: Apply the errata E16350 from Bluetooth SIG (v4.2)

See merge request espressif/esp-idf!15785
2021-11-05 03:09:15 +00:00
Chinmay Chhajed
890114733f Merge branch 'bugfix/ble_conn_latency_max_value_v4.2' into 'release/v4.2'
BLE: Set connection max latency value to 499.

See merge request espressif/esp-idf!15756
2021-11-04 08:55:15 +00:00
Marius Vikhammer
49c1dc43f1 Merge branch 'bugfix/define__DOXYGEN___v4.2' into 'release/v4.2'
docs: define __DOXYGEN__ for doxygen builds (v4.2)

See merge request espressif/esp-idf!15681
2021-11-04 05:57:07 +00:00
Marius Vikhammer
2f511cfaef bootloader: disable psram cache bug fix for bootloader
The psram cache bug fix was also being applied to the bootloader binary (for cmake),
which doesnt do any psram access.

Applying this fix would increase the binary size, as much as 300 bytes in worst case scenarios
2021-11-04 11:32:15 +08:00
Marius Vikhammer
86c5d3136e docs: define __DOXYGEN__ for doxygen builds
Some docs depended on __DOXYGEN__ but this was never defined anywhere.
2021-11-04 10:22:21 +08:00
lly
8106a823bd ble_mesh: nimble: return error if init host twice 2021-11-03 19:22:12 +08:00
lly
b32d6c355a ble_mesh: stack: Apply the errata E16350 from Bluetooth SIG 2021-11-03 19:06:49 +08:00
simon.chupin
fbf1df22b7 tools: fix bug with idf_size argument archive_details 2021-11-02 14:24:02 +01:00
Chinmay Chhajed
e0ea44fa46 BLE: Set connection max latency value to 499. 2021-11-01 16:37:46 +05:30
jincheng
c0fc6500cf fix hfp_ag demo audio not sine_v4.1 2021-11-01 12:26:40 +08:00
Yuan Jian Min
f370d5089f Merge branch 'bugfix/fix_cplusplus_miss_in_dhcp_v4.2' into 'release/v4.2'
dhcpserver: support cplusplus (backport v4.2)

See merge request espressif/esp-idf!15447
2021-10-30 06:21:43 +00:00
KonstantinKondrashov
939f4dfbc0 efuse_table_gen: Fixes wrong joining fields with omitted names
The issue is related to the non-sequential way of description when
such fields going together sequential.

Related to esp32h2 chip for eFuses: MAC_FACTORY and MAC_EXT.
The issue is in wrong indexes of MAC_EXT.
MAC_EXT got indexes like it is joined to MAC_FACTORY.

const esp_efuse_desc_t* ESP_EFUSE_MAC_FACTORY[] = {
    &MAC_FACTORY[0],
    &MAC_FACTORY[1],
    &MAC_FACTORY[2],
    &MAC_FACTORY[3],
    &MAC_FACTORY[4],
    &MAC_FACTORY[5],
    NULL
};

const esp_efuse_desc_t* ESP_EFUSE_MAC_EXT[] = {
    &MAC_EXT[6],
    &MAC_EXT[7],
    NULL
};

This commit fixed it to:

const esp_efuse_desc_t* ESP_EFUSE_MAC_EXT[] = {
    &MAC_EXT[0],
    &MAC_EXT[1],
    NULL
};
2021-10-29 19:37:21 +08:00
Mahavir Jain
7097d3c2f4 Merge branch 'bugfix/sdcard_example_format_timeout_v4.2' into 'release/v4.2'
CI: [Examples/Storage] provide sufficient timeout for SD card formatting (v4.2)

See merge request espressif/esp-idf!14912
2021-10-29 09:44:04 +00:00
Yuan Jian Min
4f1b5cdb8a Merge branch 'bugfix/fix_http_head_request_v4.2' into 'release/v4.2'
esp_http_client: Fix HEAD request will affect the all next HTTP requests unless we close the HTTP request(backport v4.2)

See merge request espressif/esp-idf!15713
2021-10-29 07:53:49 +00:00
Martin Vychodil
51e00ec105 Examples/Storage: provide sufficient timeout for SD card formatting
Large SD cards (16GB+) require significant amount of time for FS formatting.
Added FS mount checkpoint in example test python, timeout set to 60 sec

Closes IDFCI-706
2021-10-29 15:44:53 +08:00
Anton Maklakov
f97fd4e04e ci: Add retries on runner system failures 2021-10-29 13:50:47 +07:00
Kapil Gupta
fe505c5d1b Merge branch 'bugfix/eap_client_iot_issues_v4.2' into 'release/v4.2'
ESP_WiFi: Fix some wpa enterprise issue (backport V4.2)

See merge request espressif/esp-idf!15573
2021-10-29 04:44:45 +00:00
yuanjm
cb343db4c9 ci: Remove public headers check exceptions for dhcp 2021-10-29 10:34:08 +08:00
yuanjm
40b28a958c dhcpserver: support cplusplus
Closes https://github.com/espressif/esp-idf/issues/7494

Merges https://github.com/espressif/esp-idf/pull/7526
2021-10-29 10:34:08 +08:00
yuanjm
f2347ff434 esp_http_client: Fix HEAD request will affect the all next HTTP requests unless we close the HTTP request
Closes https://github.com/espressif/esp-idf/issues/7777
2021-10-29 10:20:04 +08:00
Kapil Gupta
345fe24460 wpa_supplicant: Add missing cflag for legacy makefile 2021-10-28 17:03:06 +05:30
Kapil Gupta
7c402bd790 wpa_supplicant: Update internal tls client with sha384/sha512 support 2021-10-28 17:02:51 +05:30
Kapil Gupta
73933d50e8 esp_wifi: Fix interoperability issue with windows 2008 2021-10-28 16:07:33 +08:00
Mahavir Jain
a790d96441 Merge branch 'bugfix/select_boot_app_v4.2' into 'release/v4.2'
partition_table: Fix case when a few similar to otadata partitions in the table (v4.2)

See merge request espressif/esp-idf!15649
2021-10-28 05:38:28 +00:00
Island
f9c75d82e2 Merge branch 'bugfix/heartbeat_filter_with_acceptlist_v4.2' into 'release/v4.2'
ble_mesh: stack: Fix heartbeat filter with accept list (v4.2)

See merge request espressif/esp-idf!15677
2021-10-28 02:58:36 +00:00
Jiang Jiang Jian
016b848caf Merge branch 'bugfix/remove_assert_when_inq_done_4.2' into 'release/v4.2'
component_bt: fix crash after inquiry has finished (v4.2)

See merge request espressif/esp-idf!15671
2021-10-27 11:28:02 +00:00
wangjialiang
41c0ba2ed0 ble_mesh: stack: Fix heartbeat filter with accept list 2021-10-27 16:39:24 +08:00
xiongweichao
5a4d4a01db Remove assert when inq done
Closes https://github.com/espressif/esp-idf/issues/6759
Closes https://github.com/espressif/esp-idf/issues/7551
2021-10-27 14:26:43 +08:00
Anton Maklakov
5f46abd281 Merge branch 'bugfix/support_py34-35_cffi_v4.2' into 'release/v4.2'
Tools: Constrain the cffi package for older pythons (v4.2)

See merge request espressif/esp-idf!15608
2021-10-26 13:48:03 +00:00
KonstantinKondrashov
fc0f90e8aa partition_table: Fix case when a few similar to otadata partitions in the table
It was when in the partition table there is a partition with type="data" and suptype=""(empty),
in this case type=1, suptype=0. It is similar to otadata partition.

This commit fixes it, now it will handle it as type=1, suptype=6 (ESP_PARTITION_SUBTYPE_DATA_UNDEFINED).
2021-10-26 16:48:25 +08:00
Sergei Silnov
7f7bc4078a Tools: Constrain the cffi package for older pythons 2021-10-25 20:14:19 +08:00
Wang Meng Yang
eaf738fae9 Merge branch 'feature/add_README_for_controller_hci_uart_demo_v4.2' into 'release/v4.2'
[document] add README.md for demo controller_hci_uart_demo for v4.2

See merge request espressif/esp-idf!15563
2021-10-25 08:13:37 +00:00
Wang Meng Yang
78e345debc Merge branch 'bugfix/fix_ble_scan_failed_issue_master_4.2' into 'release/v4.2'
[Bluetooth] Fix the ble scan failed issue

See merge request espressif/esp-idf!15589
2021-10-25 07:55:14 +00:00
morris
30355d3c0c hal: avoid non-32bit access to registers 2021-10-25 12:05:55 +08:00
Wu Zheng Hui
3a9a2bcfc3 Merge branch 'bugfix/fix_stuck_in_rtc_clk_calibration_backport_v4.2' into 'release/v4.2'
[bugfix] Fix stuck in rtc clk calibration (backport v4.2)

See merge request espressif/esp-idf!15525
2021-10-21 13:22:20 +00:00
wuzhenghui
fe1d3401d9 fix stuck in rtc_clk_cal 2021-10-21 19:15:33 +08:00
Yang Zhao
c1edb161e7 1.Fix the ble scan failed issue, this may happen in coexit environment
2.Fix connection failed with LG 5.0 phone
3.Check only for same X component of public key in BR/EDR
2021-10-21 10:59:57 +08:00
Anton Maklakov
10c0bb1bc0 Merge branch 'bugfix/retry_download_submodule_v4.2' into 'release/v4.2'
ci: retry download from Gitlab on error 500 (v4.2)

See merge request espressif/esp-idf!15533
2021-10-20 03:35:11 +00:00
jincheng
75789bef8b add README.md for demo controller_hci_uart_demo 2021-10-19 22:00:46 +08:00
Anton Maklakov
3e9f15b12d Merge branch 'ci/fix_deploy_docs_preview_url_v4.2' into 'release/v4.2'
ci: update docs preview url (v4.2)

See merge request espressif/esp-idf!15509
2021-10-19 11:52:55 +00:00
Michael (XIAO Xufeng)
cb58226c5e Merge branch 'bugfix/fix_touch_sensor_measure_start_wait_time_backport_v4.2' into 'release/v4.2'
Bugfix(Touch): fix the touch sensor wait cycle after wakeup from sleep (backport v4.2)

See merge request espressif/esp-idf!13641
2021-10-18 16:58:30 +00:00
Roland Dobai
4498749f38 Merge branch 'backport/v4.2/dockerfile_multiarch' into 'release/v4.2'
Dockerfile working on x64/ARM (v4.2)

See merge request espressif/esp-idf!15520
2021-10-18 14:17:16 +00:00
Ivan Grokhotkov
672d112395 ci: revert type annotations in gitlab_api.py to python2 compatible 2021-10-18 14:42:35 +07:00
Ivan Grokhotkov
3b957bb67e ci: retry Gitlab operations on error 500 2021-10-18 14:42:35 +07:00
Fu Hanxi
46ef92abee ci: retry download artifacts 2021-10-18 14:42:35 +07:00
Ivan Grokhotkov
6b3f2ea744 ci: fetch submodules from mirror, if enabled 2021-10-18 14:42:35 +07:00
Fu Hanxi
1418efe7a4 ci: retry download if catched IOError/EOFError 2021-10-18 14:42:35 +07:00
Wang Meng Yang
de22cc8ca7 Merge branch 'bugfix/btdm_ble_data_length_update_fail_v4.2' into 'release/v4.2'
Fix data length update failed(release v4.2)

See merge request espressif/esp-idf!15503
2021-10-18 03:08:04 +00:00
Jiang Jiang Jian
8f8a88d5ec Merge branch 'bugfix/fix_efuse_err_address_backport4.2' into 'release/v4.2'
fix efuse err address in block0 (backport v4.2)

See merge request espressif/esp-idf!14813
2021-10-15 05:44:10 +00:00
Tomas Sebestik
7e663430ea Dockerfile working on x64/ARM 2021-10-14 13:11:25 +02:00
Marius Vikhammer
c72ab6944e ci: update docs preview url 2021-10-14 14:23:54 +08:00
Michael (XIAO Xufeng)
5cee2b34d6 Merge branch 'backport/v4.2/8_16bits_periph_access' into 'release/v4.2'
avoid generating 8/16 bits instructions for register accessing (backport v4.2)

See merge request espressif/esp-idf!15455
2021-10-13 17:55:09 +00:00
xiewenxiang
0dbd8701b5 component/bt: fix data length update failed 2021-10-13 19:43:47 +08:00
suda-morris
db956cdeca twai: update register struct file 2021-10-12 11:10:40 +08:00
SalimTerryLi
72bb572df1 hal: avoid generate 8/16 bits intruction for register access 2021-10-12 11:06:55 +08:00
Ivan Grokhotkov
5595042c16 Merge branch 'feature/windows_installer_moved_to_github_backport_4.2' into 'release/v4.2'
tools: Windows Installer project moved to github.com/espressif/idf-installer - backport v4.2

See merge request espressif/esp-idf!15475
2021-10-11 13:50:51 +00:00
Juraj Michálek
85427a8110 tools: remove dependency on Windows installer - backport 2021-10-11 12:26:55 +02:00
Roland Dobai
bf62154b18 Merge branch 'bugfix/constrain_cryptography_v4.2' into 'release/v4.2'
Tools: Constrain the cryptography package version in order to avoid breaking changes (v4.2)

See merge request espressif/esp-idf!15462
2021-10-11 07:19:10 +00:00
Mahavir Jain
1a50ddc2a3 Merge branch 'fix/update_https_example_root_certificate_v4.2' into 'release/v4.2'
Updated the root certificate of https examples (v4.2)

See merge request espressif/esp-idf!15438
2021-10-11 04:00:46 +00:00
Bao Hong De
600ef45abe Merge branch 'feature/sync_bt_lib_with_hli_v4.2' into 'release/v4.2'
components/bt: Sync bt lib with the high level interrupt version

See merge request espressif/esp-idf!15328
2021-10-11 03:15:09 +00:00
Roland Dobai
0f2d385a5a Tools: Constrain the cryptography package for avoiding breaking changes
The cryptography 35 release causes breaking changes. Some of
certificates are rendered invalid and the package cannot be build
without rust. See
https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst#3500---2021-09-29
for more details.
2021-10-10 19:26:11 +02:00
Mahavir Jain
8269fb23d7 Merge branch 'feature/github-7632_v4.2' into 'release/v4.2'
esp_crt_bundle: remove EC-ACC certificate (v4.2)

See merge request espressif/esp-idf!15435
2021-10-10 11:35:08 +00:00
baohongde
4a80c40c0c components/bt: Sync bt lib with the high level interrupt version 2021-10-08 14:17:49 +08:00
Harshit Malpani
9b0132387e Update example test for esp_http_client 2021-10-07 17:58:51 +05:30
Harshit Malpani
1aac3c64b5 Updated the root certificate of https examples 2021-10-07 17:54:06 +05:30
Victor Morales
b41f432262 esp_crt_bundle: remove EC-ACC certificate
Fixes bug #7631
2021-10-07 13:14:38 +05:30
Mahavir Jain
7caff8d13c Merge branch 'feature/upgrade_nghttp2_component_v4.2' into 'release/v4.2'
nghttp2: upgrade to v1.41.0 release (v4.2)

See merge request espressif/esp-idf!15343
2021-09-30 04:08:04 +00:00
Jiang Jiang Jian
fa6a77a5dc Merge branch 'cherry-pick-e8360fe0-3' into 'release/v4.2'
wpa_supplicant: clean tls client state machine (backport v4.2)

See merge request espressif/esp-idf!15039
2021-09-29 11:47:22 +00:00
Krzysztof Budzynski
8eca11af23 Merge branch 'docs/update_esp32-s2_devkit_user_guide_backport_v4.2' into 'release/v4.2'
Docs/Update two ESP32-S2 devkit user guides (backport v4.2)

See merge request espressif/esp-idf!15306
2021-09-29 07:26:21 +00:00
Roland Dobai
6f77c529ac Merge branch 'bugfix/idf_size_nan_in_json_v4.2' into 'release/v4.2'
Tools: fix appearing NaN value when calling idf_size.py --json (v4.2)

See merge request espressif/esp-idf!15353
2021-09-27 12:37:09 +00:00
Roland Dobai
4b469fb5e4 Merge branch 'bugfix/idf_tools_virtualenv_seeder_v4.2' into 'release/v4.2'
tools/idf_tools.py: Changed default AppData seeder to seeder pip (backport v4.2)

See merge request espressif/esp-idf!15350
2021-09-27 12:33:33 +00:00
Michael (XIAO Xufeng)
0e10bf11e3 Merge branch 'bugfix/uart_driver_obj_into_sram_v4.2' into 'release/v4.2'
uart: put driver object into sram(v4.2)

See merge request espressif/esp-idf!14753
2021-09-26 01:33:52 +00:00
Michael (XIAO Xufeng)
c00e51b11a Merge branch 'bugfix/wavegen_disable_iram_isr_backport4.2' into 'release/v4.2'
Bugfix/wavegen disable iram isr (backport v4.2)

See merge request espressif/esp-idf!15335
2021-09-26 01:21:10 +00:00
simon.chupin
df016b17f0 Tools: fix appearing NaN value when calling idf_size.py --json 2021-09-24 18:28:05 +02:00
Juraj Sadel
513c558f13 tools/idf_tools.py: Changed default AppData seeder to seeder pip 2021-09-24 15:00:04 +02:00
Mahavir Jain
385a299069 nghttp2: upgrade to v1.41.0 release
Detailed changelog:
https://github.com/nghttp2/nghttp2/releases/tag/v1.41.0

Closes: https://github.com/espressif/esp-idf/issues/4883
Closes IDFGH-2821
2021-09-24 17:47:02 +05:30
David Čermák
017b30bcee Merge branch 'bugfix/ping_iface_v4.2' into 'release/v4.2'
lw ip: Fix ICMP Ping on specific iface (GitHub PR) (v4.2)

See merge request espressif/esp-idf!15146
2021-09-24 06:54:42 +00:00
Krzysztof Budzynski
1ed132bf87 Merge branch 'docs/update_getStarted_CN_trans_V4.2' into 'release/v4.2'
docs: update CN translation for get-started V4.2

See merge request espressif/esp-idf!15308
2021-09-24 04:58:06 +00:00
SalimTerryLi
6d3bd3a48e bugfix by disabling IRAM attr on ISR 2021-09-24 11:00:26 +08:00
Zim Kalinowski
6501045d80 Merge branch 'feature/esp32c3_support_brownout_v4.2' into 'release/v4.2'
esp32c3: Adds support BROWNOUT reset (v4.2)

See merge request espressif/esp-idf!14963
2021-09-23 15:16:23 +00:00
Konstantin Kondrashov
f8e2eadc51 esp32c3: Adds support BROWNOUT reset (v4.2) 2021-09-23 23:16:16 +08:00
Jiang Jiang Jian
2453447940 Merge branch 'bugfix/stack_init_check_v4.2' into 'release/v4.2'
NimBLE: Check stack status before executing stack command

See merge request espressif/esp-idf!15026
2021-09-23 04:32:25 +00:00
Wang Meng Yang
41ff381a72 Merge branch 'feature/btdm_add_clear_white_list_API_v4.2' into 'release/v4.2'
component/bt: add clear white list API(backport v4.2)

See merge request espressif/esp-idf!15299
2021-09-23 03:21:46 +00:00
Wang Ning
d5eea66bbb docs/update_esp32-s2_devkit_user_guides 2021-09-22 19:12:28 +08:00
daiziyan
65540b991e docs: update CN translation and keep line number consistent for all documents in get-started section 2021-09-22 17:44:03 +08:00
zhiweijian
cc8ef6b8d2 component/bt: add clear white list API 2021-09-22 15:59:45 +08:00
morris
9b6d4c4015 uart: support alloc driver object in SRAM
If CONFIG_UART_ISR_IN_IRAM is on, which means user hope the uart
interrupt can still be serviced even when cache is diabled (e.g.
writing to flash). In that case, the driver should make sure to
put the all related objects into SRAM, avoid putting them in the PSRAM.

Closes https://github.com/espressif/esp-idf/issues/7044
Closes https://github.com/espressif/esp-idf/pull/7355
2021-09-22 12:01:04 +08:00
morris
5253a6c916 uart: format driver code by astyle 2021-09-22 12:01:04 +08:00
Mahavir Jain
61d5e5a93e Merge branch 'bugfix/http_client_eagain_v4.2' into 'release/v4.2'
esp_http_client: Fixed handling of EAGAIN return (backport v4.2)

See merge request espressif/esp-idf!15274
2021-09-21 11:50:56 +00:00
Vikram Dattu
718d2e5f19 esp_http_client: Fixed handling of EAGAIN return
For https connection `ESP_TLS_ERR_SSL_WANT_READ` of esp_transport_read was getting treated as error.
Treated this as a timeout to fix connection abort issue!

Also handled http connection EAGAIN with `errno == EAGAIN` check.

Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2021-09-20 17:49:11 +05:30
Mahavir Jain
295624d5a3 Merge branch 'fix/esp_mbedtls_write_api_v4.2' into 'release/v4.2'
Fix esp_mbedtls_write API (v4.2)

See merge request espressif/esp-idf!15215
2021-09-20 11:34:23 +00:00
Roland Dobai
4ccfbf5138 Merge branch 'feature/gcov_dump_in_thread_v4.2' into 'release/v4.2'
backport/gcov dump in thread to v4.2

See merge request espressif/esp-idf!15207
2021-09-20 09:37:20 +00:00
Mahavir Jain
0dea76b299 Merge branch 'docs/flash_enc_only_s2_v4.2' into 'release/v4.2'
docs: fix S2 specific flash encryption cmds in ESP32 docs

See merge request espressif/esp-idf!15139
2021-09-16 14:31:38 +00:00
wuzhenghui
1d63988db2 fix s2 efuse err address in block0 2021-09-16 20:16:52 +08:00
Marius Vikhammer
33663461c0 docs: fix S2 specific flash encryption cmds in ESP32 docs
Closes https://github.com/espressif/esp-idf/issues/7537
2021-09-16 19:39:16 +08:00
Aditya Patwardhan
a0b107fe3d Fix esp_mbedtls_write API
Fix esp_wolfssl_write API
Closes https://github.com/espressif/esp-idf/issues/7461
2021-09-16 09:02:34 +05:30
Erhan Kurubas
e4fdf07acb esp_ipc: fix race condition in ipc task 2021-09-15 22:57:02 +03:00
Erhan Kurubas
e662d90e9f gcov: enable single core tests 2021-09-15 22:57:02 +03:00
Erhan Kurubas
dc25973825 ipc: enable ipc task at single core for gcov dump 2021-09-15 22:57:02 +03:00
Erhan Kurubas
5ad1e020ce gcov: add stub table size entry 2021-09-15 22:57:02 +03:00
Erhan Kurubas
886ea8d33b gcov: add gcov callback into the ipc task 2021-09-15 22:57:02 +03:00
Erhan Kurubas
d63ff8cb7a gcov: readme update for ESP32-S2 2021-09-15 22:57:02 +03:00
Erhan Kurubas
67fc5183dc gcov: dump in a special thread 2021-09-15 22:57:02 +03:00
Erhan Kurubas
e43fedb3f4 gcov: added dbg stub capabilites and magic number entry to keep backward compatible 2021-09-15 22:57:02 +03:00
Krzysztof Budzynski
87e9a54f63 Merge branch 'docs/fix_adc_pad_typo_MOSI_typo_and_broken_link_v4.2' into 'release/v4.2'
Fix ADC pad and MOSI typo, update esp32c3 rom elf link (v4.2)

See merge request espressif/esp-idf!15188
2021-09-14 08:46:26 +00:00
Wang Fang
9814e9afd7 docs: Fix ADC pad and MOSI typo, update esp32c3 rom elf link 2021-09-14 11:28:58 +08:00
morris
78ff78c789 Merge branch 'bugfix/config_data_interface_early_v4.2' into 'release/v4.2'
initialize data interface early (v4.2)

See merge request espressif/esp-idf!15090
2021-09-09 08:45:54 +00:00
Roland Dobai
4f319f26f9 Merge branch 'feature/oocd_ver_upgrade_v4.2' into 'release/v4.2'
tools: Updates OpenOCD version to 'v0.10.0-esp32-20210902' (v4.2)

See merge request espressif/esp-idf!15133
2021-09-09 07:40:43 +00:00
ivmarkov
4b8492d46f lwip: Fix ICMP Ping on specific iface
Fix broken parentheses in setsockopt call

Merges https://github.com/espressif/esp-idf/pull/7397
2021-09-09 07:43:00 +02:00
He Yin Ling
4e6c12bf30 Merge branch 'bugfix/switch_icmp_unit_test_from_baidu_to_taobao_v4.2' into 'release/v4.2'
unit_test: increase icmp unit test timeout configuration (v4.2)

See merge request espressif/esp-idf!14937
2021-09-09 01:38:00 +00:00
Roland Dobai
ae21087d7e CI: Fix idf_tools.py tests with the updated openocd version 2021-09-08 21:01:22 +03:00
Roland Dobai
35bdf4bee8 CI: Check the number of detected cores of apptrace 2021-09-08 21:00:14 +03:00
Alexey Gerenkov
046626de9a tools: Updates OpenOCD version to 'v0.10.0-esp32-20210902' 2021-09-08 20:56:25 +03:00
Roland Dobai
6f4d973f13 Merge branch 'bugfix/idf_size_wrong_memory_calculations_v4.2' into 'release/v4.2'
Tools: Fix memory calculations of idf_size.py (v4.2)

See merge request espressif/esp-idf!14934
2021-09-08 11:51:17 +00:00
Roland Dobai
d221750223 Merge branch 'feature/installing_tools_for_IDF_TARGET_v4.2' into 'release/v4.2'
tools: Installing tools for given IDF_TARGET (v4.2)

See merge request espressif/esp-idf!14709
2021-09-08 10:31:39 +00:00
Wang Meng Yang
a5984fd939 Merge branch 'bugfix/controller_hci_uart_sdkconfig_v4.2' into 'release/v4.2'
controller_hci_uart: fixed the sdkconfig.defaults in the example(backport v4.2)

See merge request espressif/esp-idf!14808
2021-09-08 06:05:52 +00:00
Wang Meng Yang
f9632200fb Merge branch 'bugfix/hf_disc_acl_no_disc_v4.2' into 'release/v4.2'
bugfix/acl can't disconnect when hfp_client disconnect [release/v4.2]

See merge request espressif/esp-idf!15057
2021-09-07 10:13:57 +00:00
Mahavir Jain
afc74ae36a Merge branch 'bugfix/fix_ws_handle_big_messages_v4.2' into 'release/v4.2'
esp_http_server: Fix ws server handle length over 1440(MTU) messages incorrectly(backport v4.2)

See merge request espressif/esp-idf!15014
2021-09-07 08:21:40 +00:00
Mahavir Jain
3ca7a2220f Merge branch 'feature/update_expat_v4.2' into 'release/v4.2'
expat: Update library from 2.2.9 to 2.4.1(backport v4.2)

See merge request espressif/esp-idf!15068
2021-09-07 08:18:13 +00:00
Liu Han
be4b8e547a expat: Update library from 2.2.9 to 2.4.1 2021-09-06 19:59:55 +08:00
morris
2e0f907656 eth: dont warn nego timeout if link is down 2021-09-06 18:45:15 +08:00
morris
83018bf05f emac: configure data interface early 2021-09-06 18:44:37 +08:00
Wang Meng Yang
d933aba6a1 Merge branch 'bugfix/bt_spp_timer_collision_v4.2' into 'release/v4.2'
fix timer collision in role switch(v4.2)

See merge request espressif/esp-idf!14819
2021-09-06 08:23:26 +00:00
Mahavir Jain
8dcf216034 Merge branch 'feature/update_cjson_submodule_v4.2' into 'release/v4.2'
cJSON: Update submodule to v1.7.15 (v4.2)

See merge request espressif/esp-idf!15075
2021-09-06 06:37:52 +00:00
Omar Chebib
f65845ef51 Merge branch 'bugfix/add_critical_section_in_uart_driver_v4.2' into 'release/v4.2'
UART: add missing critical section wrappers around rx_buffered_len (backport v4.2)

See merge request espressif/esp-idf!14775
2021-09-06 02:26:17 +00:00
jincheng
6da584270c fix timer collision in role switch
Closes https://github.com/espressif/esp-idf/issues/7203
2021-09-06 10:15:10 +08:00
Shubham Kulkarni
87a4f82d73 cJSON: Update submodule to latest release.
This update fixes NULL pointer dereference issues in previous release

Closes https://github.com/espressif/esp-idf/issues/7317
2021-09-06 07:42:32 +05:30
Omar Chebib
60ce887308 uart: cleaner way of handling error in a critical section
Some critical sections have also been added, making the code more
symetric accross the similar functions.

Closes https://github.com/espressif/esp-idf/pull/6396
2021-09-03 15:20:33 +08:00
Luca Burelli
3691fb9f48 uart: Add missing critical section wrappers around rx_buffered_len
The missing barriers caused uart_get_buffered_data_len() to (very rarely)
return a garbage value. When used in MicroPython, though, this caused
select() to return and a subsequent read() to stall indefinitely until
a char was actually available.

Signed-off-by: Chen Yi Qun <chenyiqun@espressif.com>

Closes https://github.com/espressif/esp-idf/issues/6397
Merges https://github.com/espressif/esp-idf/pull/6396
2021-09-03 15:20:33 +08:00
jincheng
1dcde9c74f fix acl can not disconnect when hf_client disconnect 2021-09-03 10:58:55 +08:00
Wang Meng Yang
b132b61181 Merge branch 'bugfix/btdm_fix_some_Document_Description_Error_v4.2' into 'release/v4.2'
component/bt: fix some ble document description error(backport v4.2)

See merge request espressif/esp-idf!14824
2021-09-03 01:40:16 +00:00
simon.chupin
8de953e7b9 Tools: Fix memory calculations of idf_size.py 2021-09-01 16:33:42 +02:00
XieWenxiang
7ea602838f component/bt: fix some ble document description error 2021-09-01 20:44:20 +08:00
Kapil Gupta
80a4d20462 Merge branch 'bugfix/eap_client_windows' into 'master'
wpa_supplicant: clean tls client state machine

Closes IDFGH-5702, IDFGH-5662, and IDFGH-119

Closes https://github.com/espressif/esp-idf/issues/7422
Closes https://github.com/espressif/esp-idf/issues/1297

See merge request espressif/esp-idf!14968

(cherry picked from commit e8360fe075)

d3a42d78 wpa_supplicant: clean tls client state machine
2021-09-01 19:16:31 +08:00
Rahul Tank
c7320b2d1d NimBLE: Check stack status before executing stack command 2021-08-31 18:30:06 +05:30
Alberto García Hierro
e2c35ca35b Enable IO20 on ESP32
Some newer ESP32 variants (like ESP32-PICO-V3 and ESP32-PICO-MINI-02)
do implement this pin and it can be used as a normal GPIO.

Fixes #6016
Fixes #6837

Closes https://github.com/espressif/esp-idf/pull/6918

(cherry picked from commit 6deaefde69)
2021-08-31 20:33:13 +08:00
yuanjm
420aedbe3d esp_http_server: Fix ws server handle length over 1440(MTU) messages incorrectly.
Closes https://github.com/espressif/esp-idf/issues/7457
2021-08-31 14:23:10 +08:00
yuanjm
f6d2932953 Revert "Merge branch 'bugfix/fix_ws_handle_big_messages_error_v4.2' into 'release/v4.2'"
This reverts commit 5ca91eb54e, reversing
changes made to 192d42c8b8.
2021-08-31 14:12:24 +08:00
Michael (XIAO Xufeng)
cf457bce0d idf_size.py: fixed diram counted twice issue, and improve display
Currently static RAM usage are listed under corresponding physical
memory.

ld: fix linker script for C3 and S3
2021-08-27 18:32:33 +02:00
Ondrej Kosta
436517fb7f Merge branch 'docfix/eth_events_4.2' into 'release/v4.2'
Added warning when to init user Eth handlers (release/v4.2)

See merge request espressif/esp-idf!14952
2021-08-27 09:15:40 +00:00
Mahavir Jain
df213946c6 Merge branch 'fixes/secure_boot_v4.2' into 'release/v4.2'
secure_boot/esp32s2: Disable read protecting of efuses (v4.2)

See merge request espressif/esp-idf!14961
2021-08-26 10:11:26 +00:00
Sachin Parekh
527e5abae0 secure_boot/esp32s2: Disable read protecting of efuses
When secure boot is enabled, disable the ability to read protect
efuses that contain the digest.
2021-08-26 12:05:39 +05:30
Ondrej Kosta
933567d440 Added warning when to init user Eth handlers 2021-08-25 11:27:05 +02:00
morris
bfa51a9a68 unit_test: switch icmp test server to taobao 2021-08-25 08:34:14 +02:00
Zim Kalinowski
e5da87933c Merge branch 'bugfix/fix_deep_sleep_miss_bug_mr_v4.2' into 'release/v4.2'
Fix controller may miss the sleep time

See merge request espressif/esp-idf!14738
2021-08-24 08:01:10 +00:00
David Čermák
6bb35ddf85 Merge branch 'bugfix/fix_ping_sock_return_error_v4.2' into 'release/v4.2'
ping_sock: Fix esp_ping_new_session may return ESP_OK when the error occured(backport v4.2)

See merge request espressif/esp-idf!14846
2021-08-23 06:30:54 +00:00
Wang Meng Yang
94cdecde30 Merge branch 'component_bt/add_spp_faq_v4.2' into 'release/v4.2'
Component_bt/Add FAQ in SPP Demo README[backport v4.2]

See merge request espressif/esp-idf!14797
2021-08-23 05:16:29 +00:00
Wang Ning
78a08714ba Merge branch 'docs/add_ESP32-S2-DevKitC-1_user_guide_backport_v4.2' into 'release/v4.2'
Docs: Add ESP32-S2-DevKitC-1 user guide (backport v4.2)

See merge request espressif/esp-idf!14876
2021-08-20 08:27:35 +00:00
Wang Ning
d81bd941ff docs/add_esp32-s2-devkitc-1_user_guide 2021-08-20 14:16:31 +08:00
Jiang Jiang Jian
7c3acadabe Merge branch 'bugfix/spp_memory_leak_v4.2' into 'release/v4.2'
Fix spp memory leak(v4.2)

See merge request espressif/esp-idf!14861
2021-08-20 02:50:19 +00:00
xiongweichao
5abc5f6748 components/bt: fix spp memory leak
Closes https://github.com/espressif/esp-idf/issues/7238
2021-08-19 14:35:53 +08:00
Zim Kalinowski
f075275cd1 Merge branch 'feature/update_efuses_for_esp32s2_v4.2' into 'release/v4.2'
efuse(esp32s2): Added flash_ver, psram_ver, pkg_ver efuses (v4.2)

See merge request espressif/esp-idf!14771
2021-08-19 06:28:50 +00:00
Mahavir Jain
48c9f47247 Merge branch 'fix/warning_in_wifi_prov_mgr_v4.2' into 'release/v4.2'
provisioning: fix wifi warning in wifi_prov_mgr application (v4.2)

See merge request espressif/esp-idf!14764
2021-08-19 04:09:18 +00:00
David Čermák
16be7d056d Merge branch 'bugfix/cmake_compiler_warn_write_string_v4.2' into 'release/v4.2'
Build: Fix CMake to pass -Wwrite-string compiler flag if enabled (v4.2)

See merge request espressif/esp-idf!14427
2021-08-18 16:02:28 +00:00
Island
2b2c1f5e65 Merge branch 'bugfix/ble_mesh_cve_recommendation_v4.2' into 'release/v4.2'
ble_mesh: Update the SIG recommendations for CVE issues (v4.2)

See merge request espressif/esp-idf!14842
2021-08-18 12:41:17 +00:00
David Cermak
1c59050209 panic/memprot: Fix minor const string correction on panic print 2021-08-18 19:29:32 +08:00
David Cermak
9b23491339 wpa_supplicant: Temporarily disable write-string warning
Since some assignment of a string literal to `char *` variables were
added and not caught by the CI.
2021-08-18 19:29:32 +08:00
David Cermak
fcf1419626 Build: Fix CMake to pass -Wwrite-string compiler flag if enabled 2021-08-18 19:29:32 +08:00
Harshit Malpani
d96dd2c002 provisioning: fix wifi warning in wifi_prov_mgr application
Scan configuration parameters should not modify in co-existence mode.
2021-08-18 18:34:46 +08:00
Zim Kalinowski
e3df8293a9 Merge branch 'bugfix/remove_bt_get_mac_v4.2' into 'release/v4.2'
bt: Remove unused function esp_bt_get_mac. (v4.2)

See merge request espressif/esp-idf!14836
2021-08-18 05:05:07 +00:00
Mahavir Jain
e821df501e Merge branch 'bugfix/libsodium_build_with_gnu_make_v4.2' into 'release/v4.2'
libsodium: fix build issues with GNU Make (v4.2)

See merge request espressif/esp-idf!14759
2021-08-18 04:38:31 +00:00
yuanjm
04be80124c ping_sock: Fix esp_ping_new_session may return ESP_OK when the error occured
Closes https://github.com/espressif/esp-idf/issues/7363
2021-08-18 11:53:09 +08:00
lly
06196f347a ble_mesh: Update the SIG recommendations for CVE issues 2021-08-18 10:58:18 +08:00
He Yin Ling
fce11704f0 Merge branch 'test/update_ble_mesh_console_files_for4.2' into 'release/v4.2'
test: fix ble mesh send problem (v4.2)

See merge request espressif/esp-idf!14274
2021-08-18 02:20:40 +00:00
Chinmay Chhajed
afe3f26fca bt: Remove unused function esp_bt_get_mac. 2021-08-17 18:53:05 +05:30
liqigan
cda9fc98e7 add FAQ in SPP demo README 2021-08-17 15:17:31 +08:00
Mahavir Jain
1472bf8780 libsodium: fix source directory names to address build issues with Make 2021-08-17 11:10:34 +05:30
Wang Meng Yang
bb0dbab859 Merge branch 'bugfix/btdm_auto_update_PPCP_attribute_value_v4.2' into 'release/v4.2'
component/bt: fix bluedroid host auto update PPCP attribute value(backport v4.2)

See merge request espressif/esp-idf!14749
2021-08-17 02:08:01 +00:00
Kelvie Wong
ace5ba77f4 Fix install.fish
install.fish script didn't catch error exit code from idf_tools.py. Now it does.

Signed-off-by: Marek Fiala <marek.fiala@espressif.com>

Closes: https://github.com/espressif/esp-idf/pull/7325
2021-08-16 16:27:35 +02:00
Marek Fiala
8b31c7d576 tools: Installing tools for given IDF_TARGET
Allow user to select specific ESP_TARGET while setting up ESD_IDF.
Only necessary tools for given target will be downloaded and installed.

Closes https://github.com/espressif/esp-idf/issues/5113
2021-08-16 16:27:35 +02:00
wangmengyang
cbfbc705eb controller_hci_uart: fixed the sdkconfig.defaults in the example 2021-08-16 16:56:10 +08:00
Anton Maklakov
cb9391a1cc Merge branch 'ci/change_perf_key_v4.2' into 'release/v4.2'
ci: update performance test key to db compatible format (v4.2)

See merge request espressif/esp-idf!14655
2021-08-16 06:13:21 +00:00
KonstantinKondrashov
6f0ad5662a efuse(esp32s2): Added flash_ver, psram_ver, pkg_ver efuses 2021-08-12 18:45:45 +05:00
XieWenxiang
921ec124ee component/bt: fix bluedroid host auto update PPCP attribute value 2021-08-11 18:04:53 +08:00
Yang Zhao
33f2bcec4c The controller may miss the sleep time caculated before. So it will stuck
in the loop to get the deep sleep HW flag. Then the watchdog issue happen.
2021-08-11 14:23:16 +08:00
Michael (XIAO Xufeng)
de7fd4e93e Merge branch 'bugfix/spi_master_crash_cache_disabled_v4.2' into 'release/v4.2'
spi_master: fix the crash when using interrupt mode when cache is disabled (v4.2)

See merge request espressif/esp-idf!14682
2021-08-10 02:39:39 +00:00
Zim Kalinowski
059a3fa1be Merge branch 'feature/skip_known_failure_cases_v4.2' into 'release/v4.2'
CI: Ignore Known Failure Cases Result (v4.2)

See merge request espressif/esp-idf!14649
2021-08-10 02:23:31 +00:00
Fu Hanxi
7089f62dab feat(tiny_test_fw): ignore known failure cases result
py
2021-08-10 10:23:26 +08:00
Mahavir Jain
e1d33a7fa1 Merge branch 'bugfix/xtensa_extra_info_register_values_v4.2' into 'release/v4.2'
espcoredump.py: Parse EPS and EPC register values using register index (v4.2)

See merge request espressif/esp-idf!14565
2021-08-06 05:10:33 +00:00
Michael (XIAO Xufeng)
d91d6945d7 spi_master: fix the crash when using interrupt mode when cache is disabled
Closes https://github.com/espressif/esp-idf/issues/6529
Closes https://github.com/espressif/esp-idf/issues/6781
Closes https://github.com/espressif/esp-idf/issues/7368
2021-08-06 12:22:15 +08:00
Yuan Hong Hui
e1af4a398b update ble mesh console files 2021-08-05 17:52:28 +08:00
Zim Kalinowski
45330303d6 Merge branch 'bugfix/freertos_ut_suspend_v4.2' into 'release/v4.2'
freertos: Increases delta for UT - Test suspend-resume CPU. The number of... (v4.2)

See merge request espressif/esp-idf!14631
2021-08-05 05:13:24 +00:00
Fu Hanxi
6b95f3bddd ci: update performance test key to db compatible format 2021-08-04 12:28:42 +08:00
Zim Kalinowski
57eeeef433 Merge branch 'feature/change_factory_reset_pin_range_v4.2' into 'release/v4.2'
bootloader: Change range of the factory reset pin in Kconfig for ESP32-S2 (v4.2)

See merge request espressif/esp-idf!14638
2021-08-03 14:24:14 +00:00
KonstantinKondrashov
5893641482 freertos: Increases delta for UT - Test suspend-resume CPU. The number of tick_hook should be the same for both CPUs 2021-08-03 16:07:03 +05:00
KonstantinKondrashov
f5897efa4f bootloader: Change range of the factory reset pin in Kconfig
Closes: https://github.com/espressif/esp-idf/issues/5489
2021-08-03 14:40:29 +05:00
Zim Kalinowski
a9a917b8d7 Merge branch 'doc/fix_secure_boot_v4.2' into 'release/v4.2'
doc/secure_boot_v2: Fix the steps mentioned for enabling secure boot (v4.2)

See merge request espressif/esp-idf!14589
2021-08-03 07:47:09 +00:00
Zim Kalinowski
f9af4a66f0 Merge branch 'bugfix/uart_sw_sw_flow_error_typo_v4.2' into 'release/v4.2'
uart: fix typo in error message (v4.2)

See merge request espressif/esp-idf!14614
2021-08-03 02:42:46 +00:00
Marius Vikhammer
2f02863fff uart: fix typo in error message
Closes https://github.com/espressif/esp-idf/issues/7360
2021-08-03 09:28:39 +08:00
Jiang Jiang Jian
f4a2c5b520 Merge branch 'mesh/bugfix_fix_esp_mesh_send_block_issue_v4.2' into 'release/v4.2'
mesh/ps: esp_mesh_send is blocked in nodes(layer>=3), when a FIXED-ROOT root is duty master(backport_v4.2)

See merge request espressif/esp-idf!14086
2021-07-31 02:52:26 +00:00
Sachin Parekh
8a516aadae doc/secure_boot_v2: Fix the steps mentioned for enabling secure boot 2021-07-30 19:50:37 +05:30
David Čermák
4dc431b87b Merge branch 'bugfix/fix_eth2ap_example_crash_v4.2' into 'release/v4.2'
eth2ap: Fix eth2ap example crash issue (backport v4.2)

See merge request espressif/esp-idf!14561
2021-07-30 05:14:25 +00:00
Shubham Patil
c06d8f8521 espcoredump.py: Parse EPS and EPC register values using register index 2021-07-29 10:46:02 +05:30
yuanjm
d0d7fbf6b1 eth2ap: Fix eth2ap example crash issue
Closes https://github.com/espressif/esp-idf/issues/7260
2021-07-29 11:12:40 +08:00
aleks
68e7ecec67 freemodbus: add affinity option for modbus stack tasks 2021-07-28 08:46:52 +02:00
Zim Kalinowski
764f0db002 Merge branch 'bugfix/freemodbus_change_max_task_prio_v42' into 'release/v4.2'
Bugfix/freemodbus change max task prio (backport v4.2)

See merge request espressif/esp-idf!13731
2021-07-27 21:19:14 +00:00
Vikram
2b42d78a3f Merge branch 'bugfix/smtp_client_attachment_newline_v4.2' into 'release/v4.2'
Add newline separator to fix wrong attachment sent (v4.2)

See merge request espressif/esp-idf!13729
2021-07-27 16:12:59 +00:00
Zim Kalinowski
87e9908506 Merge branch 'bugfix/fix_supplicant_log_v4.2' into 'release/v4.2'
wpa_supplicant: Fix compilation when debug prints are enabled

See merge request espressif/esp-idf!14227
2021-07-27 12:04:50 +00:00
Zim Kalinowski
bc8d2ebcbf Merge branch 'bugfix/wps_wfa_cert_fixes_v4.2' into 'release/v4.2'
wpa_supplicant: Add WPS strict in config option(backport v4.2)

See merge request espressif/esp-idf!14230
2021-07-27 10:44:12 +00:00
Zim Kalinowski
4a12179e0c Merge branch 'bugfix/ttfw_fix_flush_index_error_v4.2' into 'release/v4.2'
test: TTFW fix flush index error (v4.2)

See merge request espressif/esp-idf!14261
2021-07-27 10:44:00 +00:00
Anton Maklakov
def7fd7611 Merge branch 'feature/idf_tools_darwin_arm64_v4.2' into 'release/v4.2'
tools: idf_tools.py: allow macOS x86_64 tools to be installed on arm64 (v4.2)

See merge request espressif/esp-idf!14072
2021-07-27 08:16:21 +00:00
Michael (XIAO Xufeng)
b2be91d98b Merge branch 'feature/regi2c_add_lock_v4.2' into 'release/v4.2'
regi2c: add a spinlock for accessing (reg)I2C devices (backport v4.2)

See merge request espressif/esp-idf!13713
2021-07-27 07:32:35 +00:00
David Čermák
0d0d31bcf3 Merge branch 'bugfix/esp_netif_dhcps_state_v4.2' into 'release/v4.2'
esp_netif: Fix dhcps state transitions (v4.2)

See merge request espressif/esp-idf!14424
2021-07-27 07:23:45 +00:00
Krzysztof Budzynski
325eee68e4 Merge branch 'enhance/update-vscode-setup-docs-v4.2' into 'release/v4.2'
docs: Fix vscode extension setup links (backport v4.2)

See merge request espressif/esp-idf!13323
2021-07-27 03:53:42 +00:00
Brian Alberto Ignacio Reyes
728f3eab6c docs: Fix vscode extension setup links (backport v4.2) 2021-07-27 11:53:38 +08:00
Zim Kalinowski
60e4bfae90 Merge branch 'bugfix/fatfs_alloc_extram_first_v4.2' into 'release/v4.2'
fatfs: fix SPIRAM allocation not used due to Kconfig option name error (v4.2)

See merge request espressif/esp-idf!14049
2021-07-26 07:59:16 +00:00
Zim Kalinowski
5c82ebce35 Merge branch 'bugfix/fix_esp32s2_deep_sleep_timer_wake_up_fail_backport_v4.2' into 'release/v4.2'
rtc: fix esp32s2 fall into sleep forever when deep-sleep time is set to 0(backport v4.2)

See merge request espressif/esp-idf!13562
2021-07-26 07:39:16 +00:00
Zim Kalinowski
6fba03f681 Merge branch 'fix/memory_leaks_identified_by_cppcheck_v4.2' into 'release/v4.2'
Fix/memory leaks identified by cppcheck (v4.2)

See merge request espressif/esp-idf!14502
2021-07-26 06:43:27 +00:00
Aditya Patwardhan
e5b4d5f348 Fix memory leak on error path in register_select
And remove dead error handling code from unregister_select.

Closes https://github.com/espressif/esp-idf/pull/7296
2021-07-26 14:43:21 +08:00
Ivan Grokhotkov
f39dc35d92 tools: idf_tools.py: allow macOS x86_64 tools to be installed on arm64
Until arm64 tool binaries are available, we can run existing x86_64
ones under emulation.

Suggested in https://github.com/espressif/esp-idf/issues/6113.
2021-07-26 14:35:47 +08:00
Zim Kalinowski
e9198247a0 Merge branch 'bugfix/ci_fix_test_build_system_cmake_v4.2' into 'release/v4.2'
ci: Fix concurrency issues for macOS build system tests (v4.2)

See merge request espressif/esp-idf!14400
2021-07-26 06:30:25 +00:00
shenjun
416dc98ed8 mesh/ps: esp_mesh_send is blocked in nodes(layer>=3), when a FIXED-ROOT root is duty master 2021-07-26 14:14:08 +08:00
He Yin Ling
15b8981f48 ttfw: fix incorrect length when flush data cache after expect:
data cache is unicode. while we use bytes in RegEx expect. The index of
matched pattern is calculated with bytes, could be different from
unicode. Now we fix this issue by using unicode in expect.
2021-07-26 11:30:35 +08:00
Vikram Dattu
458dbaf0f1 Fixed content type of attachment
Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2021-07-26 10:15:47 +08:00
Vikram Dattu
81de14b505 Add newline separator to fix wrong attachment sent
Issue:

Missing newline between header and attachment

Issue seen with email clients viz., AppleMail and YahooMail. Attachment is not renderable.
Some clients like Google mail, Samsung mail tolerate the issue.

Fix:
Added newline between header and attachment.

Closes https://github.com/espressif/esp-idf/issues/6098

Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2021-07-26 10:15:47 +08:00
Zim Kalinowski
0832580661 Merge branch 'bugfix/spp_connect_20_fail_v4.2' into 'release/v4.2'
component_bt: fix spp acceptor deadlock

See merge request espressif/esp-idf!14106
2021-07-26 01:43:06 +00:00
Ivan Grokhotkov
cc366cc3c7 fatfs: fix SPIRAM allocation not used due to Kconfig option name error
Closes https://github.com/espressif/esp-idf/issues/5756
2021-07-26 09:40:39 +08:00
aditi_lonkar
6f016def84 wpa_supplicant: Fix compilation when debug prints are enabled. 2021-07-26 09:38:21 +08:00
aditi_lonkar
71b9121c7d wpa_supplicant: Add WPS strict in config option
WPS strict disables workarounds with different APs and may cause
IOT issues. Remove this as default and introduce as a config option.

Also declare esp device as single band mobile device otherwise
WFA sniffer was not able to identify it in the certification setup.
2021-07-26 09:37:28 +08:00
David Cermak
2b65b82bd6 esp_netif: Fix dhcps state transitions
When the DHCP server is stopped before starting the netif,
it should remain stopped -- as per compatibility with previous tcpip_adapter behavior
2021-07-26 09:33:32 +08:00
Sergei Silnov
d18793f695 ci: Fix concurrency issues for macos buildsystem tests 2021-07-26 09:07:17 +08:00
Zim Kalinowski
ac5443b68a Merge branch 'doc/power_management_esp32s2_v4.2' into 'release/v4.2'
docs: describe power management logic for ESP32-S2, fix translation (v4.2)

See merge request espressif/esp-idf!14048
2021-07-26 00:49:30 +00:00
aleks
ea101ecb38 freemodbus: increase max priority of modbus tasks
allows to avoid issues with modbus processing when higher priority tasks are used in user application
2021-07-26 08:46:25 +08:00
Omar Chebib
d7687ce6fa regi2c: add a spinlock for accessing (reg)I2C devices
When not compiling bootloader, a spinlock will be used for reading or writing
I2C internal devices/registers.
When compiling for bootloader, no need to use any lock.
2021-07-26 06:46:21 +08:00
David Čermák
ec196ae74b Merge branch 'bugfix/ci_move_udp_socket_tests_to_eth_runners_v4.2' into 'release/v4.2'
CI: Adjust UDP socket tests to be more reliable (v4.2)

See merge request espressif/esp-idf!14421
2021-07-23 15:01:46 +00:00
Krzysztof Budzynski
473194039d Merge branch 'docs/fix_UART_default_pin_error_and_provide_a_link_to_ESP_PROG_v4.2' into 'release/v4.2'
docs: fix uart default pin error and provide more information about ESP-Prog board (v4.2)

See merge request espressif/esp-idf!13969
2021-07-23 11:18:55 +00:00
Wang Meng Yang
12ce70a583 Merge branch 'bugfix/a2dp_deint_crash_v4.2' into 'release/v4.2'
component_bt: fix a2dp deinit crash(v4.2)

See merge request espressif/esp-idf!14418
2021-07-23 07:26:22 +00:00
Jakob Hasse
7f2da36c33 Merge branch 'bugfix/setjmp_longjmp_4.2' into 'release/v4.2'
[system]: Made longjmp save for context switch (backport v4.2)

See merge request espressif/esp-idf!13501
2021-07-23 03:52:55 +00:00
Zim Kalinowski
9e9efc4d92 Merge branch 'bugfix/fix_idf_monitor_unicode_path_crash_v4.2' into 'release/v4.2'
tools: handle exception in case of logging Unicode characters (v4.2)

See merge request espressif/esp-idf!13042
2021-07-23 01:09:44 +00:00
Roland Dobai
ea2b6898fb Merge branch 'feature/gcov_extest_improvements_v4.2' into 'release/v4.2'
Follow-up improvements for the gcov example test (v4.2)

See merge request espressif/esp-idf!14463
2021-07-22 19:11:52 +00:00
Roland Dobai
b717a0d3e1 Follow-up improvements for the gcov example test 2021-07-22 15:23:27 +02:00
Roland Dobai
c0ad291dc4 Merge branch 'ci/rename_test_log_path_v4.2' into 'release/v4.2'
CI: rename log path of IT jobs (v4.2)

See merge request espressif/esp-idf!14453
2021-07-22 13:21:14 +00:00
Zim Kalinowski
1bd6c102a4 Merge branch 'docs/fix_readme_links_v4.2' into 'release/v4.2'
docs: fixed dead readme links (v4.2)

See merge request espressif/esp-idf!14465
2021-07-22 02:44:44 +00:00
Marius Vikhammer
bcb1086410 docs: fixed dead readme link 2021-07-21 17:35:47 +08:00
Zim Kalinowski
4722c36926 Merge branch 'feature/upgrade_mbedtls_to_v4.2' into 'release/v4.2'
mbedtls: upgrade to release v2.16.11 (v4.2)

See merge request espressif/esp-idf!14438
2021-07-21 06:55:14 +00:00
Mahavir Jain
754e742344 mbedtls: upgrade to release v2.16.11
For detailed release notes please refer to:
https://github.com/ARMmbed/mbedtls/releases/tag/v2.16.11
2021-07-21 14:55:09 +08:00
Zim Kalinowski
39a8dc30ea Merge branch 'bugfix/esp_event_any_id_unregister_4.2' into 'release/v4.2'
ESP Event: fix unregister documentation (backport 4.2)

See merge request espressif/esp-idf!14436
2021-07-21 04:07:34 +00:00
Zim Kalinowski
9f3cf98d4e Merge branch 'bugfix/fix_scan_timeout_mr_4.2' into 'release/v4.2'
Fix the scan timeout report

See merge request espressif/esp-idf!14446
2021-07-21 04:00:40 +00:00
He Yin Ling
59d0da0b33 CI: rename log path of IT jobs 2021-07-21 10:24:52 +08:00
Jakob Hasse
aabdb2c7a1 [system]: Made longjmp save for context switch
* Patched longjmp to be context-switch safe
  longjmp modifies the windowbase and windowstart
  registers, which isn't safe if a context switch
  occurs during the modification. After a context
  switch, windowstart and windowbase will be
  different, leading to a wrongly set windowstart
  bit due to longjmp writing it based on the
  windowbase before the context switch. This
  corrupts the registers at the next window
  overflow reaching that wrongly set bit.

  The solution is to disable interrupts during
  this code. It is only 6 instructions long,
  the impact shouldn't be significant.

  The fix is implemented as a wrapper which
  replaces the original first instructions of
  longjmp which are buggy. Then, it jumps back
  to execute the rest of the original longjmp
  function.

  Added a comparably reliable test to the
  test apps.
2021-07-21 09:48:48 +08:00
Yang Zhao
0fe0bea65a This is to fix the hardware bug. The device may report scan event
timeout when scaning.If check this error,then reset the rwble core.
2021-07-20 20:37:08 +08:00
Shubham Kulkarni
88b3e0d8d8 Merge branch 'bugfix/fix_truncated_headers_for_esp_http_client_v4.2' into 'release/v4.2'
esp_http_client: Fix header truncated when responded header length over buffer_size (backport v4.2)

See merge request espressif/esp-idf!14384
2021-07-20 12:17:11 +00:00
Yuan Jian Min
5ca91eb54e Merge branch 'bugfix/fix_ws_handle_big_messages_error_v4.2' into 'release/v4.2'
esp_http_server: Fix ws server handle length over 1440(MTU) messages incorrectly(backport v4.2).

See merge request espressif/esp-idf!14345
2021-07-20 11:55:08 +00:00
Hrishikesh Dhayagude
192d42c8b8 Merge branch 'feature/protocomm_mfg_data_v4.2' into 'release/v4.2'
Provisioning BLE: Add API to set manufacturer data in advertisement (scan response) packets (v4.2)

See merge request espressif/esp-idf!14367
2021-07-20 10:50:21 +00:00
Jakob Hasse
d3ffdc79fd [esp_event]: fixed and improved docs
* Description of unregistering was incorrect
* Made clear that event loop arg mustn't be NULL
* Added parameter check in create function

Closes https://github.com/espressif/esp-idf/issues/6761
Closes IDFGH-4969
2021-07-20 15:47:37 +08:00
Zim Kalinowski
1b87cfc565 Merge branch 'bugfix/esp32s2_disable_bss_extram_v4.2' into 'release/v4.2'
esp32s2: disable bss extram option, clean up spiram init code a bit (v4.2)

See merge request espressif/esp-idf!13735
2021-07-20 07:24:38 +00:00
Angus Gratton
1d64638333 esp_common: Correctly disable ".bss segment placed in external memory" for ESP32-S2 & ESP32-S3
Support for this feature is still pending.

As reported by https://github.com/espressif/esp-idf/issues/6162
2021-07-20 15:24:32 +08:00
yuanjm
fc937e257b esp_http_server: Fix ws server handle length over 1440(MTU) messages incorrectly.
Closes https://github.com/espressif/esp-idf/issues/7202
2021-07-20 14:27:10 +08:00
Krzysztof Budzynski
c106151cc6 Merge branch 'docs/update_docs_for_doc_751_v4.2' into 'release/v4.2'
docs: update the documents based on customer feedbacks (v4.2)

See merge request espressif/esp-idf!13959
2021-07-20 06:25:52 +00:00
Darian
86f808ef2b Merge branch 'bugfix/twai_low_speed_bit_rates_v4.2' into 'release/v4.2'
TWAI: Fix incorrect configuration initializers for low speed bit rates (backport v4.2)

See merge request espressif/esp-idf!14413
2021-07-20 05:12:59 +00:00
Zim Kalinowski
9896fc0aef Merge branch 'bugfix/otatool_imported_as_lib_v4.2' into 'release/v4.2'
otatool: Fix a crash when imported as external python lib (v4.2)

See merge request espressif/esp-idf!13667
2021-07-20 03:25:20 +00:00
Wang Fang
8eb2ec4fb5 docs: update the documents based on customer feedbacks 2021-07-20 11:07:50 +08:00
Jakob Hasse
2d83369184 Merge branch 'bugfix/missing_extern_c_4.2' into 'release/v4.2'
[test_utils]: added extern C decl to ccomp (backport 4.2)

See merge request espressif/esp-idf!14327
2021-07-20 02:33:26 +00:00
Zim Kalinowski
90ff580de5 Merge branch 'bugfix/read_ota_partition_required_output_arg_v4.2' into 'release/v4.2'
otatool: Fixes read_ota_partition cmd, required output arg (v4.2)

See merge request espressif/esp-idf!13673
2021-07-19 14:01:16 +00:00
David Cermak
07596559dd CI/socket examples: Add UDP operation retries, wait until server is up 2021-07-19 14:58:20 +02:00
xiongweichao
f83bacd2b5 Not initialized or in the process of de-initialization, calling API will return ERR 2021-07-19 20:13:32 +08:00
xiongweichao
3ba13749d3 fix a2dp deinit crash 2021-07-19 20:12:57 +08:00
Darian Leung
7ca2688378 TWAI: Fix incorrect configuration initializers for low speed bit rates
This commit fixes the timing configuration initializers for the
1K, 5K, and 10K bit rates.
2021-07-19 17:33:58 +08:00
Wang Meng Yang
1e2d7ea792 Merge branch 'bugfix/SCO_connect_fail_after_peer_not_accept_sniff_v4.2' into 'release/v4.2'
bugfix/unable to initiate SCO connection when peer device not accept sniff mode (v4.2)

See merge request espressif/esp-idf!14394
2021-07-19 07:24:58 +00:00
morris
a45146c87d Merge branch 'bugfix/delete_i2c_cmd_mux_semaphore_more_cleanly_v4.2' into 'release/v4.2'
dreiver/i2c: delete i2c cmd mux semaphore more cleanly (backport 4.2)

See merge request espressif/esp-idf!13401
2021-07-19 04:54:44 +00:00
KonstantinKondrashov
dd06800d7b otatool: Fix a crash when imported as external python lib
Closes: https://github.com/espressif/esp-idf/issues/6733
2021-07-19 12:41:17 +08:00
KonstantinKondrashov
12f666f303 otatool: Fixes read_ota_partition cmd, required output arg
Closes: https://github.com/espressif/esp-idf/issues/6559
2021-07-19 12:40:32 +08:00
Zim Kalinowski
469be5f7be Merge branch 'bugfix/newlib_FD_ISSET_v4.2' into 'release/v4.2'
newlib: Fix a case in FD_ISSET macro when n==-1 (v4.2)

See merge request espressif/esp-idf!13691
2021-07-19 04:32:55 +00:00
Jakob Hasse
9ba590cd47 [test_utils]: added extern C decl to ccomp
Closes https://github.com/espressif/esp-idf/issues/7121
2021-07-19 10:52:32 +08:00
wangmengyang
036a045b86 component/bt: fix some bugs in bluetooth controller(2fcbe897)
1. Fixed the crash when using scan parameter: window = 4 slots, interval = 5 slots
2. Fixed BLE ACL tx flush issue during reset
3. Added remove sniff when peer not accepted sniff mode
2021-07-19 08:12:48 +08:00
Mahavir Jain
5bb0706083 Merge branch 'bugfix/update_ota_cert_v4.2' into 'release/v4.2'
OTA examples: Update server certificate (v4.2)

See merge request espressif/esp-idf!14355
2021-07-18 14:17:50 +00:00
laokaiyao
8872c6a3ac driver/i2c: add notes to i2c deleteing function 2021-07-16 14:26:48 +08:00
Melissa LeBlanc-Williams
59d08d4467 dreiver/i2c: delete i2c cmd_mux semaphore more cleanly
Merges https://github.com/espressif/esp-idf/pull/6847
2021-07-16 14:26:48 +08:00
Zim Kalinowski
4663d3ec11 Merge branch 'docs/spi_max_transfer_sz_limit_v4.2' into 'release/v4.2'
spi_docs: Fixed the default value of max_transfer_sz_limit (backport v4.2)

See merge request espressif/esp-idf!14253
2021-07-16 06:24:15 +00:00
Zim Kalinowski
77b12f0659 Merge branch 'nimble/fix_broadcaster_role_v4.2' into 'release/v4.2'
NimBLE: Fix build error for broadcaster role and bug in peer_dev_record (v4.2)

See merge request espressif/esp-idf!14301
2021-07-16 06:18:18 +00:00
Shubham Kulkarni
e8a09a0135 OTA examples: Updated server certificate 2021-07-16 13:47:46 +08:00
yuanjm
c764c59893 esp_http_client: Optimize code structure 2021-07-15 16:26:43 +08:00
Clickau
7188eaaebf esp_http_client: fix truncated headers
Signed-off-by: yuanjm <yuanjianmin@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/6370
2021-07-15 16:26:39 +08:00
KonstantinKondrashov
1214dcea3a newlib: Fix a case in FD_ISSET macro when n==-1 2021-07-15 11:18:45 +08:00
Prasad Alatkar
bcdedf5501 Provisioning BLE: Add API to set manufacturer data in scan response
- Add `wifi_prov_scheme_ble_set_mfg_data` API to set custom manufacturer data
  in BLE advertisements.
- Run format.sh script on modified files.
- Fix few typos in `protocomm_nimble.c`.

- Incorporate suggestion to remove extra check on protocomm_ble_mfg_data_len

- Remove few unnecessary comments.
2021-07-14 18:25:20 +05:30
Chen Yi Qun
20e41d6265 fix esp32s2 fall into sleep forever when deep-sleep time is set to 0(backport v4.2) 2021-07-14 17:46:20 +08:00
Angus Gratton
21f4f460ca Merge branch 'bugfix/panic_handler_disable_wdts_early_v4.2' into 'release/v4.2'
esp_system: Reconfigure the WDTs at the start of the panic handler (v4.2)

See merge request espressif/esp-idf!14231
2021-07-14 08:47:15 +00:00
fuzhibo
0679862de2 Driver(Touch sensor): fix the touch sensor wait cycle after wakeup from sleep 2021-07-14 14:47:07 +08:00
Roland Dobai
68b6bc661b Merge branch 'bugfix/idf_tools_not_found_issue_v4.2' into 'release/v4.2'
tools: Catch OSError which is raised when the tool is not available (v4.2)

See merge request espressif/esp-idf!14134
2021-07-13 15:42:46 +00:00
Prasad Alatkar
b50711eec1 NimBLE: Fix build error for broadcaster role and bug in peer_dev_record (v4.2)
* Fix bug in nvs deletion of `ble_dev_record`.
* Update NimBLE submodule to nimble-1.2.0-idf.
2021-07-13 13:58:06 +08:00
Roland Dobai
4e0b8678e4 Merge branch 'bugfix/broken_virtualenv_v4.2' into 'release/v4.2'
tools: Reinstall virtualenv if it is broken (v4.2)

See merge request espressif/esp-idf!12952
2021-07-12 15:28:50 +00:00
Mahavir Jain
b3e2c714a7 Merge branch 'bugfix/pthread_join_debug_log_v4.2' into 'release/v4.2'
pthread: Fix possible deadlock when using pthread_join() and Debug log level (v4.2)

See merge request espressif/esp-idf!13777
2021-07-12 11:34:53 +00:00
Zim Kalinowski
96406ea6a5 Merge branch 'bugfix/prefetch_invalid_v4.2' into 'release/v4.2'
soc: add dummy bytes to ensure instr prefetch always valid (v4.2)

See merge request espressif/esp-idf!12994
2021-07-09 08:09:48 +00:00
Anton Maklakov
0f095e4732 Merge branch 'bugfix/cmake_export_ver_during_reqs_expansion_v4.2' into 'release/v4.2'
cmake: set IDF_VERSION_* variables at requirement expansion stage (v4.2)

See merge request espressif/esp-idf!14044
2021-07-09 05:41:11 +00:00
morris
49d1dc0fd3 Merge branch 'bugfix/timer_example_crashed_not_calling_timer_group_set_alarm_value_in_isr_v4.2' into 'release/v4.2'
driver/timer: fixed auto reload problem in default isr callback  (backport to 4.2)

See merge request espressif/esp-idf!13530
2021-07-06 12:44:07 +00:00
Angus Gratton
d685449314 esp_system: Reconfigure the WDTs at the start of the panic handler
This is mostly important on ESP32 ECO3 with the
ESP32_ECO3_CACHE_LOCK_FIX, because when we stall the other CPU core
before we disable the TG1 WDT then the first CPU can get stuck
in WDT ISR handle_livelock_int routine waiting for the other CPU.
2021-07-06 11:55:08 +10:00
Michael (XIAO Xufeng)
45984aceb3 spi_docs: Fixed the default value of max_transfer_sz.
(cherry picked from commit e89fabb963)
2021-07-05 14:05:04 +08:00
Michael (XIAO Xufeng)
1fe9b428f5 Merge branch 'bugfix/fix_bit_error_in_ledc_struct_backport_v4.2' into 'release/v4.2'
LEDC: fix bit error in ledc_struct.h(backport v4.2)

See merge request espressif/esp-idf!14163
2021-07-04 07:49:23 +00:00
Wang Meng Yang
884b8d319f Merge branch 'bugfix/attack_crash_for_release_v4.2' into 'release/v4.2'
bugfix/fix crash when lmp flooding

See merge request espressif/esp-idf!13825
2021-07-02 13:05:03 +00:00
Michael (XIAO Xufeng)
5684196707 Merge branch 'bugfix/i2s_apll_disable_issue_v4.2' into 'release/v4.2'
i2s: fix driver uninstall issue (backport v4.2)

See merge request espressif/esp-idf!14000
2021-07-02 10:55:47 +00:00
liaowenhao
65e19c0d1a bugfix/fix crash when lmp flooding 2021-07-01 20:07:45 +08:00
Krzysztof Budzynski
8ee8dcb3c5 Merge branch 'docs/windows_installer_2.9_backport_4.2' into 'release/v4.2'
docs: update Windows Tools 2.9 installation - backport 4.2

See merge request espressif/esp-idf!14190
2021-07-01 11:08:50 +00:00
Juraj Michálek
2bea91d089 docs: update Windows Tools 2.9 installation 2021-06-30 12:45:19 +02:00
Wang Meng Yang
f8470e8336 Merge branch 'bugfix/fix_data_length_callback_param_err_v4.2' into 'release/v4.2'
Fixed data length update callback parameters error (backport v4.2)

See merge request espressif/esp-idf!14172
2021-06-30 05:58:01 +00:00
Anton Maklakov
e3100dbecf Merge branch 'bugfix/gdbstub_threads_and_tests_v4.2' into 'release/v4.2'
gdbstub: fix thread list generation, add tests (v4.2)

See merge request espressif/esp-idf!14053
2021-06-30 04:28:22 +00:00
Angus Gratton
fbd2b60f52 Merge branch 'test/flash_perf_thr_update_by_grafana_avg_v4.2' into 'release/v4.2'
ci: adjust spi_flash performance value according to more test data (v4.2)

See merge request espressif/esp-idf!14117
2021-06-30 02:34:20 +00:00
Michael (XIAO Xufeng)
1d19a237b4 Update components/idf_test/include/esp32/idf_performance_target.h 2021-06-29 16:42:11 +08:00
Michael (XIAO Xufeng)
f7755f4175 ci: adjust spi_flash performance value according to more test data
After we have the performance dashboard, we have more data and no longer depend on the threshold to ensure performance.
Set looser performance thresholds to avoid CI failure.
2021-06-29 16:42:11 +08:00
zwj
a8e8eead70 - fix data length update failed
- fix no callback when the value being used is the same as the value to be set
2021-06-28 14:59:17 +08:00
Angus Gratton
bd9a6f32dd Merge branch 'bugfix/esp32s2_rom_address_range_backport_v4.2' into 'release/v4.2'
soc: Fix SOC_IROM_MASK_HIGH address (backport v4.2)

See merge request espressif/esp-idf!13662
2021-06-28 05:57:32 +00:00
Marius Vikhammer
54383f684f soc: add dummy bytes to ensure instr prefetch always valid
The CPU might prefetch instructions, which means it in some cases
will try to fetch instruction located after the last instruction in
flash.text.

Add dummy bytes to ensure fetching these wont result in an error,
 e.g. MMU exceptions
2021-06-26 08:54:46 +08:00
Chen Yi Qun
23c7a2c628 LEDC: fix bit error in ledc_struct.h(backport v4.2) 2021-06-25 20:51:04 +08:00
Jiang Jiang Jian
efa6eca8b8 Merge branch 'bugfix/update_esp32_phy_max_tx_power_v4.2' into 'release/v4.2'
esp_wifi: update esp32 phy max tx power(v4.2)

See merge request espressif/esp-idf!14140
2021-06-25 02:49:05 +00:00
Angus Gratton
cdb8690e63 Merge branch 'feature/ci_release_zips_v4.2' into 'release/v4.2'
ci: Use GitHub Actions to generate recursive source code zips for releases (v4.2)

See merge request espressif/esp-idf!13199
2021-06-24 23:42:56 +00:00
David Čermák
93921e042c Merge branch 'bugfix/mdns_one_shot_multicast_v4.2' into 'release/v4.2'
mdns: Support for One-Shot mDNS queries (v4.2)

See merge request espressif/esp-idf!14131
2021-06-24 18:48:23 +00:00
David Čermák
fa05924bc2 Merge branch 'bugfix/mqtt_examples_certificates_update_v4.2' into 'release/v4.2'
bugfix/mqtt examples: Updates the CA certificates used. (v4.2)

See merge request espressif/esp-idf!13126
2021-06-24 18:11:08 +00:00
David Čermák
0f5628a63d Merge branch 'bugfix/mdns_interface_del_crash_v4.2' into 'release/v4.2'
mdns: Fix of crash when wifi interface get deleted and mdns receives the packets(Backport v4.2)

See merge request espressif/esp-idf!13856
2021-06-24 16:23:53 +00:00
David Čermák
b694d36b7e Merge branch 'feature/mqtt_intro_new_modes_v4.2' into 'release/v4.2'
MQTT:  Update submodule reference to support new config modes (v4.2)

See merge request espressif/esp-idf!13708
2021-06-24 15:08:11 +00:00
Roland Dobai
54da845d7c tools: Reinstall virtualenv if it is broken
Closes https://github.com/espressif/esp-idf/issues/6656
2021-06-24 09:26:43 +02:00
Roland Dobai
68c1999df3 tools: Catch OSError which is raised when the tool is not available
Closes https://github.com/espressif/esp-idf/issues/7140
2021-06-24 09:16:56 +02:00
chenjianxing
96736a1cbd esp_wifi: update esp32 phy max tx power 2021-06-24 14:41:19 +08:00
Jiang Jiang Jian
c23a132698 Merge branch 'test/wifi_connect_with_full_scan_in_examples_v4.2' into 'release/v4.2'
example: set example wifi scan method to all channel (v4.2)

See merge request espressif/esp-idf!13913
2021-06-24 06:13:44 +00:00
Jiang Jiang Jian
60ccb3fecc Merge branch 'bugfix/fix_amsdu_fragment_vulnerability_v4.2' into 'release/v4.2'
esp_wifi: fix amsdu & fragment vulnerabilities(v4.2)

See merge request espressif/esp-idf!14099
2021-06-24 06:02:48 +00:00
David Cermak
af7f75268c MQTT: Update submodule reference to support new config modes
* Queueing publish messages to outbox when the client is not connected (default=off -> messages are queued if disconnected)
* Use of incremental msg-id instead of random id (default=off -> msg-id uses platform_random())
* Posting a new event-id if a queued message gets deleted from the outbox (default=off -> events are not posted)

Detailed description of included `esp-mqtt` changes
(da850b0add1e71b3659bfac5d797cc834dc3e89b...9ea804e0ab5368d5ab53ae2301a5fec9d1f12f1a)
* mqtt: Remove unused mqtt_header_state_t
  - esp-mqtt commit: b7158a4aea
  - esp-mqtt MR: espressif/esp-mqtt!84
  - Merges https://github.com/espressif/esp-mqtt/pull/180
* Cleanup public include dirs
  - esp-mqtt commit: f65d5d05db
  - esp-mqtt MR: espressif/esp-mqtt!85
* Config: Add a new option to use incremental message id
  - esp-mqtt commit: 8bb4a26f46
  - esp-mqtt MR: espressif/esp-mqtt!85
  - Closes https://github.com/espressif/esp-mqtt/issues/176
* Publish: Add new API to enqueue qos>0 messages
  - esp-mqtt commit: dc7fd5c0b1
  - esp-mqtt MR: espressif/esp-mqtt!85
  - Closes https://github.com/espressif/esp-mqtt/issues/155
* Config: Add a new option to disable publishing when disconnected
  - esp-mqtt commit: f44dcb1c26
  - esp-mqtt MR: espressif/esp-mqtt!85
  - Related https://github.com/espressif/esp-mqtt/issues/177
* Events: Add new event to report deleted messages from outbox
  - esp-mqtt commit: 2e35d4d4d5
  - esp-mqtt MR: espressif/esp-mqtt!85
* Publish: Allow for qos=0 messages to be stored using esp_mqtt_client_enqueue()
  - esp-mqtt commit: e2de0f3e3e
  - esp-mqtt MR: espressif/esp-mqtt!85
2021-06-24 14:01:35 +08:00
Euripedes Rocha
33416006d3 bugfix/mqtt examples: Updates the CA certificates used.
- Updates the CA certificates.
- Updates the URI names to reflect the new URI in the service used in
  the examples.

Closes IDFGH-4986
Closes https://github.com/espressif/esp-idf/issues/6776
2021-06-24 13:57:49 +08:00
Mahavir Jain
131ab4b92b Merge branch 'bugfix/http_client_test_memcorupt_v4.2' into 'release/v4.2'
ci/test: Fix esp_http_client test not to use pointer after free (v4.2)

See merge request espressif/esp-idf!13701
2021-06-24 05:52:27 +00:00
David Cermak
df752f4c46 mdns: Support for One-Shot mDNS queries 2021-06-24 06:59:11 +02:00
Jiang Jiang Jian
c6e0decf0a Merge branch 'bugfix/lwip_docs_delete_while_select_v4.2' into 'release/v4.2'
lw-IP: Add docs about not supported delete of task while blocked on select (v4.2)

See merge request espressif/esp-idf!13677
2021-06-24 04:04:07 +00:00
David Cermak
3810be0df5 ci/test: Fix esp_http_client test not to use pointer after free 2021-06-23 20:31:37 +02:00
David Cermak
b71752f41b lwip: Add docs about not supported delete of task while blocked on select 2021-06-24 02:00:39 +08:00
Anton Maklakov
f4b556fdf9 Merge branch 'bugfix/mqtt_test_publish_less_data_v4.2' into 'release/v4.2'
ci: Make the mqtt example test to send only portion of the partition (v4.2)

See merge request espressif/esp-idf!14112
2021-06-23 15:18:23 +00:00
Suren Gabrielyan
0a387f98de mdns: Fix of crash when wifi interface get deleted and mdns receives the packets
Closes https://github.com/espressif/esp-idf/issues/6973
2021-06-23 22:52:26 +08:00
David Cermak
afaff3bca3 ci: Make the mqtt example test to send only portion of the partition
This makes the test faster and more robust in very a busy WiFi environment
(our CI) and still exercises the scenario of fragmenting the message on
both mqtt and ssl levels (binary size to send > mqtt buffer size)
2021-06-23 08:27:44 +02:00
Angus Gratton
b20c5e3756 Merge branch 'feature/codeowners_v4.2' into 'release/v4.2'
add simplified CODEOWNERS file for older release branches (v4.2)

See merge request espressif/esp-idf!14091
2021-06-23 05:39:11 +00:00
Angus Gratton
54ac548cd4 Merge branch 'bugfix/esp32_u4wdh_quad_io_v4.2' into 'release/v4.2'
bootloader: Fix selection of Quad I/O modes on ESP32-U4WDH chip (v4.2)

See merge request espressif/esp-idf!13877
2021-06-23 05:37:51 +00:00
Wang Meng Yang
007bb3f9ed Merge branch 'bugfix/ble_set_scan_param_error' into 'release/v4.2'
Fix the bug when ble setting scan param

See merge request espressif/esp-idf!13973
2021-06-23 05:10:08 +00:00
xiongweichao
77f880ff2b fix spp acceptor deadlock 2021-06-23 11:01:17 +08:00
He Yin Ling
de2baf098b example: set example wifi scan method to all channel:
in CI example test we could have runners with same SSID in the same lab.
Use scan on all channel will let DUT connect to the AP with best RSSI.
2021-06-23 10:17:48 +08:00
Jiang Jiang Jian
ebbc093fd2 Merge branch 'bugfix/fix_a2dp_sink_blocked_v4.2' into 'release/v4.2'
Bugfix/Fix a2dp Sink Blocked Bugs[backport v4.2]

See merge request espressif/esp-idf!14011
2021-06-22 13:12:03 +00:00
ChenJianxing
12ed1b2ab5 esp_wifi: fix amsdu & fragment vulnerabilities 2021-06-22 20:42:09 +08:00
Angus Gratton
036356ccba Merge branch 'bugfix/override_cmake_python_v4.2' into 'release/v4.2'
cmake: Minor Python CMake build fixes (v4.2)

See merge request espressif/esp-idf!13195
2021-06-22 07:45:17 +00:00
Ivan Grokhotkov
6f382600e4 add simplified CODEOWNERS file for older release branches 2021-06-22 09:21:51 +02:00
Angus Gratton
23a0ecedbf Merge branch 'feature/prevent_unwind_code_linking_4.2' into 'release/v4.2'
[C++]: prevent unwind code linking (backport 4.2)

See merge request espressif/esp-idf!13801
2021-06-22 04:48:45 +00:00
Angus Gratton
d938ab8fd4 Merge branch 'feature/update_libsodium_submodule_v4.2' into 'release/v4.2'
libsodium: Update library to v1.0.18 (v4.2)

See merge request espressif/esp-idf!13082
2021-06-22 03:06:44 +00:00
Anton Maklakov
3c4cfdfcd6 Merge branch 'bugfix/ci_socket_tests_v4.2' into 'release/v4.2'
ci: Made socket example tests more robust (v4.2)

See merge request espressif/esp-idf!13707
2021-06-22 02:05:01 +00:00
Angus Gratton
d8b921c438 Merge branch 'bugfix/link_gcov_rtio_backport_v4.2' into 'release/v4.2'
Bugfix/link gcov rtio backport v4.2

See merge request espressif/esp-idf!13832
2021-06-22 00:43:01 +00:00
Angus Gratton
0b45e84e2a Merge branch 'bugfix/ldgen_ignore_nonexistent_archives_and_obj_v4.2' into 'release/v4.2'
ldgen: Check mappings (v4.2)

See merge request espressif/esp-idf!13994
2021-06-21 23:20:59 +00:00
David Cermak
90b6780b1e ci: Made socket tests more robust
Added common timeout
Added debug logs for both addr families
Renamed example tests to have different names
2021-06-22 01:10:42 +08:00
Michael (XIAO Xufeng)
cb1a2642b6 Merge branch 'bugfix/spi_flash_cs_setup_v4.2' into 'release/v4.2'
spi_flash: fix cs line setup to make the flash driver more stable(backport v4.2)

See merge request espressif/esp-idf!13965
2021-06-21 14:33:02 +00:00
liqigan
a4f6af013c fix a2dp sink RxSbcQ bugs
Closes https://github.com/espressif/esp-idf/issues/6712
Closes https://github.com/espressif/esp-idf/issues/7100
2021-06-21 20:14:34 +08:00
Island
9ac6689a5d Merge branch 'feat/ble_mesh_make_unprov_beacon_interval_configurable_v4.2' into 'release/v4.2'
Feat/ble mesh make unprov beacon interval configurable (v4.2)

See merge request espressif/esp-idf!14062
2021-06-21 11:39:41 +00:00
Anton Maklakov
dcf4d1fa8c Merge branch 'bugfix/loadable_elf_test_eco3_v4.2' into 'release/v4.2'
tests: gdb_loadable_elf: adjust the breakpoint location for ESP32 ECO3 (v4.2)

See merge request espressif/esp-idf!14040
2021-06-21 04:39:04 +00:00
wangjialiang
00008a3bf5 ble_mesh: stack: Fix crash for net_key_del when subnet is NULL 2021-06-21 11:24:13 +08:00
wangjialiang
f227f0ebe6 ble_mesh: stack: Make unprovisioned beacon interval configurable.
Closes https://github.com/espressif/esp-idf/issues/6722
2021-06-21 11:24:00 +08:00
Island
ea7b487807 Merge branch 'bugfix/AuthValue_leak_v4.2' into 'release/v4.2'
ble_mesh: stack: Fix AuthValue Leak and Predictable AuthValue in Bluetooth... (v4.2)

See merge request espressif/esp-idf!14023
2021-06-21 03:08:53 +00:00
Ivan Grokhotkov
0adf0f85dd gdbstub: fix thread list generation
This commit fixes an issue with gdbstub, where it would list threads
with TIDs 1 to N in qfThreadInfo/qsThreadInfo responses, and then
would tell GDB that the current TID is 0 in the qC response. This
caused an assertion failure in GDB, because it couldn't find the
thread structure corresponding to TID 0:

src/gdb/gdb/thread.c:93: internal-error: thread_info* inferior_thread(): Assertion `tp' failed.

The issue was caused by the logic of qfThreadInfo/qsThreadInfo.
If the "paniced" task index was 1, the code would report it in the
response to qfThreadInfo, and then mistakenly skip task with index 0
in qsThreadInfo, due to the use of pre-increment instead of a
post-increment.

With that issue fixed, GDB assertion doesn't happen anymore. However
the code contained a deeper problem, which manifested itself in the
fact that GDB would incorrectly show task index 0 as the current task,
after the above fix.

Previous version of the code assumed that when GDB requests the thread
list, it uses the first thread returned by the target as the "default"
thread, and subsequently shows the user that the program is stopped
in that thread. This assumption was incorrect. In fact, after
connecting to a remote target, GDB obtains information about the
"default" or "current" thread from two sources:
1. the 'thread' special register indicated in the status response
   ($T00thread;00000001#ee)
2. if the target has only sent the plain stop response ($T00#ee), GDB
   would ask for the current thread using a qC packet.
With that in mind, it is not necessary to report the paniced task as
the first task in qfThreadInfo response. We can simply returns the
tasks in their natural order, and then indicate the current task in
the qS packet response.

However even that change does not fully resolve the issues with task
list. The previous version of this code also incorrectly interpreted
the meaning of GDB TIDs -1 and 0. When GDB sends an "Hg0" command
early in the connection process, it doesn't expect the server to set
task 0 as the current task, as the code assumed. Rather, it tells the
server to "set any (arbitrary) task as the current one", and the most
logical thing to do for the server that is already in "stopped" state
is to keep the current task selection.

Since TID 0 has a special meaning in GDB remote protocol, gdbstub code
is now modified to map task indices (which start from 0) to GDB TIDs.
GDB TIDs are arbitrary, and for simplicity we keep the same order and
start counting them from 1.

The summary of all the above changes is:

1. Use "task index + 1" as the TID reported to GDB
2. Report the tasks in natural order; don't complicate the code to
   make the paniced task first in the list.
3. Centralize modification of 'current_task_index' and 'regfile'
   in the new 'set_active_task' function, to improve encapsulation.
2021-06-18 16:02:10 +02:00
Ivan Grokhotkov
55f233b945 docs: describe power management logic for ESP32-S2, fix translation 2021-06-18 15:40:35 +02:00
Ivan Grokhotkov
19121e2f6f cmake: set IDF_VERSION_* variables at requirement expansion stage
Currently IDF_VERSION_* variables are not available to the component
CMakeLists.txt files at the requirements expansion stage. This makes
it harder to write component CMakeLists files compatible with
different IDF versions.

Include version.cmake from the requirements expansion script, add a
build system test.
2021-06-18 15:27:33 +02:00
Ivan Grokhotkov
2a81167470 tests: gdb_loadable_elf: adjust the breakpoint location for ESP32 ECO3
The previous location was the return from the first ets_printf call
that prints ROM sign-on message. Since the main function was patched
in ECO3, the new address no longer works — there is no instruction at
0x40007901 in ECO3 ROM. This could be solved by setting two
breakpoints (one would work for ECO <=2, the other for ECO3), but we
would need to remove the unused breakpoint later.
Fix this by setting the breakpoint at ets_printf. This means that when
debugging a loadable ELF the ROM sign-on message will no longer be
shown, but this doesn't seem to be an issue.
2021-06-18 15:09:47 +02:00
Krzysztof Budzynski
d7acee288d Merge branch 'feature/link_idf_common_docs_v4.2' into 'release/v4.2'
docs: Linking to a page to help navigate to documentation for specific ESP32-x chip (v4.2)

See merge request espressif/esp-idf!13843
2021-06-18 10:06:12 +00:00
Aditya Patwardhan
1cdf60c914 libsodium: Update library to v1.0.18 2021-06-18 16:40:15 +08:00
Angus Gratton
681e71cb10 Merge branch 'bugfix/elf_sha256_first_byte_skip_v4.2' into 'release/v4.2'
app_update: fix incorrect first byte from esp_ota_get_app_elf_sha256 (v4.2)

See merge request espressif/esp-idf!13663
2021-06-18 08:00:18 +00:00
wangjialiang
3212d62b2b ble_mesh: stack: Fix AuthValue Leak and Predictable AuthValue in Bluetooth Mesh Provisioning Leads to MITM 2021-06-18 14:21:02 +08:00
Island
7166428ac0 Merge branch 'bugfix/impersonation_attacks_and_AuthValue_disclosure_v4.2' into 'release/v4.2'
ble_mesh: stack: Add check the value of Provisioning Random & Confirmation... (v4.2)

See merge request espressif/esp-idf!13923
2021-06-18 06:11:46 +00:00
He Yin Ling
333b9d7873 Merge branch 'bugfix/example_test_socket_issue_4.2' into 'release/v4.2'
CI: example test socket issue (4.2)

See merge request espressif/esp-idf!13905
2021-06-18 06:04:42 +00:00
Krzysztof Budzynski
b0a51f30bb Merge branch 'docs/add_esp32-s2-devkitm-1_user_guide_backport' into 'release/v4.2'
Add ESP32-S2-DevKitM-1 User Guide (backport master)

See merge request espressif/esp-idf!13860
2021-06-18 06:01:03 +00:00
Krzysztof Budzynski
dd27b49891 Merge branch 'doc/nvs_get_used_entry_count__clarify_4.2' into 'release/v4.2'
[doc]: NVS documentation updates (backport 4.2)

See merge request espressif/esp-idf!13824
2021-06-18 05:59:08 +00:00
Angus Gratton
9b48e5a024 Merge branch 'bugfix/ci_ble_wifi_example_test_v4.2' into 'release/v4.2'
Fix for ble and wifi example test (v4.2)

See merge request espressif/esp-idf!13803
2021-06-18 05:39:38 +00:00
Angus Gratton
cd8173bc13 pthread: Fix possible deadlock when using pthread_join() and Debug log level
Possible for a joined task to be deleted at the moment it is logging,
meaning it might hold the stdout lock. In that case the lock isn't
released and the next task to try and take it (i.e. call printf)
will block indefinitely.
2021-06-18 13:37:31 +08:00
Angus Gratton
a637d6f3d7 Merge branch 'ci/unify_all_target_test_artifacts_paths_v4.2' into 'release/v4.2'
ci: unify target test artifacts to all .log file and $LOG_PATH (v4.2)

See merge request espressif/esp-idf!13849
2021-06-18 05:37:30 +00:00
Angus Gratton
2d72e916ac Merge branch 'update/version_4_2_2' into 'release/v4.2'
Update version to 4.2.2

See merge request espressif/esp-idf!13984
2021-06-18 05:23:04 +00:00
Itay Perl
881909ecda app_update: fix incorrect first byte from esp_ota_get_app_elf_sha256
At -O2 optimization level, GCC seems to optimize out the copying of the
first byte of the checksum, assuming it is zero. This "miscompilation"
happens because the esp_app_desc struct is declared const, but then modified
post-compilation. Casting to volatile disables the optimization.

Closes: https://github.com/espressif/esp-idf/pull/6389
2021-06-17 17:32:31 +08:00
morris
813931720e i2s: fix driver uninstall issue 2021-06-17 14:18:21 +08:00
Renz Bagaporo
eed6eed909 components: fix ldgen check errors 2021-06-17 12:36:34 +10:00
laokaiyao
9a14cf083f driver/timer: only re-enable alarm in callback when auto reload is true
closes https://github.com/espressif/esp-idf/issues/7001
2021-06-17 10:30:44 +08:00
Renz Bagaporo
ea7d9c6368 ci: exempt upstream libmbedtls mapping for sha256 2021-06-17 12:21:53 +10:00
Renz Bagaporo
711048bce0 ldgen: fix sections info parsing
Fixes an issure where the first part of an object file name is not
included, due to matching the rule for a section entry previously.

Reduce depedency on matching literal strings in sections which might
change depending on toolchain (ex. matching 'elf32-xtensa-le')

Make sure parsing rule succeeds for the entirety of the sections info
string by adding 'parseAll=True'.

Add test for sections info parsing.
2021-06-17 12:21:53 +10:00
Renz Bagaporo
2c1c4999f5 ci: enabled ldgen mapping check in ci 2021-06-17 12:20:58 +10:00
Renz Bagaporo
5aa09271d8 ldgen: allow checking mappings 2021-06-17 12:18:02 +10:00
wangjialiang
34bfff424a ble_mesh: stack: Add check the value of Provisioning Random & Confirmation sent and received by provisioner 2021-06-16 21:29:02 +08:00
He Yin Ling
7ab8f793ca versions: Update version to 4.2.2 2021-06-16 14:49:39 +08:00
Yang Zhao
24578ac17b bugfix:Set address resolution enable. If not set enable and the filter
policy is 2 or 3, the controller will reply with invalid param error.
2021-06-15 16:14:23 +08:00
Wang Fang
1bb087d6af docs: Correct uart default pin names and provid more information about ESP-Prog board 2021-06-15 15:37:05 +08:00
Cao Sen Miao
8c16b4bcb3 spi_flash: fix cs line setup to make the flash driver more stable 2021-06-15 15:24:35 +08:00
Jiang Jiang Jian
1e36383909 Merge branch 'bugfix/handling_public_action_frame_v4.2' into 'release/v4.2'
esp_wifi: Fix SoftAP crash by handling public action frames.

See merge request espressif/esp-idf!13927
2021-06-11 05:19:05 +00:00
aditi_lonkar
1e8fca74f2 esp_wifi: Fix SoftAP crash by adding NULL check for handling publc action frames.
Closes https://github.com/espressif/esp-idf/issues/7109
2021-06-10 18:47:27 +05:30
Jiang Jiang Jian
32c63fca90 Merge branch 'bugfix/fix_pmf_ba_issue_v4.2' into 'release/v4.2'
fix pmf ba issue ( v4.2)

See merge request espressif/esp-idf!13901
2021-06-10 12:20:49 +00:00
Angus Gratton
f23c9d94ae bootloader: Fix selection of Quad I/O modes on ESP32-U4WDH chip
Closes https://github.com/espressif/esp-idf/issues/6191
2021-06-09 05:10:21 +00:00
Island
4921446d3d Merge branch 'bugfix/btdm_enable_gattc_cache_will_crash_v4.2' into 'release/v4.2'
component/bt: fix enable gattc nvs cache lead to crash

See merge request espressif/esp-idf!13889
2021-06-09 03:46:27 +00:00
Chen Yudong
443c9ff276 test: fix socket issue in iperf example test 2021-06-08 17:11:38 +08:00
He Yin Ling
06c7cde836 test: fix iperf example errors:
1. fix TypeError when running with python3
2. fix throughput chart x/y axis label error
3. make test case compatibile with iperf bin on earlier release branches
2021-06-08 17:08:29 +08:00
Chen Yudong
c26317ac90 CI: fix connection failures in asio example tests 2021-06-08 17:05:04 +08:00
He Yin Ling
96a00e59f4 example: set PMF capable to connect to PMF required APs 2021-06-08 16:07:09 +08:00
chenjianxing
36c2ef2828 esp_wifi: fix Block Ack issue when pmf enable 2021-06-08 16:06:24 +08:00
xiewenxiang
8491705b63 component/bt: fix enable gattc nvs cache lead to crash 2021-06-07 17:34:47 +08:00
Island
2c5f35fa8a Merge branch 'bugfix/bt_impersonation_passkey_fix_v4.2' into 'release/v4.2'
Bluedroid: Check only x component of passkey to avoid passkey impersonation attack. (v4.2)

See merge request espressif/esp-idf!13759
2021-06-07 07:24:00 +00:00
Ivan Grokhotkov
e632f2b366 Merge branch 'feature/IDF-2612_human_readable_error_v4.2' into 'release/v4.2'
export.bat/install.bat: print human-readable error message if Git or Python are not in PATH (v4.2)

See merge request espressif/esp-idf!13227
2021-06-07 06:08:15 +00:00
Ivan Grokhotkov
72f4f9542c Merge branch 'feature/installed_tool_failed_v4.2' into 'release/v4.2'
tools: Warning about tool being installed but failed to run. (v4.2)

See merge request espressif/esp-idf!13231
2021-06-07 06:07:54 +00:00
Ivan Grokhotkov
cbe42f1132 Merge branch 'bugfix/gdbgui_v4.2' into 'release/v4.2'
tools: Add various fixes for idf.py gdbgui (v4.2)

See merge request espressif/esp-idf!13417
2021-06-07 06:07:13 +00:00
Ivan Grokhotkov
8aa7eaa646 Merge branch 'bugfix/idfpy_global_action_callbacks_order_v4.2' into 'release/v4.2'
idf.py: Run global_action_callbacks in predictable order (v4.2)

See merge request espressif/esp-idf!13682
2021-06-07 06:06:54 +00:00
Ivan Grokhotkov
d21e948381 Merge branch 'feature/idf_tools_github_mirror_v4.2' into 'release/v4.2'
Add GitHub mirror option for IDF tools installs (v4.2)

See merge request espressif/esp-idf!13765
2021-06-07 06:06:31 +00:00
Ivan Grokhotkov
b50a8e0878 Merge branch 'bugfix/dfu_split_large_bins_v4.2' into 'release/v4.2'
tools: Split up large binaries into smaller chunks in the DFU binary (v4.2)

See merge request espressif/esp-idf!13794
2021-06-07 06:05:46 +00:00
Wang Ning
a5ffdaa962 Add ESP32-S2-DevKitM-1 User Guide
Update 1 based on comments

Fix typo

Add annotation to UFL connector

Add UFL connector to description table
2021-06-04 11:01:29 +08:00
Fu Hanxi
95f4bba736 ci: unify target test artifacts to all .log file and $LOG_PATH 2021-06-03 17:34:03 +08:00
Krzysztof
a954243875 docs: Linking to a page that helps navigate to documentation for specific ESP32-x chip 2021-06-03 08:13:03 +02:00
Angus Gratton
fa734e6af8 Merge branch 'bugfix/partition_table_integrity_check_v4.2' into 'release/v4.2'
paritition_table: Verify the partition table md5sum when loading in the app (v4.2)

See merge request espressif/esp-idf!13583
2021-06-03 02:19:11 +00:00
Angus Gratton
ca44fb1528 Merge branch 'bugfix/rtc_retain_mem_addr_v4.2' into 'release/v4.2'
bootloader: Fix "skip validate in deep sleep" on ESP32 & ESP32-S2 (v4.2)

See merge request espressif/esp-idf!13813
2021-06-03 02:18:59 +00:00
Alexey Gerenkov
0a5fbc1b8c gcov: Fixes not linked gcov rtio functions 2021-06-02 21:48:29 +03:00
Jakob Hasse
5dbca18324 [doc]: NVS documentation updates
* Better comment of nvs_get_used_entry_count()
* Mention C++ example in API reference
* WIP: Used target instead of hard code ESP32
* Note that strings can only span one page
* Reflect that item types have been moved
* Some clarification about nvs_commit()
* Improved reference to the ESP Partition API
* fixed little mistake in documenting-code.rst
* Change of nvs_open_from_part() to
  nvs_open_from_partition() reflected in docs
* Corrected documentation of
  NVSHandle::get_string(), NVSHandle::get_blob()
  and NVSHandle::get_item_size().

* Closes IDF-1563
* Closes IDF-859
* Closes https://github.com/espressif/esp-idf/issues/6123
2021-06-02 15:46:13 +08:00
Angus Gratton
f8b9cb2864 paritition_table: Verify the partition table md5sum when loading the app
Additionally, always enable the partition MD5 check if flash encryption is on in
Release mode. This ensures the partition table ciphertext has not been modified
(CVE-2021-27926).

The exception is pre-V3.1 ESP-IDF bootloaders and partition tables, which
don't have support for the MD5 entry.
2021-06-02 06:35:45 +00:00
Roland Dobai
7b70154566 tools: Split up large binaries into smaller chunks in the DFU binary
ROM will erase the region a partition is in as soon as it receives the
first bit of the data that is in the partition. For large partitions it
takes more than 5 seconds to erase which is a hard-coded limit in
dfu-utils.

This splits large binaries and adds them by chunks which should avoid
timing-out during flashing.

Closes https://github.com/espressif/esp-idf/issues/6999
2021-06-01 15:11:12 +02:00
Angus Gratton
fd50bcf704 bootloader: Fix "skip validate in deep sleep" on ESP32 & ESP32-S2
Regression in 83bf2e1ac1, this memory region was shifted from fast to slow RTC
memory (no change on ESP32-C3 as no RTC fast memory on this chip.)
2021-06-01 19:07:15 +10:00
Shivani Tipnis
be960bc3dc ble-wifi-example-tests: Add fixes and cleanups to ble and wifi tests
(cherry picked from commit 2d22374460)
2021-06-01 12:43:59 +05:30
Jakob Hasse
dd08575c29 [C++]: wrapper functions around unwind code
* Replaced all C++ exception related
  functions with wrappers if -fno-exception
  is used. This prevents linking of the
  corresponding code in libgcc. The code
  size will decrease by around 7-9 KB when
  building with -fno-exception.
* added no except test app

Closes https://github.com/espressif/esp-idf/pull/5380
Closes https://github.com/espressif/esp-idf/issues/5363
Closes https://github.com/espressif/esp-idf/issues/5224
Closes IDFGH-3153
Closes IDF-2577
2021-06-01 15:09:46 +08:00
Chinmay Chhajed
c1e204634f Bluedroid: Check only x component of passkey to avoid passkey impersonation attack. 2021-05-31 05:10:59 +00:00
daiziyan
96d00c5fa5 add CN translation for index.rst in get started section for MR10616 2021-05-31 11:05:04 +10:00
Anton Maklakov
054d3b81a6 tools: windows installer: Modify IDF's archive mirror link 2021-05-31 11:05:04 +10:00
Ivan Grokhotkov
daeaa8092b tools: windows installer: add support for IDF_GITHUB_ASSETS
Adds a checkbox to download tools from dl.espressif.com mirror.
2021-05-31 11:05:04 +10:00
Angus Gratton
56b4596b53 tools: Use GitHub download URLs for all files that can be downloaded from GitHub 2021-05-31 11:05:04 +10:00
Angus Gratton
bebc75af48 idf_tools: Add option to replace all GitHub tools download URLs with dl.espressif.com
Via new IDF_GITHUB_ASSETS environment variable.
2021-05-31 11:04:00 +10:00
Angus Gratton
71cf821659 Merge branch 'bugfix/calc_8m_freq_test_v4.2' into 'release/v4.2'
rtc: increase CI acceptance range for calc 8M test (v4.2)

See merge request espressif/esp-idf!13086
2021-05-30 23:46:14 +00:00
Jiang Jiang Jian
652e214f55 Merge branch 'mesh/esp_mesh_send_block_time_v4.2' into 'release/v4.2'
esp_wifi_mesh: add esp_mesh_send_block_time to set blocking time of esp_mesh_send(backport v4.2)

See merge request espressif/esp-idf!13409
2021-05-27 10:50:28 +00:00
shenjun
345e6acf80 esp_wifi_mesh: add esp_mesh_send_block_time
1. Ignore dirtyBuf check when buffer size is larger than 4092
2. Add esp_mesh_send_block_time to set blocking time of esp_mesh_send
2021-05-27 08:27:39 +00:00
Jiang Jiang Jian
e8e6021ada Merge branch 'docs/add_rf_calib_docs_v4.2' into 'release/v4.2'
docs: add RF calibration docs for ESP32-S2(v4.2)

See merge request espressif/esp-idf!13723
2021-05-27 08:06:12 +00:00
Jiang Jiang Jian
df0ca79bdb Merge branch 'bugfix/btdm_set_discoverable_after_create_server_v4.2' into 'release/v4.2'
components/bt: Set discoverable after create server

See merge request espressif/esp-idf!13726
2021-05-26 08:26:30 +00:00
Jiang Jiang Jian
ca77bdddbf Merge branch 'bugfix/fix_uart_handler_call_inline_func_v42' into 'release/v4.2'
Bugfix/fix uart handler call inline func (backport v4.2)

See merge request espressif/esp-idf!13005
2021-05-26 03:45:29 +00:00
Jiang Jiang Jian
e459f7b498 Merge branch 'bugfix/cmake_ulp_reserved_size_v4.2' into 'release/v4.2'
ulp: Fix bug where ULP linker script not regenerated for new config (v4.2)

See merge request espressif/esp-idf!13629
2021-05-26 03:43:55 +00:00
Jiang Jiang Jian
841aca897c Merge branch 'feature/extmem_alloc_for_s2_v4.2' into 'release/v4.2'
External memory allocation policy support  for ESP32-S2 (GitHub PR) (v4.2)

See merge request espressif/esp-idf!13620
2021-05-26 03:43:13 +00:00
Jiang Jiang Jian
b860069c10 Merge branch 'bugfix/start_emac_after_phy_reset_v4.2' into 'release/v4.2'
esp_eth: restart negotiation in esp_eth_start (v4.2)

See merge request espressif/esp-idf!13699
2021-05-26 03:36:38 +00:00
baohongde
bb1aa0ed5e components/bt: Set discoverable after create server 2021-05-26 11:35:07 +08:00
Jiang Jiang Jian
481da3143d Merge branch 'bugfix/ds_invalidate_assert_v4.2' into 'release/v4.2'
esp32s2 ds: Fix invalidating Digital Signature key from HMAC peripheral if assertions are disabled (v4.2)

See merge request espressif/esp-idf!12906
2021-05-26 03:30:45 +00:00
Jiang Jiang Jian
536d6eea61 Merge branch 'bugfix/aes_dma_completion_v4.2' into 'release/v4.2'
mbedtls: Fix AES dma completion race condition (v4.2)

See merge request espressif/esp-idf!12904
2021-05-26 03:30:18 +00:00
He Yin Ling
176ea97dd0 Merge branch 'test/support_multiple_targets_for_iperf_example_test_v4.2' into 'release/v4.2'
test: support multiple targets for iperf example test (v4.2)

See merge request espressif/esp-idf!13618
2021-05-26 03:11:56 +00:00
He Yin Ling
ca2a15dca7 Merge branch 'ci/ttfw_fix_dut_exception_not_added_to_junit_report_v4.2' into 'release/v4.2'
ttfw: fix DUT exception not added to junit report (v4.2)

See merge request espressif/esp-idf!12142
2021-05-26 03:11:26 +00:00
chenjianxing
5d88861dba docs: add RF calibration docs for ESP32-S2 2021-05-26 10:58:38 +08:00
Jiang Jiang Jian
f8e633a352 Merge branch 'ajust_espnow_channel_config_range_v4.2' into 'release/v4.2'
adjust espnow channel range

See merge request espressif/esp-idf!13689
2021-05-25 15:41:16 +00:00
Jiang Jiang Jian
9e40c13d4e Merge branch 'bugfix/invalid_feat_page_exec_v4.2' into 'release/v4.2'
bt controller: Fixed handling for invalid feature page.

See merge request espressif/esp-idf!13572
2021-05-25 14:51:24 +00:00
Angus Gratton
6e0c046bd9 mbedtls tests: Add optional debug log output to AES stream tests 2021-05-25 14:36:47 +00:00
Angus Gratton
9e1324fbbb mbedtls aes dma: Fix bug where DMA would complete when the first output descriptor was done, not the last 2021-05-25 14:36:47 +00:00
Jiang Jiang Jian
95c118171a Merge branch 'bugfix/backport_some_lwip_bugs_0428_v4.2' into 'release/v4.2'
lw-ip:backport bugfix lwip for v4.2(backport v4.2)

See merge request espressif/esp-idf!13378
2021-05-25 14:27:42 +00:00
Angus Gratton
2af8fac1d9 esp32s2 ds: Fix invalidating Digital Signature key from HMAC peripheral if assertions are disabled 2021-05-25 14:22:55 +00:00
Jiang Jiang Jian
93c28d1fac Merge branch 'bugfix/phy_calib_data_to_nvs_for_c3_s3_v4.2' into 'release/v4.2'
esp_wifi: re-enable phy calibration data to nvs for esp32s2

See merge request espressif/esp-idf!13626
2021-05-25 14:19:54 +00:00
Jiang Jiang Jian
97ed80f415 Merge branch 'nimble/fix_ble_sm_sc_pub_key_v4.2' into 'release/v4.2'
NimBLE: Fix MITM vulnerability and free AES context (v4.2)

See merge request espressif/esp-idf!13597
2021-05-25 14:17:55 +00:00
Jiang Jiang Jian
b18f37b2e2 Merge branch 'bugfix/ag_use_dynamic_memory_error_v4.2' into 'release/v4.2'
Fix ag use dynamic memory error

See merge request espressif/esp-idf!13551
2021-05-25 14:17:18 +00:00
Prasad Alatkar
0ca5134d5f NimBLE: Fix MITM vulnerability and free AES context (v4.2) 2021-05-25 09:21:12 +00:00
xueyunfei
a7c17edc8a backport bugfix lwip for v4.2 2021-05-25 09:06:28 +00:00
Jiang Jiang Jian
bab80796ca Merge branch 'bugfix/remove_redundant_other_core_cache_disable_v4.2' into 'release/v4.2'
[system]: Remove redundant othercore cache disable (backport v4.2)

See merge request espressif/esp-idf!13357
2021-05-25 09:05:33 +00:00
Jiang Jiang Jian
c219c9dcb2 Merge branch 'bugfix/fix_set_channel_error_after_wifi_stop_v4.2' into 'release/v4.2'
esp_wifi: Fix setting channel error after WiFi stop (backport v4.2)

See merge request espressif/esp-idf!13447
2021-05-25 08:09:39 +00:00
morris
e892fed593 esp_eth: restart negotiation in esp_eth_start 2021-05-25 15:17:48 +08:00
Michael (XIAO Xufeng)
18a262a6fa Merge branch 'ci/decrease_flash_performance_thr_4.2' into 'release/v4.2'
ci: decrease the flash performance threshold (4.2)

See merge request espressif/esp-idf!13632
2021-05-25 07:11:14 +00:00
baohongde
7988705558 components/bt: Delete BLE ADV priority high 2021-05-25 15:10:49 +08:00
xiongweichao
8e7f7dfe59 Remove btc_hf_idx_by_bdaddr in both btc_hf_init and btc_hf_deinit functions 2021-05-25 07:06:22 +00:00
xiongweichao
b257ad7d9e fix ag use dynamic memory error 2021-05-25 07:06:22 +00:00
Chinmay Chhajed
4d95ffcca2 bt controller: Fixed handling for invalid feature page. 2021-05-25 10:39:25 +05:30
wangmengyang
adb20fb2f3 components/bt: fix PATH of libbtdm_app.a in build script 2021-05-25 10:39:25 +05:30
dongyou
a8227a1d13 adjust espnow channel range 2021-05-25 11:21:53 +08:00
Michael (XIAO Xufeng)
d2715324e5 Merge branch 'bugfix/fix_touch_sensor_power_source_v4.2' into 'release/v4.2'
touch_sensor: fix esp32s2 touch sensor default power source (Backport v4.2)

See merge request espressif/esp-idf!13485
2021-05-25 03:13:32 +00:00
Sergei Silnov
2deea3b1b0 Run global_action_callbacks in predictable order 2021-05-24 18:14:44 +02:00
Darian Leung
f837b298e6 soc: Fix SOC_IROM_MASK_HIGH address
The high address limit IROM on the esp32s2 is incorrect, thus
causing backtrace printing to think valid function PCs are invalid.
2021-05-24 15:22:16 +08:00
He Yin Ling
e60640ab04 ttfw: fix DUT exception not added to junit report 2021-05-21 08:37:28 +00:00
Michael (XIAO Xufeng)
899c7852a4 ci: decrease the flash performance threshold 2021-05-21 13:03:36 +08:00
Angus Gratton
be74e06e50 ulp: Fix bug where ULP linker script not regenerated for new config
ULP linker script relies on value of CONFIG_ESP32S2_ULP_COPROC_RESERVE_MEM,
when this value changes in config then it should be regenerated.
2021-05-21 10:56:05 +10:00
chenjianxing
d3e730ff57 esp_wifi: re-enable phy calibration data to nvs for esp32s2 2021-05-20 22:13:39 +08:00
Marcel Kottmann
06bf491f13 mbedtls: Allow external mem alloc for ESP32-S2
Closes https://github.com/espressif/esp-idf/pull/6998
Closes IDFGH-5226
2021-05-20 15:22:07 +05:30
He Yin Ling
54bf4dccfa test: support multiple targets for iperf example test 2021-05-20 17:09:53 +08:00
Island
d9ec7df393 Merge branch 'nimble/fix_host_flow_ctrl_v4.2' into 'release/v4.2'
NimBLE: Fix host flow control in NimBLE porting layer and host (release/v4.2)

See merge request espressif/esp-idf!13571
2021-05-19 08:52:23 +00:00
Angus Gratton
71cddbdf8f Merge branch 'bugfix/fe_example_test_args' into 'release/v4.2'
ci: fix flash encryption example test esptool args (4.2)

See merge request espressif/esp-idf!13539
2021-05-19 06:58:48 +00:00
Angus Gratton
a699475df2 Merge branch 'bugfix/fix_ppos_ci_python3' into 'release/v4.2'
CI: fix ppos test app python3 error (v4.2)

See merge request espressif/esp-idf!13592
2021-05-19 06:58:41 +00:00
Marius Vikhammer
b5976a7167 CI: fix error when running pppos test app with python3
Socket.sendall expects bytes in python3, not strings
2021-05-19 11:42:42 +08:00
Prasad Alatkar
1c7340d229 NimBLE: Update submodule to fix host flow control bugs. 2021-05-18 18:10:19 +05:30
Prasad Alatkar
b3e1829f10 NimBLE: Fix host flow control in NimBLE porting layer.
- Register `ble_hs_flow_acl_free` callback in NimBLE porting layer.
2021-05-17 14:16:19 +05:30
Kang Zuoling
2515cd72c1 touch_sensor: fix esp32s2 touch sensor default power source 2021-05-15 13:52:37 +08:00
Jiang Jiang Jian
8a841d7cdf Merge branch 'bugfix/gtk_reinstallation_fix_v4.2' into 'release/v4.2'
wpa_supplicant: Prevent reinstallation of an already in-use group key (v4.2)

See merge request espressif/esp-idf!13182
2021-05-13 04:30:53 +00:00
Hrudaynath Dhabe
31d05a5072 wpa_supplicant: Group key reinstallation fixes
This commit reverts previous commit for GTK reinstallation fix
and corrects original fix.
2021-05-13 12:30:44 +08:00
Jiang Jiang Jian
bfb7c66a9f Merge branch 'bugfix/timer_spinlock_iram_v4.2' into 'release/v4.2'
timer: add IRAM_ATTR to spinlock give/take API (v4.2)

See merge request espressif/esp-idf!13512
2021-05-13 04:30:02 +00:00
Marius Vikhammer
3bb84e7738 ci: fix flash encryption example test esptool args
Esptool submodule got updated which changed the function signature for EncryptFlashDataArgs.

Update example test script to reflect the new function signature
2021-05-13 11:05:32 +08:00
Marius Vikhammer
ff4ca61cc6 timer: add IRAM_ATTR to spinlock give/take API
Closes https://github.com/espressif/esp-idf/issues/6824
2021-05-11 15:32:37 +08:00
Angus Gratton
f195a1d8ae Merge branch 'bugfix/otatool_wrong_switch_ota_partition_slots_v4.2' into 'release/v4.2'
otatool: Fix incorrect using otadata.seq&crc in switch_ota_partition cmd (v4.2)

See merge request espressif/esp-idf!13368
2021-05-11 01:27:53 +00:00
Angus Gratton
d52331849e Merge branch 'bugfix/flash_rodata_any_alignement_v4.2' into 'release/v4.2'
build: Fix cache issue and add dedicated section for (Custom) App version info (backport v4.2)

See merge request espressif/esp-idf!13465
2021-05-11 01:03:12 +00:00
Jiang Jiang Jian
d29cce7f0a Merge branch 'bugfix/fix_some_pm_issue_v4.2' into 'release/v4.2'
esp_pm: add an interface to get pm configuration (backport to v4.2)

See merge request espressif/esp-idf!13124
2021-05-10 03:45:55 +00:00
Jiang Jiang Jian
6b47fcdbdc Merge branch 'bugfix/correct_cod_check_v4.2' into 'release/v4.2'
esp-idf: Corrected check of Class of Device for discovered devices (v4.2)

See merge request espressif/esp-idf!13020
2021-05-10 03:45:35 +00:00
Jiang Jiang Jian
9a2362b5c7 Merge branch 'nimble/add_error_prints_acl_buf_v4.2' into 'release/v4.2'
NimBLE: Add error prints for ACL buffer exhaustion in NPL (v4.2)

See merge request espressif/esp-idf!12969
2021-05-10 03:45:08 +00:00
Jiang Jiang Jian
abe7a9d020 Merge branch 'bugfix/wifi_softap_deep_sleep_current_opt_v4.2' into 'release/v4.2'
backport v4.2: optimize deep sleep current in wifi softap mode

See merge request espressif/esp-idf!13393
2021-05-10 03:44:29 +00:00
Jiang Jiang Jian
9f63baf061 Merge branch 'bugfix/generate_value_0_when_prov_auth_v4.2' into 'release/v4.2'
ble_mesh: stack: Fix provisioning input or output count number should be at least 1 (v4.2)

See merge request espressif/esp-idf!13479
2021-05-10 03:42:24 +00:00
Omar Chebib
bf4320ba68 ci: fix flasher_args.json parser (iterate over dictionary)
Closes IDFCI-347
2021-05-10 11:18:09 +08:00
Omar Chebib
5c175721e9 ci: use "encrypted" information in flasher_args.json
Take into account the new field "encrypted" that is part of the
partition entries in flasher_args.json file
Closes IDF-2231
2021-05-10 11:18:09 +08:00
Omar Chebib
78ea042e7d esptool: Update esptool to have merge adjacent sections feature 2021-05-10 11:18:09 +08:00
Ivan Grokhotkov
af7b21851e freertos: fix TLS run-time address calculation
Since dd849ffc, _rodata_start label has been moved to a different
linker output section from where the TLS templates (.tdata, .tbss)
are located. Since link-time addresses of thread-local variables are
calculated relative to the section start address, this resulted in
incorrect calculation of THREADPTR/$tp registers.

Fix by introducing new linker label, _flash_rodata_start, which points
to the .flash.rodata output section where TLS variables are located,
and use it when calculating THREADPTR/$tp.

Also remove the hardcoded rodata section alignment for Xtensa targets.
Alignment of rodata can be affected by the user application, which is
the issue dd849ffc was fixing. To accommodate any possible alignment,
save it in a linker label (_flash_rodata_align) and then use when
calculating THREADPTR. Note that this is not required on RISC-V, since
this target doesn't use TPOFF.
2021-05-10 11:18:09 +08:00
Omar Chebib
974b8dd4c4 build: (Custom) App version info is now on a dedicated section, independent of the rodata alignment
It is now possible to have any alignment restriction on rodata in the user
applicaiton. It will not affect the first section which must be aligned
on a 16-byte bound.

Closes https://github.com/espressif/esp-idf/issues/6719
Closes https://github.com/espressif/esp-idf/issues/6976
2021-05-10 11:17:58 +08:00
Jiang Jiang Jian
87da4bccd4 Merge branch 'bugfix/btdm_fix_multi-con_pair_failed_and_cancle_con_state_err_v4.2' into 'release/v4.2'
fix multi con pair failed and cancel con state err (backport v4.2)

See merge request espressif/esp-idf!13475
2021-05-08 12:53:35 +00:00
wangjialiang
c68f520389 ble_mesh: stack: Fix provisioning input or output count number should be at least 1
Closes https://github.com/espressif/esp-idf/issues/6863
2021-05-08 11:49:25 +08:00
Krzysztof Budzynski
232786235b Merge branch 'docs/update_CN_buildsystem_v4.2' into 'release/v4.2'
update CN translation for build-system for v4.2

See merge request espressif/esp-idf!13291
2021-05-08 03:36:01 +00:00
Dai Zi Yan
61fdb62c54 update CN translation for build-system for v4.2 2021-05-08 11:35:56 +08:00
Island
c4155d4b47 Merge branch 'bugfix/endianness_in_output_or_input_oob_v4.2' into 'release/v4.2'
ble_mesh: stack: Fix endianness error in output or input oob data of number (v4.2)

See merge request espressif/esp-idf!13255
2021-05-07 13:45:15 +00:00
zwj
34e8265821 update con state when getting connection cancle complete 2021-05-07 20:47:34 +08:00
zwj
3ebcb25fb1 fix multi-connection pair failed 2021-05-07 20:46:50 +08:00
Wang Meng Yang
7223c8db5b Merge branch 'bugfix/btdm_incorrectly_spelled_v4.2' into 'release/v4.2'
component/bt: fix Spelling mistakes (release v4.2)

See merge request espressif/esp-idf!12816
2021-05-07 08:10:02 +00:00
Angus Gratton
fc7bf950f3 Merge branch 'bugfix/freertos_addition_overflow_v4.2' into 'release/v4.2'
freertos: Fix addition overflow (v4.2)

See merge request espressif/esp-idf!13423
2021-05-07 07:52:31 +00:00
wangjialiang
c37b15fa22 ble_mesh: stack: Fix endianness error in output or input oob data of number
Closes https://github.com/espressif/esp-idf/issues/6862
2021-05-07 03:33:59 +00:00
Michael (XIAO Xufeng)
e3fd4b097b Merge branch 'bugfix/spi_fix_duplex_switch_v4.2' into 'release/v4.2'
spi_master: fix duplex mode switch issue for multi devices (4.2)

See merge request espressif/esp-idf!11233
2021-05-06 07:43:40 +00:00
xiehang
86141ad01c esp_wifi: Fix setting channel error after WiFi stop 2021-05-06 11:40:57 +08:00
He Yin Ling
223cf48c26 Merge branch 'bugfix/python3_target_test_4.2' into 'release/v4.2'
ci: run target test with python3

See merge request espressif/esp-idf!12755
2021-05-06 02:19:19 +00:00
Angus Gratton
6d9d40e888 Merge branch 'bugfix/fix_bootloader_time_too_long_bug_v4.2' into 'release/v4.2'
esp32s2: decrease boot up and cpu start up time (backport v4.2)

See merge request espressif/esp-idf!12729
2021-05-06 02:03:10 +00:00
Angus Gratton
45c90be913 Merge branch 'update/version_4_2_1' into 'release/v4.2'
Update version to 4.2.1

See merge request espressif/esp-idf!13390
2021-05-05 23:12:32 +00:00
Krzysztof Budzynski
e7dc6eb8da Merge branch 'bugfix/doxygen_input_file_bug_v4.2' into 'release/v4.2'
docs: fix doxygen compile warnings for doxygen 1.9.1 (v4.2)

See merge request espressif/esp-idf!13076
2021-05-05 10:14:19 +00:00
Marius Vikhammer
56e7cb0c70 docs: fix doxygen compile warnings for doxygen 1.9.1
Newer versions of doxygen will give warnings for comments in
INPUT lists

Delete all comment lines to fix these warnings, our folder structure
stil gives an OK overview of what we are including
2021-05-05 18:14:19 +08:00
Krzysztof Budzynski
ad095f555b Merge branch 'docs/update_ESP32-S2-Kaluga-Kit_user_guide' into 'release/v4.2'
Update kaluga user guides for v1.3

See merge request espressif/esp-idf!12895
2021-05-05 10:11:36 +00:00
chaijie
e349f1b484 esp32s2: Decrease boot up time by delete useless slow clock calibration 2021-05-05 06:57:05 +00:00
Angus Gratton
be8295a918 Merge branch 'bugfix/ttfw_example_test_fails_port_remains_open_v4.2' into 'release/v4.2'
ci: Fix CI issue if one example test fails, and if serial port returns some noise (v4.2)

See merge request espressif/esp-idf!12381
2021-05-04 23:25:45 +00:00
Angus Gratton
c8912b79a6 freertos: Check for arithmetic overflows on queue creation
Addition overflow check is from FreeRTOS kernel commit 47338393f1f79558f6144213409f09f81d7c4837
2021-05-04 18:35:04 +10:00
Angus Gratton
5b932aa144 cmake: Improve the error message if the Python interpreter fails to run
RESULT_VARIABLE will return a string not a number in this case, so display it
for the user.
2021-05-04 07:54:20 +00:00
Angus Gratton
c52417eaba cmake: Set IDFTOOL variable using the correct PYTHON interpreter variable 2021-05-04 07:54:20 +00:00
Angus Gratton
48d075f87b cmake: Fix passing PYTHON path via CMake variable if using IDF as library
Closes https://github.com/espressif/esp-idf/issues/6285
2021-05-04 07:54:20 +00:00
Mahavir Jain
ec510fdf18 Merge branch 'bugfix/deep_sleep_skip_verify_rtc_mem_heap_v4.2' into 'release/v4.2'
Fix bootloader "skip validate on exiting deep sleep" option if "use RTC memory as heap" is enabled (v4.2)

See merge request espressif/esp-idf!13097
2021-05-03 13:44:06 +00:00
Mahavir Jain
e8f5b76112 Merge branch 'bugfix/fix_mbedtls_send_alert_crash_v4.2' into 'release/v4.2'
mbedtls: fix mbedtls dynamic resource memory leaks and mbedtls_ssl_send_alert_message crash due to ssl->out_iv is NULL[backport v4.2]

See merge request espressif/esp-idf!13301
2021-05-03 13:37:36 +00:00
Mahavir Jain
0f0cfb2cbc Merge branch 'bugfix/esp_http_client_read_v4.2' into 'release/v4.2'
Fix esp_http_client_read for file size aligned to 289 bytes (v4.2)

See merge request espressif/esp-idf!13306
2021-05-03 13:36:51 +00:00
Roland Dobai
62589fa251 tools: Add various fixes for idf.py gdbgui
Closes https://github.com/espressif/esp-idf/issues/5968
2021-05-03 11:43:36 +02:00
Angus Gratton
1cffa733a5 ci: Use GitHub Actions to generate recursive source code zips for releases
We do this for all ESP-IDF releases, this step automates it.

Uses action added in https://github.com/espressif/github-actions/pull/10
2021-05-03 04:19:49 +00:00
Li Shuai
f16e8cb48e deep sleep: optimize sleep current in wifi softap mode 2021-04-29 10:51:42 +08:00
He Yin Ling
21ecef5c56 versions: Update version to 4.2.1 2021-04-29 10:13:07 +08:00
yuanjm
532912b025 mbedtls: Fix mbedtls_ssl_send_alert_message crash due to ssl->out_iv is NULL 2021-04-28 09:11:15 +00:00
Dong Heng
176d6fa4d0 fix(mbedtls): fix mbedtls dynamic resource memory leaks and RSA cert drop earlier
RX process caches the session information in "ssl->in_ctr" not in "ssl->in_buf".
So when freeing the SSL, can't free the "ssl->in_ctr", because the "ssl->in_buf"
is empty.

Make the RX process like TX process, and cache the session information in
"ssl->in_buf", so that the cache buffer can be freed when freeing the SSL.

Closes https://github.com/espressif/esp-idf/issues/6104
2021-04-28 09:11:15 +00:00
Shubham Kulkarni
7ad3837244 esp_http_client_read: Add check for esp_http_client_is_complete_data_received before returning ESP_FAIL
Closes: https://github.com/espressif/esp-idf/issues/6772
2021-04-28 05:01:11 +00:00
KonstantinKondrashov
e7f75e6559 otatool: Fix incorrect using otadata.seq&crc in switch_ota_partition cmd
Closes: https://github.com/espressif/esp-idf/issues/6773
2021-04-27 19:39:50 +08:00
wuzhenghui
03e6d07b50 remove othercore cache disable 2021-04-27 14:39:49 +08:00
Marek Fiala
c71b1f6d4d Human-readable error if Git or Python are missing.
When user forgot to add git.exe or python to the PATH, there was a not
very helpful error message.
This improves the error with which tool is misssing and shows a link to
the espressif installer tool.
2021-04-26 14:12:07 +02:00
Marek Fiala
40b7ea1f95 tools: Warning about tool beiing installed but failed to run.
idf_tool.py runs "<tool> --version" which returns the error message but it is not used
This improves the error printing.
2021-04-26 13:57:45 +02:00
Natasha
48d3badc0f update kaluga user guides for v1.3 2021-04-26 07:07:54 +00:00
Chen Yudong
fa270d72c7 ci: using python3 to tun target test 2021-04-26 06:35:42 +00:00
Angus Gratton
baaf4de703 ci: Fix missing sys.stdout.encoding in python2 runners
Regression in fed98cd6ad
2021-04-23 23:09:58 +00:00
Angus Gratton
34a84c829c ci: ttfw: Encode serial port data to whatever the console encoding is
This is a bit of a hack, but gives us a way to always log it
2021-04-23 23:09:58 +00:00
Angus Gratton
340e2dff12 ci: Log failure to close any DUT 2021-04-23 23:09:58 +00:00
Angus Gratton
c8d15588e5 Merge branch 'bugfix/rtc_fast_memory_force_on_in_use_for_heap_backport_v4.2' into 'release/v4.2'
Bugfix/rtc fast memory force on in use for heap (backport v4.2)

See merge request espressif/esp-idf!12873
2021-04-23 09:06:40 +00:00
David Čermák
deaad551c4 Merge branch 'bugfix/mdns_configure_strict_mode_v4.2' into 'release/v4.2'
mdns: Fix mdns to correctly answer non-strict queries (+ additional fixes) (v4.2)

See merge request espressif/esp-idf!13122
2021-04-22 11:09:58 +00:00
David Cermak
19634e34e9 mdns: Fixed the ip header TTL to be correctly set to 255
Defined in https://tools.ietf.org/html/rfc6762#section-11: All Multicast DNS responses (including responses sent via unicast)
   SHOULD be sent with IP TTL set to 255
2021-04-22 08:32:43 +00:00
David Cermak
4f4640b1df mdns: Fix parsing answers with questions when instance name not set
mdns resolver didn't correctly resolved queries when host name wasn't
assigned. Fixed by allowing processing also if some answer present
(non-strict mode)

Closes https://github.com/espressif/esp-idf/issues/6598
2021-04-22 08:32:43 +00:00
David Cermak
92e511a5b6 mdns: Fix the resolver to correctly parse it's own non-strict answers
The resolver was able to respond correctly, but would also resolve its
own queries and cause issues with BCT 1.5.2, specifically
* MULTIPLE QUESTIONS - DUPLICATE SUPPRESSION
* MULTIPLE QUESTIONS - DISTRIBUTED DUPLICATE SUPPRESSION
tests failed.
2021-04-22 08:32:43 +00:00
suren.gabrielyan
7064eb9729 mdns: Add MDNS_STRICT_MODE config option
Strict mode was hardcoded in private header file, but it's useful for
users to enable/disable it depending on the mdns library they are using.
e.g. Avahi might not resolve the non-strict answers.
2021-04-22 08:32:43 +00:00
Jiang Jiang Jian
a7b419b652 Merge branch 'bugfix/e8192_and_assert_param_v4.2' into 'release/v4.2'
Modify E8192 ELx200 ELx40 log level to LOGD

See merge request espressif/esp-idf!13148
2021-04-21 08:48:00 +00:00
baohongde
6ed64c2a2d Synchronize multiple branch of bt lib(release/v4.1 ~ master) 2021-04-21 04:07:59 +00:00
xiongweichao
ac179dcd99 Modify E8192 ELx200 ELx40 log level to LOGD 2021-04-21 04:07:59 +00:00
Angus Gratton
82801321e8 Merge branch 'bugfix/secure_boot_v2_had_zeros_blk2_after_en' into 'release/v4.2'
secure_boot_v2: Fix case when BLOCK2 is left blank

See merge request espressif/esp-idf!13243
2021-04-21 01:15:40 +00:00
KonstantinKondrashov
4200af3e26 secure_boot_v2: Fix case when BLOCK2 is left blank
Closes: https://github.com/espressif/esp-idf/issues/6886
2021-04-20 23:23:32 +00:00
Angus Gratton
46560be284 Merge branch 'bugfix/ci/ci_fetch_submodule_fully_match_return_first_v4.2' into 'release/v4.2'
fix(ci): ci_fetch_submodule return full match name first (v4.2)

See merge request espressif/esp-idf!13211
2021-04-20 23:22:21 +00:00
Fu Hanxi
bbc05c5095 fix(ci): ci_fetch_submodule return full match name first 2021-04-19 20:21:07 +08:00
Angus Gratton
8de16142a5 bootloader: Fix "skip validate on exit deep sleep" when "Use RTC fast memory as heap" is enabled
RTC region used to store boot partition needs to remain reserved in the app.
2021-04-16 10:50:55 +10:00
ninh
e378ecd6cf esp_pm: add an interface to get pm configuration (backport to v4.2) 2021-04-13 17:15:35 +08:00
Marius Vikhammer
d20b442af2 rtc: increase CI acceptance range for calc 8M test 2021-04-09 15:06:20 +08:00
Juraj Michálek
e74fbf6608 tools: handle exception in case of logging Unicode characters 2021-04-06 19:16:39 +02:00
Rahul Tank
726ce37b14 esp-idf: Corrected check of Class of Device for discovered devices
Current code stopped inquiry if major class is not Phone. Modified the
condition to consider for both Phone and Audio to cover majority of real
world devices.

Closes https://github.com/espressif/esp-idf/issues/6548
2021-04-05 15:29:31 +05:30
aleks
df079d4ca9 soc/uart: update uart low level functions used in isr with force inline attribute 2021-03-31 17:46:17 +02:00
Prasad Alatkar
2ec1b7434e NimBLE: Add error prints for ACL buffer exhaustion in NPL 2021-03-31 10:43:19 +05:30
Michael (XIAO Xufeng)
cf53feff6f Merge branch 'bugfix/touch_sensor_reading_error_in_light_sleep_process_backport_v4.2' into 'release/v4.2'
Bugfix/touch sensor reading error in light sleep process (backport v4.2)

See merge request espressif/esp-idf!12880
2021-03-26 16:01:47 +00:00
fuzhibo
2f5eba9263 driver(touch): fix touch sensor false trigger in sleep mode 2021-03-26 10:57:50 +08:00
Michael (XIAO Xufeng)
f4e11dce34 Merge branch 'bugfix/clear_interrupt_in_touch_sensor_initialization_backport_v4.2' into 'release/v4.2'
Bugfix/clear interrupt in touch sensor initialization (backport v4.2)

See merge request espressif/esp-idf!12883
2021-03-25 11:04:44 +00:00
fuzhibo
a866f0d8f6 fix: clear interrupt in touch sensor initialization 2021-03-25 11:14:24 +08:00
Michael (XIAO Xufeng)
dd56e9523b Merge branch 'bugfix/fix_driver_dac_ci_fail_backport_v4.2' into 'release/v4.2'
bugfix(dac): fix testcase fail for dac (backport v4.2)

See merge request espressif/esp-idf!12882
2021-03-25 01:21:54 +00:00
Michael (XIAO Xufeng)
e66ac8b2e5 Merge branch 'bugfix/freemodbus_fix_mbm_event_processing_v42' into 'release/v4.2'
Bugfix/freemodbus fix mbm event processing (backport v4.2)

See merge request espressif/esp-idf!12823
2021-03-25 01:18:45 +00:00
Michael (XIAO Xufeng)
a607e0651c Merge branch 'bugfix/uart_read_o2_v4.2' into 'release/v4.2'
hal: workaround for UART FIFO read on ESP32 with -O2 optimization (backport v4.2)

See merge request espressif/esp-idf!12658
2021-03-25 01:17:14 +00:00
Michael (XIAO Xufeng)
b06b8273ee Merge branch 'bugfix/fix_rtc_wdt_in_light_sleep_process_backport_v4.2' into 'release/v4.2'
bugfix: rtc: compile the regi2c_ctrl.c code to iram (backport v4.2)

See merge request espressif/esp-idf!12881
2021-03-24 16:06:50 +00:00
Michael (XIAO Xufeng)
7dbd5e1855 Merge branch 'bugfix/fix_uart_module_enable_issue_v4.2' into 'release/v4.2'
driver(uart): fix uart module reset issue (release V4.2)

See merge request espressif/esp-idf!11969
2021-03-24 11:05:00 +00:00
Jiang Jiang Jian
dbaee379ba Merge branch 'bugfix/fix_coex_reset_last_wait_lose_iram_attr_4_2' into 'release/v4.2'
bugfix/btdm:Fix IRAM_ATTR missing. Backports v4.2

See merge request espressif/esp-idf!12073
2021-03-24 10:27:24 +00:00
fuzhibo
4fb18da50b bugfix(dac): fix testcase fail for dac 2021-03-24 15:50:31 +08:00
fuzhibo
60b604ae6d rtc: compile the regi2c_ctrl.c code to iram 2021-03-24 15:43:47 +08:00
Jiang Jiang Jian
f2f42c4bfc Merge branch 'bugfix/fix_some_wifi_bugs_0323_v4.2' into 'release/v4.2'
esp_wifi: Fix some WiFi bugs (backport v4.2)

See merge request espressif/esp-idf!12859
2021-03-24 07:39:29 +00:00
Jiang Jiang Jian
74649219f4 Merge branch 'bugfix/adc_full_scale_voltages_v4.2' into 'release/v4.2'
docs: Update full-scale voltages for ESP32-S2 chip (v4.2)

See merge request espressif/esp-idf!12208
2021-03-24 04:14:44 +00:00
Ivan Grokhotkov
1c6ab10a70 hal: workaround for UART FIFO read on ESP32 with -O2 optimization 2021-03-24 04:12:42 +00:00
Hou Wen Xiang
c8ef66abad driver(uart): fix uart module reset issue (release V4.2) 2021-03-24 04:10:39 +00:00
Jiang Jiang Jian
c04489cede Merge branch 'bugfix/dport_init_min_stack_size_v4.2' into 'release/v4.2'
freertos: Increase minimum task stack size when stack smashing checker is enabled (v4.2)

See merge request espressif/esp-idf!12799
2021-03-24 04:06:45 +00:00
fuzhibo
9cb875949c fix: RTC_FAST_MEM always power on if used for heap 2021-03-24 11:52:55 +08:00
xiehang
8507f1f777 esp_wifi: Fix some WiFi bugs
1. Unlock mutex for esp_wifi_80211_tx when out of memory.
2. Fix issue that esp_wifi_80211_tx can't be used in ap mode.
3. Clear hotspot bss when auth timeout happens.
4. Fix PMK not saved in NVS for SoftAP for PSK mode.
5. Fix the bug for esptouch find hidden AP fail.
6. Fix not connect to open AP when WPA3 auth fail.
7. Fix issue with hidden AP scans after connecting AP.
8. Fix the watchdog issue when receiving action frame.
9. Fix the issue that the parameters obtained form RAM cannot be saved to NVS.
10.Modify not to store the default value in NVS.
11.Delete interface STATIONAP_IF.
12.Modify the _do_wifi_start and _do_wifi_stop parameters to mode.
13.Fixed issue of reason code change from 15 to 204 when provide wrong password.
14.Fix set config return value error.
15.Fix ampdu age timer memory leak.
2021-03-24 03:40:01 +00:00
Jiang Jiang Jian
bb067c0883 Merge branch 'bugfix/btdm_assert_without_sw_coex_enable_v4.2' into 'release/v4.2'
components/bt: Fix assert without sw coexist enabled

See merge request espressif/esp-idf!12527
2021-03-24 03:23:58 +00:00
Jiang Jiang Jian
0c1ff94823 Merge branch 'bugfix/wpa_supplicant_coverity_issue_fixes_v4.2' into 'release/v4.2'
Bugfix/wpa supplicant coverity issue fixes v4.2

See merge request espressif/esp-idf!12849
2021-03-23 16:04:03 +00:00
Jiang Jiang Jian
def9153200 Merge branch 'mesh/ps_duty_signaling_backport_v4.2' into 'release/v4.2'
mesh/ps: network duty signaling (backport v4.2)

See merge request espressif/esp-idf!12810
2021-03-23 16:02:56 +00:00
XieWenxiang
bfa07bb9d8 component/bt: Modify some ambiguous descriptions (release v4.2) 2021-03-23 23:10:51 +08:00
Jiang Jiang Jian
f8307bcd4e Merge branch 'bugfix/spp_data_send_delay_v4.2' into 'release/v4.2'
Bugfix/spp data send delay v4.2

See merge request espressif/esp-idf!11772
2021-03-23 08:42:05 +00:00
Jiang Jiang Jian
1d227bbb2e Merge branch 'bugfix/crash_on_enabling_verbose_logs_v4.2' into 'release/v4.2'
Fixes issue of crashing when verbose logs are enabled.(v4.2)

See merge request espressif/esp-idf!12845
2021-03-23 08:41:41 +00:00
gengyuchao
d7ea6266b7 Fix coex IRAM missing and Fix C2H flow control issue 2021-03-23 15:47:50 +08:00
shenjun
ad5ef10343 mesh/ps: network duty signaling 2021-03-23 14:57:17 +08:00
Jiang Jiang Jian
20256c5dfd Merge branch 'bugfix/btdm_controller_task_watchdog_in_wifi_test_v4.2' into 'release/v4.2'
Fix controller task watchdog in Wi-Fi test

See merge request espressif/esp-idf!12708
2021-03-23 06:54:00 +00:00
aditi_lonkar
c083d7278d esp_http_client: Fix some memory leak issues by coverity static analyzer. 2021-03-23 11:11:20 +05:30
aditi_lonkar
d417ba0c11 esp_local_ctrl: Fix some memory leak issues by coverity static analyzer. 2021-03-23 11:10:58 +05:30
aditi_lonkar
d734c533a5 wifi_provisioning: Fix some memory leak issues by coverity static analyzer. 2021-03-23 11:10:36 +05:30
aditi_lonkar
c9f2790474 wpa_supplicant: Fix some memory leak issues by coverity static analyzer. 2021-03-23 11:09:52 +05:30
aditi_lonkar
98d19efe6f tcp_transport: Fix some memory leak issues by coverity static analyzer. 2021-03-23 11:09:21 +05:30
aditi_lonkar
4407c9eb83 fatfs: Fix some memory leak issues by coverity static analyzer. 2021-03-23 11:08:12 +05:30
aditi_lonkar
f8c691faaf esp_wifi: Fixes issue of crashing when verbose logs are enabled. 2021-03-23 10:30:32 +05:30
Anton Maklakov
5151fb52ec Merge branch 'bugfix/test_sha_psram' into 'release/v4.2'
CI: disable performance check for PSRAM config

See merge request espressif/esp-idf!12829
2021-03-23 03:53:59 +00:00
Jiang Jiang Jian
399ab25967 Merge branch 'bugfix/fix_wifi_interface_use_v4.2' into 'release/v4.2'
esp_wifi: Modify ESP_IF_WIFI_STA to WIFI_IF_STA (backport v4.2)

See merge request espressif/esp-idf!12166
2021-03-22 14:34:24 +00:00
xiehang
f90b14175c esp_wifi: Modify ESP_IF_WIFI_AP to WIFI_IF_AP 2021-03-22 09:09:58 +00:00
xiehang
1ef10dc284 esp_wifi: Modify ESP_IF_WIFI_STA to WIFI_IF_STA 2021-03-22 09:09:58 +00:00
Jiang Jiang Jian
59d3116e41 Merge branch 'bufix/ag_deep_copy_crash_v_4_2' into 'release/v4.2'
components/bt: Fix crash in btc_hf_arg_deep_copy when name or number is NULL

See merge request espressif/esp-idf!12789
2021-03-22 08:01:23 +00:00
Jiang Jiang Jian
b58d888b77 Merge branch 'bugfix/ping_zero_interval_cause_to_assert_reset_v4.2' into 'release/v4.2'
lw-ip: Fixed ping assert reset when ping interval is 0 (v4.2)

See merge request espressif/esp-idf!12174
2021-03-22 07:59:16 +00:00
Anton Maklakov
e4c021757c Merge branch 'ci/ignore_check_link_result_v4.2' into 'release/v4.2'
CI: ignore result from check_doc_links (v4.2)

See merge request espressif/esp-idf!12783
2021-03-22 03:40:17 +00:00
Marius Vikhammer
fa62dfd5f9 CI: disable performance check for PSRAM config
The cache compensated timer performance check ocasionally
wrong result for psram_2 config. Disabled CI test for now.
2021-03-22 11:39:49 +08:00
Jiang Jiang Jian
fd032425f1 Merge branch 'mesh/support_for_chain_topology_backport_v4.2' into 'release/v4.2'
mesh: support for chain topology (backport v4.2)

See merge request espressif/esp-idf!12806
2021-03-22 03:27:49 +00:00
Chen Wu
c8f8def780 lwip: Fixed ping assert reset when ping interval is 0 2021-03-22 03:26:42 +00:00
aleks
d340fa68aa freemodbus: fix event processing after merge 2021-03-19 15:05:27 +01:00
Jiang Jiang Jian
c9cf7bcb0e Merge branch 'bugfix/fix_some_wifi_bugs_0105_v4.2' into 'release/v4.2'
Bugfix/fix some wifi bugs 0105 v4.2 (backport v4.2)

See merge request espressif/esp-idf!11921
2021-03-19 12:09:01 +00:00
Mahavir Jain
98e703340b Merge branch 'feature/update_wifi_provisioning_readme_v4.2' into 'release/v4.2'
provisioning: Update README.md to explain QR code format [backport v4.2]

See merge request espressif/esp-idf!12803
2021-03-19 10:33:56 +00:00
yuanjm
9ca4799b20 provisioning: update README.md 2021-03-19 06:08:12 +00:00
mjcross
66c533b3d5 provisioning: Update README.md to explain QR code format
Add examples of how to create a QR code that will be recognised by the iOS or Android app

Signed-off-by: yuanjm <yuanjianmin@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/6629
2021-03-19 06:08:12 +00:00
Angus Gratton
9bd9e939ba freertos: Add a small additional stack when optimization set to None
Fix for occasional crash on startup when DPORT task overwrites its stack during
context switch, otherwise.
2021-03-19 12:21:14 +08:00
Angus Gratton
7fc2f91841 freertos: Increase minimum task stack size when stack smashing checker is enabled
Fixes issue with DPORT init task, this task uses minimum stack size and may not be
enough if stack smashing detection is set to Overall mode.

Also reworks the way we calculate minimum stack to allow for adding multiple
contributing factors.

Closes https://github.com/espressif/esp-idf/issues/6403
2021-03-19 12:19:58 +08:00
Jiang Jiang Jian
eedcb8c97f Merge branch 'bugfix/fix_iperf_example_exception_handling_for_no_ap_found_v4.2' into 'release/v4.2'
bugfix/fix_iperf_example_exception_handling_for_no_ap_found_v4.2

See merge request espressif/esp-idf!12268
2021-03-19 04:04:00 +00:00
Jiang Jiang Jian
e305c09b12 Merge branch 'bugfix/pm_dump_format_v4.2' into 'release/v4.2'
esp_pm: fix formatting issues in esp_pm_dump_locks (backport v4.2)

See merge request espressif/esp-idf!12022
2021-03-19 04:01:46 +00:00
Jiang Jiang Jian
0d5286471a Merge branch 'component_bt/optimize_spp_stop_server_v4.2' into 'release/v4.2'
component_bt/Optimize SPP Stop Server API[backport v4.2]

See merge request espressif/esp-idf!12620
2021-03-19 04:01:17 +00:00
shenjun
42fc36ef17 mesh: support for chain topology 2021-03-19 11:37:20 +08:00
xiehang
50bc7db63a esp_wifi: Update WiFi lib
1. Change wifi scan duration from 120ms to 100ms
2. Using deport reg instead of ahb
3. Revert to report specific reason code when receiving deauth during 4-way-handshark
4. Fix the bug that tx ampdu parameter is not from peer device
5. Faster WiFi station connect improvement, avoid 100ms passive scan
6. Add FCS failed packets filter
7. Fix country code last byte to space instead of NULL
8. Fix softap cannot forward A-MSDU
9. Fix max tx power to 20dBm
10. Fix the issue that the esp_wifi_sta_get_ap_info can't get country
11. Update esp32 phy lib to v4660
12. Update esp32s2 phy lib to v1300
13. Fix the bug that esp32s2 can't get CSI info
2021-03-19 03:02:26 +00:00
xiehang
07ca98b5f0 esp_wifi: ESP32 phy add [sections:phy_iram] 2021-03-19 03:02:26 +00:00
ChenJianxing
4650db0841 esp_wifi: optimize phy version log 2021-03-19 03:02:26 +00:00
ronghulin
349b0b5ec5 bugfix: fix some wifi bugs
1. fix max tx power to 20dBm
2. fix the issue that the esp_wifi_sta_get_ap_info can't get country

Closes https://github.com/espressif/esp-idf/issues/6267
2021-03-19 03:02:26 +00:00
xiongweichao
f6f644bf81 components/bt: Fix crash in btc_hf_arg_deep_copy when name or number is NULL 2021-03-18 20:20:19 +08:00
Jiang Jiang Jian
8b0ac7f81e Merge branch 'bugfix/extern_c_decl_4.2' into 'release/v4.2'
[cxx]: fixed extern "C" declarations (backport v4.2)

See merge request espressif/esp-idf!12742
2021-03-18 07:29:20 +00:00
Marius Vikhammer
7aeaf604c2 CI: ignore result from check_doc_links
check_doc_links will always fail due to:
 * No rate limitation for requests
 * Not being able to handle github links with anchors
2021-03-18 13:17:46 +08:00
Jiang Jiang Jian
747ecb27d0 Merge branch 'bugfix/idf_size_total_size_without_bss_v4.2' into 'release/v4.2'
tools: Don't count BSS into the total image size (v4.2)

See merge request espressif/esp-idf!12576
2021-03-18 04:32:42 +00:00
Jiang Jiang Jian
359784f0b6 Merge branch 'bugfix/fix_arp_buffer_error_in_smart_config_v4.2' into 'release/v4.2'
bugfix/fix_arp_buffer_error_in_smart_config_v4.2

See merge request espressif/esp-idf!12254
2021-03-18 04:17:36 +00:00
Jiang Jiang Jian
1e1fc92fc2 Merge branch 'bugfix/fatfs_v4.2' into 'release/v4.2'
spi_flash: fix the issue of ext_flash_fatfs_example(backport v4.2)

See merge request espressif/esp-idf!12667
2021-03-18 04:15:35 +00:00
Jiang Jiang Jian
8a26bc72be Merge branch 'bugfix/ip_mesh_transmit_wrap_v4.2' into 'release/v4.2'
esp_mesh: Fix internal ip mesh example to use transmit wrap function (v4.2)

See merge request espressif/esp-idf!12530
2021-03-18 04:14:33 +00:00
Jiang Jiang Jian
caa7dc187d Merge branch 'bugfix/fix_i2s_pdm_config_4.2' into 'release/v4.2'
fix PDM Fp and Fs config error (4.2)

See merge request espressif/esp-idf!10687
2021-03-18 04:13:36 +00:00
Jiang Jiang Jian
2e03275406 Merge branch 'bugfix/freemodbus_fix_event_processing_after_destroy_v4.2' into 'release/v4.2'
freemodbus: fix event processing failure after destroy (backport v4.2)

See merge request espressif/esp-idf!9327
2021-03-18 04:12:03 +00:00
Jiang Jiang Jian
b517b64a30 Merge branch 'bugfix/fix_deepsleep_x32k_wakeup_bug_v4.2' into 'release/v4.2'
Fix esp_hw_support bug (backport v4.2)

See merge request espressif/esp-idf!11835
2021-03-18 04:11:18 +00:00
Jiang Jiang Jian
c4c500e241 Merge branch 'bugfix/deep_sleep_stub_heap_rtc_fast_mem_v4.2' into 'release/v4.2'
deep sleep: Calculate RTC CRC without using any stack or other RTC heap memory (v4.2)

See merge request espressif/esp-idf!10883
2021-03-18 04:09:50 +00:00
Jiang Jiang Jian
aafcc2ca60 Merge branch 'bugfix/flash_encryption_v4.2' into 'release/v4.2'
ota: fix ota with flash encryption(backport v4.2)

See merge request espressif/esp-idf!12701
2021-03-18 04:09:45 +00:00
Jiang Jiang Jian
e027f962df Merge branch 'bugfix/bta_hf_client_sco_co_out_data_v4.2' into 'release/v4.2'
bugfix/if bta_hf_client_sco_co_out_data is called, it will crash when sco disconnected [backport v4.2]

See merge request espressif/esp-idf!12560
2021-03-18 04:04:17 +00:00
Jiang Jiang Jian
4f4cd08aad Merge branch 'bugfix/avrc_set_player_value_cmd_event_unhandle_v_4_2' into 'release/v4.2'
bugfix/fix unhandle RC vendor PDU when tg receive set_player_app_value cmd[backport v4.2]

See merge request espressif/esp-idf!12099
2021-03-18 04:03:49 +00:00
Jiang Jiang Jian
9f3750cee7 Merge branch 'bugfix/btdm_backport_ble_bugs_21_01_29_v4.2' into 'release/v4.2'
Bugfix/btdm backport ble bugs  for v4.2

See merge request espressif/esp-idf!12197
2021-03-18 03:55:04 +00:00
Krzysztof Budzynski
f4c56216e5 Merge branch 'doc/embed_example_v4.2' into 'release/v4.2'
doc: Update the link to an example that embeds a file (v4.2)

See merge request espressif/esp-idf!12656
2021-03-16 08:31:47 +00:00
William Ferguson
be3fc35533 [cxx]: fixed extern "C" declarations
* Moving #includes above
  #ifdef __cplusplus extern "C" { #endif
  So that we can compile with CPP.

Signed-off-by: Jakob Hasse <jakob.hasse@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/6634
2021-03-15 18:42:19 +08:00
Cao Sen Miao
068dfcf1ba ota: fix ota with flash encryption 2021-03-12 16:45:43 +08:00
Angus Gratton
ce2c615bb3 Merge branch 'bugfix/deepsleep_disable_brownout_s2_v4.2' into 'release/v4.2'
deep_sleep: on S2 disable the brown out detector before deep sleeping (v4.2)

See merge request espressif/esp-idf!12500
2021-03-11 10:49:30 +00:00
baohongde
6c2489682f Fix controller task watchdog in Wi-Fi test 2021-03-11 17:19:16 +08:00
Cao Sen Miao
f80f4cbf2d ci: move freerom/sdmmc repo to psram3 for saving ram 2021-03-11 13:54:15 +08:00
Cao Sen Miao
54b817a59e flash_encryption: Quick fixed the issue that block when flash_encryption_write, Related https://github.com/espressif/esp-idf/issues/6322, Related https://github.com/espressif/esp-idf/issues/6254 2021-03-11 13:52:28 +08:00
Jiang Jiang Jian
fa2c4fe622 Merge branch 'bugfix/fix_a2dp_underrun_issue_4_2' into 'release/v4.2'
Fix A2DP Underrun Issue [backport v4.2]

See merge request espressif/esp-idf!12277
2021-03-10 14:30:28 +00:00
Michael (XIAO Xufeng)
00e2f2e880 Merge branch 'feat/spi_flash_override_size_v4.2' into 'release/v4.2'
spi_flash: add config option to override flash size in bootloader header (v4.2)

See merge request espressif/esp-idf!12452
2021-03-10 10:13:39 +00:00
Cao Sen Miao
e5830907ca spi_flash: fix flash issue of ext_flash_fatfs_example 2021-03-09 18:33:30 +08:00
Angus Gratton
32b0264529 Merge branch 'doc/flash_enc_update_v4.2' into 'release/v4.2'
docs: update flash encryption docs for S2

See merge request espressif/esp-idf!12324
2021-03-09 06:41:53 +00:00
daiziyan
5b6e62d2c4 update CN translation based on reviewers' comments 2021-03-09 10:34:29 +11:00
daiziyan
fdfef114ae api-guides: update CN translation for build-system and build-system-legacy,and fix line break in the EN version 2021-03-09 10:33:44 +11:00
Angus Gratton
c8900823d8 doc: Update the link to an example that embeds a file
Since we have the CA Certificate Store feature, https_request no longer needs to
embed any certs.
2021-03-09 10:33:44 +11:00
Jiang Jiang Jian
37a8c8ce6c Merge branch 'bugfix/btdm_crash_when_esp_restart_v4.2' into 'release/v4.2'
components/bt: Fix crash in Bluetooth when esp_restart

See merge request espressif/esp-idf!12567
2021-03-05 12:27:43 +00:00
Jiang Jiang Jian
2289d4fcc0 Merge branch 'bugfix/fix_csa_channel_crash_v4.2' into 'release/v4.2'
esp_wifi: fix CSA and BAR crash issue(v4.2)

See merge request espressif/esp-idf!12549
2021-03-05 12:24:33 +00:00
Jiang Jiang Jian
e1f1d11b76 Merge branch 'feature/add_init_and_deinit_evt_for_a2dp_4_2' into 'release/v4.2'
feature/ Add A2DP Init and Deinit Complete Evt [backport v4.2]

See merge request espressif/esp-idf!12150
2021-03-05 12:19:18 +00:00
Mahavir Jain
24157cc60a Merge branch 'fix/esp_tls_prevent_freeing_global_CA_store_after_each_request_v4.2' into 'release/v4.2'
fix(esp_tls): prevent freeing global CA store after each request (v4.2)

See merge request espressif/esp-idf!12631
2021-03-05 08:52:38 +00:00
Aditya Patwardhan
a2ccb3c0ac protocomm: Fixed NULL check of allocated memory
Fixes one part of - https://github.com/espressif/esp-idf/issues/6440
2021-03-05 10:06:18 +05:30
Aditya Patwardhan
a2e6db19e6 esp_tls: Fix misplaced paranthesis in esp_tls_mbedtls.c
Fixes one part of -  https://github.com/espressif/esp-idf/issues/6440
2021-03-05 10:06:10 +05:30
Aditya Patwardhan
d66ad18853 Fix esp_tls: Prevent freeing of global ca store after each connection
when dynamic ssl buffers are enabled
2021-03-05 09:55:10 +05:30
Michael (XIAO Xufeng)
e7435a75f5 Merge branch 'bugfix/phy_xpd_v4.2' into 'release/v4.2'
wifi: add set_xpd_sar override(backport v4.2)

See merge request espressif/esp-idf!11540
2021-03-04 08:41:17 +00:00
Mahavir Jain
10d40bd526 Merge branch 'bugfix/correct_logging_timestamp_format_v4.2' into 'release/v4.2'
log: correct timestamp formatting to unsigned integer type (v4.2)

See merge request espressif/esp-idf!12611
2021-03-04 07:39:33 +00:00
liqigan
60b6968e80 add API esp_spp_stop_srv_scn to stop a specific server 2021-03-04 15:33:47 +08:00
Mahavir Jain
a177897f4d log: correct timestamp formatting to unsigned integer type
Closes https://github.com/espressif/esp-idf/issues/6226

Closes IDFGH-4393
2021-03-04 11:54:30 +05:30
ChenJianxing
1f3b6b2e6d esp_wifi: fix CSA and BAR crash issue. 2021-03-02 11:51:01 +08:00
Roland Dobai
2c85d01603 tools: Don't count BSS into the total image size 2021-03-01 14:39:42 +01:00
KonstantinKondrashov
33236c9593 doc: update S2 flash encryption & secure boot docs 2021-03-01 17:48:17 +08:00
baohongde
70de8f5158 components/bt: Fix crash in Bluetooth when esp_restart 2021-03-01 14:43:45 +08:00
Mahavir Jain
77a78a22f6 Merge branch 'bugfix/esp_wifi_deinit_v4.2' into 'release/v4.2'
esp_wifi_deinit: Return ESP_ERR_WIFI_NOT_STOPPED if wifi is not stopped (v4.2)

See merge request espressif/esp-idf!12540
2021-03-01 05:32:08 +00:00
liaowenhao
8375bb94a4 bugfix/if bta_hf_client_sco_co_out_data is called, it will crash when sco disconnected 2021-03-01 11:34:15 +08:00
Shubham Kulkarni
9689f87887 esp_wifi_deinit: Return ESP_ERR_WIFI_NOT_STOPPED if wifi is not stopped
Add test case to test this workflow
2021-02-26 14:53:59 +05:30
David Cermak
66c89f1093 examples, esp_mesh: Fix internal ip mesh example to use transmit wrap function
Fixed regression caused by recent refactoring of WiFi Tx. If  wasn't defined all transmits end up in a crash.

Closes https://github.com/espressif/esp-idf/issues/6067
2021-02-26 07:50:00 +01:00
baohongde
76b0097103 components/bt: Fix assert without sw coexist enabled 2021-02-26 14:29:34 +08:00
Marius Vikhammer
da809e92b7 docs: update S2 flash encryption docs 2021-02-26 01:42:04 +08:00
Marius Vikhammer
cf87e114cb deep_sleep: on S2 disable the brown out detector before deep sleeping
On S2 the brown out detector would occasionally trigger erroneously during deep sleep.

Disable it before sleeping to circumvent this issue.

Closes https://github.com/espressif/esp-idf/issues/6179
2021-02-25 14:58:50 +08:00
Angus Gratton
af8bc4c436 Merge branch 'bugfix/SECURE_DISABLE_ROM_DL_MODE_does_not_work_v4.2' into 'release/v4.2'
bootloader: SECURE_ENABLE_SECURE_ROM_DL_MODE cannot be y when SECURE_DISABLE_ROM_DL_MODE=y (v4.2)

See merge request espressif/esp-idf!12341
2021-02-24 09:40:44 +00:00
liaowenhao
bfb14130ac bugfix:unhandle event when tg receive set_player_app_value cmd 2021-02-24 07:47:08 +00:00
Michael (XIAO Xufeng)
807e864d7d Merge branch 'revert-983220e2_v4.2' into 'release/v4.2'
ci: enable RS485 related tests again (v4.2)

See merge request espressif/esp-idf!12463
2021-02-24 06:45:58 +00:00
Krzysztof Budzynski
d960752cd9 Merge branch 'docs/remove_rtd_pdf_link_v4.2' into 'release/v4.2'
docs: remove rtd pdf link (v4.2)

See merge request espressif/esp-idf!12466
2021-02-23 10:45:37 +00:00
Marius Vikhammer
c0ae1f03a4 docs: remove RTD download PDF links
PDF download is available from the version selector menu.
Read the docs links are out of date.
2021-02-23 11:39:33 +08:00
Michael (XIAO Xufeng)
c4fe55d42a Revert "ci: temporarily disable RS485 related tests"
This reverts commit 983220e216
2021-02-23 11:00:37 +08:00
Michael (XIAO Xufeng)
15f406ddb7 spi_flash: add config option to override flash size in bootloader header
Sometimes the flash size read from bootloader is not correct. This may
forbid SPI Flash driver from reading the the area larger than the size
in bootloader header.

When the new config option is enabled, the latest configured
ESPTOOLPY_FLAHSIZE in the app header will be used to override the value
read from bootloader header.
2021-02-22 23:18:17 +08:00
Michael (XIAO Xufeng)
e511dd58b3 Merge branch 'bugfix/freemodbus_fix_parity_propagation_issue_v42' into 'release/v4.2'
Bugfix/freemodbus fix parity propagation issue (Backport v4.2)

See merge request espressif/esp-idf!12389
2021-02-22 05:23:02 +00:00
Ivan Grokhotkov
af1ebd7e01 Merge branch 'bugfix/eclipse_make_decode_v4.2' into 'release/v4.2'
tools: Fix Eclipse build: “UnicodeDecodeError: 'ascii' codec can't decode byte” (v4.2)

See merge request espressif/esp-idf!12358
2021-02-19 15:55:37 +00:00
Ivan Grokhotkov
9ebdeea54e Merge branch 'feature/prefer_python3_in_installer_v4.2' into 'release/v4.2'
tools: Prefer python3 during install and export (v4.2)

See merge request espressif/esp-idf!12377
2021-02-19 15:52:45 +00:00
Mahavir Jain
cbe966135e Merge branch 'bugfix/fix_enable_reset_provision_cause_device_crash_v4.2' into 'release/v4.2'
provisioning: Fix enable CONFIG_EXAMPLE_RESET_PROVISIONED will cause device crash [backport v4.2]

See merge request espressif/esp-idf!12352
2021-02-19 12:57:27 +00:00
yuanjm
9240750bf4 provisioning: Fix enable CONFIG_EXAMPLE_RESET_PROVISIONED will cause device crash 2021-02-19 11:31:51 +00:00
Island
cd9237f871 Merge branch 'bugfix/ignore_null_valued_comb_key_4_2' into 'release/v4.2'
Bugfix/ignore null valued comb key 4 2

See merge request espressif/esp-idf!12346
2021-02-18 13:58:25 +00:00
zwj
1b1c917321 add connection parameter check 2021-02-18 09:39:01 +00:00
zwj
171e2c5b1e fix ble connection maximum latency is 499 2021-02-18 09:39:01 +00:00
zwj
6d8a3f0d94 disable bluedroid congest error log print 2021-02-18 09:39:01 +00:00
zhiweijian
c759dade01 fix read multi char failed(GATT_27001) 2021-02-18 09:39:01 +00:00
zhiweijian
2e949ca9ac fix add white list failed 2021-02-18 09:39:01 +00:00
zwj
5d514fdb35 fix bluedroid repair faild if the two most significant bits of public address is '01' 2021-02-18 09:39:01 +00:00
zwj
d5951d3c9e - fix congest return value
- fix system no rsp when doing disconnect
- fix no congest event when ssc do writing performance
2021-02-18 09:39:01 +00:00
zwj
70589fc49d fix ble read multi char err when the number of handles is more than 10 2021-02-18 09:39:01 +00:00
zwj
66b1f37c8b fix scan rsp length err 2021-02-18 09:39:01 +00:00
zwj
c5afe0ea2d fix vendor hci memory leak 2021-02-18 09:39:01 +00:00
Chinmay Chhajed
8455518127 component/bt: Added check for NULL valued combination key. 2021-02-18 06:12:17 +00:00
Chinmay Chhajed
24291f7a3b Bluedroid: Do not initiate/accept connection with device having same BDADDR.
Added BD_ADDR comparison in l2cu_lcp_allocate and removed check from
security connection request handler as it's handled in l2cu_lcp_allocate
for both connection request and create connection.
2021-02-18 06:12:17 +00:00
Chinmay Chhajed
359509ccdc bt: removed esp_bt_get_mac()
There was no need for this function as there is already a way present to
fetch own mac address. Own mac addr can be fetched by calling
controller_get_interface().
2021-02-18 06:12:17 +00:00
Angus Gratton
ceb11fd543 Merge branch 'bugfix/cmake_example_sdkconfig_path_v4.2' into 'release/v4.2'
cmake/example: Move idf_as_lib sdkconfig path to project, document configuring project (v4.2)

See merge request espressif/esp-idf!10859
2021-02-17 22:45:21 +00:00
aleks
be68c0e8d8 freemodbus: fix mb controller parity propagation issues
Closes https://github.com/espressif/esp-idf/issues/6377
2021-02-17 12:40:34 +01:00
Roland Dobai
2c66dfc089 tools: Prefer python3 during install and export
Install and export script should work on systems without "python"
executable.

Closes https://github.com/espressif/esp-idf/pull/6471

Closes https://github.com/espressif/esp-idf/issues/6532

Related to https://github.com/espressif/esp-idf/issues/6421 and
https://github.com/espressif/arduino-esp32/issues/4717
2021-02-14 19:05:33 +01:00
Mahavir Jain
391b2ebcf0 Merge branch 'bugfix/softap_prov_cookies_v4.2' into 'release/v4.2'
protocomm_httpd: Use HTTP cookies to track session (v4.2)

See merge request espressif/esp-idf!12265
2021-02-11 10:42:42 +08:00
Patryk Krzywdziński
3b5b61f402 Fix eclipse build: “UnicodeDecodeError: 'ascii' codec can't decode byte”
Closes https://github.com/espressif/esp-idf/pull/6505
2021-02-10 12:49:56 +01:00
Piyush Shah
d228fc826c protocomm security1: Restart security session if SESSION_STATE_CMD0 is received
With the introduction of cookies to track a session, it is possible that the
clients restart the provisioning on the same session, specifically when a user
cancels a current provisioning attempt. This can result in an error as the state
on the device side and client side will go out of sync.

This has now been changed such that if SESSION_STATE_CMD0 is received on
an existing session, the state is reset and flow allowed to continue.
2021-02-10 15:47:29 +05:30
Piyush Shah
328254c631 protocomm_httpd: Use HTTP cookies to track session
Earlier, a "socket connection" was being considered as a protocomm "session".
However, for HTTP, we cannot expect clients to necessarily use the same
socket for all requests of a given transaction. This was indeed causing
some failures for Wi-Fi provisioning from Android phones.

So, we have introduced http cookies to track a session even if the socket
connection does not stay intact throughout the transaction.
This change is backward compatible. If the client does not use cookies, the
socket connection will be considered as the session.

Closes: https://github.com/espressif/esp-idf/issues/6316
Reference: https://github.com/espressif/esp-idf/pull/6330
2021-02-10 15:47:28 +05:30
Angus Gratton
2dd5a87cf1 Merge branch 'bugfix/websocket_example_error_handling_v4.2' into 'release/v4.2'
ci: Fix websocket example test error handling

See merge request espressif/esp-idf!11657
2021-02-10 15:51:32 +08:00
Yann Pomarède
4abc541d6f bootloader: SECURE_ENABLE_SECURE_ROM_DL_MODE cannot be y when SECURE_DISABLE_ROM_DL_MODE=y
Closes: https://github.com/espressif/esp-idf/pull/6442
2021-02-09 16:34:30 +08:00
Island
1df0c17b98 Merge branch 'bugfix/ble_mesh_server_model_deinit_v4.2' into 'release/v4.2'
ble_mesh: stack: Fix deinit server models with no matching id (v4.2)

See merge request espressif/esp-idf!12314
2021-02-09 16:25:39 +08:00
Angus Gratton
660f41772c ci: Fix websocket example test error handling
If connection fails for websocket test, a second exception was generated in
__exit__
2021-02-09 06:59:56 +00:00
Angus Gratton
ea476f1731 Merge branch 'bugfix/SECURE_ENABLE_SECURE_ROM_DL_MODE_v4.2' into 'release/v4.2'
bootloader: Fix warnings caused by security features (v4.2)

See merge request espressif/esp-idf!12286
2021-02-09 11:06:50 +08:00
Angus Gratton
6514009b8a soc esp32: Removes parentheses from RTC_MEM_xyz macros that expand directly to single numbers
Not necessary in these cases, and prevents parens from expanding into the
assembly code added in the parent commit - a pattern which is accepted
by GCC assembler but illegal syntax for LLVM assembler.
2021-02-08 09:59:22 +11:00
Angus Gratton
7c5afa262d deep sleep: Calculate RTC CRC immediately before deep sleep, without using RAM
Fix for issues where RTC FAST memory is updated as part of going into deep
sleep. Very high risk if heaps are in RTC memory - in particular task stacks
may be in RTC memory, but also other variables.

Also fixes potential concurrency problems as RTC FAST memory is not accessible
by CPU during the CRC calculation itself.

Method:
- Disable interrupts (currently for single core only, will need update for S3)
- Load all registers before calculating CRC or going to sleep
2021-02-08 09:59:22 +11:00
Angus Gratton
bf9b9c5a97 esp_system: Add test case for using deep sleep wake stub when stack is in RTC memory
This test currently fails on ESP32 & ESP32-S2, fix will be in next commit.
2021-02-08 09:59:22 +11:00
lly
4070a6dc70 ble_mesh: stack: Fix deinit server models with no matching id 2021-02-07 11:18:31 +08:00
Jiang Jiang Jian
0ab739f72c Merge branch 'bugfix/ble_mesh_wifi_coexit_example_v4.2' into 'release/v4.2'
bugfix: Delete local variables to avoid null global variables (backport v4.2)

See merge request espressif/esp-idf!11372
2021-02-05 20:21:58 +08:00
Island
3f46cb9789 Merge branch 'bugfix/ble_mesh_mbedtls_aes_fix_v4.2' into 'release/v4.2'
Bugfix/ble mesh mbedtls aes fix (v4.2)

See merge request espressif/esp-idf!12270
2021-02-05 14:46:00 +08:00
lly
c74c7fdb5a ble_mesh: stack: Fix mbedtls aes ctx not deallocated 2021-02-05 03:26:26 +00:00
lly
02d3d358b5 ble_mesh: stack: Fix mbedtls aes ctx not initialized 2021-02-05 03:26:26 +00:00
Ivan Grokhotkov
74e1613b17 Merge branch 'bugfix/nvs_close_nukes_all_handles_v4.2' into 'release/v4.2'
NVS: fixed deinit other partition's handles (v4.2)

See merge request espressif/esp-idf!11497
2021-02-05 10:06:37 +08:00
Ivan Grokhotkov
89cab3140d Merge branch 'bugfix/idf_monitor_baudrate_arg_crash_v4.2' into 'release/v4.2'
idf monitor: fix crash when monitor baudrate argument set (Backport v4.2)

See merge request espressif/esp-idf!9758
2021-02-05 10:06:07 +08:00
Mahavir Jain
040f5c8e0a Merge branch 'bugfix/reenable_encrypted_partition_write_v4.2' into 'release/v4.2'
Re-enable encrypted flash read/writes even if flash encryption is disabled (v4.2)

See merge request espressif/esp-idf!12190
2021-02-05 01:05:04 +08:00
Mahavir Jain
aa3efa6cf1 Merge branch 'bugfix/protocomm_http_print_v4.2' into 'release/v4.2'
protocomm_httpd: Change an info print to debug print as it isn't really required in the logs (v4.2)

See merge request espressif/esp-idf!12261
2021-02-04 23:09:28 +08:00
KonstantinKondrashov
a8df2af065 bootloader: Fix warnings caused by security features
Closes: https://github.com/espressif/esp-idf/issues/6198
2021-02-04 22:24:25 +08:00
weitianhua
d254804a62 Fix A2DP Underrun Issue 2021-02-04 19:33:14 +08:00
dongyou
7da388e52a add exception handling for iperf example's scan when no ap was found 2021-02-04 17:37:43 +08:00
Piyush Shah
5c6b9d0625 protocomm_httpd: Change an info print to debug print as it isn't really required in the logs 2021-02-04 15:02:52 +05:30
dongyou
024aaeb201 fix smartconfig issue when router reply arp late 2021-02-04 11:23:06 +08:00
Mahavir Jain
79aa9636b9 unit-test-app: disable encrypted flash read/write in psram config to fix build failure 2021-02-03 09:07:36 +00:00
Mahavir Jain
19b7705b8d spi_flash: add config option to enable encrypted partition read/write
This feature can be disabled to save some IRAM (approx 1KB) for cases
where flash encryption feature is not required.
2021-02-03 09:07:36 +00:00
Mahavir Jain
294fe8238c Revert "esp_partition: disable encrypted reads/writes if flash encryption is disabled"
This reverts commit bf35ef1ce7.

It has been noticed that there are scenarios where even though firmware is not enabled
with flash encryption config feature, it should be able to write to encrypted partitions.

This revert adds the feature back which was removed around v4.0 timelines, and same
change will be backported to all releases (upto v4.0) for consistency.
2021-02-03 09:07:36 +00:00
Michael (XIAO Xufeng)
0382c2e04e Merge branch 'bugfix/mcpwm_can_set_two_falut_signal_v4.2' into 'release/v4.2'
mcpwm: fix second fault line broken issue (v4.2)

See merge request espressif/esp-idf!12171
2021-02-03 14:49:16 +08:00
Anton Maklakov
81680a633f Merge branch 'bugfix/ttfw_idf_find_artifacts_inaccurate_with_same_prefix_path_v4.2' into 'release/v4.2'
CI: fix the bug returns wrong artifact path when app_name is a subset of a longer one (v4.2)

See merge request espressif/esp-idf!12228
2021-02-03 11:34:34 +08:00
David Čermák
6fd3557d99 Merge branch 'feature/support_transport_keepalive_v4.2' into 'release/v4.2'
Feature/support transport keepalive v4.2 [backport v4.2]

See merge request espressif/esp-idf!12157
2021-02-03 03:46:24 +08:00
Krzysztof Budzynski
f697f475e5 Merge branch 'doc/uart_num_fix_v4.2' into 'release/v4.2'
docs: fix uart number naming error (v4.2)

See merge request espressif/esp-idf!12068
2021-02-02 16:08:33 +08:00
Fu Hanxi
d9455d8587 CI: fix the bug returns wrong artifact path when app_name is a subset of a longer one 2021-02-02 11:14:06 +08:00
Mahavir Jain
2ea3519964 Merge branch 'bugfix/update_howsmyssl_cert_v4.2' into 'release/v4.2'
examples/protocols: update www.howsmyssl.com certificate to fix test failures (v4.2)

See merge request espressif/esp-idf!12211
2021-02-01 20:25:00 +08:00
Mahavir Jain
0dedf0e1f5 examples/protocols: update www.howsmyssl.com certificate to fix test failures 2021-02-01 11:01:35 +05:30
Krzysztof
250805d991 docs: Update full-scale voltages for ESP32-S2 chip 2021-02-01 11:22:49 +08:00
morris
48dc6e9347 mcpwm: fix second fault line broken
Closes: https://github.com/espressif/esp-idf/issues/6053
2021-01-27 14:56:33 +08:00
morris
87b051c87a mcpwm: fix wrong capture edge 2021-01-27 14:56:33 +08:00
Michael (XIAO Xufeng)
10f16c5d72 Merge branch 'bugfix/soc_caps_implicit_inc_v4.2' into 'release/v4.2'
HAL: explicitly include soc_caps.h  (v4.2)

See merge request espressif/esp-idf!11896
2021-01-27 10:33:42 +08:00
yuanjm
fd5f65a2d4 Make OTA example support keepalive 2021-01-26 14:09:13 +08:00
Shubham Kulkarni
90218b4e9b Add options for esp_http_client and esp_websocket_client to support keepalive 2021-01-26 14:09:01 +08:00
yuanjm
cbca521e28 Modify esp-tls and tcp_transport to support keep alive for tcp and ssl connection 2021-01-26 14:08:45 +08:00
weitianhua
186ebc61e7 Add init & deinit event for a2dp 2021-01-26 10:51:47 +08:00
Mahavir Jain
c4d0a384b0 Merge branch 'fix/esp_tls_fix_memory_leak_v4.2' into 'release/v4.2'
Fix/esp tls fix memory leak v4.2

See merge request espressif/esp-idf!12085
2021-01-22 21:37:58 +08:00
Mahavir Jain
be26d45d78 Merge branch 'bugfix/httpd_session_close_lru_v4.2' into 'release/v4.2'
esp_http_server: Add flag in sock_db to identify httpd_sess_close is called from httpd_session_close_lru (v4.2)

See merge request espressif/esp-idf!12112
2021-01-22 21:22:11 +08:00
Shubham Kulkarni
6b054fb4a6 Enable lru_purge_enable in simple HTTP server example 2021-01-22 15:33:57 +05:30
Mahavir Jain
ecbf436de4 Merge branch 'bugfix/http_client_buffer_overread_v4.2' into 'release/v4.2'
esp_http_client: Fix buffer overread, update https_request example to use HTTP/1.1 (v4.2)

See merge request espressif/esp-idf!12108
2021-01-22 17:45:31 +08:00
Mahavir Jain
4d1ada8ab5 Merge branch 'bugfix/misc_secure_boot_v4.2' into 'release/v4.2'
Bugfix/misc secure boot v2 (v4.2)

See merge request espressif/esp-idf!11743
2021-01-22 16:27:10 +08:00
Shubham Kulkarni
1c732d7556 esp_http_server: Add lru_socket flag in sock_db to indicate httpd_sess_close is called from httpd_sess_close_lru 2021-01-22 11:16:10 +05:30
Shubham Kulkarni
29feb17636 esp_http_client.c: Clear raw_len for response buffer after dispatching HTTP_EVENT_ON_FINISH event
Closes: https://github.com/espressif/esp-idf/issues/6146
2021-01-22 11:03:23 +05:30
Angus Gratton
7ceaac64bf Merge branch 'bugfix/secure_boot_sig_failed_crash_v4.2' into 'release/v4.2'
secure boot: Fix crash if signature verification fails in app (v4.2)

See merge request espressif/esp-idf!11924
2021-01-22 07:58:24 +08:00
Aditya Patwardhan
84219fe844 esp_tls_wolfssl: Move order of crt_bundle check to match that in
esp_tls_mbedtls
2021-01-21 10:45:42 +05:30
Aditya Patwardhan
a5cf243ea0 esp-tls: Fix mem leak when global_ca_store is freed 2021-01-21 10:45:18 +05:30
Island
56de4bbc4d Merge branch 'bugfix/ble_mesh_node_set_name_status_check_v4.2' into 'release/v4.2'
ble_mesh: stack: Remove node set device name return status check (v4.2)

See merge request espressif/esp-idf!12081
2021-01-21 11:07:58 +08:00
Island
7c9be015aa Merge branch 'bugfix/ble_mesh_proxy_client_net_resend_v4.2' into 'release/v4.2'
ble_mesh: stack: Fix proxy client may fail to resend msg (v4.2)

See merge request espressif/esp-idf!12079
2021-01-21 11:07:27 +08:00
Island
54d8a1f76b Merge branch 'bugfix/ble_mesh_prov_use_diff_rand_v4.2' into 'release/v4.2'
ble_mesh: stack: Use different random for each provisioning (v4.2)

See merge request espressif/esp-idf!12077
2021-01-21 11:07:02 +08:00
lly
4510332e96 ble_mesh: stack: Remove node set device name return status check 2021-01-20 21:11:21 +08:00
lly
370e65ec8a ble_mesh: stack: Fix proxy client may fail to resend msg 2021-01-20 21:10:18 +08:00
lly
962b14d653 ble_mesh: stack: Use different random for each provisioning 2021-01-20 21:09:09 +08:00
Marius Vikhammer
d8ba0f9b0e docs: fix uart number naming error 2021-01-20 17:55:07 +08:00
Ivan Grokhotkov
967c07b6ae Merge branch 'bugfix/nvs_check_external_partition' into 'release/v4.2'
NVS: ensuring default partition

See merge request espressif/esp-idf!8934
2021-01-20 07:44:28 +08:00
David Čermák
ad47ed5ef1 Merge branch 'bugfix/mdns_txt_length_collision_v4.2' into 'release/v4.2'
mDNS: Fix of text length calculation when detecting a collision(Backport v4.2)

See merge request espressif/esp-idf!12029
2021-01-19 22:15:05 +08:00
Island
db2ddebc23 Merge branch 'bugfix/ble_mesh_log_macro_v4.2' into 'release/v4.2'
ble_mesh: stack: Add prefix for log macros (v4.2)

See merge request espressif/esp-idf!12052
2021-01-19 17:34:05 +08:00
lly
f56fe3f877 ble_mesh: stack: Fix compile warning when log is disabled 2021-01-19 14:04:45 +08:00
lly
571da869f5 ble_mesh: ci: Add disable log sdkconfig test files 2021-01-19 14:04:45 +08:00
lly
d545f1223f ble_mesh: stack: Add prefix BLE_MESH_ for log related macros 2021-01-19 14:04:44 +08:00
David Čermák
8cd16b60f5 Merge branch 'bugfix/ppp_deinit_failure_v4.2' into 'release/v4.2'
esp_modem: Fixed race condition on exiting PPP mode (v4.2)

See merge request espressif/esp-idf!11870
2021-01-19 02:42:50 +08:00
Island
a4525284bd Merge branch 'update/ble_mesh_set_hsl_states_v4.2' into 'release/v4.2'
ble_mesh: stack: Enable updating lighting hsl state (v4.2)

See merge request espressif/esp-idf!12036
2021-01-18 19:10:31 +08:00
Island
e36282787e Merge branch 'bugfix/ble_mesh_build_error_c3_merge_master_v4.2' into 'release/v4.2'
Bugfix/ble mesh build error merge master (v4.2)

See merge request espressif/esp-idf!12038
2021-01-18 19:10:21 +08:00
Jiang Jiang Jian
b24ccd8a20 Merge branch 'bugfix/fix_iperf_example_crash_issue_v4.2' into 'release/v4.2'
Bugfix/fix iperf example crash issue v4.2 (backport v4.2)

See merge request espressif/esp-idf!12024
2021-01-18 19:09:37 +08:00
lly
c44dc1f262 ble_mesh: stack: Fix compile warning with BIT macro 2021-01-18 14:07:30 +08:00
lly
de166facd7 ble_mesh: stack: Update mesh max conn macro when using bluedroid 2021-01-18 14:07:24 +08:00
lly
71f4c476cb ble_mesh: stack: Enable updating lighting hsl state 2021-01-18 14:01:39 +08:00
Island
b4735859d6 Merge branch 'bugfix/bluedroid_avoid_same_bdaddr_conn_v4.2' into 'release/v4.2'
Bluedroid: Do not connect if peer BD_ADDR is same as own BD_ADDR. (v4.2)

See merge request espressif/esp-idf!11990
2021-01-18 14:01:31 +08:00
David Čermák
28371f45a4 Merge branch 'bugfix/ppp_netif_free_v4.2' into 'release/v4.2'
esp-modem: Remove esp-netif destroy from modem network glue code (v4.2)

See merge request espressif/esp-idf!11872
2021-01-16 00:57:15 +08:00
David Cermak
84039dc77d esp_modem: Fixed race condition on exiting PPP mode
esp_modem_stop_ppp() stops both ppp netif and switches the modem back to
command mode. IF these two actions are not synchronised, we might
experience issues of
* active PPP session trying to send/receive uart-data
* command mode already active before modem switched to it
both resulting in crashes.
Fixed by introducing the transition mode and running these actions in sequence
* set esp-modem to transition mode
* enter command mode, wait for the reply or re-sync
* close the PPP netif
* wait until the netif closes
Other fixes include ignoring certain events if modem component not ready
or not in appropriate mode:
* ignoring all UART events comming from DTE with no DCE attached
* ignore pattern detection in PPP mode
2021-01-15 17:38:30 +01:00
David Čermák
67a3ff8a4b Merge branch 'bugfix/esp_netif_ppp_event_data_v4.2' into 'release/v4.2'
esp-netif: Fix PPP netif event posting to include esp_netif data (v4.2)

See merge request espressif/esp-idf!11868
2021-01-15 23:48:27 +08:00
suren.gabrielyan
500edd412a mDNS: Fix of text length calculation when detecting a collision 2021-01-15 17:11:14 +04:00
suren.gabrielyan
cc0ad534e9 mDNS: Fix of collision detection during txt length calculation
Closes https://github.com/espressif/esp-idf/issues/6114
2021-01-15 17:10:35 +04:00
xiehang
b78fbdab12 example: Scan failure should not cause system crash 2021-01-15 20:21:35 +08:00
xiehang
30becdfaab example: do not check the return value of esp_wifi_connect() 2021-01-15 20:20:17 +08:00
Ivan Grokhotkov
95c360fcbd esp_pm: fix formatting issues in esp_pm_dump_locks
- line was truncated because 64 characters were not sufficient
- length passed to snprintf should be full buffer length, not -1
- make the width of lock name field fixed
- fix alignment of lock type column
2021-01-15 13:18:06 +01:00
David Čermák
7ff123562b Merge branch 'bugfix/mdns_resolve_nonstrict_answers_v4.2' into 'release/v4.2'
mdns: Allow resolve (it's own) non-strict answers (v4.2)

See merge request espressif/esp-idf!11818
2021-01-15 19:51:04 +08:00
David Cermak
53fc156adb esp-modem: Remove esp-netif destroy from modem network glue code
To be in line with other interfaces, when deleting the driver and it's glue layer to esp-netif, we DO NOT delete the related esp-netif (since is was allocated and created outside of the glue code and it works the same way in esp-eth and esp-wifi driver/glue layers).

Closes https://github.com/espressif/esp-idf/issues/5486
2021-01-15 11:48:26 +00:00
Marius Vikhammer
cf7bea6dff idf monitor: fix crash when monitor baudrate argument set
Closes IDF-1902
2021-01-15 09:09:49 +00:00
Island
67fb958b8c Merge branch 'bugfix/ble_mesh_macro_OR_v4.2' into 'release/v4.2'
ble_mesh: stack: Fix using wrong | for OR between macros (v4.2)

See merge request espressif/esp-idf!11997
2021-01-15 11:04:47 +08:00
lly
cd1fbfdee1 ble_mesh: stack: Fix using wrong | for OR between macros 2021-01-14 19:03:00 +08:00
Island
8911c29122 Merge branch 'feat/ble_mesh_support_ble_scan_v4.2' into 'release/v4.2'
ble_mesh: stack: Add BLE scan callback when mesh is enabled (v4.2)

See merge request espressif/esp-idf!11963
2021-01-14 19:01:05 +08:00
lly
a3fa7dda33 ble_mesh: ci: Add ble & ble mesh coex sdkconfig test files 2021-01-14 07:30:47 +00:00
lly
c8890a40e4 ble_mesh: stack: Support reporting normal ble adv packets 2021-01-14 07:30:47 +00:00
lly
a91addb716 ble_mesh: stack: Add a btc file for ble coex functions
Previously if starting/stopping BLE advertising when BLE Mesh
is enabled, the corresponding events will be notified through
the callback registered by esp_ble_mesh_register_prov_callback().

With this commit, the func esp_ble_mesh_register_ble_callback()
needs to be invoked for resgitering the callback used for BLE
coexistence related functionalities (i.e. ADV/SCAN).
2021-01-14 07:30:47 +00:00
lly
396c6a3bc5 ble_mesh: stack: Move ble scan funcitons to a single file 2021-01-14 07:30:47 +00:00
lly
96182bdc43 ble_mesh: stack: Optimize handling received mesh adv packets 2021-01-14 07:30:47 +00:00
Chinmay Chhajed
4cfece437d Bluedroid: Do not connect if peer BD_ADDR is same as own BD_ADDR. 2021-01-14 12:22:30 +05:30
Angus Gratton
73023f7ff7 Merge branch 'ci/increase_build_example_parallel_count' into 'release/v4.2'
ci: Add 1 parallel count for building example

See merge request espressif/esp-idf!11976
2021-01-14 14:33:26 +08:00
lly
bd0f520a95 ci: Add 1 parallel count for building example 2021-01-13 16:21:15 +08:00
Mahavir Jain
e5553b964d Merge branch 'fix/esp_tls_add_warning_if_ca_chain_has_invalid_cert_v4.2' into 'release/v4.2'
esp_tls: Add warning if the CA chain provided contains invalid cert (v4.2)

See merge request espressif/esp-idf!11939
2021-01-12 23:26:32 +08:00
Supreet Deshpande
7453507d93 Secure boot v2: Fixes the issue of passing the flash calculated digest for ota verification. 2021-01-12 11:16:23 +00:00
Supreet Deshpande
b979dacc6c Secure Boot v2: Fix the double padding of the image length during flash encryption
Fixes https://github.com/espressif/esp-idf/issues/6236
2021-01-12 11:16:23 +00:00
Island
21eac48ea0 Merge branch 'optimize/ble_mesh_miscellaneous_v4.2' into 'release/v4.2'
Optimize/ble mesh miscellaneous (v4.2)

See merge request espressif/esp-idf!11948
2021-01-12 19:13:08 +08:00
lly
fe6103c088 ble_mesh: stack: Move bt_mesh_rand to mesh_common.c 2021-01-11 19:26:49 +08:00
lly
f031dc6d29 ble_mesh: stack: Remove useless BT_DBG_ENABLED in a few files 2021-01-11 19:26:49 +08:00
lly
85de3a84e1 ble_mesh: Replace zephyr integer types with C99 types [Zephyr] 2021-01-11 19:26:46 +08:00
lly
3f361cc262 ble_mesh: stack: Update ARRAY_SIZE definition 2021-01-11 19:25:52 +08:00
Island
8f20b9dc8a Merge branch 'feat/ble_mesh_multiple_nvs_namespace_v4.2' into 'release/v4.2'
ble_mesh: stack: Provisioner supports multiple nvs namespaces (v4.2)

See merge request espressif/esp-idf!11935
2021-01-11 18:55:22 +08:00
Aditya Patwardhan
e33cfbaef9 esp_tls: Add warning if the CA chain provided contains one/more invalid
cert
2021-01-11 12:02:30 +05:30
Mahavir Jain
60a808372e Merge branch 'feature/upgrade_mbedtls_to_v4.2' into 'release/v4.2'
mbedtls: upgrade to v2.16.9 release (v4.2)

See merge request espressif/esp-idf!11899
2021-01-11 14:01:11 +08:00
lly
3a1018f603 ble_mesh: ci: Add settings sdkconfig test files 2021-01-11 10:08:00 +08:00
lly
c5d9601e69 ble_mesh: stack: Provisioner supports multiple nvs namespaces
Now Provisioner can use different NVS namespaces to store
different instances of mesh information, for example, for
different user accounts.
2021-01-11 10:07:55 +08:00
Island
2aafcd9b1f Merge branch 'feat/ble_mesh_provisioner_recv_hb_support_v4.2' into 'release/v4.2'
Feat/ble mesh provisioner recv hb support (v4.2)

See merge request espressif/esp-idf!11913
2021-01-08 18:30:35 +08:00
Morozov-5F
0e4f43ddde secure boot v2: Fix crash if signature verification fails in app
sha_handle is "finished" when verify_secure_boot_signature() returns and
should be nulled out.

Alternative version of fix submitted in https://github.com/espressif/esp-idf/pull/6210

Closes https://github.com/espressif/esp-idf/pull/6210

Signed-off-by: Angus Gratton <angus@espressif.com>
2021-01-08 18:45:49 +11:00
Anton Maklakov
0c3c09e7ef Merge branch 'bugfix/icmp_echo_test_v4.2' into 'release/v4.2'
CI: change icmp example test address to ci.espressif.cn (v4.2)

See merge request espressif/esp-idf!11903
2021-01-08 11:16:15 +08:00
lly
1efa401884 ble_mesh: ci: Add enabling hb recv sdkconfig file 2021-01-08 09:32:23 +08:00
lly
0432d11509 ble_mesh: stack: Provisioner supports receiving heartbeat 2021-01-08 09:32:23 +08:00
Marius Vikhammer
8c4839e9e6 CI: change icmp example test address
Use a server that is inside the great firewall of china for CI test.
This avoid issues due to proxies, network configs etc.
2021-01-07 14:49:29 +08:00
Mahavir Jain
ce72deea7f mbedtls: upgrade to v2.16.9 release
For details release notes please refer to:
https://github.com/ARMmbed/mbedtls/releases/tag/v2.16.9
2021-01-07 11:15:42 +05:30
Armando
929632739a spi: fix duplex mode switch issue for multi devices 2021-01-07 11:56:16 +08:00
Marius Vikhammer
5e9783f4a6 hal: include pcnt_caps.h
Some HAL files depend on x_caps.h, but didnt explicitly include it

Fixes issue where only 4 PCNT (out of 8) could be used on ESP32

Closes https://github.com/espressif/esp-idf/issues/6366
2021-01-07 03:01:55 +00:00
Island
474224d668 Merge branch 'bugfix/ble_mesh_node_id_adv_v4.2' into 'release/v4.2'
ble_mesh: stack: Fix Node ID adv with wrong timeout (v4.2)

See merge request espressif/esp-idf!11877
2021-01-06 17:08:21 +08:00
lly
53935d5933 ble_mesh: stack: Fix Node ID adv with wrong timeout 2021-01-06 05:33:41 +00:00
Jiang Jiang Jian
47aa7408f5 Merge branch 'bugfix/fix_tx_issue_after_esp_restart_v4.2' into 'release/v4.2'
components/bt: Shutdown Bluetooth before esp_restart. (V4.2)

See merge request espressif/esp-idf!11755
2021-01-06 12:32:33 +08:00
Jiang Jiang Jian
70ecd0e92c Merge branch 'bugfix/btdm_blufi_send_custom_data_will_congested_after_connection_is_broken_v4.2' into 'release/v4.2'
component/bt: fix Blufi sends customer data will congested when connection is broken(backport v4.2)

See merge request espressif/esp-idf!11847
2021-01-06 12:29:44 +08:00
Jiang Jiang Jian
caddd5d9fa Merge branch 'bugfix/fix_spp_vfs_dynamic_memory_bugs_v4.2' into 'release/v4.2'
component_bt/fix spp vfs demo crash when use dynamic memory[backport v4.2]

See merge request espressif/esp-idf!11726
2021-01-06 12:20:22 +08:00
David Cermak
c5b2252e03 esp-netif: Fix PPP netif event posting to include esp_netif data
Closes https://github.com/espressif/esp-idf/issues/6009
2021-01-04 16:41:25 +01:00
baohongde
f3c9a71138 components/bt: Add API to config QoS 2021-01-04 11:53:04 +08:00
XieWenxiang
5da8c3f8de component/bt: fix Blufi sends customer data will congested when connection is broken 2020-12-31 15:38:49 +08:00
Mahavir Jain
248857bf91 Merge branch 'fix/i2c_pm_lock_v4.2' into 'release/v4.2'
i2c: Acquire PM lock after acquiring mutex (v4.2)

See merge request espressif/esp-idf!11830
2020-12-31 12:33:36 +08:00
Mahavir Jain
6216f99265 Merge branch 'fix/wolfssl_domain_name_check_v4.2' into 'release/v4.2'
esp_tls_wolfssl : Add domain name check (v4.2)

See merge request espressif/esp-idf!11816
2020-12-30 21:48:31 +08:00
chaijie
6d6fbc3860 1. Optimize 32k xtal configure param to get optimal startup time for ESP32S2;
2. Solve bug of wakeup fail when pd peripheral for ESP32S2;
3. clear rtc force pu configuration when goto deepsleep after lightsleep.
2020-12-30 16:47:41 +08:00
Sachin Parekh
14587e7e73 i2c: Acquire PM lock after acquiring mutex 2020-12-30 13:24:38 +05:30
David Cermak
9f9013c8c3 mdns: Allow resolve its own non-strict answers
the mDNS responder should not repeat questions when replying, however resolvers
must ignore these questions field if they are present. esp-idf mDNS
library does include questions in answering packets (thus not strictly
following the RFC6762) so the resolver did not correctly resolved
another instance host name.

Closes https://github.com/espressif/esp-idf/issues/6190
2020-12-29 19:05:11 +01:00
Aditya Patwardhan
076ad543fb esp_tls_wolfssl : Add domain name check 2020-12-29 21:11:08 +05:30
Ivan Grokhotkov
24f98bf80b Merge branch 'bugfix/crt_bundle_bad_md_v4.2' into 'release/v4.2'
esp_crt_bundle: allow weak hash algorithm for trusted certificate (backport v4.2)

See merge request espressif/esp-idf!11655
2020-12-28 22:30:16 +08:00
Ivan Grokhotkov
4360410107 Merge branch 'bugfix/tools_python_subprocess_capture_output_v4.2' into 'release/v4.2'
tools: Avoid subprocess.run(capture_output) argument for Python <3.7 compatibility (v4.2)

See merge request espressif/esp-idf!11506
2020-12-28 07:45:51 +08:00
Jiang Jiang Jian
68095a65ac Merge branch 'bugfix/bt_bluedroid_same_public_key_attack_v4.2' into 'release/v4.2'
Bluedroid: Fixes for some Bluetooth vulnerabilities. (v4.2)

See merge request espressif/esp-idf!11763
2020-12-25 23:35:15 +08:00
Chinmay Chhajed
235628355f Bluedroid: Fixes for some vulnerabilities.
This commit fixes 'Impersonation in Passkey entry protocol'
(CVE-2020-26558) and suggests fixes for other vulnerabilites like
'Impersonation in the Pin Pairing Protocol' (CVE-2020-26555) and
'Authentication of the LE Legacy Pairing Protocol'

CVE-2020-26558 can be easily implemented if the peer device can
impersonate our public key. This commit adds a check by comparing our
and received public key and returns failed pairing if keys are same.

This commit also adds comments suggesting to use secure connection when
supported by all devices.
2020-12-25 16:01:11 +05:30
baohongde
567562a0fb components/bt: Add QOS for SPP, to decrease the delay from slave to master 2020-12-25 14:51:15 +08:00
baohongde
d694036789 components/bt: Shutdown Bluetooth before esp_restart. 2020-12-25 14:06:22 +08:00
Jakob Hasse
26ba5e1b51 nvs_flash: fixed deinit other partition's handles
* When deinitializing or erasing a partition,
  nvs used to close all handles instead of only
  the current partition's handles.
  This is fixed now
* Added a unit test for that case
* Unit tests clean up after each test case now

Closes FCS-533
2020-12-24 19:20:04 +08:00
Anton Maklakov
ecc2dd4b23 Merge branch 'bugfix/ci_retries_when_download_v4.2' into 'release/v4.2'
CI: retry shell commands when download (v4.2)

See merge request espressif/esp-idf!9888
2020-12-24 16:20:12 +08:00
Angus Gratton
774fb48f9e Merge branch 'bugfix/spiram_reserve_size_pr5373_v4.2' into 'release/v4.2'
SPIRAM reserved memory size fixes (v4.2)

See merge request espressif/esp-idf!11516
2020-12-24 13:55:35 +08:00
liqigan
40873d2026 fix spp vfs demo crash when use dynamic memory 2020-12-23 15:06:34 +08:00
Jiang Jiang Jian
ac5b7be7c2 Merge branch 'bugfix/fix_some_wifi_bugs_1222_v4.2' into 'release/v4.2'
esp_wifi: fix some wifi bugs 1222 (backport v4.2)

See merge request espressif/esp-idf!11711
2020-12-23 12:04:22 +08:00
Jiang Jiang Jian
c09a265f32 Merge branch 'bugfix/fix_crash_of_divide_zero_4_2' into 'release/v4.2'
Fix crash caused by dividing zero [backport v4.2]

See merge request espressif/esp-idf!11418
2020-12-23 11:20:48 +08:00
weitianhua
ef84e386e4 Fix divided by zero err & clear timer after remote reject when respond the parameters update 2020-12-22 16:37:31 +08:00
zhangyanjiao
44b1c3b307 esp_wifi: update wifi lib 2020-12-22 16:05:39 +08:00
zhangyanjiao
3acd9861bf wpa_supplicant: Use WPA3 flag to reduce code size
Flag ESP32_WIFI_ENABLE_WPA3_SAE from Menuconfig is used to
control the stack size required by WPA3. Use the same flag
to compile out the WPA3 code and control the code size.
With this flag disabled code footprint reduces by about 7.7kB
in libwpa_supplicant.a
Update WiFi libs with added checks to cleanly handle disabling
of WPA3 callbacks.
2020-12-22 15:50:52 +08:00
dongyou
0bd758c0b1 WIFI: Iperf example's parameter opt was uninitialized, may leads setsockoption invalide if it equal to 0 2020-12-22 15:46:36 +08:00
dongyou
12eb9d6d80 esp_wifi:
1. Add description for esp_wifi_set_inactive_time()
2. Add documentation to avoid using WiFi modem sleep for WiFi/BT coexistence
3. Remove description of unusable API esp_wifi_restart()
4. Update esp_now_fetch_peer discription
5. Update table format prblm for esp_wifi_set_max_tx_power()
6. Update description for ssid and password
2020-12-22 15:44:07 +08:00
kapil.gupta
33c296b78e wpa_supplicant: Replace internal RSA APIs by mbedtls APIs
Curretly wpa_supplicant uses internal APIs for RSA operations
which internally uses lots of big num operations.

Big num operations are CPU expensive and can take a lot of time
which can cause watchdog timer to tigger.

This can be optimize by using mbedtls APIs which uses
hardware blocks for big num operations.

To fix this, write new crypto_mbedtls-rsa.c which has APIs
similar to crypto_internal-rsa.c but uses mbedtls APIs.
2020-12-22 15:37:38 +08:00
Anton Maklakov
e6d74b2d7e Merge branch 'ci/disable_dev_push_pipelines_v4.2' into 'release/v4.2'
CI: Disable pipelines generated by push on dev branches (v4.2)

See merge request espressif/esp-idf!11592
2020-12-22 13:11:49 +08:00
Jiang Jiang Jian
866399cbf7 Merge branch 'bugfix/pmf_tx_rx_routine_v4.2' into 'release/v4.2'
esp_wifi: Always register pmf tx/rx routines (backport v4.2)

See merge request espressif/esp-idf!11447
2020-12-22 00:02:31 +08:00
Mahavir Jain
573708ea1e Merge branch 'fix/update_tls_sockfd_after_freeing_internally_v4.2' into 'release/v4.2'
esp-tls : (Fix) update tls->sockfd value after socket is freed internally (v4.2)

See merge request espressif/esp-idf!11695
2020-12-21 15:59:44 +08:00
Aditya Patwardhan
4c66d146eb esp-tls : (Fix) update tls->sockfd value after socket is freed internally
Closes https://github.com/espressif/esp-idf/issues/6163
2020-12-21 11:23:22 +05:30
Jiang Jiang Jian
cfd234da3a Merge branch 'bugfix/exl200_reset_and_adv_v4.2' into 'release/v4.2'
Bugfix/exl200 reset and adv v4.2

See merge request espressif/esp-idf!11671
2020-12-18 21:54:06 +08:00
Krzysztof Budzynski
fd68c06824 Merge branch 'bugfix/doxygen_warnings_v4.2' into 'release/v4.2'
Docs: fix doxygen warnings (backport v4.2)

See merge request espressif/esp-idf!11674
2020-12-18 15:59:39 +08:00
Marius Vikhammer
d9cea5dfdb Docs: fix doxygen warnings 2020-12-18 14:27:17 +08:00
wangcheng
98a536894d components/bt:fix exl200, add btdm_disable_adv_delay, fix RPA addr update error. 2020-12-18 11:34:34 +08:00
wangcheng
9ca6aee845 components/bt: Fixed the problem of early release of pointer(p_ccb) in funcion 2020-12-18 11:32:31 +08:00
David Čermák
b1b673eaa2 Merge branch 'feature/lwip_tcp_isn_hook_v4.2' into 'release/v4.2'
lw-ip: enable TCP ISN hook (v4.2)

See merge request espressif/esp-idf!11062
2020-12-18 00:18:36 +08:00
Mahavir Jain
a57576cec4 esp_netif: initialize TCP ISN hook if enabled in configuration 2020-12-17 13:42:01 +00:00
Mahavir Jain
7d226ce542 lwip: provide configuration option to enable TCP ISN hook 2020-12-17 13:42:01 +00:00
Mahavir Jain
4fb4178f06 tcp_isn: use ROM APIs for md5 calculations 2020-12-17 13:42:01 +00:00
Mahavir Jain
aa416a377b lwip: add custom TCP ISN hook implementation
Source:
https://git.savannah.nongnu.org/cgit/lwip/lwip-contrib.git/
2020-12-17 13:42:01 +00:00
Ivan Grokhotkov
2b88ed8827 Merge branch 'bugfix/idf_gdb_no_openocd_crash_v4.2' into 'release/v4.2'
idf.py: Fixed gdb target to exit cleanly when no openocd watch task (v4.2)

See merge request espressif/esp-idf!10808
2020-12-17 18:40:31 +08:00
David Čermák
0386b19d8b Merge branch 'bugfix/mdns_query_id_v4.2' into 'release/v4.2'
mdns: Responding: Fix query ID, add questions if not strict mode (v4.2)

See merge request espressif/esp-idf!10806
2020-12-17 18:37:18 +08:00
Jiang Jiang Jian
683d0f4edb Merge branch 'nimble/fix_misc_coverity_issue_v4.2' into 'release/v4.2'
Nimble: Fix misc issues in NimBLE NVS, `ble_eddystone`, recursive call and  L2CAP CoC (v4.2)

See merge request espressif/esp-idf!11390
2020-12-17 16:53:46 +08:00
Jiang Jiang Jian
4bca971865 Merge branch 'bugfix/free_acl_rx_buf_in_em_4_2' into 'release/v4.2'
Free ACL RX Buf in EM when disconnection [backport v4.2]

See merge request espressif/esp-idf!11612
2020-12-17 16:47:46 +08:00
Wei Tian Hua
c1d5ad61b5 Free ACL RX Buf in EM when disconnection [backport v4.2] 2020-12-17 16:47:43 +08:00
Artem Godlevskyi
d315bf722f Added missing MYNEWT_VAL_BLE_L2CAP_COC_MPS definition
Signed-off-by: Prasad Alatkar <prasad.alatkar@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/5825
2020-12-17 07:21:02 +00:00
Prasad Alatkar
210bd3787d NimBLE: Fix misc coverity issues in NimBLE host
- NimBLE NVS : Additional check to account for NVS operation failure
- NimBLE host: Fix minor bug in ble_eddystone_set_adv_data_gen
- NimBLE host: remove recursive call, upstream PR: https://github.com/apache/mynewt-nimble/pull/857
2020-12-17 07:21:02 +00:00
Marius Vikhammer
dceb9b4a22 esp_crt_bundle: add additional unit tests
Add unit test for:
 * Trusted certificate with weak hash algorithm signature
 * Certificate with wrong signature

Merges https://github.com/espressif/esp-idf/pull/6117
2020-12-17 02:41:59 +00:00
Jeff Epler
a1d5fcfece esp_crt_bundle: Allow verify_callback to correct BADCERT_BAD_MD 2020-12-17 02:41:59 +00:00
Jiang Jiang Jian
211a2a9957 Merge branch 'fixbug/baidu_tcp_recv_assert_for_4.2' into 'release/v4.2'
lw-ip:fix bug for tcp recv assert(backport 4.2)

See merge request espressif/esp-idf!11601
2020-12-16 17:31:42 +08:00
Ivan Grokhotkov
b1b19495a1 Merge branch 'test/disable_twai_example_ci_v4.2' into 'release/v4.2'
Temporarily disable TWAI network example test (backport v4.2)

See merge request espressif/esp-idf!11561
2020-12-16 04:20:26 +08:00
David Čermák
6a723ad1e7 Merge branch 'bugfix/lwip_netdb_cpp_guards_v4.2' into 'release/v4.2'
lw-IP: Changed to C linkage in netdb.h for fixing bug when using mixed C/C++ code (v4.2)

See merge request espressif/esp-idf!11089
2020-12-16 04:13:12 +08:00
Ivan Grokhotkov
a82d0cf9f1 Merge branch 'bugfix/panic_instr_fetch_prohibited_v4.2' into 'release/v4.2'
panic: don't interrupt the backtrace for InstrFetchProhibited exceptions (v4.2)

See merge request espressif/esp-idf!10293
2020-12-16 04:09:37 +08:00
Ivan Grokhotkov
8224c75211 Merge branch 'bugfix/parttool_example_test_fail_v4.2' into 'release/v4.2'
examples/parttool: fix the test to work on parallel test runner (backport v4.2)

See merge request espressif/esp-idf!10373
2020-12-16 04:09:03 +08:00
Ivan Grokhotkov
e64934be6b Merge branch 'bugfix/docker_gdb_python_v4.2' into 'release/v4.2'
tools/docker: Add libpython2.7 in order to satisfy GDB dependencies (backport v4.2)

See merge request espressif/esp-idf!10307
2020-12-16 04:07:40 +08:00
David Cermak
e95f97d40e mdns test: Add test to resolve esp32 hostname with DiG 2020-12-15 19:01:33 +00:00
David Cermak
05211963ee examples: Common connect component: Unregister shutdown handler on disconnection
To be able to connect smoothly after disconnecting, we have to unregister all handlers including shutdown handler on disconnection
2020-12-15 19:01:33 +00:00
David Cermak
e1e481f438 mdns: Support queries in responses in mDNS non-strict mode
By default adds original queries to responses in order to be resolved by some resolvers, such as lwIP mdns library. This functionality however is discouraged by the RFC6762, so it could be disabled in menuconfig if MDNS_STRICT_MODE configured

Closes https://github.com/espressif/esp-idf/issues/5521
2020-12-15 19:01:33 +00:00
David Cermak
faef936581 mdns: Fix include query ID in reponses
Closes https://github.com/espressif/esp-idf/issues/5574
2020-12-15 19:01:33 +00:00
David Čermák
26bca96029 Merge branch 'bugfix/fix_transport_ssl_blocking_v4.2' into 'release/v4.2'
transport: fix transport ssl blocking (v4.2)

See merge request espressif/esp-idf!10691
2020-12-16 02:59:03 +08:00
David Čermák
a1e1470447 Merge branch 'bugfix/fix_esp_modem_mode_switch_timeout_v4.2' into 'release/v4.2'
fix esp_modem switch mode timeout (v4.2)

See merge request espressif/esp-idf!11395
2020-12-16 02:57:44 +08:00
Anton Maklakov
9fb05897db Merge branch 'bugfix/ci_py2_warnings_fix_v4.2' into 'release/v4.2'
ci: Python 2 warnings fix (v4.2)

See merge request espressif/esp-idf!11617
2020-12-15 19:06:33 +08:00
Ivan Grokhotkov
c8d1b18a3c Merge branch 'bugfix/py2_socketio_v4.2' into 'release/v4.2'
tools: Fix requirements incompatible with Python 2 (v4.2)

See merge request espressif/esp-idf!11604
2020-12-15 18:38:43 +08:00
David Čermák
99cb0f25eb Merge branch 'bugfix/pppos_ignored_modem_start_return_v4.2' into 'release/v4.2'
pppos client: modem netif fix ignoring potential modem-start error (v4.2)

See merge request espressif/esp-idf!11394
2020-12-15 16:15:27 +08:00
David Čermák
99be1aca73 Merge branch 'bugfix/fix_netsuite_tx_wrap_v4.2' into 'release/v4.2'
CI: esp_netif tests: Fix netsuite driver layer per wifi optimization changes (v4.2)

See merge request espressif/esp-idf!11388
2020-12-15 16:14:45 +08:00
David Čermák
7fcb8ffe0a Merge branch 'feature/mqtt_submodule_update_23c8e1ec_v4.2' into 'release/v4.2'
MQTT: Update submodule reference to da850b (config, error flags, minor fixes) (v4.2)

See merge request espressif/esp-idf!11312
2020-12-15 16:13:03 +08:00
David Čermák
cbd0af7217 Merge branch 'bugfix/mdns_src_addr_cpy_v4.2' into 'release/v4.2'
mdns: Fix wrong mdns source address if lwIP IPv6 zoning disabled (v4.2)

See merge request espressif/esp-idf!11310
2020-12-15 16:10:55 +08:00
David Čermák
3b63476e31 Merge branch 'bugfix/backport_v4.2_fix_websocket_issue' into 'release/v4.2'
websocket_client: fix some issues for websocket client (backport v4.2)

See merge request espressif/esp-idf!11276
2020-12-15 16:10:12 +08:00
mathiasbredholt
440b5f6e7b lwip: Changed to C linkage for fixing bug when using mixed C/C++ code
Merges https://github.com/espressif/esp-idf/pull/5900
2020-12-15 08:09:14 +00:00
Michael (XIAO Xufeng)
97cd07007d ci: define ESP_PLATFORM macro during public header check 2020-12-15 08:09:14 +00:00
xutao
c0e3aa1ef8 transport: fix transport ssl blocking
In SSL mode, if `esp_transport_poll_read` function is used, the cache data in mebdtls will be blocked
2020-12-15 08:07:18 +00:00
Anton Maklakov
e1d62cda5f Merge branch 'feature/ci_fix_docker_build_v4.2' into 'release/v4.2'
ci: Use git mirror for docker image (v4.2)

See merge request espressif/esp-idf!10445
2020-12-15 14:55:07 +08:00
Anton Maklakov
8c3526d91f Merge branch 'bugfix/build_docs_pdf_job_v4.2' into 'release/v4.2'
docs: seperate build_docs html and pdf CI jobs (Backport v4.2)

See merge request espressif/esp-idf!10549
2020-12-15 14:54:00 +08:00
Anton Maklakov
f5f91a4d05 tools: Redirect some warnings to stderr 2020-12-15 13:16:50 +07:00
Anton Maklakov
3a5de540f1 ci: Ignore Python 2 deprecation warning 2020-12-15 13:16:03 +07:00
Mahavir Jain
48cd4d65e6 Merge branch 'bugfix/redirection_v4.2' into 'release/v4.2'
esp_http_client: Skip check for redirection counter if status code is success, fix issue with digest auth, configurable user agent string. (v4.2)

See merge request espressif/esp-idf!11597
2020-12-14 20:03:03 +08:00
Cao Sen Miao
12a0f93f87 adc_i2s: solve the i2s_adc issue when using wifi 2020-12-14 19:33:35 +08:00
Roland Dobai
9ff5f94233 tools: Fix requirements incompatible with Python 2 2020-12-14 10:48:00 +01:00
xueyunfei
72dbf03b6c fix bug for tcp recv assert 2020-12-14 17:42:51 +08:00
Scott Shell
fad8a27cf7 Make the UserAgent string in esp-http-client configurable
Signed-off-by: Shubham Kulkarni <shubham.kulkarni@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/6044
2020-12-14 14:02:50 +05:30
Shubham Kulkarni
465d911052 http_auth.c: Fix crash when opaque field is not present in challenge string
Closes: https://github.com/espressif/esp-idf/issues/5888
2020-12-14 13:58:29 +05:30
Shubham Kulkarni
b951b5adec esp_http_client: Skip check for redirection counter if status code is success.
Set disable_auto_redirect in esp_http_client example to validate this condition in CI
2020-12-14 13:58:28 +05:30
kapil.gupta
9fce81f9af esp_wifi: Update WiFi lib
1. Fixes the issue when PMF packets are not sent after mode change.
2. Add support for 802.1x sha256 auth key mode
2020-12-14 14:51:52 +08:00
Fu Hanxi
4167401a00 CI: Disable pipelines generated by push on dev branches 2020-12-14 14:01:44 +08:00
Jiang Jiang Jian
18a1bc9e7f Merge branch 'bugfix/decouple_wifi_bt_with_coex_v4.2' into 'release/v4.2'
esp_wifi: decouple Wi-Fi and bluetooth with coexist to reduce binary file size(backport v4.2)

See merge request espressif/esp-idf!11542
2020-12-14 12:17:23 +08:00
Island
a23449ee23 Merge branch 'optimize/ble_mesh_provision_dev_uuid_check_v4.2' into 'release/v4.2'
ble_mesh: stack: Need uuid when adding device for provisioning (v4.2)

See merge request espressif/esp-idf!11577
2020-12-14 10:15:44 +08:00
Ivan Grokhotkov
a46d8b2831 Merge branch 'bugfix/verify-directory-exists_v4.2' into 'release/v4.2'
Bugfix: add check for existence build directory (v4.2)

See merge request espressif/esp-idf!11581
2020-12-12 01:43:15 +08:00
lly
6510fbb66d ble_mesh: ci: Add PB-ADV & PB-GATT sdkconfig test files 2020-12-11 13:15:54 +00:00
lly
5f2a5cdcab ble_mesh: stack: Need uuid when adding device for provisioning 2020-12-11 13:15:54 +00:00
Island
938b9f3098 Merge branch 'feat/ble_mesh_node_local_data_func_v4.2' into 'release/v4.2'
ble_mesh: stack: Add node local netkey/appkey func (v4.2)

See merge request espressif/esp-idf!11575
2020-12-11 21:13:57 +08:00
martin.gano
5bb0237860 Add checking if the build directory exists and move expression after docstring 2020-12-11 13:13:50 +01:00
Krzysztof Budzynski
c923c99f09 Merge branch 'feature/python2-deprecation-warn_v4.2' into 'release/v4.2'
Tools: Add Python 2 deprecation warning (v4.2)

See merge request espressif/esp-idf!11524
2020-12-11 17:26:06 +08:00
lly
7505e1458f ble_mesh: stack: Fix wrong declaration of node bind AppKey func 2020-12-11 17:19:02 +08:00
lly
d4575ccfe9 ble_mesh: stack: Add node local netkey/appkey func 2020-12-11 17:18:22 +08:00
Ivan Grokhotkov
71e7f000c4 Merge branch 'bugfix/log-error-run-esptool_v4.2' into 'release/v4.2'
parttool.py: Add file stream parameter and log stdout and stderr to same stream (v4.2)

See merge request espressif/esp-idf!10516
2020-12-11 16:51:48 +08:00
Island
58afa32a1a Merge branch 'optimize/ble_mesh_reduce_code_size_v4.2' into 'release/v4.2'
Optimize/ble mesh reduce code size (v4.2)

See merge request espressif/esp-idf!11518
2020-12-11 16:50:51 +08:00
daiziyan
81eb9f280f add CN translation for adding python2 deprecation warning(MR 11115) 2020-12-11 09:16:18 +01:00
martin.gano
d0d7c53ee1 Tools: add Python 2 deprecation warning 2020-12-11 09:14:57 +01:00
Darian Leung
19e6434f37 twai: Temporarily disable network example test
Disabling network example test due to issue with synchronizing the
start of each DUT
2020-12-10 21:27:46 +08:00
lly
6f104362c7 ble_mesh: example: Update sdkconfig test files for disabling Health Server model 2020-12-10 09:32:10 +00:00
lly
da8a577408 ble_mesh: stack: Add a Kconfig option to make Health Server model optional 2020-12-10 09:32:10 +00:00
lly
2b2abcd6f9 ble_mesh: stack: Split model Kconfig menu into foundation and others 2020-12-10 09:32:10 +00:00
lly
5fd4d53922 ble_mesh: example: Fix fast provisioning compile error 2020-12-10 09:32:10 +00:00
lly
7f1a0e1552 ble_mesh: ci: Add disabling mesh model sdkconfig test files 2020-12-10 09:32:10 +00:00
lly
e4451376f3 ble_mesh: stack: Add Kconfig options to make server models optional 2020-12-10 09:32:10 +00:00
lly
2602f26753 ble_mesh: stack: Use Kconfig option to make client models optional 2020-12-10 09:32:10 +00:00
lly
9c8c56f081 ble_mesh: stack: Make some internal static functions inline 2020-12-10 09:32:10 +00:00
lly
7e945e5fa8 ble_mesh: ci: Add disabling mesh deinit sdkconfig test files 2020-12-10 09:32:10 +00:00
lly
f27a151478 ble_mesh: stack: Add a Kconfig option to make deinit optional 2020-12-10 09:32:10 +00:00
lly
01d0843c4d ble_mesh: stack: Introduce a new header file mesh_config.h 2020-12-10 09:32:10 +00:00
Angus Gratton
1771aea076 Merge branch 'bugfix/increase_ci_build_example_parallel' into 'release/v4.2'
ci: Add 1 parallel count for building example

See merge request espressif/esp-idf!11554
2020-12-10 17:09:47 +08:00
lly
c3c0ca0aff ci: Add 1 parallel count for building example 2020-12-10 13:59:36 +08:00
Jiang Jiang Jian
22b33adb2f Merge branch 'optimization/AP_STAIPASSIGNED_passes_IP_send_through_event_data_for_4.2' into 'release/v4.2'
esp-event:AP_STAIPASSIGNED now passes the IP through 'event_data'(backport 4.2)

See merge request espressif/esp-idf!11241
2020-12-09 22:32:19 +08:00
Jiang Jiang Jian
e287e3ef9d Merge branch 'bugfix/backport_some_lwip_bugs_1120_v4.2' into 'release/v4.2'
lw-ip:backport bugfix lwip for v4.2(backport 4.2)

See merge request espressif/esp-idf!11307
2020-12-09 22:31:32 +08:00
Jiang Jiang Jian
f03d543139 Merge branch 'bugfix/blufi_config_potential_double_free_v4.2' into 'release/v4.2'
Bugfix/blufi config potential double free v4.2

See merge request espressif/esp-idf!11163
2020-12-09 22:26:19 +08:00
Xia Xiaotian
5a17387c3d esp_wifi: decouple Wi-Fi and bluetooth with coexist to reduce binary file size 2020-12-09 20:42:35 +08:00
Krzysztof Budzynski
996e270f90 Merge branch 'doc/update_CN_translation_for_relase/v4.2' into 'release/v4.2'
update CN translation for index.rst and vscode-setup.rst in get-started folder (v4.2)

See merge request espressif/esp-idf!11522
2020-12-09 19:13:25 +08:00
Dai Zi Yan
4ff9a93490 update CN translation for index.rst and add CN translation for vscode-setup.rst in get-started folder 2020-12-09 19:13:25 +08:00
Island
f5c45576cf Merge branch 'feature/btdm_support_some_ble_new_features_v4.2' into 'release/v4.2'
components/bt: backport some new features for Bluedroid BLE(release v4.2)

See merge request espressif/esp-idf!11448
2020-12-09 10:28:56 +08:00
Island
2532ddd9f4 Merge branch 'bugfix/ble_mesh_proxy_cfg_replay_v4.2' into 'release/v4.2'
Bugfix/ble mesh proxy cfg replay (v4.2)

See merge request espressif/esp-idf!11509
2020-12-08 15:00:51 +08:00
negativekelvin
d1a9f9ec74 Fix reserved psram region
Closes https://github.com/espressif/esp-idf/pull/5373

Closes https://github.com/espressif/esp-idf/issues/5821
2020-12-08 17:42:36 +11:00
lly
e2cb5ee379 ble_mesh: stack: Store kr phase after value changed [Zephyr] 2020-12-08 11:51:28 +08:00
lly
0c8cf83131 ble_mesh: stack: Fix rpl not check by proxy cfg [Zephyr] 2020-12-08 11:51:23 +08:00
Krzysztof Budzynski
2ef417df5f Merge branch 'docs/update_rtc_clock_source_description_in_api_references_backport_v4.2' into 'release/v4.2'
docs: update the description for RTC Clock Sources for esp32 and esp32s2 (backport/v4.2)

See merge request espressif/esp-idf!11329
2020-12-08 10:47:42 +08:00
Krzysztof Budzynski
452992bcd5 Merge branch 'bugfix/remove_shortcut_to_build_instructions_v4.2' into 'release/v4.2'
doc: Getting Started Guide, remove shortcuts to 'build toolchain from scratch' instructions (v4.2)

See merge request espressif/esp-idf!10597
2020-12-08 10:46:42 +08:00
Island
c2f08b3e35 Merge branch 'bugfix/ble_mesh_node_deinit_v4.2' into 'release/v4.2'
ble_mesh: stack: Persistent storage misc fixes (v4.2)

See merge request espressif/esp-idf!11503
2020-12-08 10:28:46 +08:00
Angus Gratton
49dde3ca91 Merge branch 'bugfix/cast_int_to_size_t_in_cpu_ll_v4.2' into 'release/v4.2'
soc: cast int to size_t in cpu_ll (v4.2)

See merge request espressif/esp-idf!11135
2020-12-08 09:10:19 +08:00
Angus Gratton
cf644d4de3 Merge branch 'bugfix/check_doc_links_no_deploy_v4.2' into 'release/v4.2'
CI: Only run check_doc_links if we actually deployed (v4.2)

See merge request espressif/esp-idf!10955
2020-12-08 09:08:03 +08:00
Angus Gratton
fb81c46999 Merge branch 'bugfix/esp_idf_version_v4.2' into 'release/v4.2'
Add __ASSEMBLER__ flag in esp_idf_version.h to fix build failure with assembly files (v4.2)

See merge request espressif/esp-idf!10899
2020-12-08 09:07:51 +08:00
Angus Gratton
addabc392d Merge branch 'bugfix/ldgen_unicode_path_v4.2' into 'release/v4.2'
tools/ldgen: Parse paths with Unicode characters in archives & fix parsing of section names on Windows (v4.2)

See merge request espressif/esp-idf!10964
2020-12-08 09:07:47 +08:00
Angus Gratton
8a47006b72 Merge branch 'bugfix/backport_v4.2_fix_pthread_priority_inheritance' into 'release/v4.2'
pthread: fix the priority inheritance (backport v4.2)

See merge request espressif/esp-idf!11260
2020-12-08 09:07:23 +08:00
Angus Gratton
1591141237 Merge branch 'bugfix/err_to_name_paths_windows_v4.2' into 'release/v4.2'
tools: fix path handling errors in gen_esp_err_to_name.py for Windows (v4.2)

See merge request espressif/esp-idf!10895
2020-12-08 09:06:59 +08:00
Angus Gratton
74c7a84c4c Merge branch 'bugfix/secure_boot_v2_manual_enablement_v4.2' into 'release/v4.2'
Secure Boot V2: Fix an issue leading to manual enablement of Secure Boot v2. (v4.2)

See merge request espressif/esp-idf!11228
2020-12-08 09:06:29 +08:00
Angus Gratton
5cc8660a32 Merge branch 'bugfix/rtc_clk_cal_cycles_add_default_vals_for_all_sources_v4.2' into 'release/v4.2'
esp32xx: Fix default values for all RTC sources in RTC_CLK_CAL_CYCLES option (v4.2)

See merge request espressif/esp-idf!11412
2020-12-08 09:06:21 +08:00
Angus Gratton
82bcdcaeaf Merge branch 'bugfix/fix_partition_table_in_flash_encryption_example_v4.2' into 'release/v4.2'
example/flash_encryption: Fix partition table (v4.2)

See merge request espressif/esp-idf!10851
2020-12-08 09:06:07 +08:00
Angus Gratton
117be7a870 Merge branch 'bugfix/blecent_example_test_4.2' into 'release/v4.2'
Fix CI blecent example test (backport v4.2)

See merge request espressif/esp-idf!11271
2020-12-08 09:01:45 +08:00
Angus Gratton
244922a3e3 tools: Avoid subprocess.run(capture_output) argument for Python <3.7 compatibility
In Python 3.5 and 3.6 the equivalent to capture_output=True is to set stdout
and stderr arguments to subprocess.PIPE
2020-12-08 09:44:31 +11:00
lly
922abdc51b ble_mesh: stack: Persistent storage misc fixes
* Fix the issue that deinit node with "erase_flash"
  set to true, but info is not erased from nvs
* Reuse bt_mesh_cfg_reset() when deinit node
* Optimize Provisioner related erase operations
* No store pending timeout will be used when Node
  is not provisioned OR Provisioner is disabled
  and erase operation is performed
* Change the default timeout for settings operation
  to 0, and rpl store rate to 0
2020-12-07 12:05:56 +00:00
Island
59ad2b48ee Merge branch 'bugfix/fix_node_test_func_not_set_role_v4.2' into 'release/v4.2'
ble_mesh: test: Fix node test function not update role flag (v4.2)

See merge request espressif/esp-idf!11040
2020-12-07 19:56:55 +08:00
Island
0c75a3a8e7 Merge branch 'bugfix/ble_mesh_autorsp_description_v4.2' into 'release/v4.2'
esp_ble_mesh: api: fixed comment about autoresp (v4.2)

See merge request espressif/esp-idf!10888
2020-12-07 19:56:52 +08:00
Island
c667af2683 Merge branch 'optimize/ble_mesh_gattc_conn_param_v4.2' into 'release/v4.2'
ble_mesh: stack: Update connection parameters used by Central (v4.2)

See merge request espressif/esp-idf!11328
2020-12-07 19:55:51 +08:00
Mahavir Jain
305bc4983f Merge branch 'fix/protocomm_simple_ble_v4.2' into 'release/v4.2'
Protocomm/simple_ble: Fix gatt table map size to number of handles received (v4.2)

See merge request espressif/esp-idf!11264
2020-12-07 16:18:07 +08:00
Mahavir Jain
171eddcd01 Merge branch 'feature/esp_cryptoauthlib_sub_update_v4.2' into 'release/v4.2'
esp-cryptoauthlib: Update submodule pointer to add a new feature. (v4.2)

See merge request espressif/esp-idf!10830
2020-12-07 16:15:13 +08:00
Michael (XIAO Xufeng)
7dc03f16e7 Merge branch 'bugfix/twai_backport_accumulated_fixes_v4.2' into 'release/v4.2'
TWAI backport accumulated fixes (backport v4.2)

See merge request espressif/esp-idf!11459
2020-12-07 15:52:04 +08:00
Angus Gratton
c40f2590bf Merge branch 'featrue/remove_esp32-S2_preview_v4.2' into 'release/v4.2'
docs: ESP-IDF v4.2 fully supports ESP32-S2, remove documentation that describe preview support (v4.2)

See merge request espressif/esp-idf!11467
2020-12-04 08:33:44 +08:00
Krzysztof
1f3d8588ae docs: ESP-IDF v4.2 fully supports ESP32-S2, remove documentation that describe preview support 2020-12-04 10:09:07 +11:00
Darian Leung
a0bb9b2f57 TWAI: ISR runs when cache is disabled
This commit adds the feature where the TWAI ISR will continue to
run even if the cache is disabled. Whilst cache is disabled, any
received messages will go into the RX queue, and any pending TX
messages in the TX queue will be transmitted. This feature should
be enabled using the CONFIG_TWAI_ISR_IN_IRAM option.
2020-12-03 19:41:59 +08:00
xiewenxiang
9dbf59af9c component/bt: support BLE Read Attribute value by UUID 2020-12-03 15:19:44 +08:00
xiewenxiang
4e8d383d01 component/bt: refactor ble random address setting 2020-12-03 15:19:35 +08:00
XieWenxiang
8533c452a1 component/bt: support BLE Application Layer Encryption key size check 2020-12-03 15:19:27 +08:00
XieWenxiang
82b65d5de0 component/bt: support BLE Authorization 2020-12-03 15:19:17 +08:00
xiewenxiang
0740090682 component/bt: fix incorrect encryption flag setting 2020-12-03 15:19:02 +08:00
Jiang Jiang Jian
901dce43d0 Merge branch 'bugfix/update_release_v4.2_bt_lib' into 'release/v4.2'
components/bt: backport requires commit to release v4.2

See merge request espressif/esp-idf!11426
2020-12-03 11:22:13 +08:00
Darian Leung
fa7c5fcd42 TWAI: Fix BRP field initialization onf ESP32 ECO3
This commit zero initializes the brp_div field on ESP32 ECO3
to prevent incorrect timing configuration.
2020-12-02 21:27:12 +08:00
Darian Leung
1160da7fdf TWAI: Fix ESP32-S2 register field name 2020-12-02 21:27:12 +08:00
Darian Leung
e1b7a02786 TWAI: Simplify caps header
This commit simplifies the defines made in the _caps.h header. Kconfig
option dependencies were moved into the LL, and the check for a
valid BRP has bee simplified.
2020-12-02 21:26:33 +08:00
wangcheng
d780e5b31d components/bt: backport requires commit to release v4.2 2020-12-01 19:29:05 +08:00
Shivani Tipnis
4c533a1e53 ci: Fix blecent example test
(cherry picked from commit fc146a98e4)
2020-11-30 22:44:52 +05:30
KonstantinKondrashov
3d03264b0a esp32xx: Fix default values for all RTC sources in RTC_CLK_CAL_CYCLES option
Closes: https://github.com/espressif/esp-idf/issues/6037
2020-11-30 23:09:13 +08:00
morris
6270de58ad fix esp_modem switch mode timeout
Closes https://github.com/espressif/esp-idf/issues/3506
Closes https://github.com/espressif/esp-idf/issues/4324
2020-11-27 20:11:38 +01:00
David Cermak
99cb5a7c8d pppos client: modem netif fix ignoring potential modem-start error
esp-modem netif glue layer implements esp-netif attach callback to setup corresponding driver functions and start the modem. The error code of esp_modem_start_ppp() was ignored and ESP_OK returned in all cases. Fixed by passing esp_modem_start_ppp()'s error code to post_attach callback.

Closes https://github.com/espressif/esp-idf/issues/5430
2020-11-27 20:10:06 +01:00
David Cermak
bdc914bbf4 CI: esp_netif tests: Fix netsuite driver layer per wifi optimization changes
esp-wifi introcuded wifi tx optimization in !9147 . Update needed in netsuite to pass the tx data using  function

Closes https://github.com/espressif/esp-idf/issues/6161
2020-11-27 12:00:07 +01:00
InfiniteYuan
cd045c60d9 bugfix: Delete local variables to avoid null global variables 2020-11-25 20:52:27 +08:00
wangcheng
1be101f342 component/bt: Add a macro to control the compilation of blufi. 2020-11-24 10:44:57 +08:00
wangcheng
7097ff286c component/bt: Fix a potential double free error. 2020-11-24 10:44:56 +08:00
wangcheng
65c5a57033 blufi: fix an error caused by incorrect conn_id parameters. 2020-11-24 10:44:54 +08:00
Angus Gratton
f3ff3b3073 Merge branch 'ci/fix_annotated_tag_check_v4.2' into 'release/v4.2'
ci: Fix annotated tag check (v4.2)

See merge request espressif/esp-idf!11331
2020-11-23 17:30:21 +08:00
Angus Gratton
19bc67e146 ci: Fix annotated tag check
Regression in 1612f84
2020-11-23 17:27:12 +11:00
Wang Fang
e9dae152cd docs: update the description for RTC Clock Sources for esp32 and esp32s2 2020-11-23 11:37:15 +08:00
lly
e2b6ab00dc ble_mesh: stack: Update connection interval to 15ms 2020-11-23 08:59:23 +08:00
lly
92eebb885c ble_mesh: stack: Update connection parameters used by Central 2020-11-23 08:59:22 +08:00
David Cermak
c4e4a05002 MQTT: Update submodule reference: config, error handle, minor fixes
Updates esp-mqtt reference to include fixes below related mainly to:
* configuration update (disable keepalive, network timeout)
* minor fixes (size_t for all sizes, unbalanced lock, api for
  outbox-size)
* extended error handle to include socket's errno

Closes https://github.com/espressif/esp-idf/issues/5906

Config: Added config value to disable keepalive mechanism
esp-mqtt commit: 8562437c8a
Related https://github.com/espressif/esp-mqtt/issues/179

Added esp_mqtt_client_get_outbox_size API
esp-mqtt commit: 0a1d9d0300
Related https://github.com/espressif/esp-mqtt/pull/178

mqtt_outbox: Removed unused retry_count field from outbox_item_t
esp-mqtt commit: 673086e13a

config: Fixed typo for configuring OUTBOX_EXPIRED_TIMEOUT_MS
esp-mqtt commit: 259baaec96

Fixed missing MQTT_API_UNLOCK in esp_mqtt_client_stop error path
esp-mqtt commit: 845c2a3a1e
Related https://github.com/espressif/esp-mqtt/issues/173
Related https://github.com/espressif/esp-mqtt/pull/174

Extended mqtt error handle to capture transport's socket errno (IDF
v4.3+)
esp-mqtt commit: 23c8e1ecf5

Config: Added configuration value to set network timeout
esp-mqtt commit: a03228ac46
Related https://github.com/espressif/esp-mqtt/pull/166

Used size_t for all lengths to allow for other architectures
esp-mqtt commit: b9db8d9020
2020-11-20 10:24:18 +01:00
David Cermak
405f2ee995 mdns: Fix wrong mdns source address if lwIP IPv6 zones disabled
The struct definition of ip6_addr_t in lwip and esp_ip6_addr_t
differs since zone could be possibly disabled in lwip. Using memcpy to copy the
address will cause wrong source address. Copy the entries manually
instead.

Merges https://github.com/espressif/esp-idf/pull/6055
2020-11-20 10:15:33 +01:00
xueyunfei
501fce7fdd backport bugfix lwip for v4.2 2020-11-20 14:44:13 +08:00
Armando
3c2367d158 i2s: fix i2s ll layer pdm config 2020-11-19 11:42:53 +00:00
xutao
2a4c338ac4 websocket_client: fix some issues for websocket client
1. will post twice disconnect event when read error
    2. will block `timeout` times when set disable_auto_connect
    3. When `esp_websocket_client_stop` before `esp_websocket_client_send*`,
    if the `esp_websocket_client_send*` fails, the status will change to
     'WEBSOCKET_STATE_WAIT_TIMEOUT', and the next `esp_websocket_client_start` will fail forever
2020-11-19 15:59:47 +08:00
Prasad Alatkar
6928e6b5b0 Protocomm/simple_ble: Make gatt table map size equal to number of handles received (v4.2)
- Fixes memcpy failure observed while adding 2 or more endpoints in
  wifi_provisioning.

 Closes IDF-2250
2020-11-17 14:59:46 +05:30
Angus Gratton
511965b269 Merge branch 'fix/esp_local_ctrl_update_expired_cert_v4.2' into 'release/v4.2'
esp_local_ctrl: Updated the expired cacert.pem (v4.2)

See merge request espressif/esp-idf!11206
2020-11-17 15:14:57 +08:00
xutao
cc10f1943c pthread: fix the priority inheritance
When `pthread_mutex_destroy` is used to release mutex, `pthread_mutex_lock_internal` is used,
     which results in the increase of `uxmutexehold` and no recovery base priority
2020-11-17 14:48:43 +08:00
israel
e0a02c1a7c AP_STAIPASSIGNED now passes the IP through 'event_data'
Signed-off-by: xueyunfei <xueyunfei@espressif.com>
2020-11-16 17:43:51 +08:00
Anton Maklakov
eae8933b85 ci: use the retry script to download 2020-11-16 11:30:47 +07:00
Supreet Deshpande
dd6405fcef Secure Boot V2: Fix an issue leading to manual enablement of Secure Boot v2.
Fixes https://github.com/espressif/esp-idf/issues/6050
2020-11-13 11:33:29 +05:30
Aditya Patwardhan
c2fbda0e6d esp_local_ctrl: Updated the expired cacert.pem 2020-11-12 10:16:22 +05:30
Angus Gratton
c688828362 Merge branch 'bugfix/efuse_change_burn_order_for_s2_s3_v4.2' into 'release/v4.2'
efuse: Fix the order of writing in batch mode (v4.2)

See merge request espressif/esp-idf!11123
2020-11-11 14:50:53 +08:00
Jiang Jiang Jian
9c239b9f77 Merge branch 'bugfix/fix_assert_in_passkey_reply_4_2' into 'release/v4.2'
Bugfix/fix assert in passkey reply [backport v4.2]

See merge request espressif/esp-idf!10974
2020-11-11 11:35:41 +08:00
Jiang Jiang Jian
5de9174ade Merge branch 'bugfix/fix_crash_caused_by_calling_deinit_directly_4_2' into 'release/v4.2'
Fix crash caused by calling a2dp_deinit directly [backport v4.2]

See merge request espressif/esp-idf!11130
2020-11-11 11:35:06 +08:00
Jiang Jiang Jian
abb7c529dc Merge branch 'bugfix/wpa3_pmkcache_expiry_workaround_v4.2' into 'release/v4.2'
wpa_supplicant: Increase PMK Lifetime to a very high value (Backport v4.2)

See merge request espressif/esp-idf!11170
2020-11-11 11:29:36 +08:00
Jiang Jiang Jian
fe78f2cf3b Merge branch 'bugfix/wifi_fix_beacon_dtim_count_error_v4.2' into 'release/v4.2'
Wi-Fi: set softap beacon DTIM count according to TSF timer(backport v4.2)

See merge request espressif/esp-idf!11155
2020-11-11 11:28:43 +08:00
weitianhua
ad31451594 Fix crash caused by calling deinit directly 2020-11-10 11:18:39 +00:00
weitianhua
0b51df615c Remove dummy assert when receive passkey request 2020-11-10 16:06:11 +08:00
Angus Gratton
bff3192080 Merge branch 'feature/update_key_name_of_secure_boot_v4.2' into 'release/v4.2'
bootloader: Secure_boot name replaced by secure_boot_v1 & secure_boot_v2 (v4.2)

See merge request espressif/esp-idf!10850
2020-11-10 15:56:26 +08:00
Jiang Jiang Jian
4e80dc2a77 Merge branch 'bugfix/fix_coex_ble_disconnect_issues_1105_v4_2' into 'release/v4.2'
bluetooth: Fix ble disconnect issue in coex mode backport v4.2

See merge request espressif/esp-idf!11146
2020-11-10 15:21:39 +08:00
Jiang Jiang Jian
8e4b919391 Merge branch 'bugfix/fix_spp_read_flow_control_v4.2' into 'release/v4.2'
component_bt/fix spp flow control and vfs write [backport 4.2]

See merge request espressif/esp-idf!11071
2020-11-10 15:19:48 +08:00
gengyuchao
5ca0f50231 Fix two bugs:
1.Fix supervision timeout in LLC DISC busy statue can not disconnect issue.
 2.Solve the problem that the ble terminate ack packet may lose with a high probability in coex mode.
2020-11-10 03:00:43 +00:00
Xia Xiaotian
0df8024219 Wi-Fi: set softap beacon DTIM count according to TSF timer 2020-11-09 19:33:27 +08:00
He Yin Ling
e31dd41e00 Merge branch 'bugfix/example_test_import_error_4.2' into 'release/v4.2'
bugfix: import error in example tests (4.2)

See merge request espressif/esp-idf!11048
2020-11-09 19:21:10 +08:00
Nachiket Kukade
2343aab4da wpa_supplicant: Increase PMK Lifetime to a very high value
For WPA3 connection nearing PMK lifetime expiry, PMK Cache
needs a re-authentication or the cache will expire. After
current expiry of 12 hours Station ends up sending a deauth
to the AP. An SAE re-authentication also cannot occur without
a disconnection with current implementation. So increase the
PMK lifetime to 100 days for now.
2020-11-09 15:40:08 +05:30
Jiang Jiang Jian
f936adf451 Merge branch 'high/fix_ble_scan_irq_by_timer_v4.2' into 'release/v4.2'
components/bt: fix hci timeout, add timer to monitor scan evt

See merge request espressif/esp-idf!11108
2020-11-06 17:45:27 +08:00
wangcheng
ffb4ff0e4b components/bt: fix hci timeout, add timer to monitor scan evt 2020-11-06 14:17:11 +08:00
Angus Gratton
03c72909a3 esptool: Update to v3.0 release version 2020-11-06 17:11:29 +11:00
Angus Gratton
e5aa2b1d73 Merge branch 'bugfix/esp32s2_define_correct_size_for_rtc_fast_mem_v4.2' into 'release/v4.2'
esp32s2: Fix missed features CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP and... (v4.2)

See merge request espressif/esp-idf!9965
2020-11-06 12:49:24 +08:00
liqigan
640083c8cb replace list and ringbuffer with fixed queue
use eventgroup to sync spp_vfs_write

each connection has a switch_delay_timer not sharing a one

revert functions like spp_find_slot_by_xxx

fix vfs read bug when peer close
2020-11-06 03:38:52 +00:00
liqigan
94093debab move flow control to btc layer
defer free slot in btc layer when receive BTA_JV_RFCOMM_CLOSE_EVT
2020-11-06 03:38:52 +00:00
liqigan
76f41cc5e0 add event when calling spp API failed 2020-11-06 03:38:52 +00:00
Jiang Jiang Jian
778fe654aa Merge branch 'bugfix/fix_ag_outging_callback_not_triggered_v4.2' into 'release/v4.2'
Bugfix/Fix Ag Example Outgoing Callback Not Triggered [backport v4.2]

See merge request espressif/esp-idf!11020
2020-11-06 11:08:26 +08:00
Jiang Jiang Jian
cd7bfd6d85 Merge branch 'bugfix/fix_TCP_timer_interval_v4.2' into 'release/v4.2'
lw-ip: fix TCP timer interval (backport v4.2)

See merge request espressif/esp-idf!11086
2020-11-06 11:06:52 +08:00
Jiang Jiang Jian
34665cb9f9 Merge branch 'bugfix/fix_clkn_overflow_issue_4_2' into 'release/v4.2'
Fix controller dead when clkn overflow [backport v4.2]

See merge request espressif/esp-idf!11035
2020-11-06 11:06:32 +08:00
FredrikFornstad
57571ae908 Bugfix: Casting int to size_t 2020-11-05 20:32:43 +05:30
Angus Gratton
b336cb954c esp32s2: Disable ADC calibration routine if running on FPGA 2020-11-05 15:06:33 +08:00
KonstantinKondrashov
ac04213299 efuse: Fix the order of writing in batch mode for esp32s2 and s3 2020-11-05 15:05:55 +08:00
He Yin Ling
4bb9bb95d0 Merge branch 'bugfix/ci_clone_https_v4.2' into 'release/v4.2'
ci: use HTTPS for cloning in IT jobs (v4.2)

See merge request espressif/esp-idf!11095
2020-11-05 09:55:58 +08:00
Ivan Grokhotkov
e07d2df67e ci: use HTTPS for cloning in IT jobs 2020-11-03 19:26:28 +08:00
ronghulin
a55db686b9 bugfix: fix TCP timer interval 2020-11-03 10:38:48 +08:00
Michael (XIAO Xufeng)
5e49f0b565 Merge branch 'bugfix/fix_spi_flash_clock_config_error_s2_4.2' into 'release/v4.2'
bootloader_support: fix fix spi flash clock config error (v4.2)

See merge request espressif/esp-idf!10892
2020-11-02 13:21:37 +08:00
Chen Yu Dong
9cf81750b9 bugfix: import error in example tests 2020-10-30 16:24:08 +08:00
lly
b2bd4d1cb7 ble_mesh: test: Fix node test function not update role flag 2020-10-29 15:50:00 +08:00
Roland Dobai
707dde46a8 tools/ldgen: Fix parsing of sections names on Windows 2020-10-29 08:46:03 +01:00
Roland Dobai
c09d3c6bac tools/ldgen: Parse paths with Unicode characters in archives
Closes https://github.com/espressif/esp-idf/issues/5996
2020-10-29 08:46:03 +01:00
weitianhua
000a533eaa Fix controller dead when clkn overflow 2020-10-29 14:54:20 +08:00
Jiang Jiang Jian
2b4124bced Merge branch 'bugfix/fix_crash_or_reboot_on_esp32s2_v4.2' into 'release/v4.2'
fix reboot or crash when enable lightsleep on esp32s2

See merge request espressif/esp-idf!11026
2020-10-29 00:31:10 +08:00
Jiang Jiang Jian
73e4a15889 Merge branch 'bugfix/resolve_esp32s2_rtc_gpio_reject_lightsleep_v4.2' into 'release/v4.2'
set clk_gate_en when enable rtc gpio wake up _backport_to_v4.2

See merge request espressif/esp-idf!11009
2020-10-28 22:20:44 +08:00
ninh
a6467d7683 fix reboot or crash when enable lightsleep on esp32s2 2020-10-28 22:20:41 +08:00
Jiang Jiang Jian
c5e75cb396 Merge branch 'bugfix/assert_10_9_when_AFPM_occur_v4.2' into 'release/v4.2'
Bugfix/assert 10 9 when afpm occur v4.2, Changed the check order for esp_bt_controller_init(release/v4.2)

See merge request espressif/esp-idf!10984
2020-10-28 22:15:59 +08:00
Jiang Jiang Jian
cd482f5e4b Merge branch 'mesh/bugfix_1023_backport_v4.2' into 'release/v4.2'
esp_wifi_mesh: update wifi mesh libs (backport v4.2)

See merge request espressif/esp-idf!11010
2020-10-28 22:14:43 +08:00
liqigan
783c5ecee2 fix ag example outgoing callback not triggered
Closes https://github.com/espressif/esp-idf/issues/4967
2020-10-28 20:25:43 +08:00
wangcheng
138e1319b1 components/bt: fixed memory damage caused by bluetooth memory release 2020-10-28 19:05:22 +08:00
wangcheng
44e40500da components/bt: fix assert(10, 9), when the AFPM happens. fix tx_prog insert error. 2020-10-28 19:05:12 +08:00
shenjun
6a0e8cc83a esp_wifi_mesh: update wifi mesh libs
1. Fix FIX-ROOT does not reconnect to router when disconnect reason is too many
2. Add API esp_mesh_print_scan_result
3. Modify not to reset mesh_xonseq of self and children when flush_upstream_packets
4. Fix not switch to a parent candidate which has the same layer and assoc as current parent
5. Fix not arm parent monitor when a parent candidate is cleared without sending an event to mesh layer
6. Fix the new voted root does not reconnect to router if rssi is weak
2020-10-28 15:02:29 +08:00
Jiang Jiang Jian
3d8f16e05d Merge branch 'bugfix/btdm_bluedroid_enable_takes_long_time_v4.2' into 'release/v4.2'
Bugfix/btdm bluedroid enable takes long time v4.2

See merge request espressif/esp-idf!10701
2020-10-28 13:38:51 +08:00
ninh
62aade0671 set clk_gate_en when enable rtc gpio wake up 2020-10-28 11:55:49 +08:00
Jiang Jiang Jian
ff52533260 Merge branch 'bugfix/update_toolchain_5.2.0_psram_final_v4.2' into 'release/v4.2'
esp_wifi: Update WiFi toolchain to 1.22.0-97-gc752ad5  (backport v4.2)

See merge request espressif/esp-idf!10640
2020-10-28 11:14:57 +08:00
Michael (XIAO Xufeng)
c245db59b6 bootloader_support: fix fix spi flash clock config error
Relates to: https://github.com/espressif/esp-idf/issues/5099
2020-10-28 01:38:14 +00:00
Jiang Jiang Jian
c97d4cde56 Merge branch 'feature/add_ipv6_ping_for_4.2' into 'release/v4.2'
lw-ip:add feature for ipv6 ping(backport 4.2)

See merge request espressif/esp-idf!10995
2020-10-27 22:36:57 +08:00
Jiang Jiang Jian
e8cee449ea Merge branch 'bugfix/nimble_host_rcv_pkt_length_check_v4.2' into 'release/v4.2'
NimBLE: host_rcv_pkt event buf size check. (v4.2)

See merge request espressif/esp-idf!10758
2020-10-27 18:49:43 +08:00
Jiang Jiang Jian
e40d3bb05d Merge branch 'optimize/ble_mesh_make_buf_config_invisible_v4.2' into 'release/v4.2'
ble_mesh: stack: Make mesh buf debug option invisible (v4.2)

See merge request espressif/esp-idf!10794
2020-10-27 18:48:37 +08:00
Jiang Jiang Jian
22f49e0fa9 Merge branch 'bugfix/ble_mesh_settings_fix_v4.2' into 'release/v4.2'
Bugfix/ble mesh settings fix (v4.2)

See merge request espressif/esp-idf!10784
2020-10-27 18:48:06 +08:00
Jiang Jiang Jian
dd3f1e346a Merge branch 'feat/ble_mesh_device_properties_v2_v4.2' into 'release/v4.2'
Feat/ble mesh device properties v2 (v4.2)

See merge request espressif/esp-idf!10787
2020-10-27 18:47:34 +08:00
Jiang Jiang Jian
a5c3bd3d04 Merge branch 'bugfix/wpa_supplicant_link_depth_v4.2' into 'release/v4.2'
wpa_supplicant: Fix failure to link under some circumstances (v4.2)

See merge request espressif/esp-idf!10976
2020-10-27 18:45:17 +08:00
Jiang Jiang Jian
2454ffc912 Merge branch 'bugfix/fix_bredr_read_rssi_delta_v4.2' into 'release/v4.2'
Bugfix/Fix Read Rssi Delta Bug in Bredr [backport v4.2]

See merge request espressif/esp-idf!10801
2020-10-27 18:44:50 +08:00
liqigan
e4e46b8384 1. fix read rssi delta bug in bredr
2. modify read rssi related function names

Closes https://github.com/espressif/esp-idf/issues/5660
2020-10-27 06:57:20 +00:00
xiehang
1d1b4f09b0 esp_wifi: Update WiFi toolchain to 1.22.0-97-gc752ad5 2020-10-27 14:43:57 +08:00
Krzysztof Budzynski
99fbd8a6e1 Merge branch 'doc/add_user_guide_kaluga_1.3_v4.2' into 'release/v4.2'
Add user guide kaluga 1.3 (backport v4.2)

See merge request espressif/esp-idf!10642
2020-10-27 12:40:58 +08:00
Kirill Chalov
fd95013d77 Add user guide kaluga 1.3 (backport v4.2) 2020-10-27 12:40:53 +08:00
Krzysztof Budzynski
a5ddeef60b Merge branch 'feature/explain_hello_world_files_v4.2' into 'release/v4.2'
docs: Add explanation of hello_world folder contents (v4.2)

See merge request espressif/esp-idf!10775
2020-10-27 12:39:13 +08:00
Krzysztof Budzynski
bd5332d368 Merge branch 'feature/guide_change_for_catalina_v4.2' into 'release/v4.2'
docs: Add profile file name used by zsh shell (v4.2)

See merge request espressif/esp-idf!10772
2020-10-27 12:37:40 +08:00
Jiang Jiang Jian
48ea5b465d Merge branch 'bugfix/pmf_softap_coex_issue_v4.2' into 'release/v4.2'
Fix issues related to PMF and WPA2-Enterprise (Backport v4.2)

See merge request espressif/esp-idf!10706
2020-10-27 10:58:11 +08:00
xueyunfei
e7e5884a77 lwip:add feature for ipv6 ping 2020-10-27 10:27:30 +08:00
Nachiket Kukade
c59eb27698 esp_wifi: Update wifi lib
1. Add STA checks during STA PMF operations
2. Fix WPA2-Ent issue with Open AP
3. Skip WPA-TKIP profile if PMF is required
4. Skip & clear Supplicant PMK Cache with mismatching AP config
2020-10-26 15:55:54 +08:00
Angus Gratton
5170ead2e6 wpa_supplicant: Fix failure to link under some circumstances
Depending on CMake internals, the wpa_supplicant library may need to be repeated
multiple times in the linker command line.

Closes https://github.com/espressif/esp-idf/issues/5641
2020-10-26 15:12:48 +11:00
Jiang Jiang Jian
8d213150c5 Merge branch 'bugfix/fix_TCP_retransmission_interval_v4.2' into 'release/v4.2'
fix TCP retransmission interval (backport v4.2)

See merge request espressif/esp-idf!10953
2020-10-26 11:25:15 +08:00
Jiang Jiang Jian
d85d336c86 Merge branch 'bugfix/wps_fail_reason_code_v4.2' into 'release/v4.2'
esp_wifi: Add Failures Reason code in all WPS failure send event(backport v4.2)

See merge request espressif/esp-idf!10928
2020-10-26 11:24:30 +08:00
Jiang Jiang Jian
e10e25981b Merge branch 'bugfix/fix_tsf_bug_v4.2' into 'release/v4.2'
WiFi: fix tsf bug (backport v4.2)

See merge request espressif/esp-idf!10947
2020-10-26 11:21:11 +08:00
He Yin Ling
4fbfac2670 Merge branch 'feature/move_auto_test_script_to_new_repo_4.2' into 'release/v4.2'
ci: move auto_test_script to new repo (backport 4.2)

See merge request espressif/esp-idf!10877
2020-10-24 09:24:38 +08:00
Chen Yu Dong
f12808533d ci: move auto_test_script to new repo (backport 4.2) 2020-10-24 09:24:38 +08:00
Jiang Jiang Jian
d5871e9602 Merge branch 'bugfix/ipv6_ping_error_when_src_ip_miss_for_4.2' into 'release/v4.2'
lw-ip:bugfix ipv6 ping error when src ip miss for 4.2(backport 4.2)

See merge request espressif/esp-idf!10932
2020-10-23 11:28:42 +08:00
Michael (XIAO Xufeng)
489c0b9aac Merge branch 'feature/esp32s2_bootloader_random_v4.2' into 'release/v4.2'
bootloader_support: Enable RNG entropy source for ESP32-S2 (v4.2)

See merge request espressif/esp-idf!10882
2020-10-22 23:08:11 +08:00
Marius Vikhammer
e05164cb4f CI: Only run check_doc_links if we actually deployed
Update the check_doc_links job run conditions to match
github/doc deploy as a lot of the links link to github files.
2020-10-22 18:26:46 +08:00
ronghulin
84e5aef540 fix TCP retransmission interval 2020-10-22 16:53:00 +08:00
zhangyanjiao
3c3bff6ebb esp_wifi: Fixed the bug for timestamp check, didn't disconnect AP when AP's timestamp decrease abnormally 2020-10-22 15:12:50 +08:00
KonstantinKondrashov
2592a0534d bootloader: Secure_boot name replaced by secure_boot_v1 & secure_boot_v2
- espefuse.py burn_key secure_boot is no longer used.
- Secure boot V1: espefuse.py burn_key secure_boot_v1 file.bin
- Secure boot V2: espefuse.py burn_key secure_boot_v2 file.bin
2020-10-22 05:57:46 +00:00
xueyunfei
6692f4119e bugfix ipv6 ping error when src ip miss for 4.2 2020-10-21 20:52:06 +08:00
kapil.gupta
379624de53 esp_wifi: Add WPS Reason code in all failures 2020-10-21 17:09:36 +05:30
Angus Gratton
b34c658554 esp32s2: Use regi2c registers to enable bootloader RNG 2020-10-21 15:09:22 +11:00
Michael (XIAO Xufeng)
87247d5672 Merge branch 'bugfix/adc_dma_test_value_4.2' into 'release/v4.2'
adc_test: fix the failure caused by low expected middle value (v4.2)

See merge request espressif/esp-idf!10887
2020-10-20 11:03:15 +08:00
Shubham Kulkarni
c0a9ef0e1d esp_idf_version.h: Add __ASSEMBLER__ flag to fix build failure with assembly files 2020-10-19 13:21:26 +05:30
Michael (XIAO Xufeng)
9f0f753a48 Merge branch 'bugfix/fix_i2s_reset_issue_v4.2' into 'release/v4.2'
driver(I2S): Fix I2S reset issue for release/v4.2

See merge request espressif/esp-idf!9582
2020-10-19 15:40:03 +08:00
Marius Vikhammer
978b54796f tools: fix path handling errors in gen_esp_err_to_name.py for Windows
Exclude paths that were specified with slash as a path separator were compared
as strings. This would fail on Windows which uses backslash as a path separator.
2020-10-19 14:17:19 +08:00
Michael (XIAO Xufeng)
68141a8844 adc_test: fix the failure caused by low expected middle value 2020-10-19 11:11:34 +08:00
andreachiara
882e924629 esp_ble_mesh: api: fixed comment about autoresp 2020-10-19 11:00:55 +08:00
Angus Gratton
3cdf0aa18a esp32s2: Enable 8M clock source for RNG also
Either of these options is sufficient to pass dieharder test suite with
bootloader random output, having both enabled is a bonus.
2020-10-19 10:24:37 +11:00
Angus Gratton
0c320bfb0e esp32s2: Support bootloader_random_enable() 2020-10-19 10:24:37 +11:00
Michael (XIAO Xufeng)
f0e87c933a Merge branch 'spi_dma_close_before_cpu_reset_v4.2' into 'release/v4.2'
spi: fix issue with closing DMA before CPU reset (4.2)

See merge request espressif/esp-idf!10811
2020-10-17 23:37:29 +08:00
Michael (XIAO Xufeng)
33443d80af Merge branch 'bugfix/spi_master_multiple_dev_with_diff_cs_lvl_4.2' into 'release/v4.2'
spi_master: correctly set cs polarity (4.2)

See merge request espressif/esp-idf!10391
2020-10-17 09:27:24 +08:00
Michael (XIAO Xufeng)
ae0bec8de0 Merge branch 'bugfix/fix_adc-dma_reading_gap_for_esp32_backport_v4.2' into 'release/v4.2'
bugfix(adc): missing ranges of ADC-DMA codes in ESP32 (backport v4.2)

See merge request espressif/esp-idf!10670
2020-10-17 09:21:38 +08:00
Michael (XIAO Xufeng)
eb540e3efa Merge branch 'bugfix/pcnt_interrupt_clear_v4.2' into 'release/v4.2'
pcnt: fix bug in clear interrupt status (v4.2)

See merge request espressif/esp-idf!10694
2020-10-16 14:51:17 +08:00
Michael (XIAO Xufeng)
189a2991b7 Merge branch 'doc/adc_grammar_stuff_backport_v4.2' into 'release/v4.2'
Bugfix(doc): minor modifications in the adc section  (backport v4.2)

See merge request espressif/esp-idf!10657
2020-10-16 14:42:36 +08:00
fuzhibo
95f353949a bugfix(adc): missing ranges of ADC codes in ESP32 2020-10-16 06:34:46 +00:00
houwenxiang
3fa779b463 driver(I2S): Fix I2S reset issue for release/v4.2
`i2s_start` reseting I2S in incorrect order causeing the word-order error.
2020-10-16 06:32:13 +00:00
Armando
4c7dca7105 spi: fix issue with closing DMA before CPU reset 2020-10-16 06:00:18 +00:00
Wielebny666
3dd5b574ee spi_master: correctly set cs polarity
All devices must be added to the same spi line before use.
2020-10-16 05:53:24 +00:00
Angus Gratton
a88c479160 cmake: Log the project sdkconfig path as part of normal CMake status output
As discussed in footnote to https://github.com/espressif/esp-idf/issues/5251#issuecomment-625563782
2020-10-16 10:11:39 +11:00
Angus Gratton
2a7dfb2320 examples: Move idf_as_lib sdkconfig file to the project directory
Also add some explanation about configuring the project in the README

Previously with the default build-esp32.sh script, the build directory was
deleted and recreated so the project would always be built with default config.
2020-10-16 10:11:39 +11:00
KonstantinKondrashov
df5399cfb5 esp32s2: Fix missed features CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP and CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC
Defines the correct size for RTC fast memory (the same as for ESP32).

Closes: IDF-1800
2020-10-15 22:33:12 +00:00
Angus Gratton
e5fe4ffb08 Merge branch 'feature/support_access_internal_i2c_register_backport_v4.2' into 'release/v4.2'
feature(rtc): add new APIs support access internal i2c register (backport v4.2)

See merge request espressif/esp-idf!10662
2020-10-16 06:32:04 +08:00
lly
2724e02faf ble_mesh: stack: Add mesh device properties v2 definitions
Also fixes wrong characteristic value length of some device
properties.
2020-10-15 12:17:54 +00:00
lly
3c1922864d ble_mesh: stack: Move device property to model common part 2020-10-15 12:17:54 +00:00
lly
86af10c529 ble_mesh: stack: Make mesh buf debug option invisible 2020-10-15 11:48:59 +00:00
lly
c0678d65da ble_mesh: stack: Use settings_core_erase when deinit 2020-10-15 11:48:14 +00:00
lly
2c8fc5f5d6 ble_mesh: stack: Fix storing next net_idx and app_idx 2020-10-15 11:48:14 +00:00
lly
5708d4a4e1 ble_mesh: stack: Continue restore even if failure happens
Previously we have used this solution for node info
restore. Here use the same solution for other mesh
information restore.
2020-10-15 11:48:14 +00:00
lly
094eeaf346 ble_mesh: stack: Split model settings store and clear 2020-10-15 11:48:14 +00:00
lly
c06ce57687 ble_mesh: stack: Erase netkey and appkey with key index 2020-10-15 11:48:14 +00:00
lly
ea0ff4e6d1 ble_mesh: stack: Add clear hb_pub in settings 2020-10-15 11:48:14 +00:00
lly
365c17614b ble_mesh: stack: Transport rx reset settings update
When reset the rx info of transport layer, the
rpl list will always cleared, and rpl stored
in the nvs will only be erased when erase flag
is true and BLE_MESH_SETTINGS is enabled.
Compared with the previous solution, it should
be more clear.
2020-10-15 11:48:14 +00:00
lly
3b9057311b ble_mesh: stack: Use erase settings functions 2020-10-15 11:48:14 +00:00
lly
2459b625f1 ble_mesh: stack: Use mutex for settings operation
Also expose the settings functions with the parameter
bt_mesh_nvs_handle_t, which will be used for further
updates.
2020-10-15 11:48:14 +00:00
lly
a47e89c4e4 ble_mesh: stack: Add role check before enabling device 2020-10-15 11:48:14 +00:00
lly
4b70056966 ble_mesh: stack: Define a type for mesh nvs handle 2020-10-15 11:48:14 +00:00
lly
147db2f700 ble_mesh: ci: Enable settings in sdkconfig.ci.xxx 2020-10-15 11:48:14 +00:00
Ivan Grokhotkov
514389681c examples: fix flash encryption example test
Commit 5e8795eebe has changed the partition table offset, which
has resulted in the ciphertext not matching the one expected in the
example test.
Fix by calculating the ciphertext using espsecure.py.
2020-10-15 18:39:45 +08:00
KonstantinKondrashov
f5475db6e1 example/flash_encryption: Fix partition table and sdkconfig.defaults
When the flash encryption is enabled then we do not need to change the partition table.
The partition_example.csv should not have fixed offsets for partitions because we want to move the whole table.
The fixed offsets in the table were cleared.
2020-10-15 18:36:17 +08:00
baohongde
9fe1469c70 components/bt: Fix waking up fail while sleeping 2020-10-15 09:13:22 +00:00
baohongde
f64d0ec873 components/bt: Make sleep avaliable in hli(for future use) 2020-10-15 09:13:22 +00:00
Angus Gratton
292e396846 Merge branch 'bugfix/spi_flash_yield_coredump_v4.2' into 'release/v4.2'
spi_flash: don't call vTaskDelay in non-os context (v4.2)

See merge request espressif/esp-idf!10297
2020-10-15 15:10:51 +08:00
Angus Gratton
747c9a4e44 Merge branch 'bugfix/returns_correct_flash_encryption_mode_v4.2' into 'release/v4.2'
bootloader: Fix esp_get_flash_encryption_mode() (v4.2)

See merge request espressif/esp-idf!10712
2020-10-15 15:06:42 +08:00
Aditya Patwardhan
9316961219 esp-cryptoauthlib: Update submodule pointer to add a new feature. 2020-10-15 05:16:38 +00:00
fuzhibo
bbef823a20 feature(rtc): rename i2c_xxx to regi2c_xxx 2020-10-15 03:34:59 +00:00
fuzhibo
d337559a17 rtc: support access internal i2c register 2020-10-15 03:34:59 +00:00
KonstantinKondrashov
af7d6f4d89 bootloader: Fix esp_get_flash_encryption_mode(). RELEASE = (CRYPT_CNT == max) or (CRYPT_CNT.write_protect == true)
If the CRYPT_CNT efuse is max it means the same as a write protection bit for this efuse.

Closes: https://github.com/espressif/esp-idf/issues/5747
2020-10-15 02:36:04 +00:00
Ivan Grokhotkov
7d8d2b982e Merge branch 'feature/oocd_ver_backport_v4.2' into 'release/v4.2'
tools: Updates OpenOCD version to 'v0.10.0-esp32-20200709' (backport v4.2)

See merge request espressif/esp-idf!8971
2020-10-15 02:55:08 +08:00
Krzysztof
eabd01e2ab docs: Add profile file name used by zsh shell 2020-10-14 07:31:34 +00:00
Soumesh Banerjee
3f011513b8 VSCode Extension Setup Guide 2020-10-14 07:22:09 +00:00
Krzysztof Budzynski
b25f3cd524 docs: Add explanation of hello_world folder contents (v4.2) 2020-10-14 07:22:09 +00:00
Angus Gratton
57ce9c2f06 Merge branch 'bugfix/bootloader_anti_rollback_mmap_v4.2' into 'release/v4.2'
bootloader_support: fix issue in memory mapping for getting app descriptor (v4.2)

See merge request espressif/esp-idf!10734
2020-10-14 10:44:00 +08:00
Ivan Grokhotkov
4b5146a4ad test_apps: add build test for !CONFIG_SPI_FLASH_YIELD_DURING_ERASE 2020-10-14 02:42:46 +00:00
Ivan Grokhotkov
7092be7422 test_apps: add coredump tests for int_wdt 2020-10-14 02:42:46 +00:00
Ivan Grokhotkov
4baf399f10 spi_flash: don't call vTaskDelay in non-os context
Fixes regression in core dump, when a crash happens in interrupt
context.
2020-10-14 02:42:46 +00:00
Angus Gratton
489f5c38b4 Merge branch 'bugfix/deepsleep_flush_uarts_correct_v4.2' into 'release/v4.2'
esp32s2/soc: Fix periph_ll_periph_enabled (v4.2)

See merge request espressif/esp-idf!10711
2020-10-14 10:42:13 +08:00
Angus Gratton
805a4d9b3f Merge branch 'bugfix/prov_retry_failures_v4.2' into 'release/v4.2'
ci: Add retries for all provisioning methods, some refactors (v4.2)

See merge request espressif/esp-idf!9387
2020-10-14 10:41:42 +08:00
Angus Gratton
8c7a8f146b Merge branch 'bugfix/embed_file_symbol_names_v4.2' into 'release/v4.2'
cmake: fix C identifier generation from embedded file (v4.2)

See merge request espressif/esp-idf!10664
2020-10-14 10:41:12 +08:00
Angus Gratton
359b6af07c Merge branch 'bugfix/UT_001-parallel-count' into 'release/v4.2'
Increase count of parallel jobs to get UT_001 run through CI

See merge request espressif/esp-idf!10799
2020-10-14 10:40:40 +08:00
Martin Stejskal
304ed67982 tools/docker: Add libpython2.7 in order to satisfy GDB dependencies
It was not possible to run xtensa-esp32-elf-gdb from container due to
missing libpython2.7 library.

Merges https://github.com/espressif/esp-idf/pull/5817
Closes https://github.com/espressif/esp-idf/issues/5284
2020-10-13 16:12:21 +00:00
David Cermak
09714a4f11 ci: add job for unit tests 2020-10-12 16:25:17 +02:00
David Cermak
f871186da3 idf.py: Fixed gdb target to exit cleanly when no openocd watch task
When idf.py gdb starts, it expects openocd was started in the background
and creates a thread to watch for openocd errors. when gdb target exits,
the debug_ext.py aims to cleanup all threads and processes, but fails
with traceback if openocd-watch thread not available, which could happen
if openocd started separately.
2020-10-12 13:30:15 +02:00
Krzysztof
e5d252f7cf Increase count of parallel jobs to get UT_001 run through CI 2020-10-12 15:13:28 +08:00
Chinmay Chhajed
d67e284c8d NimBLE: host_rcv_pkt event buf size check.
Check if the size of HCI event buffer is greater than the received HCI
packet. If not then abort with the error message.
2020-10-09 09:28:51 +05:30
Angus Gratton
e849a77675 Merge branch 'bugfix/ci_auto_checkout_revision_of_project_used_in_ci_v4.2' into 'release/v4.2'
CI: get git describe from annotated tags (v4.2)

See merge request espressif/esp-idf!10673
2020-10-08 16:44:55 +08:00
Angus Gratton
22a6e2160f Merge branch 'bugfix/secure_boot_v2_ota_verification_v4.2' into 'release/v4.2'
Secure Boot V2: Fixes the OTA regression with secure boot in ESP32-V3 (v4.2)

See merge request espressif/esp-idf!10612
2020-10-08 11:22:59 +08:00
Angus Gratton
16ed6a4574 Merge branch 'feature/switch_from_external_to_interanl_ram_v4.2' into 'release/v4.2'
esp32: Switch SPIRAM stack in esp_restart_noos() to internal stack (v4.2)

See merge request espressif/esp-idf!9966
2020-10-08 11:22:55 +08:00
Angus Gratton
144f459c81 ci: Check version tags are always annotated
Closes https://github.com/espressif/esp-idf/issues/3114
2020-10-07 13:58:21 +11:00
Angus Gratton
2e469b52ae build system: Also get IDF version from annotated tags only
Builds on previous commit.

Note: Getting the project version still pases --tags so still works with plain
tags, to keep compatibility for existing projects
2020-10-07 13:58:21 +11:00
Mahavir Jain
93aeac9728 bootloader_support: fix issue in memory mapping for getting app descriptor
For getting secure_version field in anti rollback case, bootloader tries
to map whole firmware partition but fails for cases where partition size
is beyond available MMU free pages capacity.

Fix here ensures to map only required length upto application descriptor
size in firmware partition.

Closes https://github.com/espressif/esp-idf/issues/5911
2020-10-06 08:49:49 +05:30
KonstantinKondrashov
be0444bf54 esp32s2/soc: Fix periph_ll_periph_enabled
Logs, before to go the deepsleep, were not completely flushed.
2020-10-01 03:58:23 +08:00
He Yin Ling
fcda778a11 CI: get git describe from annotated tags:
we should only parse IDF version from annotated tags
2020-09-30 11:32:25 +08:00
morris
dcb23c0bc8 pcnt: fix bug in clear interrupt status 2020-09-30 11:13:17 +08:00
Jiang Jiang Jian
8223278050 Merge branch 'bugfix/ble_mesh_check_stack_init_v4.2' into 'release/v4.2'
ble_mesh: stack: Check if mesh stack initialized before init vendor client (v4.2)

See merge request espressif/esp-idf!10481
2020-09-30 10:53:56 +08:00
Jiang Jiang Jian
8e62a6992e Merge branch 'optimize/ble_mesh_provisioner_delete_dev_v4.2' into 'release/v4.2'
ble_mesh: stack: Optimize Provisioner delete device function (v4.2)

See merge request espressif/esp-idf!10603
2020-09-30 10:52:48 +08:00
Jiang Jiang Jian
f1e43b274f Merge branch 'bugfix/coex_some_bugfix_about_ble_dyn_prio_v4.2' into 'release/v4.2'
components/coex: Some bugfix about ble dynamic prio v4.2

See merge request espressif/esp-idf!10596
2020-09-30 10:50:15 +08:00
baohongde
d101b15942 components/coex: Some bugfix about ble dynamic prio
Rewrite ble dynamic prio to fix ble disconn in conn_param_update/channel_map_update
Rewrite ble dynamic prio in connection establishment
Fix ble dynamic prio with latency
Fix status bit set error when conn fail
2020-09-29 14:12:39 +08:00
Jiang Jiang Jian
c5bb6c467f Merge branch 'bugfix/update_esp32_phy_v4500_v4.2' into 'release/v4.2'
esp_wifi: update esp32 phy v4500 (v4.2)

See merge request espressif/esp-idf!10624
2020-09-29 13:59:45 +08:00
lly
11108393f1 ble_mesh: stack: Optimize Provisioner delete device function
Since we have provided separate functions for deleting node
information with node's unicast address, device uuid, etc.
So we update the behavior of this function, which will only
be used to delete device information which is not provisioned
or just under provisioning.
2020-09-29 03:41:29 +00:00
lly
d312651c5c ble_mesh: stack: Check if mesh stack initialized before init vendor client 2020-09-29 03:41:19 +00:00
Jiang Jiang Jian
17fca6235b Merge branch 'bugfix/add_clear_bond_complete_evt_4_2' into 'release/v4.2'
componenet_bt/bugfix: add remove bond device complete event 4.2

See merge request espressif/esp-idf!10651
2020-09-29 11:15:55 +08:00
Jiang Jiang Jian
61e6e718e4 Merge branch 'bugfix/bredr_bugfix_release_for_qa_dummy_disconnect_4_2' into 'release/v4.2'
Bugfix/bredr bugfix release for qa dummy disconnect 4.2

See merge request espressif/esp-idf!10645
2020-09-29 11:15:30 +08:00
Island
d7317eaae1 Merge branch 'bugfix/channel_map_send_time_v4.2' into 'release/v4.2'
component/bt: Insert the llcp packet to the top of the tx_preg linked list.(backport 4.2)

See merge request espressif/esp-idf!10178
2020-09-29 10:40:26 +08:00
Wu Bo Wen
cb6299200c doc/adc: modifications in the adc documentation and adc headers 2020-09-28 21:55:42 +08:00
Michael (XIAO Xufeng)
a63bdf782f Merge branch 'bugfix/fix_dac_dma_driver_and_ut_backport_v4.2' into 'release/v4.2'
Driver(dac): fix DAC-DMA driver and unit test (backport v4.2)

See merge request espressif/esp-idf!10216
2020-09-28 21:43:11 +08:00
Michael (XIAO Xufeng)
cf16ae573c Merge branch 'cherry-pick-7876d7f5' into 'release/v4.2'
driver(adc): add adc-dma code for esp32   (backport v4.2)

See merge request espressif/esp-idf!10212
2020-09-28 21:11:11 +08:00
Renz Bagaporo
d41f856576 cmake: fix C identifier generation from embedded file 2020-09-28 21:08:56 +08:00
Michael (XIAO Xufeng)
847a697c93 Driver(dac): fix DAC-DMA driver and unit test 2020-09-28 19:35:07 +08:00
baohongde
2d90885e09 components/bt: Replace task post with btc_inter_profile_call, when post message from btc_dm to btc_gap 2020-09-28 15:09:37 +08:00
baohongde
2b4fae912c components/bt: Fix clear bond fail when connected without ble included 2020-09-28 14:57:27 +08:00
xiongweichao
fba62f5e2e add remove bond device complete event 2020-09-28 14:56:42 +08:00
ChenJianxing
cfa6db0fee esp_wifi: update esp32 phy v4500 (v4.2)
improve frequence offset feature.
2020-09-28 14:27:34 +08:00
Jiang Jiang Jian
0aaa7ffc28 Merge branch 'bugfix/fix_some_wifi_bugs_0924_v4.2' into 'release/v4.2'
esp_wifi: fix some wifi bugs 0924 (v4.2)

See merge request espressif/esp-idf!10648
2020-09-28 14:23:23 +08:00
Mahavir Jain
5bdded29a1 Merge branch 'bugfix/provisioning_example_warning_with_O2_optimization_v4.2' into 'release/v4.2'
provisioning: use memcpy instead of strncpy for copying SSID (v4.2)

See merge request espressif/esp-idf!10494
2020-09-28 12:44:41 +08:00
xiongweichao
7f8c121791 1.revert dummy command
2.fix send MEDIA_CTRL command in disconnect
2020-09-28 10:42:02 +08:00
xiongweichao
a6cdf4ed1e 1.fix test case dummy
2.fix sink send media control ESP_A2D_MEDIA_CHECK_SRC_RDY
2020-09-28 10:41:53 +08:00
Angus Gratton
314960ae31 Merge branch 'bugfix/window_spill_a0_corruption_v4.2' into 'release/v4.2'
freertos: don't clobber a4 while spilling register windows (backport v4.2)

See merge request espressif/esp-idf!10305
2020-09-28 09:15:14 +08:00
zhangyanjiao
466cd7ba22 esp_wifi:
1. Modify LR for esp32 and esp32s2
2. Fix esp32s2 RTS rate
3. Optimize some debug logs for probe response
4. Optimize phy and soc files
5. Add IPv6 DSCP
6. Fix classify AC to TID
7. Fix the bug that no event for connect
2020-09-27 19:50:58 +08:00
Krzysztof Budzynski
81bbc8c88d Merge branch 'doc/esp32s2_jtag_guide_v4.2' into 'release/v4.2'
docs: update JTAG debugging guide for ESP32-S2 (backport v4.2)

See merge request espressif/esp-idf!10311
2020-09-27 14:37:40 +08:00
Krzysztof Budzynski
4b10685fcc Merge branch 'doc/remove_lts_versions_v4.2' into 'release/v4.2'
docs: Update Versions file in line with the latest Support Policy document (v4.2)

See merge request espressif/esp-idf!10599
2020-09-27 14:31:31 +08:00
Krzysztof Budzynski
34209a30bd Merge branch 'feature/docs-add-python-clean_v4.2' into 'release/v4.2'
docs: Add solution for ImportError in idf.py into the documentation (v4.2)

See merge request espressif/esp-idf!10630
2020-09-27 14:27:11 +08:00
Jiang Jiang Jian
123aaf2280 Merge branch 'bugfix/fix_some_wifi_bugs_0916_v4.2' into 'release/v4.2'
eps_wifi: Fix some wifi bugs (backport v4.2)

See merge request espressif/esp-idf!10475
2020-09-27 11:17:53 +08:00
Jiang Jiang Jian
2db55a3b90 Merge branch 'bugfix/add_disconn_req_action_when_no_link_4.2' into 'release/v4.2'
Bugfix/add disconn req action when no link 4.2

See merge request espressif/esp-idf!10508
2020-09-27 11:17:43 +08:00
martin.gano
50e2d0b32d docs: add description of python-clean command 2020-09-27 00:03:38 +02:00
Ivan Grokhotkov
60e4c02963 ci: add unit test job 2020-09-25 16:29:58 +00:00
Ivan Grokhotkov
e2cb7ed9ca Revert "CXX: removed exception windowspill test"
This reverts commit f3e180de72.
2020-09-25 16:29:58 +00:00
Ivan Grokhotkov
f4ab2beaa8 freertos: don't clobber a4 while spilling register windows
Commit 891eb3b0 was fixing an issue with PS and EPC1 not being
preserved after the window spill procedure. It did so by saving PS in
a2 and EPC1 in a4. However the a4 register may be a live register of
another window in the call stack, and if it is overwritten and then
spilled to the stack, then the corresponding register value will end
up being corrupted. In practice the problem would show up as an
IllegalInstruction exception, when trying to return from a function
when a0 value was 0x40020.
Fix by using a0 register instead of a4 as scratch. Also fix a comment
about xthal_save_extra_nw, as this function in fact doesn't clobber
a4 or a5 because XCHAL_NCP_NUM_ATMPS is defined as 1.

Closes https://github.com/espressif/esp-idf/issues/5758
2020-09-25 16:29:58 +00:00
wangcheng
df301b89ec component/bt: Fix assert(9, 10), Insert the llcp packet to the top of the tx_preg linked list 2020-09-25 18:43:14 +08:00
Supreet Deshpande
a04d6e7f63 Secure Boot V2: Fixes the OTA regression with secure boot in ESP32-V3
Closes https://github.com/espressif/esp-idf/issues/5905
2020-09-25 14:21:07 +05:30
Angus Gratton
c7d602cc62 Merge branch 'bugfix/adjtime_return_outdelta_before_new_delta_set_v4.2' into 'release/v4.2'
newlib: Fix adjtime, returns the amount of time remaining from any previous adjustment (v4.2)

See merge request espressif/esp-idf!9971
2020-09-25 08:03:11 +08:00
Angus Gratton
6443a96834 Merge branch 'backport/shared_stack4.2' into 'release/v4.2'
Backport/shared stack4.2

See merge request espressif/esp-idf!10303
2020-09-25 08:02:55 +08:00
Angus Gratton
f817747727 Merge branch 'bugfix/efuse_test_stackoverflow_v4.2' into 'release/v4.2'
CI: Increase stack size for efuse unit test (Backport v4.2)

See merge request espressif/esp-idf!10543
2020-09-25 08:02:31 +08:00
Angus Gratton
dbdb1c1c23 docs: Update Versions file in line with the latest Support Policy document 2020-09-25 09:59:56 +10:00
Angus Gratton
7402e17838 Merge branch 'bugfix/openss_strict_verify_mode' into 'release/v4.2'
openssl: made verification mode conversion to mbetls modes more strict (v4.2)

See merge request espressif/esp-idf!10499
2020-09-25 07:40:52 +08:00
Angus Gratton
e610df5870 Merge branch 'bugfix/esp32s2_panic_handler_iram_v4.2' into 'release/v4.2'
esp_common: allow placing panic handler into IRAM on ESP32-S2 (v4.2)

See merge request espressif/esp-idf!10295
2020-09-25 07:40:06 +08:00
Angus Gratton
6a711671c6 Merge branch 'bugfix/spinlock_coredump_regressions_v4.2' into 'release/v4.2'
Revert "Merge branch 'feature/gdb_stub_task_state' into 'master'" (backport v4.2)

See merge request espressif/esp-idf!10296
2020-09-25 07:33:05 +08:00
Angus Gratton
3b400767f3 Merge branch 'bugfix/idf_py_disable_cmake_warnings_default_v4.2' into 'release/v4.2'
idf.py: disable cmake uninitialized variable warnings by default (v4.2)

See merge request espressif/esp-idf!10201
2020-09-25 07:32:22 +08:00
Angus Gratton
4ffe6c096a Merge branch 'bugfix/esp32s2_o2_op_v4.2' into 'release/v4.2'
freertos: fix build error at -O2 optimization level (v4.2)

See merge request espressif/esp-idf!10301
2020-09-25 07:31:58 +08:00
Angus Gratton
f536db1782 Merge branch 'feature/secure_boot_esp32s2_v4.2' into 'release/v4.2'
Feature/secure boot esp32s2 v4.2

See merge request espressif/esp-idf!9958
2020-09-25 07:31:45 +08:00
Jiang Jiang Jian
dd29046e88 Merge branch 'bugfix/can_mmap_after_get_enough_free_mmu_pages_v4.2' into 'release/v4.2'
flash_mmap: can mmap after get enough free MMU pages (backport v4.2)

See merge request espressif/esp-idf!10584
2020-09-24 22:36:51 +08:00
Krzysztof
fd2e2ac34f doc: Getting Started Guide, remove shortcuts to 'build toolchain from scratch' instructions 2020-09-24 18:32:50 +08:00
Victor Lamoine
0831d06dee Fix ccache documentation: environment variable is IDF_CCACHE_ENABLE
Merges https://github.com/espressif/esp-idf/pull/5753
2020-09-24 05:20:33 +00:00
Angus Gratton
722d67ea36 idf.py: Disable CMake --warn-uninitialized option by default
Can still be enabled by passing --cmake-warn-uninitialized on the command line

Prevents CMake warnings printed by default if IDF_PATH is underneath the CMake
project directory.

The reason for this is that CMake --warn-uninitialized only enables checks
inside the project directory (ie top-level CMakeLists.txt directory and
subdirectories), it doesn't enable for files included from other directories.

(The only way to enable warnings in other directories is to pass
--check-system-dirs and this looks like it's only useful for CMake's own
developers as it prints a lot of warnings from inside CMake otherwise - see
https://gitlab.kitware.com/cmake/cmake/-/issues/19645 )

Plan to follow up with a later commit to clean up most of the warnings (which
aren't problems for CMake execution), but we'll also disable this option by
default to avoid this unexpected triggering of IDF warnings.
2020-09-24 05:20:33 +00:00
Jiang Jiang Jian
3c2fd749f0 Merge branch 'bugfix/wifi_create_and_start_ap_v4.2' into 'release/v4.2'
Set default AP handlers in wifi_create_and_start_ap() v4.2

See merge request espressif/esp-idf!10458
2020-09-24 12:36:50 +08:00
Jiang Jiang Jian
7b30e467b4 Merge branch 'bugfix/confirmed_bugfix_from_baidu_proj_4.2' into 'release/v4.2'
Confirmed bugfix from Baidu project 4.2

See merge request espressif/esp-idf!10544
2020-09-24 12:31:52 +08:00
Jiang Jiang Jian
009956c5a7 Merge branch 'bugfix/wifi_spin_lock_allocation_in_PSRAM_v4.2' into 'release/v4.2'
wifi: Fix spin lock allocation in PSRAM bug(v4.2)

See merge request espressif/esp-idf!10553
2020-09-24 12:31:14 +08:00
Jiang Jiang Jian
88faf37a59 Merge branch 'bugfix/ipv6_send_data_error_when_src_ip_miss_for_4.2' into 'release/v4.2'
lw-ip:ipv6 send multicast data fail when src address is null (backport 4.2)

See merge request espressif/esp-idf!10558
2020-09-24 12:30:35 +08:00
jiangguangming
03a749a60e flash_mmap: restore interrupt and cache before err return 2020-09-24 09:49:39 +08:00
jiangguangming
98ce1fa080 flash_mmap: can mmap after get enough free MMU pages 2020-09-24 09:49:39 +08:00
Ivan Grokhotkov
9f0c564de4 Merge branch 'feature/toolchain_2020r3_v4.2' into 'release/v4.2'
Update toolchain to esp-2020r3 (backport v4.2)

See merge request espressif/esp-idf!10388
2020-09-23 20:26:24 +08:00
aleks
07bfb7cac9 freemodbus: fix event processing failure after destroy
Closes https://github.com/espressif/esp-idf/issues/5275
2020-09-23 07:04:52 +00:00
Supreet Deshpande
2d63354ec8 Secure Boot: Fixes the cpp macro in esp32 secure boot rom functions.
Closes https://github.com/espressif/esp-idf/issues/5878
2020-09-23 03:01:51 +05:30
xueyunfei
fd083f1e44 ipv6 send multicast data fail when src address is null for 4.2 2020-09-22 17:33:02 +08:00
dongyou
c06f0738c9 Fix spin lock allocation in PSRAM bug 2020-09-22 14:36:36 +08:00
xiehang
311d43d021 eps_wifi: Fix some wifi bugs
1. Drop receiving packets from myself
2. scan: Fix scan issue with WPA2-PSK-SHA256 AP
2020-09-22 14:23:43 +08:00
Marius Vikhammer
190f310ed1 docs: seperate build_docs html and pdf CI jobs
Due to eager_exclude, Sphinx jobs cannot use the doc cache (doctrees).

PDF and HTML building are now seperate CI jobs to avoid this issue.
PDF building will only be ran on deploy branches and when started
with build_docs tag to reduce CI load
2020-09-22 14:04:12 +08:00
Marius Vikhammer
d12eb31f42 CI: Increase stack size for efuse unit test
"Batch mode is thread-safe" case would occasionally cause a stackoverflow.
Increased stack size.
2020-09-22 11:54:08 +08:00
weitianhua
b7d4868a70 Confirmed bugfix from Baidu project 2020-09-22 11:44:09 +08:00
Jakob Hasse
071dc73954 NVS: ensuring default partition
* Also added encryption keys to CMakeLists.txt

Closes https://github.com/espressif/esp-idf/issues/5347
Closes IDFGH-3372
2020-09-21 12:44:57 +08:00
Ivan Grokhotkov
8749c46284 esp_common: allow placing panic handler into IRAM on ESP32-S2 2020-09-18 15:35:48 +00:00
martin.gano
278030ff3e add file stream parameter and log stdout and stderr to same stream 2020-09-18 10:38:33 +02:00
weitianhua
84cda60478 Redesign separating AVRC & A2DP
1. Add g_av_with_rc to avrc_tg_init function
2. Remove g_av_open_fail
3. Add comment in API files
4. Add a2dp init & deinit state variable to inidcate a2dp statement
2020-09-18 14:09:27 +08:00
weitianhua
e940e1d72a Add global header and change declaration position 2020-09-18 14:09:19 +08:00
weitianhua
b16deb4473 Remove uneccessary macro
Separate AVRC from A2DP when AVRC not Initialized
2020-09-18 14:09:10 +08:00
weitianhua
306c978195 Rewrite a2dp clean_up function 2020-09-18 14:09:02 +08:00
weitianhua
59234501dd Add bda_addr for esp_bt_a2dp_disconn_req API
1. Add reaction for a2dp snk & src disconn req when no link up
  2. Change state machine set before EVT upto APP layer in some cases
  3. Add bool open_fail to choose whether post disconnection evt to app layer
2020-09-18 14:08:53 +08:00
Jakob Hasse
26481c4a9d toolchain: C++ exception workaround
* disable C++ exception FDE sorting (saves RAM)

Closes IDF-1128
2020-09-18 12:32:34 +07:00
Anton Maklakov
88a62e8ae5 Update toolchain to esp-2020r3
Fixup more for PSRAM issue;
    Allow GDB work correctly with Privileged Registers;
    Based on GCC 8.4.0;
    Update a fix of C++ exception crashs from the GCC mainline;
    Fixup strptime_l() and some locale in libc;
2020-09-18 12:32:34 +07:00
Angus Gratton
83ec35f185 tool: Fix 'idf.py bootloader' error if Secure Boot is enabled
If Secure Boot is enabled, there's no bootloader flasher arguments in the
project (to encourage careful manual flashing), so this command would
fail with a KeyError.
2020-09-18 04:05:28 +05:30
Felipe Neves
223f800dd7 expression_with_stack: added a tweak on TCB stackpointers to avoid false trigger of stack overflow 2020-09-17 20:46:02 +00:00
Felipe Neves
3e9637a893 test/shared_stack_printf: improved printf with shared stack function test 2020-09-17 20:46:02 +00:00
Ivan Grokhotkov
a6f0b15d3e Revert "Merge branch 'feature/gdb_stub_task_state' into 'master'"
This reverts commit c41a0c1907, reversing
changes made to 5c1d317766.
2020-09-17 17:04:48 +00:00
David Cermak
521eee7384 openssl: made verification mode conversion to mbetls modes more strict 2020-09-17 13:22:36 +02:00
Mahavir Jain
6d37ad39aa provisioning: use memcpy instead of strncpy for copying SSID
Per WiFi library requirement, SSID can be non-null terminated string
if its length goes to 32 bytes (maximum). Use of strncpy in this case,
along with compiler optimization level -O2 results in some warnings
for potential use of non-null terminated strings.

Fix here ensures use of memcpy to copy SSID string upto appropriate
desired length. This helps to avoid compiler specific workaround
flags added earlier.

Closes https://github.com/espressif/esp-idf/issues/5866
Closes IDFGH-3983
2020-09-17 15:51:32 +05:30
Jiang Jiang Jian
dddcc2ede8 Merge branch 'bugfix/add_protection_for_spp_api_4.2' into 'release/v4.2'
Bugfix/add protection for spp api 4.2

See merge request espressif/esp-idf!10281
2020-09-16 14:06:28 +08:00
Jiang Jiang Jian
21b02a9302 Merge branch 'bugfix/update_esp32_phy_4390_v4.2' into 'release/v4.2'
update esp32 phy 4390.(backport v4.2)

See merge request espressif/esp-idf!10456
2020-09-16 11:57:47 +08:00
Angus Gratton
17525d6035 Merge branch 'bugfix/cxx_flag_operators_v4.2' into 'release/v4.2'
esp_eth: moved extern "C" after includes (v4.2)

See merge request espressif/esp-idf!10351
2020-09-15 16:12:42 +08:00
Angus Gratton
a4c3aebc3d Merge branch 'bugfix/ulp_as_version_v4.2' into 'release/v4.2'
ulp: fix ULP assembler version detection for localized systems (v4.2)

See merge request espressif/esp-idf!10393
2020-09-15 15:23:26 +08:00
Angus Gratton
7187a3a1eb Merge branch 'bugfix/eclipse_make_py3_v4.2' into 'release/v4.2'
tools: Fix Python 3 incompatibility for building with Eclipse on Windows (v4.2)

See merge request espressif/esp-idf!10398
2020-09-15 15:08:26 +08:00
Jiang Jiang Jian
86b07ef098 Merge branch 'bugfix/fix_ipv6_nd6_max_queue_num_4.2' into 'release/v4.2'
lw-ip IPv6 ND6 queue too much pkts(Backport v4.2)

See merge request espressif/esp-idf!10091
2020-09-15 15:07:03 +08:00
Angus Gratton
ac016da8ab Merge branch 'bugfix/bootloader_skip_verify_jtag_v4.2' into 'release/v4.2'
bootloader_support: don't check signature when JTAG is attached, fix signed partition table generation (v4.2)

See merge request espressif/esp-idf!10378
2020-09-15 14:58:01 +08:00
dongyou
ddedf25ca8 Set default AP handlers in wifi_create_and_start_ap() v4.2 2020-09-15 14:54:46 +08:00
Supreet Deshpande
7d57165922 Update to compatible crc & SBv2 enable check api's 2020-09-15 11:29:26 +05:30
Angus Gratton
d72350c0ce ci: Add test apps for ESP32-S2 Secure Boot 2020-09-15 11:23:51 +05:30
Angus Gratton
1c6c6eceb5 secure boot: Fixes for ESP32-S2 first boot logic 2020-09-15 11:23:51 +05:30
Supreet Deshpande
e7b1640c77 Split unit test configs to fit into ESP32s2's memory 2020-09-15 11:23:51 +05:30
Angus Gratton
762e8d5f84 bootloader esp32s2: Fix return type of ROM function signature verification 2020-09-15 11:23:51 +05:30
Angus Gratton
9856198112 bootloader esp32s2: Increase bootloader DRAM & IRAM allowance
Bootloader DRAM now ends at 0x3FFEAB00 which is the start of ROM
static RAM (reclaimable after app is running).

IRAM loader segment increased by 8KB.

Available total static RAM for the app is now reduced by 16KB.
2020-09-15 11:23:51 +05:30
Supreet Deshpande
b05213c327 Docs: Secure boot v2 support for ESP32-S2 2020-09-15 11:23:51 +05:30
Supreet Deshpande
0f82fe105c Secure boot v2 support for ESP32-S2 2020-09-15 11:23:51 +05:30
Jiang Jiang Jian
c4f4e15cc7 Merge branch 'cherry-pick-4dcaa0e6-3' into 'release/v4.2'
wpa_supplicant: Deinit wpa2 states in wifi deinit(backport v4.2)

See merge request espressif/esp-idf!10163
2020-09-15 12:06:49 +08:00
ChenJianxing
2cf032a4b6 update esp32 phy 4390.(backport v4.2) 2020-09-15 10:54:41 +08:00
ChenJianxing
a5907ee3fe lwip: fix IPv6 ND6 queue too much pkts cause no mem issue and add menuconfig item for this params. 2020-09-14 21:06:38 +08:00
Sergei Silnov
ef0db6f034 ci: Use git mirror for docker image 2020-09-14 12:49:05 +02:00
Michael (XIAO Xufeng)
b132ab2091 Merge branch 'bugfix/add_return_in_uart_wait_tx_done_bp4.2' into 'release/v4.2'
bugfix(UART): Add return in uart_wait_tx_done(backport v4.2)

See merge request espressif/esp-idf!10335
2020-09-14 14:26:00 +08:00
Ivan Grokhotkov
ced340a1a3 Merge branch 'bugfix/ci_ulp_adc_more_info_v4.2' into 'release/v4.2'
CI: Fix regex in ulp_adc example test (v4.2)

See merge request espressif/esp-idf!10431
2020-09-13 17:26:53 +08:00
Roland Dobai
4e27122ee5 CI: Fix regex in ulp_adc example test 2020-09-12 08:01:53 +02:00
Island
bec2dbcb84 Merge branch 'bugfix/ble_mesh_prov_iv_index_v4.2' into 'release/v4.2'
ble_mesh: stack: Using the latest iv_index for provisioning (v4.2)

See merge request espressif/esp-idf!10416
2020-09-11 20:08:39 +08:00
Krzysztof Budzynski
07acd74b04 Merge branch 'bugfix/get_started_inconsistency_backport_v4.2' into 'release/v4.2'
docs: Add missing target setting in step 7 of Getting Started documentation (Backport v4.2)

See merge request espressif/esp-idf!10405
2020-09-11 19:15:17 +08:00
lly
0fff4d46ec ble_mesh: stack: Using the latest iv_index for provisioning
Provisioner should always uses the latest IV Index for provisioning.
For example, if the current IV Index is 0x00000001, but prov->iv_index
is still initialized with 0x00000000, and if Provisioner uses prov->
iv_index for provisioning, this will cause the Provisioner failing to
control the node.
So here bt_mesh.iv_index is used instead of prov->iv_index.
2020-09-11 10:55:47 +08:00
Jiang Jiang Jian
073e855c73 Merge branch 'bugfix/btdm_spp_null_ptr_with_dynamic_memory_v4.2' into 'release/v4.2'
components/bt: Fix SPP using NULL point with dynamic memory

See merge request espressif/esp-idf!10322
2020-09-10 17:39:14 +08:00
Ivan Grokhotkov
0514496744 Merge branch 'feature/vs_allow_custom_part_4.2' into 'release/v4.2'
Feature/vs allow custom part 4.2

See merge request espressif/esp-idf!9514
2020-09-10 16:09:00 +08:00
Roland Dobai
d212c4673d tools: Fix Python 3 incompatibility for building with Eclipse on Windows 2020-09-10 09:45:37 +02:00
Roland Dobai
92ef27223d ulp: fix ULP assembler version detection for localized systems 2020-09-10 09:34:40 +02:00
Krzysztof Budzynski
ef19aac267 docs: Add missing target setting in step 7 of Getting Started documentation 2020-09-10 15:33:08 +08:00
Mahavir Jain
156afc0c05 Merge branch 'bugfix/secure_boot_v2_sign_cmake_copy_v4.2' into 'release/v4.2'
Add platform independent CMake copy during signing (v4.2)

See merge request espressif/esp-idf!9544
2020-09-10 14:41:42 +08:00
Island
c81b139479 Merge branch 'feat/ble_mesh_use_model_c_v4.2' into 'release/v4.2'
ble_mesh: stack: Use model callback for operations [Zephyr] (v4.2)

See merge request espressif/esp-idf!10362
2020-09-10 10:39:33 +08:00
Island
fa33addb4a Merge branch 'bugfix/ble_mesh_remove_assert_v4.2' into 'release/v4.2'
ble_mesh: stack: Avoid using assert in mesh stack (v4.2)

See merge request espressif/esp-idf!10358
2020-09-10 10:38:47 +08:00
Island
1f5f72af67 Merge branch 'bugfix/ble_mesh_nimble_ccc_handle_v4.2' into 'release/v4.2'
ble_mesh: nimble: Fix updating ccc handle with wrong value (v4.2)

See merge request espressif/esp-idf!10354
2020-09-10 10:37:59 +08:00
Ivan Grokhotkov
6f2e465ec9 partition_table: fix generation of signed partition table
Fixes the issue that signed partition table was not generated when
CONFIG_SECURE_BOOT_BUILD_SIGNED_BINARIES was on, because
partition_table_bin depended on unsigned_partition_bin twice.
Regression from acb7a211.

Also use final_partition_bin variable in esptool_py_flash_target_image
arguments, to avoid issues in the future if final_partition_bin is
changed.
2020-09-09 23:39:51 +02:00
Ivan Grokhotkov
93a3beafb8 bootloader_support: don't check signature when JTAG is attached
If an insecure configuration is enabled (no hardware secure boot, just
software signature check), skip the signature check in bootloader if
JTAG debugger is attached. This allows the debugger to set breakpoints
in Flash before the application runs.

Closes https://github.com/espressif/esp-idf/issues/4734
Closes https://github.com/espressif/esp-idf/issues/4878
2020-09-09 23:39:51 +02:00
Ivan Grokhotkov
0e191cf70e examples/parttool: fix the test to work on parallel test runner
Pass the DUT port to parttool_example.py as an argument.
2020-09-09 18:35:07 +02:00
David Čermák
96ad552245 Merge branch 'feature/mqtt_sub_update_01594bf1_v4.2' into 'release/v4.2'
MQTT: Update submodule reference (Backport v4.2)

See merge request espressif/esp-idf!10230
2020-09-09 20:41:14 +08:00
He Yin Ling
5a23447452 Merge branch 'bugfix/remove_auto_conn_case_v4.2' into 'release/v4.2'
test: remove auto conn case because we do not support this anymore (v4.2)

See merge request espressif/esp-idf!9940
2020-09-09 15:54:42 +08:00
lly
61bb586244 ble_mesh: stack: Use model callback for operations [Zephyr]
- Previously when a model is initialized or deinitialized, in the
  access layer, we need to check the model id with the ids in the
  table in order to find the proper model operation function.
- Currently all the operation functions of each model will be set
  during the mesh initialization. When the model is found, we can
  directly use the corresponding callback for different operations.
- Currently only init/deinit operations are registered, later we
  will add more operations.
2020-09-09 13:59:32 +08:00
lly
1f9d289ee0 ble_mesh: stack: Avoid using assert in mesh stack 2020-09-09 10:57:07 +08:00
Jakob Hasse
a1c8b21928 esp_eth: moved extern "C" after includes 2020-09-09 10:19:03 +08:00
Krzysztof Budzynski
8b1e3c01a0 Merge branch 'bugfix/doc_main_readme_build_v4.2' into 'release/v4.2'
Fix the setup instructions in the main README (v4.2)

See merge request espressif/esp-idf!10337
2020-09-09 02:44:34 +08:00
lly
4eec2c64ee ble_mesh: nimble: Fix updating ccc handle with wrong value 2020-09-08 21:01:32 +08:00
Jiang Jiang Jian
b356d41bb1 Merge branch 'bugfix/fix_some_wifi_bugs_0902_v4.2' into 'release/v4.2'
Bugfix/fix some wifi bugs 0902 v4.2 (backport v4.2)

See merge request espressif/esp-idf!10246
2020-09-08 18:30:31 +08:00
Roland Dobai
4663b16779 Fix the setup instructions in the main README 2020-09-08 09:54:46 +02:00
Chen Yi Qun
a8a2ea7b38 UART: Add return in uart_wait_tx_done
uart_wait_tx_done quit due to timeout but without return ESP_ERR_TIMEOUT.
2020-09-08 15:00:53 +08:00
Ivan Grokhotkov
2854050835 Merge branch 'bugfix/pip_gdbgui_v4.2' into 'release/v4.2'
fix windows incompatibility with gdbgui>=0.14 (v4.2)

See merge request espressif/esp-idf!10326
2020-09-08 00:07:09 +08:00
Marek Ištok
1fef76cbce tools: fix windows incompatibility with gdbgui>=0.14
gdbgui intentionally (https://github.com/cs01/gdbgui/pull/346) introduced dependencies that are incompatible with windows, and don't seem to have plans to resolve them anytime soon

Closes https://github.com/espressif/esp-idf/issues/5782
Closes https://github.com/espressif/esp-idf/issues/5787
Merges https://github.com/espressif/esp-idf/pull/5794
2020-09-07 07:55:45 +00:00
baohongde
ad8b3e4274 components/bt: Fix SPP using NULL point with dynamic memory 2020-09-07 15:44:28 +08:00
Jiang Jiang Jian
ecab1d9b2e Merge branch 'bugfix/l2cap_link_timeout_llcp_prog_btu_wtd_v4.2' into 'release/v4.2'
Bugfix/l2cap link timeout llcp prog btu wtd v4.2

See merge request espressif/esp-idf!10255
2020-09-07 14:11:08 +08:00
morris
1f011c3b2a docs: translate idf.py debug target 2020-09-04 21:59:05 +02:00
Ivan Grokhotkov
8f78db8073 docs: jtag-debugging: update Chinese version 2020-09-04 21:59:05 +02:00
Ivan Grokhotkov
7ae490d908 docs: jtag-debugging: fix ups in English version 2020-09-04 21:59:05 +02:00
Ivan Grokhotkov
b58d74da45 docs: add placeholders for {esp32,esp32s2}.inc in JTAG debugging guide 2020-09-04 21:59:05 +02:00
Ivan Grokhotkov
ead33e155d docs: repurpose WROVER-KIT debugging guide for Kaluga-1 2020-09-04 21:59:05 +02:00
Ivan Grokhotkov
964f041269 tools: idf.py: default to board/esp32s2-kaluga-1.cfg for ESP32-S2
NFC. Kaluga-1 config is same as devkitj + esp32s2.
2020-09-04 21:59:05 +02:00
Ivan Grokhotkov
b7760cf269 docs: minor typos in JTAG debugging section 2020-09-04 21:59:05 +02:00
Ivan Grokhotkov
cfbd2566c1 docs: formatting fix in idf.py debugging section 2020-09-04 21:59:05 +02:00
Ivan Grokhotkov
b513dd11ce docs: move target-specific parts of JTAG guide into include files
{esp32,esp32s2}.inc files contain most of the bits and code snippets
which are different between targets. These bits are included from the
rest of the source files.

Also included is an update to the section about OpenOCD configuration
variables and files. This section wasn't updated when some of the
files and variables got renamed.
2020-09-04 21:59:05 +02:00
Ivan Grokhotkov
b181623d9b freertos: fix compilation warning at -O2 level
Closes https://github.com/espressif/esp-idf/issues/5525
2020-09-04 21:33:49 +02:00
Ivan Grokhotkov
acfe648367 ci: add startup test with -O2 optimization level 2020-09-04 21:33:49 +02:00
Ivan Grokhotkov
73813c6bac freertos: ensure the interrupt stack is aligned
CONFIG_FREERTOS_ISR_STACKSIZE was set to 2100 when ELF core dump was
enabled, which resulted in a non-16-byte-aligned interrupt stack
offset. This triggered "is SP corrupted" check in the backtrace,
terminating the backtrace early.

Fix the default value, and make sure that the stack is always aligned,
regardless of the value of CONFIG_FREERTOS_ISR_STACKSIZE.
2020-09-04 20:45:38 +02:00
Ivan Grokhotkov
c3d2942675 panic: skip over the first invalid PC in case of InstrFetchProhibited
InstrFetchProhibited usually occurs because of a jump to an invalid
pointer. In this case, PC in the exception frame is the address of
the jump destination. 'esp_ptr_executable' check in print_backtrace
function recognizes the first frame as invalid, and the backtrace is
interrupted. This prevents the user from finding the location where
the invalid pointer is dereferenced.

Bypass the 'esp_ptr_executable' check if the exception cause is
InstrFetchProhibited. Update the test case to no longer ignore this
issue.
2020-09-04 20:45:38 +02:00
David Čermák
87d96b2c29 Merge branch 'bugfix/ws_stop_deadlock_v4.2' into 'release/v4.2'
Websocket client: avoid deadlock if stop called from event handler (Backport 4.2)

See merge request espressif/esp-idf!10226
2020-09-04 22:51:46 +08:00
Island
5c8a85e839 Merge branch 'bugfix/ble_mesh_sensor_example_fix_v4.2' into 'release/v4.2'
ble_mesh: example: Fix sensor data wrong iteration (v4.2)

See merge request espressif/esp-idf!10273
2020-09-04 16:54:38 +08:00
wangcheng
a7d52dafa6 component/bt: Fixed the watchdog timeout of btu task during multi-connection 2020-09-04 16:27:03 +08:00
weitianhua
a7ddc9c125 Add protection for rfcomm close API in SPP 2020-09-04 14:40:27 +08:00
weitianhua
07e2d3ab0f Add some debug log for bt:
1. Add logs for SPP not enabled successfully
2. Add information to Applicatioin layer that the A2DP is connecting to peer device

Regular BTC and BTU Task name & Add BTC Init protection

1. Regular the BTC Task Name to Close a Github issue

   Closes https://github.com/espressif/esp-idf/issues/4966

2. Add BTC Init failure protection

3. Regular BTU Task Name with BTC

4. Correct the comment of
   a. SDP_ServiceSearchRequest and SDP_ServiceSearchRequest2
   b. l2cu_create_conn_after_switch

5. Correct comment of esp_bt_hf_vra();

6. Fix cpp compilier region
2020-09-04 14:40:19 +08:00
lly
8fe75ff3ce ble_mesh: example: Fix sensor data wrong iteration 2020-09-04 11:54:52 +08:00
David Čermák
b9f0500641 Merge branch 'bugfix/ws_server_async_send_fin_v4.2' into 'release/v4.2'
http_server example: WebSocket server to set final flag in async messages (v4.2)

See merge request espressif/esp-idf!10087
2020-09-03 14:11:13 +08:00
wangcheng
12633717f7 components/bt: Fixed the state not synchronized between controller and host when disconnected. 2020-09-02 21:43:57 +08:00
David Cermak
ec2262e5a4 http_server: WebSocket server to set flag in transmitted messages by default
Add logic to set `FIN` flag automatically for transmitted WS frames, but
if `fragmented` option set indicating an expert/manual mode, then the
`FIN` flag is set according to the `final` option.
2020-09-02 07:54:29 +00:00
David Cermak
4da38b6769 http_server example: WebSocket server to set final flag in async messages
Closes https://github.com/espressif/esp-idf/issues/5405
2020-09-02 07:54:29 +00:00
David Čermák
a0a0d34da6 Merge branch 'bugfix/ethernet_handle_early_rx_interrupt' into 'release/v4.2'
Bugfix/ethernet handle early rx interrupt (v4.2)

See merge request espressif/esp-idf!10098
2020-09-02 15:52:18 +08:00
Nachiket Kukade
d17e6a75e0 espnow/pmf: Implement ESPNOW + PMF Co-existance
H/W decryption of Mgmt frames was disabled for PMF and done through
S/W. If ESPNOW packets go through this path, it affects backward
compatibility since method of decrypting Mgmt packets is different in H/W.

To address PMF + ESPNOW Co-existance, CCMP decryption method is modified
for ESPNOW packets so that they can be decrypted correctly. Since Tx
of ESPNOW packets can still be done in H/W alongside PMF, no change
required in encryption method in S/W.

Co-Authored-By: Nachiket Kukade <nachiket.kukade@espressif.com>
Co-Authored-By: zhangyanjiao <zhangyanjiao@espressif.com>
Co-Authored-By: kapil.gupta <kapil.gupta@espressif.com>
2020-09-02 15:06:51 +08:00
zhangyanjiao
089b78b916 esp_wifi:
1. get primary channel from HT info
2. fix the bug that set_channel doesn't work for softAP when STA connects
2020-09-02 15:04:26 +08:00
aditi_lonkar
ddfb11e1c5 wifi: Fix esp_wifi log levels
Closes https://github.com/espressif/esp-idf/issues/5721
2020-09-02 15:02:52 +08:00
kapil.gupta
594a196364 esp_wifi: Fix null pointer dereferences in mgmt rx 2020-09-02 14:55:10 +08:00
xiehang
8757cefeec esp_wifi: add rf test long short support 2020-09-02 14:54:23 +08:00
liu zhifu
627a05d80e esp_wifi: optimize WiFi debug log
1. Add esp_wifi_statis_dump()
2. Optimize WiFi related debug log
2020-09-02 14:52:49 +08:00
liu zhifu
368d623e1a esp_wifi: optimize WiFi TX performance 2020-09-02 14:44:45 +08:00
Island
9cd0e2fd1a Merge branch 'bugfix/btdm_blufi_data_sequence_not_reset_after_disconnect_v4.2' into 'release/v4.2'
component/bt: fix Blufi sends data after disconnect the seq still increase(backport v4.2)

See merge request espressif/esp-idf!10241
2020-09-02 14:20:49 +08:00
XieWenxiang
82deea84eb component/bt: fix Blufi sends data after disconnect the seq still increase(backport v4.2) 2020-09-02 11:18:25 +08:00
Michael (XIAO Xufeng)
fb4a75110a Merge branch 'bugfix/touch_sensor_denoise_ci_for_esp32s2_backport_v4.2' into 'release/v4.2'
[High priority] Bugfix/touch sensor denoise ci for esp32s2 (backport v4.2)

See merge request espressif/esp-idf!10211
2020-09-01 21:50:59 +08:00
Island
73fd3608e0 Merge branch 'bugfix/ble_mesh_example_compile_warn_v4.2' into 'release/v4.2'
Bugfix/ble mesh example compile warn (v4.2)

See merge request espressif/esp-idf!10222
2020-09-01 19:16:43 +08:00
Marius Vikhammer
86d8f15a9a MQTT: Update submodule reference
SSL: add config option for skipping common name check
esp-mqtt commit: 5e8950e681)
Closes https://github.com/espressif/esp-mqtt/issues/158

SSL: add support for tls with secure element (ATECC608A)
esp-mqtt commit: a7ff9afa3f)
Closes https://github.com/espressif/esp-mqtt/issues/156

Websocket: Allow the query part of the uri to be a part of the path
esp-mqtt commit: 40b06deb10)
Closes https://github.com/espressif/esp-mqtt/issues/161

Config: Add check for consistency between config settings
esp-mqtt commit: 8a412c147d)

Add IDF version check for secure element feature
esp-mqtt commit: db4bce01ab)

Fix esp_mqtt_client_stop deadlock
esp-mqtt commit: 5e17dcaeb2)
Closes https://github.com/espressif/esp-mqtt/issues/163

Add dispatch error event for read errors
esp-mqtt commit: d4aaec08ff
Closes https://github.com/espressif/esp-idf/issues/5704

Cleanup expired messages when offline
esp-mqtt commit: bdadd77c6e
Closes https://github.com/espressif/esp-idf/issues/5668

esp_mqtt_client_publish now returns msg id for QoS > 0 when offline
esp-mqtt commit: f7325bfa10
2020-09-01 15:57:47 +08:00
Marius Vikhammer
70a67439bc Websocket client: avoid deadlock if stop called from event handler 2020-09-01 15:30:40 +08:00
lly
528747ac4c ble_mesh: example: Remove some useless included header files 2020-09-01 14:10:27 +08:00
Carlos Sobrinho
840b7f2de7 Fix compilation warnings about portmacro being already define. 2020-09-01 14:09:41 +08:00
Krzysztof Budzynski
a35ce7f959 Merge branch 'doc/local_build_version_note_v4.2' into 'release/v4.2'
docs: fix version specific note on local build (backport v4.2)

See merge request espressif/esp-idf!10148
2020-08-31 21:13:53 +08:00
Michael (XIAO Xufeng)
f3705832fd Merge branch 'bugfix/add_adc-dma_for_esp32' into 'master'
driver(adc): add adc-dma code for esp32

Closes IDF-1407

See merge request espressif/esp-idf!9139

(cherry picked from commit 7876d7f5a6)

bd92e951 driver(adc): add adc-dma code for esp32
2020-08-31 16:29:51 +08:00
fuzhibo
0f5bb06920 ut: fix touch sensor denoise ci fail 2020-08-31 16:01:50 +08:00
Michael (XIAO Xufeng)
06d1f69d84 Merge branch 'feature/vfs_uart_set_line_ending_v4.2' into 'release/v4.2'
feature: support vfs uart set line endings with specified uart number release/v4.2

See merge request espressif/esp-idf!9596
2020-08-30 22:34:47 +08:00
Michael (XIAO Xufeng)
1b0691f29a Merge branch 'feature/esp32s2_adc_calib_V1_bp4.2' into 'release/v4.2'
driver/adc: support for esp32s2 adc calibration scheme (backport 4.2)

See merge request espressif/esp-idf!10064
2020-08-29 23:22:47 +08:00
Angus Gratton
73040c3223 Merge branch 'bugfix/mfg_tool_v4.2' into 'release/v4.2'
mfg_util: Update file handling to maintain line endings across various OS (backport v4.2)

See merge request espressif/esp-idf!10174
2020-08-28 18:22:28 +08:00
Island
7d79d9f312 Merge branch 'bugfix/btdm_blufi_send_longer_custom_data_will_congested_v4.2' into 'release/v4.2'
component/bt: fix Blufi sends longer customer data  will will lead congested(backport v4.2)

See merge request espressif/esp-idf!9948
2020-08-28 13:55:46 +08:00
XieWenxiang
51ff44d96e component/bt: fix Blufi sends longer customer data will will lead congested(backport v4.2) 2020-08-28 10:20:19 +08:00
Shivani Tipnis
e42742891e mfg_util: Update file handling to maintain line endings across various OS
Fixes: https://github.com/espressif/esp-idf/issues/4888
2020-08-27 11:52:33 +05:30
Jiang Jiang Jian
e050feeb26 Merge branch 'bugfix/clean_wpa2_wifi_deinit' into 'master'
wpa_supplicant: Deinit wpa2 states in wifi deinit

See merge request espressif/esp-idf!10103

(cherry picked from commit 4dcaa0e6f4)

06bc7f1d wpa_supplicant: Deinit wpa2 states in wifi deinit
2020-08-26 16:55:04 +08:00
Jiang Jiang Jian
5f56329f00 Merge branch 'bugfix/fix_udp_tx_performance_issue_v4.2' into 'release/v4.2'
lw-ip: fix udp tx packet loss issue (backport v4.2)

See merge request espressif/esp-idf!10017
2020-08-26 12:38:37 +08:00
Jiang Jiang Jian
b498f0aebe Merge branch 'bugfix/buff_semaphore_not_free_v4.2' into 'release/v4.2'
component/bt: Fixed ble memory leak issue, buff_semaphore was not released.

See merge request espressif/esp-idf!9983
2020-08-24 17:30:54 +08:00
Marius Vikhammer
5f09ffce96 docs: fix version specific note on local build 2020-08-24 16:10:28 +08:00
Angus Gratton
a2d20f9412 Merge branch 'bugfix/bootloader_common_get_sha256_of_partition_v4.2' into 'release/v4.2'
bootloader_support: Fix bootloader_common_get_sha256_of_partition(), can handle a long image (v4.2)

See merge request espressif/esp-idf!9952
2020-08-24 13:36:09 +08:00
He Yin Ling
22221b073b Merge branch 'test/merge_ble_mesh_node_and_provioner_in_console_v4.2' into 'release/v4.2'
Test:merge ble mesh node and provioner in console

See merge request espressif/esp-idf!9913
2020-08-21 19:59:21 +08:00
Lu Chang Jie
63d2a19925 Test: merge ble mesh node and provioner in console 2020-08-21 19:59:20 +08:00
morris
2d19e56877 ethernet: support power on timeout
Closes https://github.com/espressif/esp-idf/issues/5425
2020-08-20 10:48:04 +08:00
morris
c54d599d0d ethernet: set DMA owner after all descriptors have configured 2020-08-20 10:47:08 +08:00
morris
d918e7ad8a ethernet: handle early rx interrupt 2020-08-20 10:47:08 +08:00
Wu Bo Wen
4cbed9b364 driver/adc: support for esp32s2 adc calibration scheme
ESP32 lets the user choose from using Vref, Lookup Table, and Two-Point Calibration. In ESP32S2 only two-point calibration is supported. This commit support these changes in idf.

Closes https://github.com/espressif/esp-idf/issues/5455
2020-08-17 14:43:41 +08:00
Angus Gratton
a8b8a1531e Merge branch 'feature/efuse_esp32s2_add_fields_in_table_v4.2' into 'release/v4.2'
efuse: Add some fields in efuse_table and update esp_efuse_get_pkg_ver() (v4.2)

See merge request espressif/esp-idf!9994
2020-08-17 12:50:49 +08:00
Angus Gratton
8a3ad87821 Merge branch 'bugfix/docs_building_on_windows_v4.2' into 'release/v4.2'
Docs building: added encoding check suitable for windows (v4.2)

See merge request espressif/esp-idf!10020
2020-08-17 12:12:18 +08:00
Jiang Jiang Jian
98d5b5dfd9 Merge branch 'feature/esp_spp_stop_srv_v4.2' into 'release/v4.2'
bugfix/Add API esp_spp_stop_srv and fix collection of SPP [backport v4.2]

See merge request espressif/esp-idf!9993
2020-08-15 15:46:54 +08:00
Jiang Jiang Jian
d0dae54263 Merge branch 'bugfix/update_esp32_phy_4370_v4.2' into 'release/v4.2'
esp_wifi: backport some wifi fix to v4.2

See merge request espressif/esp-idf!10024
2020-08-14 17:45:22 +08:00
wangcheng
a557746cdd component/bt: Fixed ble memory leak issue, buff_semaphore was not released. 2020-08-14 17:16:23 +08:00
houwenxiang
3967e1b6d2 vfs: support vfs uart set line endings with specified uart number (release/v4.2) 2020-08-14 16:01:14 +08:00
Jiang Jiang Jian
e169226d3b Merge branch 'bugfix/wifi_deinit_stop_crash_v4.2' into 'release/v4.2'
esp_wifi: fix the crash when wifi stop after deinit (v4.2)

See merge request espressif/esp-idf!10031
2020-08-13 13:47:49 +08:00
liqigan
6e94f6f9f4 add API esp_spp_stop_srv(), fix the error parameter in esp-idf/examples/bluetooth/bluedroid/classic_bt/bt_spp_initiator/main/example_spp_initiator_demo.c and fix collection of SPP
Closes https://github.com/espressif/esp-idf/issues/5409
Closes https://github.com/espressif/esp-idf/pull/5408

See merge request espressif/esp-idf!9114
2020-08-13 12:08:28 +08:00
ChenJianxing
a57fb727e7 esp_wifi: backport some wifi fix to v4.2
1.Fix WiFi fragment issue
2.fix the bug for softAP power save buffer issue
3.fix softap mode event issue
4.fix connect hidden AP doesn't update information
5.update esp32 phy v4370
2020-08-12 21:59:37 +08:00
ronghulin
0e24eacc81 bugfix: fix softap mode event issue
1. add sta connect again ap sent disconnect event
2. add set/get inactive time api

Closes https://github.com/espressif/esp-idf/issues/4401
Closes https://github.com/espressif/esp-idf/issues/4987
Closes https://github.com/espressif/esp-idf/issues/2375
2020-08-12 21:58:48 +08:00
Andrei Gramakov
010a825f48 docs: adds to build_docs.py an encoding check suitable for windows 2020-08-12 11:17:35 +02:00
xiehang
c91ca054c3 lwip: fix udp tx packet loss issue 2020-08-12 15:02:29 +08:00
Angus Gratton
7dfe4b4684 Merge branch 'bugfix/mbedtls_mpi_exp_mod_v4.2' into 'release/v4.2'
mbedtls: Fix a case for mpi_montgomery_exp_calc() when Z is not init (v4.2)

See merge request espressif/esp-idf!9497
2020-08-11 10:00:07 +08:00
Jiang Jiang Jian
202dbaffa7 Merge branch 'bugfix/wpa3_to_wpa2_transition_fix_v4.2' into 'release/v4.2'
wpa_supplicant: Fix WPA3 and WPA2 transition related failures (Backport v4.2)

See merge request espressif/esp-idf!9865
2020-08-10 23:25:42 +08:00
zhangyanjiao
f4a7ee3db3 esp_wifi: fix the crash when wifi stop after deinit 2020-08-10 20:34:50 +08:00
Michael (XIAO Xufeng)
76cd5c8793 Merge branch 'feature/tinyusb_config_cleanup_v4.2' into 'release/v4.2'
Feature/tinyusb config cleanup (v4.2)

See merge request espressif/esp-idf!9824
2020-08-10 18:17:42 +08:00
KonstantinKondrashov
94597fc8e3 esp32: Switch SPIRAM stack in esp_restart_noos() to internal stack
If esp_restart_noos() is run and the stack address points to external memory (SPIRAM)
then Cache_Read_Disable() raises up the error "Cache disabled but cached memory region accessed"
to fix this we switch stack to internal RAM before disable cache.

Added unit tests.

Closes: https://github.com/espressif/esp-idf/issues/5107
2020-08-10 09:41:35 +00:00
Nachiket Kukade
21dc9fcb5d wpa_supplicant: Fix WPA3 and WPA2 transition related failures
1. If Device is connected to AP in WPA3-PSK mode, AP switching
security to WPA2-PSK causes connection failures even after reset.
Fix is to not store WPA3's PMK in NVS for caching.

2. AP switching back to WPA3 causes even more connection failures.
This is due to device not clearing Supplicant level PMK Cache when
it is no longer valid. Fix is to clear the Cache when 4-way handshake
fails and to check Key Mgmt of Cache before using.

3. When AP switches from WPA3 to WPA2, device's PMF config in
Supplicant remains enabled. This may cause failures during
4-way handshake. So clear PMF config in when PMF is no longer used.
2020-08-10 09:05:48 +00:00
KonstantinKondrashov
d87d9a714e efuse: Add some fields in efuse_table and update esp_efuse_get_pkg_ver()
Closes: IDF-1077
2020-08-10 15:59:02 +08:00
Krzysztof Budzynski
e01cab4a71 Merge branch 'doc/version_specific_inc_bugfix_v4.2' into 'release/v4.2'
doc: fall back to CI_COMMIT_REF_NAME as a branch name (v4.2)

See merge request espressif/esp-idf!9863
2020-08-10 13:35:55 +08:00
Island
b9535ed91b Merge branch 'bugfix/ble_mesh_client_msg_optimize_v4.2' into 'release/v4.2'
Bugfix/ble mesh client msg optimize (v4.2)

See merge request espressif/esp-idf!9989
2020-08-10 11:02:43 +08:00
lly
c24de8dc10 ble_mesh: stack: Client model related code clean 2020-08-07 21:11:34 +08:00
lly
59a590fb25 ble_mesh: stack: Rename cfg & health client status recv func 2020-08-07 21:11:34 +08:00
lly
f0b89688c9 ble_mesh: stack: Check client msg result in common func 2020-08-07 21:11:34 +08:00
lly
41aea8e528 ble_mesh: stack: Fix no events for some error conditions 2020-08-07 21:11:34 +08:00
lly
bc19eb2506 ble_mesh: stack: Move client role set to the msg function 2020-08-07 21:11:33 +08:00
lly
964f372d58 ble_mesh: stack: Remove some not used client parameters 2020-08-07 21:11:33 +08:00
lly
29749b9dae ble_mesh: stack: Remove some not used variables & functions 2020-08-07 21:11:33 +08:00
lly
c058f3594f ble_mesh: stack: Update client model msg send 2020-08-07 21:11:33 +08:00
Jiang Jiang Jian
c72ae1281e Merge branch 'bugfix/put_periph_module_enable/diable_into_iram_v4.2' into 'release/v4.2'
wifi, bt: move esp_phy_common_clock_disable into periph_ctrl and put it into IRAM(v4.2)

See merge request espressif/esp-idf!9934
2020-08-07 18:10:01 +08:00
KonstantinKondrashov
2620942568 bootloader_support: Fix bootloader_common_get_sha256_of_partition, can handle a long image
Closes: IDFGH-3594
2020-08-07 08:49:18 +00:00
KonstantinKondrashov
229dbd70c9 mbedtls: Fix a case for mpi_montgomery_exp_calc() when Z is not init
Closes: IDF-1870
2020-08-07 08:43:12 +00:00
Jiang Jiang Jian
7162964776 Merge branch 'feature/enable_pcm_config_v4.2' into 'release/v4.2'
Feature/enable pcm config v4.2

See merge request espressif/esp-idf!9652
2020-08-07 14:19:03 +08:00
Jiang Jiang Jian
4382ec4b8d Merge branch 'component/seperate_bta_jv_l2c_4.2' into 'release/v4.2'
Component/seperate bta jv l2c 4.2

See merge request espressif/esp-idf!9644
2020-08-07 14:18:02 +08:00
Jiang Jiang Jian
0db87821f1 Merge branch 'bugfix/customer_baidu_int_wdt_v4.2' into 'release/v4.2'
backport v4.2: add soft solution for esp32 eco3 live lock issue

See merge request espressif/esp-idf!9223
2020-08-07 14:12:00 +08:00
Jiang Jiang Jian
501ca00178 Merge branch 'feature/esp_tls_for_supplicant_v4.2' into 'release/v4.2'
wpa_supplicant: Support for mbedtls tls handshake(backport v4.2)

See merge request espressif/esp-idf!9821
2020-08-07 14:01:54 +08:00
Michael (XIAO Xufeng)
04e31d2f81 Merge branch 'test/esp_flash_rw_performance_thr_4.2' into 'release/v4.2'
esp_flash: decrease some of the performance threshold (4.2)

See merge request espressif/esp-idf!9959
2020-08-07 11:58:21 +08:00
KonstantinKondrashov
15e408d070 newlib: Fix UT for adjtime 2020-08-06 20:01:52 +08:00
KonstantinKondrashov
39e318977d newlib: Fix adjtime, returns the amount of time remaining from any previous adjustment
If the olddelta argument is not a null pointer, the adjtime function returns information
about any previous time adjustment that has not yet completed.

Closes: https://github.com/espressif/esp-idf/issues/5194
2020-08-06 20:01:52 +08:00
Michael (XIAO Xufeng)
5f0eb04684 esp_flash: decrease some of the performance threshold 2020-08-06 12:04:22 +08:00
Angus Gratton
dd3c032972 Merge branch 'bugfix/esp_netif_restart_dhcpc_v4.2' into 'release/v4.2'
esp_netif: Remove restarting DHCP client/server if it has already been started (backport v4.2)

See merge request espressif/esp-idf!9919
2020-08-06 11:19:30 +08:00
Mahavir Jain
96bc7761f5 Merge branch 'feature/upgrade_mbedtls_to_v4.2' into 'release/v4.2'
mbedtls: update to mbedtls release v2.16.7 (v4.2)

See merge request espressif/esp-idf!9906
2020-08-05 20:13:40 +08:00
Hou Chen Yao
caa21fdc67 remove auto conn case because we do not support this anymore 2020-08-05 18:03:12 +08:00
dongyou
0b1ef494a7 wifi, bt: move esp_phy_common_clock_disable into periph_ctrl and put it into IRAM
Replace periph_module_enable/disable by periph_wifi_bt_common_module_enable which are in IRAM.
AddIRAM_ATTR periph_ll_wifi_bt_module_enable_clk_clear_rstandIRAM_ATTR periph_ll_wifi_bt_module_disable_clk_set_rstto fit O0 optimization level.
Delete duplicated spinlock and counter.
2020-08-05 14:08:46 +08:00
Michael (XIAO Xufeng)
789119262b Merge branch 'fixbug/sdmmc_spi_highspeed_v4.2' into 'release/v4.2'
sdmmc: fix the probe issue that forbid sdspi working in highspeed mode(backport v4.2)

See merge request espressif/esp-idf!9841
2020-08-04 17:45:37 +08:00
Angus Gratton
9409b2ecb7 Merge branch 'feature/support_for_esp32_pico_v3_02_v4.2' into 'release/v4.2'
psram: support for esp32-pico-v3-02 (backport v4.2)

See merge request espressif/esp-idf!9787
2020-08-04 14:30:14 +08:00
Li Shuai
e911826340 add soft solution for esp32 eco3 live lock issue 2020-08-04 05:50:18 +00:00
Jiang Jiang Jian
706bc799fa Merge branch 'bugfix/fix_fragment_issue_v4.2' into 'release/v4.2'
esp_wifi: Fix WiFi fragment issue (backport v4.2)

See merge request espressif/esp-idf!9896
2020-08-04 12:26:04 +08:00
David Cermak
0e6777f78b esp_netif tests: Add manual DHCP state transision tests
Extended test cases for DHCP server and DHCP client state transitions to include also manual transitions using esp_netif_dhcps_start/stop() esp_netif_dhcpc_start/stop()
2020-08-04 12:07:57 +08:00
David Cermak
39f804ae07 esp_netif: Remove restarting DHCP client and server if it has already been started
To be in line with previous behaviour in tcpip_adapter, do nothing and return appropriate error if the DHCP client/server has already been started
2020-08-04 12:07:49 +08:00
Mahavir Jain
8796a53132 mbedtls: update to mbedtls release v2.16.7
For detailed release notes, please refer to:
https://github.com/ARMmbed/mbedtls/releases/tag/mbedtls-2.16.7
2020-08-03 14:14:10 +05:30
Michael (XIAO Xufeng)
9dbff45229 Merge branch 'feature/twai_backport_v4.2' into 'release/v4.2'
TWAI: esp32s2 support and multiple bugfixes (backport v4.2)

See merge request espressif/esp-idf!9884
2020-08-03 11:13:20 +08:00
Michael (XIAO Xufeng)
2f96a1a3bf Merge branch 'bugfix/add_api_adc2_vref_to_gpio_for_esp32s2_backport_v4.2' into 'release/v4.2'
driver(adc): esp32s2 support API `adc2_vref_to_gpio`  (backport v4.2)

See merge request espressif/esp-idf!9875
2020-08-01 23:50:13 +08:00
weitianhua
a32fc5a2bb Fix tsk watchdog when running spp vfs demo 2020-08-01 16:40:43 +08:00
weitianhua
8de78c2b3b Seperate BTA_JV_L2CAP for less bin size 2020-08-01 16:40:43 +08:00
weitianhua
64eab16847 Enable PCM config in controller 2020-08-01 16:37:34 +08:00
weitianhua
0952b9de8a Enable PCM Config in Host 2020-08-01 16:36:36 +08:00
xiehang
ad8a873dff esp_wifi: Fix WiFi fragment issue 2020-07-31 20:17:45 +08:00
fuzhibo
885f8ce484 driver(adc): esp32s2 support API adc2_vref_to_gpio 2020-07-31 17:52:41 +08:00
Michael (XIAO Xufeng)
934fe37c48 Merge branch 'bugfix/fix_adc_dac_driver_ut_backport' into 'release/v4.2'
Driver(adc): fix adc driver and UT  (backport v4.2)

See merge request espressif/esp-idf!9359
2020-07-31 17:09:24 +08:00
Jiang Jiang Jian
33dab9d165 Merge branch 'bugfix/fix_softap_mode_wpa_memory_leak_issue_v4.2' into 'release/v4.2'
bugfix: fix softap mode wpa memory leak (backport v4.2)

See merge request espressif/esp-idf!9845
2020-07-31 16:45:38 +08:00
Ivan Grokhotkov
9f4f7aa8b1 Merge branch 'feature/export_ps1_tools_v4.2' into 'release/v4.2'
scripts: updates export.ps1 to export tools' paths (v4.2)

See merge request espressif/esp-idf!9876
2020-07-31 05:05:39 +08:00
Darian Leung
21e2f02962 TWAI: Remove asserts used for program logic
This commit fixes the bug where TWAI driver program logic was being
called in assert(), thus leading to the logic being omitted in
release builds.
2020-07-30 22:17:41 +08:00
Darian Leung
519b8898b3 twai: Fix size of RX msg count field on the esp32
This commit fixes the size of the RX message count register field
on the esp32.
2020-07-30 22:17:14 +08:00
Darian Leung
e6db25af9d TWAI: Add ESP32-S2 support
This commit adds TWAI driver support for the
ESP32-S2. The following features were added:

- Expanded BRP support
- Expanded CLKOUT Divider Support
- Updated example READMEs
2020-07-30 22:09:39 +08:00
Andrei Gramakov
74df8746a3 scripts: updates export.ps1 to export tools' paths 2020-07-30 13:55:03 +02:00
fuzhibo
f444d4d2dc driver(adc): fix unit test for ADC-DMA (test_esp32s2.c); fix unit test for ADC-DMA (test_esp32s2.c); fix commit in adc dirver. 2020-07-30 19:38:23 +08:00
Michael (XIAO Xufeng)
4726076da5 Merge branch 'bugfix/fix_touch_sensor_api_backport_v4.2' into 'release/v4.2'
driver(touch): fix touch sensor driver redundancy  (backport v4.2)

See merge request espressif/esp-idf!9861
2020-07-30 16:17:51 +08:00
Marius Vikhammer
2802136595 doc: fall back to CI_COMMIT_REF_NAME as a branch name
In some cases gen_version_specific_includes.py would fail to find a branch/tag name for a commit
and would fall back to using commit SHA-1.

This should never happen in docs that should be published as we use the branch/tag name to generate
example commands for our users. E.g. "git clone -b $branch_name"

Closes https://github.com/espressif/esp-idf/issues/5657
2020-07-30 12:25:59 +08:00
fuzhibo
9bc72d5732 driver(touch): fix touch sensor driver redundancy 2020-07-30 11:41:11 +08:00
Jiang Jiang Jian
f06ce4832d Merge branch 'bugfix/update_esp32_phy_4350_v4.2' into 'release/v4.2'
esp_wifi: update phy lib(Backport v4.2)

See merge request espressif/esp-idf!9823
2020-07-30 01:59:04 +08:00
Andrei Gramakov
e5b242a3cb usb: removes non-integrated features 2020-07-29 15:50:56 +02:00
Jiang Jiang Jian
e7179db204 Merge branch 'nimble/nrpa_support_v4.2' into 'release/v4.2'
NimBLE: Add Non-Resolvable private address support and misc bug fixes (Backport v4.2)

See merge request espressif/esp-idf!9741
2020-07-29 19:05:01 +08:00
Jiang Jiang Jian
10e59593f6 Merge branch 'bugfix/bt_linkup_fallback_event_v4.2' into 'release/v4.2'
Bluedroid: Fixes cases having fallback to link up event. (v4.2)

See merge request espressif/esp-idf!9801
2020-07-29 19:04:41 +08:00
ronghulin
157ecfaf43 bugfix: fix softap mode wpa memory leak 2020-07-29 14:14:35 +08:00
Mahavir Jain
293d7f34b8 Merge branch 'fix/prov_ble_read_offset_v4.2' into 'release/v4.2'
BLE provisioning: Add check for valid ble read offset (v4.2)

See merge request espressif/esp-idf!9744
2020-07-28 16:42:09 +08:00
Anton Maklakov
2d9325db1e Merge branch 'bugfix/build_docs_check_link_v4.2' into 'release/v4.2'
build_docs: fix incorrect arguments for linkcheck (Backport v4.2)

See merge request espressif/esp-idf!9798
2020-07-28 14:00:55 +08:00
Michael (XIAO Xufeng)
19ae66dfa2 sdmmc: fix the probe issue that forbid sdspi working in highspeed mode
SD cards don't support CMD7 (select_card) in SPI mode. Highspeed probe
of sdspi will fail in this step and stop working in highspeed mode.
Remove the CMD7 in enable_hs_mode_and_check to fix this issue.

Please note that, on ESP32, you have to use the IOMUX pins to use sdspi
in 40MHz, otherwise the initialization process will report reading issue
and fail.
2020-07-28 12:36:03 +08:00
Krzysztof Budzynski
12dd6e5a85 Merge branch 'doc/freertos_backport_v4.2' into 'release/v4.2'
add a note about ESP-IDF FreeRTOS version (backport v4.2)

See merge request espressif/esp-idf!9810
2020-07-27 23:00:47 +08:00
ChenJianxing
02e7e9c417 esp_wifi: update phy lib
1. esp32 phy lib v4350
2. esp32s2 phy lib v603
2020-07-27 21:42:44 +08:00
Hrudaynath Dhabe
8bb287bae8 esp_wifi: Add esp_wifi_get_tsf_time() API to get the tsf time of
specified interface.

Closes https://github.com/espressif/esp-idf/issues/5533
2020-07-27 21:41:36 +08:00
Nachiket Kukade
3af4b51a5c Fix handling of multiple AP credentials in WPS
WPS can send multiple AP credentials, while existing implementation
will only use the first credentials which could be for the 5G band.
Fix this by passing these credentials to the App and attempting
to connect using each of those. Older Apps will remain compatible
without breaking WPS, but the issue will remain.
2020-07-27 21:41:20 +08:00
Krzysztof Budzynski
875642fedd Merge branch 'doc/update_chip_features_v4.2' into 'release/v4.2'
doc: update chip features in getting started (Backport v4.2)

See merge request espressif/esp-idf!9797
2020-07-27 21:26:53 +08:00
kapil.gupta
ebd1bb9a12 wpa_supplicant: Fix IOT issue with latest freeradius
Fix inter operability issue with freeradius version 3.0.21
and openssl 1.1.1f when internal tls client is used which
requires extension elements in client hello.

closes https://github.com/espressif/esp-idf/issues/5273
closes https://github.com/espressif/esp-idf/issues/5627
2020-07-27 18:49:47 +05:30
kapil.gupta
89ef69cbd0 wpa_supplicant: Fix invalid pointer deference and memleak
Add following changes as part of this:

1. EAP client will crash during validation of key size when CA
certs and keys not present. Add changes to validate it first.
2. Free memory allocated in TLS context
2020-07-27 18:49:07 +05:30
kapil.gupta
4b7c8d4a2d wpa_supplicant: Support for mbedtls tls handshake
Add support for mbedtls based tls handshake, this removes
dependency from internal implementation of EAP client.
2020-07-27 18:47:27 +05:30
yiying
76e7fcf0e4 update a link in the note 2020-07-27 17:27:31 +08:00
Chinmay Chhajed
9cf4dd20e0 Bluedroid: Fixes cases having fallback to link up event.
Signed-off-by: Chinmay Chhajed <chinmay.chhajed@espressif.com>
2020-07-27 13:52:58 +05:30
Michael (XIAO Xufeng)
b284c48854 Merge branch 'bugfix/esp32s2_lightsleep_uart_suspend_v4.2' into 'release/v4.2'
esp32s2: suspend UART output using XOFF before entering light sleep (backport v4.2)

See merge request espressif/esp-idf!9293
2020-07-27 15:55:33 +08:00
Prasad Alatkar
851b4e9576 BLE provisioning: Add check for valid ble read offset 2020-07-27 07:21:07 +00:00
Marius Vikhammer
b081292e8e build_docs: fix incorrect arguments for linkcheck 2020-07-27 15:14:59 +08:00
Marius Vikhammer
207cbabc51 doc: update chip features in getting started
Fixed number of cores for ESP32 and ESP32S2 being wrong.

Updated S2 to reflect that we have to ULP coprocessors

Closes IDFGH-3616
Closes https://github.com/espressif/esp-idf/issues/5556
2020-07-27 15:12:31 +08:00
David Čermák
636b964c8c Merge branch 'bugfix/ws_send_abort_v4.2' into 'release/v4.2'
websocket client: the client now aborts the connection if send fails. (backport v4.2)

See merge request espressif/esp-idf!9169
2020-07-24 23:15:08 +08:00
Angus Gratton
3191a8cbc7 esp32s2: Always use eFuse config for WP pin
No reason to override just this pin in software.
2020-07-24 21:45:59 +08:00
Angus Gratton
a94685a222 esp32: Use package identifier to look up SPI flash/PSRAM WP Pin, unless overridden
Allows booting in QIO/QOUT mode or with PSRAM on ESP32-PICO-V3 and
ESP32-PICO-V3-O2 without any config changes.

Custom WP pins (needed for fully custom circuit boards) should still be compatible.
2020-07-24 21:45:31 +08:00
chenjianqiang
55a1bd0fb6 feat(esp32): support for esp32-pico-v3-02 2020-07-24 21:20:27 +08:00
chenjianqiang
c945cb59d8 feat(psram): support 16Mbit PSRAM for esp32 2020-07-24 21:19:45 +08:00
chenjianqiang
6a253e8809 bugfix(psram): configure MMU after PSRAM initialization 2020-07-24 21:10:37 +08:00
Krzysztof Budzynski
ce7affe81c Merge branch 'docs/doc138_backport_v4.2' into 'release/v4.2'
Fix incorrect redirect link in getting started guide (backport v4.2)

See merge request espressif/esp-idf!9703
2020-07-24 18:04:00 +08:00
Prasad Alatkar
a4e8e56288 NimBLE: Add Non-Resolvable private address support and misc bug fixes (Backport v4.2)
- Merges https://github.com/espressif/esp-nimble/pull/12
- Fixes repeated pairing failure in RPA feature

Closes https://github.com/espressif/esp-idf/issues/5530
2020-07-24 06:55:22 +00:00
Mahavir Jain
23beab8a98 Merge branch 'feature/update_cryptoauthlib_submodule_pointer_v4.2' into 'release/v4.2'
esp32/secure_element: update esp-cryptoauthlib submodule pointer (v4.2)

See merge request espressif/esp-idf!9768
2020-07-24 14:45:24 +08:00
Aditya Patwardhan
04e5b16f74 esp32/secure_element: update esp-cryptoauthlib submodule pointer 2020-07-24 09:45:00 +05:30
Mahavir Jain
6b80aebc87 Merge branch 'bugfix/convert-string-to-bytes_v4.2' into 'release/v4.2'
components: convert string to bytes to fix TypeError (backport v4.2)

See merge request espressif/esp-idf!9734
2020-07-23 16:36:57 +08:00
Angus Gratton
e6e4fe45c6 Merge branch 'ci/fix_uart_read_write_priorities_v4.2' into 'release/v4.2'
driver test: Ensure uart write task can't overflow buffer of read task (v4.2)

See merge request espressif/esp-idf!9569
2020-07-23 13:15:45 +08:00
Alexey Gerenkov
16eeb3b432 tools: Updates OpenOCD version to 'v0.10.0-esp32-20200709' 2020-07-22 23:15:40 +03:00
Michael (XIAO Xufeng)
51b5c7a079 Merge branch 'bugfix/mcpwm_fault_init_copypaste_typo_bp4.2' into 'release/v4.2'
MCPWM: Fix PWM-fault init function that read config incorrectly (backport v4.2)

See merge request espressif/esp-idf!9554
2020-07-22 21:12:16 +08:00
martin.gano
5feeb744e1 components: convert string to bytes to fix TypeError There is a string passed as an argument for function, but a format of a string seemingly refers to bytes therefore it needs to be converted to bytes Solves https://esp32.com/viewtopic.php?f=13&t=16529
(cherry picked from commit cb0bdb8bba)
2020-07-22 11:23:12 +02:00
yiying
dc06fd3c20 docs: change redirection link in get-started
This link is supposed to go to Step 3, but it goes to Step 2.
2020-07-22 16:49:00 +08:00
Michael (XIAO Xufeng)
ccdfbb865e Merge branch 'bugfix/add_return_task_awoken_for_timer_callback_v4.2' into 'release/v4.2'
timer: add return task awoken for timer callback (backport v4.2)

See merge request espressif/esp-idf!9149
2020-07-22 16:19:37 +08:00
Angus Gratton
b356707948 Merge branch 'ci/workaround_multiple_ci_failures_v4.2' into 'release/v4.2'
CI: workaround multiple ci failures (v4.2)

See merge request espressif/esp-idf!9684
2020-07-22 11:52:43 +08:00
Marius Vikhammer
441308fc16 websocket client: the client now aborts the connection if send fails.
Closes IDF-1744
2020-07-21 07:51:01 +00:00
Jiang Jiang Jian
53e8857849 Merge branch 'bugfix/ipv6_fragment_for_4.2' into 'release/v4.2'
lw-ip:fix bug for ipv6 fragment(backport 4.2)

See merge request espressif/esp-idf!9583
2020-07-21 12:11:34 +08:00
Jiang Jiang Jian
0bcd26a610 Merge branch 'bugfix/fix_hci_max_page_num_v4.2' into 'release/v4.2'
bugfix/Support for more Bluetooth HID devices [backport v4.2]

See merge request espressif/esp-idf!9660
2020-07-21 12:10:59 +08:00
Jiang Jiang Jian
15e40f909f Merge branch 'bugfix/fix_get_bond_device_list_v4.2' into 'release/v4.2'
bugfix/fix esp_bt_gap_get_bond_device_list bug [backport v4.2]

See merge request espressif/esp-idf!9666
2020-07-21 12:10:24 +08:00
Angus Gratton
e1635edc47 Merge branch 'bugfix/espcoredump_fix_error_reported_for_blank_partition_v42' into 'release/v4.2'
Bugfix/espcoredump fix error reported for blank partition (Backport v4.2)

See merge request espressif/esp-idf!9629
2020-07-21 01:05:57 +08:00
Alex Lisitsyn
5f1e61498e Bugfix/espcoredump fix error reported for blank partition (Backport v4.2) 2020-07-21 01:05:54 +08:00
Angus Gratton
e1b03f08af Merge branch 'bugfix/doc_macro_definitions_v4.2' into 'release/v4.2'
doc: Fix macro definitions for different targets (v4.2)

See merge request espressif/esp-idf!9566
2020-07-20 08:25:33 +08:00
He Yin Ling
b3692aba5e CI: do not run cases likely to fail 2020-07-19 14:52:57 +08:00
He Yin Ling
468bd6f854 CI: disable cases with test env SSC_T5_1 2020-07-19 14:52:57 +08:00
He Yin Ling
9d215de21d CI: temp allow mesh job to fail as runner is not stable 2020-07-19 14:52:56 +08:00
He Yin Ling
fb7e3c508b CI: remove incorrect MTU related cases 2020-07-19 14:52:56 +08:00
Island
73ec4d0c1d Merge branch 'bugfix/ble_mesh_health_current_status_recv_v4.2' into 'release/v4.2'
ble_mesh: stack: Fix recv health current status incorrectly (v4.2)

See merge request espressif/esp-idf!9664
2020-07-17 16:14:25 +08:00
boblane
e14906f073 fix esp_bt_gap_get_bond_device_list bug
Closes https://github.com/espressif/esp-idf/issues/5395
2020-07-17 15:06:39 +08:00
lly
b39eaf61b5 ble_mesh: stack: Fix recv health current status incorrectly 2020-07-17 14:05:18 +08:00
DerfJagged
d1506fdae0 Support for more Bluetooth HID devices
Some Bluetooth devices - such as an Xbox One S controller (model 1708) - report more than two external features pages and are rejected immediately. Pages 1 and 2 are marked as unhandled in btm_devctl.c anyway, so there is no reason to block devices with more pages.
(IDFGH-3515)

Signed-off-by: liqigan <liqigan@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/5481
Closes https://github.com/espressif/esp-idf/issues/5470
2020-07-17 10:07:41 +08:00
Island
d26405df96 Merge branch 'bugfix/ble_mesh_misc_updates_v4.2' into 'release/v4.2'
Bugfix/ble mesh misc updates (v4.2)

See merge request espressif/esp-idf!9641
2020-07-16 14:03:27 +08:00
lly
49145856a2 ble_mesh: ci: Enable friend & low power in build check 2020-07-16 11:02:25 +08:00
lly
2e01297603 ble_mesh: stack: Only keep func pointer for very common log
Currently only keep func pointer for the followings:
- Invalid parameter (mesh btc & mesh stack)
- Out of memory (mesh btc & mesh stack)
- Unknown act (mesh btc)
- Invalid model user data (mesh stack)
- BT_DBG("%s", __func__) (mesh btc & mesh stack)
- A few other specific situations (buf ref debug, send status check)
2020-07-16 11:02:24 +08:00
lly
5fceac92ee ble_mesh: stack: Make proxy server & client functions clear 2020-07-16 11:02:24 +08:00
Island
d8c657c6f0 Merge branch 'bugfix/ble_mesh_add_misc_check_v4.2' into 'release/v4.2'
Bugfix/ble mesh add misc check (v4.2)

See merge request espressif/esp-idf!9630
2020-07-16 10:52:26 +08:00
Angus Gratton
a60bfb8cdc Merge branch 'feature/reassign_example_test_runners_v4.2' into 'release/v4.2'
ci: Modify some dut-unrelated example tests env tag from Example_WIFI to Example_GENERIC (backport v4.2)

See merge request espressif/esp-idf!9634
2020-07-16 03:29:31 +08:00
Fu Hanxi
a73b0c3eb6 ci: Modify some dut-unrelated example tests env tag from Example_WIFI to Example_GENERIC 2020-07-15 16:54:03 +08:00
David Čermák
001c673f4e Merge branch 'bugfix/eth_insert_min_hw_reset_time_v4.2' into 'release/v4.2'
ethernet: insert min assert time for PHY HW reset (v4.2)

See merge request espressif/esp-idf!9579
2020-07-15 16:35:46 +08:00
lly
fc99963376 ble_mesh: stack: Add proxy cfg pdu length check 2020-07-15 16:10:48 +08:00
lly
1846def7ac ble_mesh: stack: Rework using dev flag to check scan status
Different bluetooth host has different behaviors, so it's better
to maintain a scan check mechanism of BLE Mesh itself.
Fixes an issue when only PB-GATT is enabled for node, which will
output a scan error log when the device is provisioned.
2020-07-15 16:10:48 +08:00
lly
cf5b69389e ble_mesh: example: Add result check during mesh init 2020-07-15 16:10:48 +08:00
lly
37322ce93f ble_mesh: stack: Add more checks about input prov bearers 2020-07-15 16:10:48 +08:00
Island
daf8098a00 Merge branch 'feat/ble_mesh_use_iram_for_mem_alloc_v4.2' into 'release/v4.2'
Feat/ble mesh use iram for mem alloc (v4.2)

See merge request espressif/esp-idf!9614
2020-07-15 16:06:47 +08:00
Mahavir Jain
c59b27b417 Merge branch 'bugfix/cleanup_bt_reference_from_esp32s2_ld_v4.2' into 'release/v4.2'
esp32s2: cleanup bt reference from esp32s2 ld (v4.2)

See merge request espressif/esp-idf!9613
2020-07-14 22:52:11 +08:00
lly
a6dcfb4a5a ble_mesh: stack: Rename mesh adv queue and relay queue 2020-07-14 21:19:32 +08:00
lly
efcd9ee4a8 ble_mesh: stack: Use macros for adv task name & prio 2020-07-14 21:19:32 +08:00
lly
e58d982903 ble_mesh: ci: Add iram & psram configurations 2020-07-14 21:19:32 +08:00
lly
6abfc2a8f7 ble_mesh: stack: Make freertos static allocation visible 2020-07-14 21:19:32 +08:00
lly
c0db196464 ble_mesh: stack: Add a option of using IRAM for memory allocation 2020-07-14 21:19:32 +08:00
Mahavir Jain
a9d8d8ea99 esp32s2: remove bt references from esp32s2 ld script 2020-07-14 18:04:28 +05:30
Jiang Jiang Jian
452ce608fe Merge branch 'bugfix/fix_erro_in_ag_api_4.2' into 'release/v4.2'
Fix error of AG API return line v4.2

See merge request espressif/esp-idf!9605
2020-07-14 19:54:17 +08:00
weitianhua
b716800000 Fix error of AG API return line
Closes https://github.com/espressif/esp-idf/issues/5554
2020-07-14 14:43:15 +08:00
Mahavir Jain
38e75dca1d Merge branch 'bugfix/enable_mbedtls_renegotiation_v4.2' into 'release/v4.2'
esp-tls: enable TLS renegotiation using explicit API call (v4.2)

See merge request espressif/esp-idf!9590
2020-07-14 12:05:02 +08:00
Mahavir Jain
c57f9b76cb Merge branch 'bugfix/ota_ci_failures_v4.2' into 'release/v4.2'
Increse receive timeout in OTA Example tests to fix CI failures (v4.2)

See merge request espressif/esp-idf!9588
2020-07-13 23:01:23 +08:00
Ivan Grokhotkov
31121e5af1 Merge branch 'bugfix/rs485_test_temp_disable_v42' into 'release/v4.2'
Bugfix/rs485 test temp disable (backport v4.2)

See merge request espressif/esp-idf!9525
2020-07-13 20:41:42 +08:00
Mahavir Jain
40a29866f6 esp-tls: enable TLS renegotiation using explicit API call
mbedTLS stack does not keep TLS renegotiation enabled even if
relevant config option is turned on, it needs explicit API call
`mbedtls_ssl_conf_renegotiation` to do so.

This issue was observed in case of Azure IoT, where keys needs to
be refreshed periodically to keep TLS connection intact.
2020-07-13 15:32:41 +05:30
Ivan Grokhotkov
4ed889dfa2 esp32s2: sleep_modes: remove dependency on driver/uart.h 2020-07-13 09:52:29 +02:00
Ivan Grokhotkov
3a88ac7900 soc: add periph_ll_periph_enabled to clk_gate_ll.h 2020-07-13 09:52:29 +02:00
Ivan Grokhotkov
31cd3f1294 esp32s2: suspend UART output using XOFF before entering light sleep
Same logic as for the ESP32, except two changes:

* need to set UART_SW_FLOW_CON_EN bit for UART_FORCE_XOFF to take
  effect
* need to check if the peripheral is not clockgated and out of reset
2020-07-13 09:52:29 +02:00
Shubham Kulkarni
1f16f5cf22 Increse receive timeout in sdkconfig.ci to fix CI failures 2020-07-13 10:15:01 +05:30
xueyunfei
74396ae2cc fix bug for ipv6 fragment 2020-07-13 11:49:52 +08:00
morris
49c1d40b2d ethernet: insert min assert time for PHY HW reset
Closes https://github.com/espressif/esp-idf/issues/5528
2020-07-13 11:05:38 +08:00
Jiang Jiang Jian
1f8c5b2b64 Merge branch 'docs/fix_event_typo_backport_v4.2' into 'release/v4.2'
docs/fix event typo backport v4.2

See merge request espressif/esp-idf!9382
2020-07-12 21:24:03 +08:00
chenjianqiang
9274339fb5 timer: add return task awoken for timer callback 2020-07-12 11:01:47 +00:00
Mahavir Jain
d6553232cb Merge branch 'bugfix/issues_with_vanilla_freertos_v4.2' into 'release/v4.2'
Fix build issues with Vanilla FreeRTOS (v4.2)

See merge request espressif/esp-idf!9576
2020-07-12 16:39:20 +08:00
Shubham Kulkarni
07abd9092a Include header file soc/cpu.h in memprot.c and system_api.c
This fixes build issues with Vanilla FreeRTOS
2020-07-10 18:21:20 +05:30
Jiang Jiang Jian
897e950e21 Merge branch 'bugfix/add_api_to_get_internal_heap_v4.2' into 'release/v4.2'
esp_wifi: Add API to get available internal heap size (backport v4.2)

See merge request espressif/esp-idf!9516
2020-07-10 16:54:38 +08:00
Island
86c197a8db Merge branch 'bugfix/ble_mesh_update_send_ttl_v4.2' into 'release/v4.2'
Bugfix/ble mesh update send ttl v4.2

See merge request espressif/esp-idf!9562
2020-07-10 14:06:12 +08:00
Angus Gratton
870fa2237e driver test: Ensure uart write task can't overflow buffer of read task
Previously both tasks had equal priority, possible for write task and another
internal task to be scheduled at the same time - starving read task and
causing data loss.

Related to IDFCI-59
2020-07-10 15:59:48 +10:00
Angus Gratton
21b123a925 Merge branch 'feature/sphinx_idf_theme_pip_v4.2' into 'release/v4.2'
docs: update build system to use sphinx_idf_theme pip package (v4.2)

See merge request espressif/esp-idf!9478
2020-07-10 12:56:43 +08:00
Angus Gratton
c44a433b8b driver: Fix some doxygen warnings 2020-07-10 14:53:16 +10:00
Angus Gratton
e3664e297b docs: Redirect all of Doxygen stderr to the warnings log
Some errors (for example the errors caused by macro values, as fixed in previous
commit) get logged to stderr even if WARN_LOGFILE is set, but Doxygen succeeds.
2020-07-10 14:53:16 +10:00
Angus Gratton
db5d659762 docs: Log the full list of macros, remove code-style macros to prevent Doxygen errors 2020-07-10 14:53:15 +10:00
Angus Gratton
2b270bccbf doc: Fix passing of build macros to Doxygen
Regression in fbb54184ef, the dictionary
passed to generate_doxygen function was still the project_description
structure.
2020-07-10 14:53:15 +10:00
Michael (XIAO Xufeng)
b39a0be9d2 Merge branch 'bugfix/fix_adc_dac_conflict_backportv4.2' into 'release/v4.2'
Driver(adc): Disable the synchronization operation function of ADC1 and DAC (backport v4.2)

See merge request espressif/esp-idf!9360
2020-07-10 11:05:00 +08:00
lly
615d64b6f9 ble_mesh: stack: Add two application macros for TTL 2020-07-10 09:13:53 +08:00
lly
1ec2f98691 ble_mesh: stack: Update send_ttl in btc when recv a msg
Update send_ttl mainly for server models. When a server model
receives a message, and the status is required to be replied
by the application, we need to set send_ttl to the msg context.
If send_ttl is not updated in btc, and the applcation does not
set the TTL either, then the status will be replied with TTL=0,
which may cause the client side (e.g. the phone App) failed to
receive the status.

Closes https://github.com/espressif/esp-idf/issues/5300
2020-07-10 09:13:53 +08:00
Wielebny666
e64d1378b4 Fix init MCPWM Fault line via config struct
Signed-off-by: wubowen <wubowen@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/5491
Closes https://github.com/espressif/esp-idf/issues/5433
2020-07-09 19:19:23 +08:00
Jiang Jiang Jian
f52c35258c Merge branch 'bugfix/fix_16mbit_psram_id_read_error_v4.2' into 'release/v4.2'
psram: fix 16mbit psram id read error (backport v4.2)

See merge request espressif/esp-idf!9424
2020-07-09 15:27:23 +08:00
Jiang Jiang Jian
d58bb32f95 Merge branch 'bugfix/fix_build_err_in_cpp_backport_v4.2' into 'release/v4.2'
ble_hid_device_demo: fix build if building with c++ backport v4.2

See merge request espressif/esp-idf!9230
2020-07-09 15:25:51 +08:00
Supreet Deshpande
d1c4791dad Add platform independent CMake signing 2020-07-09 11:54:53 +05:30
Angus Gratton
89fa339732 ci provisioning: Add some experiments to check the runner's STA state
Not clear why sometimes it associates without negotiating a new DHCP lease.
2020-07-09 04:56:44 +00:00
Angus Gratton
de17289461 esp_prov: Extend the timeout for HTTP connection to SoftAP 2020-07-09 04:56:44 +00:00
Angus Gratton
6d5dc5def3 ci wifi_tools: Log the wpa_supplicant interface state when trying to connect
Trigger reconnection if wpa_supplicant seems to have dropped the connection.
2020-07-09 04:56:44 +00:00
Angus Gratton
9c6c6e6885 legacy provisioning: Always try to reconnect when disconnected
Some APs may fail authentication temporarily if they have too many
associated stations, for example.
2020-07-09 04:56:44 +00:00
Angus Gratton
130c97ad69 esp_prov: Refactor to use new 'wait_wifi_connected' function
Means all provisioning examples will have the same retry behaviour.
2020-07-09 04:56:44 +00:00
Angus Gratton
ae586deeeb ci provisioning: Use strings instead of "magic numbers" for connection state 2020-07-09 04:56:44 +00:00
Angus Gratton
5e0e4a5f01 ci: Wait up to 60 seconds for client to connect to DUT in provisioning test 2020-07-09 04:56:44 +00:00
Krzysztof Budzynski
9eab094658 Merge branch 'doc/broken_readme_links_v4.2' into 'release/v4.2'
Docs: Fix broken README links (v4.2)

See merge request espressif/esp-idf!9499
2020-07-08 23:53:03 +08:00
Krzysztof Budzynski
f7c5e49504 Merge branch 'doc/check_docs_multi_builder_v4.2' into 'release/v4.2'
docs: fix check_docs not working for multiple builders (v4.2)

See merge request espressif/esp-idf!9480
2020-07-08 23:50:36 +08:00
Jiang Jiang Jian
ccc4f1337b Merge branch 'doc/add_UUID_description_in_gattc_demo_backport_v4.2' into 'release/v4.2'
docs:add 128-bit UUID description backport v4.2

See merge request espressif/esp-idf!9224
2020-07-08 16:14:45 +08:00
Angus Gratton
0cb87f67da Merge branch 'feature/console_repl_over_uart_v4.2' into 'release/v4.2'
console_repl over UART (v4.2)

See merge request espressif/esp-idf!9422
2020-07-08 16:10:37 +08:00
Ivan Grokhotkov
aec1353ffe ci: temporarily disable RS485 related tests 2020-07-08 06:54:24 +02:00
xiehang
8efabd1307 esp_wifi: Add API to get available internal heap size. 2020-07-08 10:46:34 +08:00
Jakob Hasse
4911dde551 nvs: unit tests for new partition API 2020-07-08 08:59:12 +08:00
Dmitriy Shilin
051dff88e4 nvs: allow to specify custom partition
Closes https://github.com/espressif/esp-idf/pull/5172
2020-07-08 08:59:03 +08:00
Marius Vikhammer
e4e5b18c61 Fix broken README links 2020-07-07 17:11:32 +08:00
Jiang Jiang Jian
ad5c4eb3f5 Merge branch 'mesh/bugfix_for_tbtt_update_v4.2' into 'release/v4.2'
fix the bug for tsf check (backport v4.2)

See merge request espressif/esp-idf!9279
2020-07-07 14:40:35 +08:00
Anton Maklakov
59541071fb Merge branch 'bugfix/gen_crt_py3_utf_v4.2' into 'release/v4.2'
Fixes issues encoding issues python3 scripts for unicode chars (v4.2)

See merge request espressif/esp-idf!9174
2020-07-07 11:04:59 +08:00
Ivan Grokhotkov
9b21973363 Merge branch 'feature/msys2_env_update_v4.2' into 'release/v4.2'
windows: Update MSYS2 pre-compiled legacy build environment (v4.2)

See merge request espressif/esp-idf!9142
2020-07-06 15:14:45 +08:00
Marius Vikhammer
302a43562d docs: fix check_docs not working for multiple builders
Closes IDF-1659
2020-07-06 12:27:02 +08:00
Marius Vikhammer
61904135b3 docs: update sphinx_idf_theme documentation
Bump CI doc-env docker image to v5
2020-07-06 10:55:32 +08:00
Michael (XIAO Xufeng)
a3a22d4af5 Merge branch 'bugfix/fix_ci_about_touch_sensor_denoise_ut_backport_v4.2' into 'release/v4.2'
driver(touch): fix touch sensor denoise unit test case (backport v4.2)

See merge request espressif/esp-idf!9451
2020-07-06 10:21:32 +08:00
Angus Gratton
0e8f630711 Merge branch 'bugfix/esp32_encrypted_flash_write_v4.2' into 'release/v4.2'
spi_flash: esp32: fix regression in encrypted flash write (v4.2)

See merge request espressif/esp-idf!9349
2020-07-06 08:18:56 +08:00
zhangyanjiao
4761c4059a esp_wifi:
1. Avoid parsing RSN/WPA IE's after connection
2. Remove AUTH_CHANGED reason code logic
3. fix the bug when calculating the PMK, the local rx beacon time increment is 0
4. mesh: don't disconnect when tbtt update
2020-07-03 14:18:39 +08:00
Island
a1c11b3f9e Merge branch 'bugfix/ble_mesh_fast_prov_misc_update_v4.2' into 'release/v4.2'
Bugfix/ble mesh fast prov misc update (v4.2)

See merge request espressif/esp-idf!9462
2020-07-03 11:11:37 +08:00
lly
dd6de08bea ble_mesh: stack: Update some fast prov functions 2020-07-03 08:53:16 +08:00
lly
661e1f2500 ble_mesh: stack: Move fast prov functions to a single file 2020-07-03 08:53:16 +08:00
Island
f9cee602fb Merge branch 'bugfix/ble_mesh_split_tinycrypt_v4.2' into 'release/v4.2'
Bugfix/ble mesh split tinycrypt (v4.2)

See merge request espressif/esp-idf!9371
2020-07-02 22:46:21 +08:00
fuzhibo
34fc02f5db driver(touch): fix touch sensor denoise unit test case 2020-07-02 13:04:46 +08:00
lly
76baeba6b7 ble_mesh: ci: Fix failing to compile when using make 2020-07-02 03:53:50 +00:00
lly
7e7d2ae401 ble_mesh: Mark platform related default RNG as 0 2020-07-02 03:53:50 +00:00
lly
d9e8508981 ble_mesh: Remove the previously added redundant aes files 2020-07-02 03:53:50 +00:00
lly
11406d7ee8 ble_mesh: Update CMake and make files for tinycrypt 2020-07-02 03:53:50 +00:00
lly
80837bd936 ble_mesh: Update tinycrypt header file include guards
Add BLE_MESH in the macro to make it specific for BLE Mesh.
2020-07-02 03:53:50 +00:00
lly
3c0584f013 ble_mesh: Format source and header files of tinycrypt 2020-07-02 03:53:50 +00:00
lly
f1f3c7afd6 ble_mesh: Port full implementation of tinycrypt [Zephyr]
- Original code is here: https://github.com/zephyrproject-rtos/tinycrypt
- Also this fixes the compile error when NimBLE and ESP BLE Mesh
  both uses the tinycrypt.
2020-07-02 03:53:50 +00:00
Island
de5d145c9b Merge branch 'bugfix/ble_mesh_readme_fix_v4.2' into 'release/v4.2'
ble_mesh: example: Fix example README & tutorial link error (v4.2)

See merge request espressif/esp-idf!9434
2020-07-02 11:29:26 +08:00
Island
fcef568c70 Merge branch 'bugfix/ble_mesh_compile_error_v4.2' into 'release/v4.2'
Bugfix/ble mesh compile error (v4.2)

See merge request espressif/esp-idf!9430
2020-07-02 11:28:55 +08:00
Angus Gratton
69b0761114 Merge branch 'bugfix/sntp_example_test_v4.2' into 'release/v4.2'
Fix SNTP example test to match pattern (v4.2)

See merge request espressif/esp-idf!9447
2020-07-02 10:28:52 +08:00
Roland Dobai
6e7a091e39 Fix SNTP example test to match pattern 2020-07-01 14:37:06 +02:00
fuzhibo
68ed940668 Driver(adc): Disable the synchronization operation function of ADC1 and DAC
Closes IDF-1585
2020-07-01 09:29:34 +00:00
Jiang Jiang Jian
ce60660c7c Merge branch 'bugfix/fix_ping_specify_length_issue_v4.2' into 'release/v4.2'
bugfix: fix ICMP specify length issue (backport v4.2)

See merge request espressif/esp-idf!9401
2020-07-01 17:25:26 +08:00
Krzysztof Budzynski
68fae8b48f Merge branch 'doc/restore_missing_zh_eth_guide_v4.2' into 'release/v4.2'
docs: restore chinese get-started-ethernet-kit guide (v4.2)

See merge request espressif/esp-idf!9375
2020-07-01 16:25:02 +08:00
lly
f14a71e8b7 ble_mesh: example: Fix example README & tutorial link error 2020-07-01 14:36:30 +08:00
Jiang Jiang Jian
e5fed6d67d Merge branch 'mesh/bugfix_coexist_warning_4.2' into 'release/v4.2'
mesh: remove coexist warnings in ESP_WIFI_MESH (backport 4.2)

See merge request espressif/esp-idf!9412
2020-07-01 13:51:30 +08:00
Jiang Jiang Jian
655772ec23 Merge branch 'feature/bt_secure_conn_downgrade_check_v4.2' into 'release/v4.2'
Bluedroid: Authentication fixes in Legacy and Secure Connection.

See merge request espressif/esp-idf!9336
2020-07-01 13:48:46 +08:00
lly
f0518dfba5 ble_mesh: ci: Add different proxy configurations 2020-07-01 11:54:32 +08:00
lly
b239677c97 ble_mesh: stack: Fix compile error when only proxy enabled
Also remove some redundant CONFIG_BLE_MESH_PROXY checks, because
when the following options are satisfied, the CONFIG_BLE_MESH_PROXY
option will be selected mandatorily.
2020-07-01 11:54:32 +08:00
Island
f1642bfaaf Merge branch 'bugfix/ble_mesh_set_recv_rssi_v4.2' into 'release/v4.2'
Bugfix/ble mesh set recv rssi (v4.2)

See merge request espressif/esp-idf!9390
2020-07-01 11:31:47 +08:00
Island
e9f21b096f Merge branch 'bugfix/ble_mesh_check_subnet_before_update_beacon_sent_v4.2' into 'release/v4.2'
ble_mesh: Check if subnet exists before updating beacon_sent (v4.2)

See merge request espressif/esp-idf!9395
2020-07-01 11:16:16 +08:00
Michael (XIAO Xufeng)
76c1be0d94 spiram: fix the read id failure
The issue is caused by:
1. The disable_qio_mode inside read_id may have side effects.
2. read_id twice may have side effects.

Fix this issue by moving disable_qio_mode out of read_id and only do it
once before read_id. And retry read_id only when the first one is
failed.

Issue introduced in 3ecbb59c15.
2020-06-30 21:45:31 +08:00
chenjianqiang
a3a4c828e9 psram: fix 16mbit psram id read error 2020-06-30 21:44:39 +08:00
ronghulin
404a5994e6 bugfix: fix ICMP specify length issue 2020-06-30 13:42:19 +00:00
morris
98d7f13c24 console_repl: change config structure to support different devices 2020-06-30 20:18:27 +08:00
Chinmay Chhajed
ec043aac06 Bluedroid: Authentication fixes in Legacy and Secure Connection.
Prevent a remote device from doing a Bluetooth Impersonation Attack
(BIAS) by:

- Preventing remote device to downgrade secure connection
feature mask. Secure connection feature mask should remain same or
increase to enabled in link key generation and authentication.

- Doing a mutual authentication during Legacy Authentication.

Signed-off-by: Chinmay Chhajed <chinmay.chhajed@espressif.com>
2020-06-30 14:41:46 +05:30
chenyudong
334052194e mesh: remove coexist warnings in ESP_WIFI_MESH
1. remove warning log when mesh is started:
Error! Should use default passive scan time parameter for WiFi scan when Bluetooth is enabled!!!!!!
2. remove abort when mesh is started:
Error! Should enable WiFi modem sleep when both WiFi and Bluetooth are enabled!!!!!!
2020-06-30 16:33:08 +08:00
Jiang Jiang Jian
6938c615d8 Merge branch 'bugfix/connect_param_check_and_channel_map_bugs_v4.2' into 'release/v4.2'
components/bt:Fix channel map instant reverse and add ble connect paramter check.(backport 4.2)

See merge request espressif/esp-idf!9236
2020-06-30 15:11:56 +08:00
lly
6f715c4472 ble_mesh: Check if subnet exists before updating beacon_sent
- Before updating the "beacon_sent" of a subnet, we need to check
  if the subnet still exists, especially for a Provisioner.
- Fix a bug which will cause Provisioner failed to send Secure
  Network Beacon if no device is provisioned
2020-06-30 09:22:21 +08:00
lly
3fa5daf0ba ble_mesh: stack: Copy recv_rssi for other received messages
Follow the commit: 2b80cb6883,
copy the recv_rssi for other mesh messages.
2020-06-30 09:05:23 +08:00
mbroek
4b3bb6c8fd When a generic mesh model message is received "bt_mesh_generic_server_cb_evt_to_btc" copies the
ctx values to cb_params for the mesh stack.

recv_rssi was not copied.

This means the rssi could not be read when receiving generic server messages using ble_mesh.
2020-06-30 09:05:23 +08:00
liminyang
5bf8bb6d3a docs:fix event typo
1.In the description of the ESP_API header file, it should be the event that the application layer needs to handle, not the BTA layer.
2.Fix name typo of BTA_GATTS_CREATE_SRVC_EVT event

Closes https://github.com/espressif/esp-idf/issues/5446
2020-06-29 20:48:48 +08:00
Marius Vikhammer
a664a80d73 docs: restore chinese get-started-ethernet-kit guide
The chinese translation of get-started-ethernet-kit guide were erroneously
removed in commit 1a90470f02
2020-06-29 13:32:45 +08:00
Mahavir Jain
c0a40cf7e8 Merge branch 'fix/esp_tls_wolfssl_fix_cert_verify_v4.2' into 'release/v4.2'
esp_tls_wolfssl : fix incorrect error message after handshake fails (v4.2)

See merge request espressif/esp-idf!9229
2020-06-29 13:00:49 +08:00
Mahavir Jain
3d68e92a58 Merge branch 'bugfix/http_server_lru_v4.2' into 'release/v4.2'
esp_http_server: Update LRU counter on accepting a new connection (v4.2)

See merge request espressif/esp-idf!9350
2020-06-29 12:57:02 +08:00
Island
00148cd0c6 Merge branch 'bugfix/ble_mesh_get_node_with_name_v4.2' into 'release/v4.2'
ble_mesh: Get node info with pre-configured node name (v4.2)

See merge request espressif/esp-idf!9302
2020-06-28 20:25:32 +08:00
Island
fa8e6918c1 Merge branch 'bugfix/ble_mesh_example_tag_define_v4.2' into 'release/v4.2'
ble_mesh: Move TAG definition to each example (v4.2)

See merge request espressif/esp-idf!9305
2020-06-28 20:25:06 +08:00
Island
3c92395170 Merge branch 'bugfix/ble_mesh_bt_hex_v4.2' into 'release/v4.2'
ble_mesh: Fix wrong log output with bt_hex (v4.2)

See merge request espressif/esp-idf!9309
2020-06-28 20:24:31 +08:00
Island
257384ea75 Merge branch 'bugfix/ble_mesh_not_define_bool_v4.2' into 'release/v4.2'
Bugfix/ble mesh not define bool (v4.2)

See merge request espressif/esp-idf!9316
2020-06-28 20:23:21 +08:00
Island
6d20c836ff Merge branch 'bugfix/ble_mesh_check_model_status_v4.2' into 'release/v4.2'
ble_mesh: stack: Check model status with variable length (v4.2)

See merge request espressif/esp-idf!9319
2020-06-28 20:22:40 +08:00
Krzysztof Budzynski
e538b2a2ed Merge branch 'doc/ds_S2_4.2' into 'release/v4.2'
Doc: DS documentation for S2

See merge request espressif/esp-idf!9358
2020-06-28 20:20:49 +08:00
Jakob Hasse
36ee7d706a Doc: DS documentation for S2 2020-06-28 09:42:02 +08:00
Shubham Kulkarni
f97751712f esp_http_server: Update LRU counter on accepting a new connection
Closes https://github.com/espressif/esp-idf/issues/3851
2020-06-26 19:24:23 +05:30
Ivan Grokhotkov
e8c8286387 Merge branch 'bugfix/check_python_deps_diagnostic_v4.2' into 'release/v4.2'
tools: fix diagnostic output in check_python_dependencies.py (backport v4.2)

See merge request espressif/esp-idf!9295
2020-06-26 21:16:55 +08:00
Ivan Grokhotkov
390a34f660 Merge branch 'bugfix/export_sh_in_dash_v4.2' into 'release/v4.2'
tools: export.sh: fix compatibility with dash shell (backport v4.2)

See merge request espressif/esp-idf!9296
2020-06-26 21:16:40 +08:00
Mahavir Jain
939a7ada04 spi_flash: esp32: fix regression in encrypted flash write
In commit 309376f51a, it seems like regression
was added to use ROM level API for disabling flash write protection. This
started random firmware crashes (on specific modules) with exception
`IllegalInstruction` during encrypted flash writes.

Fix here removes relevant ROM API call, since disabling flash write protection
is already ensured by caller of this API.

Closes https://github.com/espressif/esp-idf/issues/5467
2020-06-26 18:20:06 +05:30
Ivan Grokhotkov
156bd313d2 Merge branch 'ci/http_client_remove_httpbin_redirect_v4.2' into 'release/v4.2'
ci: Temporarily remove the esp_http_client httpbin redirect tests (v4.2)

See merge request espressif/esp-idf!9340
2020-06-26 01:35:46 +08:00
Angus Gratton
b53daeecee ci: Temporarily remove the esp_http_client httpbin redirect tests
Need to host httpbin ourselves or wait for
postmanlabs/httpbin/issues/617 to be resolved
2020-06-25 07:57:57 +10:00
Angus Gratton
ae35b6abcd Merge branch 'bugfix/bootloader_header_align_v4.2' into 'release/v4.2'
bootloader: Force bootloader_image_hdr to be word aligned (v4.2)

See merge request espressif/esp-idf!9069
2020-06-24 20:33:47 +08:00
Krzysztof Budzynski
8bf1d3118a Merge branch 'doc/fix_broken_links_v4.2' into 'release/v4.2'
Doc/fix broken links (backport v4.2)

See merge request espressif/esp-idf!9265
2020-06-24 20:16:20 +08:00
lly
698fe7dd99 ble_mesh: stack: Check model status with variable length 2020-06-24 14:12:53 +08:00
lly
bd5ef62253 ble_mesh: Remove boolean type definitions 2020-06-24 14:05:58 +08:00
Nikolaos Strikos
5bacf6b23d ble_mesh: Do not #define bool when compiling in C++ 2020-06-24 14:05:58 +08:00
Angus Gratton
24d455f826 Merge branch 'feature/pyc_clean_v4.2' into 'release/v4.2'
tools/idf.py: Clean Python bytecode files (v4.2)

See merge request espressif/esp-idf!9262
2020-06-24 12:30:15 +08:00
lly
55f48877a4 ble_mesh: Fix wrong log output with bt_hex
- This issue was introduced in the commit: a788e7cd3d
  which updated the bt_hex() function incorrectly.
- And in bt_hex(), we use 2 for the two-dimensional array, because currently
  at most two bt_hex() will be used at the same time. Also this will save
  some DRAM compared with using 4.
2020-06-24 12:29:33 +08:00
Angus Gratton
ac2698ecb7 Merge branch 'bugfix/idf_py_help_env_var_v4.2' into 'release/v4.2'
Tools: Mention ESPPORT and ESPBAUD in idf.py --help (v4.2)

See merge request espressif/esp-idf!9290
2020-06-24 12:28:29 +08:00
lly
a2e14140b3 ble_mesh: Move TAG definition to each example
Move the TAG definition of each example to the corresponding
source file (previously it is defined in the common example
intialization header file), which can avoid the redefinition
of TAG in some situations.
2020-06-24 12:19:06 +08:00
lly
b4b2cd19f7 ble_mesh: Get node info with pre-configured node name
Also add a function to get the entry of the nodes table.

Closes https://github.com/espressif/esp-idf/issues/5397
2020-06-24 10:58:36 +08:00
Ivan Grokhotkov
4913cbed6a tools: export.sh: fix compatibility with dash shell
* fix constructs invalid in dash
* clean shellcheck warnings and disable false positive ones

Closes https://github.com/espressif/esp-idf/issues/5366
2020-06-23 16:34:19 +02:00
Ivan Grokhotkov
387dfd977a tools: fix diagnostic output in check_python_dependencies.py
If IDF_PYTHON_ENV_PATH was not set, an exception occurred:

Traceback (most recent call last):
  File "/home/user/esp/esp-idf/tools/check_python_dependencies.py", line 108, in <module>
    if idf_python_env_path not in sys.executable:
TypeError: 'in <string>' requires string as left operand, not NoneType

and the final line in the diagnostic message was not printed.
Fix to print the PATH if IDF_PYTHON_ENV_PATH is not set.
2020-06-23 16:32:47 +02:00
Roland Dobai
647d01dbc6 Tools: Mention ESPPORT and ESPBAUD in idf.py --help
Closes https://github.com/espressif/esp-idf/issues/5461
2020-06-23 15:21:44 +02:00
Jiang Jiang Jian
820e0ead52 Merge branch 'bugfix/wifi_update_tbtt_when_ap_reset_tsf_v4.2' into 'release/v4.2'
esp_wifi: Add TBTT update when AP reset TSF (v4.2)

See merge request espressif/esp-idf!9270
2020-06-23 12:14:27 +08:00
zhangyanjiao
cdc0374448 esp_wifi:
1. Add TBTT update when AP reset TSF
2. fix the bug for regdomian update
3. update ESP32S2 phy lib to 601,5b0f7cd
4. Fix TX DMA buffer issue
2020-06-22 19:33:08 +08:00
Marius Vikhammer
c185d924e1 docs: fixed broken platform.io link 2020-06-22 17:17:57 +08:00
Marius Vikhammer
35c3a51c17 docs: fix link_roles not linking correctly for certain files
Link_roles could link incorrectly if the name of a file matched the name of a submodule
2020-06-22 17:17:46 +08:00
Roland Dobai
1c49cf1a09 tools/idf.py: Clean Python bytecode files 2020-06-22 10:23:59 +02:00
Angus Gratton
ee126bc154 Merge branch 'bugfix/wpa_supplicant_no_hw_mpi_v4.2' into 'release/v4.2'
wpa_supplicant: Allow building with mbedTLS integration but no hardware MPI (v4.2)

See merge request espressif/esp-idf!9011
2020-06-22 13:06:01 +08:00
Island
aaeb2ba733 Merge branch 'bugfix/att_buffer_count_fixed_v4.2' into 'release/v4.2'
Bugfix/att buffer count fixed v4.2

See merge request espressif/esp-idf!9161
2020-06-22 11:44:54 +08:00
wangcheng
12d39f9faa components/bt:Fix instant reverse and add ble connect paramter check. 2020-06-18 15:54:53 +08:00
Elvis Dukaj
41f178f5eb ble_hid_device_demo: fix build if building with c++
Signed-off-by: Elvis Dukaj <elvis.dukaj@gmail.com>
Signed-off-by: liminyang <liminyang@example.com>

Merges https://github.com/espressif/esp-idf/pull/5191
2020-06-18 15:32:52 +08:00
Aditya Patwardhan
f6b0307e1a esp_tls_wolfssl: fix incorrect error message after handshake fails 2020-06-18 12:58:40 +05:30
Island
710249c86a Merge branch 'bugfix/blufi_buffer_overflow_report_v4.2' into 'release/v4.2'
blufi: When the format of the received data packet is wrong, reply with an error response(backport 4.2)

See merge request espressif/esp-idf!9201
2020-06-18 13:44:52 +08:00
liminyang
920273e619 docs:perfect 128-bit UUID description
The previous description is not easy for the reader to understand, some changees have been made to perfect it.
Closes https://github.com/espressif/esp-idf/issues/5057
2020-06-18 11:57:47 +08:00
Michael (XIAO Xufeng)
82c4ed30b6 Merge branch 'bugfix/fix_fifo_cnt_bug_v4.2' into 'release/v4.2'
bugfix(uart): fix esp32 fifo_cnt bug(backport v4.2)

See merge request espressif/esp-idf!9039
2020-06-18 01:47:51 +08:00
Jiang Jiang Jian
1f074d313b Merge branch 'bugfix/fix_some_wifi_bugs_0617_v4.2' into 'release/v4.2'
fix some wifi bugs 0617 (backport v4.2)

See merge request espressif/esp-idf!9210
2020-06-17 18:27:37 +08:00
Jiang Jiang Jian
a406885360 Merge branch 'feature/make_tcp_rto_configurable_v4.2' into 'release/v4.2'
make  TCP rto time configurable (backport v4.2)

See merge request espressif/esp-idf!9211
2020-06-17 18:23:34 +08:00
Jiang Jiang Jian
a6f2205cdb Merge branch 'bugfix/ble_conn_fail_v4.2' into 'release/v4.2'
Fix bugs from coex test

See merge request espressif/esp-idf!9099
2020-06-17 18:16:37 +08:00
Angus Gratton
0ea0d2ba3c Merge branch 'bugfix/efuse_logs_v4.2' into 'release/v4.2'
esp32/esp32s2: Reduce using ESP_EARLY_LOGx and move some code after the stdout initialization in startup code (v4.2)

See merge request espressif/esp-idf!9202
2020-06-17 16:54:34 +08:00
yuanjm
c5768c019e feat(lwip): make LWIP TCP rto time configurable 2020-06-17 15:20:00 +08:00
baohongde
783cd1bb08 components/bt: Fix ble disconnect due to instant of channel map update is too small 2020-06-17 07:15:46 +00:00
baohongde
d4b232590a Set AFH in time(075dd35)
Send LMP_channelClassification immediately
Fix first LMP_set_AFH not using host value
2020-06-17 07:15:46 +00:00
baohongde
ef92a22b0c components/coex: Fix ble connecting fail in coexist 2020-06-17 07:15:46 +00:00
zhangyanjiao
f5a6ae7e93 esp_wifi:
1. Fix WPA3 Auth timeout during BLE coex
2. fix addba ssn and send bar for first ampdu
3. fix the bug that airkiss find hidden AP fail
4. update mesh lib
5. fix interrupt handle param variable error
2020-06-17 14:55:45 +08:00
ChenJianxing
7cbb970b50 esp32s2: disable sdmmc api 2020-06-17 14:53:17 +08:00
ChenJianxing
ba67a9518e fix esp32s2 do not have crc*_be func 2020-06-17 14:53:08 +08:00
ChenJianxing
835186b3b9 esp_wifi: re-enable build wifi example 2020-06-17 14:52:58 +08:00
KonstantinKondrashov
49c9f69eae esp32s2: Move some code after the stdout initialization 2020-06-17 13:40:42 +08:00
KonstantinKondrashov
a6ac0e8a51 esp32: Reduce using ESP_EARLY_LOGx and move some code after the stdout initialization
After setting _GLOBAL_REENT, ESP_LOGIx can be used instead of ESP_EARLY_LOGx.

Closes: https://github.com/espressif/esp-idf/issues/5343
2020-06-17 13:40:42 +08:00
Wang Cheng
21ff2f84ce components/bt: Add a detailed description for the user to distinguish the function of the query buffer api. 2020-06-17 12:52:28 +08:00
Geng Yu Chao
02cd178115 Update the limited of function esp_ble_get_sendable_packets_num. 2020-06-17 12:52:18 +08:00
wangcheng
17609cbb02 blufi: When the format of the received data packet is wrong, reply with an error response 2020-06-17 12:19:00 +08:00
Jiang Jiang Jian
e7d046cfdd Merge branch 'bugfix/fix_event_bug_in_GAP_API_release_v4.2' into 'release/v4.2'
Bugfix/fix event bug in GAP API [backport v4.2]

See merge request espressif/esp-idf!9190
2020-06-17 11:51:38 +08:00
liqigan
4dd29dac94 components/bt: Adjust the description of esp_bt_gap_start_discovery and esp_bt_gap_cancel_discovery.
Add some comments to explain why `ESP_BT_GAP_DISC_STATE_CHANGED_EVT` is not reported.
2020-06-16 22:18:21 +08:00
xiongyu
27e6e8c485 bugfix(uart): fix esp32 fifo_cnt bug
When using DPort to read fifo, fifo_cnt is not credible, we need to calculate the real cnt based on the fifo read and write pointer. When using AHB to read FIFO, we can use fifo_cnt to indicate the data length in fifo.
2020-06-16 14:34:23 +08:00
Marius Vikhammer
1d1e4497ba ci: fix find_build_apps.py failure with py3 due to non ascii chars
find_build_apps.py would fail when reading non-ascii chars on systems where
the default encoding was ascii.
2020-06-15 15:20:43 +08:00
Marius Vikhammer
1531f2db2a ci: fix check_public_headers.py failure with python3 due to non ascii chars
check_public_headers.py would fail when reading non-ascii chars on systems where
the default encoding was ascii.

Also fixes error handling issues, as any uncaught exeception would cause the program
to run indefinitely.
2020-06-15 15:20:43 +08:00
Marius Vikhammer
1358734b3f Fixes issues with gen_crt_bundle.py for unicode chars
gen_crt_bundle.py could fail to parse the certificates if it contained a non-ascii character.
2020-06-15 15:20:43 +08:00
wangcheng
7f299d9d60 components/bt: Consider link_xmit_data_q in congest events to prevent excessive memory usage 2020-06-13 15:10:30 +08:00
wangcheng
d53a2719b9 components/bt: Fixed the problem of incomplete data packets caused by disordered acl data packets 2020-06-13 15:09:45 +08:00
wangcheng
f9b0cd1847 components/bt: Add api to query the number of available buffers for the current connection 2020-06-13 15:09:36 +08:00
Angus Gratton
9b62609499 msys2: Remove python version consideration in pacman commands 2020-06-12 10:20:03 +10:00
Angus Gratton
036848a375 windows: Update MSYS2 pre-compiled legacy build environment
* Bundled with esp2020r2 toolchain
* Built with Python 3 & latest MSYS2 packages
2020-06-12 10:20:03 +10:00
Jiang Jiang Jian
1504fe5358 Merge branch 'bugfix/esp32_can_not_scan_ap_after_restart_v4.2' into 'release/v4.2'
esp_wifi: upadte esp32 phy lib to 4182 (v4.2)

See merge request espressif/esp-idf!9113
2020-06-11 11:54:24 +08:00
Angus Gratton
5054cd05fc Merge branch 'bugfix/intr_alloc_no_log_from_critical_section_v4.2' into 'release/v4.2'
intr_alloc: don't call ESP_LOG from critical section (v4.2)

See merge request espressif/esp-idf!9088
2020-06-10 15:58:23 +08:00
zhangyanjiao
c9769e535e esp_wifi: upadte esp32 phy lib to 4182 2020-06-09 17:33:55 +08:00
Jiang Jiang Jian
21a9c9b653 Merge branch 'bugfix/authmode_degrade_fix_v4.2' into 'release/v4.2'
esp_wifi: Remove auth_changed event and fix wpa2_ent authmode threshold(backport v4.2)

See merge request espressif/esp-idf!9090
2020-06-09 17:30:50 +08:00
kapil.gupta
f74729c3bc esp_wifi: Remove auth_changed event and fix wpa2 authmode threshold
Added following as part of this change
1. Removed auth_changed event
2. Updated doc regarding usage of  WPA/WEP secuiry modes
3. Fixed WPA2 enterprise authmode threshold.
2020-06-08 12:53:22 +05:30
David Čermák
cc99cac782 Merge branch 'feature/pin_ethernet_task_to_core_v4.2' into 'release/v4.2'
ethernet: support pin emac task to core (v4.2)

See merge request espressif/esp-idf!9036
2020-06-08 13:52:01 +08:00
morris
9773f79e6e intr_alloc: using isr version of critical section 2020-06-08 12:52:25 +08:00
Jiang Jiang Jian
b2fb2429dd Merge branch 'bugfix/esp32s2_airkiss_fail_v4.2' into 'release/v4.2'
wifi: fix the bug that ESP32S2 can't receive AMPDU when airkiss (v4.2)

See merge request espressif/esp-idf!9029
2020-06-05 15:34:42 +08:00
zhangyanjiao
8643d7acb9 wifi:
1. Fix the bug that ESP32S2 can't receive AMPDU when airkiss
2. Fix WPA3 Auth issue in coex scenario
2020-06-05 06:00:37 +00:00
Angus Gratton
e7ab7ce3af bootloader: Force bootloader_image_hdr to be word aligned
Possible due to linker order for this file to be placed unaligned,
causing failure from bootloader_flash_read() function.
2020-06-04 20:56:26 +10:00
Island
a8f40b7095 Merge branch 'bugfix/ble_mesh_remove_relay_dependency_v4.2' into 'release/v4.2'
ble_mesh: Remove relay option dependency (v4.2)

See merge request espressif/esp-idf!9025
2020-06-03 15:20:35 +08:00
Island
9bdaa64d80 Merge branch 'bugfix/ble_mesh_example_nvs_store_v4.2' into 'release/v4.2'
Bugfix/ble mesh example nvs store (v4.2)

See merge request espressif/esp-idf!9015
2020-06-03 15:11:54 +08:00
Island
55cd09578f Merge branch 'bugfix/ble_mesh_model_recv_fix_v4.2' into 'release/v4.2'
Bugfix/ble mesh model recv fix (v4.2)

See merge request espressif/esp-idf!9006
2020-06-03 15:11:15 +08:00
Island
118b69ce0d Merge branch 'bugfix/ble_mesh_rework_prov_pdu_len_check_v4.2' into 'release/v4.2'
ble_mesh: Rework prov pdu length check (v4.2)

See merge request espressif/esp-idf!9002
2020-06-03 15:10:33 +08:00
morris
b16c20fa30 ethernet: support pin emac task to core 2020-06-03 11:06:41 +08:00
lly
eeb44e7dd6 ble_mesh: Remove relay option dependency
When the relay functionality of a node is not enabled, this
issue will cause the node failing to send messages to fixed
group.
2020-06-02 19:18:18 +08:00
lly
5b256c1cb5 ble_mesh: Add nvs operations for examples
- Store onoff_client example proper mesh info
- Store vendor_client example proper mesh info

Closes https://github.com/espressif/esp-idf/issues/5359
2020-06-02 14:02:54 +08:00
lly
c906bcaf40 ble_mesh: Add mesh example common nvs operations 2020-06-02 14:02:54 +08:00
lly
adf785a1b0 ble_mesh: Config and health client btc fixes
Fix an issue which may cause no error code is returned
when sending config client or health client messages
with invalid parameters.
2020-06-02 14:02:54 +08:00
lly
b25cffd4d5 ble_mesh: Add more checks of net_idx & app_idx 2020-06-02 14:02:54 +08:00
lly
4919d17ad1 ble_mesh: Optimize some send & recv logs 2020-06-02 14:02:53 +08:00
Angus Gratton
c69210c0f2 wpa_supplicant: Allow building with mbedTLS integration but no hardware MPI
Also disable the relevant function in bignum.h based on config, so fails at
compile not link time.

Closes https://github.com/espressif/esp-idf/issues/5321
2020-06-02 13:35:48 +10:00
Island
6fa8df519d Merge branch 'bugfix/ble_mesh_local_model_sub_v4.2' into 'release/v4.2'
Bugfix/ble mesh local model sub (v4.2)

See merge request espressif/esp-idf!8982
2020-06-02 10:58:05 +08:00
lly
1a3c315d2f ble_mesh: correct the return type [Zephyr] 2020-06-02 10:31:08 +08:00
lly
8271ae4a1e ble_mesh: Add net_buf_simple_init_with_data [Zephyr] 2020-06-02 10:31:08 +08:00
lly
d6a247f7e4 ble_mesh: Optimize model recv operations [Zephyr]
Previously the model recv operation is a littl fuzzy.
With the changes, the model recv operation is splitted into:
- find op
- check app_idx
- check dst
- check length
- update info & handle message
2020-06-02 10:31:07 +08:00
lly
4fbc29616c ble_mesh: Rework prov pdu length check 2020-06-02 10:13:21 +08:00
Ivan Grokhotkov
6b36ce95a2 Merge branch 'bugfix/coredump_memregion_size_v4.2' into 'release/v4.2'
coredump: Fixes size of memory region used by espcoredump.py (backport v4.2)

See merge request espressif/esp-idf!8977
2020-06-02 01:11:12 +08:00
lly
067d94e88f ble_mesh: Local model (un)subscribes group address 2020-06-01 09:10:17 +08:00
lly
6bc4f5802d ble_mesh: Define a macro for invalid company id 2020-06-01 09:10:17 +08:00
Alexey Gerenkov
29b03b2999 coredump: Fixes size of memory region used by espcoredump.py 2020-05-29 21:09:21 +03:00
Angus Gratton
baedfab382 Merge branch 'feature/dis_uart_dl_mode' into 'master'
feature: Disable UART download mode

Closes IDF-1386

See merge request espressif/esp-idf!8590
2020-05-29 14:09:54 +08:00
Angus Gratton
d15e9c0710 Merge branch 'bugfix/no_pyc_files' into 'master'
tools: Don't generate pyc files

See merge request espressif/esp-idf!8815
2020-05-29 14:07:24 +08:00
Angus Gratton
59f29cbca8 Merge branch 'feature/allow_rtc_memory_for_task_stacks' into 'master'
Add RTC Fast Memory to Dynamic Memory Pool

See merge request espressif/esp-idf!8390
2020-05-29 14:07:01 +08:00
Angus Gratton
7cbdc3ea66 Merge branch 'bugfix/ci_push_to_github_on_label' into 'master'
ci: Don't push to Github or deploy docs on customized pipelines

See merge request espressif/esp-idf!8870
2020-05-29 12:43:00 +08:00
Mahavir Jain
e8035c3eff Merge branch 'feature/app_update_add_api' into 'master'
Add API to write data in a non-contiguous manner

See merge request espressif/esp-idf!8650
2020-05-29 12:25:54 +08:00
Jiang Jiang Jian
ba48120931 Merge branch 'bugfix/add_so_linger_to_menuconfig' into 'master'
lw-ip:add LINGER to menuconfig

Closes WIFI-2342

See merge request espressif/esp-idf!8746
2020-05-29 11:11:03 +08:00
Ivan Grokhotkov
4e70efac64 Merge branch 'bugfix/missing_doc_preview_comment' into 'master'
add some prefix for doc urls to make BOT recognize the preview doc url

See merge request espressif/esp-idf!8554
2020-05-29 04:50:25 +08:00
Ivan Grokhotkov
ac686ccd00 Merge branch 'feature/make_support_in_find_build_apps' into 'master'
ci: make supported in find_apps/build_apps

Closes IDF-1587

See merge request espressif/esp-idf!8429
2020-05-29 04:48:30 +08:00
Angus Gratton
f4edc52fa0 efuse: Have support for secure DL mode depend on a soc_caps flag 2020-05-28 18:02:02 +10:00
Angus Gratton
d45eabe676 esptool: Add support for ESP32-S2 Secure Download Mode
* Pass --no-stub from build system if configured to enable ESP32-S2 Secure Download Mode
* Update esptool submodule
2020-05-28 17:52:15 +10:00
Angus Gratton
f64ae4fa99 efuse: Add 'disable Download Mode' & ESP32-S2 'Secure Download Mode' functionality 2020-05-28 17:50:45 +10:00
Angus Gratton
48d9c14c28 efuse: Add new esp_efuse_read_field_bit() convenience function 2020-05-28 17:45:09 +10:00
Angus Gratton
1dd5a4dba4 efuse: Add new esp_efuse_write_field_bit() convenience function 2020-05-28 17:45:09 +10:00
Angus Gratton
9b822a3d2e esp32s2: Disable legacy boot mode & ROM remap modes if either Secure Boot or Flash Encryption is on 2020-05-28 17:45:09 +10:00
David Čermák
e1ec6c86e6 Merge branch 'bugfix/icmp_echo_ci_ttl_fail' into 'master'
ICMP echo: example test were failing due to regex not matching TTL

See merge request espressif/esp-idf!8931
2020-05-28 13:31:30 +08:00
Shubham Kulkarni
6a1b3221c4 app_update: Add API to write data in a non contiguous manner 2020-05-28 10:18:55 +05:30
Jiang Jiang Jian
8f2d1e7f92 Merge branch 'bugfix/collection_of_confirmed_fixes_from_baidu_project' into 'master'
Bugfix/collection of confirmed fixes from baidu project

Closes BT-826, BT-542, BCI-31, BCI-34, BT-840, and AUD-1857

See merge request espressif/esp-idf!8675
2020-05-28 12:23:58 +08:00
Island
705fc0f0e5 Merge branch 'bugfix/ble_mesh_check_timer_init' into 'master'
ble_mesh: Check the result of creating timer

Closes BLEMESH-218

See merge request espressif/esp-idf!8932
2020-05-28 10:11:47 +08:00
Krzysztof Budzynski
95ed99671b Merge branch 'feature/coredump_data_in_elf_format_doc_update' into 'master'
espcoredump: apply documentation changes in core_dump.rst file

See merge request espressif/esp-idf!5697
2020-05-28 02:25:47 +08:00
Alex Lisitsyn
e649a4f017 espcoredump: apply temporary documentation changes in core_dump.rst file
added picture to describe bin and elf format of core dump
added link to core_dump_internals.rst file from main one
added the diagram to describe logic structure of core dump modules and dependencies
2020-05-28 02:25:46 +08:00
Michael (XIAO Xufeng)
f81da10951 Merge branch 'bugfix/sdmmc_check_slot_before_pullup' into 'master'
sdmmc: Correctly check function parameters before using them

Closes IDFGH-2967

See merge request espressif/esp-idf!8827
2020-05-27 23:08:01 +08:00
Jiang Jiang Jian
1056d2a1b7 Merge branch 'bugfix/esp32s2_flash_mmap_cache2phys_phys2cache' into 'master'
flash mmap: fix bug for cache2phys and phys2cache on esp32s2

See merge request espressif/esp-idf!8526
2020-05-27 20:20:46 +08:00
Jiang Jiang Jian
ed1c0bf445 Merge branch 'bugfix/rm_tx_buffer_limits' into 'master'
esp_wifi: remove wifi tx buffer limits

See merge request espressif/esp-idf!8933
2020-05-27 20:12:17 +08:00
lly
6768c2b7a1 ble_mesh: Check the result of creating timer 2020-05-27 09:30:34 +00:00
Island
3b85d4ef24 Merge branch 'bugfix/ble_mesh_sync_zephyr_fixes' into 'master'
Bugfix/ble mesh sync zephyr fixes

Closes BLEMESH-215

See merge request espressif/esp-idf!8912
2020-05-27 17:26:00 +08:00
Island
d82f3372a0 Merge branch 'bugfix/ble_mesh_not_use_same_private_key' into 'master'
ble_mesh: Not using pre-initialized private key

Closes BLEMESH-214

See merge request espressif/esp-idf!8905
2020-05-27 17:25:39 +08:00
Island
02376b97d4 Merge branch 'bugfix/ble_mesh_uses_deprecated_config' into 'master'
ble_mesh: Fix using old config for duplicate scan

Closes BLEMESH-213

See merge request espressif/esp-idf!8898
2020-05-27 17:23:55 +08:00
Island
7b12d96169 Merge branch 'bugfix/ble_mesh_comp_data_store_restore' into 'master'
ble_mesh: Same func for storing/restoring comp data

See merge request espressif/esp-idf!8882
2020-05-27 17:23:21 +08:00
ChenJianxing
9e45c3c7d8 esp_wifi: remove wifi tx buffer limits 2020-05-27 15:06:53 +08:00
Jiang Jiang Jian
b1cb127e61 Merge branch 'bugfix/esp32s2_iperf_config_update' into 'master'
update esp32s2 iperf config

See merge request espressif/esp-idf!8461
2020-05-27 13:56:19 +08:00
Marius Vikhammer
26d59f0f4c ICMP echo: example test were failing due to regex not matching TTL 2020-05-27 11:16:18 +08:00
Jiang Jiang Jian
ff9322e007 Merge branch 'mesh/add_ps_ie_option' into 'master'
mesh: add mesh PS option following add announce

Closes WIFI-2348 and WIFI-2330

See merge request espressif/esp-idf!8826
2020-05-27 11:15:50 +08:00
jiangguangming
92eae20bca add new config items for spiflash ci unit-test 2020-05-26 15:23:38 +08:00
jiangguangming
b25ccde45f flash mmap: fix bug for cache2phys and phys2cache on esp32s2 2020-05-26 15:14:23 +08:00
Krzysztof Budzynski
b734893124 Merge branch 'docs/Translate_MR8668' into 'master'
Add translation for kaluga user guide

See merge request espressif/esp-idf!8807
2020-05-26 14:54:45 +08:00
Natasha
5122e26090 Add translation for kaluga user guide 2020-05-26 14:54:45 +08:00
Mahavir Jain
7e0e2f3e40 Merge branch 'bugfix/mbedtls_disable_sha_mpi' into 'master'
mbedtls: Don't compile hardware MPI & SHA files if disabled in config

See merge request espressif/esp-idf!8823
2020-05-26 12:33:20 +08:00
lly
0cfb6c138b ble_mesh: Transport tx fields overflow [Zephyr]
The transport segmented TX nack and seg_pending fields must be at least
6 bits to avoid overflow for 32 segment messages. This change rearranges
the seg_tx fields to gather all state flag fields in one byte, while
making the counter fields whole bytes.
2020-05-26 11:42:31 +08:00
Angus Gratton
94f5129bf8 mbedtls: Don't compile hardware MPI & SHA files if disabled in config
Fixes bug where hardware accelerated mbedtls_mpi API was always used, even when
disabled in config.
2020-05-26 03:37:46 +00:00
lly
f863a1b328 ble_mesh: Friend with unknown appkey [Zephyr]
Ensures that friend messages are enqueued, even if the packet is
received with an appkey is unknown to the friend. Previously, sdu_recv
would return EINVAL if the appkey was unknown, which would prevent the
lower transport layer from adding the packet to the friend queue. This
is irrelevant for the logic in lower transport, and should not be
returned as an error.
2020-05-26 11:16:01 +08:00
lly
05c287e05c ble_mesh: Not using pre-initialized private key 2020-05-26 10:46:22 +08:00
David Čermák
ea78d06939 Merge branch 'bugfix/example_common_connect_no_ip6' into 'master'
examples: common connect: fix build error if ipv6 disabled

See merge request espressif/esp-idf!8877
2020-05-25 17:23:52 +08:00
lly
3c1487be0e ble_mesh: Fix using old config for duplicate scan 2020-05-25 16:48:15 +08:00
Michael (XIAO Xufeng)
0d90861984 Merge branch 'bugfix/fix_rmt_driver_breaking_change_issue' into 'master'
Bugfix(RMT):   Fix the breaking change issue of RMT driver.

Closes IDFGH-2837, IDFGH-2579, and IDFGH-2915

See merge request espressif/esp-idf!8006
2020-05-25 15:27:24 +08:00
Angus Gratton
042a433678 Merge branch 'test/print_leak_delta' into 'master'
unit test: Always print the free memory delta after the test

See merge request espressif/esp-idf!8876
2020-05-25 15:25:52 +08:00
Angus Gratton
084e170a8f Merge branch 'refactor/esp_ipc' into 'master'
Split esp_ipc to a seaparate component

Closes IDF-1295

See merge request espressif/esp-idf!8520
2020-05-25 15:03:04 +08:00
Michael (XIAO Xufeng)
b3587ff88c Merge branch 'bugfix/fix_i2s_comm_format_unclear_description_bug' into 'master'
Bugfix(I2S):  Fix i2s_comm_format_t configuration parameter does not match the TRM bug

Closes IDFGH-3040, IDFGH-2913, IDFGH-578, IDFGH-2408, and IDFGH-3117

See merge request espressif/esp-idf!8339
2020-05-25 15:00:10 +08:00
lly
bbbdbb8699 ble_mesh: Same func for storing/restoring comp data 2020-05-25 13:27:08 +08:00
Anton Maklakov
b82d91fc39 Merge branch 'feature/toolchain_2020r2' into 'master'
Update toolchain 2020r2

See merge request espressif/esp-idf!8751
2020-05-25 12:41:27 +08:00
Jiang Jiang Jian
5bb656bd5e Merge branch 'bugfix/bt_universal_calculation' into 'master'
bugfix/correct_bt_mac_calculation

Closes IDFGH-3343

See merge request espressif/esp-idf!8825
2020-05-25 11:57:37 +08:00
Wei Tian Hua
6572959fd3 Add user invisible kconfig for bt mac offset
Closes https://github.com/espressif/esp-idf/issues/5320
2020-05-25 11:57:37 +08:00
Anton Maklakov
aa25b169f7 Update toolchain to esp-2020r2
Fixes PSRAM issues, volatile loads with -O2, std::locale, C++ exception crashs, FDE sorting switchable;

Includes a 64-bit toolchain for Windows (win64);

Closes https://github.com/espressif/esp-idf/issues/5090
Closes https://github.com/espressif/esp-idf/issues/5112
Closes https://github.com/espressif/esp-idf/issues/5150
2020-05-25 10:27:05 +07:00
xueyunfei
df43a1affc add LINGER to menuconfig 2020-05-25 11:23:03 +08:00
Krzysztof Budzynski
9050f8a741 Merge branch 'feature/update_cloud_frameworks_doc' into 'master'
Update documentation for Cloud Frameworks

See merge request espressif/esp-idf!7572
2020-05-25 04:03:27 +08:00
Krzysztof Budzynski
56635f22b8 Merge branch 'doc/add_types_api_ref' into 'master'
doc: add peripheral_types.h as API reference for peripheral docs

Closes DOC-136 and IDF-1673

See merge request espressif/esp-idf!8528
2020-05-25 03:22:22 +08:00
Krzysztof Budzynski
fa0dd5cc7b Merge branch 'doc/view_github_link' into 'master'
docs: add 'edit-on-github' link to html theme

Closes IDF-1504

See merge request espressif/esp-idf!8629
2020-05-25 03:21:23 +08:00
Liu Han
e53c9300d6 docs: Update documentation for Cloud Frameworks 2020-05-24 19:06:59 +00:00
Krzysztof Budzynski
f1fac7dbfb Merge branch 'feature/docs_quick_links' into 'master'
docs: Provide link to ESP32-S2 specific documentation

See merge request espressif/esp-idf!8782
2020-05-25 02:59:36 +08:00
Krzysztof Budzynski
71d1b32dde docs: Provide link to ESP32-S2 specific documentation 2020-05-25 02:59:36 +08:00
Krzysztof Budzynski
6048791a1b Merge branch 'feature/doc_build_subset' into 'master'
docs: support building a subset of the documentation with build_docs

Closes IDF-1688

See merge request espressif/esp-idf!8857
2020-05-25 02:58:28 +08:00
Ivan Grokhotkov
1f734b7057 Merge branch 'feature/native_smp_suport' into 'master'
APP CPU syscall table for gcov handler

See merge request espressif/esp-idf!8350
2020-05-23 20:31:22 +08:00
Island
248db690e1 Merge branch 'bugfix/ble_mesh_provisioner_fail_to_pub' into 'master'
ble_mesh: Fix Provisioner failed to publish

Closes BLEMESH-211

See merge request espressif/esp-idf!8872
2020-05-22 19:14:00 +08:00
Fu Hanxi
da9ca49093 fix after rebase 2020-05-22 19:08:02 +08:00
Fu Hanxi
c35b010a3f improve regex 2020-05-22 19:08:02 +08:00
Fu Hanxi
961a8cf85e remove artifact config in ci. 2020-05-22 19:08:02 +08:00
Fu Hanxi
701b496621 some filename includes "error". so update the regex 2020-05-22 19:08:02 +08:00
Fu Hanxi
dc89e6df6e make supported in find_apps/build_apps 2020-05-22 19:08:02 +08:00
David Cermak
5c6bca69a5 examples: common connect: fix build error if ipv6 disabled
Declaration of local variable esp_ip6_addr_t ip6[]; was active even if IPV6 disabled in sdkconfig. Introduced in 06711c7c36
2020-05-22 08:45:59 +00:00
Darian Leung
baf06d4971 Increase C++ unit test leak threshold
Heap fragmentation causes 4-8 bytes of memory to be leaked
(due to rounding up of memory sizes). Increase the leak
thresholds to prevent test cases from failing.
2020-05-22 16:39:44 +08:00
Angus Gratton
eb4ac07c96 unit test: Always print the free memory delta after the test
Prevents situations where the leak threshold is low and the
value slowly creeps up to be close to it, without developer
noticing.
2020-05-22 18:39:43 +10:00
lly
af37aee5bf ble_mesh: Fix Provisioner failed to publish 2020-05-22 15:32:12 +08:00
Anton Maklakov
a9c61dca4e Merge branch 'bugfix/static_analysis_mem_issues' into 'master'
fix minor static analysis memory issues

See merge request espressif/esp-idf!8697
2020-05-22 15:08:20 +08:00
Marius Vikhammer
a316082f53 docs: support building a subset of the documentation with build_docs
Closes IDF-1688
2020-05-22 15:01:40 +08:00
Angus Gratton
469b7bc4cf ci: Don't push to Github or deploy docs on customized pipelines
BOT_TRIGGER_WITH_LABEL must be empty (meaning all tests are running).
2020-05-22 15:04:39 +10:00
Island
3cea462c52 Merge branch 'doc/ble_mesh_fix' into 'master'
ble_mesh: Doc miscellaneous fixes

See merge request espressif/esp-idf!8847
2020-05-22 10:49:16 +08:00
Ivan Grokhotkov
a2d7e8cbba Merge branch 'bugfix/crt_bundle_no_config_file' into 'master'
esp_crt_bundle: fixes the "No CA Chain is set" error

See merge request espressif/esp-idf!8851
2020-05-22 09:34:32 +08:00
Mahavir Jain
7d75213674 Merge branch 'bugfix/fix_flake8_warning' into 'master'
bugfix: fix flake8 warning for esp-cryptoauthlib submodule

See merge request espressif/esp-idf!8865
2020-05-22 00:31:19 +08:00
Aditya Patwardhan
3a9228fa02 bugfix: fix flake8 warning for esp-cryptoauthlib submodule 2020-05-21 21:02:33 +05:30
Krzysztof Budzynski
1f18946ca0 Merge branch 'feature/new_camera_module_supported_on_esp32-s2-kaluga-1_board' into 'master'
docs: OV3660 camera module is now supported with ESP32-S2-Kaluga-1 Kit. Add...

See merge request espressif/esp-idf!8839
2020-05-21 22:05:46 +08:00
Krzysztof Budzynski
1b49a52edd docs: OV3660 camera module is now supported with ESP32-S2-Kaluga-1 Kit. Add link back to ESP-ADF documentation in ESP-LyraT-8311A user guide. 2020-05-21 22:05:45 +08:00
Mahavir Jain
6272cb842f Merge branch 'feature/esp_wroom32_se_example' into 'master'
Feature/esp wroom32 se example

See merge request espressif/esp-idf!8552
2020-05-21 19:51:19 +08:00
Aditya Patwardhan
423e600d46 secure_element: atecc608_ecdsa example
* Replaced crypotoauthlib with esp-cryptoauthlib
* Added menuconfig option for esp-tls about using HSM
* Added error codes for HSM in esp-tls,
* Added support to select different type of ATECC608A chips
* Added README, updated docs
* tcp_transport: Added option to enable secure_element for ssl

Closes https://github.com/espressif/esp-idf/issues/4432
2020-05-21 13:08:30 +05:30
Marius Vikhammer
f72d259622 esp_crt_bundle: fixes the "No CA Chain is set" error
When compiling esp_crt_bundle.c, it would end up with a different struct layout due
to configuration options from "mbedtls/esp_config.h" not being considered.

This lead to ca_chain potentially not being set correctly.
2020-05-21 15:19:49 +08:00
lly
514ec37fe4 ble_mesh: Doc miscellaneous fixes
- Fix link error in getting started
- Update ble mesh architecture
2020-05-21 07:14:45 +00:00
Island
fbf2088fc8 Merge branch 'example/ble_mesh_structural_adjust' into 'master'
Example/ble mesh structural adjustment

Closes BLEMESH-200

See merge request espressif/esp-idf!8719
2020-05-21 15:11:23 +08:00
Island
9f801fd2f5 Merge branch 'bugfix/ble_mesh_friend_init_flag' into 'master'
ble_mesh: Add init flag for friend init/deinit

Closes BLEMESH-205

See merge request espressif/esp-idf!8783
2020-05-21 11:46:17 +08:00
chenyudong
8fb982c512 mesh: add mesh PS option following add announce 2020-05-21 03:40:47 +00:00
Anton Maklakov
dadc96c280 Merge branch 'bugfix/add_missing_noqa' into 'master'
ci: add missing noqa:F401

See merge request espressif/esp-idf!8844
2020-05-21 11:27:57 +08:00
morris
d4c88e9e45 ci: add missing noqa:F401 2020-05-21 10:42:59 +08:00
Angus Gratton
0ad6e1b977 Merge branch 'feature/80m_flashspeed_esp32s2' into 'master'
esptool: Set 80MHz SPI flash speed for ESP32-S2 & future chips

See merge request espressif/esp-idf!8739
2020-05-21 10:22:59 +08:00
Anton Maklakov
e1262aa68e Merge branch 'bugfix/gh_action_pass_IDF_PATH_to_pylint' into 'master'
gh_action: fix python lint

Closes IDF-1538 and IDFGH-3341

See merge request espressif/esp-idf!8812
2020-05-21 10:15:35 +08:00
Mahavir Jain
7a2ea9b7f7 esp-tls: add support for using hardware security module 2020-05-20 22:52:37 +05:30
Bryan Hunt
4553f6c95d Add cryptoauthlib as a component with mbedtls integration
* Add options to mbedtls for hardware acceleration
* Disable mbedtls EC curves if hardware acceleration is selected
since the hardware will have to define the curves supported
* Add a hardware ecdsa example
2020-05-20 22:52:37 +05:30
Krzysztof Budzynski
7099c2b444 Merge branch 'doc/generate_idf_project_tags' into 'master'
doc: add generation of tags from sdkconfig and x_caps.h headers

Closes IDF-1484

See merge request espressif/esp-idf!8577
2020-05-20 23:46:47 +08:00
Jiang Jiang Jian
5f08bed88b Merge branch 'feature/optimize_wifi_API_max_tx_power_description' into 'master'
feature: optimize wifi API max tx power description

Closes WIFI-1097

See merge request espressif/esp-idf!8173
2020-05-20 22:43:54 +08:00
lly
b1f3843ed6 ble_mesh: Clear two more vars during proxy server deinit 2020-05-20 11:35:26 +00:00
lly
d5b126667a ble_mesh: Add missing sdkconfig.h 2020-05-20 11:35:26 +00:00
lly
4e60919a66 ble_mesh: Init device name during proxy server init
Device name will be reset when deinit mesh stack. If not
initializing device name during the next mesh stack init,
it will fail to set the device name when using bluedroid.
2020-05-20 11:35:26 +00:00
lly
a0ce8c64b0 ble_mesh: Add init flag for friend init/deinit
Since bt_mesh_friend_init() will only be invoked when
a device is provisioned or Provisioner is enabled, so
we add a flag to indicate if the friend functionality
is initialized in case deinit before initialization.
2020-05-20 11:35:26 +00:00
lly
2b767ef104 ble_mesh: Fix tutorial links in examples README.md 2020-05-20 11:33:46 +00:00
lly
3209336f6b ble_mesh: Rename esp_fast_prov_* to ble_mesh_fast_prov_* 2020-05-20 11:33:46 +00:00
lly
88eb4a0820 ble_mesh: Rename the folders ble_mesh_fast_prov_* to fast_prov_* 2020-05-20 11:33:46 +00:00
lly
861816c353 ble_mesh: Rename ble mesh example main & init files
- Rename ble_mesh_demo_main.c to main.c
- Rename ble_mesh_demo_init.* to ble_mesh_example_init.*
2020-05-20 11:33:46 +00:00
lly
68fd967934 ble_mesh: Move the example init to the common_components 2020-05-20 11:33:46 +00:00
lly
a2a952aa55 ble_mesh: Move the button component to common_components 2020-05-20 11:33:46 +00:00
lly
5598620f6c ble_mesh: Change the EXTRA_COMPONENT_DIRS used by examples 2020-05-20 11:33:46 +00:00
lly
db67e2d35c ble_mesh: Rename common_vendor_models to common_components
Since the scripts of CI will bypass common_components when
trying to get ALL_EXAMPLES, and these BLE Mesh components
will only be used by other mesh examples, i.e. no need to
be compiled as a single example, so we rename the folder
to common_componnets.
2020-05-20 11:33:46 +00:00
Roland Dobai
270d8b468a tools: Don't generate pyc files 2020-05-20 12:07:51 +02:00
Angus Gratton
5bd75b134d esptool: Set 80MHz SPI flash speed for ESP32-S2 & future chips
Most ESP32 devices will also work at 80MHz, but third party boards/modules
may not have been tested at this speed so the default is kept at 40MHz for safety.
2020-05-20 06:19:34 +00:00
Mahavir Jain
e497bf37c4 Merge branch 'bugfix/httpd_lru_purge' into 'master'
esp_http_server: Fixed a bug which could cause issues with LRU purge

Closes IDFGH-2680

See merge request espressif/esp-idf!8818
2020-05-20 14:08:02 +08:00
Angus Gratton
ee8796b169 Merge branch 'bugfix/doc_version_links' into 'master'
doc: Fix broken Release page links when building a stable version

See merge request espressif/esp-idf!8819
2020-05-20 13:16:46 +08:00
Alexander Borsuk
fb0fa34ac8 sdmmc: Correctly check function parameters before using them
Closes https://github.com/espressif/esp-idf/pull/5000
2020-05-20 13:09:05 +08:00
David Čermák
7d7f3f8d8f Merge branch 'bugfix/esp_netif_minor_fixes' into 'master'
esp-netif: Minor fixes

Closes IDFGH-3311

See merge request espressif/esp-idf!8799
2020-05-20 12:47:01 +08:00
ronghulin
cdaeef70c3 feature: optimize wifi API max tx power description 2020-05-20 11:52:42 +08:00
Jiang Jiang Jian
af97a5abc3 Merge branch 'workaround/wps_iot_fixes' into 'master'
wpa_supplicant: WPS Inter operatability Fixes

See merge request espressif/esp-idf!8654
2020-05-20 11:32:34 +08:00
Jiang Jiang Jian
b0cbc4f7bb Merge branch 'bugfix/optimize_4way_handshake' into 'master'
ESP-WIFI; Optimize 4way handshake failure time

See merge request espressif/esp-idf!8020
2020-05-20 11:29:56 +08:00
Jiang Jiang Jian
05f4668ad0 Merge branch 'nimble/update_nimble_submodule' into 'master'
NimBLE: Include upstream fixes and use macros for log level filtering

See merge request espressif/esp-idf!8448
2020-05-20 11:23:46 +08:00
Mahavir Jain
5f5bf9e5ee Merge branch 'bugfix/allow_buffering_on_stdout' into 'master'
protocol_examples_common: keep buffering enabled on stdout

See merge request espressif/esp-idf!8793
2020-05-20 10:51:29 +08:00
Mahavir Jain
ed05dd7713 Merge branch 'bugfix/coap_component_build_issue' into 'master'
coap: move mbedTLS config options from component to examples

See merge request espressif/esp-idf!8707
2020-05-20 10:51:06 +08:00
morris
fef40fdb72 ci: do fetch submodules for python lint 2020-05-20 10:50:10 +08:00
morris
d003f96a9d gh_action: fix python lint 2020-05-20 10:50:10 +08:00
Angus Gratton
fdfb029711 doc: Fix broken Release page links when building a stable version 2020-05-20 10:50:44 +10:00
Ivan Grokhotkov
60437e8ae4 Merge branch 'feature/protocols_example_tests' into 'master'
Add protocol example tests

Closes IDF-1157

See merge request espressif/esp-idf!8645
2020-05-20 02:05:26 +08:00
Piyush Shah
c2ab112590 esp_http_server: Fixed a bug which could cause issues with LRU purge
LRU counter should be started from 1, and not 0, so that all checks
work fine.

Closes https://github.com/espressif/esp-idf/issues/4753
2020-05-19 22:11:02 +05:30
Krzysztof Budzynski
45b59f134b Merge branch 'feature/another_python3_recomedation' into 'master'
Add another case and recomendation to use Python 3 instead of Python 2

Closes DOC-167

See merge request espressif/esp-idf!8733
2020-05-19 23:32:49 +08:00
Mahavir Jain
7dbf01afad coap: move mbedTLS config options from component to examples
CoAP component relies on some mbedTLS crypto configuration
options, e.g. DTLS and PSK. These configuration options if
selected, have footprint impact on generic TLS examples like
https_request or https_ota as well.

Footprint of https_request example with/without change is per below:

$ ./tools/idf_size.py new_https_request.map --diff old_https_request.map

<CURRENT> MAP file: new_https_request.map
<REFERENCE> MAP file: old_https_request.map
Difference is counted as <CURRENT> - <REFERENCE>, i.e. a positive number means that <CURRENT> is larger.
Total sizes of <CURRENT>:                                                 <REFERENCE>     Difference
 DRAM .data size:   14796 bytes                                                 14796
 DRAM .bss  size:   23560 bytes                                                 23680           -120
Used static DRAM:   38356 bytes ( 142380 available, 21.2% used)                 38476           -120 (   +120 available,      +0 total)
Used static IRAM:   89045 bytes (  42027 available, 67.9% used)                 89045                (     +0 available,      +0 total)
      Flash code:  554231 bytes                                                563823          -9592
    Flash rodata:  179000 bytes                                                181224          -2224
Total image size:~ 860632 bytes (.bin may be padded larger)                    872568         -11936

This commit moves relevant config options to CoAP specific examples
and also adds some run time warnings if they are kept disabled.

Closes https://github.com/espressif/esp-idf/issues/5262
2020-05-19 17:23:29 +05:30
kapil.gupta
fb53a454b9 ESP-WIFI: Optimize 4way handshake failure time
In case of wrong passpharse, AP will keep on sending 1/4 multiple
times which may take around 10 secs to disconnect and detect
wrong password event.

Add changes to reject EAPOL1 after 3 consecutive reception
2020-05-19 16:55:42 +05:30
Anton Maklakov
d6a6ac4d2d Merge branch 'bugfix/mdns_example_test_graceful_fail' into 'master'
mdns-example: fail gracefully if mdns response not received within timeout

See merge request espressif/esp-idf!8774
2020-05-19 19:21:53 +08:00
Roland Dobai
5f024e1cd4 Add protocol example tests 2020-05-19 12:17:32 +02:00
Jiang Jiang Jian
56c307b356 Merge branch 'mesh/set_type_new' into 'master'
mesh: support set new type (node and sta)

Closes WIFI-1824, WIFI-1725, WIFI-1823, and WIFI-1908

See merge request espressif/esp-idf!7934
2020-05-19 16:53:49 +08:00
Ivan Grokhotkov
948580d1a2 Merge branch 'gdb/bt_on_invalid_pc' into 'master'
gdb: Modify PC in case of invalid PC

See merge request espressif/esp-idf!8391
2020-05-19 16:44:07 +08:00
David Cermak
95b5ef3687 esp-netif: wifi-deinit to clear handlers only in tcpip-adapter mode 2020-05-19 08:34:36 +00:00
David Cermak
1183b95cc4 esp-netif: Fix compilation if ESP_GRATUITOUS_ARP not enabled
Closes https://github.com/espressif/esp-idf/issues/5294
2020-05-19 08:34:36 +00:00
kapil.gupta
76335b2558 wpa_supplicant: WPS Inter operatability Fixes
Add WPS IOT fixes under config option

Current fixes under this flag.
1. Allow NULL-padded WPS attributes.
2. Bypass WPS-Config method validation
2020-05-19 08:05:52 +00:00
Nachiket Kukade
c643d0a611 wpa_supplicant: Allow NULL-padded WPS attributes
Some AP's keep NULL-padding at the end of some variable length WPS
Attributes. This is not as par the WPS2.0 specs, but to avoid interop
issues, ignore the padding by reducing the attribute length by 1.
2020-05-19 08:05:52 +00:00
Angus Gratton
183dddd50e Merge branch 'bugfix/wdt_reset_info_unicore' into 'master'
bootloader: Don't print an error message after WDT reset in unicore mode

See merge request espressif/esp-idf!8570
2020-05-19 15:54:06 +08:00
Jiang Jiang Jian
ce507da514 Merge branch 'bugfix/mesh_manual_networking_example' into 'master'
example: fix mesh manual networking example

See merge request espressif/esp-idf!6869
2020-05-19 14:05:51 +08:00
Michael (XIAO Xufeng)
fd3e28ef0d Merge branch 'bugfix/esp_flash_write_performance_regression' into 'master'
esp_flash: fix the write performance regression

See merge request espressif/esp-idf!8658
2020-05-19 12:06:42 +08:00
houwenxiang
0bf2906bc9 driver(RMT): Fix the breaking change issue of RMT driver introduced by refactoring.
After RMT driver refactor, two breaking change are introduced:

    1. Users needs to call `rmt_driver_install` before `rmt_config`.

    2. Do not support memory block count > 1,

    fix this two issues

    closes https://github.com/espressif/esp-idf/issues/4664

    closes https://github.com/espressif/esp-idf/issues/4959
2020-05-19 11:39:38 +08:00
Angus Gratton
3e7ba2f389 bootloader: Don't print an error message after WDT reset in unicore mode
Caused some confusion here: https://github.com/espressif/esp-idf/issues/4388
2020-05-19 03:35:53 +00:00
Angus Gratton
4fa8f7d01b Merge branch 'bugfix/parttool_get_info_wo_info_option' into 'master'
partition_table: Fix parttool.py crashes when retrieving partition info

Closes IDFGH-3279

See merge request espressif/esp-idf!8715
2020-05-19 11:30:20 +08:00
Angus Gratton
88d76d805a Merge branch 'bugfix/idf_build_process_default' into 'master'
cmake: fix issue with setting defaults in idf_build_process

Closes IDFGH-3027

See merge request espressif/esp-idf!8537
2020-05-19 11:29:29 +08:00
chenyudong
040f4be2a7 mesh: support set new type
If the root is specified (FIXED-ROOT) by set type or set parent, change ie.mesh_type to MESH_ROOT before connect to router
Release emesh_recv_toDS when the root becomes non-root
esp_mesh_set_type now supports MESH_IDLE and MESH_STA
2020-05-19 11:17:56 +08:00
Krzysztof Budzynski
e84328382f Merge branch 'doc/esp32_eco3_psram_note' into 'master'
docs: mention ESP32 ECO3 in relation to PSRAM cache workarounds

See merge request espressif/esp-idf!8796
2020-05-19 05:54:20 +08:00
Krzysztof Budzynski
c18d092efd Merge branch 'doc/hw-reference/esp32-s2/kaluga-kit-redirect' into 'master'
Add redirect link from user-guide-kaluga-1-v1.2 to user-guide-esp32-s2-kaluga-1-kit

See merge request espressif/esp-idf!8786
2020-05-18 23:54:39 +08:00
Jiang Jiang Jian
37f4e3855f Merge branch 'bugfix/fix_sta_connect_compatibility' into 'master'
esp_wifi: Fix the timeout issue of EAPOL four-way handshake

Closes WIFI-2110 and WIFI-1809

See merge request espressif/esp-idf!8382
2020-05-18 22:26:52 +08:00
Mahavir Jain
c7be363af9 Merge branch 'bugfix/http_client_example' into 'master'
Add note regarding use of URL and configuration parameters in http client

Closes IDFGH-3161

See merge request espressif/esp-idf!8791
2020-05-18 20:59:03 +08:00
houwenxiang
b35d9002f3 driver(I2S): Fix i2s_comm_format_t configuration parameter does not match the TRM bug.
When I2S `i2s_comm_format_t` is set to `I2S_COMM_FORMAT_I2S_MSB`, the data should launch at first BCK. But not in fact, this MR fixed this issue.

For compatibility, several nwe parameters have been added, and the old parameters will be removed in the future.

    closes https://github.com/espressif/esp-idf/issues/5065

    closes https://github.com/espressif/esp-idf/issues/4957

    closes https://github.com/espressif/esp-idf/issues/2978

    closes https://github.com/espressif/esp-idf/issues/5136

    Merges https://github.com/espressif/esp-idf/pull/4522
2020-05-18 19:55:30 +08:00
Ivan Grokhotkov
e4e51fd97a docs: mention ESP32 ECO3 in relation to PSRAM cache workarounds 2020-05-18 13:45:17 +02:00
David Čermák
a3520970f6 Merge branch 'example/multi_interface' into 'master'
feat(example): Add tcp client example for multiple interface.

See merge request espressif/esp-idf!6918
2020-05-18 19:40:40 +08:00
Mahavir Jain
7925ba245d protocol_examples_common: keep buffering enabled on stdout
- Newlib uses significantly more stack space when printing to an unbuffered stream
- For examples tests, disabling buffering on stdout is not really required

This issue was found during one of the OTA example test failure, root cause
being stack overflow in `esp_event` task.
2020-05-18 16:59:20 +05:30
Shubham Kulkarni
7a561cb1fa esp_http_client_example.c: Add note regarding use of URL and configuration parameters.
Demonstrate use of query parameter.

Closes: https://github.com/espressif/esp-idf/issues/5174
2020-05-18 16:31:59 +05:30
Kirill Chalov
c65c1716cd Add redirect link from user-guide-kaluga-1-v1.2 to user-guide-esp32-s2-kaluga-1-kit
QR codes have already been issued for user-guide-kaluga-1-v1.2 and the links there are not working now. Add a redirect.
2020-05-18 17:28:03 +08:00
Darian Leung
11d96b39d0 esp_ipc: Move to new component
This commit moves esp_ipc into a separate component.
2020-05-18 16:51:45 +08:00
David Cermak
761c3a3942 examples: make sure WiFi interface is disabled when connecting with Ethernet 2020-05-18 09:29:55 +02:00
David Cermak
8a45f074fc esp-netif: Added API to get the underlying interface name
The interface name can be used in socket API, i.e. setsockopt(). The API esp_netif_get_netif_impl_name() shoudl be used to populate standard
interface structure struct ifreq.
2020-05-18 09:26:24 +02:00
David Cermak
06711c7c36 examples: common connect component to use both interfaces at once 2020-05-18 09:26:24 +02:00
Liu Han
547210f7a5 socket-example: Add tcp client example for multiple interfaces 2020-05-18 09:26:24 +02:00
Ivan Grokhotkov
514596cb81 Merge branch 'feature/idf_py_replace_run_with_call' into 'master'
tools: idf.py: replace the "run" method of Task with the magic "__call__" method

See merge request espressif/esp-idf!8763
2020-05-18 15:22:04 +08:00
Ivan Grokhotkov
3a6b8bb6e3 Merge branch 'bugfix/idf_py_double_loading_of_idf_ext' into 'master'
tools: idf.py: Don't load idf_ext.py in project folder twice

See merge request espressif/esp-idf!8764
2020-05-18 15:21:53 +08:00
Angus Gratton
0e4cd93ee9 Merge branch 'bugfix/kconfig_hex_values' into 'master'
kconfig: Fix two cases of hex values being handled incorrectly

Closes VSC-292

See merge request espressif/esp-idf!8372
2020-05-18 14:57:46 +08:00
xiehang
158602c942 esp_wifi: Fix the timeout issue of EAPOL four-way handshake 2020-05-18 14:53:31 +08:00
weitianhua
8fc05d0665 Fix ASSERT for RXDESC and save the log for debug 2020-05-18 06:51:51 +00:00
weitianhua
8d1032ccac Fix ASSERT in ld_acl at line 302 forclkoff1 and localval 2020-05-18 06:51:51 +00:00
weitianhua
77cc105c72 Fix ld_acl schedule bug to parity shift 2020-05-18 06:51:51 +00:00
weitianhua
55877684a0 Fix ASSERT(64,0) in rwble.c 2020-05-18 06:51:51 +00:00
weitianhua
0811851378 Fix ASSERT in ld_pscan.c at line 1032 2020-05-18 06:51:51 +00:00
weitianhua
b20f254483 Free lmp tx buf in EM in the procedure of handling LMP_detach_Req when not received the last acknowledge from peer device and seperate them by ACL State 2020-05-18 06:51:51 +00:00
weitianhua
190ff3ae37 Fix that when slave initiate unsniff procedure and meet transaction collision, no mode change event is repoerted 2020-05-18 06:51:51 +00:00
weitianhua
70fa5b4ac5 Fix int_wdt due to disable interrupt too long time 2020-05-18 06:51:51 +00:00
weitianhua
c18ed5cbee Fix Connection fail in loop 2020-05-18 06:51:51 +00:00
weitianhua
7aeb3d329a Set AFH in BTDM Task when WiFi changes channel 2020-05-18 06:51:51 +00:00
weitianhua
e0e1154b62 Fix ASSERT(25,0) in lc_task.c 2020-05-18 06:51:51 +00:00
weitianhua
899e49b90e Disable frequent warning log in ld_acl 2020-05-18 06:51:51 +00:00
weitianhua
b45f2d3913 Move default log level to WARNING instead ERROR in BT Controller 2020-05-18 06:51:51 +00:00
David Cermak
3758177bf8 mdns-example: fail gracefully if mdns response not received within timeout
If mdns answer hasn't been received within timeout, Value error would be raised, but the mdns-server-thread would still run, blocking CI jobs. Fixed by moving the raise statement within try-finally block
2020-05-18 08:13:14 +02:00
Mahavir Jain
be3b6b7cb8 Merge branch 'feature/mbedtls_dynamic_memory' into 'master'
feat(mbedtls): add dynamic buffer and local resource managment to decrease SSL heap cost

See merge request espressif/esp-idf!8313
2020-05-18 13:55:05 +08:00
Krzysztof Budzynski
58a9db8492 Merge branch 'feature/smartconfig_links' into 'master'
Provide a brief description of SmartConfig and add link to example

See merge request espressif/esp-idf!8636
2020-05-18 01:02:05 +08:00
Krzysztof Budzynski
e58c0ac3e7 Provide a brief description of SmartConfig and add link to example 2020-05-18 01:02:04 +08:00
Michael (XIAO Xufeng)
3f778a92da spi_flash: add unit test for read/write performance 2020-05-17 22:06:03 +08:00
Michael (XIAO Xufeng)
651eb1a694 esp_flash: fix the write performance regression
Also changed internal delay unit into microsecond.
2020-05-17 22:06:02 +08:00
Michael (XIAO Xufeng)
f67044c822 spi: simplify the caps header
The mapping logic from register address to instance number is moved into the LL
2020-05-17 22:06:01 +08:00
Michael (XIAO Xufeng)
dae3196157 esp_flash: fix issue that cannot add flash on SPI1 CS1 when SPI_FLASH_SHARE_SPI1_BUS is disabled 2020-05-17 22:06:00 +08:00
Jiang Jiang Jian
bb2379b7ab Merge branch 'bugfix/wpa3_mixed_mode_authype' into 'master'
esp_wifi: Add and utilize WPA3/WPA2 Mixed mode Authtype

See merge request espressif/esp-idf!8778
2020-05-17 17:04:18 +08:00
Jiang Jiang Jian
bef57a8ddc Merge branch 'bugfix/V3.1.7_ble_bug_mr' into 'master'
component/bt: fix notify malloc failed , fix no BLE_AUTH_CMPL_EVT and fix bluedroid btc deinit crash

See merge request espressif/esp-idf!8729
2020-05-16 19:52:34 +08:00
Brian Pugh
8ed7fe3e3d tools/idf.py: replace the "run" method of Task with the magic "__call__" method
Merges https://github.com/espressif/esp-idf/pull/5279
2020-05-15 19:44:07 +02:00
Brian Pugh
fa3d9573ce tools/idf.py: prevent reloading duplicate extension paths. Do not load cwd if IDF_EXTRA_ACTIONS_PATH is not set.
Merges https://github.com/espressif/esp-idf/pull/5278
2020-05-15 19:39:36 +02:00
Anton Maklakov
f9a5794cba Merge branch 'bugfix/socket_example_ipv6_randomfail' into 'master'
socket examples: fix random ci failure on reading ipv6 address

See merge request espressif/esp-idf!8686
2020-05-15 23:36:48 +08:00
Krzysztof Budzynski
817a41ce9e Merge branch 'bugfix/doc_dfu_update' into 'master'
Update DFU flashing documentation with fixes and known issues

Closes IDF-1686

See merge request espressif/esp-idf!8728
2020-05-15 23:10:11 +08:00
Island
52e9bcb696 Merge branch 'bugfix/ble_mesh_remove_patch' into 'master'
ble_mesh: Remove patch for the bug of an App

Closes BLEMESH-202

See merge request espressif/esp-idf!8737
2020-05-15 20:17:22 +08:00
Nachiket Kukade
d7edd28338 esp_wifi: Update WiFi lib
Add and utilize WPA3/WPA2 Mixed mode Authtype.
2020-05-15 17:24:51 +05:30
chenyudong
ca7f2099db example: fix mesh manual networking example
Solves https://www.esp32.com/viewtopic.php?f=21&t=8610
2020-05-15 18:39:16 +08:00
Mahavir Jain
5b5a8c276d Merge branch 'feature/mbedtls_add_config_options' into 'master'
Add config options in mbedtls

See merge request espressif/esp-idf!8760
2020-05-15 15:53:21 +08:00
zhiweijian
ec6c7558ef add congest direct callback and fix malloc failed when multi_connection notify performance test 2020-05-15 15:35:39 +08:00
Angus Gratton
62754ff90a Merge branch 'docs/fix_static_sem_api_desc' into 'master'
Fix usage example in xSemaphoreCreateBinaryStatic

Closes IDFGH-3280

See merge request espressif/esp-idf!8750
2020-05-15 15:04:36 +08:00
Shubham Kulkarni
ca3daa50de mbedtls: Add configuration options 2020-05-15 11:27:44 +05:30
David Cermak
5f4e2cf391 socket examples: fix random ci failure on reading ipv6 address
dut.expect() returns groups of a matching regex, but could be truncated upon reading/buffering. fixed by forcing expect to acquire exactly 8 octets of IPv6 address, i.e. not supporting short-handed entries such as fe80::0000..
2020-05-15 04:02:33 +00:00
Jiang Jiang Jian
26ab1c54ec Merge branch 'bugfix/esp32s2_wifi_skip_light_sleep' into 'master'
esp_wifi: When WiFi TSF is active, skip light sleep

Closes WIFI-2305 and WIFI-2306

See merge request espressif/esp-idf!8639
2020-05-15 11:41:45 +08:00
David Čermák
5e436be77f Merge branch 'bugfix/stop_mac_can_be_controlled_by_user' into 'master'
ethernet: esp_eth_stop API should stop emac hardware

Closes WIFI-2247 and WIFI-2337

See merge request espressif/esp-idf!8664
2020-05-15 04:40:55 +08:00
Renz Christian Bagaporo
13cd832b0c ci: pushd and cd in one go in idf_build_process defaults test 2020-05-14 14:59:26 +00:00
Renz Bagaporo
740819529b cmake: fix setting defaults in idf_build_process
Closes https://github.com/espressif/esp-idf/issues/5053
2020-05-14 14:59:26 +00:00
Renz Bagaporo
0f6308d69c ci: test idf_build_process defaults set properly 2020-05-14 14:59:26 +00:00
Mahavir Jain
0d208aabab mbedtls: esp32s2: check and reallocate output buffer if its from non-DMA range
Earlier check was for only input buffer but it is quite likely to have
output buffer also from non-DMA memory range and hence requirement to
reallocate and then copy data from AES engine.
2020-05-14 13:12:26 +00:00
Mahavir Jain
18c1838587 esp32s2: add config option to place RTC data in fast RAM 2020-05-14 13:12:26 +00:00
Mahavir Jain
1aac284dda heap: add rtc fast memory region to dynamic pool
- for ESP32 only enabled in case of unicore config
- capability wise this region (8K) is same as DRAM, except non-DMA capable
- also fixed small issue in reserved memory region processing when (start == end)
2020-05-14 13:12:26 +00:00
Krzysztof Budzynski
4091d44cda Merge branch 'bugfix/add_missing_link_to_ulp_header_file' into 'master'
Add missing link to ulp header files and link to example following https://esp32.com/viewtopic.php?f=2&t=15562

Closes DOC-162

See merge request espressif/esp-idf!8734
2020-05-14 20:51:24 +08:00
Dong Heng
3d57bf30a2 feat(mbedtls): add dynamic buffer and local resource managment to decrease SSL heap cost 2020-05-14 11:45:09 +00:00
Dmytro
ecbfe0f406 Fix usage example in xSemaphoreCreateBinaryStatic 2020-05-14 18:57:48 +08:00
Krzysztof
9b5acea160 Add missing link to ulp header files and link to example following https://esp32.com/viewtopic.php?f=2&t=15562 2020-05-14 17:31:05 +08:00
Michael (XIAO Xufeng)
437a8fa9d2 Merge branch 'test/sdio_ut_performance_time' into 'master'
sdio: fix random unit test performance failure

See merge request espressif/esp-idf!8665
2020-05-14 16:19:45 +08:00
Krzysztof Budzynski
ad9e514ff4 Merge branch 'doc/documenting_code_format_fix' into 'master'
docs: change descriptions of substitution defines to use literal blocks

See merge request espressif/esp-idf!8699
2020-05-14 15:03:41 +08:00
Jiang Jiang Jian
a0288c1e8d Merge branch 'bugfix/wpa3_pmf_memleak_fix' into 'master'
WPA3 / PMF memory leak fixes

Closes WIFI-2324 and WIFI-2326

See merge request espressif/esp-idf!8676
2020-05-14 14:21:21 +08:00
Angus Gratton
8928cbb593 Merge branch 'bugfix/add_requirements_for_espefuse' into 'master'
esp-idf: Update esptool and add reedsolo and bitstring into requirements.txt

See merge request espressif/esp-idf!8641
2020-05-14 12:37:22 +08:00
Michael (XIAO Xufeng)
94ce4836ae Merge branch 'bugfix/fix_gpio_wakeup_light_sleep' into 'master'
driver(gpio): fix gpio can't wakeup light sleep

Closes IDF-1361

See merge request espressif/esp-idf!8522
2020-05-14 11:45:40 +08:00
KonstantinKondrashov
86a73de9b3 esp-idf: Update esptool and add reedsolo and bitstring into requirements.txt
They are necessary for espefuse.py from esptool v3.0.
2020-05-14 13:29:21 +10:00
lly
25a6ea9600 ble_mesh: Remove patch for the bug of an App 2020-05-14 10:24:15 +08:00
Angus Gratton
6ccd7dbc59 Merge branch 'nimble/config_option_sdkconfig_rename' into 'master'
Add NimBLE config options in sdkconfig.rename

Closes IDF-1650

See merge request espressif/esp-idf!8653
2020-05-14 09:30:16 +08:00
Angus Gratton
78cf414b04 Merge branch 'bugfix/ci_himem_psram' into 'master'
CI: Require runner with PSRAM for himem example test

See merge request espressif/esp-idf!8717
2020-05-14 07:53:18 +08:00
Krzysztof
789c42abcd Add another case and recomendation to use Python 3 instead of Python 2 2020-05-13 21:57:51 +02:00
Roland Dobai
29c95d3919 CI: Require runner with PSRAM for himem example test 2020-05-13 18:19:44 +00:00
Nachiket Kukade
b302b4bb43 wpa_supplicant: Fix memory leaks in WPA3 connection
1. Buffers for SAE messages are not freed after the handshake.
   This causes memory leak, free buffers after SAE handshake.
2. SAE global data is not freed until the next WPA3 connection
   takes place, holding up heap space without reason. Free this
   data after SAE handshake is complete or event fails.
3. Update wifi lib which includes memory leak fix during BIP
   encryption/decryption operations.
2020-05-13 22:54:03 +05:30
Nachiket Kukade
f36455052d wpa_supplicant: Fix formatting of file esp_wpa3.c
Replace tabs with spaces in esp_wpa3.c.
2020-05-13 22:54:03 +05:30
Jiang Jiang Jian
1d5ef75c7d Merge branch 'bugfix/espnow_fetch_peer_crash' into 'master'
wifi: fix the crash issue when fetch peer after delete cur_peer

Closes WIFI-2307

See merge request espressif/esp-idf!8626
2020-05-13 23:21:21 +08:00
Roland Dobai
6aaff0887b Update DFU flashing with fixes and known issues 2020-05-13 15:40:55 +02:00
wangcheng
418b32e71b master missing BLE_AUTH_CMPL_EVT after restart 2020-05-13 20:33:24 +08:00
wangcheng
a5ac789725 fix bta_dm_deinit_cb crash 2020-05-13 20:18:27 +08:00
Xia Xiaotian
526a3e49ed esp_wifi: When WiFi TSF is active, skip light sleep
* Add an API for peripherals to set callbacks to skip light sleep

* Make WiFi power save example work
2020-05-13 19:31:36 +08:00
Krzysztof Budzynski
ce18c20571 Merge branch 'doc/hw-reference/esp32-s2/kaluga-kit' into 'master'
Add user guides for ESP32-S2-Kaluga-1-Kit

See merge request espressif/esp-idf!8668
2020-05-13 18:34:38 +08:00
Wang Jia Lin
cf32e4fc22 Merge branch 'bugfix/fix_adc_io_init_bug' into 'master'
driver(adc): fix adc io init bug

Closes IDF-1541

See merge request espressif/esp-idf!8301
2020-05-13 16:35:58 +08:00
Angus Gratton
48399d3ce0 Merge branch 'bugfix/idf_py_actions_fix_spelling' into 'master'
tool: Fix spelling in core_ext.py

Closes IDFGH-3126

See merge request espressif/esp-idf!8718
2020-05-13 16:17:40 +08:00
KonstantinKondrashov
e3ea943088 partition_table: Fix parttool.py crashes when retrieving partition info
Closes: IDFGH-3279
Closes: https://github.com/espressif/esp-idf/issues/5271
2020-05-13 16:10:48 +08:00
morris
d8a9ce14d7 ethernet: fix potential task watch dog timeout 2020-05-13 16:03:00 +08:00
morris
4454b198bb ethernet: better control start/stop/uninstall/install 2020-05-13 15:58:42 +08:00
morris
6020d6a5d4 ethernet: esp_eth_stop API should stop emac hardware 2020-05-13 15:58:42 +08:00
Ivan Grokhotkov
27584b69a5 Merge branch 'feature/test_panic' into 'master'
ci: panic handling test app

See merge request espressif/esp-idf!8593
2020-05-13 15:24:59 +08:00
Kirill Chalov
2e5f983b5a Add user guides for ESP32-S2-Kaluga-1-Kit 2020-05-13 07:12:42 +00:00
Marius Vikhammer
fbb54184ef doc: add generation of tags from sdkconfig and x_caps.h headers
Also updates the way we handle exclude_patterns to use the new tags

Closes IDF-1484
2020-05-13 07:09:01 +00:00
Scott Shawcroft
8c4dc88d27 tool: Fix spelling in core_ext.py
Closes: https://github.com/espressif/esp-idf/pull/5145
2020-05-13 14:50:43 +08:00
David Cermak
f13f8927b1 esp-timer: fix (ignore) false positive memory alloc/free issue found by static analyser 2020-05-13 07:30:26 +02:00
David Cermak
6a47dc9275 esp-netif: fix memory allocation issues found by static analyser 2020-05-13 07:16:45 +02:00
David Cermak
49e8c09ec2 local-ctrl: fix memory allocation issues found by static analyser 2020-05-13 07:16:45 +02:00
David Cermak
917192725a http-client: fix memory allocation issues found by static analyser 2020-05-13 07:16:45 +02:00
Ivan Grokhotkov
418b68a197 test_apps: add panic test 2020-05-12 22:27:06 +02:00
Ivan Grokhotkov
a63f65dd6f ci: don't run build system tests on unit_test or custom_test labels 2020-05-12 22:27:06 +02:00
Ivan Grokhotkov
3fe4adc98d ttfw: allow relative imports in test scripts 2020-05-12 22:27:06 +02:00
Ivan Grokhotkov
7d74cc4255 ttfw_idf: IDFApp: convert partition offset to int 2020-05-12 22:27:06 +02:00
Ivan Grokhotkov
952830ab12 ttfw_idf: IDFApp: add method to get SHA256(elf file) 2020-05-12 22:27:06 +02:00
Ivan Grokhotkov
26f6136a7d ttfw: only send relevant DUT kwargs to serial.serial_for_url 2020-05-12 22:27:06 +02:00
Ivan Grokhotkov
695f075a13 Merge branch 'bugfix/core_dump_data_struct_ovf' into 'master'
Fixes core dump data overwriting

See merge request espressif/esp-idf!8611
2020-05-13 04:03:29 +08:00
zhangyanjiao
4dc7a36eca wifi: fix the crash issue when fetch peer after delete cur_peer 2020-05-12 21:05:50 +08:00
Island
c946ca8b45 Merge branch 'bugfix/ble_mesh_node_old_version_to_new' into 'master'
ble_mesh: Fix mesh node device role restore

Closes BLEMESH-188

See merge request espressif/esp-idf!8314
2020-05-12 20:36:55 +08:00
Island
1d22f17da3 Merge branch 'bugfix/ble_mesh_not_ignore_msg_in_fast_prov' into 'master'
ble_mesh: Not ignore msg when fast prov is enabled

Closes BLEMESH-196

See merge request espressif/esp-idf!8698
2020-05-12 20:36:41 +08:00
Island
b0a096495a Merge branch 'bugfix/ble_mesh_fix_typos' into 'master'
ble_mesh: Fix typos

Closes BLEMESH-199

See merge request espressif/esp-idf!8703
2020-05-12 20:36:30 +08:00
Jiang Jiang Jian
84a410dc4c Merge branch 'bugfix/fix_switch_channel_without_discon_issue' into 'master'
esp_wifi: Fix AP switch to adjacent channel without disconnect

Closes WIFI-2192 and WIFI-2277

See merge request espressif/esp-idf!8657
2020-05-12 20:21:12 +08:00
lly
f7ef701856 ble_mesh: Fix mesh node device role restore
Old version of BLE Mesh has no device role storage, because
previously we only support storing mesh node info.
If the binary of the node is upgraded from old version to a
new version (support storing provisioner info), the mesh info
of the node will not be restored because mesh role does not
exist in the flash.
2020-05-12 19:25:57 +08:00
Krzysztof Budzynski
08bd8bff7e Merge branch 'docs/mass_mfg_update' into 'master'
Fix a typo according to DOC-158

See merge request espressif/esp-idf!8704
2020-05-12 18:36:35 +08:00
lly
6b9c0dda08 ble_mesh: Fix typos 2020-05-12 16:23:13 +08:00
Wang Ning
5a28cc6ae3 Fix a typo according to DOC-158 2020-05-12 15:56:14 +08:00
fuzhibo
d91e64cea4 driver(gpio): fix gpio can't wakeup light sleep 2020-05-12 07:15:13 +00:00
fuzhibo
8256b5f32b driver(adc): fix adc io init bug; add unit test to check; 2020-05-12 06:52:26 +00:00
Mahavir Jain
bd920d22b0 Merge branch 'bugfix/softap_prov_session' into 'master'
protocomm_httpd: Restart security session if request is received on a new session

See merge request espressif/esp-idf!8633
2020-05-12 13:16:20 +08:00
Michael (XIAO Xufeng)
f10a721d88 sdio: fix the unit of performance test 2020-05-12 12:25:46 +08:00
Michael (XIAO Xufeng)
69d9e0eadc sdio: fix random unit test performance failure
The tests used to measure the throughput by FreeRTOS
`xTaskGetTickCount()`. The rounding error can be quite big, compared to
total measurement time (1350 ms for 4-bit mode).

This commit use `esp_timer_get_time()` instead to measure typical time,
which is in microseconds. Moreover, to get rid of the time error from
cache miss, `ccomp_timer_*` are used to get the cache compensated time
to measure the throughput used for unit test performance assertion.
2020-05-12 12:25:45 +08:00
Marius Vikhammer
6d56ac8b84 docs: change descriptions of substitution defines to use literal blocks
Copy-pasting the "local substitution" example would result in an error,
due to the ASCII quotation marks being replaced by unicode double quotation marks
when outputting the HTML.
2020-05-12 11:32:34 +08:00
lly
d937b415e3 ble_mesh: Not ignore msg when fast prov is enabled
When fast provisioning is enabled, Provisioner shall not
ignore messages from the nodes whose addresses are not in
the provisioning database. Because other nodes which are
not provisioned by the Primary Provisioner will send node
address messages to the Primary Provisioner.
2020-05-12 11:22:07 +08:00
Jiang Jiang Jian
5f2be35525 Merge branch 'bugfix/supplicant_general_fixes' into 'master'
wpa_supplicant: Fix some memleaks and invalid memory access

Closes IDF-1335

See merge request espressif/esp-idf!8201
2020-05-12 11:03:14 +08:00
Piyush Shah
05852bc4aa protocomm_httpd: Restart security session if request is received on a new session
This commit fixes a bug as well as changes a behaviour.

Bugfix: During softap/httpd based provisioning, if a session was closed
midway and a new one started, it would never proceed if the http server
assigns same socket number to the new session (which happens almost always).
Now, if a session is closed, using the http callbacks, the older session
data is cleared so that a new one can be created.

Behavioural change: If a client (mobile app particularly) does not use
persistent http session i.e. all provisioning communication on the same
socket, the provisioning may fail. Earlier, since the session context was
not getting cleared, even if the client closed a session and continued
on a new one, it would go through if the socket number assigned was same
(which happens almost always).

Ideally, from a security perspective, all communication related
to secure provisioning must happen on the same socket, and so, this
change is required.
2020-05-11 13:01:13 +00:00
Ivan Grokhotkov
0c0bfe73ec Merge branch 'feature/add_build_sh_to_build_system_test' into 'master'
Add idf_as_lib/build.sh to build_system_test

Closes IDF-1170

See merge request espressif/esp-idf!8540
2020-05-11 19:51:51 +08:00
Krzysztof Budzynski
1ad1791df7 Merge branch 'docs/eclipse_update' into 'master'
Update Build and Flash with Eclipse IDE to make terminology consistent

Closes DOC-112

See merge request espressif/esp-idf!8669
2020-05-11 16:51:31 +08:00
Wang Ning
8b8d03f7bd Update Build and Flash with Eclipse IDE to make terminology consistent 2020-05-11 16:51:30 +08:00
Mahavir Jain
012b111d6d Merge branch 'feature/mbedtls_hkdf' into 'master'
mbedtls_hkdf: Add a config option to enable HKDF

See merge request espressif/esp-idf!8680
2020-05-11 15:29:54 +08:00
Piyush Shah
43b3def711 mbedtls_hkdf: Add a config option to enable HKDF 2020-05-11 11:49:14 +05:30
Island
c0c0223747 Merge branch 'bugfix/sync_zephyr_bt_mesh_bugfix' into 'master'
bugfix/sync_zephyr_bt_mesh_bugfix

Closes BLEMESH-178

See merge request espressif/esp-idf!8104
2020-05-11 14:06:12 +08:00
Prasad Alatkar
2ef489005b NimBLE: Include upstream fixes and use macros for log level filtering
Change list:
- Reduces the size of the compiled binary, PR: https://github.com/espressif/esp-nimble/pull/6
- Null pointer check, PR: https://github.com/apache/mynewt-nimble/pull/701
- Pairing procedure abort on unexpected req: https://github.com/apache/mynewt-nimble/pull/710
- Fix conn flags after pairing: https://github.com/apache/mynewt-nimble/pull/730
- Remove notification for update process timeout (Vol 6, Part B, section 5.2 ):
  https://github.com/apache/mynewt-nimble/pull/782
- CCCD fix : https://github.com/apache/mynewt-nimble/pull/790 and
  https://github.com/apache/mynewt-nimble/pull/804
- Host based Privacy (RPA) fix: https://github.com/espressif/esp-nimble/pull/7

 Closes https://github.com/espressif/esp-nimble/issues/10

 Closes https://github.com/espressif/esp-idf/issues/4413
2020-05-11 05:36:50 +00:00
Marius Vikhammer
27fa1dc0dd doc: add peripheral_types.h as API reference for peripheral docs
Closes DOC-136
Closes IDF-1673
2020-05-11 11:20:39 +08:00
lly
c2fd80b8f4 ble_mesh: Fix not update prov addr in fast prov
When using fast provisioning, the Provisioner functionality
will be enabled. Unicast addresses within the pre-allocated
range will be used for provisioning nodes. And during the
address assignment, the allocated unicast address will be
checked that if it's duplicated with other nodes addresses
and the Provisioner's own addresses.
So before starting using fast provisioning, we need to update
the Provisioner address.
2020-05-11 02:29:18 +00:00
lly
97f11600e3 ble_mesh: net_key_status only pull one key idx [Zephyr]
Fixes bug where the config client's net_key_status handler would attempt
to pull two key indexes from a message which only holds one.
2020-05-11 02:29:18 +00:00
lly
9d7adc3e1b ble_mesh: Update client message timeout calculation
Since the behavior of sending segmented messages has been
changed properly, the calculation of timeout value which
will be used when sending an acknowledged message by a
client model also needs to be updated.
2020-05-11 02:29:18 +00:00
lly
5e59233cc0 ble_mesh: Add lock for segmented msg operations
Add mutex to protect some variables of the mesh segmented
messages.
Currently the timeout handler of mesh will be executed in
the btc task, while the received mesh messages will be
handled in the btu task. In case some variables are set to
NULL when handled in the btu task, meanwhile these variables
are also accessed in the timeout handler, so we add mutex to
protect these variables and related operations.
2020-05-11 02:29:18 +00:00
lly
9e5fec73f8 ble_mesh: Fix dereferencing pointer before checking for NULL [Zephyr]
The publication context is checked for NULL in bt_mesh_model_publish()
however it was dereferenced before that. Move the assignment to
ctx.send_rel to the same place where other ctx members are set.
2020-05-11 02:29:18 +00:00
lly
d7a671ab7a ble_mesh: Optimize some mesh log output 2020-05-11 02:29:18 +00:00
lly
52493a1644 ble_mesh: Fix restore when revoke keys [Zephyr]
Store keys (NetKey and AppKey) again after revoking.
2020-05-11 02:29:18 +00:00
lly
8ea6714a96 ble_mesh: Spit mesh_util.h into different header files
Split mesh_util.h into mesh_byteorder.h, mesh_compiler.h,
mesh_ffs.h and mesh_util.h based on the classification of
Zephyr, which will make further porting more clear.
2020-05-11 02:29:18 +00:00
lly
52a30c8f4a ble_mesh: Split mesh os related into a separate file 2020-05-11 02:29:18 +00:00
lly
01a8a6c150 ble_mesh: Split mesh mutex into a separate file 2020-05-11 02:29:18 +00:00
lly
c493be489f ble_mesh: Rename mesh_kernel.* to mesh_timer.* 2020-05-11 02:29:18 +00:00
lly
25dfee4bdd ble_mesh: Add and use transport macro definitions [Zephyr] 2020-05-11 02:29:18 +00:00
lly
df525bf0b3 ble_mesh: Friend SeqAuth cleanup [Zephyr]
The Friend queue uses the message SeqAuth to determine whether the
message is already in the queue. To facilitate this, the SeqAuth is
passed around as a pointer throughout the transport modules. In the
bt_mesh_ctl_send functions, this parameter is also exposed in the API,
but the internal usage is inconsistent and buggy. Also, no one actually
uses this parameter.

- Removes seq_auth param from bt_mesh_ctl_send, instead passing NULL
  directly to the friend module, to enforce its addition to the queue.
- Makes the seq_auth pointer const throughout the friend module.
2020-05-11 02:29:18 +00:00
lly
cd58874a9b ble_mesh: Rework msg_cache [Zephyr]
Changes the behavior of the message cache to optimize for cache
capacity. Previously, the message cache's primary function was to avoid
decrypting messages multiple times, although the cache's main function
in the spec is to avoid message rebroadcasting. Optimizing for minimal
decryption causes us to fill the network cache faster, which in turn
causes more cache misses, potentially outweighing the advantage.

Now stores src + seq in message cache instead of field hash value. This
cuts cache size in two, while including more of the sequence number than
before.

Adds messages to the cache only after the packet is successfully
decrypted. This reduces noise in the cache, and ensures that no
invalid deobfuscations are added.

Additionally, this fixes a bug where multiple calls to net_decrypt with
the same packet failed, as the message cache found its own entry from
the previous call.
2020-05-11 02:29:18 +00:00
lly
ef8206cdc6 ble_mesh: Segmented TX to groups [Zephyr]
Implements several changes to the transport layer segmented tx to
improve group message performance:
- Moves retransmit counter to tx context instead of per packet. As every
  unacked packet is sent every retransmit, the retransmit counters would
  be the same in each segment. This makes it easier to control progress.
- Delays the scheduling of the retransmit until the completion of the
  last segment by adding a seg_pending counter. This is essentially the
  same as the old behavior, except that the old behavior might retrigger
  the sending before all segments are finished if the advertising is
  slow.
- Allows the group transmits to stop as soon as all retransmits have
  been exhausted, instead of timing out waiting for acks that won't
  come. This allows group tx to finish without error.
- Fixes a bug where a failed TX would block IV update.
- Cancels any pending transmissions of acked segments.
- Reduces log level for several common group tx scenarios that aren't
  erronous.
2020-05-11 02:29:18 +00:00
lly
fd9a16805a ble_mesh: Add comment explaining use of byte order [Zephyr]
Add comment that explains why a different byte order is used for the
3-byte opcode on the CID part of the opcode.
2020-05-11 02:29:18 +00:00
lly
4d1d5261cc ble_mesh: Use 24-bit functions [Zephyr]
Use 24-bit functions for byteorder and net_buf in order to make the
byteorder used more readable.
2020-05-11 02:29:18 +00:00
lly
da99734ba8 ble_mesh: Optimize net_buf_simple routines [Zephyr]
Use sys_put_xyz() helpers instead of memcpy() whenever possible. This
brings in straight-line inline code for pushes and adds of known,
small sizes.
2020-05-11 02:29:18 +00:00
lly
4fd1b2db0e ble_mesh: Add PRIu64 & PRIx64 in mesh_types.h 2020-05-11 02:29:18 +00:00
lly
fb84166cbd ble_mesh: Add push functions for supported bit-variants [Zephyr]
Add push functions for bit-widths supported by add and pull functions.
2020-05-11 02:29:18 +00:00
lly
ee1eb994b7 ble_mesh: Add support for 64 bit data type [Zephyr]
This enables pulling and pushing values in 64 bit format.
2020-05-11 02:29:18 +00:00
lly
b186be52f0 ble_mesh: Add support for 48 bit data type [Zephyr]
This enables pulling and pushing values in 48 bit format.
2020-05-11 02:29:18 +00:00
lly
23c8bbcbf5 ble_mesh: Add 48 bit variants [Zephyr]
This adds sys_*_*48 functions that operation on a 48 bits values.
2020-05-11 02:29:18 +00:00
lly
4e1d3974fb ble_mesh: Add support for 24 bit data type [Zephyr]
This enables pulling and pushing values in 24 bit format.
2020-05-11 02:29:18 +00:00
lly
26dbfdcb9d ble_mesh: Add 24 bit variants [Zephyr]
This adds sys_*_*24 functions that operation on a 24 bits values.
2020-05-11 02:29:18 +00:00
lly
95440c4d28 ble_mesh: Group resends in proxy nodes [Zephyr]
Resend transport segments for groups on the advertiser interface, even
if a connected proxy node holds the group.
2020-05-11 02:29:18 +00:00
lly
1f47cfff7f ble_mesh: Typo in condition in comp_add_elem of cfg_srv [Zephyr]
Vendor model IDs take up four (not two) bytes in the composition
2020-05-11 02:29:18 +00:00
lly
31b175e372 ble_mesh: GATT Proxy Spec 1.0.1 changes [Zephyr]
Backport of https://github.com/apache/mynewt-nimble/pull/724

Mesh spec 1.0.1 changes proxy disabling behavior to only affect the
relaying from proxy nodes. Previously, disabling proxy would shut down
all proxy and node activity.

Tweaks from the original commit:
- Removed redundant call to bt_mesh_adv_update() in gatt_proxy_set()
- Removed invalid ref to 4.2.11.1 in node_identity_set()

---

According to Mesh Profile Spec 1.0.1, Section 4.2.11:
"If the Proxy feature is disabled, a GATT client device can connect
over GATT to that node for configuration and control. Messages from
the GATT bearer are not relayed to the advertising bearer."

Moreover some notes have been removed from the spec compared to
version 1.0:

Mesh Profile Spec 1.0, Section 4.2.11:

"Upon transition from GATT Proxy state 0x01 to GATT Proxy state 0x00
the GATT Bearer Server shall disconnect all GATT Bearer Clients."

"The Configuration Client should turn off the Proxy state as the last
step in the configuration process."

Mesh Profile Spec 1.0, Section 4.2.11.1:

"When the GATT Proxy state is set to 0x00, the Node Identity state
for all subnets shall be set to 0x00 and shall not be changed."
2020-05-11 02:29:18 +00:00
lly
e385197c27 ble_mesh: Support reliable sending when publishing [Zephyr]
Until now the choice of reliable sending (segmented messages with
acks) was implicitly dependent on the size of the payload. Add a new
member to the bt_mesh_model_pub to force using segment acks even when
the payload would fit a single unsegmented message.
2020-05-11 02:29:18 +00:00
lly
cc549897d5 ble_mesh: Check device uuid when init provisioning 2020-05-11 02:29:18 +00:00
lly
ca3d1637ca ble_mesh: Fix provisioning buffer initialization [Zephyr]
When PB-GATT support has been enabled the provisioning code "borrows"
the buffer from the proxy code. However, the way that initialization
was happening the proxy buffers were initialized only after
provisioning initialization, resulting in a corrupted buffer with
buf->data pointing to NULL. Reorder the initialization calls so that
proxy is done first and provisioning only after it.
2020-05-11 02:29:18 +00:00
lly
6c868a070b ble_mesh: Skip publish if update fails [Zephyr]
Allow models to skip a periodic publish interval by returning an error
from the publish update callback.

Previously, an error return from publish update would cancel periodic
publishing. This can't be recovered from, and as such, no valid model
implementation could return an error from this callback, and there was
no way to skip a periodic publish.
2020-05-11 02:29:18 +00:00
lly
aad8908d9c ble_mesh: Enable Segmented Control Messages [Zephyr]
The function bt_mesh_ctl_send() used to support maximum length of
11 bytes. The segmentation complies with the BLE Mesh Standard.
The ack is disabled in case of non unicast address.
2020-05-11 02:29:18 +00:00
Michael (XIAO Xufeng)
f7ec57b615 Merge branch 'feature/usb_wrap_headers' into 'master'
usb: add usb_wrap headers, move some code from LL to HAL

See merge request espressif/esp-idf!8395
2020-05-10 19:19:14 +08:00
David Čermák
e86f530e42 Merge branch 'bugfix/mdns_config_stacksize' into 'master'
mdns: Allow config mDNS task stack size (GitHub PR)

Closes IDFGH-3219

See merge request espressif/esp-idf!8635
2020-05-09 19:49:15 +08:00
xiehang
0c7cac6ee3 esp_wifi: Fix AP switch to adjacent channel without disconnect 2020-05-09 17:26:51 +08:00
Jiang Jiang Jian
6b3c4ec669 Merge branch 'bugfix/fix_wifi_example_readme_error' into 'master'
Fixed links to example directories for fast_scan and scan

Closes WIFI-2259

See merge request espressif/esp-idf!8651
2020-05-09 15:44:36 +08:00
Jiang Jiang Jian
27d0ca52b2 Merge branch 'bugfix/fix_memleak_in_wpa3_feature' into 'master'
fix(wpa_supplicant): fix memleak in wpa3 feature

See merge request espressif/esp-idf!8643
2020-05-08 22:34:01 +08:00
Mahavir Jain
5425ef85ce Merge branch 'bugfix/pthread_tcb_cleanup_wrapper' into 'master'
Fix linking for vPortCleanUpTCB wrapper

See merge request espressif/esp-idf!8652
2020-05-08 21:31:35 +08:00
Sachin Parekh
c0a33487b1 gdbstub_xtensa.c: Replace with cpu_ll_pc_to_ptr macro
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2020-05-08 18:35:48 +05:30
Sachin Parekh
46d914ff45 gdb: Modify PC in case of invalid PC
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2020-05-08 18:34:52 +05:30
Krzysztof Budzynski
e30185c166 Merge branch 'docs/fix_oocd_debug_level_opt' into 'master'
docs: Fixes OpenOCD debug level option

See merge request espressif/esp-idf!8646
2020-05-08 16:31:36 +08:00
Krzysztof Budzynski
fc4a5609ac Merge branch 'bugfix/docs_esp_https_ota' into 'master'
Resolve documentation issue reported by boarchuz in...

See merge request espressif/esp-idf!8648
2020-05-08 16:30:42 +08:00
Hrishikesh Dhayagude
f67902a5dd Add NimBLE config options in sdkconfig.rename 2020-05-08 12:04:46 +05:30
Shubham Kulkarni
4a83b488a8 pthread: Use INTERFACE in target_link_libraries for vPortCleanUpTCB wrapper 2020-05-08 11:55:23 +05:30
Jan-Hendrik Frintrop
ff9c2dfa8c Fixed links to example directories for fast_scan and scan
Signed-off-by: ronghulin <ronghulin@espressif.com>

https://github.com/espressif/esp-idf/pull/5186
2020-05-08 14:22:39 +08:00
Michael (XIAO Xufeng)
178c7c2e82 Merge branch 'bugfix/spi_lock_suppress_alter_log' into 'master'
spi: suppress spi_bus_lock_touch log level

Closes IDFGH-3030

See merge request espressif/esp-idf!8634
2020-05-08 11:26:11 +08:00
Alexey Gerenkov
16726e9980 gcov: Fixes APP CPU syscall table 2020-05-08 03:13:18 +03:00
Krzysztof
f1c7b0ba6f Resolve documentation issue reported by boarchuz in https://esp32.com/viewtopic.php?f=5&t=14148#p59419 2020-05-07 22:00:27 +02:00
Axel Lin
cf7e48c779 mdns: Allow config mDNS task stack size
Signed-off-by: Axel Lin <axel.lin@gmail.com>

Merges https://github.com/espressif/esp-idf/pull/5216
2020-05-07 21:49:02 +02:00
Krzysztof Budzynski
f318dab0ad Merge branch 'doc/review_security-flash-encryption' into 'master'
Review security/flash-encryption.rst

See merge request espressif/esp-idf!7672
2020-05-08 03:31:29 +08:00
David Čermák
3a2f059f11 Merge branch 'bugfix/pppos_connect_dhcpc_failed' into 'master'
esp_netif: fix default connect handler to check dhcpc return value

Closes IDFGH-3173

See merge request espressif/esp-idf!8581
2020-05-08 03:25:09 +08:00
Ivan Grokhotkov
d1487a5b79 Merge branch 'bugfix/hidh_leak' into 'master'
esp_hid: fix minor memory leak on getting dev reports

See merge request espressif/esp-idf!8631
2020-05-08 02:38:08 +08:00
Alexey Gerenkov
b441df7cf1 docs: Fixes OpenOCD debug level option 2020-05-07 16:02:13 +03:00
David Cermak
65b993234d esp_hid: fix memory leak if getting dev reports fails 2020-05-07 12:56:54 +00:00
Mahavir Jain
d7fb9d54ba Merge branch 'feature/get_url' into 'master'
Add API to get URL from HTTP client

Closes IDFGH-3094

See merge request espressif/esp-idf!8637
2020-05-07 17:57:16 +08:00
Zhang Jun Hao
e9b3feb85d fix(wpa_supplicant): fix memleak in wpa3 feature 2020-05-07 17:28:07 +08:00
Shubham Kulkarni
890f541edf esp_http_client: Add API to get URL from client
Closes: https://github.com/espressif/esp-idf/issues/5115
2020-05-07 14:20:28 +05:30
Ivan Grokhotkov
38becef258 Merge branch 'feature/docs_platformio' into 'master'
docs: add reference to platformio (Github PR)

Closes IDFGH-3111

See merge request espressif/esp-idf!8606
2020-05-07 15:27:39 +08:00
Angus Gratton
b2fe7f681e Merge branch 'bugfix/esp32_eco3_init_syscall_table' into 'master'
newlib: initialize syscall_table_ptr_app in single core mode

Closes IDFGH-3254

See merge request espressif/esp-idf!8596
2020-05-07 15:17:13 +08:00
Fu Hanxi
195eb883b4 Add idf_as_lib/build.sh to build_system_test 2020-05-07 10:09:54 +08:00
Mahavir Jain
a2263571b5 Merge branch 'feature/mbedtls_chacha_poly' into 'master'
mbedtls: Add config options for chacha20, poly1305 and chachapoly

See merge request espressif/esp-idf!8605
2020-05-07 03:44:23 +08:00
Alexey Gerenkov
c91ed2b917 coredump: Increases FreeRTOS ISR stack for ELF data format 2020-05-06 20:07:30 +03:00
Michael (XIAO Xufeng)
e04bb43b9f spi: suppress spi_bus_lock_touch log level
The log in the spi_bus_lock_touch may be annoying. This commit suppress 
the log level, and make the log visible only when the device altered.

Resolves https://github.com/espressif/esp-idf/issues/5056
2020-05-07 00:32:24 +08:00
David Čermák
a064e0c4de Merge branch 'bugfix/tcp_connect_tout' into 'master'
tcp_transport: Implement connect timeout

Closes IDFGH-2971, IDFGH-2810, and IDFGH-1541

See merge request espressif/esp-idf!8428
2020-05-06 20:07:05 +08:00
Alexey Gerenkov
ef1b3330c2 coredump: Fixes coredump data overwriting due to 'TaskSnapshot_t' and 'core_dump_task_header_t' difference 2020-05-06 15:04:58 +03:00
Valerii Koval
bc397f8b7d Add new section about using ESP-IDF with PlatformIO
This adds a description of PlatformIO ecosystem, tutorials, examples

Merges https://github.com/espressif/esp-idf/pull/5132
2020-05-06 12:55:22 +02:00
kapil.gupta
3b5fcbe06f wpa_supplicant: Fix some memleaks and invalid memory access
Add changes to fix issues reported in clang analyzer
2020-05-06 10:31:59 +00:00
Marius Vikhammer
214f1fbbed docs: add 'edit-on-github' link to html theme
Closes IDF-1504
2020-05-06 17:25:23 +08:00
Ivan Grokhotkov
d5195d19ae Merge branch 'feature/endian_h_compat_header' into 'master'
newlib: add endian.h header file for compatibility (Github PR)

See merge request espressif/esp-idf!8236
2020-05-06 16:54:41 +08:00
Jiang Jiang Jian
09d4767947 Merge branch 'mesh/power_save_function' into 'master'
mesh/ps: add duty control and support only transmit/receive on active duty

See merge request espressif/esp-idf!8152
2020-05-06 15:53:49 +08:00
David Cermak
c2053a8e65 esp_netif: fix default connect handler to check dhcpc return value
Closes https://github.com/espressif/esp-idf/issues/5184
2020-05-06 07:26:50 +02:00
Ivan Grokhotkov
a97cd645ad Merge branch 'bugfix/linenoise_stack_alloc' into 'master'
console: linenoise: move allocations from stack to heap, fix calloc result checking (Github PR)

Merges https://github.com/espressif/esp-idf/pull/5161

Closes IDFGH-3144

See merge request espressif/esp-idf!8612
2020-05-06 13:21:56 +08:00
Ivan Grokhotkov
30a6a8f932 Update linenoise.c: calloc returning NULL is not handled
Calloc function tries to allocate 4096 bytes.
If such memory is not available, it returns NULL pointer.
This exception was not handled in the code, causing a dirty crash.
2020-05-06 13:21:56 +08:00
Jiang Jiang Jian
62c36a0372 Merge branch 'feature/enable_wpa3_pmf_by_default' into 'master'
esp_wifi: Enable WPA3 & PMF by default

See merge request espressif/esp-idf!8600
2020-05-06 10:53:13 +08:00
Krzysztof Budzynski
9b309a0a97 Merge branch 'bugfix/doc_fix_dfu' into 'master'
docs: Fix and extend the DFU documentation page

See merge request espressif/esp-idf!8602
2020-05-06 05:17:12 +08:00
Piyush Shah
62e1d6712b mbedtls: Add config options for chacha20, poly1305 and chachapoly 2020-05-05 16:41:31 +00:00
David Cermak
a8e370eced tcp_transport: unit test for tcp connection timeout 2020-05-05 15:53:09 +02:00
David Cermak
6182e6f303 tcp_transport: close to return error only for socket error or invalid args
Closes https://github.com/espressif/esp-idf/issues/4872
2020-05-05 15:53:09 +02:00
boarchuz
0c7204e934 tcp_transport: Implement connect timeout
Merges https://github.com/espressif/esp-idf/pull/3791
Closes https://github.com/espressif/esp-idf/issues/5004
2020-05-05 15:53:09 +02:00
Ivan Grokhotkov
d82b60905f Merge branch 'feature/jtag_examples' into 'master'
Add JTAG related example tests

Closes IDF-1147

See merge request espressif/esp-idf!8393
2020-05-05 21:40:38 +08:00
Mahavir Jain
ce2a99dc23 Merge branch 'bugfix/fix_ci_exception' into 'master'
Fix broken pipe exception in CI for OTA examples

See merge request espressif/esp-idf!8519
2020-05-05 18:08:42 +08:00
chenyudong
bdb6565757 mesh/ci: fix MESH_EST_0216 2020-05-05 18:07:31 +08:00
qiyuexia
4522ef8798 mesh: add duty cycle control and support only transmit/receive in actve duty cycle 2020-05-05 18:06:47 +08:00
Roland Dobai
79e58eff8f Add JTAG related example tests 2020-05-05 11:08:33 +02:00
Ivan Grokhotkov
d73470a8a6 Merge branch 'bugfix/loadable_elf_fixes' into 'master'
cmake: loadable elf fixes

See merge request espressif/esp-idf!8603
2020-05-05 17:02:48 +08:00
Shubham Kulkarni
b1e29232ea example_test.py: Override SimpleHTTPRequestHandler to catch broken pipe exception 2020-05-05 14:07:51 +05:30
David Čermák
35386ba24c Merge branch 'bugfix/ppp_netif_up_after_new' into 'master'
esp-netif: ppp netif to use netif_is_link_up() to update interface state

Closes IDFGH-3044

See merge request espressif/esp-idf!8423
2020-05-05 16:37:47 +08:00
Ivan Grokhotkov
b0f448a972 Merge branch 'feature/console_no_empty_lines' into 'master'
console: allow not returning empty lines (Github PR)

Closes IDFGH-2869

See merge request espressif/esp-idf!8232
2020-05-05 16:12:50 +08:00
Ivan Grokhotkov
8a4cc99d90 test_apps: don't download partition table in loadable elf test 2020-05-05 09:45:51 +02:00
Angus Gratton
a0a7051af3 Merge branch 'bugfix/panic_fixes' into 'master'
panic handling fixes

See merge request espressif/esp-idf!8597
2020-05-05 12:16:09 +08:00
Angus Gratton
9b5f25ae2c confserver: Always store hex values in sdkconfig with 0x prefix
This is not necessary for correct behaviour or to have valid sdkconfig files
(previous commit adds tests for this), but it's useful for consistency with
sdkconfig files generated by menuconfig.

As reported in https://github.com/espressif/vscode-esp-idf-extension/issues/83
2020-05-05 13:15:54 +10:00
Angus Gratton
16e14104f7 kconfig: Fix generation of hex outputs for Make & CMake
And add tests for hex output formatting in all output formats.

Previously, Make & CMake outputs only formatted hex values with the 0x prefix
if they had the 0x prefix in the sdkconfig file. Now this prefix is always
applied.

Closes https://github.com/espressif/vscode-esp-idf-extension/issues/83
2020-05-05 13:15:54 +10:00
Angus Gratton
cecf4622bc Merge branch 'bugfix/secure_boot_v2_fixes' into 'master'
Small secure boot v2 fixes

See merge request espressif/esp-idf!8462
2020-05-05 11:13:30 +08:00
Angus Gratton
0515790495 Merge branch 'feature/malloc_failed_hook' into 'master'
feature/components: adds alloc failed hook with optional abort option

Closes IDF-1429

See merge request espressif/esp-idf!8527
2020-05-05 07:11:28 +08:00
Ivan Grokhotkov
255dd63122 ci: add loadable ELF build system test 2020-05-04 19:15:43 +02:00
Ivan Grokhotkov
b09ed2d2aa esptool: fix malformed json when no files are flashed 2020-05-04 19:11:26 +02:00
Ivan Grokhotkov
dafd50934d esptool: don't generate flashing metadata in loadable elf build 2020-05-04 19:11:00 +02:00
Ivan Grokhotkov
5e95bc1d21 test_apps: make it possible to run gdb_loadable_elf app locally 2020-05-04 19:10:06 +02:00
Roland Dobai
00d638f4d6 docs: Fix and extend the DFU documentation page 2020-05-04 18:02:01 +02:00
Ivan Grokhotkov
1449496fb0 Merge branch 'bugfix/check_python_dependencies_diag' into 'master'
tools/check_python_dependencies: print diagnostic info on failure

See merge request espressif/esp-idf!8376
2020-05-04 23:30:23 +08:00
Felipe Neves
6f5e43e26a heap: added alloc failed hook and configuration options
heap/test: added alloc failed hook tests

docs: added alloc failed hook documentation

heap: add function to register allocation failed hook

docs: allocation failed hook docs improvements
2020-05-04 10:58:38 -03:00
Mahavir Jain
1ab26f85ec Merge branch 'bugfix/task_handle' into 'master'
Fix datatype for wps task handle

See merge request espressif/esp-idf!8579
2020-05-04 19:34:57 +08:00
Ivan Grokhotkov
aac3e56a9a newlib: initialize syscall_table_ptr_app in single core mode
ESP32 ECO3 ROM uses syscall_table_ptr_app on both CPUs, so the pointer
needs to be set if running in single core mode.
2020-05-04 10:55:34 +00:00
Nachiket Kukade
107cf56e20 esp_wifi: Enable WPA3 & PMF by default
In wifi station example, set PMF(Protected Management Frames)
configuration to capable. Set WPA3 Feature in menuconfig enabled
by default. This will allow device to establish more secured
connection with AP's that support these protocols.
2020-05-04 16:02:14 +05:30
Ivan Grokhotkov
66889a7a58 esp32s2: return correct CPU number in esp_cache_err_get_cpuid 2020-05-04 10:13:14 +00:00
Ivan Grokhotkov
c5f664d4ac esp_system: remove duplicated esp_digital_reset function
esp_digital_reset was defined both in system_api.c and panic_handler.c
2020-05-04 10:13:14 +00:00
Ivan Grokhotkov
8bdfb265a4 panic handler: fix cache error handling 2020-05-04 10:13:14 +00:00
Ivan Grokhotkov
0a389b1764 esp_system: restore weak esp_reset_reason functions 2020-05-04 10:13:14 +00:00
Shubham Kulkarni
34d41645d3 touch_sensor.c: Fix datatype of argument for timer callback function 2020-05-04 13:26:58 +05:30
Shubham Kulkarni
f2cdebd906 esp_wps.c: Fix datatype for wps task handle 2020-05-04 13:26:58 +05:30
Ivan Grokhotkov
17d60faf17 Merge branch 'bugfix/ci_missed_deprecated_options' into 'master'
Fix missed deprecated Kconfig option caused by tabs in sdkconfig.rename

See merge request espressif/esp-idf!8585
2020-05-04 15:55:24 +08:00
Ivan Grokhotkov
70aa22615c Merge branch 'feature/ut_parallel_build' into 'master'
unit_test: ut parallel build

Closes IDF-1570

See merge request espressif/esp-idf!8338
2020-05-04 15:52:59 +08:00
Ivan Grokhotkov
039e0dc603 Merge branch 'feature/idf_size_autodetect_chip' into 'master'
tools: Autodetect the target of MAP files in idf_size.py

Closes IDF-1566

See merge request espressif/esp-idf!8424
2020-05-04 15:51:28 +08:00
Ivan Grokhotkov
a9c7db135d Merge branch 'bugfix/get_started_export_profile' into 'master'
docs: remove suggestion about running export.sh from .profile script

Closes IDFGH-1640

See merge request espressif/esp-idf!8320
2020-05-04 15:46:24 +08:00
Angus Gratton
d013105256 Merge branch 'feature/twdt_prints_backtrace' into 'master'
Add Task Watchdog backtrace printing

Closes IDF-1072

See merge request espressif/esp-idf!8136
2020-05-04 14:58:53 +08:00
Angus Gratton
f9552baf97 Merge branch 'feature/dfu_build_flash_s2' into 'master'
Add build system support for programming ESP32-S2 using DFU utils

Closes IDF-579

See merge request espressif/esp-idf!8294
2020-05-04 14:57:51 +08:00
Angus Gratton
bf23e66f2b Merge branch 'bugfix/flash_enc_rom_basic' into 'master'
flash encryption: Fix unncessary efuse burn, remove ROM BASIC efuse on S2

See merge request espressif/esp-idf!8587
2020-05-04 14:56:27 +08:00
Ivan Grokhotkov
ec2e666a6e Merge branch 'feature/ldgen_output_determinism' into 'master'
ldgen: determinism in mapping rule order

See merge request espressif/esp-idf!8475
2020-05-04 14:53:26 +08:00
Ivan Grokhotkov
dfbf8ce518 Merge branch 'bugfix/display_partition_table' into 'master'
partition_table: do not always display partition table contents on build

See merge request espressif/esp-idf!8289
2020-05-04 14:51:32 +08:00
David Cermak
acdadebfff esp-netif: ppp netif to use netif_is_link_up() to update interface state
Closes https://github.com/espressif/esp-idf/issues/5069
2020-05-04 06:46:35 +00:00
David Čermák
2e06e9c15b Merge branch 'feature/dhcps_config_mask' into 'master'
dhcp sever: Make option netmask configurable

Closes IDFGH-2955

See merge request espressif/esp-idf!8238
2020-05-04 14:22:55 +08:00
David Čermák
6f4ea99f83 Merge branch 'bugfix/mqtt_ref_update' into 'master'
mqtt: cleanup logs and docs

Closes IDFGH-3052

See merge request espressif/esp-idf!8547
2020-05-04 13:41:08 +08:00
Ivan Grokhotkov
1ddfe0d465 Merge branch 'feature/gdbgui_gdbinit_arg' into 'master'
tools/idf.py: add --gdbinit argument to gdb, gdbgui, gdbtui

See merge request espressif/esp-idf!8370
2020-05-04 13:23:27 +08:00
Ivan Grokhotkov
a55df7bcbf Merge branch 'feature/set_target_chip_name' into 'master'
tools: allow alternative spellings of target name (ESP32-S2, ESP32S2)

See merge request espressif/esp-idf!8256
2020-05-04 13:21:24 +08:00
Angus Gratton
b2417819fd Merge branch 'bugfix/erase_with_vtaskdelay' into 'master'
spi_flash: Add vTaskDelay while a long erasing

Closes IDF-1561 and IDFGH-261

See merge request espressif/esp-idf!8211
2020-05-04 08:46:08 +08:00
Krzysztof Budzynski
39c5db4c38 Merge branch 'bugfix/make_docs_ldgen' into 'master'
docs: remove quotes in ldgen documentation for adding fragment file

See merge request espressif/esp-idf!8501
2020-05-04 03:22:59 +08:00
Angus Gratton
158ab5a9b9 Remove "disable ROM BASIC boot mode" from ESP32-S2
Feature removed from ESP32-S2 ROM (was present in S2 Beta ROM)
2020-05-01 16:16:47 +10:00
Angus Gratton
d4d4d7324a efuse: Don't need to burn WR_CRYPT_CNT if CRYPT_CNT is already max
Reduces write cycles, and useful on ESP32 ECO3 as UART_DIS_DL is protected by
the same efuse.

Also fixes accidental macro definition introduced in 7635dce502
2020-05-01 16:16:47 +10:00
Krzysztof Budzynski
1aebfdf6a6 Merge branch 'bugfix/main_readme_s2' into 'master'
Mention S2 chips as well in the main README

See merge request espressif/esp-idf!8562
2020-05-01 04:43:56 +08:00
Roland Dobai
58bbd99b9c Fix missed deprecated Kconfig option caused by tabs in sdkconfig.rename 2020-04-30 18:23:21 +02:00
David Cermak
78ea8a9ed5 mqtt: clenaup logs and docs
esp_mqtt: Change an error print to use ESP_LOGE instead of ESP_LOGI
Move Sending MQTT connect message log from Info to Debug level
docs: Makes clear that publish API could block
Change the message printed after MQTT connection failure

Closes https://github.com/espressif/esp-idf/issues/5077
(by means of referencing commit 615aeae0c2)
2020-04-30 14:05:36 +00:00
David Cermak
2fce539d1e esp-netif: use dhcp server netmask
Use the configured esp-netif netmask to update the dhcp struct when
starting the server or starting the netif itself.
Use the netmask in dhcps setters and getters.
2020-04-30 14:04:22 +00:00
David Cermak
fa57bdbdbe dhcpserver: make subnet mask configurable
Closes https://github.com/espressif/esp-idf/issues/4988
2020-04-30 14:04:22 +00:00
Krzysztof Budzynski
ad60568151 Merge branch 'docs/hw-ref-toctree' into 'master'
Add translation for modules-and-boards

See merge request espressif/esp-idf!8013
2020-04-30 18:50:36 +08:00
Wang Ning
158945aebf Add translation for modules-and-boards 2020-04-30 18:50:36 +08:00
Renz Bagaporo
89a255f5eb ldgen: determinism in mapping rule order
This MR imposes some determinism in the mapping rule order in the output
file. For each section, the archives are arranged alphabetically
(ascending), and the mapping rules in each archive are arranged by
increasing specificity then alphabetically (ascending). The default
rules remain the very first rule for each section.
2020-04-30 18:20:00 +08:00
Island
2ad2d0a701 Merge branch 'bugfix/ble_mesh_node_reset_erase' into 'master'
ble_mesh: Fix node not erase info completely

Closes BLEMESH-195

See merge request espressif/esp-idf!8561
2020-04-30 16:39:57 +08:00
Jiang Jiang Jian
4eec0ea4bb Merge branch 'bugfix/optimization_API_esp_wifi_deauth_sta' into 'master'
bugfix: optimization API esp_wifi_deauth_sta

Closes WIFI-1699

See merge request espressif/esp-idf!8363
2020-04-30 16:20:32 +08:00
Fu Hanxi
18e79f4865 correct the app_update config for s2 chip 2020-04-30 06:47:49 +00:00
Fu Hanxi
c131a18059 load all yml files while assigning tests 2020-04-30 06:47:49 +00:00
Fu Hanxi
7709d4ccfd Use IDF_TARGET to determine the build method and the output file name 2020-04-30 06:47:49 +00:00
Fu Hanxi
01ff4f621f Add build_unit_test.sh to do find_apps and build_apps to unit_tests
modify unit-test-apps config files, use CONFIG_IDF_TARGET to set target.
if not set, then treat them as supported both targets.
2020-04-30 06:47:49 +00:00
Fu Hanxi
04342a73f2 Fix some python bugs left before 2020-04-30 06:47:49 +00:00
lly
eaeb465767 ble_mesh: Fix node not erase info completely
Previously only mesh node info is supported to be stored
in flash. So when trying to reset the node, we only need
to judge if the BLE_MESH_VALID flag is set.
Currently we support storing both node & Provisioner info
in flash, when trying to erase the node info from flash,
the BLE_MESH_NODE flag will be checked. So we need to set
bt_mesh.flags to 0 when all the erase operations are done.
2020-04-30 06:42:54 +00:00
Ivan Grokhotkov
79976e7370 Merge branch 'feature/storage_examples' into 'master'
examples: Add storage example tests and migrate "loadable elf" test to test_apps

Closes IDF-1150 and IDF-1586

See merge request espressif/esp-idf!8174
2020-04-30 14:34:34 +08:00
Angus Gratton
d041512022 Merge branch 'feature/mesh_ip_network_example' into 'master'
ESP-MESH: IP internal network example

See merge request espressif/esp-idf!7724
2020-04-30 14:33:16 +08:00
ChenJianxing
eda97d7e16 update esp32s2 iperf config 2020-04-30 14:00:34 +08:00
Roland Dobai
ab9f714248 Add build system support for programming ESP32-S2 using DFU utils 2020-04-30 07:59:18 +02:00
Ivan Grokhotkov
2aaab7eeef tools: add script to generate DFU binaries for ESP32-S2 2020-04-30 07:59:18 +02:00
KonstantinKondrashov
bc50bd2806 spi_flash(new driver): Add a Kconfig option - Bypass a block erase and always do sector erase
Closes: IDF-1561
2020-04-30 13:58:13 +08:00
KonstantinKondrashov
304f67e42a spi_flash(LEGACY_IMPL): Add a Kconfig option - Bypass a block erase and always do sector erase
Closes: IDF-1561
2020-04-30 13:58:13 +08:00
KonstantinKondrashov
0f6fe0c8e9 spi_flash: Add into sim/stubs the esp_timer 2020-04-30 13:58:13 +08:00
KonstantinKondrashov
ae89f98d59 spi_flash(new driver): Add vTaskDelay while a long erasing 2020-04-30 13:58:13 +08:00
KonstantinKondrashov
3cb655eaab spi_flash(LEGACY_IMPL): Add vTaskDelay while a long erasing
Added Kconfig options to enable yield operation during flash erase

Closes: https://github.com/espressif/esp-idf/issues/2083
Closes: https://github.com/espressif/esp-idf/issues/4916
Closes: IDFGH-261
2020-04-30 13:58:13 +08:00
Roland Dobai
53316261b9 Mention S2 chips as well in the main README 2020-04-30 05:55:47 +00:00
Angus Gratton
fdd6bfe3c4 Merge branch 'bugfix/sleep_comments' into 'master'
doc: Specify that sleep wakeup source restrictions apply to all current ESP32 revisions

See merge request espressif/esp-idf!8351
2020-04-30 13:36:58 +08:00
Angus Gratton
cd4fa46f53 Merge branch 'bugfix/hid_examples' into 'master'
Update HID examples to comply with the new requirements

See merge request espressif/esp-idf!8559
2020-04-30 12:29:23 +08:00
Francesco Giancane
1173ce32f6 endian.h: define non-standard symbols for endian handling
BSDs and Unices defined some non standardised functions and symbols used
for endianness handling: converting from Little Endian to Big Endian,
converting from Host to a specific representation, converting from a
specific representation to Host.

With this commit, a modified version of those symbols provided by
FreeBSD is imported.

The license of the imported code is still 2-Clause BSD.

Signed-off-by: Francesco Giancane <francesco.giancane@accenture.com>
Closes https://github.com/espressif/esp-idf/pull/4784
2020-04-29 23:47:51 +02:00
Francesco Giancane
6f8ce38f99 Introduce <endian.h> compatibility header
Programs and libraries using compiler and system information about
endianness often include the system header `<endian.h>`.

In `xtensa-gcc` compiler with `newlib` distribution, that file is located in
`<machine/endian.h>`; this means that `#include <endian.h>` would fail
at compile time.

This commit fixes the issue by adding a compatibility `<endian.h>`
header which in turn just includes `<machine/endian.h>`.

Signed-off-by: Francesco Giancane <francesco.giancane@accenture.com>
Merges https://github.com/espressif/esp-idf/pull/4784
2020-04-29 23:47:51 +02:00
Ivan Grokhotkov
466998d487 examples/console: add note about Ctrl+C 2020-04-29 23:46:58 +02:00
Ivan Grokhotkov
19f6da99ed examples/console: match prompt to the target name 2020-04-29 23:44:46 +02:00
Ivan Grokhotkov
ece41b04e3 console: make empty line behavior run-time configurable 2020-04-29 23:44:46 +02:00
Michael 'ASAP' Weinrich
c34352549a Added Kconfig for enabling 0 length returns from linenoise 2020-04-29 23:44:46 +02:00
Michael 'ASAP' Weinrich
8a2413b5c0 Added filtering blank lines from history 2020-04-29 23:44:46 +02:00
MadnessASAP
8680394167 Break the input loop on error or EOF 2020-04-29 23:44:46 +02:00
MadnessASAP
dfd4227e7a Don't return NULL on 0 length input
A 0 length string is still a valid input and should be treated as such, a NULL return should be reserved for when errors occur during line editing or EOF is reached.

Merges https://github.com/espressif/esp-idf/pull/4926
2020-04-29 23:44:46 +02:00
Ivan Grokhotkov
7dad294061 tools/idf.py: add --gdbinit argument to gdb, gdbgui, gdbtui
Allows starting a debugging session with a custom set of init commands
2020-04-29 23:43:38 +02:00
Ivan Grokhotkov
01b3ffa8e3 docs: remove suggestion about running export.sh from .profile script
This was quite obviously a bad suggestion, and it seems that some
users have actually read the docs attentively enough to have followed
it. Replace be recommendation to create an alias.

Closes https://github.com/espressif/esp-idf/issues/3889
2020-04-29 23:43:14 +02:00
Ivan Grokhotkov
7b79b52062 tools: allow alternative spellings of target name (ESP32-S2, ESP32S2)
by ignoring character case and hyphens in target name.
2020-04-29 23:42:18 +02:00
me-no-dev
406d9d20a3 Update HID examples to comply with the new requirements 2020-04-29 20:51:16 +03:00
Island
18950d5780 Merge branch 'bugfix/ble_mesh_provisioner_check_key' into 'master'
ble_mesh: Check if appkey exist before deleting it

See merge request espressif/esp-idf!8332
2020-04-29 21:12:14 +08:00
Krzysztof Budzynski
613a12a056 Merge branch 'docs/update_mass_mfg' into 'master'
docs: Include links to tools for flash operations

See merge request espressif/esp-idf!8518
2020-04-29 20:27:18 +08:00
Jiang Jiang Jian
922a0fa485 Merge branch 'feature/esp-hid-component' into 'master'
ESP-HID Component

See merge request espressif/esp-idf!6908
2020-04-29 17:24:02 +08:00
Hristo Gochkov
25281ef4de Add HID Support to IDF
- Adds HID Host support in Buedroid
- Adds BLE HID Host and Device support
- Adds some general HID utilities and definitions to help integrate with other stacks and native USB
2020-04-29 17:24:01 +08:00
Krzysztof Budzynski
4d53c137e6 Merge branch 'doc/pdf_rm_link_translation' into 'master'
doc: remove links to translation if building PDF

Closes IDF-1579

See merge request espressif/esp-idf!8455
2020-04-29 16:47:06 +08:00
Ivan Grokhotkov
e0177eb252 examples/tusb_sample_descriptor: default to esp32s2 target 2020-04-29 10:04:13 +02:00
Ivan Grokhotkov
d311144a00 soc/usb: use new headers in LL, move some code out of LL
* Keep only USB related register operations in the LL.
* Move pad-related logic into the driver.
* Driver is now responsible for enabling the peripheral.
2020-04-29 10:04:13 +02:00
Ivan Grokhotkov
897e69cc9d soc, esp32s2: add usb_wrap peripheral 2020-04-29 10:04:13 +02:00
Fu Hanxi
d41c130b68 add some prefix for doc urls to make BOT recognize the preview doc url 2020-04-29 15:41:53 +08:00
Roland Dobai
2d709c6384 Migrate "loadable elf" test from hello_world example to test_apps 2020-04-29 09:17:28 +02:00
Roland Dobai
819f7a4e57 examples: Add storage example tests 2020-04-29 09:16:18 +02:00
Roland Dobai
d5aeae9d48 examples: fix import error for the https_x509_bundle example 2020-04-29 09:16:18 +02:00
ronghulin
3c8ed7b8c9 bugfix: optimization API esp_wifi_deauth_sta 2020-04-29 14:31:16 +08:00
David Čermák
f04fd2976d Merge branch 'bugfix/modem_pattern_queue_size_fix' into 'master'
esp_modem: Fix misuse event_queue_size as pattern_queue_size

Closes IDFGH-3172

See merge request espressif/esp-idf!8539
2020-04-29 14:09:31 +08:00
Shivani Tipnis
3f6e7a553b docs: Include links to tools for flash operations 2020-04-29 11:19:02 +05:30
David Čermák
570bc3dbbc Merge branch 'bugfix/mdns_remove_mbedtls_dep' into 'master'
mdns: Remove mbedtls dependency

Closes IDFGH-3177

See merge request espressif/esp-idf!8538
2020-04-29 13:47:47 +08:00
Angus Gratton
6dc6aa0063 Merge branch 'feature/system_example_tests' into 'master'
Add system example tests

Closes IDF-1148

See merge request espressif/esp-idf!8438
2020-04-29 13:43:45 +08:00
Angus Gratton
c41a0c1907 Merge branch 'feature/gdb_stub_task_state' into 'master'
feature/gdb_stub: make task state available on info thread command when in gdb stub.

Closes IDF-720

See merge request espressif/esp-idf!8371
2020-04-29 13:21:31 +08:00
Angus Gratton
5c1d317766 Merge branch 'bugfix/scheduling_time_test_overflow' into 'master'
bugfix/freertos: Fix accumulator overflow on scheduling time test

See merge request espressif/esp-idf!8261
2020-04-29 13:18:44 +08:00
Jiang Jiang Jian
8b67370e65 Merge branch 'bugfix/ap_second_channel_update_error' into 'master'
wifi: fix the bug for softAP update second channel wrong

Closes WIFI-1785, WIFI-1784, WIFI-1630, WIFI-1857, WIFI-1849, and WIFI-1997

See merge request espressif/esp-idf!8023
2020-04-29 11:59:11 +08:00
Ivan Grokhotkov
e5ad3849a3 Merge branch 'bugfix/make_to_cmake_msys_py3' into 'master'
tools: Make Unicode from subprocess result in the CMake convert script

Closes IDFGH-3180

See merge request espressif/esp-idf!8524
2020-04-28 21:17:25 +08:00
Roland Dobai
e1dc92b60b Add system example tests 2020-04-28 14:52:15 +02:00
zhangyanjiao
b96652c257 wifi changes:
1. fix the bug for softAP update second channel wrong
2. query country code wrong when policy change from manual to auto
3. change wifi_scan_time_t from union to struct
2020-04-28 20:02:25 +08:00
Jiang Jiang Jian
aad3b0e3a2 Merge branch 'bugfix/coex_fix_wifi_performance_when_ble_conn' into 'master'
Coexistence: Add coexist API to enable BLE connection dynamic priority

See merge request espressif/esp-idf!8466
2020-04-28 19:55:31 +08:00
Island
8ef0b66a3b Merge branch 'bugfix/ble_mesh_compile_error_o2' into 'master'
ble_mesh: Fix compile error when -O2 (performance) is chosen

Closes BLEMESH-187

See merge request espressif/esp-idf!8217
2020-04-28 17:29:09 +08:00
Jiang Jiang Jian
1b5c42b9b0 Merge branch 'bugfix/supplicant_log_enable_issue' into 'master'
wpa_supplicant: Minor bugfix with wpa_supplicant debug logs.

See merge request espressif/esp-idf!8397
2020-04-28 16:29:19 +08:00
baohongde
95f47a2d4d Coexistence: Add coexist API to enable BLE connection dynamic priority 2020-04-28 16:16:27 +08:00
Jiang Jiang Jian
528edf85cd Merge branch 'bugfix/pmf_cert_fixes' into 'master'
esp_wifi: Update wifi lib

Closes WIFI-2251

See merge request espressif/esp-idf!8468
2020-04-28 14:41:12 +08:00
Jiang Jiang Jian
2dc4bfe782 Merge branch 'bugfix/supplicant_disable_tls_v1.2' into 'master'
wpa_supplicant: Disable TLSv1.2 by default

See merge request espressif/esp-idf!8534
2020-04-28 14:18:35 +08:00
Nachiket Kukade
59e8e407a0 wpa_supplicant: Disable TLSv1.2 by default
Some Enterprise Authentication Servers do not support TLS v1.2.
Move this option to Menuconfig and disable by default.
2020-04-28 10:05:35 +05:30
Jiang Jiang Jian
df5cead7e6 Merge branch 'fixbug/tcp_kill_state_assert' into 'master'
lw-ip:fixbug for tcp kill state assert

Closes WIFI-2195

See merge request espressif/esp-idf!8449
2020-04-28 11:43:29 +08:00
Mahavir Jain
4a558131ea Merge branch 'bugfix/http_client_read' into 'master'
Fix error handling in esp_http_client_read and esp_https_ota_perform

Closes IDFGH-2916 and IDF-1516

See merge request espressif/esp-idf!8166
2020-04-28 06:07:15 +08:00
Darian Leung
b097dd0a79 Add Task Watchdog backtrace printing
This commit makes the Task Watchdog print the backtrace of both
cores when it times out.
2020-04-27 18:11:29 +00:00
Felipe Neves
c78ddb770a docs: added information of task states on fatal errors documentation. 2020-04-27 14:41:55 +00:00
Felipe Neves
c296d01737 gdbstub: added cpu id of running tasks to the output 2020-04-27 14:41:55 +00:00
Felipe Neves
5279e68146 gdbstub: improve format of info thread command output
gdbstub: simplify the state handling on extra thread info
2020-04-27 14:41:55 +00:00
Felipe Neves
9a54a0af13 gdbstub: added task state information on qThreadExtraInfo command 2020-04-27 14:41:55 +00:00
Felipe Neves
140c5e0677 freertos: added task state field inside of TaskSnapshot_t to capture it. 2020-04-27 14:41:55 +00:00
Felipe Neves
5847e0afd2 freertos/test: fix overflow on accumulator used on scheduling time test 2020-04-27 14:20:13 +00:00
Roland Dobai
4f8e2699db tools: Make Unicode from subprocess result in the CMake convert script
Fixes an issue with Python 3 in MSYS where it fails while trying to join
paths where one part is Unicode (default string on Python3) and the
second part are bytes (returned by the subprocess call).

Closes https://github.com/espressif/esp-idf/issues/5189
2020-04-27 16:15:52 +02:00
Nachiket Kukade
f9970b8e29 esp_wifi: Update wifi lib
PMF Certification fixes -
1. Check return status of decrypt operation. Fixes 5.3.3.1.
2. Allow PMF negotiation for WPA2-Enterprise. Fixes 5.3.3.2, 5.3.3.4.
3. Add NULL check on key before encrypting PMF, fixes crash.

Closes WIFI-2251
2020-04-27 13:32:09 +00:00
Krzysztof Budzynski
c5c026557e Merge branch 'doc/hmac_S2' into 'master'
Doc: Documentation for HMAC module

See merge request espressif/esp-idf!8383
2020-04-27 19:03:01 +08:00
Jiang Jiang Jian
17d7f3cb17 Merge branch 'fixbug/set_dhcp_time_fail' into 'master'
lw-ip:fixbug for set dhcp time fail

Closes WIFI-2152

See merge request espressif/esp-idf!8374
2020-04-27 16:48:34 +08:00
Anton Maklakov
3029ab343b Merge branch 'test/ci_disable_ut_s2_wo_label' into 'master'
ci: disable the UT for S2 when label is not used

See merge request espressif/esp-idf!8480
2020-04-27 16:35:45 +08:00
Jiang Jiang Jian
a559bf51ff Merge branch 'bugfix/ble_mesh_time_scene_wrong_name' into 'master'
ble_mesh: Fix time scene wrong macro name

See merge request espressif/esp-idf!8331
2020-04-27 16:19:49 +08:00
Renz Bagaporo
da91172616 docs: remove quotes in ldgen documentation for adding fragment file
Closes https://github.com/espressif/esp-idf/issues/5142
2020-04-27 15:22:38 +08:00
lly
c8a7d20946 ble_mesh: Check if appkey exist before deleting it 2020-04-27 06:27:35 +00:00
lly
fab9b944a4 ble_mesh: Add length check for some mesh operations 2020-04-27 14:24:07 +08:00
lly
c77b7394ed ble_mesh: Fix compile error when -O2 (performance) is chosen 2020-04-27 14:24:07 +08:00
Angus Gratton
9300615a13 Merge branch 'bugfix/heap_psram_fill' into 'master'
heap: Only fill new heaps with FREE_FILL_PATTERN if Comprehensive poisoning is on

See merge request espressif/esp-idf!8210
2020-04-27 14:20:41 +08:00
Shubham Kulkarni
21c2019973 esp_https_ota.c: Add fix to return failure if (-1) is returned from esp_http_client_read
Closes https://github.com/espressif/esp-idf/issues/4960
2020-04-27 05:17:04 +00:00
Shubham Kulkarni
4c166085fb esp_http_client.c: In esp_http_client_read, add fix to return (-1) if esp_transport_read fails 2020-04-27 05:17:04 +00:00
Angus Gratton
3845b002b8 Merge branch 'bugfix/esp32s2_iram_dram_disable_tests' into 'master'
esp32s2: disable memprot for all CI tests (temporary)

See merge request espressif/esp-idf!8484
2020-04-27 13:16:44 +08:00
Michael (XIAO Xufeng)
9d98111652 Merge branch 'bugfix/spi_bus_lock_missing_semphrstatic' into 'master'
spi: fix config break and reduce overhead of the bus lock on SPI1

Closes IDFGH-3017

See merge request espressif/esp-idf!8221
2020-04-27 12:57:19 +08:00
Jakob Hasse
2da7e65646 Doc: S2 HMAC documentation 2020-04-27 12:25:46 +08:00
lly
75cf2d7a17 ble_mesh: Fix time scene wrong macro name 2020-04-27 04:17:04 +00:00
Island
feb7f9683c Merge branch 'bugfix/ble_mesh_add_missing_cpp' into 'master'
ble_mesh: Add missing #ifdef __cplusplus

Closes BLEMESH-194

See merge request espressif/esp-idf!8310
2020-04-27 11:47:44 +08:00
Island
1e12673b3c Merge branch 'feat/ble_mesh_sensor_model_example' into 'master'
ble_mesh: Add ble mesh sensor model examples

Closes BLEMESH-190

See merge request espressif/esp-idf!8253
2020-04-27 11:47:06 +08:00
Island
71dc5eb276 Merge branch 'doc/ble_mesh_fixes' into 'master'
doc: Fix some ble mesh description

Closes BLEMESH-189

See merge request espressif/esp-idf!8240
2020-04-27 11:43:48 +08:00
Island
32cfcc77ed Merge branch 'bugfix/ble_mesh_use_sdkconfig_ci' into 'master'
ble_mesh: Add bluedroid and nimble example configurations

See merge request espressif/esp-idf!8172
2020-04-27 11:41:26 +08:00
Island
043a54c24e Merge branch 'bugfix/ble_mesh_rpl_list_size' into 'master'
ble_mesh: Associate replay protection list size with nodes count

See merge request espressif/esp-idf!8014
2020-04-27 11:35:36 +08:00
Martin Vychodil
c9d2ad0ce5 esp32s2: disable memprot for all CI tests (temporary) 2020-04-26 22:38:53 +02:00
Michael (XIAO Xufeng)
ac63760ded ci: disable the UT for S2 when label is not used 2020-04-26 16:29:49 +08:00
lly
91d70cd128 ble_mesh: Add missing #ifdef __cplusplus 2020-04-26 06:50:35 +00:00
lly
77bb7806a0 ble_mesh: Fix client local parameters not initialized 2020-04-26 06:25:08 +00:00
lly
713581ae87 ble_mesh: Continue node info restore even if failure happens
During BLE Mesh Provisioner initialization, the stack will restore
the nodes information if settings storage is enabled.
Previously when a failure happens (e.g. found the same uuid) during
the restore procedure, the information of the following nodes will
not be restored and error will be directly returned.
But this will introduce some problem with user experience, because
some newly provisioned nodes information will not be restored and
Provisioner will not be able to control those nodes.
So we change the operation here, when a failure happens during the
restore procedure, Provisioner will only ignore the information of
the current node and continue restoring other nodes information.
2020-04-26 06:25:08 +00:00
lly
73804ef4d3 ble_mesh: Remove some redundant functions 2020-04-26 06:25:08 +00:00
lly
f37bc1a515 ble_mesh: Notify unprovisioned device beacon to application layer
With this change, if a Provisioner has provisioned the maximum
number of nodes, it can still report the unprovisioned device
beacon from other nodes to the application layer. And this will
be more reasonable compared with the previous implementation.
Previously when the node array of Provisioner is full, no beacon
from unprovisioned devices will be reported, only some warning
logs will be given.
2020-04-26 06:25:08 +00:00
lly
88b0cd918a ble_mesh: Check if assigned node address is duplicated
Previously only check the node address when it is assigned by the
application layer. Here we also check the address when the address
is allocated internally. And this will be useful when some mesh
internal tests are performed.
2020-04-26 06:25:08 +00:00
lly
7486616382 ble_mesh: Update next alloc address when node info is added 2020-04-26 06:25:08 +00:00
lly
a4d9259912 ble_mesh: Fix Provisioner provisioning deadlock 2020-04-26 06:25:08 +00:00
lly
8d57ebf57d ble_mesh: Remove BLE_MESH_MAX_STORED_NODES option
Previously the BLE_MESH_MAX_STORED_NODES option is added for
internal mesh test, which will be a little confusing for the
users to understand.
Here we remove this option, instead the BLE_MESH_MAX_PROV_NODES
will be used for all the cases. For mesh internal test, when
the test function is called to add some nodes info, the info
will be stored in the array of provisioned nodes directly.
2020-04-26 06:25:08 +00:00
lly
ec2324edbe ble_mesh: Associate replay protection list size with nodes count
The replay protection list of Provisioner should be at least equal
to the number of nodes with the precondition that each node contains
only one element.
The help information of replay protection list is updated, and the
maximum number of nodes for Provisioner is adjusted based on the
replay protection list size.
2020-04-26 06:25:08 +00:00
lly
2f6a4140fa doc: Fix some ble mesh description 2020-04-26 06:22:33 +00:00
lly
fa40a1a0c7 ble_mesh: Add bluedroid and nimble example configurations 2020-04-26 06:12:22 +00:00
lly
2f28c97f06 ble_mesh: Add ble mesh sensor model examples 2020-04-26 06:08:44 +00:00
lly
e8c5f5dc03 ble_mesh: Add some common macros for sensor model 2020-04-26 06:08:44 +00:00
lly
361dd8b29c ble_mesh: Allow empty sensor series column value 2020-04-26 06:08:44 +00:00
lly
561191d50f ble_mesh: Check if same sensor (settings) property id exists 2020-04-26 06:08:44 +00:00
lly
3862f0e784 ble_mesh: Allow empty sensor settings exist 2020-04-26 06:08:44 +00:00
Axel Lin
f4a4549a34 mdns: Remove mbedtls dependency
mdns does not use mbedtls, so remove mbedtls dependency.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
2020-04-26 12:07:28 +08:00
Angus Gratton
017f07cda7 Merge branch 'feature/flash_encryption_esp32s2' into 'master'
feature/flash_encryption_esp32s2: Enable flash encryption mechanism to esp32s2 chips

Closes IDF-804

See merge request espressif/esp-idf!8109
2020-04-25 12:28:21 +08:00
Axel Lin
85e9930071 esp_modem: Fix misuse event_queue_size as pattern_queue_size
Also remove event_queue_size from esp_modem_dte_t because
event_queue_size is only used in esp_modem_dte_init.

Fixes: 817c0e3019 ("esp_modem: UART runtime configuration of esp-modem")
Signed-off-by: Axel Lin <axel.lin@gmail.com>
2020-04-25 08:08:01 +08:00
Angus Gratton
bb0a95b17c spi_flash s2: Fix encrypted writes when legacy implementation disabled
ROM function didn't use correct Addr bitlen if legacy was disabled on ESP32-S2
2020-04-24 12:43:47 -03:00
Angus Gratton
dbdce93d23 spi_flash: Use per-chip flash_ops files for legacy API
Looks like when ESP32-S2 Beta support was merged, the separate files
were dropped by accident.
2020-04-24 12:43:47 -03:00
Felipe Neves
95bc186846 flash_encryption: Fix next spi boot crypt counter value after a plaintext flash 2020-04-24 12:43:47 -03:00
Felipe Neves
f7ccc081a5 flash_encryption: replace spi crypt count efuse burning function by a esp_efuse_API
flash_encryption: modify additional efuses burning method to fix them are not being written

flass_encryption: burn efuse to disable boot from RAM space

flash_encryption: added better checking for key generation state plus set read and write protect for them

soc esp32s2: Add register-level bit definitions for read & wrote protect bits

esp32s2: Fixes for flash encryption

- Write efuses in a batch
- Fix some detection of whether existing efuse blocks are read/write protected
2020-04-24 12:43:47 -03:00
Felipe Neves
6f27992430 flash_encryption: return more clear error codes when bootloader encryption fails 2020-04-24 12:43:47 -03:00
Felipe Neves
b3d8847406 flash_encryption: added wdt feed during encryption process to avoid undesired reset. 2020-04-24 12:43:47 -03:00
Felipe Neves
7635dce502 bootloader/flash_encrypt: added esp32s2 flash encryption code on build system and enabled example
flash_enctryption: enabled flash encryption example on esp32s2

bootloader: raise WDT overflow value providing sufficient interval to encrypt app partition

flash_ encrypt: Fixed the TODOs on flash encryption key generation for esp32s2

flash_encryption: added secure boot features to flash enctryption for esp32s2

bootloader: leave only esp32s2 compatible potentially insecure options on menuconfig.

flash_encryption: removed secure boot version 1 from esp32s2 encryption code

flash_encryption:  added  CONFIG_SECURE_FLASH_REQUIRE_ALREADY_ENABLED option for esp32s2

flash_encryption: fixed the count of left plaintext flash

flash_encryption: disable dcache and icache download when using encryption in release mode

flash_encryption:  add cache potentally insecure options for s2 chips

flash_encryption: fixed bug which bricked some chips in relase mode
2020-04-24 12:43:47 -03:00
Ivan Grokhotkov
cd1aba595e Merge branch 'bugfix/mpu_panic' into 'master'
Fix issue with mpu illegal access test

See merge request espressif/esp-idf!8418
2020-04-24 20:54:08 +08:00
Michael (XIAO Xufeng)
77d5e4b4e2 Merge branch 'bugfix/timer_group_intr_enable' into 'master'
Bugfix/timer group intr enable

Closes IDFGH-3082

See merge request espressif/esp-idf!8340
2020-04-24 18:28:36 +08:00
Renz Bagaporo
5abb4f6455 esp_system, esp_common: fixes to some panic handler refactor issues 2020-04-24 16:34:15 +08:00
Renz Bagaporo
4571fb219f soc: change region in mpu test
Previously, the test uses region 3 for the illegal access test
(0x60000000 - 0x7fffffff). This caused issues with there being
peripherals located in that memory range. Change to use region 4
(0x8000000 - 0x9fffffff) instead).
2020-04-24 16:34:15 +08:00
David Cermak
9e58d94a42 esp-mesh: Added example showing internal IP capable mesh network 2020-04-24 07:32:58 +02:00
David Cermak
bcee69ae06 esp-netif: Enable easier configuration of custom DHCP server address 2020-04-24 07:32:58 +02:00
Angus Gratton
b26f93415e secure boot v2: Add anti-FI check that secure boot not enabled yet
Prevent a fault from causing bootloader to trust the provided signature incorrectly.
2020-04-24 15:03:31 +10:00
Angus Gratton
fc4b653729 secure boot v2: Don't check efuse BLK2 if only boot-time signature verification is enabled 2020-04-24 15:03:03 +10:00
Angus Gratton
fc0d6a99f8 secure boot v2: Don't log warnings when BLK2 is empty as expected
If BLK2 is empty then it's OK to continue with a warning (otherwise it may spook users into thinking
something this is wrong, but this is the expected workflow.)

If BLK2 is not empty and doesn't match then we need to fail because it won't be possible to
trust the signature.
2020-04-24 14:43:55 +10:00
Jiang Jiang Jian
741960d5ce Merge branch 'bugfix/Add_softap_example_channel_configuration' into 'master'
esp_wifi:Add softap example channel configuration

See merge request espressif/esp-idf!8387
2020-04-24 11:21:45 +08:00
Jiang Jiang Jian
79288f25e4 Merge branch 'bugfix/fix_esp32s2_package_recv_issue' into 'master'
esp_wifi: Update esp32s2 phy lib v303

Closes WIFI-2141 and WIFI-2142

See merge request espressif/esp-idf!8321
2020-04-24 11:19:48 +08:00
Ivan Grokhotkov
8a007dcbc2 Merge branch 'bugfix/ci_unterminated_sdkconfig_defaults' into 'master'
CI: Add EOL to sdkconfig.defaults before adding sdkconfig.ci

See merge request espressif/esp-idf!8437
2020-04-23 22:49:18 +08:00
Ivan Grokhotkov
275ed32a11 Merge branch 'feature/esp32s2_iram_dram_protection' into 'master'
esp32s2: IRAM/DRAM memory protection

See merge request espressif/esp-idf!8156
2020-04-23 21:52:54 +08:00
David Čermák
3d868ec05d Merge branch 'bugfix/ppp_test_check_netif' into 'master'
ppp-test: addressing stability of PPP test

See merge request espressif/esp-idf!8373
2020-04-23 21:47:40 +08:00
morris
91e62f4e37 timer_group: update hal api && fix intr_enable
timer group interrupt enable is controled by level_int_ena instead of int_ena

Closes https://github.com/espressif/esp-idf/issues/5103
2020-04-23 19:29:15 +08:00
morris
e0b9f7be6d periph_clk_gating: add reference counter 2020-04-23 19:29:15 +08:00
morris
99f0dc78c8 soc: remove mcpwm description file from esp32s2 2020-04-23 19:26:55 +08:00
Marius Vikhammer
dc2c753a7d doc: remove links to translation if building PDF
Closes IDF-1579
2020-04-23 18:59:37 +08:00
Angus Gratton
8a349d7102 Merge branch 'fix/ci_example_test_prov' into 'master'
CI: Fix prov example test exception handle

See merge request espressif/esp-idf!8413
2020-04-23 17:00:10 +08:00
xueyunfei
4e2989e40c fixbug for tcp kill state assert 2020-04-23 15:38:49 +08:00
David Cermak
a245f5047a ppp-test: wait for graceful disconnect when PPP shutdowns 2020-04-23 05:55:17 +00:00
David Cermak
b3749e38f9 ppp-test: check if ppp interface is active and IP address correct before starting the test
Addressing stability of pppos test:
* listing active network interfaces for presence of "ppp0" interface
* fixed IPv6 address regex to prevent ttfw accept partial address only
(less than 8 octets)
* workaround crash after exiting app_main()
2020-04-23 05:55:17 +00:00
Michael (XIAO Xufeng)
7ec4d64b80 spi: Update documents about the bus lock and how to use SPI Master on SPI1 bus 2020-04-23 12:27:25 +08:00
Ivan Grokhotkov
28efe511f4 Merge branch 'bugfix/semihosting_write' into 'master'
Semihosting fixes for write and the  semihost example

See merge request espressif/esp-idf!8290
2020-04-23 06:26:41 +08:00
Shivani Tipnis
745e979283 CI: Fix prov example test cryptography package version exception handling 2020-04-23 00:27:40 +05:30
Mahavir Jain
44939a6b1e Merge branch 'feature/iram_data_bss' into 'master'
esp32: IRAM_DATA_ATTR and IRAM_BSS_ATTR introduced

See merge request espressif/esp-idf!8377
2020-04-22 21:44:44 +08:00
Roland Dobai
14978aef70 CI: Add EOL to sdkconfig.defaults before adding sdkconfig.ci 2020-04-22 15:29:06 +02:00
Roland Dobai
511135989c tools: Autodetect the target of MAP files in idf_size.py 2020-04-22 13:12:56 +02:00
michael
1ca25688a8 freertos: place xQueueGenericCreateStatic into flash
`xQueueGenericCreateStatic` is placed into flash by the linker script to
reduce IRAM usage.  This will also cause the `xRingbufferCreate` not
not callable when cache is disabled.
2020-04-22 16:06:13 +08:00
michael
fdf983e0c4 spi: fix config break and reduce overhead of the bus lock on SPI1
The SPI bus lock on SPI1 introduces two side effects:

1. The device lock for the main flash requires the
`CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION` to be selected, however this
option is disabled by default in earlier IDF versions. Some developers
may find their project cannot be built by their old sdkconfig files.

2. Usually we don't need the lock on the SPI1 bus, due to it's
restrictions. However the overhead still exists in this case, the IRAM
cost for static version of semaphore functions, and the time cost when
getting and releasing the lock.

This commit:

1. Add a CONFIG_SPI_FLASH_BYPASS_MAIN_LOCK option, which will forbid the
space cost, as well as the initialization of the main bus lock.

2. When the option is not selected, the bus lock is used, the
`CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION` will be selected explicitly.

3. Revert default value of `CONFIG_FREERTOS_SUPPORT_STATIC_ALLOCATION`
to `n`.

introduced in 49a48644e4.

Closes https://github.com/espressif/esp-idf/issues/5046
2020-04-22 16:06:13 +08:00
He Yin Ling
c2e068f0e4 Merge branch 'bugfix/ci_partition_table_detection' into 'master'
CI: Fix partition table detection if "partition" is in the project name

See merge request espressif/esp-idf!8223
2020-04-22 15:10:11 +08:00
Wang Jia Lin
e3f85faee5 Merge branch 'bugfix/fix_spi_flash_clock_config_error' into 'master'
flash: fix spi flash clock config error

Closes IDFGH-3077

See merge request espressif/esp-idf!8384
2020-04-22 12:44:17 +08:00
Krzysztof Budzynski
0842aed2bc Merge branch 'doc/submodule_links' into 'master'
doc: roles for linking files now correctly links to submodule repositories

Closes IDF-1584

See merge request espressif/esp-idf!8405
2020-04-22 01:49:18 +08:00
Alexey Gerenkov
c0610a49b4 tools: Updates OpenOCD version to 'v0.10.0-esp32-20200420' 2020-04-21 19:43:58 +03:00
Martin Vychodil
7491ea677a esp32s2: IRAM/DRAM memory protection
* new mem_prot API
* mem_prot on & locked by default (see Kconfig)
* feature activated in start_cpu0_default()

JIRA IDF-1355
2020-04-21 15:10:58 +02:00
Michael (XIAO Xufeng)
e2fc591a20 Merge branch 'bugfix/esp_flash_revert_qe_clear' into 'master'
esp_flash: fix the regression of non-quad mode by default chip driver, bugs in add_device and deprecate cs_id

See merge request espressif/esp-idf!8260
2020-04-21 17:52:42 +08:00
xueyunfei
b2a3b2a4f4 fixbug for set dhcp time fail 2020-04-21 14:28:39 +08:00
Angus Gratton
2433fe664d Merge branch 'doc/wdt_config' into 'master'
docs: Add details about WDT config

See merge request espressif/esp-idf!7838
2020-04-21 11:51:42 +08:00
Ivan Grokhotkov
1a7dbe22da Merge branch 'bugfix/wrong_cpp_guard' into 'master'
Bugfix/wrong cpp guard

Closes IDFGH-3129 and IDF-1219

See merge request espressif/esp-idf!8403
2020-04-20 18:47:28 +08:00
Ivan Grokhotkov
28b9acabe2 Merge branch 'bugfix/shell_runner_fails_pacman' into 'master'
Fix cmake component management test on shell runners

See merge request espressif/esp-idf!8398
2020-04-20 18:23:42 +08:00
Jiang Jiang Jian
80e5eb896c Merge branch 'optimization/DNS_get_function' into 'master'
lw-ip:optimization DNS get function

Closes WIFI-1566

See merge request espressif/esp-idf!8244
2020-04-20 16:52:22 +08:00
Marius Vikhammer
e7d92b857e doc: roles for linking files now correctly links to submodule repositories
Closes IDF-1584
2020-04-20 15:59:41 +08:00
Sergei Silnov
44d77c7100 Fix cmake component management test on shell runners 2020-04-20 09:25:03 +02:00
morris
5d0860f2e8 fix broken CONFIG_LEGACY_INCLUDE_COMMON_HEADERS 2020-04-20 14:01:09 +08:00
Ivan Grokhotkov
8ee1ec1270 Merge branch 'bugfix/pyyaml_test_config_output_unicode' into 'master'
test_config: pyyaml will generate !!python/unicode in test_config

See merge request espressif/esp-idf!8288
2020-04-20 02:21:11 +08:00
Krzysztof Budzynski
e45794d0cb Merge branch 'doc/pdf_generation' into 'master'
PDF generation for build doc

Closes IDF-1217 and IDF-1464

See merge request espressif/esp-idf!8110
2020-04-20 01:44:42 +08:00
Hrudaynath Dhabe
d8a7cfdde4 wpa_supplicant: Minor bugfix with wpa_supplicant debug logs. 2020-04-19 16:40:06 +05:30
dowster
7b02fdf45a Fix typo with sigmadelta.h #ifdef 2020-04-17 22:52:00 -05:00
Sachin Parekh
1e6c25992e esp32: IRAM_DATA_ATTR and IRAM_BSS_ATTR introduced
Using these attributes, .data and .bss can be placed in IRAM

Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2020-04-17 19:35:23 +05:30
Michael (XIAO Xufeng)
9d9d22c920 esp_flash: deprecate the cs_id member, which is no longer used.
We used to manually specify the CS id. However after the SPI bus lock is
introduced, the lock is responsible to assign the CS lines and provide
the CS id. The esp_flash driver now depends on the ID assigned by the
SPI bus lock, the configuration field is deprecated.
2020-04-17 18:15:33 +08:00
Michael (XIAO Xufeng)
5404e3d434 esp_flash: fix cache exception when CS pin is through IOMUX 2020-04-17 18:15:33 +08:00
Michael (XIAO Xufeng)
11501dbaa9 esp_flash: fix the cleanup when add device fails 2020-04-17 18:15:32 +08:00
Michael (XIAO Xufeng)
dc26065a72 esp_flash: fix the regression of non-quad mode by default chip driver
The issue is introduced in 571864e8ae. The
esp_flash API tries to clear the QE bit when the flash is not working in
quad modes.

However this introduces a regression, compared to earlier versions and
the legacy API. When the chip is not detected, the generic chip driver
is used, which cannot 100% handle the QE bit properly for all flash
vendors. There may be some flash chips (e.g. MXIC) that can be used in
dual modes by legacy API, but output wrong data when the esp_flash API
clears the QE bit in a wrong way.

This commit reverts the QE force clearing behavior, so that it's safer
for the generic chip driver to work under dual modes.
2020-04-17 18:15:31 +08:00
Ivan Grokhotkov
b732abec7f Merge branch 'bugfix/freemodbus_add_cpp_extern' into 'master'
freemodbus: add extern c block into common header for cpp

Closes IDFGH-3046

See merge request espressif/esp-idf!8281
2020-04-17 17:56:51 +08:00
Alex Lisitsyn
b1fe4c4cc6 freemodbus: add extern c block into common header for cpp 2020-04-17 17:56:50 +08:00
Ivan Grokhotkov
9003c01b4b Merge branch 'init_priority_fix' into 'master'
CXX: make __attribute__((init_priority(n))) work

See merge request espressif/esp-idf!8276
2020-04-17 17:56:10 +08:00
xiehang
2d6f7f25e3 esp_wifi:Add softap example channel configuration 2020-04-17 17:31:46 +08:00
chenjianqiang
ec9cc27e08 flash: fix spi flash clock config error
Closes https://github.com/espressif/esp-idf/issues/5099
2020-04-17 16:26:26 +08:00
Ivan Grokhotkov
46e9aef6c9 tools/check_python_dependencies: print diagnostic info on failure
Helps collect more data for cases such as:
https://github.com/espressif/esp-idf/issues/5133
2020-04-16 11:58:16 +02:00
Ivan Grokhotkov
f245a518be Merge branch 'bugfix/idfpy_debug_openocd_error' into 'master'
idf.py: debug ext prints detailed info/hint on common openocd issues

See merge request espressif/esp-idf!8344
2020-04-16 14:26:38 +08:00
Mahavir Jain
4e71cb3e68 Merge branch 'bugfix/transport_ssl_reset_state_on_closure' into 'master'
transport_ssl: reset state on connection closure

See merge request espressif/esp-idf!8355
2020-04-16 12:38:58 +08:00
David Čermák
d043674b2b Merge branch 'feature/lwip_napt_forward' into 'master'
lw-IP: NAT support

Closes WIFI-931

See merge request espressif/esp-idf!7681
2020-04-16 03:03:00 +08:00
Krzysztof Budzynski
412c43d9b9 Merge branch 'docs/saola-1-guide' into 'master'
Add links to translation in Saola board user guide

See merge request espressif/esp-idf!8124
2020-04-15 22:23:27 +08:00
Wang Ning
efba523b54 Add links to translation in Saola board user guide 2020-04-15 22:23:26 +08:00
Krzysztof Budzynski
50e5549acd Merge branch 'docs/tcpip_adapter_migration_update' into 'master'
Fix a typo error based on DOC-111

See merge request espressif/esp-idf!8323
2020-04-15 22:03:58 +08:00
Andrei Gramakov
283026a761 vfs: semihost driver bugfix 2020-04-15 15:46:47 +02:00
Ivan Grokhotkov
882fd1b880 Merge branch 'bugfix/make_quoting_esptool_port' into 'master'
make: Fix quoting when flashing port is set via sdkconfig file

Closes IDFGH-3103 and IDFGH-3083

See merge request espressif/esp-idf!8352
2020-04-15 20:37:20 +08:00
xiehang
5d20610874 esp_wifi: Update esp32s2 phy lib v303 2020-04-15 20:18:42 +08:00
Mahavir Jain
49ce8d3fe5 transport_ssl: reset state on connection closure
For url redirection cases (HTTP status 301/302), internal
transport ssl connection state must be reinitialized for
successful (new) connection on updated url.

Closes https://github.com/espressif/esp-idf/issues/4598
2020-04-15 15:22:32 +05:30
Marius Vikhammer
8a3d806798 doc: update CI to build PDF 2020-04-15 17:14:27 +08:00
Marius Vikhammer
407275f681 doc: add latex and PDF generation to build_docs
Adds options for generating tex-files and PDFs when building documentation

Closes IDF-1217
Closes IDF-1464
2020-04-15 17:14:22 +08:00
Wang Ning
6d3f35f651 Fix a typo error based on DOC-111 2020-04-15 09:08:43 +00:00
Angus Gratton
b18ce2f686 doc: Add configuration information about INT & Task WDTs 2020-04-15 17:30:05 +10:00
Angus Gratton
100578a9e9 heap: Only fill new heaps with FREE_FILL_PATTERN if Comprehensive poisoning is on
Significantly speeds up heap initialization at startup when default "Light" heap
poisoning is enabled.

Tip via reddit user LinkeSeitentasche https://www.reddit.com/r/esp32/comments/fnj51a/a_guide_to_improving_esp32_boot_speed/
2020-04-15 07:16:08 +00:00
Angus Gratton
433c1c9ee1 Merge branch 'bugfix/ds_mpi_lock' into 'master'
crypto: DS uses RSA peripheral, added shared lock

See merge request espressif/esp-idf!8274
2020-04-15 15:15:25 +08:00
David Cermak
2c2f909133 idf.py: debug ext prints detailed info/hint on common openocd issues 2020-04-15 09:07:17 +02:00
David Čermák
7993d5c1f7 Merge branch 'bugfix/mqtt_aborts' into 'master'
esp_mqtt_abort_connection: Fixed an issue which could result in a race condition

Closes IDF-1521

See merge request espressif/esp-idf!8205
2020-04-15 14:37:01 +08:00
David Čermák
5e51b5dd09 Merge branch 'bugfix/ws_client_fragmented_send' into 'master'
ws_client: fix fragmented send setting proper opcodes

Closes IDFGH-2938

See merge request espressif/esp-idf!8112
2020-04-15 14:06:42 +08:00
Jiang Jiang Jian
80cee782a6 Merge branch 'bugfix/make_compile_phy_multiple_bin_error' into 'master'
bugfix: fix make compile phy multiple bin error

See merge request espressif/esp-idf!8299
2020-04-15 14:03:27 +08:00
David Čermák
e7b80f2b71 Merge branch 'feature/pppos_client_test' into 'master'
PPPoS client test

Closes IDF-310, WIFI-1652, IDFGH-2844, and IDFGH-2732

See merge request espressif/esp-idf!7794
2020-04-15 13:57:36 +08:00
Angus Gratton
e02f5fbbed Merge branch 'bugfix/get_component_requirements' into 'master'
cmake: fix getting component requirements

See merge request espressif/esp-idf!8171
2020-04-15 13:52:49 +08:00
Angus Gratton
90b3676280 make: Fix quoting when flashing port is set via sdkconfig file
Regression in 862fa815ff

Closes https://github.com/espressif/esp-idf/issues/5124
Closes https://github.com/espressif/esp-idf/issues/5104
2020-04-15 15:43:36 +10:00
Jiang Jiang Jian
0f1680c752 Merge branch 'feature/dpp_porting' into 'master'
wpa_supplicant: Port DPP crypto functionality from mainline supplicant repository.

See merge request espressif/esp-idf!7513
2020-04-15 13:37:30 +08:00
Mahavir Jain
b28a5cfd22 Merge branch 'feature/mbedtls_ecjpake_config_option' into 'master'
mbedtls: add configuration options for EC-JPAKE

Closes IDFGH-3085

See merge request espressif/esp-idf!8325
2020-04-15 12:57:10 +08:00
xueyunfei
8b036a8405 optimization DNS get function 2020-04-15 03:06:28 +00:00
ronghulin
f5f2cbcb50 bugfix: fix make compile phy multiple bin error 2020-04-15 10:19:54 +08:00
Angus Gratton
552bf7be4a doc: Specify that sleep wakeup source restrictions apply to all current ESP32 revisions
Closes https://github.com/espressif/esp-idf/issues/4681

Discussion https://esp32.com/viewtopic.php?f=13&t=15145
2020-04-15 09:39:10 +10:00
David Cermak
6aabfd50d5 pppos_client: support for PPPAUTHTYPE_NONE
Closes https://github.com/espressif/esp-idf/issues/4616
Closes WIFI-1652
2020-04-14 21:46:07 +02:00
David Cermak
817c0e3019 esp_modem: UART runtime configuration of esp-modem
Basic set of configuration related to UART moved from KConfig
to runtime configuration structure to simplify reusing the component for
testing and examples.
2020-04-14 21:46:07 +02:00
Axel Lin
0784426d6b esp_modem: Ensure uart_param_config and uart pins are set before uart_driver_install
Fixes Guru Meditation Error: Core 0 panic'ed (LoadProhibited) when config with
CONFIG_PM_ENABLE=y && CONFIG_PM_DFS_INIT_AUTO=y.

Signed-off-by: Axel Lin <axel.lin@gmail.com>

Merges https://github.com/espressif/esp-idf/pull/4904
2020-04-14 21:46:07 +02:00
David Cermak
636621d1c5 pppos_client: Add a test application for pppos_client
Adding testing facilities for pppos-client including esp-modem component
and PPP client in lwip. Testing is provided with PPP server running on
rpi.
2020-04-14 21:46:07 +02:00
David Cermak
745f062e07 esp_modem: pppos_client modem to use uart with REF_TICK
pppos_client example used the UART default clock configuration which might
cause issues if power management enabled. Settings updated to UART_SCLK_REF_TICK
Also need to explicitly disable RX interrupts in UART pattern detection
mode.

Closes https://github.com/espressif/esp-idf/issues/4801
2020-04-14 21:46:07 +02:00
Piyush Shah
6c09993e20 esp_mqtt_abort_connection: Fixed an issue which could result in a race condition and subsequent crash 2020-04-14 16:18:20 +02:00
David Cermak
14992e62c5 ws_client: fix fragmented send setting proper opcodes
Previous implementation violated the RFC by having both the actual opcode and WS_FIN flag set for all fragments of a message.
Fixed by setting the opcode only for the first fragment and WS_FIN for the last one

Closes IDFGH-2938
Closes https://github.com/espressif/esp-idf/issues/4974
2020-04-14 16:11:32 +02:00
David Cermak
94d320473c LwIP: NAPT functionality
Adds Kconfig option to enable experimental NAPT feature for IP packet
forwarding across interfaces.

Closes https://github.com/espressif/esp-idf/issues/1527
2020-04-14 16:04:37 +02:00
kapil.gupta
ab784bb53a wpa_supplicant: Port dpp feature from supplicant
Add files required for DPP feature from upstream.
These file expose the functionality to create DPP packets.
Ported crypto layer from openssl to mbedtls.

Interfacing to use these API will be added in seperate commit
2020-04-14 18:53:35 +05:30
kangping
4883010f40 mbedtls: add configuration options for EC-JPAKE
Closes https://github.com/espressif/esp-idf/pull/5106
2020-04-14 12:22:16 +00:00
Mahavir Jain
d85d3d969f Merge branch 'bugfix/remove_libsodium_s2_config' into 'master'
unit_test_app: remove libsodium config for esp32s2

See merge request espressif/esp-idf!8341
2020-04-14 20:19:48 +08:00
Ivan Grokhotkov
5cf8c68881 Merge branch 'bugfix/idf_py_ext_debug_ut_coex' into 'master'
idf.py: fix debug extenstion to work with unit tests

See merge request espressif/esp-idf!8306
2020-04-14 17:30:59 +08:00
Mahavir Jain
b83c3bbb66 unit_test_app: remove libsodium config for esp32s2
This configuration overflows DRAM size for esp32s2 and hence
resulting in CI failure. Removing this config as it does not
add any value in esp32s2 context.
2020-04-14 12:35:19 +05:30
Mahavir Jain
4f8a88b145 Merge branch 'bugfix/esp_tls_conn_write_doc' into 'master'
Fixed `esp_tls_conn_write` documentation.

See merge request espressif/esp-idf!7999
2020-04-14 14:34:08 +08:00
Anton Maklakov
e24da716f3 Merge branch 'bugfix/ci_public_header_debug' into 'master'
ci: public header check to display error messages if verbose is off

See merge request espressif/esp-idf!8283
2020-04-12 01:21:59 +08:00
Krzysztof Budzynski
e1ab4b6711 Merge branch 'bugfix/uart_echo_readme' into 'master'
example: Remove duplicate commands and invalid serial port information

Closes IDFGH-3022

See merge request espressif/esp-idf!8295
2020-04-11 01:52:01 +08:00
Jiang Jiang Jian
8a7db8f513 Merge branch 'bugfix/fix_errors_with_mbedtls_disabled' into 'master'
wpa_supplicant: Fix compilation errors when USE_MBEDTLS is disabled.

See merge request espressif/esp-idf!8305
2020-04-10 21:17:03 +08:00
Jiang Jiang Jian
4d9bb3ca71 Merge branch 'bugfix/wifi_station_examples_event_error' into 'master'
Fix instance names for event handler unregister

Closes WIFI-2122

See merge request espressif/esp-idf!8282
2020-04-10 20:56:39 +08:00
Marius Vikhammer
71ab83cdfb aes: increase timeout for "mbedtls AES performance" test
Timeout increased to 60 sec from default 30 sec.

Test would occasionally timeout on S2 due to cache misses.
2020-04-10 15:49:40 +08:00
Michael (XIAO Xufeng)
69b6ca6a70 Merge branch 'bugfix/mcpwm_period_error_MR' into 'master'
bugfix(mcpwm_period_error): fix the issue of wrong period

See merge request espressif/esp-idf!7734
2020-04-10 15:26:12 +08:00
Jiang Jiang Jian
3feffdfe03 Merge branch 'bugfix/psram_single_bit_error' into 'master'
bugfix(psram): support psram 2T mode to fix single bit error

See merge request espressif/esp-idf!6936
2020-04-10 15:04:15 +08:00
Wang Jia Lin
b3d8b6a250 Merge branch 'bugfix/fix_esp32s2_soc_bug' into 'master'
RTC regulator & voltage calibration fixes

See merge request espressif/esp-idf!8137
2020-04-10 14:25:41 +08:00
Chai Ji’e
dac17709ec RTC regulator & voltage calibration fixes 2020-04-10 14:25:40 +08:00
David Cermak
ec391ddfa1 idf.py: fix debug extenstion to work with unit tests 2020-04-09 14:54:10 +02:00
Sagar Bijwe
665b0b4b3b wpa_supplicant: Fix compilation errors when USE_MBEDTLS is disabled.
This is a regression from earlier commit related to TLSV12 which used
sha functions that are currently declared static.
Solution: Follow upstream code structure and resolve the errors.
2020-04-09 16:53:41 +05:30
Marius Vikhammer
a2a204c2b9 crypto: DS uses RSA peripheral, added shared lock 2020-04-09 11:11:04 +00:00
Ivan Grokhotkov
a521921788 Merge branch 'feature/build_app_readable_multi_target' into 'master'
build_app: make multi target support readable

See merge request espressif/esp-idf!8275
2020-04-09 16:40:57 +08:00
Fu Hanxi
5b2fa1a5ad build_app: make multi target support readable 2020-04-09 16:40:57 +08:00
Anton Maklakov
445e847274 Merge branch 'bugfix/ci_app_test_dependency' into 'master'
CI: correct example vs. custom tests dependency

See merge request espressif/esp-idf!8258
2020-04-09 14:02:13 +08:00
David Cermak
ce0c70770d ci: public header check to display error messages if verbose is off
Also added a command line option to reduce the analysis to a specific
directory only. This is useful for local execution for checking updated
headers with verbose flag set.
2020-04-09 07:44:55 +02:00
Angus Gratton
766d8844e6 Merge branch 'bugfix/test_sha_ccomp_timer' into 'master'
esp32s2 sha test: update "Test esp_sha" to use cache compensated timer for performance measuring

See merge request espressif/esp-idf!8237
2020-04-09 12:25:58 +08:00
Ivan Grokhotkov
2e14149bff Merge branch 'feat/monitor_remake_with_serial_arg' into 'master'
idf_monitor: support to re-flash with the using port

Closes IDFGH-2479 and IDF-836

See merge request espressif/esp-idf!6373
2020-04-09 05:43:32 +08:00
Ivan Grokhotkov
8bf18d868a Merge branch 'bugfix/crt_bundle_mem_leak' into 'master'
cert bundle: Fix memory leak during cert verification

Closes IDFGH-2950

See merge request espressif/esp-idf!8117
2020-04-09 05:41:41 +08:00
Ivan Grokhotkov
7a972c7191 Merge branch 'bugfix/nvs_erase_more_graceful' into 'master'
NVS: more graceful behavior for erasing partitions

See merge request espressif/esp-idf!7885
2020-04-09 05:41:17 +08:00
David Cermak
6d07bcd611 mqtt-tests: rename tests to match the actual group 2020-04-08 14:41:05 +02:00
David Cermak
25803b9dc4 ci: run custom-test separately from example-tests 2020-04-08 14:41:05 +02:00
Roland Dobai
6adb1a0609 example: Remove duplicate commands and invalid serial port information
Closes https://github.com/espressif/esp-idf/issues/5049
2020-04-08 13:17:48 +02:00
Angus Gratton
8ded54a65d Merge branch 'feature/easy_debug' into 'master'
idf.py: add debug related targets

Closes IDF-890

See merge request espressif/esp-idf!5602
2020-04-08 16:08:10 +08:00
Ivan Grokhotkov
651dbe48e7 Merge branch 'feature/gcovr' into 'master'
app_trace: Add coverage generations by gcovr

Closes IDF-780

See merge request espressif/esp-idf!8168
2020-04-08 15:57:08 +08:00
Angus Gratton
9300f0e7b0 Merge branch 'bugfix/logging_compilation_fix_anti_rollback' into 'master'
Minor fix logging issue hindering compilation on anti rollback.

See merge request espressif/esp-idf!8105
2020-04-08 15:53:48 +08:00
Angus Gratton
2bdf22b25d Merge branch 'bugfix/sha_alloc_fallback' into 'master'
sha: add fallback for when memory alloc fails

See merge request espressif/esp-idf!8177
2020-04-08 14:15:52 +08:00
Renz Bagaporo
bd8f616f82 cmake: fix getting component requirements 2020-04-08 05:42:15 +00:00
Angus Gratton
573d5f4eb0 Merge branch 'bugfix/flash_target_deps_on_spiffs_gen_images' into 'master'
spiffs: restore dependency of flash targets on spiffs images

See merge request espressif/esp-idf!8277
2020-04-08 12:43:11 +08:00
Angus Gratton
6c1f12066d Merge branch 'bugfix/error_on_building_in_idf_path' into 'master'
cmake: Error out when building in IDF_PATH dir

See merge request espressif/esp-idf!8284
2020-04-08 12:42:18 +08:00
Angus Gratton
73825cfd8a Merge branch 'bugfix/elf_dir' into 'master'
cmake: add elf dir information

See merge request espressif/esp-idf!8264
2020-04-08 12:41:23 +08:00
Angus Gratton
5d3591c037 Merge branch 'bugfix/mpu_hal' into 'master'
soc: mpu hal fixes

See merge request espressif/esp-idf!7895
2020-04-08 12:40:53 +08:00
Renz Bagaporo
acb7a211dd partition_table: do not always display partition table contents on build 2020-04-08 11:38:43 +08:00
Fu Hanxi
76d118577e test_config: fix the bug that will generate !!python/unicode
As an example, [7964999 example_test_002_](https://gitlab.espressif.cn:6688/espressif/esp-idf/-/jobs/7964999/artifacts/file/examples/test_configs/example_test_002_.yml)
2020-04-08 11:19:13 +08:00
Marius Vikhammer
d193790f85 doc: update flash encryption with S2 specific content 2020-04-08 11:17:31 +08:00
Kirill Chalov
0cc9ffb8f7 Implement comments and add info on ESP32S2 2020-04-08 10:30:22 +08:00
Kirill Chalov
9ed60af1f2 Review security/flash-encryption.rst 2020-04-08 10:30:22 +08:00
Jakob Hasse
4943b1cbf0 CXX: make __attribute__((init_priority(n))) work
* Added corresponding test case
* Moved all C++ init tests to separate file

Closes https://github.com/espressif/esp-idf/issues/5038
2020-04-08 09:11:54 +08:00
David Cermak
3b5c3d6521 idf.py: debug targets for easier execution of openocd, gdb, gdbui
Support for execution of asynchronous target, such as openocd, which
by default runs in the background, but if it's the only target idf.py
outputs the openocd in the console waiting for termination by user.

Supports also blocking commands gdb and gdbtui to start a debugging
session in an active console.

Supports running gdbgui running a UI debugging session in a browser
window, using the active console for other commands, such as openocd
or monitor.

Supports combining the debug targets in one action list, such as
idf.py openocd gdbgui monitor
2020-04-07 17:37:48 +02:00
David Cermak
3116dfede7 msys2: add package mingw-w64-i686-gcc for installing python packages 2020-04-07 16:58:26 +02:00
ronghulin
f0744184f5 fix: add event unregister comment 2020-04-07 21:53:50 +08:00
Renz Bagaporo
4eb83cacd0 cmake: error out on building in IDF_PATH root dir 2020-04-07 20:51:53 +08:00
Jari Jokinen
266b0c3889 Fix instance names for event handler unregister
Signed-off-by: ronghulin <ronghulin@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/5064
2020-04-07 20:30:19 +08:00
Marius Vikhammer
832599718d cert bundle: add server_root.pem incase bundle needs to be regenerated 2020-04-07 18:51:26 +08:00
Marius Vikhammer
9ccc5e6d84 cert bundle: Fix memory leak during cert verification
Also refactors the unit tests and fixes the test case, as it was giving false positives.

Closes IDFGH-2950

Closes https://github.com/espressif/esp-idf/issues/4983
2020-04-07 18:50:30 +08:00
Ivan Grokhotkov
ef47839628 Merge branch 'bugfix/macos_build_test' into 'master'
ci: use default Bash version in macOS test

See merge request espressif/esp-idf!8278
2020-04-07 18:15:42 +08:00
Renz Bagaporo
07f9978df7 cmake: add elf dir information
Solves https://www.esp32.com/viewtopic.php?f=13&t=14784&p=57557&hilit=assumes#p57557
2020-04-07 17:19:33 +08:00
Renz Bagaporo
9a020cbb40 spiffs: restore dependency of flash targets on spiffs images
Closes https://github.com/espressif/esp-idf/issues/5066
2020-04-07 17:01:58 +08:00
Anton Maklakov
52338e9cda Merge branch 'maint/update_oocd_tool_ver' into 'master'
Updates OpenOCD version to 'v0.10.0-esp32-20200406'

See merge request espressif/esp-idf!8271
2020-04-07 16:48:36 +08:00
Ivan Grokhotkov
98185db8ad ci: use default Bash version in macOS test 2020-04-07 09:50:59 +02:00
Jiang Jiang Jian
5b89cc3d62 Merge branch 'bugfix/fix_API_esp_wifi_stop_crash_issue' into 'master'
bugfix: fix esp_wifi_stop crash issue

Closes WIFI-2078

See merge request espressif/esp-idf!8180
2020-04-07 14:21:02 +08:00
Renz Bagaporo
d2ad5d937e soc: add test for setting mpu illegal access 2020-04-07 11:38:26 +08:00
Renz Bagaporo
ece80dbc8e soc: mpu hal fixes 2020-04-07 11:38:26 +08:00
ronghulin
c65c30c60a bugfix: fix esp_wifi_stop crash issue 2020-04-07 11:12:43 +08:00
Angus Gratton
604360b98c Merge branch 'feature/efuse_purpose_api' into 'master'
efuse: Add an API to return the efuse descriptor for a key block's purpose field

See merge request espressif/esp-idf!8269
2020-04-07 08:26:45 +08: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
michael
862fa815ff esptool: add quotes to allow complicated serial port path
Especially for Windows COM format: \\\.\COMx, introduced in
b00cea250f
2020-04-07 01:31:39 +08:00
Alexey Gerenkov
e60edcfbcf tools: Updates OpenOCD version to 'v0.10.0-esp32-20200406' 2020-04-06 19:18:26 +03:00
Ivan Grokhotkov
f7ca36513e Merge branch 'feature/semihosting_refactoring' into 'master'
Feature/semihosting refactoring

See merge request espressif/esp-idf!7475
2020-04-06 23:44:52 +08:00
Mahavir Jain
9d67c1548e Merge branch 'bugfix/esp_http_client_add_warning' into 'master'
Add error print in http_header_generate_string if buffer size

Closes IDFGH-2996

See merge request espressif/esp-idf!8265
2020-04-06 18:02:41 +08:00
Anton Maklakov
fa3131b870 Merge branch 'bugfix/bash_bin_env' into 'master'
global: use '/usr/bin/env bash' instead of '/usr/bin/bash' in shebangs

Closes IDFGH-708

See merge request espressif/esp-idf!8235
2020-04-06 17:51:43 +08:00
Angus Gratton
16ad24dd00 efuse: Add an API to return the efuse descriptor for a key block's purpose field 2020-04-06 18:33:11 +10:00
Shubham Kulkarni
471b40b0f0 http_header.c: Add error print in http_header_generate_string if buffer size is less than required size
Closes: https://github.com/espressif/esp-idf/issues/5028
2020-04-06 13:22:08 +05:30
Anton Maklakov
d3c301cc99 Merge branch 'bugfix/ttfw_print_debug_exception' into 'master'
ci: ttfw ignored a test failure if exception in debug log

See merge request espressif/esp-idf!8222
2020-04-06 15:35:18 +08:00
Marius Vikhammer
0a41bd3833 esp32s2 sha test: update "Test esp_sha" to use cache compensated timer for performance measuring 2020-04-06 06:37:28 +00:00
David Cermak
e57dbf7c27 http-server-example: correction of regex waiting to acquire IP address
Since the recent refactoring of spi bus_lock comonent introduced heavy logging under debug/verbose level of verbosity, the http-server test executed in the CI became less stable due to complicated regex. Fixed by removing the first optional group
2020-04-05 20:07:27 +02:00
David Cermak
a463e80d43 ci: fix ttfw ignoring test failure if exception in print_debug_info 2020-04-05 20:07:27 +02:00
Jiang Jiang Jian
7d0f1536e4 Merge branch 'bugfix/fix_adc_init_code_setting_for_esp32s2' into 'master'
driver(adc): fix adc calibration for esp32s2

See merge request espressif/esp-idf!8209
2020-04-04 16:06:16 +08:00
fuzhibo
406b8f423d driver(adc): add adc initial code before app_main for esp32s2.
update phy v301
2020-04-04 10:15:30 +08:00
Ivan Grokhotkov
91fdac34da Merge branch 'bugfix/export_path_checks' into 'master'
tools: export script improvements

Closes IDFGH-2277

See merge request espressif/esp-idf!8224
2020-04-03 22:52:36 +08:00
Ivan Grokhotkov
7693226efe Merge branch 'bugfix/add_ut_job' into 'master'
ci: add UT job

See merge request espressif/esp-idf!8251
2020-04-03 22:47:15 +08:00
Andrei Gramakov
305592f1aa vfs: semihosting driver update supporting semihosting_common handler from OpenOCD
- implemented SYS_DRVINFO syscall and version handling for the semihosting driver
- removed a support of old oocd versions

renamed kconfig options:
- CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN to CONFIG_VFS_SEMIHOSTFS_HOST_PATH_MAX_LEN
- CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS to CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS
2020-04-03 16:19:06 +02:00
Michael (XIAO Xufeng)
a0e66fef08 spi: fix the memory accessed while cache disabled issue in the bus lock when log level is verbose
When CONFIG_LOG_DEFAULT_LEVEL is verbose, the ESP_(EARLY_)LOGx will try
to print with format string and tag out of the DRAM while the cache is
disabled. This commit puts the TAG into DRAM, and uses the
'ESP_DRAM_LOGx` to fix the cache miss bug.

Also fixes a LoadProhibited issue when last_dev is NULL.
2020-04-03 15:04:52 +02:00
Ivan Grokhotkov
b1f0ffffc3 ci: add UT job 2020-04-03 14:51:37 +02:00
Ivan Grokhotkov
60086d1bd0 Merge branch 'refactor/systimer_hal' into 'master'
systimer: add HAL layer

See merge request espressif/esp-idf!8115
2020-04-03 18:17:18 +08:00
Roland Dobai
512906fa32 CI: Fix partition table detection if "partition" is in the project name 2020-04-03 11:41:06 +02:00
David Čermák
0f6b0f13b0 Merge branch 'bugfix/ws_example_test_format' into 'master'
Fix format string in websocket example

Closes IDFGH-3025

See merge request espressif/esp-idf!8239
2020-04-03 16:40:48 +08:00
Michael (XIAO Xufeng)
61ce037fc1 Merge branch 'feat/esp_flash_support_mxic' into 'master'
esp_flash: support MXIC flash chips

See merge request espressif/esp-idf!8037
2020-04-03 16:04:49 +08:00
Michael (XIAO Xufeng)
2f8a13c89b Merge branch 'feat/esp_dram_log' into 'master'
log: new macros to log when the cache is disabled

See merge request espressif/esp-idf!8135
2020-04-03 14:51:02 +08:00
Angus Gratton
a7c2e86f87 Merge branch 'feature/ds_peripheral' into 'master'
Security: ESP32S2 Digital Signature HW support

See merge request espressif/esp-idf!8080
2020-04-03 12:10:13 +08:00
Jakob Hasse
98b1da9e60 NVS: more graceful behavior for erasing partitions 2020-04-03 11:48:07 +08:00
Ivan Grokhotkov
a1f5866424 tools: export.{sh,fish}: add otatool.py to PATH 2020-04-03 01:15:29 +02:00
Ivan Grokhotkov
1c4c584e28 tools: export.sh: better detection and checking of IDF_PATH
1. detect IDF_PATH in zsh, if it is not set
2. if IDF_PATH is set, check that it is valid
3. make sure IDF_PATH is exported, not just set

Related to https://github.com/espressif/esp-idf/issues/3793
Closes https://github.com/espressif/esp-idf/pull/4418
Closes https://github.com/espressif/esp-idf/issues/4770
2020-04-03 01:15:29 +02:00
Ivan Grokhotkov
e94288da31 global: use '/usr/bin/env bash' instead of '/usr/bin/bash' in shebangs
Using the method from @cemeyer
(https://github.com/espressif/esp-idf/pull/3166):

find . -name \*.sh -exec sed -i "" -e 's|^#!.*bin/bash|#!/usr/bin/env bash|' {} +

Closes https://github.com/espressif/esp-idf/pull/3166.
2020-04-03 01:10:02 +02:00
Elia Bieri
5288a797ef Fix format string in websocket example 2020-04-02 22:48:58 +02:00
Anton Maklakov
e599b794be Merge branch 'bugfix/ci_nr_ut_jobs' into 'master'
ci: raise number of parallel job count for S2 unit tests

See merge request espressif/esp-idf!8215
2020-04-03 01:06:28 +08:00
michael
ed012abcfa ci: increase S2 job count 2020-04-02 23:55:11 +08:00
Jiang Jiang Jian
79eb0d7a7d Merge branch 'bugfix/fix_ble_hci_desync_deadlock' into 'master'
components/bt: Fix for HCI desync deadlock issue in BLE controller

See merge request espressif/esp-idf!8106
2020-04-02 22:22:17 +08:00
Krzysztof Budzynski
7a92dd431f Merge branch 'bugfix/partition_types_cxx' into 'master'
docs: Explain custom partition types/subtypes in more detail

Closes IDFGH-2882

See merge request espressif/esp-idf!8192
2020-04-02 21:52:52 +08:00
Jiang Jiang Jian
59660c67cd Merge branch 'mesh/power_save_function_with_local_duty' into 'master'
mesh/ps: add mesh network power save function

See merge request espressif/esp-idf!8203
2020-04-02 19:43:12 +08:00
Angus Gratton
dcaa9e385a Merge branch 'bugfix/restore_rtc_wdt_driver' into 'master'
Restore rtc_wdt driver

Closes IDF-1514

See merge request espressif/esp-idf!8148
2020-04-02 19:11:49 +08:00
sushant.chougule
4cd6f09427 components/bt: Fix for HCI desync deadlock issue in BLE controller 2020-04-02 09:54:16 +00:00
David Cermak
09ca8a273c ci: raise number of parallel job count for S2 unit tests 2020-04-02 11:43:03 +02:00
Michael (XIAO Xufeng)
188240d5c7 log: new macros to log when the cache is disabled 2020-04-02 15:35:13 +08:00
David Čermák
3de8b7922f Merge branch 'bugfix/reenable_esp32s2_ut' into 'master'
Re-enable mqtt/esp-netif unit tests for esp32s2

Closes IDF-1398 and IDF-1396

See merge request espressif/esp-idf!8038
2020-04-02 14:43:21 +08:00
Mahavir Jain
6866f9c996 Merge branch 'bugfix/eth2ap' into 'master'
example/eth2ap: Fix station multi-connection problem

See merge request espressif/esp-idf!8051
2020-04-02 13:18:42 +08:00
Jiang Jiang Jian
037ad6f64e Merge branch 'bugfix/fix_supplicant_tlsv12' into 'master'
wpa_supplicant: Fix wpa_supplicant TLS 1.2 issues

Closes WIFI-2003

See merge request espressif/esp-idf!8147
2020-04-02 12:17:59 +08:00
Jiang Jiang Jian
20a972d91e Merge branch 'feat/ble_mesh_ble_adv_simultaneously' into 'master'
ble_mesh: Support BLE advertising simultaneously

Closes BLEMESH-125

See merge request espressif/esp-idf!7802
2020-04-02 12:17:42 +08:00
Jiang Jiang Jian
881cdbd743 Merge branch 'nimble/fix_ble_hs_reset' into 'master'
NimBLE: Reset master and slave states on host reset

Closes IDFGH-2743

See merge request espressif/esp-idf!8139
2020-04-02 12:16:49 +08:00
Michael (XIAO Xufeng)
15026d1b84 Merge branch 'bugfix/fix_adc_driver_for_esp32s2' into 'master'
Bugfix/fix adc driver for esp32s2

Closes IDF-1448, IDF-1449, IDF-1450, IDF-1451, and IDF-1458

See merge request espressif/esp-idf!7776
2020-04-02 11:02:21 +08:00
lly
a919e20c1a ble_mesh: Support BLE advertising simultaneously 2020-04-02 01:03:25 +00:00
Angus Gratton
d76bf19ffd docs: Explain custom partition types/subtypes in more detail
Including how to use with C++ (closes https://github.com/espressif/esp-idf/pull/1832)
2020-04-02 10:00:17 +11:00
qiyuexia
6d01dc4cfa mesh/ps: add mesh network power save function 2020-04-01 22:09:23 +08:00
Michael (XIAO Xufeng)
3b429766bc esp_flash: support MXIC flash chips
The default chip driver (chip_generic) use command 01H + 2 bytes to
clear the QE bit. However this will accidently change the configuration
register value of the MXIC chip.

MXIC chip driver is added to fix that.
2020-04-01 20:54:23 +08:00
Krzysztof Budzynski
8210802703 Merge branch 'bugfix/expand_defines_dict' into 'master'
doc: fix defines dict expansion

See merge request espressif/esp-idf!8169
2020-04-01 20:36:12 +08:00
InfiniteYuan
1f43f025d8 example/eth2ap: fix station multi-connection problem and add channel config item.
Closes https://github.com/espressif/esp-idf/issues/5029
2020-04-01 19:20:30 +08:00
Vikram Dattu
60dc4285f4 Fixed esp_tls_conn_write documentation.
Return value `0` in actual is case of partial write and not error as per `mbedtls_ssl_write`
Modified documentation of `esp_tls_conn_write` accordingly.

Even `esp_wolfssl_write` API considers just negative returns as errors.

Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2020-04-01 11:04:09 +00:00
Ivan Grokhotkov
168660aebf Merge branch 'feature/toolchain_2020r1-RC1' into 'master'
Toolchain 2020r1 support bringing (esp32, esp32s2)

See merge request espressif/esp-idf!7509
2020-04-01 18:17:28 +08:00
Prasad Alatkar
be8c847b06 NimBLE: Reset master and slave states on host reset
Closes IDFGH-2743 & IDFGH-2956
2020-04-01 10:09:26 +00:00
Mahavir Jain
05d95c0e7e Merge branch 'bugfix/esp_http_server_docs' into 'master'
Fixed syntax error in esp_http_server.rst

See merge request espressif/esp-idf!8170
2020-04-01 17:48:16 +08:00
morris
890fc0fe67 esp_timer: alias esp_timer_get_time
alias esp_timer_get_time to improve performance
2020-04-01 16:51:43 +08:00
morris
2d1885b906 systimer: add HAL layer 2020-04-01 16:51:43 +08:00
Krzysztof Budzynski
53879a853d Merge branch 'doc/openocd_security_features' into 'master'
doc: Add caveats about using JTAG debugging with hardware security features

See merge request espressif/esp-idf!8091
2020-04-01 16:50:52 +08:00
Darian Leung
53928ab98b Restore rtc_wdt driver
This commit restores rtc_wdt.c and rtc_wdt.h that were removed
in commit 91841a53.
2020-04-01 16:13:35 +08:00
Ivan Grokhotkov
1ab285bebe Merge branch 'bugfix/ci_config_merge_newlines' into 'master'
ci: Support joining sdkconfig.ci files that don't end in a newline

See merge request espressif/esp-idf!8198
2020-04-01 16:08:02 +08:00
David Cermak
4fad90b0b1 esp-netif: reenabled dhcp unit tests for esp32s2 2020-04-01 07:06:13 +00:00
David Cermak
db677e6898 mqtt: reenable outbox unit tests for esp32s2 2020-04-01 07:06:13 +00:00
Angus Gratton
4358f3b573 doc: Add warnings about using JTAG debugging with hardware security features
This is related to the following issues but is not a fix, just documentation of a workaround until we can
improve the support:
https://github.com/espressif/esp-idf/issues/4878
https://github.com/espressif/esp-idf/issues/4734
2020-04-01 17:36:08 +11:00
Angus Gratton
ff427c9650 ci: Support joining sdkconfig.ci files that don't end in a newline
If trailing newline is missing, the last line of that item gets merged
with the first line of the next item.
2020-04-01 17:17:30 +11:00
Jakob Hasse
0b02e5358e Digital Signature HW: adding S2 support 2020-04-01 13:47:13 +08:00
Mahavir Jain
2f0a57dece Merge branch 'bugfix/size_calculation_in_ota' into 'master'
Fix size calculation to erase partition range for OTA image

Closes IDFGH-2909

See merge request espressif/esp-idf!8140
2020-04-01 13:06:25 +08:00
fuzhibo
baa7898e35 driver(adc/dac): fix adc dac driver for esp32s2
1. update register file about adc; 2. fix adc driver; 3. add UT for adc/dac;

See merge request espressif/esp-idf!7776
2020-04-01 12:41:51 +08:00
fuzhibo
dfbb108ab4 Driver(touch): fix touch sensor driver for esp32s2.
1.update touch sensor driver for esp32s2;
2.update unit test for touch sensor;
3.update register files about touch sensor;
2020-04-01 12:41:51 +08:00
espressif
c0d752c3b9 mcpwm: fix the issue of wrong period 2020-04-01 10:59:00 +08:00
Marius Vikhammer
1863a8ce82 sha: add fallback for when memory alloc fails 2020-04-01 02:07:44 +00:00
Michael (XIAO Xufeng)
c9f29e0b59 Merge branch 'bugfix/spi_eeprom_build_fix' into 'master'
spi: fix spi eeprom example build

See merge request espressif/esp-idf!8175
2020-04-01 02:14:39 +08:00
David Cermak
abcc3fe6da spi: fix spi eeprom example build
Fix GNU make build error introduced in f53812d27a
2020-03-31 17:48:01 +02:00
morsisko
9759aa4ad2 Fixed syntax error in esp_http_server.rst
Merges: https://github.com/espressif/esp-idf/pull/5021
2020-03-31 14:59:27 +00:00
Shubham Kulkarni
c82a4d59ee esp_ota_ops.c: Fix size calculation to erase partition range for OTA image
Closes https://github.com/espressif/esp-idf/issues/4953
2020-03-31 14:58:32 +00:00
Michael (XIAO Xufeng)
4a005a02f9 Merge branch 'bugfix/spi_eeprom_example_make_build' into 'master'
spi: fix the component.mk for eeprom example

See merge request espressif/esp-idf!8187
2020-03-31 22:33:07 +08:00
David Čermák
8b0063588f Merge branch 'bugfix/udp_client_build_error' into 'master'
socket examples: Fix udp_client build error

Closes IDFGH-2982

See merge request espressif/esp-idf!8176
2020-03-31 22:25:48 +08:00
Sagar Bijwe
a830ddd9ba wpa_supplicant: Fix wpa_supplicant TLS 1.2 issues
1) Fixed compilation issues.
2) Added tlsprf.c from upstream
3) Enabled SHA256 in supplicant compilation.
2020-03-31 17:16:10 +05:30
Jiang Jiang Jian
dcc2963d43 Merge branch 'bugfix/btdm_dont_dequeue_the_command_queue' into 'master'
component/bt: fix don't dequeue the command queue after process the read_by_type_req

See merge request espressif/esp-idf!8161
2020-03-31 19:03:37 +08:00
Michael (XIAO Xufeng)
6998257514 spi: fix the component.mk for eeprom example
introduced in f53812d27a.
2020-03-31 18:18:18 +08:00
Jiang Jiang Jian
c08bb08d2d Merge branch 'bugfix/crypto_test_mem_align' into 'master'
crypto tests: fix mallocs that were missing MALLOC_CAP_8BIT

See merge request espressif/esp-idf!8132
2020-03-31 18:11:38 +08:00
Angus Gratton
9a5e4f9acb Merge branch 'bugfix/secure_boot_v2_wrdis' into 'master'
secure boot v2: esp32: Prevent read disabling additional efuses

Closes IDF-1502

See merge request espressif/esp-idf!8045
2020-03-31 16:08:01 +08:00
xiewenxiang
5d0b6da6a0 component/bt: fix don't dequeue the command queue after process the read_by_type_req 2020-03-31 15:10:01 +08:00
Supreet Deshpande
0a52f2db50 Fixes logging issue hindering compilation on anti rollback. 2020-03-31 11:19:27 +05:30
Angus Gratton
92a646aa4e Merge branch 'feature/add_rtc_xtal_cal_retry_option' into 'master'
esp32: Add a Kconfig option - Number of attempts to repeat 32k XTAL calibration

Closes IDF-1479

See merge request espressif/esp-idf!7930
2020-03-31 06:03:19 +08:00
Jiang Jiang Jian
1a4f894c7d Merge branch 'bugfix/coex_sleep_opt' into 'master'
esp_wifi: optimize coexistence sleep

See merge request espressif/esp-idf!8078
2020-03-30 23:58:13 +08:00
Michael (XIAO Xufeng)
1cdbaf5b50 Merge branch 'bugfix/freemodbus_fix_long_frame_buffer_issue' into 'master'
freemodbus: fix long buffer failure (no temp frame buffer)

Closes IDFGH-2371

See merge request espressif/esp-idf!7418
2020-03-30 22:05:49 +08:00
Alex Lisitsyn
3abdd2207d freemodbus: fix long buffer failure
check master read write functions with array of registers)
fix master serial processing code and modbus controller to work with register array
modbus_master: add reading and writing of test value array (58 registers) to check failure is gone
remove parameter temporary buffer from modbus controller to allow more than 24 byte writes
driver: fix issue with TOUT feature
driver: fix uart_rx_timeout issue
driver: fix issue with rxfifo_tout_int_raw not triggered when received fifo_len = 120 byte and all bytes read out of fifo as result of rxfifo_full_int_raw
driver: add function uart_internal_set_always_rx_timeout() to always handle tout interrupt
examples: call uart_internal_set_always_rx_timeout() to handle tout interrupt correctly
examples: update examples to use tout feature
driver: reflect changes of uart_set_always_rx_timeout() function, change uart.c
driver: change conditions to trigger workaround for tout feature in uart.c
driver: change uart_set_always_rx_timeout()
freemodbus: fix tabs, remove commented code
driver: remove uart_ll_is_rx_idle()
2020-03-30 22:05:48 +08:00
Roland Dobai
26695df5c8 app_trace: Add coverage generation by gcovr 2020-03-30 13:34:06 +02:00
morris
17b90afcab doc: fix defines dict expansion 2020-03-30 18:26:37 +08:00
Anton Maklakov
0fee085b67 Merge branch 'bugfix/update_esp32s2_iperf_config' into 'master'
examples: update esp32s2 config for wifi iperf

See merge request espressif/esp-idf!8084
2020-03-30 16:45:11 +08:00
Anton Maklakov
1441b671d6 Merge branch 'bugfix/ci_static_analysis_fail_on_new_issue' into 'master'
ci: update static analysis rules to fail on any new issue

Closes IDF-686 and IDF-973

See merge request espressif/esp-idf!6424
2020-03-30 15:36:42 +08:00
Angus Gratton
25aa5b0e28 esp32: Enable flash encryption by setting FLASH_CRYPT_CNT to max
Previous method was to write-protect this efuse, however on ECO3
the write protect field also covers the UART_DOWNLOAD_DIS efuse.

Doing it this way keeps the possibility of disabling UART download
mode, later.
2020-03-30 18:13:42 +11:00
Angus Gratton
fe64ab6de0 docs: secure boot v2: Add a note about maximum bootloader size 2020-03-30 18:13:42 +11:00
Angus Gratton
142f69448f secure boot v2: esp32: Prevent read disabling additional efuses
Also reduce the number of eFuse write cycles during first boot when
Secure Boot and/or Flash Encryption are enabled.
2020-03-30 18:00:40 +11:00
Michael (XIAO Xufeng)
135aa51d06 Merge branch 'feat/spi1_host_eeprom' into 'master'
spi: add eeprom example on SPI1 host

See merge request espressif/esp-idf!7130
2020-03-30 12:14:59 +08:00
Michael (XIAO Xufeng)
de310764c6 Merge branch 'bugfix/fix_i2s_example_sample_calculation_incorrect_bug' into 'master'
bugfix (I2S): Fixed I2S example sine wave sample calculation incorrect bug

Closes IDFGH-2947

See merge request espressif/esp-idf!8108
2020-03-30 12:02:31 +08:00
Marius Vikhammer
d1d91ec3dd crypto tests: fix mallocs that were missing MALLOC_CAP_8BIT
Tests had the potential to fail they got non byte-accessible memory allocated.
2020-03-30 10:40:59 +07:00
Xia Xiaotian
3488603002 esp_wifi: optimize coexistence sleep
1. Increase delay time before sending NULL1 to enter sleep to
       fix compatible problem of some APs.
    2. Do not force sending NULL0 if no data tx/rx in previous Wi-Fi
       slice.
2020-03-30 11:18:08 +08:00
Marius Vikhammer
32f16e8c30 crypto tests: fix mallocs that were missing MALLOC_CAP_8BIT
Tests had the potential to fail they got non byte-accessible memory allocated.
2020-03-30 11:12:20 +08:00
Michael (XIAO Xufeng)
16d6604ab4 Merge branch 'feature/spi_unit_test_slave_byte_length' into 'master'
spi: add unit test for slave receiving length

See merge request espressif/esp-idf!6357
2020-03-30 10:41:45 +08:00
Krzysztof Budzynski
82e2b4a0d4 Merge branch 'docs/add_translation_for_7637' into 'master'
Add translation for the update in 7637 and 8095

See merge request espressif/esp-idf!8059
2020-03-30 06:43:01 +08:00
Ivan Grokhotkov
f822e81617 Merge branch 'feature/trax_parsing_script' into 'master'
xtensa: add a script for parsing CPU traces (TRAX)

See merge request espressif/esp-idf!7729
2020-03-30 05:21:02 +08:00
Ivan Grokhotkov
cb766fb3d6 Merge branch 'bugfix/IDFGH-2910' into 'master'
NVS: bugfix - iterator skipping version 1 blobs

Closes IDFGH-2910

See merge request espressif/esp-idf!8049
2020-03-30 05:18:38 +08:00
Ivan Grokhotkov
d4bac87630 Merge branch 'feature/idf_size_diff' into 'master'
tools: Add option to show differences between MAP files with idf_size.py

Closes IDF-604 and IDF-1122

See merge request espressif/esp-idf!7994
2020-03-30 05:17:14 +08:00
Krzysztof Budzynski
de74cfdcad Merge branch 'doc/ethernet_api_reference' into 'master'
add Ethernet API reference

Closes IDF-911

See merge request espressif/esp-idf!7270
2020-03-30 02:04:53 +08:00
Krzysztof Budzynski
6aa3179d71 Merge branch 'doc/feedback_target_exact_version' into 'master'
doc: Add exact git version & target SoC to feedback form parameters

See merge request espressif/esp-idf!8123
2020-03-30 01:20:46 +08:00
liying
572ef008a9 Provide translation for the updates in 7637 and 8095, and correct a format issue in documenting-code 2020-03-29 16:50:40 +00:00
Michael (XIAO Xufeng)
f53812d27a spi: add eeprom example 2020-03-29 12:52:29 +08:00
Michael (XIAO Xufeng)
0f1041cc04 example: move spi master example to a subfolder 2020-03-29 12:52:29 +08:00
Jiang Jiang Jian
bc3b95f68b Merge branch 'bugfix/fix_log_printf_level_err' into 'master'
esp_wifi: Fix wifi log print level error

See merge request espressif/esp-idf!8120
2020-03-28 18:52:23 +08:00
Axel Lin
8592f14a93 socket examples: Fix udp_client build error
Fix below build error:
../main/udp_client.c: In function 'udp_client_task':
../main/udp_client.c:58:41: error: 'addr_str' undeclared (first use in this function); did you mean 'caddr_t'?

Fixes: 995ef85e85 ("socket examples: add tests for server and client applications")
Signed-off-by: Axel Lin <axel.lin@gmail.com>
2020-03-28 11:29:20 +08:00
David Cermak
585633b254 console: ignore static analysis warnings 2020-03-27 19:19:20 +01:00
David Cermak
06c46837ce panic: ignore deliberate null dereference to pass static analysis 2020-03-27 19:18:40 +01:00
David Cermak
62f9f42b54 wpa_supplicant: ignore static analysis violations 2020-03-27 19:17:36 +01:00
David Cermak
2e28ab29c7 freertos: silence the static analysis warning referencing the workitem 2020-03-27 18:46:39 +01:00
David Cermak
9b821ddd6b sdmmc: fix possible null dereference in output parameter assignement, whilst it was null checked as an input parameter 2020-03-27 18:46:39 +01:00
David Cermak
a2d55ddece ci: update static analysis rules to fail on any new issue zeroing out limits for number of warnings which are tolerated
closes IDF-973
2020-03-27 18:46:39 +01:00
David Cermak
72d54b68a6 lwip: dhcp-server fix static analysis warnings
1) kill_oldest_dhcps_pool() is only called when list has at least two members (assured with kconfig value limit), added assertion to ensure this function is used only when prerequisities are met
2) use after free reported in two places, since the analyzer checks also the scenario when the linked list has loops, added ignore tags
2020-03-27 18:46:39 +01:00
Ivan Grokhotkov
d14aad7e6d Merge branch 'feature/install_export_in_fish' into 'master'
Add export and install scripts for fish shell

Closes IDFGH-2324 and IDFGH-2899

See merge request espressif/esp-idf!8134
2020-03-28 01:17:19 +08:00
Ivan Grokhotkov
b07b29f5bf Merge branch 'bugfix/xtensa_sign_conversion' into 'master'
xtensa: fix sign-conversion warning (Github PR)

See merge request espressif/esp-idf!8131
2020-03-28 00:42:26 +08:00
Mahavir Jain
73304d6f63 Merge branch 'bugfix/esp_https_server_fix_def_init_order' into 'master'
esp_https_server: fix HTTPD_SSL_CONFIG_DEFAULT

See merge request espressif/esp-idf!8138
2020-03-27 23:12:57 +08:00
Aditya Patwardhan
22b1607405 esp_https_server: fix HTTPD_SSL_CONFIG_DEFAULT
This macro doesn't compile on C++. Order is fixed now.

Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
Co-Authored-By: xkevin190 <kevinvelasco193@gmail.com>

Merges https://github.com/espressif/esp-idf/pull/4981
2020-03-27 23:12:57 +08:00
Ivan Grokhotkov
455dbf28f4 esp32: use ccomp_timer in SHA test 2020-03-27 20:07:02 +07:00
Anton Maklakov
e5dab771dd Update toolchain to esp-2020r1
Closes https://github.com/espressif/esp-idf/issues/3694
2020-03-27 20:06:53 +07:00
Ivan Grokhotkov
cc1d287133 newlib: use --specs=nano.specs to enable "nano" version of C library
esp2020r1 toolchain includes a nano.specs file, which instructs GCC to
substitute libc.a with libc_nano.a.

In the build system, this simplifies handling of the nano formatting
option, eliminating LIBC and LIBM global variables.
2020-03-27 20:04:47 +07:00
Jeroen Domburg
419848549e Add fixes for gcc8 psram fix improvement 2020-03-27 20:04:47 +07:00
Michael (XIAO Xufeng)
a304421124 Merge branch 'feat/spi_bus_lock' into 'master'
SPI: support running SPI master and esp_flash on the same bus

See merge request espressif/esp-idf!6520
2020-03-27 19:59:43 +08:00
Jiang Jiang Jian
79e92b0e6a Merge branch 'bugfix/ble_mesh_add_test_function' into 'master'
ble_mesh: Add ble mesh white list test function

See merge request espressif/esp-idf!8046
2020-03-27 19:53:54 +08:00
morris
39fd234576 tool: fix install.fish 2020-03-27 18:11:01 +08:00
Angus Gratton
2415531f44 Merge branch 'refactor/esp_event_examples_new_interface' into 'master'
Examples: esp event examples use new register API

See merge request espressif/esp-idf!7928
2020-03-27 18:05:45 +08:00
Elia Bieri
0c1577fdcd Add export and install scripts for fish shell
Closes https://github.com/espressif/esp-idf/issues/4459
Merges https://github.com/espressif/esp-idf/pull/4944
2020-03-27 17:46:37 +08:00
Michael (XIAO Xufeng)
7fa491a00f Merge branch 'feature/esp32s2beta_merge_fix_modbus_examples' into 'master'
freemodbus: feature esp32s2beta fix modbus examples

Closes IDF-1028

See merge request espressif/esp-idf!6365
2020-03-27 16:20:22 +08:00
Alex Lisitsyn
16e6e63694 driver: fix driver set rx timeout feature of uart
tout_thr - move calculation and masking into hal layer update driver and uart_ll (add uart_ll_set_rx_tout)
move tout calculation into uart_ll
move calculation of time out in bit time for esp32s2 into low level uart_ll.h file
move uart_hal_get_symb_len() into hal
update set_rx_timeout() to warn user about incorrect value
update HAL, LL 1
fix uart_xx_set_rx_tout() to convert symbol time into bit time
update param description
update tout calculation in LL
update uart_hal_get_max_rx_timeout_thrd() and uart_ll_get_max_rx_timeout_thrd()
2020-03-27 16:20:21 +08:00
Michael (XIAO Xufeng)
c91b53377b Merge branch 'bugfix/fix_uart_driver_missing_txfifo_reset_issue' into 'master'
bugfix(UART):  fix uart driver missing txfifo reset issue.

Closes IDFGH-2848

See merge request espressif/esp-idf!7992
2020-03-27 15:55:02 +08:00
Angus Gratton
f68dbd77e9 Merge branch 'bugfix/make_system_using_rom_time_funcs' into 'master'
esp_rom: Fix esp32.rom.newlib-time.ld should includes all time ROM functions/data

Closes IDFGH-2868

See merge request espressif/esp-idf!8008
2020-03-27 15:43:38 +08:00
Jiang Jiang Jian
e8a9dcded2 Merge branch 'bugfix/nimble_rpa_build_failure' into 'master'
NimBLE: Fix build failures due to non static declarations in RPA feature

See merge request espressif/esp-idf!8056
2020-03-27 14:06:56 +08:00
Prasad Alatkar
38fc242914 NimBLE: Fix build failures due to non static declarations in RPA feature
CLoses IDFGH-2891
2020-03-27 14:06:55 +08:00
Jiang Jiang Jian
23304ff20e Merge branch 'nimble/fix_esp_nimble_cfg' into 'master'
NimBLE: Fix `NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT` in `esp_nimble_cfg` and `bleprph` README

See merge request espressif/esp-idf!7982
2020-03-27 14:05:33 +08:00
Prasad Alatkar
2bc28bbd5a NimBLE: Fix NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT in esp_nimble_cfg and bleprph README 2020-03-27 14:05:32 +08:00
Angus Gratton
88bf21b21e Merge branch 'nimble/iram_allocation_strategy' into 'master'
NimBLE: Add support to IRAM allocation strategy

See merge request espressif/esp-idf!8015
2020-03-27 13:54:25 +08:00
Mahavir Jain
0b834d1a9f Merge branch 'feature/add_psk_support_for_wolfSSL' into 'master'
esp_tls_wolfSSL: Add support for PSK

See merge request espressif/esp-idf!7942
2020-03-27 13:25:42 +08:00
KonstantinKondrashov
9aeac7f6cb esp_rom: Fix esp32.rom.newlib-time.ld should includes all time ROM functions/data
- Added UT
Closes: https://github.com/espressif/esp-idf/issues/4925
2020-03-27 04:57:42 +00:00
KonstantinKondrashov
df2ea2527f esp32s2: Add a Kconfig option- Number of attempts to repeat 32k XTAL calibration 2020-03-27 04:56:44 +00:00
KonstantinKondrashov
a259746016 esp32: Add a Kconfig option- Number of attempts to repeat 32k XTAL calibration
Closes: IDF-1479
2020-03-27 04:56:44 +00:00
xiehang
8bcf5cbfed esp_wifi: Fix wifi log print level error 2020-03-27 12:37:56 +08:00
Jiang Jiang Jian
4fe04f1151 Merge branch 'bugfix/fix_esp32s2_receive_pkts_err' into 'master'
esp_wifi: fix esp32s2 sometimes receive ack/cts pkts err.

See merge request espressif/esp-idf!8100
2020-03-27 12:21:52 +08:00
Angus Gratton
cf6dca29f2 Merge branch 'feature/hmac_upstream' into 'master'
HMAC: adding upstream message support

Closes IDF-800

See merge request espressif/esp-idf!7689
2020-03-27 11:27:23 +08:00
Angus Gratton
ef7ebbe39c doc: Add exact git version & target SoC to feedback form parameters
Currently squeezed into the "version" field as we don't have separate fields for these.
2020-03-27 11:29:59 +11:00
Angus Gratton
02fe8fb1eb Merge branch 'bugfix/monitor_encrypted_target' into 'master'
tools: Fix flashing encrypted binaries from IDF Monitor

Closes IDF-822

See merge request espressif/esp-idf!8090
2020-03-27 08:11:38 +08:00
Michael (XIAO Xufeng)
3ee81e0046 ci: split test config psram_2 into psram_3 2020-03-26 22:08:26 +08:00
Michael (XIAO Xufeng)
49a48644e4 spi: allow using esp_flash and spi_master driver on the same bus 2020-03-26 22:08:26 +08:00
Michael (XIAO Xufeng)
f3bf9c5ae0 hal: put rodata into dram for hal functions 2020-03-26 22:08:25 +08:00
Aditya Patwardhan
d712453114 esp_tls_wolfssl: Added mutex to allow only one TLS conn using PSK at a time 2020-03-26 17:30:05 +05:30
Mahavir Jain
7cbc593ef6 Merge branch 'bugfix/http2_request_example' into 'master'
Fixed broken http2_request example.

See merge request espressif/esp-idf!8000
2020-03-26 19:45:10 +08:00
morris
279e8dd6c2 add Ethernet doc 2020-03-26 11:04:55 +00:00
Jakob Hasse
ea47bbb118 HMAC: adding upstream message support 2020-03-26 19:00:27 +08:00
Krzysztof Budzynski
b56993cc3f Merge branch 'docs/hw-reference/esp32-s2-saola-1' into 'master'
Add ESP32-S2-Saola-1 User Guide

See merge request espressif/esp-idf!8057
2020-03-26 18:40:05 +08:00
Wang Ning
a0c37ae1bd Add ESP32-S2-Saola-1 User Guide 2020-03-26 18:40:05 +08:00
Aditya Patwardhan
46643ab40f esp_tls_wolfssl: Add support for PSK using wolfSSL,
enable SNI and ALPN
2020-03-26 16:02:57 +05:30
Michael (XIAO Xufeng)
296d095e53 Merge branch 'bugfix/remove_dependency_in_timergroup_caps' into 'master'
remove dependency of timer_group_caps.h on soc.h

See merge request espressif/esp-idf!8116
2020-03-26 18:18:45 +08:00
Ivan Grokhotkov
042285d938 Merge branch 'docs/update_xtensa-esp-elf_to_xtensa-esp32-elf' into 'master'
Update toolchain xtensa-esp-elf to xtensa-esp32-elf by modifying the dict TOOLCHAIN_NAMES

Closes DOC-68 and DOC-72

See merge request espressif/esp-idf!8103
2020-03-26 18:15:40 +08:00
Wang Fang
d10e24fb94 Update toolchain xtensa-esp-elf to xtensa-esp32-elf by modifying the dict TOOLCHAIN_NAMES 2020-03-26 18:15:37 +08:00
Ivan Grokhotkov
7f18576e23 Merge branch 'bugfix/inline_get_cpu_id_hal_func' into 'master'
soc: put hal function to get core id in IRAM

See merge request espressif/esp-idf!8107
2020-03-26 18:14:51 +08:00
morris
0c6e1b9482 remove dependency of timer_group_caps.h on soc.h 2020-03-26 17:15:19 +08:00
Angus Gratton
dd8d1deacb Merge branch 'bugfix/malloc_zero_return_null' into 'master'
bugfix/multi_heap: fix malloc(0) returning valid pointer in some poisoning configurations

Closes IDF-1482

See merge request espressif/esp-idf!8012
2020-03-26 16:19:39 +08:00
Roland Dobai
9b16594444 tools: Fix flashing encrypted binaries from IDF Monitor 2020-03-26 07:51:59 +01:00
Angus Gratton
928fc0016c Merge branch 'bugfix/doc_soc_caps_file_path' into 'master'
doc: correct soc caps file path

See merge request espressif/esp-idf!8097
2020-03-26 10:32:12 +08:00
Michael (XIAO Xufeng)
826cc7ecb6 Merge branch 'feature/bringup_723_cmake_rmt_driver_update' into 'master'
RMT new features in ESP32S2

Closes IDF-1286

See merge request espressif/esp-idf!7401
2020-03-26 10:24:18 +08:00
Michael (XIAO Xufeng)
661f4c430d Merge branch 'feature/esp32s2_i2c_driver' into 'master'
Feature:  Add esp32-s2 I2C driver.

Closes IDF-1278 and IDF-1026

See merge request espressif/esp-idf!7680
2020-03-26 10:20:40 +08:00
Michael (XIAO Xufeng)
42c552242b Merge branch 'feature/fix_touch_driver_for_esp32s2' into 'master'
driver(touch): fix touch sensor driver for esp32s2

See merge request espressif/esp-idf!7664
2020-03-26 09:50:42 +08:00
Angus Gratton
2adc263ff5 Merge branch 'refactor/watchdog_hal' into 'master'
Add LL and HAL for watchdog timers

Closes IDF-1249

See merge request espressif/esp-idf!7137
2020-03-26 07:06:51 +08:00
Darian Leung
91841a53ff WDT: Add LL and HAL for watchdog timers
This commit updates the watchdog timers (MWDT and RWDT)
in the following ways:

- Add seprate LL for MWDT and RWDT.
- Add a combined WDT HAL for all Watchdog Timers
- Update int_wdt.c and task_wdt.c to use WDT HAL
- Remove most dependencies on LL or direct register access
  in other components. They will now use the WDT HAL
- Update use of watchdogs (including RTC WDT) in bootloader and
  startup code to use the HAL layer.
2020-03-26 02:14:02 +08:00
Krzysztof Budzynski
e2e4cd1a7f Merge branch 'docs/api-guides/linker-script-generation' into 'master'
Add translation for linker script generation

See merge request espressif/esp-idf!7903
2020-03-26 00:48:58 +08:00
Wang Ning
168a623a07 Add translation for linker script generation 2020-03-26 00:48:58 +08:00
fuzhibo
340563f479 Driver(touch): fix touch sensor driver for esp32s2.
1.update touch sensor driver for esp32s2;
2.update unit test for touch sensor;
3.update register files about touch sensor;
2020-03-25 22:45:57 +08:00
Krzysztof Budzynski
4a4db96729 Merge branch 'docs/otaltool_parttool' into 'master'
Add translation for ota tool and partation tool

See merge request espressif/esp-idf!7966
2020-03-25 21:44:33 +08:00
Wang Ning
3784d499af Add translation for ota tool and partation tool 2020-03-25 21:44:33 +08:00
Ivan Grokhotkov
462fda201a Merge branch 'bugfix/tusb_missing_licence' into 'master'
tinyusb: updated the license header in the driver

See merge request espressif/esp-idf!8083
2020-03-25 21:20:49 +08:00
Ivan Grokhotkov
8aad738f02 Merge branch 'bugfix/ota_get_sha256_test_fail' into 'master'
app_update: fix test failure for get_app_elf_sha256 test

See merge request espressif/esp-idf!8096
2020-03-25 21:20:25 +08:00
chenjianqiang
04781fb009 psram: improve 2T mode enable
1. recover psram bankswitch config
2. set 2T mode enable default config as n
3. remove PSRAM ID check
2020-03-25 18:39:50 +08:00
chenjianqiang
55a20033e7 bugfix(psram): support psram 2T mode to fix single bit error
1. add enable PSRAM 2T mode function
2. enable PSRAM 2T mode base on PSRAM ID
3. abort when himem and 2T mode are enabled meanwhile
4. set SPIRAM_2T_MODE as "y" by default and modify SPIRAM_BANKSWITCH_ENABLE as "n" by default
2020-03-25 18:29:32 +08:00
Krzysztof Budzynski
de1f56466b Merge branch 'bugfix/doc_redirects' into 'master'
doc: Create redirects for ESP32 hw-reference get-started URLs

Closes IDF-1503

See merge request espressif/esp-idf!8094
2020-03-25 17:34:19 +08:00
Anton Maklakov
8252611edc Merge branch 'feat/ci_decrease_ut_artifact_num' into 'master'
ci: temporarily remove some artifacts from UT build

See merge request espressif/esp-idf!8102
2020-03-25 17:26:46 +08:00
morris
4fc16e2374 rmt: prefix caps name with SOC_ 2020-03-25 17:14:00 +08:00
morris
9f035edb64 rmt: update doc 2020-03-25 17:14:00 +08:00
morris
0c17af3ea4 rmt: support tx loop count 2020-03-25 17:14:00 +08:00
morris
dc91aa9786 rmt: support tx in a group 2020-03-25 17:13:59 +08:00
morris
fa167eb0c5 rmt: test tx/rx ping-pong mode 2020-03-25 17:13:47 +08:00
morris
855b316045 rmt: better support rx demodulation 2020-03-25 13:19:03 +08:00
morris
c91565d538 rmt: update rmt ll APIs 2020-03-25 13:19:03 +08:00
chenjianqiang
ecbe0dad1b driver/rmt: new features on esp32s2
1. add receive carrier remove function
2. add pingpong receive function
2020-03-25 13:19:03 +08:00
Michael (XIAO Xufeng)
322faa727f ci: temporarily remove some artifacts from UT build 2020-03-25 12:42:35 +08:00
lly
45d43f005a ble_mesh: Add ble mesh white list test function
Using the ble mesh white list test functions, a node can choose to
only receive mesh messages from a specific node and relay the
messages for it. Messages from other nodes will be ignored.
2020-03-25 11:30:08 +08:00
Jiang Jiang Jian
c71445a9b9 Merge branch 'bugfix/coex_wakeup_delay_with_dfs' into 'master'
components/coex: Fix wakeup delay with DFS

See merge request espressif/esp-idf!8053
2020-03-25 11:29:18 +08:00
Jakob Hasse
1cf2312734 Examples: some examples use new event register API
* getting started - station
* softap
* iperf
* fast scan
* Power save
2020-03-25 10:36:47 +08:00
Renz Bagaporo
b2fd9dd51c ci: add basic startup test for when CONFIG_COMPILER_OPTIMIZATION_NONE=y 2020-03-25 10:00:39 +08:00
Angus Gratton
62426a6c90 Merge branch 'refactor/use_new_component_registration_functions' into 'master'
CMake: Use new component registration function

See merge request espressif/esp-idf!8068
2020-03-25 08:02:42 +08:00
Krzysztof Budzynski
c2c84d43d9 Merge branch 'doc/home_page_soc' into 'master'
doc: Rephrase the support for ESP32 & ESP32-S on the home page

See merge request espressif/esp-idf!8095
2020-03-25 03:23:36 +08:00
houwenxiang
886745326e driver(UART): fix uart driver missing txfifo reset issue.
closes https://github.com/espressif/esp-idf/issues/4908
2020-03-25 01:48:46 +08:00
houwenxiang
0304ba906f Example(I2S): Fixed I2S example sine wave sample calculation incorrect bug.
closes https://github.com/espressif/esp-idf/issues/4980
2020-03-25 01:35:01 +08:00
Ivan Grokhotkov
6c0a1aab50 Merge branch 'bugfix/crypto_perf_fail' into 'master'
s2 crypto: update perf test to use cache comp timer

Closes IDF-1174

See merge request espressif/esp-idf!8075
2020-03-24 22:54:38 +08:00
Renz Bagaporo
d5085010c8 soc: put hal function to get core id in IRAM 2020-03-24 22:50:51 +08:00
Ivan Grokhotkov
55c3c2b73d Merge branch 'feature/vfs_optional' into 'master'
vfs: add option to disable VFS layer, saving some RAM and code size

See merge request espressif/esp-idf!7950
2020-03-24 21:11:28 +08:00
Ivan Grokhotkov
349dc125e8 Merge branch 'feature/espcoredump_resilient_stack_decoding' into 'master'
espcoredump: fix espcoredump to make it more resilient when decoding erroneous thread stack

Closes IDFGH-2802

See merge request espressif/esp-idf!7892
2020-03-24 21:08:57 +08:00
David Čermák
2bf3276900 Merge branch 'feature/config_mqtt_task_prio' into 'master'
esp_mqtt: add option to configure mqtt task priority.

Closes IDFGH-2902 and IDFGH-2903

See merge request espressif/esp-idf!8036
2020-03-24 19:43:20 +08:00
David Čermák
e50a7a97da Merge branch 'bugfix/ipv6_examples' into 'master'
IPv6 related updates: esp-netif, common-connect, socket-examples

See merge request espressif/esp-idf!7500
2020-03-24 19:32:33 +08:00
morris
3cf8479017 doc: always adopt latest chip revision 2020-03-24 19:11:28 +08:00
morris
b5ab764f82 doc: correct soc caps file path 2020-03-24 19:11:28 +08:00
aleks@espressif.com
45c844c1d1 espcoredump: fix idf_monitor test artifacts 2020-03-24 11:48:18 +01:00
Jiang Jiang Jian
2c06733e10 Merge branch 'optimization/TCPv6_connect_for_master' into 'master'
lw-ip:optimization TCPv6 connect

Closes WIFI-1963

See merge request espressif/esp-idf!8018
2020-03-24 15:25:03 +08:00
ChenJianxing
79be253020 esp_wifi: fix esp32s2 sometimes receive ack/cts pkts err. 2020-03-24 15:16:21 +08:00
Marius Vikhammer
694c332cb2 app_update: fix test failure for get_app_elf_sha256 test
Commit fc03161f updated esp_ota_get_app_elf_sha256 to store and return
X number of bytes of the hash, but the test case still expected 64 bytes.

Updated test case to use CONFIG value for expected length.
2020-03-24 12:34:49 +08:00
Angus Gratton
520802d6cb doc: Rephrase the support for ESP32 & ESP32-S on the home page 2020-03-24 15:00:27 +11:00
Angus Gratton
3dec957bc8 doc: Create redirects for ESP32 hw-reference get-started URLs
Moved in 1a90470f02 but redirects not created
2020-03-24 14:56:12 +11:00
ChenJianxing
fabb7e5e87 examples: update esp32s2 config for wifi iperf 2020-03-24 11:36:16 +08:00
aleks
b3eff24458 espcoredump: update expected test output 2020-03-23 14:40:56 +00:00
Andreas Motl
dde4d2e9eb Make espcoredump more resilient when decoding specific thread stack
Merges https://github.com/espressif/esp-idf/pull/4865
2020-03-23 14:40:56 +00:00
Ivan Grokhotkov
35560cb538 Merge branch 'doc/fix_example_links' into 'master'
doc: Fix invalid links

Closes DOC-67 and DOC-69

See merge request espressif/esp-idf!8065
2020-03-23 21:17:20 +08:00
Mahavir Jain
4e0e15631d Merge branch 'feature/esp_http_client_add_example' into 'master'
Add example to demonstrate use of low level APIs in http client

Closes IDFGH-2773

See merge request espressif/esp-idf!7832
2020-03-23 21:14:13 +08:00
Simon Brélivet
456d4d4a20 esp_mqtt: add option to configure mqtt task priority.
Merges https://github.com/espressif/esp-idf/pull/4947
2020-03-23 12:28:29 +00:00
David Cermak
39011c055a ci: fix rom header checker to validate *rom* on word boundaries 2020-03-23 12:19:38 +00:00
David Cermak
a5a750ba48 examples: add socket stdin utils to common connect component 2020-03-23 12:19:38 +00:00
David Cermak
995ef85e85 socket examples: add tests for server and client applications 2020-03-23 12:19:38 +00:00
David Cermak
63aa0d6e9c common_connect: add support for getting multiple IPv6 addresses 2020-03-23 12:19:38 +00:00
David Cermak
56725fa678 esp-netif: support for ipv6 addr types and indices 2020-03-23 12:19:38 +00:00
David Cermak
94ded5fb2f socket-examples: IPv6 related update for examples to set correct scoped id
The scope id must be present when connecting to IPv6 Local Link
address.
2020-03-23 12:19:38 +00:00
Andrei Gramakov
337fff703a tinyusb: updated the license header in the driver 2020-03-23 13:11:49 +01:00
Roland Dobai
66271f7a86 tools: Support showing differences of MAP files in JSON format 2020-03-23 12:04:07 +01:00
Roland Dobai
c81243b92b tools: Add option to show differences between MAP files with idf_size.py 2020-03-23 12:04:07 +01:00
Roland Dobai
f6e1414ba6 tools: Remove unused toolchain-prefix argument from idf_size.py 2020-03-23 12:04:07 +01:00
Ivan Grokhotkov
286538e7af Merge branch 'bugfix/ci_example_target_specific_defaults' into 'master'
ci: consider sdkconfig.defaults.TARGET_NAME in examples and test apps

See merge request espressif/esp-idf!8061
2020-03-23 15:48:15 +08:00
Angus Gratton
ceb0cf5d50 README: Remove note about docs not being updated 2020-03-23 18:11:23 +11:00
Angus Gratton
52d888a68b docs: Fix broken URLs & permanent redirects 2020-03-23 18:11:23 +11:00
Angus Gratton
a6b522c0f4 docs: Fix generation of links to examples 2020-03-23 18:11:23 +11:00
Angus Gratton
62b40284a1 Merge branch 'bufgix/esp_ota_get_app_elf_sha256' into 'master'
app_update: Fix case when elf file SHA256 should be printed by panic handler while cache is disabled

Closes IDF-1342

See merge request espressif/esp-idf!7529
2020-03-23 14:24:12 +08:00
Angus Gratton
b4d97a8076 Merge branch 'feature/add_heap_info_per_task_example' into 'master'
Add Task Heap Tracking example

See merge request espressif/esp-idf!7750
2020-03-23 14:07:00 +08:00
Jiang Jiang Jian
464e16cef4 Merge branch 'bugfix/Add_lwip_assert_control' into 'master'
lw-ip: Add lw-ip assert control

See merge request espressif/esp-idf!8027
2020-03-23 14:06:22 +08:00
Angus Gratton
111f596275 Merge branch 'bugfix/doc_build_ut_cmdline' into 'master'
docs: Fixup format of a command line to build unit tests

See merge request espressif/esp-idf!8033
2020-03-23 13:43:42 +08:00
Vikram Dattu
e27c495354 Fixed broken http2_request example.
Implementation of `esp_tls_conn_new_sync` now uses timeout_ms value to
give up retries.

Specified this value to be 10 sec. (10 * 1000 ms).

Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2020-03-23 05:16:40 +00:00
Shubham Kulkarni
b9555db47f examples: Add example to demonstrate use of low level APIs for GET and POST requests
Use buffer to accumulate data of response from event handler and print the response on console

Demonstrate use of user_data field in esp_http_client_config_t to get response body
2020-03-23 10:45:39 +05:30
Shubham Kulkarni
d0d99fe4c7 esp_http_client_example.c: Fix http_perform_as_stream_reader example
Run Basic Auth examples only if ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH is enabled

Closes https://github.com/espressif/esp-idf/issues/4969
2020-03-23 10:45:39 +05:30
Shubham Kulkarni
4858184e19 esp_http_client: Add helper API to read larger data chunks from HTTP Stream 2020-03-23 10:45:39 +05:30
Mahavir Jain
6af3456ca3 Merge branch 'bugfix/wifi_prov_not_stopping' into 'master'
wifi_provisioning: Catch the Wi-Fi events even after Connection errors

See merge request espressif/esp-idf!8019
2020-03-23 12:20:04 +08:00
Anton Maklakov
5b57ddf046 Merge branch 'bugfix/ci_build_logs_per_config' into 'master'
ci: generate separate log files for each {example, test app} config

See merge request espressif/esp-idf!8039
2020-03-23 11:45:32 +08:00
Marius Vikhammer
32fd9d6c63 s2 crypto: update perf test to use cache comp timer
Updated S2 hardware accelerated crypto to use the cache compensated timer.

Re-enabled RSA performance test and set lower targets now that results are more stable

Closes: IDF-1174
2020-03-23 11:30:55 +08:00
Mahavir Jain
a14b6f8914 Merge branch 'bugfix/fix_secure_boot_v2_verification_from_app' into 'master'
bootloader_support: initialize mbedtls_ctr_drbg_context per mbedtls v2.16.5 requirement

See merge request espressif/esp-idf!8062
2020-03-23 11:05:28 +08:00
Renz Bagaporo
3d0967a58a test: declare requirements and include dirs private 2020-03-23 10:58:50 +08:00
Renz Bagaporo
4d9c573fb6 test, examples: use new component registration function 2020-03-23 10:58:48 +08:00
Jakob Hasse
255ae1d32f NVS: bugfix - iterator skipping version 1 blobs
Closes https://github.com/espressif/esp-idf/issues/4954
2020-03-23 09:55:40 +08:00
Angus Gratton
bd827a4d2f Merge branch 'doc/small_fixes' into 'master'
doc: Two small fixes

See merge request espressif/esp-idf!8050
2020-03-23 08:06:07 +08:00
He Yin Ling
650a51366e Merge branch 'bugfix/modify_ble_mesh_command' into 'master'
ble mesh: update ble mesh console example

See merge request espressif/esp-idf!7927
2020-03-22 18:34:40 +08:00
Chen Sheng
f3986bca71 ble mesh: update ble mesh console example 2020-03-22 18:34:39 +08:00
Piyush Shah
4b030420a1 wifi_provisioning: Catch the Wi-Fi events even after Connection errors
It was observed that after sending credentials, if the first
Wi-Fi conection attempt fails, the Wi-Fi provisioning managager
ignores subsequent Wi-Fi events. So, even if the device eventually
connects to the AP, the provisioning stays on indefinitely.

Changing a check so that subsequent events are also captured and
provisioning finishes successfully.
2020-03-21 06:02:55 +00:00
Mahavir Jain
409b3db22f bootloader_support: initialize mbedtls_ctr_drbg_context per mbedtls v2.16.5 requirement
In commit 02d2903e39, mbedtls was
updated to release v2.16.5, where it was made mandatory to initialize
mbedtls_ctr_drbg_context before using same. It was fixed in wpa supplicant
but missed out in secure boot v2 verification code. This commit
fixes that.
2020-03-20 20:48:22 +05:30
Felipe Neves
481379f14d multi_heap: ensure that malloc(0) return NULL pointer in any poisoning configuration 2020-03-20 14:33:49 +00:00
Ivan Grokhotkov
bfefee3205 examples: set correct CPU frequency in ethernet/iperf for ESP32-S2 2020-03-20 15:33:32 +01:00
Ivan Grokhotkov
3053119f60 ci: consider sdkconfig.defaults.TARGET_NAME in examples and test apps 2020-03-20 14:50:00 +01:00
Ivan Grokhotkov
1e462be4ab examples: print free heap size in hello_world example 2020-03-20 14:07:10 +01:00
Ivan Grokhotkov
2548a3e528 ci: add startup tests with VFS disabled 2020-03-20 14:07:10 +01:00
Ivan Grokhotkov
dc77ccb24e spiffs: handle CONFIG_VFS_SUPPORT_DIR 2020-03-20 14:03:45 +01:00
Ivan Grokhotkov
8a47f43cef fatfs: handle CONFIG_VFS_FAT_SUPPORT_DIR 2020-03-20 14:03:45 +01:00
Ivan Grokhotkov
18bc25b3a6 cpu_start: handle CONFIG_VFS_SUPPORT_IO 2020-03-20 14:03:45 +01:00
Ivan Grokhotkov
33d3bff196 newlib: don't require VFS 2020-03-20 14:03:45 +01:00
Ivan Grokhotkov
4cb10ea7c2 newlib: provide default implementations for more syscalls 2020-03-20 14:03:45 +01:00
Ivan Grokhotkov
1f1ce38e5f newlib: don't depend on VFS names when populating the syscall table 2020-03-20 14:03:44 +01:00
Ivan Grokhotkov
b203ac7b02 lwip: handle CONFIG_VFS_SUPPORT_IO=n and CONFIG_VFS_SUPPORT_SELECT=n
* If CONFIG_VFS_SUPPORT_IO=y, keep everything as it is now
* If CONFIG_VFS_SUPPORT_IO=n, defined syscalls which LwIP can
  implement, such as read/write/close
* Make LWIP-only select implementation dependent on
  CONFIG_VFS_SUPPORT_SELECT, deprecate CONFIG_LWIP_USE_ONLY_LWIP_SELECT
2020-03-20 14:03:44 +01:00
Ivan Grokhotkov
cadab2cbcf vfs: define all implementations as esp_vfs_, create aliases
This change allows (in the future) to test VFS on host, without having
it conflict with the host C library. On host, all aliases would be
disabled.
2020-03-20 13:43:42 +01:00
Ivan Grokhotkov
a3c0bcb0a0 vfs: introduce options to turn off some features
CONFIG_VFS_SUPPORT_IO: for basic I/O functions support
CONFIG_VFS_SUPPORT_DIR: for file/directory functions support
CONFIG_VFS_SUPPORT_SELECT: for select support
2020-03-20 13:43:42 +01:00
Ivan Grokhotkov
45e50f1f2a newlib: move dirent.h, ioctl.h headers from VFS 2020-03-20 13:43:42 +01:00
Ivan Grokhotkov
b427b23ae0 newlib: remove direct dependencies on VFS functions
poll: use "select" not "esp_vfs_select" move to newlib

pread, pwrite, select, utime: remove from newlib. VFS and/or LWIP will
provide aliases for these functions.
2020-03-20 13:43:42 +01:00
Ivan Grokhotkov
a5bf40b495 efuse: don't include esp_efuse_utility_debug_dump_blocks in bootloader 2020-03-20 12:31:10 +01:00
sU8U7SfkcwTJVH7PjaVmej7D
c3065c00ff xtensa: fix sign-conversion warning 2020-03-20 11:10:43 +01:00
baohongde
1bcce4e7db components/coex: Fix wakeup delay with DFS 2020-03-20 17:58:05 +08:00
Angus Gratton
5fbf95d691 docs: Expand the description of per-target custom macro directives 2020-03-20 19:57:18 +11:00
Angus Gratton
e5410450be docs: Fix the secure-boot page redirect 2020-03-20 19:07:09 +11:00
xueyunfei
b539e54eed optimization TCPv6 connect 2020-03-20 07:19:23 +00:00
Ivan Grokhotkov
6330b3345e Merge branch 'bugfix/disable_rsa_perf_test' into 'master'
rsa: ignore performance test in CI

See merge request espressif/esp-idf!8026
2020-03-20 15:09:15 +08:00
David Čermák
e7cd3b592e Merge branch 'bugfix/esp_netif_ppp_setdefault_fix' into 'master'
ESP-NETIF: Set default interface for ppp netif must be called from lw_ip context

Closes IDFGH-2672

See merge request espressif/esp-idf!7555
2020-03-20 14:50:41 +08:00
Jiang Jiang Jian
e432217a16 Merge branch 'bugfix/send_ok_when_sta_disconnect' into 'master'
lw-ip:bugfix for TCPv6 send ok when sta disconnect

Closes WIFI-198

See merge request espressif/esp-idf!8017
2020-03-20 13:50:55 +08:00
Jiang Jiang Jian
8ee9fbb01a Merge branch 'bugfix/update_esp32s2_phy_lib_v300' into 'master'
esp_wifi: update esp32s2 phy lib v300

Closes WIFI-1087

See merge request espressif/esp-idf!8034
2020-03-20 13:48:08 +08:00
Jiang Jiang Jian
4504fe62d0 Merge branch 'bugfix/add_esp_ble_mesh_coex_demo' into 'master'
ble_mesh: add ble mesh coex with tcp demo.

See merge request espressif/esp-idf!6372
2020-03-20 13:20:57 +08:00
xueyunfei
b1ca95ff22 bugfix for TCPv6 send ok when sta disconnect 2020-03-20 03:10:56 +00:00
Ivan Grokhotkov
4f5d15ae93 ci: generate separate log files for each {example, test app} config
Otherwise the build log gets overwritten, and warnings in earlier
builds may be masked.
2020-03-20 00:01:16 +01:00
Wang Jia Lin
47253a827a Merge branch 'bugfix/esp32s2_support_16Mbit_psram' into 'master'
bugfix(psram): add 16Mbit psram support for esp32s2

See merge request espressif/esp-idf!8011
2020-03-20 00:22:49 +08:00
David Cermak
fffdc1d789 esp-netif-ppp: support for setting ppp netif up and down
calling esp_netif_up() and esp_netif_down() was not supported if the
underlying netif wos of ppp type. Updated the code to enable setting
these interfaces up/down and registered actions in moden_netif glue for
connection/disconnection events to set the netif up/down.
2020-03-19 13:16:24 +00:00
David Cermak
e8ff22b5fb esp-netif: set default interface for ppp netif must be called from lwip context
On update of any interface (set up/down) a routing preference is updated calling esp_netif_update_default_netif() that is called from
lwip context. But if the related netif was ppp type, the set_default api used user-mode, thus causing a dead lock.

Closes https://github.com/espressif/esp-idf/issues/4746
2020-03-19 13:16:24 +00:00
ChenJianxing
9dd7b17deb esp_wifi: update esp32s2 phy lib v300 2020-03-19 20:56:46 +08:00
Anton Maklakov
8046df875e docs: Fixup format of a command line to build unit tests 2020-03-19 19:28:46 +07:00
xiehang
a133dbd848 LWIP: Add lwip assert control 2020-03-19 19:00:19 +08:00
Ivan Grokhotkov
9b20b76ae6 Merge branch 'bugfix/s2_gcm_hw' into 'master'
aes: Fixed tag sometime being wrong for HW GCM

See merge request espressif/esp-idf!8009
2020-03-19 18:06:25 +08:00
Anton Maklakov
8b8897cfc5 Merge branch 'feature/update_tools' into 'master'
tools: Update Ninja and CMake

See merge request espressif/esp-idf!7764
2020-03-19 17:56:49 +08:00
Ivan Grokhotkov
e280b3a3d9 Merge branch 'feature/single_sysview_file_for_multicore' into 'master'
apptrace: Adds support for multi-core traces in single file to SystemView processing scripts

See merge request espressif/esp-idf!7298
2020-03-19 17:45:15 +08:00
Shubham Kulkarni
6e09056c25 example: Add Heap Task Tracking example 2020-03-19 15:07:41 +05:30
David Čermák
1d3dbb239a Merge branch 'feature/ws_server' into 'master'
http_server: adds WebSocket support

Closes IDFGH-2151 and IDFGH-2752

See merge request espressif/esp-idf!7893
2020-03-19 17:20:56 +08:00
Marius Vikhammer
2f5e4601ef rsa: ignore performance test in CI
Even with a static key the performance vary a lot between different builds.
2020-03-19 14:16:39 +08:00
Hrishikesh Dhayagude
67a6fd6f3b NimBLE: Add support to IRAM allocation strategy
Added IRAM allocation provision under nimble_platform_mem_malloc()
2020-03-19 04:47:39 +00:00
Angus Gratton
207914a13a Merge branch 'refactor/common_code_panic_handler' into 'master'
Panic handling common code refactor

See merge request espressif/esp-idf!7489
2020-03-19 11:23:57 +08:00
Angus Gratton
aec558eea4 Merge branch 'bugfix/efuse_get_coding_scheme_and_ut' into 'master'
efuse: Fix get_coding_scheme() using ESP_EARLY_LOG* instead of ESP_LOG*

Closes IDFGH-2799

See merge request espressif/esp-idf!7946
2020-03-19 11:18:09 +08:00
chenjianqiang
140e0390cc psram: add psram size auto detect for esp32s2 2020-03-19 10:53:47 +08:00
David Cermak
0c13082b20 http_server docs: document websocket feature and corresponding example 2020-03-18 20:24:46 +00:00
David Cermak
1b842ce1a8 http_server: websocket server to support async send 2020-03-18 20:24:46 +00:00
David Cermak
d7b3a051f0 examples: http_server - add websocket echo server example with test 2020-03-18 20:24:46 +00:00
Jackson Ming Hu
e983042af2 http_server: adds WebSocket support
This commit adds the WebSocket support for esp_http_server
library. It mainly does:

- Handling WebSocket handshake
  - Parsing HTTP upgrade request
  - Reply the upgrade request
- Receive WebSocket packets
  - Parse header, decode to a struct
  - Unmask payload (if required)
- Send WebSocket frames
- Receive WebSocket frame
- Automatic control frame handling

Merges https://github.com/espressif/esp-idf/pull/4306
Closes https://github.com/espressif/esp-idf/issues/4819
2020-03-18 20:24:46 +00:00
Ivan Grokhotkov
5a1b1d6a1d tools: cmake: update to 3.16.4 2020-03-18 08:28:36 +00:00
Ivan Grokhotkov
8a6c507d14 tools: ninja: update to 1.10.0
Closes https://github.com/espressif/esp-idf/issues/4687
2020-03-18 08:28:36 +00:00
Ivan Grokhotkov
5172724092 Merge branch 'bugfix/macos_build_test_submodules' into 'master'
ci: do fetch submodules in test_build_system_cmake_macos

See merge request espressif/esp-idf!7625
2020-03-18 16:26:35 +08:00
Jiang Jiang Jian
cd08917622 Merge branch 'feature/add_certification_version_number' into 'master'
esp_wifi: add certification version number.

See merge request espressif/esp-idf!7965
2020-03-18 16:17:43 +08:00
Angus Gratton
99a7581974 Merge branch 'bugfix/uecc_antifault' into 'master'
secure boot: Fix anti-fault value if hash is shorter than curve

See merge request espressif/esp-idf!7940
2020-03-18 15:51:09 +08:00
ChenJianxing
efd3505e51 esp_wifi: add certification version number. 2020-03-18 14:38:48 +08:00
Island
961f461f72 Merge branch 'bugfix/ble_mesh_nimble_adapt_deinit' into 'master'
ble_mesh: Fix ble mesh nimble host deinit

Closes BLEMESH-177 and IDFGH-2898

See merge request espressif/esp-idf!7985
2020-03-18 12:32:48 +08:00
Jiang Jiang Jian
d579c8a13e Merge branch 'bugfix/fix_the_bugs_for_country_code' into 'master'
fix the bugs for country code

Closes WIFI-1569 and WIFI-1586

See merge request espressif/esp-idf!7238
2020-03-18 11:49:32 +08:00
Jiang Jiang Jian
c665c9ec24 Merge branch 'bugfix/esp32s2_ap_mac_address' into 'master'
esp_wifi: fix esp32s2 ap mac address can not find.

See merge request espressif/esp-idf!8010
2020-03-18 11:43:48 +08:00
chenjianqiang
42154848cc psram: add 16Mbit psram support for esp32s2 2020-03-18 11:15:00 +08:00
Marius Vikhammer
ffb9010cbe aes: Fixed tag sometime being wrong for HW GCM
The GCM hardware accelerated algorithm for S2 would sometimes output
the wrong tag.

Added additional tests for AES and GCM

Re-enable HW GCM as default option
2020-03-18 08:44:38 +08:00
ChenJianxing
af8d90dbc1 esp_wifi: fix esp32s2 ap mac address can not find. 2020-03-17 21:33:59 +08:00
Ivan Grokhotkov
9e0c368a6a ci: do fetch submodules in test_build_system_cmake_macos
Also install Python packages required by the CI scripts, and install
build tools (CMake, ninja).
2020-03-17 09:30:59 +01:00
Jiang Jiang Jian
2e7ae75011 Merge branch 'bugfix/wep40_key_parsing_bug' into 'master'
wpa_supplicant: Add parsing support for WEP40 key

See merge request espressif/esp-idf!7968
2020-03-17 15:42:02 +08:00
Jiang Jiang Jian
5193838a07 Merge branch 'feat/ble_mesh_vnd_model_example' into 'master'
Feat/ble mesh vnd model example

Closes BLEMESH-167

See merge request espressif/esp-idf!7840
2020-03-17 15:35:20 +08:00
Angus Gratton
9c430a17aa Merge branch 'feature/mpi_accel_s2' into 'master'
MPI/RSA accelerator bringup for S2 and bignum refactor

Closes IDF-803 and IDF-1174

See merge request espressif/esp-idf!7915
2020-03-17 13:16:05 +08:00
Mahavir Jain
6795fc194f Merge branch 'fix/wifi_provisioning_uuid' into 'master'
Wifi_provisioning: Change service_uuid to non standard 128 bit UUID and add retries in test script

See merge request espressif/esp-idf!7939
2020-03-17 12:00:32 +08:00
Angus Gratton
998eba699e Merge branch 'bug/hw_sha_fail_alloc' into 'master'
s2 sha hw: Fix bug where alloc would fail if input were of len 0

See merge request espressif/esp-idf!7991
2020-03-17 09:33:14 +08:00
Ivan Grokhotkov
454293159d Merge branch 'docs/update_esp32s2_oocd_target_name' into 'master'
Updates OpenOCD commands

See merge request espressif/esp-idf!7906
2020-03-17 01:15:10 +08:00
Krzysztof Budzynski
780eb6af9b Merge branch 'docs/tanslate_esp_mesh2' into 'master'
Add translation for mesh document under api guide

See merge request espressif/esp-idf!7055
2020-03-17 01:02:37 +08:00
Natasha
ee0ae607da Add translation for mesh document under api guide 2020-03-17 01:02:36 +08:00
Ivan Grokhotkov
2a630cb8d8 Merge branch 'feature/nvs_test_erase_cycles' into 'master'
nvs: add a test for sector erase cycles

See merge request espressif/esp-idf!7948
2020-03-17 00:32:59 +08:00
Alexey Gerenkov
6964cc5d3a tools: Updates OpenOCD version to v0.10.0-esp32-20200309 2020-03-16 19:07:05 +03:00
Alexey Gerenkov
7ee7a6d7bb docs: Updates OpenOCD command names 2020-03-16 19:06:47 +03:00
Alexey Gerenkov
d5cd131da4 apptrace: Adds support for multi-core traces in single file to SystemView processing scripts 2020-03-16 15:17:36 +03:00
Marius Vikhammer
7e824508a9 mpi: refactor bignum into common and hw specific components
Closes IDF-1174
2020-03-16 19:44:30 +08:00
Marius Vikhammer
16b6a7a903 s2 sha hw: Fix bug where alloc would fail if input were of len 0 2020-03-16 19:29:59 +08:00
zhangyanjiao
a11673ebe4 wifi: return fail when setting softAP's channnel is out of range 2020-03-16 17:34:48 +08:00
Jiang Jiang Jian
493cdf53b9 Merge branch 'bugfix/fix_scan_get_rssi_err' into 'master'
esp_wifi: Fix scan get rssi err

Closes WIFI-1805

See merge request espressif/esp-idf!7961
2020-03-16 17:10:13 +08:00
Prasad Alatkar
415ccf8518 Wifi_provisioning_mgr_test: Allow three attempts to connect to AP before concluding provisioning failure 2020-03-16 08:20:37 +00:00
Prasad Alatkar
8419aa85a9 Wifi_provisioning_ble: Change service_uuid to non standard 128 bit UUID
- Modifies UUIDs in scheme_ble, manager example and esp_prov tool to custom 128
  bit UUID
2020-03-16 08:20:37 +00:00
Mahavir Jain
88fd09111c Merge branch 'feature/prov_example_restructure' into 'master'
wifi_provisioning: Example restructuring

See merge request espressif/esp-idf!6901
2020-03-16 15:38:11 +08:00
kapil.gupta
0ae58fc59f wpa_supplicant: Add parsing support for WEP40 key
WEP key is passed as ascii key without "", add parsing support
in supplicant for this.
2020-03-16 06:14:19 +00:00
Anton Maklakov
7355e550cc Merge branch 'feature/public_headers_check_objects' into 'master'
CI: public header check script in python

Closes IDF-1324

See merge request espressif/esp-idf!7923
2020-03-16 13:23:00 +08:00
Angus Gratton
83d2b6003d Merge branch 'feature/deploy_multi_target_docs' into 'master'
docs: deploy docs to production server from CI

Closes IDF-1215 and IDF-1218

See merge request espressif/esp-idf!7637
2020-03-16 13:05:54 +08:00
lly
ac2ef797fe ble_mesh: Fix ble mesh nimble host deinit 2020-03-16 12:45:58 +08:00
Ivan Grokhotkov
b497819667 docs: update esp32s2 summary page
- Refer to the toolchain links on IDF Tools page
- Update the wording around v4.1/v4.2 releases
- Remove the section about 3 different versions (of S2-beta)
- Add link to the list of features maintained externally
2020-03-16 14:40:37 +11:00
Angus Gratton
cb7f2d737a docs: Bump copyright date to 2020 2020-03-16 14:36:23 +11:00
Angus Gratton
e0eb218e7a docs: Add a note about what target this doc version is for 2020-03-16 14:36:23 +11:00
Angus Gratton
296a1db3c6 docs: Update link_to_translation to work with targets & new URL scheme
Main difference is using app config for version & target

Also made this code less generic, easier to understand
2020-03-16 14:36:23 +11:00
Angus Gratton
1a2ddcb77a docs: deploy docs to production server from CI 2020-03-16 14:36:23 +11:00
Angus Gratton
416076665b docs: use new sphinx_idf_theme theme, add variables to allow theme to build version footer 2020-03-16 14:36:23 +11:00
Ivan Grokhotkov
a3e236291f xtensa: add a script for parsing CPU traces (TRAX) 2020-03-13 17:30:29 +01:00
David Cermak
ecb419da2f soc: minor header fix typo and include of sdkconfig 2020-03-13 12:53:52 +01:00
David Cermak
8f6645667e CI: public header check script in python
Additional test compiling the header to produce assembly:
- checks if header really compiles (previously validated only by
preprocessor)
- checks that the header produced empty object, no inline code to be
present in public headers

Closes IDF-1324
2020-03-13 12:53:52 +01:00
Jiang Jiang Jian
0ae960f2fe Merge branch 'feature/support_esp32s2_mac_addr_offset' into 'master'
Add mac address offset for some esp32s2.

See merge request espressif/esp-idf!7855
2020-03-13 19:47:33 +08:00
Jiang Jiang Jian
57ad4afe7d Merge branch 'bugfix/fix_esp32s2_enable_multi_phy_init_data_bin_err' into 'master'
esp32s2: fix when enable multi phy init data bin compile err.

Closes IDF-1459

See merge request espressif/esp-idf!7936
2020-03-13 19:47:00 +08:00
Jiang Jiang Jian
df56535b7a Merge branch 'bugfix/compiler_err_when_performance_optimization_enabled' into 'master'
Bugfix/compiler err when performance optimization enabled

Closes BT-688

See merge request espressif/esp-idf!7958
2020-03-13 19:41:59 +08:00
Marius Vikhammer
e21bef3f28 mpi: active hw accel for S2
Actives MPI/RSA hardware acceleratio for ESP32 S2.

Closes IDF-803
2020-03-13 18:33:18 +08:00
Ivan Grokhotkov
6afc116036 nvs: enable address sanitizer in host tests when building with clang 2020-03-13 11:29:39 +01:00
Ivan Grokhotkov
d2526e6dda nvs: fix out of bounds array access in host test 2020-03-13 11:29:39 +01:00
Ivan Grokhotkov
db34a4d031 nvs: add test for erase cycles distribution 2020-03-13 11:29:39 +01:00
Ivan Grokhotkov
0cbbd948c0 nvs: clean coverage files on rebuild
Fixes errors reported by libgcov related to merging debug information.
2020-03-13 11:28:04 +01:00
Ivan Grokhotkov
64ceab0069 Merge branch 'feature/aes_sha_accel_s2' into 'master'
crypto: SHA and AES accelerator bring up for S2

Closes IDF-1443, IDF-714, and IDF-716

See merge request espressif/esp-idf!7825
2020-03-13 18:21:09 +08:00
Jiang Jiang Jian
0367fe461e Merge branch 'bugfix/ble_mesh_miscellaneous_fix' into 'master'
Bugfix/ble mesh miscellaneous fix

Closes BLEMESH-174

See merge request espressif/esp-idf!7881
2020-03-13 17:50:26 +08:00
Jiang Jiang Jian
26bcbf9798 Merge branch 'bugfix/fix_esp32s2_wifi_log_not_printf' into 'master'
esp_wifi: Fix ESP32S2 wifi log not printing

See merge request espressif/esp-idf!7964
2020-03-13 17:29:34 +08:00
xiehang
afa4dbae16 esp_wifi: Fix ESP32S2 wifi log not printing 2020-03-13 14:48:18 +08:00
Piyush Shah
62626ac4b9 esp_prov: Add support for sending some abstract custom data
To be used with the provisioning/wifi_prov_mgr example

Signed-off-by: Piyush Shah <piyush@espressif.com>
2020-03-13 06:23:15 +00:00
Piyush Shah
9ee5f3e8ce wifi_prov_mgr: Add config options to switch transport and support for custom data
Config options have been set such that BLE transport will be the default for ESP32
and SoftAP will be the default for ESP-S2.

CMakeLists.txt for all provisioning examples applicable for ESP32-S2 have also been updated
as these now work fine on ESP32-S2

Signed-off-by: Piyush Shah <piyush@espressif.com>
2020-03-13 06:23:15 +00:00
Piyush Shah
156ae68275 provisioning_examples: Move older examples to legacy/ folder
Change the manager example folder name to wifi_prov_mgr to sound more meaningful.

Signed-off-by: Piyush Shah <piyush@espressif.com>
2020-03-13 06:23:15 +00:00
xiehang
e4698f8473 esp_wifi: Fix scan get rssi err
Remove software modify rssi
2020-03-13 12:35:49 +08:00
Jiang Jiang Jian
ad7dfb77c4 Merge branch 'bugfix/reduce_wifi_bin_size' into 'master'
esp_wifi: Reduce Bin size

Closes WIFI-9

See merge request espressif/esp-idf!7781
2020-03-13 12:20:50 +08:00
Michael (XIAO Xufeng)
a3c9a864ab Merge branch 'feat/spi_caps_control_dummy' into 'master'
spi_flash: add caps for dummy output control

See merge request espressif/esp-idf!7534
2020-03-12 22:23:49 +08:00
lly
0d6ad3265e ble_mesh: Add ESP BLE Mesh vendor models example 2020-03-12 18:21:29 +08:00
Mahavir Jain
453b65a608 Merge branch 'feature/upgrade_mbedtls_to_v2.16.4' into 'master'
mbedtls: upgrade to release v2.16.5

Closes IDFGH-2638

See merge request espressif/esp-idf!7607
2020-03-12 18:08:33 +08:00
lly
e8fc87b6f3 ble_mesh: Rename ble_mesh_vendor_models to common_vendor_models 2020-03-12 17:50:12 +08:00
lly
2ed1724fc2 ble_mesh: Move dev_role to the end of model_pub 2020-03-12 17:48:09 +08:00
lly
5a90ea3048 ble_mesh: Use the right netkey during iv update 2020-03-12 17:43:19 +08:00
lly
37466d957d ble_mesh: Use the right net_idx & app_idx for publish 2020-03-12 17:43:19 +08:00
lly
1795107533 ble_mesh: Check buf->ref before unref the buffer 2020-03-12 17:43:19 +08:00
lly
2b80649a79 ble_mesh: Fix mesh memory use-after-free issue 2020-03-12 17:43:19 +08:00
lly
08080edb1b ble_mesh: Add ble mesh deinit in btc task 2020-03-12 17:43:19 +08:00
lly
9d3ad04667 ble_mesh: Free beacon timer when deinit mesh 2020-03-12 17:43:19 +08:00
lly
13ab2f4015 ble_mesh: Use lock for mesh timer operations 2020-03-12 17:43:19 +08:00
weitianhua
0d2790a429 Remove (x2) variable in BCM_STRNCPY_S and BCM_STRCPY_S when performance optimization enabled 2020-03-12 16:20:58 +08:00
weitianhua
b86f4d4f00 Fix mem_start uninitialized error when compiler optimization performance enabled 2020-03-12 15:07:03 +08:00
Marius Vikhammer
3351376a11 AES: optimize AES-GCM
HW acceleration for GCM is now enabled by default

Closes IDF-1443
2020-03-12 10:20:24 +08:00
michael
3b1fa7b8f0 spi_flash: add caps for dummy output control 2020-03-11 16:13:39 +00:00
Jiang Jiang Jian
640c7c5107 Merge branch 'bugfix/select_waiting_assert' into 'master'
lw-ip:fix bug for after udp close select_waiting assert

Closes WIFI-1622

See merge request espressif/esp-idf!7400
2020-03-11 21:15:57 +08:00
Mahavir Jain
1cde594460 Merge branch 'bugfix/change_function_pointer_esp_crt_bundle_attach' into 'master'
esp_tls: change argument pointer type to (void *) for esp_crt_bundle_attach

See merge request espressif/esp-idf!7947
2020-03-11 19:39:47 +08:00
Ivan Grokhotkov
dbdcd26902 Merge branch 'bugfix/fix_default_console_gpio_on_esp32s2' into 'master'
esp32s2: fix default console GPIO

See merge request espressif/esp-idf!7938
2020-03-11 18:39:17 +08:00
Aditya Patwardhan
874e987a3b esp_tls: change argument pointer type to (void *) for esp_crt_bundle_attach 2020-03-11 15:54:05 +05:30
KonstantinKondrashov
912028273d efuse: Using IDF_ENV_FPGA in UTs 2020-03-11 18:22:07 +08:00
KonstantinKondrashov
4c5d26085f efuse/esp32s2: Fix get_coding_scheme() when CONFIG_SECURE_FLASH_ENC_ENABLED and LOG_LEVEL is Debug 2020-03-11 18:22:07 +08:00
KonstantinKondrashov
ae90d5f39f efuse/esp32: Fix get_coding_scheme() when CONFIG_SECURE_FLASH_ENC_ENABLED and LOG_LEVEL is Debug
Closes: https://github.com/espressif/esp-idf/issues/4862
2020-03-11 18:22:07 +08:00
xueyunfei
e3ff1efe65 fix bug for after udp close select_waiting assert 2020-03-11 10:03:40 +00:00
ChenJianxing
5019419496 esp32s2: fix when enable multi phy init data bin compile err. 2020-03-11 18:03:21 +08:00
Marius Vikhammer
37369a8a57 crypto: SHA and AES accelerator bring up for S2
Brings up, fixes and enables AES and SHA hardware acceleration.

Closes IDF-714
Closes IDF-716
2020-03-11 15:09:45 +08:00
Angus Gratton
59381b60c0 Merge branch 'refactor/hal_function_set_exception_vector_table' into 'master'
soc: add hal api to set exception vector table base address

See merge request espressif/esp-idf!7905
2020-03-11 14:44:42 +08:00
Angus Gratton
694e22b41a Merge branch 'feature/multi_target_performance_test' into 'master'
Add multi-target support for performance tests

Closes IDF-1137 and IDF-1113

See merge request espressif/esp-idf!7831
2020-03-11 14:38:51 +08:00
Angus Gratton
f2d310fea7 secure boot: Fix anti-fault value if hash is shorter than curve
(Not actually a problem with SBV1 anti-fault as hash size == curve size in this case.)
2020-03-11 17:17:20 +11:00
Andrew
3bb41fd67e spi: add unit test for slave receiving length 2020-03-11 13:24:30 +08:00
Mahavir Jain
02d2903e39 mbedtls: upgrade to release v2.16.5
For detailed release notes please refer to:
https://tls.mbed.org/tech-updates/releases/mbedtls-2.16.5-and-2.7.14-released

Closes: IDFGH-2638
Closes: https://github.com/espressif/esp-idf/issues/4716
2020-03-11 05:17:33 +00:00
ChenJianxing
a6c27619f2 add mac address offset for some esp32s2. 2020-03-11 13:17:23 +08:00
morris
6cb7d82120 esp32s2: fix default console GPIO
on ESP32-S2, the default GPIO used for UART0 is: TX-43, RX-44
2020-03-11 12:30:29 +08:00
Krzysztof Budzynski
b9abb78546 Merge branch 'doc/hw-reference/esp32-devkits-r-guide' into 'master'
ESP32-DevKitS-R User Guide

See merge request espressif/esp-idf!7790
2020-03-11 06:43:31 +08:00
Wang Ning
b85358e593 Updated index
components/esp_wifi/lib_esp32/
2020-03-11 06:43:31 +08:00
KonstantinKondrashov
fc03161f70 app_update: Fix case when elf file SHA256 should be printed by panic handler while cache is disabled
Closes: IDF-1342
2020-03-10 20:26:03 +08:00
Renz Bagaporo
ee519634a5 esp_system: retain backtrace no space 2020-03-10 19:56:24 +08:00
Renz Bagaporo
7cc8cb68bd esp_system: suppress reason display on software abort panic 2020-03-10 19:56:24 +08:00
Renz Bagaporo
890510aecd esp32, esp32s2: move reset reason source to esp_system 2020-03-10 19:56:24 +08:00
Renz Christian Bagaporo
84e80a3e50 soc: remove sdio slave hal source file duplicate 2020-03-10 19:56:24 +08:00
Renz Christian Bagaporo
29ebfc3f46 esp_system: let panic handler break on debug mode on software abort 2020-03-10 19:56:24 +08:00
Renz Christian Bagaporo
af9b1131a3 esp_system: share abort panic with port layer 2020-03-10 19:56:24 +08:00
Renz Christian Bagaporo
2855bb6f0a newlib: move abort to newlib 2020-03-10 19:56:24 +08:00
Renz Christian Bagaporo
20cfc2ecdd docs: update docs with panic handler changes 2020-03-10 19:56:24 +08:00
Renz Christian Bagaporo
2b100789b7 esp32, esp32s2: move panic handling code to new component 2020-03-10 19:56:24 +08:00
Jiang Jiang Jian
06fa9476a5 Merge branch 'bugfix/fix_controller_disable_re_enable_crash' into 'master'
bugfix: fix the crash bug after controller disable and re-enable in ble bt

Closes BCI-91 and BCI-28

See merge request espressif/esp-idf!7775
2020-03-10 18:13:17 +08:00
xiehang
7569e34e89 esp_wifi: Reduce Bin size
1. Disable WiFi API parameter checking log
2. Optimize wifi log
2020-03-10 17:45:06 +08:00
Jiang Jiang Jian
a30557ca31 Merge branch 'mesh/feature_chain_topology' into 'master'
Mesh/feature chain topology

Closes WIFI-1726

See merge request espressif/esp-idf!7215
2020-03-10 17:41:11 +08:00
Michael (XIAO Xufeng)
c04145bc47 Merge branch 'feature/tinyusb_esp_dev_branch' into 'master'
tinyusb: switch to esp-develop branch

See merge request espressif/esp-idf!7922
2020-03-10 10:38:54 +08:00
Andrei Gramakov
08543533d8 tinyusb: switch to esp-develop branch 2020-03-09 14:49:29 +01:00
Roland Dobai
15884eccf2 Add multi-target support for performance tests 2020-03-09 13:41:56 +01:00
Krzysztof Budzynski
37997407df Merge branch 'doc/review_api-ref_periph-esp-slave-protocol' into 'master'
Doc/review api ref periph esp slave protocol

See merge request espressif/esp-idf!6968
2020-03-09 19:19:01 +08:00
Anton Maklakov
96ecd5bb53 Merge branch 'ci/build_bootloader_configs' into 'master'
ci: Fix CI testing of bootloader configs

See merge request espressif/esp-idf!7911
2020-03-09 19:08:39 +08:00
Ivan Grokhotkov
95c275109b Merge branch 'refactor/add_target_name_for_parttool' into 'master'
parttool: don't print target name

See merge request espressif/esp-idf!7904
2020-03-09 18:57:44 +08:00
gengyuchao
df3f2f4cb0 bugfix/fix_controller_disable_re_enable_crash 2020-03-09 17:40:06 +08:00
Michael (XIAO Xufeng)
81daaff050 Merge branch 'feature/usb_component' into 'master'
Feature/usb component

See merge request espressif/esp-idf!6897
2020-03-09 16:53:55 +08:00
Jiang Jiang Jian
951a949b19 Merge branch 'Bugfix/netconn_marked_close_crash' into 'master'
lw-ip:fix bug for netconn marked close crash

Closes WIFI-958

See merge request espressif/esp-idf!7815
2020-03-09 16:35:58 +08:00
morris
46ea7d815d parttool: don't print target name 2020-03-09 15:05:04 +08:00
Andrei Gramakov
9d059be165 usb: added a tinyusb component; ci; soc.
ci: ignore s2-only projects from the cmake-make test
soc: refactored the usb part
2020-03-09 07:55:06 +01:00
xueyunfei
f7d2aa96bd fix bug for netconn marked close crash 2020-03-09 06:32:41 +00:00
Angus Gratton
c1871437c8 Merge branch 'bugfix/console_repl_build_failure' into 'master'
bugfix reported on GitHub (ethernet, console, i2ctool)

Closes IDFGH-2780, IDFGH-2361, and IDFGH-2829

See merge request espressif/esp-idf!7886
2020-03-09 14:26:39 +08:00
Angus Gratton
df9d3c6e43 Merge branch 'refactor/print_app_description_on_startup' into 'master'
esp32s2: print app description on startup

See merge request espressif/esp-idf!7899
2020-03-09 14:05:04 +08:00
qiyuexia
7bd03faa4b mesh: add chain topology 2020-03-09 06:00:42 +00:00
Jiang Jiang Jian
c2f2b0e490 Merge branch 'bugfix/Add_tx_packets_size_check' into 'master'
esp_wifi: Add TX packets size check

See merge request espressif/esp-idf!7859
2020-03-09 13:51:57 +08:00
Angus Gratton
f21079a06d Merge branch 'bugfix/duplicate_sdio_slave_hal' into 'master'
soc: remove duplicate sdio_slave_hal.c

See merge request espressif/esp-idf!7874
2020-03-09 13:35:58 +08:00
Angus Gratton
a9e21060e1 Merge branch 'ci/fix_ut_s2_only' into 'master'
ci: fix the issue unit_test_s2 label cannot be used independently

See merge request espressif/esp-idf!7873
2020-03-09 13:35:23 +08:00
Angus Gratton
1a8dc6f76b Merge branch 'bugfix/ws_example_text_send' into 'master'
examples: websocket example to send textual data with esp_websocket_client_send_text()

See merge request espressif/esp-idf!7894
2020-03-09 13:34:51 +08:00
Angus Gratton
7b5bca9b93 unit test app: Use the new config names for DEBUG/RELEASE configs
Also build the bootloader to the same config level as the app
2020-03-09 11:55:52 +11:00
Angus Gratton
8de3ad8df1 ci: Build all bootloader configs when building the bootloader app
CI regression in 26efc5a6d0
2020-03-09 11:55:22 +11:00
Ivan Grokhotkov
f7d1ed5f32 Merge branch 'bugfix/idf_tools_check_virtualenv' into 'master'
tools: check if idf_tools.py install-python-env is called from a venv

Closes IDF-1095

See merge request espressif/esp-idf!7793
2020-03-07 18:07:41 +08:00
Ivan Grokhotkov
80f50471bf Merge branch 'bugfix/coredump_no_ext_stacks' into 'master'
core dump: don't allow core dumps to Flash if PSRAM is used for stacks

See merge request espressif/esp-idf!7835
2020-03-07 18:07:10 +08:00
Ivan Grokhotkov
8caeb6adfa Merge branch 'bugfix/bootloader_O0_align_error' into 'master'
bootloader_support: force alignment of flash_read argument

See merge request espressif/esp-idf!7860
2020-03-07 18:06:30 +08:00
Ivan Grokhotkov
ca1260bf83 Merge branch 'bugfix/idfpygenerator' into 'master'
tools: fix idf.py to be able to select a generator for build

Closes IDF-1454

See merge request espressif/esp-idf!7891
2020-03-07 18:05:22 +08:00
morris
46a3f3e516 console: make uart param configurable
Closes https://github.com/espressif/esp-idf/issues/4845
2020-03-07 13:23:23 +08:00
morris
0a7ccb8095 ethernet: fix potential null pointer dereference
Closes https://github.com/espressif/esp-idf/issues/4890
2020-03-07 12:12:29 +08:00
Felipe Ruhland
718a34f765 Fix typo from ic2_tools readme
Merges https://github.com/espressif/esp-idf/pull/4488
2020-03-07 12:11:37 +08:00
morris
8b6c0947c7 soc: add hal api to set exception vector table base address 2020-03-06 20:23:30 +08:00
Roland Dobai
c35538ecee tools: fix idf.py to be able to select a generator for build 2020-03-06 10:41:09 +01:00
Michael (XIAO Xufeng)
63cd2b0613 Merge branch 'feature/esp32s2_sd_card_example' into 'master'
examples: re-enable storage/sd_card example for ESP32-S2

Closes IDF-1125

See merge request espressif/esp-idf!7850
2020-03-06 16:10:07 +08:00
morris
ddcba3d574 bootloader_support: read random from register 2020-03-06 15:32:01 +08:00
xiehang
91bcd5eb63 esp_wifi: Add TX packets size check 2020-03-06 15:27:24 +08:00
morris
f735b8891e esp32s2: print app description on startup 2020-03-06 15:24:28 +08:00
Angus Gratton
a9854f7085 Merge branch 'feature/rmt_clock_support_ref_tick' into 'master'
rmt: support ref tick && refactor unit test && re-enable unit test on ESP32-S2

Closes IDFGH-1715

See merge request espressif/esp-idf!7614
2020-03-06 15:03:52 +08:00
Angus Gratton
46e6307e07 Merge branch 'bugfix/fix_passing_argument_to_ulp_cmake_script' into 'master'
Fix passing argument to ULP CMake script

See merge request espressif/esp-idf!7845
2020-03-06 14:37:03 +08:00
Angus Gratton
2f1815f74e Merge branch 'bugfix/cmake_issues' into 'master'
CMake bugfixes

See merge request espressif/esp-idf!7605
2020-03-06 14:36:59 +08:00
Angus Gratton
d6a2b4fdde Merge branch 'bugfix/missing_semicolon_in_docs' into 'master'
Added semi-colon to esp_event_loop_create(...)

See merge request espressif/esp-idf!7846
2020-03-06 14:32:44 +08:00
Angus Gratton
0e0efa28be Merge branch 'test/stdatomic_ut' into 'master'
atomic: support fetch_and, fetch_and and fetch_xor

See merge request espressif/esp-idf!7852
2020-03-06 14:32:02 +08:00
Angus Gratton
f393938c22 Merge branch 'bugfix/remove_esp32s2_esp_intr_header' into 'master'
esp32s2: remove esp_intr.h header

See merge request espressif/esp-idf!7883
2020-03-06 14:30:28 +08:00
Angus Gratton
b393203b27 Merge branch 'feature/x509_cert_management' into 'master'
X509 certificate management

Closes IDF-296

See merge request espressif/esp-idf!5346
2020-03-06 14:29:53 +08:00
Angus Gratton
86eee73ff0 Merge branch 'bugfix/aligned_alloc_without_poisoning' into 'master'
bugfix/heap: Make aligned alloc and aligned free available to all heap poisoning configurations

See merge request espressif/esp-idf!7822
2020-03-06 14:11:20 +08:00
Angus Gratton
02e9e0621e Merge branch 'bugfix/display_partition_table_info' into 'master'
partition_table: output partition table info for partition_table target

See merge request espressif/esp-idf!7638
2020-03-06 14:09:09 +08:00
Jiang Jiang Jian
b184504a84 Merge branch 'feature/support_multiple_phy_init_data_bin' into 'master'
feature: support multiple phy init data

Closes WIFI-648

See merge request espressif/esp-idf!6399
2020-03-06 12:20:43 +08:00
Michael (XIAO Xufeng)
8e348dcdcd Merge branch 'bugfix/fix_driver_ut_i2s' into 'master'
bugfix(i2s): fix driver ut i2s

See merge request espressif/esp-idf!6946
2020-03-06 11:55:07 +08:00
Jiang Jiang Jian
b7a14c47e6 Merge branch 'bugfix/customer_baidu_psram_stack_backtrace' into 'master'
added psram stack check in backtrace

See merge request espressif/esp-idf!7834
2020-03-06 11:35:54 +08:00
Anton Maklakov
8b0523b303 Merge branch 'nimble/host_based_rpa' into 'master'
NimBLE: Support Host based privacy (RPA) feature in NimBLE host

See merge request espressif/esp-idf!7497
2020-03-06 11:02:18 +08:00
Prasad Alatkar
48bd2d74b4 NimBLE: Add Host based privacy (RPA) feature support
- This feature removes dependency on controller to use privacy (RPA)
2020-03-06 11:02:18 +08:00
David Čermák
a3816bcb75 Merge branch 'bugfix/example_esp32s2_ipv6_on' into 'master'
examples: enable IPv6 in example common connect for esp32s2

Closes IDF-1115

See merge request espressif/esp-idf!7879
2020-03-06 04:05:27 +08:00
David Čermák
8b9a7ce67a Merge branch 'bugfix/ppp_enable_ipv6' into 'master'
esp-netif: make the IPv6 configurable for PPP netifs

Closes IDFGH-2712 and WIFI-860

See merge request espressif/esp-idf!7772
2020-03-06 04:03:03 +08:00
David Cermak
48fe3a13f5 examples: common connect code to ignore GOT_IP6_EVENT if comes from unrelated netif 2020-03-05 18:46:48 +00:00
David Cermak
ab8cab1c55 mdns: limit the GOT_IP6_EVENT to only known network interfaces 2020-03-05 18:46:48 +00:00
David Cermak
eae8eaa55f esp-netif-ppp: support for posting GOT_IP event for IPv6 2020-03-05 18:46:48 +00:00
Francesco Giancane
afd6d6294e examples: pppos_client: update sdkconfig.defaults
As per discussion in #4782, IPV6 link local negotiation by default is
disabled.

Signed-off-by: Francesco Giancane <francesco.giancane@accenture.com>
2020-03-05 18:46:48 +00:00
Francesco Giancane
872272e23a lwip: make IPV6 link-local support over PPP configurable
Make the link local negotiation for IPV6 in PPP optional and
configurable.
This is because some modems do not support the IPV6 negotiation and
sending IPV6CP frames would in some cases break the network
configuration phase, resulting in a timeout during the Phase Network.

Please note that this does not disable the IPV6 support for the outgoing
communication (IPV6 is still enabled even if this option is not
selected) but just for the local link between lwIP and modem.

Signed-off-by: Francesco Giancane <francesco.giancane@accenture.com>

Merges https://github.com/espressif/esp-idf/pull/4782
Closes https://github.com/espressif/esp-idf/issues/1065
2020-03-05 18:46:48 +00:00
David Cermak
0927ac648f examples: enable IPv6 in example common connect for esp32s2
Closes IDF-1115
2020-03-05 18:33:35 +00:00
David Cermak
e5650d1ed8 examples: websocket example to send textual data with esp_websocket_client_send_text()
Closes https://github.com/espressif/esp-idf/issues/4640
2020-03-05 16:26:26 +01:00
Felipe Neves
d495f175d5 heap: pushed down all the aligned_alloc / free implementation 2020-03-05 11:02:19 -03:00
Ivan Grokhotkov
4fc3ebbdf6 examples: re-enable storage/sd_card example for ESP32-S2
* adjust SPI initialization
* update readme file to mention ESP32-S2
2020-03-05 13:22:18 +01:00
Renz Bagaporo
71c02394e5 esp32s2: remove esp_intr.h header 2020-03-05 16:15:59 +08:00
ronghulin
ffd8c26780 feature: support multiple PHY init data 2020-03-05 16:14:00 +08:00
Jiang Jiang Jian
1e95cf3111 Merge branch 'bugfix/btdm_assert_when_create_connection_cancel' into 'master'
components/bt: Fix assert when create conntion cancel

See merge request espressif/esp-idf!7816
2020-03-05 14:52:36 +08:00
Jiang Jiang Jian
2ee6cc4730 Merge branch 'nimble/make_msys_1_configurable' into 'master'
NimBLE: Fix check for static random address & add MSYS_1 in menuconfig

Closes BT-522

See merge request espressif/esp-idf!7851
2020-03-05 13:53:05 +08:00
Prasad Alatkar
ee1ab95b98 NimBLE: Fix check for static random address & add MSYS_1 in menuconfig
Closes BT-522 & BT-523
2020-03-05 13:53:04 +08:00
Renz Bagaporo
5f3a689a89 soc: remove duplicate sdio_slave_hal.c 2020-03-05 12:47:54 +08:00
Michael (XIAO Xufeng)
27b194bdb9 ci: fix the issue unit_test_s2 label cannot be used independently 2020-03-05 11:10:49 +08:00
Renz Bagaporo
b239070442 ci: add test for partition_table target 2020-03-05 11:04:09 +08:00
Renz Christian Bagaporo
709d139a25 partition_table: output partition table info for partition_table target 2020-03-05 11:04:09 +08:00
Krzysztof Budzynski
12ed4d028b Merge branch 'bugfix/docs_getting_started_updates' into 'master'
docs: Update getting started guide for ESP32-S2 target

See merge request espressif/esp-idf!7746
2020-03-05 05:05:24 +08:00
Krzysztof Budzynski
2178e3fba4 docs: Update getting started guide for ESP32-S2 target 2020-03-05 05:05:23 +08:00
Mahavir Jain
582f5dd697 Merge branch 'feature/https_server_mutual_auth_PR' into 'master'
Feature/https_server_mutual_auth

Closes IDFGH-2004

See merge request espressif/esp-idf!7626
2020-03-04 17:41:28 +08:00
Ivan Grokhotkov
22516b256f bootloader_support: force alignment of flash_read argument 2020-03-04 09:56:01 +01:00
Jiang Jiang Jian
5724083510 Merge branch 'bugfix/coex_adjust_scheme_when_bt_is_in_connected_status' into 'master'
coexist: adjust coexist scheme when BT is in connected status

Closes BT-635 and WIFI-1743

See merge request espressif/esp-idf!7752
2020-03-04 15:33:09 +08:00
wangcheng
03d11913a2 ble_mesh: add ble mesh coex test example 2020-03-04 14:56:26 +08:00
Michael (XIAO Xufeng)
bd7b2261a7 Merge branch 'bugfix/fix_esp32s2_soc_bug' into 'master'
bugfix(soc/rtc): fix soc/rtc code for esp32s2

See merge request espressif/esp-idf!7819
2020-03-04 14:07:41 +08:00
Xia Xiaotian
5aba95a326 coexist: adjust coexist scheme when BT is in connected status 2020-03-04 13:40:11 +08:00
Jiang Jiang Jian
4d0834359f Merge branch 'feature/wpa3_testcases_support' into 'master'
esp_wifi: Support for additional WPA3 testcases

See merge request espressif/esp-idf!7459
2020-03-04 13:33:00 +08:00
Michael (XIAO Xufeng)
9e12586ab7 esp_common: new unit test benchmarking stdatomic operations 2020-03-04 12:20:23 +08:00
Michael (XIAO Xufeng)
8434845050 atomic: support fetch_and, fetch_and and fetch_xor 2020-03-04 11:35:23 +08:00
Mahavir Jain
5f771fb7be Merge branch 'bugfix/esp_wifi_memory_leak_test_failure' into 'master'
esp_wifi: fix occasional test failure due to memory leak indications

See merge request espressif/esp-idf!7823
2020-03-04 11:16:04 +08:00
Marius Vikhammer
947e3e94ed Add ESP certificate bundle feature
Adds the ESP certificate bundle feature that enables users to bundle a
root certificate bundle together with their application.

Default bundle includes all Mozilla root certificates

Closes IDF-296
2020-03-04 10:51:43 +08:00
Angus Gratton
3490c14298 Merge branch 'doc/multi_target_inc_dir' into 'master'
docs: multi target include dir support

Closes IDF-1371

See merge request espressif/esp-idf!7763
2020-03-04 07:35:10 +08:00
Krzysztof Budzynski
61a272ba56 Merge branch 'doc/add-info-manual-boot-to-get-started-guide' into 'master'
Issues with entering Download mode automatically

See merge request espressif/esp-idf!7616
2020-03-04 04:58:30 +08:00
Kirill Chalov
1ead668d77 Issues with entering Download mode automatically
Add description to Getting started guides of possible issues preventing Development boards from entering Firmware Download mode automatically while trying to flash the boards

Closes https://jira.espressif.com:8443/browse/DOC-11
2020-03-04 04:58:29 +08:00
Ivan Grokhotkov
7dacb730db Merge branch 'feature/coredump_update_esp32s2' into 'master'
espcoredump: update for esp32s2

Closes IDF-1378

See merge request espressif/esp-idf!7548
2020-03-03 23:37:45 +08:00
Alex Lisitsyn
3efa8d7a97 core dump: add ESP32-S2 support 2020-03-03 23:37:45 +08:00
Nachiket Kukade
30d6220394 esp_wifi: Support for additional WPA3 testcases
1. Anti-Clogging Token Request support
2. Return correct status from SAE modules for invalid scenarios
3. Add PMK Caching support for WPA3
2020-03-03 19:01:51 +05:30
chaijie
66beaaef7d soc(rtc): modify rtc code in soc for esp32s2 2020-03-03 13:22:52 +00:00
morris
acd4d4a40b unit test using internal signal connection 2020-03-03 20:14:46 +08:00
morris
07088c6446 rmt: disable carrier feature by default 2020-03-03 20:14:46 +08:00
morris
0e4d82bc55 rmt: support REF_TICK as channel clock source
Closes https://github.com/espressif/esp-idf/pull/3952
2020-03-03 20:14:46 +08:00
morris
3c43264f83 rmt: add RMT_CHANNELS_NUM in rmt_caps.h 2020-03-03 20:14:45 +08:00
Jiang Jiang Jian
ebd35a1657 Merge branch 'bugfix/wep_crash' into 'master'
esp-wifi: Fix crash during WEP shared auth

See merge request espressif/esp-idf!7818
2020-03-03 19:18:46 +08:00
Ivan Grokhotkov
b97b9418f8 Merge branch 'bugfix/improve_component_manager_test_output' into 'master'
Improve message for component manager tests

See merge request espressif/esp-idf!7765
2020-03-03 19:02:31 +08:00
Ivan Grokhotkov
39aad6e9f7 Merge branch 'bugfix/cmake_generators' into 'master'
tools: Force the order of cmake generators

Closes IDF-1444

See merge request espressif/esp-idf!7836
2020-03-03 18:33:30 +08:00
Kirill Chalov
b2d38cf324 Review the file api-reference/peripherals/esp_slave_protocol.rst 2020-03-03 18:12:56 +08:00
kapil.gupta
c634de1532 esp-wifi: Fix crash during WEP shared auth
VNC 1181
WIFI Lib: 526
2020-03-03 17:29:03 +08:00
David Čermák
54d7001654 Merge branch 'bugfix/mqtt_cpp_build' into 'master'
MQTT: Fix C++ build issue

Closes IDFGH-2717

See merge request espressif/esp-idf!7722
2020-03-03 17:20:32 +08:00
Renz Bagaporo
7dbd77cefc examples: split source files for one of the ulp examples 2020-03-03 16:56:14 +08:00
Renz Bagaporo
07a71529de ulp: fix ulp external project args
Closes https://github.com/espressif/esp-idf/issues/4713
2020-03-03 16:56:14 +08:00
Marius Vikhammer
9b56892bfe doc: fix broken .. only:: in JTAG guide
Added note about .. only:: limitations to guide
2020-03-03 15:30:37 +08:00
David Cermak
7bf1a1db35 MQTT: Reference latest mqtt addressing c++ build and qos1/2 resend
Closes https://github.com/espressif/esp-idf/issues/4787
2020-03-03 07:07:57 +00:00
David Cermak
6176b5fbe6 MQTT: Add build only test for using mqtt API from C++ 2020-03-03 07:07:57 +00:00
Jiang Jiang Jian
36e292b97d Merge branch 'bugfix/add_hostname_in_discover_packet' into 'master'
lw-ip:add host name in discover packet

Closes WIFI-1702

See merge request espressif/esp-idf!7677
2020-03-03 14:25:19 +08:00
Mahavir Jain
8ae05e6547 esp_wifi: fix occasional test failure due to memory leak indications
Ensure that newly spawned task stack (dynamic) is getting freed up before
test completion and thus preventing false memory leak indication failure.

unit-test-app: add an API test_utils_task_delete

This API ensures that dynamic memory of deleted task gets freed up
before return. This helps for preventing false memory leak detections
in test failures.
2020-03-03 11:11:23 +05:30
xiongyu
b3ae9fa978 bugfix(i2s): Updated ESP32-S2 ADC DAC support
* Delete the relevant codes of ADC DAC of ESP32-S2.
2020-03-03 12:59:30 +08:00
Jiang Jiang Jian
e8ca5e6f21 Merge branch 'bugfix/Add_wifi_stop_check_in_deinit_entry' into 'master'
esp_wifi: Add wifi stop check at wifi deinit entry

Closes WIFI-1671

See merge request espressif/esp-idf!7800
2020-03-03 12:33:05 +08:00
fuzhibo
3ad5138dd8 fix coexist i2s_adc and rtc_adc 2020-03-03 11:58:53 +08:00
xiongyu
faf898b659 bugfix(i2s): fix driver ut i2s
* Add test support for ESP32S2

* Add loop back test

* Support chip internal connection, no external wiring required.

* Delete the relevant codes of PDM of ESP32-S2 ll layer.

* fix dac dma mode issue
2020-03-03 11:58:53 +08:00
Li Shuai
c796e14964 added psram stack check in backtrace 2020-03-03 11:52:29 +08:00
Marius Vikhammer
c26a765a37 doc: remove uncessary .. only:: dirs
Removed some only directives that are no longer needed with include being processed correctly
2020-03-03 11:37:42 +08:00
Marius Vikhammer
dfc95bc78b docs: multi target include dir support
Closes IDF-1371

Added an include directive that allows for the content to be formatted
according to idf target
2020-03-03 11:37:42 +08:00
Angus Gratton
bfc37ab43f Merge branch 'bugfix/spiflash_read_psram' into 'master'
spi_flash: Fix over-allocation and OOM crash when reading from SPI flash to PSRAM buffers

Closes IDFGH-2698

See merge request espressif/esp-idf!7768
2020-03-03 10:20:15 +08:00
Angus Gratton
d638ace47a Merge branch 'bugfix/clean_pcnt_i2s_public_header' into 'master'
clean pcnt i2s public header

See merge request espressif/esp-idf!7827
2020-03-03 10:15:40 +08:00
Angus Gratton
95f7b1985b spi_flash: Remove 16KB free internal heap limit for esp_flash_read() into PSRAM
Allocation of the temporary internal buffer will now repeat until a small enough buffer can be
allocated, and only fail if less than a 256 byte block of internal RAM is free.

Adds unit test for the same, and generic test utility for creating memory pressure.
2020-03-03 00:17:27 +00:00
Angus Gratton
fb340940d3 spi_flash: Fix over-allocation and OOM crash when reading from SPI flash to PSRAM buffers
Previously would try allocate buffer of minimum size 16KB not maximum size 16KB, causing
out of memory errors for any large reads, or if less than 16KB contiguous free heap.

Also, if using legacy API and internal allocation failed then implementation would abort()
instead of returning the error to the caller.

Added test for using large buffers in PSRAM.

Closes https://github.com/espressif/esp-idf/issues/4769

Also reported on forum: https://esp32.com/viewtopic.php?f=13&t=14304&p=55972
2020-03-03 00:17:27 +00:00
Roland Dobai
2d97209475 tools: Force the order of cmake generators 2020-03-02 16:15:30 +01:00
Ivan Grokhotkov
4f32a06f87 core dump: don't allow core dumps to Flash if PSRAM is used for stacks
It is not possible to write to Flash when the stack is located in
PSRAM, and it is not possible to write PSRAM buffers into Flash when
malloc can not be used.
2020-03-02 14:43:05 +01:00
morris
580ce8fa4a driver: clean pcnt.h i2s.h 2020-03-02 19:31:29 +08:00
xueyunfei
1dfd4d7c42 add host name in discover packet 2020-03-02 08:18:28 +00:00
Aditya Patwardhan
cc0eec52ff esp_https_server: Fixed a PR which adds support for mutual auth in
https_server
Closes https://github.com/espressif/esp-idf/pull/4184
Closes IDFGH-2004
2020-03-02 12:36:36 +05:30
Maximilian Schmidt
559cd57ea6 Support MutualAuthentication in HTTPsServer 2020-03-02 12:28:30 +05:30
Angus Gratton
6f7be93d53 Merge branch 'bugfix/cmake_convert_whitespace' into 'master'
cmake: Minor convert_to_cmake.py fixes

See merge request espressif/esp-idf!7066
2020-03-02 14:22:37 +08:00
xiehang
299ab1360c eps_wifi: Add wifi stop check at wifi deinit entry 2020-03-02 14:20:28 +08:00
Jiang Jiang Jian
4822e468c4 Merge branch 'bugfix/set_channel_in_NULL_mode' into 'master'
fix the bug for setting channel when Wi-Fi in NULL mode

Closes WIFI-1688, WIFI-1689, and WIFI-1704

See merge request espressif/esp-idf!7700
2020-03-02 14:10:35 +08:00
Angus Gratton
c051eafa6a Merge branch 'feature/test_confgen' into 'master'
Tools: Add tests for confgen.py

Closes IDF-480

See merge request espressif/esp-idf!7774
2020-03-02 12:46:51 +08:00
Angus Gratton
08b0b830a1 Merge branch 'bugfix/idf_size_multichip_support' into 'master'
tools: Fix idf_size.py

See merge request espressif/esp-idf!7814
2020-03-02 12:22:06 +08:00
Angus Gratton
8887f79bef cmake: Add warnings that convert_to_cmake.py doesn't calculate component requirements
Any component which requires another component will need this manually
added to its CMakeLists.txt file.
2020-03-02 14:45:03 +11:00
Angus Gratton
ee8557f69d cmake: convert_to_cmake: Fix possible whitespace issues
As reported on forum:
https://esp32.com/viewtopic.php?f=2&t=13565&p=53476#p53453

split() with no arg will match any whitespace sequence not just
a single space, so takes care of case where two spaces are
inserted in the variable value.
2020-03-02 14:44:16 +11:00
zhangyanjiao
36c726de99 esp_wifi: fix bugs related to espnow and channel set
1. Fix the bug for setting channel when Wi-Fi in NULL mode
2. Fix the espnow crash issue
2020-03-02 11:32:05 +08:00
Renz Christian Bagaporo
a5d49d4db5 tools: fix double builds with idf.py 2020-03-02 07:18:22 +05:00
Renz Christian Bagaporo
eb865008d5 cmake: show error message on encrypted flash targets without proper config 2020-03-02 07:18:22 +05:00
Renz Christian Bagaporo
f64a3c2a66 cmake: utility to create a failing target 2020-03-02 07:18:22 +05:00
Krzysztof Budzynski
8e1442f0e7 Merge branch 'bugfix/docs_ulp_reg_rd_wr_instructions' into 'master'
Correct ULP REG_WR and REG_RD instruction for ESP32 and ESP32-S2.

See merge request espressif/esp-idf!7728
2020-03-02 04:18:44 +08:00
Krzysztof Budzynski
bd220bb578 Correct ULP REG_WR and REG_RD instruction for ESP32 and ESP32-S2.
Closes https://github.com/espressif/esp-idf/issues/4776
2020-03-02 04:18:44 +08:00
Jiang Jiang Jian
6fd855ab8d Merge branch 'bugfix/IPV6_multicast_adress_error' into 'master'
lw-ip:fix ipv6 bug when input the wrong broadcast

Closes IDF-1226

See merge request espressif/esp-idf!7771
2020-02-29 16:24:19 +08:00
Jiang Jiang Jian
36233546c9 Merge branch 'feature/doc_feedback_links' into 'master'
docs: Include feedback link in footer

See merge request espressif/esp-idf!7602
2020-02-29 16:20:41 +08:00
Krzysztof Budzynski
0ec526444a docs: Include feedback link in footer 2020-02-29 16:20:41 +08:00
Jiang Jiang Jian
dd1d609884 Merge branch 'bugfix/fix_s2_rx_filter_issue' into 'master'
esp_wifi: fix S2 WiFi RX filter issue

Closes WIFI-1644

See merge request espressif/esp-idf!7791
2020-02-29 16:19:05 +08:00
Felipe Neves
98e561b79a heap: added aligned alloc implementation on multi_heap layer 2020-02-28 13:17:34 -03:00
liu zhifu
6fa0ef50d1 esp_wifi: fix S2 WiFi RX filter issue 2020-02-28 21:37:30 +08:00
Jiang Jiang Jian
520ae6543d Merge branch 'bugfix/add_ant_field_for_esp32s2' into 'master'
(S2) WiFi: add ant field for esp32s2 and update phy lib v102 to v202

Closes WIFI-1787 and WIFI-1788

See merge request espressif/esp-idf!7676
2020-02-28 21:17:40 +08:00
baohongde
d2aa4a1e50 components/bt: Fix assert when create conntion cancel 2020-02-28 20:13:41 +08:00
Roland Dobai
2816c3c536 tools: Fix idf_size.py 2020-02-28 11:55:53 +01:00
ChenJianxing
a182c0682e (S2) WiFi: add ant field for esp32s2 and update phy lib from v102 to v202 2020-02-28 17:44:21 +08:00
Jiang Jiang Jian
40baff19f8 Merge branch 'bugfix/btdm_div_by_zero_in_slp_clk_conversion' into 'master'
bugfix/btdm_div_by_zero_in_slp_clk_conversion

See merge request espressif/esp-idf!7785
2020-02-28 17:19:40 +08:00
Jiang Jiang Jian
e69a50fa1d Merge branch 'bugfix/fix_wifi_stop_leads_to_memory_leak' into 'master'
esp_wifi: fix the memory leak caused by WiFi stop

Closes WIFI-1487

See merge request espressif/esp-idf!7766
2020-02-28 14:55:01 +08:00
liu zhifu
940b4786c5 esp_wifi: fix the bug that WiFi stop leads to memory leak 2020-02-28 12:06:26 +08:00
xueyunfei
74e690402c fix ipv6 bug when input the wrong broadcast 2020-02-28 12:00:45 +08:00
Angus Gratton
0f4cd40b0c Merge branch 'feature/idf_size_multichip_support' into 'master'
tools: Add proper multi-chip support for idf_size.py

Closes IDF-1359 and IDF-363

See merge request espressif/esp-idf!7686
2020-02-28 11:59:01 +08:00
Angus Gratton
f96c374254 Merge branch 'doc/multi_target_list' into 'master'
doc: custom list filter directive

Closes IDF-1385

See merge request espressif/esp-idf!7595
2020-02-28 11:57:55 +08:00
Angus Gratton
04ccb84b83 Merge branch 'feature/cpu_abstraction' into 'master'
CPU related operations abstraction

See merge request espressif/esp-idf!7301
2020-02-28 11:54:29 +08:00
wangmengyang
3428a1ad0b component/bt: set non-zero initial value for bt sleep clock cycle to avoid div-by-zero error in function "btdm_us_2_lpcycles" when BT modem sleep is not enabled 2020-02-28 11:36:48 +08:00
Mahavir Jain
2187948cf0 Merge branch 'bugfix/use_less_ram_for_esp_event_performance_test' into 'master'
esp_event: reduce event bases registered in performance test

See merge request espressif/esp-idf!7807
2020-02-28 11:25:24 +08:00
Michael (XIAO Xufeng)
ce3ab0b8df Merge branch 'bugfix/nec_example' into 'master'
bugfix in NEC example and low level function

Closes IDFGH-2676 and IDFGH-2689

See merge request espressif/esp-idf!7562
2020-02-28 11:00:50 +08:00
Roland Dobai
1821ee8851 tools: Add proper multi-chip support for idf_size.py 2020-02-27 19:50:05 +01:00
Mahavir Jain
e6a99f0506 Merge branch 'bugfix/heap_ci_assign_test_job_count' into 'master'
Increase job count for heap tests esp32s2

See merge request espressif/esp-idf!7808
2020-02-28 01:08:15 +08:00
Supreet Deshpande
2f62b3af4a Increase job count for heap tests 2020-02-27 17:54:09 +05:30
Mahavir Jain
371b3d26ee Merge branch 'feature/https_server_using_wolfssl' into 'master'
Feature/https server using wolfssl

See merge request espressif/esp-idf!7422
2020-02-27 18:57:12 +08:00
Renz Christian Bagaporo
c643f743ce esp_event: halve the events registered in performance test 2020-02-27 15:54:54 +05:00
Mahavir Jain
5f897fd33c Merge branch 'feat/secure_boot_v2_v41' into 'master'
feat/secure_boot_v2: Adding secure boot v2 support to ESP32-ECO3

Closes IDF-799

See merge request espressif/esp-idf!6778
2020-02-27 18:54:08 +08:00
Aditya Patwardhan
c6ad650796 esp_tls_wolfssl: Add support for DER formatted certificates 2020-02-27 15:20:22 +05:30
Aditya Patwardhan
0a25922043 esp_tls_wolfssl: 1) Fix SNI for wolfSSL
2) Fix error captures
3) Add error flags specific wolfSSL
4) make respective changes to esp_err_to_name.c
2020-02-27 15:20:22 +05:30
Aditya Patwardhan
d35862b662 esp-tls: Add support for https_server using wolfSSL 2020-02-27 15:20:22 +05:30
Angus Gratton
26efc5a6d0 bootloader: Set the bootloader optimization level separately to the app
Change the default bootloader config to -Os to save size.

This is a useful feature because it allows switching between debug
and release configs in the app without also needing to account for a
size change in the bootloader.
2020-02-27 14:38:52 +05:30
Angus Gratton
d40c69375c bootloader: Add fault injection resistance to Secure Boot bootloader verification
Goal is that multiple faults would be required to bypass a boot-time signature check.

- Also strengthens some address range checks for safe app memory addresses
- Change pre-enable logic to also check the bootloader signature before enabling SBV2 on ESP32

Add some additional checks for invalid sections:

- Sections only partially in DRAM or IRAM are invalid
- If a section is in D/IRAM, allow the possibility only some is in D/IRAM
- Only pass sections that are entirely in the same type of RTC memory region
2020-02-27 14:37:19 +05:30
Angus Gratton
0dacff4df4 secure boot: Encrypt the bootloader signature when enabling flash encryption + secure boot v2 2020-02-27 14:32:42 +05:30
Anton Maklakov
5ea4d7ba61 Merge branch 'ci/ut_esp32s2_allow_schedule' into 'master'
ci: allow esp32s2 unit tests run by scheduled pipeline

See merge request espressif/esp-idf!7796
2020-02-27 14:48:10 +08:00
Jiang Jiang Jian
4bd9c2ff64 Merge branch 'bugfix/fix_beacon_frame_vendor_ie_issue' into 'master'
bugfix: Place the Vendor Specific element at the end according to the protocol

Closes WIFI-705

See merge request espressif/esp-idf!7669
2020-02-27 14:31:45 +08:00
Jiang Jiang Jian
5ab8250bde Merge branch 'feat/ble_mesh_update' into 'master'
ble_mesh: Miscellaneous modifications

Closes BLEMESH-139 and BLEMESH-38

See merge request espressif/esp-idf!7385
2020-02-27 11:34:58 +08:00
Michael (XIAO Xufeng)
7f8c827326 Merge branch 'bugfix/fix_driver_ut_pcnt' into 'master'
bugfix(pcnt): fix driver ut pcnt

See merge request espressif/esp-idf!6891
2020-02-27 11:29:28 +08:00
Michael (XIAO Xufeng)
9199207c67 ci: allow esp32s2 unit tests run by scheduled pipeline 2020-02-27 11:20:08 +08:00
Renz Christian Bagaporo
d46989efa3 soc: remove param checking in cpu related abstractions 2020-02-27 07:15:15 +05:00
Renz Christian Bagaporo
f75cb2ef00 soc: change cpu stall, unstall, and reset core to not return values 2020-02-27 07:15:15 +05:00
Renz Christian Bagaporo
d5c123c1f5 soc: use own macro to assert proper args for cpu abstractions 2020-02-27 07:15:15 +05:00
Renz Christian Bagaporo
7386ac6d15 esp32s2: remove calls to stall/unstall other core 2020-02-27 07:15:15 +05:00
Renz Christian Bagaporo
7f864d24ad soc: prefer assertions, disabling functions for cpu abstractions
Prefer assertions, making available functions only when caps support it
for cpu-related abstractions.

Changes cpu hal functions to stall, unstall, reset to not accept -1;
instead prefering macros that provide the same functionality.
2020-02-27 07:15:14 +05:00
Renz Christian Bagaporo
cefc71cdcd bootloader_support: mem-related initializations using cpu abstractions 2020-02-27 07:14:21 +05:00
Renz Christian Bagaporo
db608736fb freertos: implement get core id with cpu abstraction 2020-02-27 07:14:21 +05:00
Renz Christian Bagaporo
f3c6320ff6 soc: implement cpu utils in terms of cpu abstractions 2020-02-27 07:14:21 +05:00
Renz Christian Bagaporo
c9a51bfbb2 soc: create abstraction for cpu related operations 2020-02-27 07:14:19 +05:00
Jiang Jiang Jian
ac55328efd Merge branch 'bugfix/fix_sae_test_failure' into 'master'
wpa_supplicant: Fix SAE test-case failure on mbedtls version udpate

See merge request espressif/esp-idf!7792
2020-02-26 22:38:06 +08:00
Ivan Grokhotkov
5d399b459c tools: check if idf_tools.py install-python-env is called from a venv
Closes IDF-1095
2020-02-26 14:03:38 +01:00
Mahavir Jain
e36516372a Merge branch 'feature/loadstore_handler' into 'master'
LoadStore Exception Handlers

See merge request espressif/esp-idf!7086
2020-02-26 20:21:59 +08:00
Sachin Parekh
301dacfb33 Exception handlers for LoadStoreError and LoadStoreAlignmentError
Configurable option to use IRAM as byte accessible memory (in single core mode) using
load-store (non-word aligned and non-word size IRAM access specific) exception handlers.
This allows to use IRAM for use-cases where certain performance penalty
(upto 170 cpu cycles per load or store operation) is acceptable. Additional configuration
option has been provided to redirect mbedTLS specific in-out content length buffers to
IRAM (in single core mode), allows to save 20KB per TLS connection.
2020-02-26 20:21:59 +08:00
Sagar Bijwe
0f1710d878 wpa_supplicant: Fix SAE test-case failure on mbedtls version udpate
Problem:
mbedtls_ctr_drbg_context was initialized in crypto_ec_point_mul. This
was okay in releases before 2.16.4 as entropy_len used to get set to
MBEDTLS_CTR_DRBG_ENTROPY_LEN in function mbedtls_ctr_drbg_seed. The
function is now changed to set the length to
MBEDTLS_CTR_DRBG_ENTROPY_LEN if previous length is 0 and hence the bug.

Solution:
Initialize mbedtls_ctr_drbg_context in crypto_ec_point_mul.
2020-02-26 17:50:08 +05:30
Michael (XIAO Xufeng)
c53192d521 Merge branch 'bugfix/fix_uart_set_line_inverse_breaking_change_issue' into 'master'
Bugfix(uart): fix uart_set_line_inverse breaking change issue

Closes IDFGH-2469

See merge request espressif/esp-idf!7345
2020-02-26 18:34:52 +08:00
Michael (XIAO Xufeng)
9d8e590d86 Merge branch 'fix/spi_flash_legacy_on_esp32s2' into 'master'
spi_flash: fix the reading issue using the ROM functions on ESP32-S2

See merge request espressif/esp-idf!7767
2020-02-26 18:04:51 +08:00
lly
134f57b8e0 ble_mesh: Calc incomplete timeout based on msg info 2020-02-26 17:42:04 +08:00
lly
087bafe5b9 ble_mesh: Start the timer when starting to send the client message 2020-02-26 17:41:46 +08:00
lly
90f8a54a71 ble_mesh: No timeout for client message to non-unicast address 2020-02-26 17:41:30 +08:00
lly
97eca35805 ble_mesh: Unify client application and lower transport layer timeout 2020-02-26 17:41:11 +08:00
lly
e24645c791 ble_mesh: Allow maximum 377 octets payload 2020-02-26 17:40:46 +08:00
lly
828bfeac88 ble_mesh: Reset transport info when node is removed 2020-02-26 17:40:23 +08:00
lly
48343a8a8f ble_mesh: Provisioner ignores msg from removed node 2020-02-26 17:39:55 +08:00
lly
7cd08b5824 ble_mesh: Miscellaneous modifications
1. Add an API to set Provisioner static oob value
2. Add an API to deinit BLE Mesh stack
3. Add an API to set Provisioner unicast address
4. Add an API to provision devices with fixed address
5. Add an API to store node composition data
6. Add an API to get node with device uuid
7. Add an API to get node with unicast address
8. Add an API to delete node with device uuid
9. Add an API to delete node with unicast address
10. Add an API for Provisioner to update local AppKey
11. Add an API for Provisioner to update local NetKey
12. Support Provisioner persistent functionality
13. Fix Provisioner entering IV Update procedure
14. Fix an issue which may cause client failing to send msg
15. Use bt_mesh.flags to indicate device role
16. Remove several useless macros
17. Callback RSSI of received mesh provisioning packets
18. Modify the Provisioner disable function
19. Change some log level from debug to info
20. Add parameters to Provisioner bind AppKey completion event
21. Fix node ignoring relay messages issue
22. Support using a specific partition for BLE Mesh
23. Fix compile warning when proxy related macros are disabled
24. Clean up BLE Mesh stack included header files
25. NULL can be input if client message needs no parameters
26. Fix compile warning when BT log is disabled
27. Initilize BLE Mesh stack local variables
28. Support using PSRAM for BLE Mesh mutex, queue and task
29. Add a menuconfig option to enable using memory from PSRAM
30. Clean up sdkconfig.defaults of BLE Mesh examples
2020-02-26 17:37:44 +08:00
xiongyu
4d5c950770 bugfix(pcnt): fix driver ut pcnt
* Let `[ignore] case` return to freedom

  1) Because this test uses its own ISR, we need to release it with `esp_intr_free` instead of `pcnt_isr_service_uninstall`.

  2) `pcnt_evt_queue` needs to be created before the interrupt is registered and needs to be released at the end of each case.

* Add test support for ESP32S2

* Support chip internal connection, no external wiring required.
2020-02-26 16:52:53 +08:00
Michael (XIAO Xufeng)
160d3bd416 Merge branch 'refactor/i2c_const_and_param_check' into 'master'
I2C: const correctness and better param check

See merge request espressif/esp-idf!7582
2020-02-26 16:06:57 +08:00
Jakob Hasse
3bcc6b48af I2C: i2c.h/i2c.c applied new code formatting 2020-02-26 15:12:03 +08:00
Mahavir Jain
6cc4859d02 Merge branch 'feature/enable_protocomm_tests_for_s2' into 'master'
protocomm: enable test cases for esp32s2 with software AES

Closes IDF-1399

See merge request espressif/esp-idf!7675
2020-02-26 11:23:02 +08:00
michael
f1a4c84e57 GPIO: fix unit test issue on ESP32-S2
Also rename some test variables.
2020-02-26 11:12:09 +08:00
michael
7a3f21636f spi_flash: fix the reading issue using the ROM functions in the ROM 2020-02-26 11:12:09 +08:00
michael
f8fae4c80c spi_flash: resume unit tests for ESP32-S2 2020-02-26 11:12:08 +08:00
Krzysztof Budzynski
097d0bd9c8 Merge branch 'bugfix/doc_python3' into 'master'
Docs: Encourage to use Python 3

Closes IDF-1316

See merge request espressif/esp-idf!7726
2020-02-26 05:04:18 +08:00
Roland Dobai
c4421629c8 Tools: Add tests for confgen.py 2020-02-25 17:15:46 +01:00
houwenxiang
4883733472 driver(I2C): support esp32-s2 I2C driver. 2020-02-25 21:56:00 +08:00
Jiang Jiang Jian
02e2c30ba2 Merge branch 'bugfix/hfp_github_issues' into 'master'
Bugfix/hfp github issues

Closes BT-614, BT-639, and BT-633

See merge request espressif/esp-idf!7753
2020-02-25 21:05:56 +08:00
Mahavir Jain
b3e7e61f23 protocomm: enable test cases for esp32s2 with software AES 2020-02-25 18:05:35 +05:30
weitianhua
477e584f7d Bugfix for HFP and some Github issue.
1. Bugfix for AG audio crash (change the return position)
2. Fix the error macro name and error return in hfp_hf demo
3. Fix the annotation error using UTF-8 ' (from Github)
4. Change or remove the log in SCO related code region.
5. Correct error of introduction of a function.
2020-02-25 18:03:54 +08:00
Michael (XIAO Xufeng)
8f496a0f96 Merge branch 'refactor/add_ll_for_clock_gate_operation' into 'master'
periph_ctrl: move target specific into ll files

See merge request espressif/esp-idf!7733
2020-02-25 16:56:30 +08:00
Sergei Silnov
47bfd337d2 Improve message for component manager tests 2020-02-25 09:22:52 +01:00
Jiang Jiang Jian
cc7b5ed6d2 Merge branch 'feature/resume_several_tests_on_esp32s2' into 'master'
Resume several tests on esp32s2

Closes IDF-1013, IDF-1025, and IDF-1030

See merge request espressif/esp-idf!7751
2020-02-25 14:28:14 +08:00
ronghulin
9afdcb2c70 bugfix: Place the Vendor Specific element at the end according to the protocol 2020-02-25 14:18:50 +08:00
Mahavir Jain
33cdd09385 Merge branch 'bugfix/ota_with_redirection' into 'master'
Fix OTA in case of a redirection

See merge request espressif/esp-idf!7596
2020-02-25 13:08:00 +08:00
Supreet Deshpande
073ba0a608 feat/secure_boot_v2: Adding docs for secure boot v2 ESP32-ECO3 2020-02-25 01:28:22 +05:30
Supreet Deshpande
b79606ca37 feat/secure_boot_v2: Adding tools support for secure boot v2 ECO3 2020-02-25 01:28:22 +05:30
Supreet Deshpande
a9ccc5e5c8 feat/secure_boot_v2: Adding secure boot v2 support for ESP32-ECO3 2020-02-25 01:28:22 +05:30
Roland Dobai
5c0cd9417d Docs: Encourage to used Python 3 2020-02-24 12:55:55 +01:00
Shubham Kulkarni
63cd95d236 esp_https_ota.c: Add errno check for WiFi disconnection while performing OTA 2020-02-24 16:53:40 +05:30
Shubham Kulkarni
4d40f94168 OTA: Add fix in case of URL redirection and a test case of URL redirection
Closes https://github.com/espressif/esp-idf/issues/4780
2020-02-24 16:53:27 +05:30
morris
e9717fc07b periph_ctrl: move target specific into ll files 2020-02-24 14:50:26 +08:00
Jakob Hasse
d230d44e2d I2C: const correctness, checking SDA/SCL GPIOs
* const correctness in i2c_slave_write_buffer()
* i2c_set_pin() additionally checks whether
  SDA and SCL pins are the same number
2020-02-24 14:30:28 +08:00
morris
2227e2505b resume wifi init test on esp32s2 2020-02-24 14:03:25 +08:00
morris
237f6448d3 resume pppos example on esp32s2 2020-02-24 12:02:18 +08:00
morris
da6742b91f resume iperf example on esp32s2 2020-02-24 11:59:25 +08:00
morris
ea8d6318af add SOC_EMAC_SUPPORTED in soc_caps.h 2020-02-24 11:57:58 +08:00
Jiang Jiang Jian
c65b67115a Merge branch 'bugfix/wifi_run_modem_sleep_on_esp32s2' into 'master'
esp_wifi: run modem sleep on ESP32S2

Closes WIFI-1767

See merge request espressif/esp-idf!7682
2020-02-24 11:44:37 +08:00
houwenxiang
c07e4c775d driver(uart): fix uart_set_line_inverse breaking change issue
closes https://github.com/espressif/esp-idf/issues/4581
2020-02-24 11:36:31 +08:00
Jiang Jiang Jian
7092613eea Merge branch 'bugfix/btdm_check_EXT_CRYS_state_for_sleep_clk' into 'master'
bugfix/btdm_check_EXT_CRYS_state_for_sleep_clk

Closes BT-582

See merge request espressif/esp-idf!7439
2020-02-21 21:21:54 +08:00
Xia Xiaotian
6faaa0ea6b esp_wifi: run modem sleep on ESP32S2 2020-02-21 19:58:41 +08:00
Ivan Grokhotkov
5ccfc332ea Merge branch 'feature/nvs_erase_check_init' into 'master'
NVS Flash: prevent erasing initialized partition

See merge request espressif/esp-idf!7615
2020-02-21 17:47:45 +08:00
Jiang Jiang Jian
e2d8f81ef5 Merge branch 'bugfix/fix_esp32s2_chip_version_name' into 'master'
wifi: Change esp32s2beta dirname to esp32s2 in wifi-lib

See merge request espressif/esp-idf!7654
2020-02-21 17:45:08 +08:00
Jiang Jiang Jian
d3d4746bb7 Merge branch 'bugfix/add_option_to_ipv6_stateless_address_configuration' into 'master'
lw-ip: Add option to ipv6 stateless address configuration

See merge request espressif/esp-idf!7697
2020-02-21 14:53:03 +08:00
Ivan Grokhotkov
b90a68f89b Merge branch 'bugfix/esp32s2_trax' into 'master'
xtensa: add TRAX support for esp32s2

Closes IDF-1408

See merge request espressif/esp-idf!7683
2020-02-21 09:58:15 +08:00
Ivan Grokhotkov
996c925d29 Merge branch 'doc/tools_docker_bind_kconfig' into 'master'
docs: docker: add instructions for binding tools/kconfig to a volume

See merge request espressif/esp-idf!7655
2020-02-21 09:57:21 +08:00
Ivan Grokhotkov
cd114f656b Merge branch 'fix/gdbstub_large_com_on_windows' into 'master'
idf_monitor: fix gdbstub issue opening large COM port number on Windows

See merge request espressif/esp-idf!7619
2020-02-21 09:56:42 +08:00
Marius Vikhammer
63b76a9d90 doc: custom list filter directive
Custom directive that allows for creation of lists where the content can be filtered based on target.

Closes IDF-1385
2020-02-20 18:08:05 +08:00
Michael (XIAO Xufeng)
132cc67c03 Merge branch 'bugfix/gpio_driver_hold_function_for_esp32' into 'master'
bugfix: clear both hold bit in `rtcio reg` and `rtc cntl reg` for esp32

See merge request espressif/esp-idf!7375
2020-02-20 15:42:29 +08:00
Fu Zhi Bo
7a5b67b8de rtcio: fix rtcio unhold function
Solve problems caused by code refactoring.

Closes https://github.com/espressif/esp-idf/issues/4600
2020-02-20 15:42:28 +08:00
Sagar Bijwe
bbd0ff5347 wifi: Change esp32s2beta dirname to esp32s2 in wifi-lib 2020-02-20 06:57:10 +00:00
Angus Gratton
3b498a0576 Merge branch 'bugfix/confserver_hex_types' into 'master'
confserver: Standardize and document the handling of hex values

See merge request espressif/esp-idf!7437
2020-02-20 14:48:15 +08:00
wangmengyang
d6e672ed51 component/bt: fall back to main XTAL as Bluetooth sleep clock when EXT 32K CRYS is configured but not detected 2020-02-20 14:34:28 +08:00
xiehang
a4b16213ad lw-ip: Add option to ipv6 stateless address configuration 2020-02-20 14:30:21 +08:00
Jiang Jiang Jian
959b0295f3 Merge branch 'bugfix/coex_a2dp_stuck_after_creating_anther_connection' into 'master'
components/coex: Fix a2dp stuck after creating another connection

See merge request espressif/esp-idf!7651
2020-02-20 14:15:22 +08:00
Jiang Jiang Jian
a512d6e15a Merge branch 'bugfix/coex_fix_misspell_in_kconfig' into 'master'
components/coex: Fix misspell in Kconfig

See merge request espressif/esp-idf!7670
2020-02-20 14:15:04 +08:00
Jiang Jiang Jian
adf10e4469 Merge branch 'bugfix/btdm_role_switch' into 'master'
Fix bugs about role switch

Closes BT-458 and BT-482

See merge request espressif/esp-idf!6878
2020-02-20 13:39:25 +08:00
Jakob Hasse
c6deffb8a2 NVS Flash: prevent erasing initialized partition
Closes https://github.com/espressif/esp-idf/issues/4755
Closes https://github.com/espressif/esp-idf/issues/2777

* nvs_flash_erase_partition() checks whether
  the parition in question is initialized
  already and will return an error if so
* reflect changes in the documentation
2020-02-19 18:16:04 +01:00
Michael (XIAO Xufeng)
fa4eba2e34 Merge branch 'bugfix/add_missing_ledc_set_pin_declaration' into 'master'
Bugfix (LEDC): Add missing ledc_set_pin declaration

Closes IDFGH-2546

See merge request espressif/esp-idf!7344
2020-02-20 00:22:43 +08:00
Ivan Grokhotkov
240ec7444f ci: add build test for TRAX feature 2020-02-19 14:02:35 +01:00
Ivan Grokhotkov
8fec484d2b xtensa: add TRAX support for esp32s2 2020-02-19 14:02:14 +01:00
baohongde
d11a86076f Fix bugs about role switch
Jitter in FHS
Jitter in first PULL
Receive EDR packet fail after role switch
2020-02-19 20:14:47 +08:00
Ivan Grokhotkov
40cff27053 Merge branch 'feature/esp32s2_pm' into 'master'
esp32s2: power management (DFS and auto light sleep)

Closes IDF-670, IDF-527, and IDFGH-231

See merge request espressif/esp-idf!7578
2020-02-19 18:26:33 +08:00
Ivan Grokhotkov
32ea031b19 Merge branch 'bugfix/bootloader_custom_console_pins' into 'master'
Fix bootloader build if custom UART pins are used (Github PR + ESP32-S2 + test)

See merge request espressif/esp-idf!7665
2020-02-19 16:56:15 +08:00
Mahavir Jain
57a94fe6e6 Merge branch 'bugfix/fix_cpp_example_tests' into 'master'
examples: fix cpp example tests regression

See merge request espressif/esp-idf!7673
2020-02-19 16:13:27 +08:00
Paul Abbott
b75e3de447 Bugfix(LEDC): Add missing ledc_set_pin declaration in led.h
Merges https://github.com/espressif/esp-idf/pull/4632
2020-02-19 16:02:33 +08:00
baohongde
6ca361fd2b components/coex: Fix a2dp stuck after creating anther connection 2020-02-19 07:14:26 +00:00
Ivan Grokhotkov
1cbb2287be ci: add build test for custom console UART pins 2020-02-19 08:13:23 +01:00
Ivan Grokhotkov
f69f05ecd7 bootloader: esp32s2: fix enabling custom console pins 2020-02-19 08:13:23 +01:00
Mahavir Jain
d472e99a8f examples: fix cpp example tests regression 2020-02-19 11:03:07 +05:30
baohongde
364a9dece0 components/coex: Fix misspell in Kconfig 2020-02-19 11:41:03 +08:00
Angus Gratton
dc63badbd2 Merge branch 'feature/add_subdirectory_if_exists' into 'master'
cmake: add subdirectory if exists utility

See merge request espressif/esp-idf!7302
2020-02-19 07:54:27 +08:00
Ivan Grokhotkov
fe0df01b12 Merge branch 'bugfix/from_github' into 'master'
Fixes from Github

Closes IDFGH-2679, IDFGH-2632, IDFGH-2716, IDFGH-2439, and IDFGH-2509

See merge request espressif/esp-idf!7659
2020-02-18 23:53:38 +08:00
Ivan Grokhotkov
75d0f38108 Merge branch 'doc/unit_test_multiple_targets' into 'master'
doc: add multi-target rules for writing unit tests

See merge request espressif/esp-idf!7438
2020-02-18 23:30:02 +08:00
Nebojsa Cvetkovic
d649ea96ce soc: Add missing gpio_periph.h header 2020-02-18 13:10:37 +00:00
Ivan Grokhotkov
20d93ac835 docs: remove note about v4.0 docker tag, use release-v4.0 as example 2020-02-18 14:02:46 +01:00
Jiang Jiang Jian
a16d795448 Merge branch 'example/ble_optimization_the_example_ble_spp_server_demo' into 'master'
example : Optimize the ble_spp_server_demo example

Closes BCI-90

See merge request espressif/esp-idf!7029
2020-02-18 21:00:54 +08:00
Jiang Jiang Jian
a06f025e61 Merge branch 'bugfix/coex_watchdog_timeout_with_sleep_enabled' into 'master'
components/coex: Fix watchdog timeout when sleep enabled

See merge request espressif/esp-idf!7419
2020-02-18 20:55:30 +08:00
Jiang Jiang Jian
6d03758ac4 Merge branch 'bugfix/ble_mesh_fix_compile_error_with_cpp' into 'master'
ble_mesh: Fix compile error with c++ files

Closes BMCI-52

See merge request espressif/esp-idf!7579
2020-02-18 20:43:55 +08:00
Renz Christian Bagaporo
ab84c73244 cmake: add subdirectory if exists utility 2020-02-18 17:16:06 +05:00
khuynh
21fd946312 fix markdown table formatting
fixed markdown for a table in
`examples/peripherals/temp_sensor_esp32s2/README.md`

Merges https://github.com/espressif/esp-idf/pull/4609
2020-02-18 12:30:56 +01:00
Alexander Borsuk
e489e48dfa Fixes compilation error on verbose level (IDFGH-2439)
Closes #4552

Merges https://github.com/espressif/esp-idf/pull/4786
2020-02-18 12:30:47 +01:00
Rusty Eddy
a81d231791 Added semi-colon to esp_event_loop_create(...)
Title sums it up.

Merges https://github.com/espressif/esp-idf/pull/4711
2020-02-18 12:30:38 +01:00
Mooli Tayer
311983eb55 Fix typo
Merges https://github.com/espressif/esp-idf/pull/4752
2020-02-18 12:30:29 +01:00
Jiang Jiang Jian
1a7d0b3b6f Merge branch 'bugfix/esp32s2_rng' into 'master'
soc: esp32s2: fix address of WDEV_RND_REG

Closes IDF-1390

See merge request espressif/esp-idf!7640
2020-02-18 19:07:51 +08:00
Ivan Grokhotkov
9be3cd883b docs: docker: add instructions for binding tools/kconfig to a volume
Closes https://github.com/espressif/esp-idf/issues/4790
2020-02-18 11:43:29 +01:00
Wang Jia Lin
f02399948d Merge branch 'bugfix/i2s_adc_output_invert' into 'master'
bugfix(i2s): fix adc output invert issue

See merge request espressif/esp-idf!7180
2020-02-18 18:29:23 +08:00
Mahavir Jain
9bcd84b0d0 Merge branch 'bugfix/doc_cxx_fix' into 'master'
C++: fixed documentation MR regression leading to doc build error

See merge request espressif/esp-idf!7642
2020-02-18 17:33:40 +08:00
Ivan Grokhotkov
e94cf2f807 Merge branch 'bugfix/make_monitor' into 'master'
make: fix 'make monitor' target when core dump is not enabled

See merge request espressif/esp-idf!7641
2020-02-18 16:22:20 +08:00
Jakob Hasse
7e7f87a70d DOC: fixed MR regression leading to doc build error 2020-02-18 09:01:33 +01:00
Ivan Grokhotkov
f31fc368bf make: fix 'make monitor' target when core dump is not enabled 2020-02-18 08:34:16 +01:00
Ivan Grokhotkov
19c2337168 soc: esp32s2: fix address of WDEV_RND_REG
Ref. ESP32-S2 TRM.

Closes IDF-1390
2020-02-18 08:24:33 +01:00
Mahavir Jain
6355775e68 Merge branch 'bugfix/unified_prov_bluedroid' into 'master'
Unified Provisioning - BLE: Fix characteristics read response issue

See merge request espressif/esp-idf!7609
2020-02-18 14:42:08 +08:00
Hrishikesh Dhayagude
3080cad4da Unified Provisioning - BLE: Fix characteristics read response issue
Fix the issue when number of bytes to be read is an exact multiple of [MTU-1]
2020-02-18 14:42:07 +08:00
Jiang Jiang Jian
1b4787765d Merge branch 'bugfix/change_hci_task_size_back' into 'master'
components/bt: change HCI task size back

See merge request espressif/esp-idf!7566
2020-02-18 12:51:55 +08:00
Mahavir Jain
b181d9ab1d Merge branch 'feature/cxx_project_reordering' into 'master'
C++: examples folder and experimental component

See merge request espressif/esp-idf!7524
2020-02-18 12:48:57 +08:00
Jakob Hasse
31edd48b43 C++: Moved all C++ examples to own folder
* moved C++ examples to a new cxx folder in
  examples
* added experimental C++ component
* added ESPException class to the C++ experimental
  component
* added test cases for ESPException and
  corresponding test macros
2020-02-18 12:48:57 +08:00
baohongde
66a01ef490 components/coex: Fix watchdog timeout when sleep enabled
Fix crash without enabling sw coex
2020-02-18 03:35:24 +00:00
blueMoods
6a922ea07c components/bt: change HCI task size back 2020-02-18 03:06:09 +00:00
Angus Gratton
a0644bf8ae Merge branch 'test/resume_ut_esp32s2' into 'master'
ci: resume esp32s2 unit tests

See merge request espressif/esp-idf!7436
2020-02-18 10:58:14 +08:00
Angus Gratton
a6066c801d Merge branch 'feature/efuse_using_rom_set_timing_func' into 'master'
(S2) efuse: Using a ROM function for set_timing

Closes IDF-990

See merge request espressif/esp-idf!7594
2020-02-18 10:29:16 +08:00
Angus Gratton
e95ba301d8 Merge branch 'bugfix/use_quotes_in_embedding_ulp_apps' into 'master'
ulp: use quotes when specifying files for embedding ulp binaries

See merge request espressif/esp-idf!7606
2020-02-18 09:15:50 +08:00
KonstantinKondrashov
146c788bd4 (S2) efuse: Using a ROM function for set_timing
Closes: IDF-990
2020-02-18 01:10:57 +00:00
Angus Gratton
7bce9ad686 Merge branch 'doc/check_link_roles' into 'master'
docs: Check link roles in build, fix broken links

See merge request espressif/esp-idf!7538
2020-02-18 08:26:47 +08:00
Angus Gratton
b92882a0e6 Merge branch 'bugfix/kconfig_cmake_escape' into 'master'
confgen.py: Escape special characters for cmake

Closes IDFGH-2677

See merge request espressif/esp-idf!7580
2020-02-18 08:13:13 +08:00
Renz Christian Bagaporo
bb639bb91d ulp: use quotes when specifying files for embedding ulp binaries 2020-02-18 00:12:56 +00:00
Angus Gratton
99cdddeb63 docs: Fix broken or incorrect link roles to IDF files & directories 2020-02-18 10:34:11 +11:00
Angus Gratton
a825985283 docs: Check local files exist (and are correct type) for custom link roles 2020-02-18 10:34:11 +11:00
Ivan Grokhotkov
cee7377e3c esp32s2: hide “FPGA” as an option for CPU frequency
unless IDF_ENV_FPGA is set.
2020-02-17 17:33:56 +01:00
Ivan Grokhotkov
a8ad9d6b43 esp32s2: use smaller RTC_CLK_CAL_CYCLES by default
Reduce the number proportionally to the frequency (160k on ESP32,
90k on ESP32-S2).
2020-02-17 17:33:56 +01:00
Ivan Grokhotkov
383ace9443 rtc_clk_cal: make compatible with the ESP32 2020-02-17 17:33:56 +01:00
Ivan Grokhotkov
490bf29767 esp32s2: fix enabling 32k XTAL clock
On the ESP32S2, rtc_clk_cal(RTC_CAL_RTC_MUX) measures the frequency
of the 90kHz RTC clock regardless of the selected slow clock
frequency. Keep track which clock is selected and pass the argument
to rtc_clk_cal accordingly.

fix clock choices

update rtc 32k xtal code for s2

missed api in rtc.h

bootloader_clock: update for S2
2020-02-17 17:33:56 +01:00
Ivan Grokhotkov
74ac618287 soc/rtc: update frequency switching APIs to match the master branch
esp32s2 code was based in IDF v3.1, and used outdated APIs.

Closes IDF-670
2020-02-17 17:23:32 +01:00
Ivan Grokhotkov
d2d3269159 esp32s2: sync esp_pm code from esp32 2020-02-17 16:03:47 +01:00
Ivan Grokhotkov
d37a419dfc esp_pm: esp_pm_dump_locks: don't print from a critical section 2020-02-17 16:03:47 +01:00
xiongyu
61778d5b7c bugfix(i2s): fix adc output invert issue 2020-02-17 17:15:01 +08: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
morris
0d521e8f9d rmt: fix missing 0x in rmt_ll.h
Closes https://github.com/espressif/esp-idf/issues/4760
2020-02-17 15:20:41 +08:00
DeeFuse
c788351c94 Update ir_builder_rmt_nec.c
fixes standard protocol mode wich would fail due to integer promotion in inversion

Merges https://github.com/espressif/esp-idf/pull/4750
2020-02-17 15:20:41 +08:00
DeeFuse
a63a0be6ed Update ir_protocols_main.c
RMT write should be non-blocking to wait the correct time for sending the repeat frame
2020-02-17 15:20:41 +08:00
Jiang Jiang Jian
23c62a4225 Merge branch 'bugfix/update_docs_for_wifi_header' into 'master'
esp_wifi: Update docs for wifi headers

See merge request espressif/esp-idf!7604
2020-02-17 15:17:28 +08:00
Angus Gratton
d9d7a906b1 confserver docs: Merge the build-system docs info about confserver into the README
Add link into the README from the docs
2020-02-17 17:21:22 +11:00
Angus Gratton
89fb104747 confserver: Standardize and document the handling of hex values
Previously, server always sent back "hex" types as JSON integers but would only accept setting them as a
JSON string of hex digits. This still works, but also possible to use JSON integers in both directions.

Add tests for both representations, add a note in the README about types.
2020-02-17 17:21:22 +11:00
Anton Maklakov
8222ab7330 Merge branch 'bugfix/ci_no_attempts_no_custom_toolchain_url' into 'master'
ci: no stage attempts variables,  no custom toolchain url

See merge request espressif/esp-idf!6689
2020-02-17 11:05:58 +08:00
Angus Gratton
effefc2329 Merge branch 'feat/sdio_example_without_intr' into 'master'
sdio: update the host example to support working with a slave without DAT1

See merge request espressif/esp-idf!7098
2020-02-17 07:04:31 +08:00
Krzysztof Budzynski
41bc06b9b9 Merge branch 'bugfix/docs_ledc' into 'master'
drivers: Remove high speed mode from LEDC docs for ESP32-S2, update headers to match

See merge request espressif/esp-idf!7532
2020-02-17 05:00:36 +08:00
Krzysztof Budzynski
b41079d8b6 Merge branch 'feature/esp-ble-mesh-faq-cn' into 'master'
Add Chinese translation for esp-ble-mesh-faq.

See merge request espressif/esp-idf!6637
2020-02-17 04:58:56 +08:00
Tian Yang Min
63ed8a4aed docs: Add Chinese translation for esp-ble-mesh-faq
This commit adds the Chinese translation for the
esp-ble-mesh-faq document.
2020-02-17 04:58:56 +08:00
michael
2529eda907 ci: disable failed cases for s2 temporarily 2020-02-15 18:28:25 +08:00
michael
1c7ffbaa19 app_update: rename ut name 2020-02-15 18:28:25 +08:00
michael
d16ad4a67a ci: disable case witout runners 2020-02-15 18:28:25 +08:00
michael
24b16b0b19 ci: resume esp32s2 unit tests 2020-02-15 18:28:24 +08:00
Jiang Jiang Jian
4c48208e2c Merge branch 'bugfix/sock_lock_crash' into 'master'
lw-ip:fix bug for crash when socket lock not initialized

Closes WIFI-1713

See merge request espressif/esp-idf!7597
2020-02-15 13:41:49 +08:00
Jiang Jiang Jian
c012011c16 Merge branch 'bugfix/sntp_init_can_run_before_net_connection' into 'master'
lw_ip: Add to sys_arch_protect() a check that the mutex is created before use if not then creates it

Closes WIFI-1019

See merge request espressif/esp-idf!7495
2020-02-15 13:14:09 +08:00
Konstantin Kondrashov
565eee12a0 lwip: Add to sys_arch_protect() a check that the mutex is created before use if not then creates it
Closes: https://github.com/espressif/esp-idf/issues/944
Closes: https://github.com/espressif/esp-idf/issues/3931
Closes: WIFI-1019
2020-02-15 13:14:08 +08:00
Jiang Jiang Jian
7d39f435a3 Merge branch 'bugfix/ble_crash_irq_miss' into 'master'
Fix ble crash issue triggered by ble event irq miss(0x20000) (819979b9)

See merge request espressif/esp-idf!7490
2020-02-14 19:53:49 +08:00
Jiang Jiang Jian
928438056d Merge branch 'bugfix/btdm_hfp_ag_crash_in_unknown_at_cmd' into 'master'
components/bt: Fix connection fail and crash when receive unknown AT cmd

Closes BT-565

See merge request espressif/esp-idf!7389
2020-02-14 19:46:46 +08:00
Jiang Jiang Jian
d058be6720 Merge branch 'bugfix/btdm_error_type_in_config_eir_evt' into 'master'
components/bt: Fix error EIR type in config eir event

Closes BT-593

See merge request espressif/esp-idf!7404
2020-02-14 16:38:08 +08:00
Michael (XIAO Xufeng)
699c6db836 doc: add multi-target rules for writing unit tests 2020-02-14 14:54:30 +08:00
Nachiket Kukade
883071fe8c esp_wifi: Update docs for wifi headers 2020-02-14 12:23:27 +05:30
Jiang Jiang Jian
54a50f4532 Merge branch 'feature/support_esp32s2_wifi_v2' into 'master'
WiFi: Add support for ESP32S2

See merge request espressif/esp-idf!7505
2020-02-14 11:54:13 +08:00
Ivan Grokhotkov
d4ec1842f0 Merge branch 'feature/monitor_coredump_decode' into 'master'
tools/idf_monitor: automatically decode UART core dumps

See merge request espressif/esp-idf!7520
2020-02-14 02:45:38 +08: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
Ivan Grokhotkov
605da33c3d Merge branch 'fix/app_update_test_s2' into 'master'
app_update: fix unit tests

See merge request espressif/esp-idf!7581
2020-02-13 23:05:13 +08:00
Ivan Grokhotkov
cdb947113e Merge branch 'feature/esp_event_multiple_register' into 'master'
ESP-Event: Feature/esp event multiple register

See merge request espressif/esp-idf!7384
2020-02-13 19:02:09 +08:00
Ivan Grokhotkov
a70a6f8974 Merge branch 'feature/nvs_support_data_encodings' into 'master'
Feature/nvs support data encodings

See merge request espressif/esp-idf!7557
2020-02-13 19:00:25 +08:00
sushant.chougule
74c7db3f49 Fix ble crash issue triggered by ble event irq miss(0x20000) (d2a1d18d) 2020-02-13 16:16:21 +05:30
xueyunfei
5f904c5b4e fix bug for crash when socket lock not initialized 2020-02-13 18:00:46 +08:00
ChenJianxing
3e3753faf4 update WiFi libs for both esp32 and esp32s2. 2020-02-13 16:58:36 +08:00
michael
98ee6f55df app_update: fix unit tests 2020-02-13 15:51:42 +08:00
Ivan Grokhotkov
8d8337e80c Merge branch 'feat/sdspi_polling_spi' into 'master'
sdspi: allow using sdspi with other devices on the same bus

See merge request espressif/esp-idf!3177
2020-02-13 15:18:59 +08:00
Jiang Jiang Jian
b42fc77e11 Merge branch 'bugfix/ble_mesh_utf_8_comma' into 'master'
ble_mesh: Kconfig included a UTF-8 comma

See merge request espressif/esp-idf!7574
2020-02-13 11:10:43 +08:00
Roland Dobai
935b34e829 confgen.py: Escape special characters for cmake
Closes https://github.com/espressif/esp-idf/issues/4751
2020-02-12 14:30:53 +01:00
lly
326ccfca88 ble_mesh: Fix compile error with c++ files 2020-02-12 21:24:32 +08:00
Jiang Jiang Jian
dbe1164ecc Merge branch 'bugfix/fix_airkiss_bug' into 'master'
fix the bug for Airkiss

Closes WIFI-1670

See merge request espressif/esp-idf!7347
2020-02-12 20:12:19 +08:00
Jiang Jiang Jian
f87793fd9a Merge branch 'bugfix/bt_interrupt_disable_timing_error' into 'master'
btController: Future events scheduling error in case of wifi and bluetooth.

See merge request espressif/esp-idf!7540
2020-02-12 20:04:22 +08:00
Chinmay Chhajed
6d96217204 Future events scheduling error in case of wifi and bluetooth.
After this commit, global interrupts will be disabled before taking
current time for scheduling further bluetooth events. Earlier disabling
interrupts was taking some time because of which WiFi events were
interrupting in current bluetooth scheduling.

Signed-off-by: Chinmay Chhajed <chinmay.chhajed@espressif.com>
2020-02-12 20:04:21 +08:00
lly
bfb27addda ble_mesh: Kconfig included a UTF-8 comma 2020-02-12 18:21:09 +08:00
Ivan Grokhotkov
b942327a25 Merge branch 'bugfix/esp_netif_hostname' into 'master'
esp_netif: fix get/set hostname API to reflect user settings

See merge request espressif/esp-idf!7547
2020-02-12 17:53:58 +08:00
zhangyanjiao
50b9ccf8b4 fix the bug for Airkiss
Closes https://github.com/espressif/esp-idf/issues/3362
2020-02-12 08:27:09 +00:00
Angus Gratton
d8a4159a83 Merge branch 'bugfix/build_docs_add_warning_check' into 'master'
bugfix/build_docs_add_warning_check: Added null value check for warnings

See merge request espressif/esp-idf!7556
2020-02-12 16:27:07 +08:00
Jiang Jiang Jian
cedea18acb Merge branch 'bugfix/wifi_clear_phy_status_when_cpu_start' into 'master'
soc: clear PHY status when cpu start

Closes AUD-1125

See merge request espressif/esp-idf!7493
2020-02-12 15:34:46 +08:00
Michael (XIAO Xufeng)
48a62b3490 sdspi: use polling transactions to increase reading speed. 2020-02-12 15:16:19 +08:00
Michael (XIAO Xufeng)
067f3d21c9 sdspi, vfs_fat: allow sharing SPI bus among devices, and mounting multiple SD cards 2020-02-12 15:16:08 +08:00
Michael (XIAO Xufeng)
278634dcbd sdspi: support crc16_be for esp32s2 2020-02-12 15:15:46 +08:00
Supreet Deshpande
ef7b5ff9e4 bugfix/build_docs_add_warning_check: Added null value check for warnings 2020-02-12 12:32:41 +05:30
Angus Gratton
c1d0daf36d Merge branch 'refactor/restructure_soc_component' into 'master'
soc: separate abstraction, description and implementation

See merge request espressif/esp-idf!7261
2020-02-12 07:50:10 +08:00
Angus Gratton
80e03a2d2d Merge branch 'bugfix/win_tools_installer_fixes' into 'master'
tools: Windows tools installer release v2.3

Closes IDFGH-2670 and IDFGH-1929

See merge request espressif/esp-idf!7550
2020-02-12 07:22:50 +08:00
Ivan Grokhotkov
f9bc4fc08b Merge branch 'bugfix/watchpoint_on_shared_stacl' into 'master'
shared_stack: fixed watchpoint placement on shared stack

See merge request espressif/esp-idf!7522
2020-02-12 06:32:49 +08:00
Ivan Grokhotkov
700161921c docs: update version of IDF tools installer for windows to v2.3 2020-02-11 19:05:17 +01:00
Ivan Grokhotkov
69e91959ff tools: bump version of windows tools installer to v2.3
Includes the following fixes:

- bc43d48e: fix Windows Defender checkbox
  https://github.com/espressif/esp-idf/issues/4225

- 7a18f02a: idf_tools.py compatibility with virtualenv 20.0

- Fix extracting IDF to a destination on another drive
  https://github.com/espressif/esp-idf/issues/4128
  https://github.com/espressif/esp-idf/issues/4744
2020-02-11 19:05:17 +01:00
Ivan Grokhotkov
24e793baa3 tools: installer: add PYTHONUNBUFFERED=1 when calling idf_tools.py
Fixes the issue that there is no output from 'idf_tools.py install'
stage.
2020-02-11 19:05:17 +01:00
Ivan Grokhotkov
972aeec265 tools: installer: use bundled idf_tools when installing IDF 3.3.1, 4.0
This is a workaround for the 'no-site-packages' bug in the version of
idf_tools.py shipped in v4.0 and v3.3.1 (see 7a18f02ac).

When installing IDF v4.0 and v3.3.1, the installer will use the
bundled version of idf_tools.py instead of the version which comes
with IDF.
2020-02-11 19:05:17 +01:00
Ivan Grokhotkov
b67a7f48a9 tools: installer: fix copying IDF to a destination on another drive
Closes https://github.com/espressif/esp-idf/issues/4128
Closes https://github.com/espressif/esp-idf/issues/4744
2020-02-11 19:05:17 +01:00
Bruno Binet
7084015884 Update NVS Partition Generator Utility documentation
to add support for i16, u64, i64 types
2020-02-11 11:18:19 +00:00
Bruno Binet
cab895f459 NVS: add support for i16, u64, i64 types to NVS partition generation tool 2020-02-11 11:18:19 +00:00
Jakob Hasse
9b4815e3c8 ESP Event: multiple registrations to one event
* It's possible now to register the same handler
  several times to one specific event, using
  a dynamic handle object.
2020-02-11 10:52:05 +01:00
Renz Christian Bagaporo
16e0c93e40 ci: solve public headers errors 2020-02-11 14:30:42 +05:00
Renz Christian Bagaporo
b675df4b08 soc: use include_next for including common touch sensor hal header 2020-02-11 14:30:42 +05:00
Renz Christian Bagaporo
1f2e2fe8af soc: separate abstraction, description and implementation 2020-02-11 14:30:42 +05:00
Jiang Jiang Jian
7f4309d0f1 Merge branch 'feature/esp32_5p0_code_optimize' into 'master'
controller flash code optimize

See merge request espressif/esp-idf!7409
2020-02-11 17:29:08 +08:00
Ivan Grokhotkov
bcd2358eb6 Merge branch 'bugfix/idf_tools_virtualenv' into 'master'
idf_tools.py: fix install-python-env failure with virtualenv 20.0.0

See merge request espressif/esp-idf!7549
2020-02-11 16:42:41 +08:00
Jiang Jiang Jian
7647b5c668 Merge branch 'bugfix/eapol_log_verbosity' into 'master'
wpa_supplicant: Add wpa_supllicant debug logging as a configurable option

Closes WIFI-976

See merge request espressif/esp-idf!7289
2020-02-11 16:10:07 +08:00
David Cermak
3904be6b0f ESP-NETIF: add unit test for get/set hostname API 2020-02-11 07:36:32 +01:00
David Cermak
7c8cbe02e4 ESP-NETIF: fix get/set hostname API to reflect user settings
On startup of the common interface (ethernet, wifi), the lwip netif hostname was assigned to confg value .
Fixed to assign to esp-netif hostname if it exists

Closes https://github.com/espressif/esp-idf/issues/4737
2020-02-11 07:35:12 +01:00
Angus Gratton
2e8a894ea7 Merge branch 'bugfix/modem_ppp_close_fix' into 'master'
esp_modem: post PPP stop event when requested

Closes IDFGH-2557

See merge request espressif/esp-idf!7528
2020-02-11 12:05:44 +08:00
Angus Gratton
c1eef95ec1 Merge branch 'bugfix/test_fp_switch' into 'master'
esp32: use semaphore in FP switch test, raise worker task priority

See merge request espressif/esp-idf!7526
2020-02-11 12:05:04 +08:00
Angus Gratton
ab5dad3be5 Merge branch 'feature/esp_netif_flexible_init' into 'master'
esp netif: minor API update, more flexible wifi init

Closes IDFGH-2523

See merge request espressif/esp-idf!7487
2020-02-11 12:01:20 +08:00
Angus Gratton
ea34f3bb27 drivers: Remove high speed mode from LEDC docs for ESP32-S2, update headers to match 2020-02-11 14:36:47 +11:00
Angus Gratton
7bd2677d5d Merge branch 'bugfix/ci_doc_fixes' into 'master'
docs: CI fixes

See merge request espressif/esp-idf!7539
2020-02-11 06:38:34 +08:00
David Cermak
9bdcd40f2b ESP-NETIF: add CI compile only tests for common init/config pattern in C/C++ 2020-02-10 19:40:28 +01:00
David Cermak
50588ff3f7 esp-compiler: add designated init macros to make esp configuration pattern viable under C++ 2020-02-10 19:40:28 +01:00
David Cermak
d8da662dec ESP-NETIF: Add unit test for additional API 2020-02-10 19:40:23 +01:00
Ivan Grokhotkov
7a18f02acd idf_tools.py: fix install-python-env failure with virtualenv 20.0.0
--no-site-packages is the default behavior since virtualenv 1.7
(released in Nov 2011). This option was removed in virtualenv 20.0.
2020-02-10 19:14:41 +01:00
Felipe Neves
9c8289b0d9 shared_stack: using watchpoint 1 to monitor the shared_stack instead of watchpoint 0 2020-02-10 12:03:30 -03:00
Felipe Neves
33c9826372 shared_stack: fixed watchpoint placement on shared_stack 2020-02-10 12:03:30 -03:00
David Cermak
02cdef086f ESP-NETIF: easier creation for WiFi interfaces with custom parameters
Closes https://github.com/espressif/esp-idf/issues/4611
Closes IDFGH-2523
2020-02-10 14:22:07 +01:00
Ivan Grokhotkov
7304651320 esp32: use semaphore in FP switch test, raise worker task priority 2020-02-10 13:36:43 +01:00
Anton Maklakov
d6a5bb60da ci: remove using IDF_XTENSA_TOOLCHAIN_URL because there are idf_tools.json and multi-target support 2020-02-10 18:05:21 +07:00
Anton Maklakov
69d8eddbe4 ci: Use ARTIFACT_DOWNLOAD_ATTEMPTS and others from the project settings 2020-02-10 18:01:03 +07:00
Angus Gratton
c5d05b5c4f Merge branch 'feature/usb_support4soc' into 'master'
Added usb registers structures

See merge request espressif/esp-idf!6811
2020-02-10 18:00:39 +08:00
Francesco Giancane
d8755fff3f esp_modem.c: post PPP stop event when requested
When library users call esp_stop_ppp(), it is expected that the PPP link
is closed and the DCE is moved into command mode.

If the STOP event is not posted into the event loop, then the PPP stack
would not be turned off, resulting in the impossibility to switch into
command mode, as the modem is still sending PPP binary data.

Signed-off-by: Francesco Giancane <francesco.giancane@accenture.com>

Merges https://github.com/espressif/esp-idf/pull/4642
2020-02-10 09:49:27 +00:00
Ivan Grokhotkov
f11b8f14c7 Merge branch 'feature/support_enc28j60' into 'master'
Added ENC28J60 Example

Closes IDFGH-2295

See merge request espressif/esp-idf!6877
2020-02-10 17:18:38 +08:00
Ivan Grokhotkov
70d99fa986 Merge branch 'bugfix/stage_two_bootloader_linking' into 'master'
Fixes accessing some files from 2nd part of the bootloader.

See merge request espressif/esp-idf!7531
2020-02-10 17:13:12 +08:00
Angus Gratton
0441c5d744 docs ci: Use the final version of the esp-idf-doc-env image
(Content is the same)
2020-02-10 19:55:46 +11:00
Angus Gratton
f906095789 docs ci: Ensure deploy directory exists 2020-02-10 19:55:15 +11:00
Andrei Gramakov
4e8b4b9e49 soc: add USB peripheral register definitions, hal level, reg map, etc 2020-02-10 08:33:39 +00:00
Angus Gratton
59c39173f2 Merge branch 'feature/mqtt_unit_test' into 'master'
mqtt: basic set of unit tests, modify example tests to check ssl connect

See merge request espressif/esp-idf!7393
2020-02-10 15:10:56 +08:00
Supreet Deshpande
2bf329eb2c Fixes accessing some files from 2nd part of the bootloader. 2020-02-10 12:34:18 +05:30
Angus Gratton
64654c0444 Merge branch 'fix/tools_py_environ_str' into 'master'
idf_py: fix the ESPPORT environ variable type issue

See merge request espressif/esp-idf!7433
2020-02-10 14:28:35 +08:00
morris
9e59be1aab ethernet: add enc28j60 example 2020-02-10 12:56:14 +08:00
Henry Gilbert
eda07acc81 Add ENC28J60 Ethernet Driver
Merges https://github.com/espressif/esp-idf/pull/4435
2020-02-10 12:56:14 +08:00
Ivan Grokhotkov
966f4227ad Merge branch 'refactor/simplify_console_examples' into 'master'
console: simplify console examples

Closes IDF-1110

See merge request espressif/esp-idf!7040
2020-02-10 04:18:58 +08:00
Ivan Grokhotkov
91111263f9 Merge branch 'feature/esp32s2_ref_clock_use_ll_of_rmt_pcnt' into 'master'
rmt/esp32s2: Update RMT: reg, struct, LL and test_utils/ref_clock.c

See merge request espressif/esp-idf!7514
2020-02-09 20:03:32 +08:00
Konstantin Kondrashov
daa9c30c8e rmt/esp32s2: Update RMT: reg, struct, LL and test_utils/ref_clock.c 2020-02-09 20:03:31 +08:00
Ivan Grokhotkov
4bfd0b961b Merge branch 'fix/spi_on_esp32s2' into 'master'
spi: support esp32s2

See merge request espressif/esp-idf!7432
2020-02-09 19:45:16 +08:00
Ivan Grokhotkov
e5cb972c3a Merge branch 'bugfix/fix_esp32s2_flash_rw' into 'master'
flash(esp32s2): fix setting address field in spi user mode.

See merge request espressif/esp-idf!7380
2020-02-09 18:05:22 +08:00
Mahavir Jain
577abc4472 Merge branch 'bugfix/newlib_nano_lib_linking' into 'master'
esp_rom: link newlib nano from ROM only if SPIRAM cache workaround is disabled

See merge request espressif/esp-idf!7527
2020-02-08 12:48:12 +08:00
David Cermak
911be99054 mqtt-tests: migrate the publish-connection test from example-test to test-apps 2020-02-07 21:14:24 +01:00
Ivan Grokhotkov
98bb3772e0 soc: spi_flash LL fixes 2020-02-07 16:18:31 +01:00
Wangjialin
aaf119e930 flash(esp32s2): fix setting address field in spi user mode. 2020-02-07 16:10:51 +01:00
Ivan Grokhotkov
dc14d027ce Merge branch 'bugfix/ci_build_test_rebuild' into 'master'
ci: test_build_system_cmake: ensure sdkconfig timestamp changes

See merge request espressif/esp-idf!7525
2020-02-07 20:54:20 +08:00
suda-morris
75cadc2e41 console: simplify examples
1. simplify console examples
2. add "quit" command
3. support console command overwrite
4. add API reference
2020-02-07 20:15:06 +08:00
Mahavir Jain
3803b17048 esp_rom: link newlib nano from ROM only if SPIRAM cache workaround is disabled 2020-02-07 16:17:25 +05:30
David Cermak
3ecb731c23 mqtt: example test to check connection with different ssl parameters 2020-02-07 10:35:40 +01:00
David Cermak
b8e47eb56f mqtt: add basic set of unit tests 2020-02-07 10:35:40 +01:00
Ivan Grokhotkov
13623ef430 Merge branch 'feature/esp32s2_image_version' into 'master'
bootloader_support: add esp_chip_id_t value for ESP32-S2

See merge request espressif/esp-idf!7521
2020-02-07 16:43:21 +08:00
Ivan Grokhotkov
627d9b3142 ci: test_build_system_cmake: ensure sdkconfig timestamp changes
idf.py bootloader runs very quickly on some build servers, so when
sdkconfig is modified, the next idf.py invocation doesn't pick up the
timestamp difference. Add some delays to make sure the change is
noticed.
2020-02-07 09:35:41 +01:00
Angus Gratton
3017bfb8e3 Merge branch 'feature/test_apps_v2' into 'master'
test apps (2nd attempt)

Closes IDF-641

See merge request espressif/esp-idf!7084
2020-02-07 15:23:26 +08:00
Angus Gratton
613c4e985f Merge branch 'doc/multi_target' into 'master'
docs: Multi target build support

Closes IDF-523

See merge request espressif/esp-idf!6791
2020-02-07 15:20:53 +08:00
Angus Gratton
f91080637c Merge branch 'bugfix/part_gen_subtype_fix' into 'master'
partition_table: Fix subtype in gen_esp32part.py

Closes IDFGH-2646

See merge request espressif/esp-idf!7508
2020-02-07 14:31:02 +08:00
Angus Gratton
2c03d2cc4e docs: Re-run the 'set-target' target each time, use a unique sdkconfig file for each lang/target combo
Fixes some problems with CMake errors in stale builds, and of sdkconfig file being shared between
parallel jobs.
2020-02-07 16:47:50 +11:00
Angus Gratton
54e7cb4d8b docs: Require UTF-8 as default encoding to build docs
Making everything work for both docs & non-docs builds with Py2 is too fiddly otherwise.
2020-02-07 16:47:50 +11:00
Angus Gratton
67bb6f8dc4 README: Drop the RTD docs status badge, add a note about docs not updating for a period 2020-02-07 16:47:50 +11:00
Angus Gratton
291735c7dd docs: Move to Python 3.5+ and Sphinx 2.3 2020-02-07 16:47:50 +11:00
Mahavir Jain
41e29e9037 Merge branch 'bugfix/esp_log_timestamp' into 'master'
Use proper API to get Tick Count is esp_log_timestamp

See merge request espressif/esp-idf!7501
2020-02-07 13:46:19 +08:00
Angus Gratton
4636e8a34c docs/documenting-code: Add a couple of follow up notes on top of last commit 2020-02-07 16:37:45 +11:00
Marius Vikhammer
9f617c7874 docs: Add a short user guide for how to write multi target docs 2020-02-07 16:37:45 +11:00
Angus Gratton
c7209b110e check_python_dependencies: If overriding requirements.txt path, provide a pip command line
Advice about install.sh/install.bat, etc only works for the default requirements.txt
2020-02-07 16:37:45 +11:00
Angus Gratton
d03af45731 docs: flake8 fixes 2020-02-07 16:37:45 +11:00
Angus Gratton
ac8e931179 confgen: Avoid including invisible (due to target) choice items in kconfig.rst renames 2020-02-07 16:37:45 +11:00
Angus Gratton
eb85cfb9f6 docs: Temporarily mark RF calibration chapter as ESP32 only
Can be re-enabled once ESP32-S2 calibration support is added
2020-02-07 16:37:45 +11:00
Angus Gratton
4bfd004c83 build_docs gh-linkcheck: Use Python, ignore links to master branch SUPPORT_POLICY.md 2020-02-07 16:37:45 +11:00
Anton Maklakov
775448c792 docs: Make Python 3 compatible 2020-02-07 16:37:45 +11:00
Angus Gratton
50324b505d docs: Note that the idf target formatting filters don't work on "included" documents 2020-02-07 16:37:45 +11:00
Angus Gratton
740d422134 docs: Possible fix for blockdiag & seqdiag UnicodeEncodeErrors 2020-02-07 16:37:45 +11:00
Angus Gratton
844bdd8154 docs: Allow incremental builds 2020-02-07 16:37:45 +11:00
Angus Gratton
11fac8637a docs: Resolve doxygen & Sphinx warnings 2020-02-07 16:37:45 +11:00
Marius Vikhammer
268816649c Replace all TRM urls will generic template variable and remove duplicate sections
All references to TRM had the section duplicated for both targets using .. only:: , replaced these with a generic template url
2020-02-07 16:37:45 +11:00
Anton Maklakov
b9effd8c06 fixup build_docs.py, show doxygen and sphinx warnings together 2020-02-07 16:37:44 +11:00
Anton Maklakov
fb3edc9c87 docs: Add features to build_docs.py: check warnings, check links, check GH links
The old check_doc_warnings.sh was deleted
2020-02-07 16:37:44 +11:00
Angus Gratton
50fcdf115d doc builder: Change default to 1 job per Sphinx instance, add a warning 2020-02-07 16:37:44 +11:00
Anton Maklakov
a2516c6188 doc: Add a link to CN translation for power_management_esp32 2020-02-07 16:37:44 +11:00
Angus Gratton
ee03e04947 docs: Run build_docs script in ci 2020-02-07 16:37:44 +11:00
Angus Gratton
35db219be2 docs: Manage parallel sphinx-build runs with optional parallel jobs within them 2020-02-07 16:37:44 +11:00
Marius Vikhammer
105567d077 doc: updated peripherals api-reference for s2 2020-02-07 16:37:44 +11:00
Marius Vikhammer
46dab1b4e8 doc: removed reference to idf_target in core dump title 2020-02-07 16:37:44 +11:00
Marius Vikhammer
83521dbc51 doc: Include paths for chip specific headers now depend on target
Input for Doxygen now depend on idf_target for some paths, updated path name generated in run_doxygen.py to show the target dependent path.
2020-02-07 16:37:44 +11:00
Marius Vikhammer
1a90470f02 doc: Split HW-Reference into seperate files/folders for different chips 2020-02-07 16:37:44 +11:00
Marius Vikhammer
cfeb9e68cb doc: Changed Chinese doc to use dynamic chip name 2020-02-07 16:37:43 +11:00
Marius Vikhammer
a7bac4721a doc: Add external ram note link to CN translation 2020-02-07 16:37:43 +11:00
Marius Vikhammer
d56ea52ea1 doc: EN doc update and fixed warnings 2020-02-07 16:37:43 +11:00
Marius Vikhammer
e06a57f34f doc: Changed toc filter reg.ex to be non-greedy
Stops the parsing from crashing when the content contains a ":", e.g. in web-links
2020-02-07 16:37:43 +11:00
Marius Vikhammer
9352899d69 doc: Update English pages with generic target name 2020-02-07 16:37:43 +11:00
Marius Vikhammer
c848aa74ac doc: Add extension that replaces generic target variable with idf_target
Also changed event trigger for idf-extension to use config-updated, as this makes more logical sense

Includes functionality for defining local (single .rst file) substitution strings that depend on chip target.

Substitutions can be defined with {IDF_TARGET_X: default = "IO3", esp32 = "IO4"} and then used locally as {IDF_TARGET_X}

Also added global substitution for TRM links {IDF_TARGET_TRM_URL}
2020-02-07 16:37:43 +11:00
Angus Gratton
1318623831 docs: Don't search in _static directories for rst files 2020-02-07 16:37:43 +11:00
Angus Gratton
d97b587871 docs: Clear _Static_assert related warnings
Unclear why defining _Static_assert(x, y) in PREDEFINED list
doesn't match anything, but defining _Static_assert() does match.
2020-02-07 16:37:43 +11:00
Angus Gratton
fdbcc12401 doc: Fix RMT waveform path warnings 2020-02-07 16:37:43 +11:00
Angus Gratton
66462ca26f docs: Apply the same basic ESP32/ESP32-S2 warning filters to Chinese docs 2020-02-07 16:37:43 +11:00
Angus Gratton
a148d8e6ba docs: Refactor extensions into packages, update the add-ons-reference docs page
Includes converting some of the remaining standalone scripts into Sphinx extensions.

Make flake8 clean
2020-02-07 16:37:43 +11:00
Angus Gratton
cbede3a3a4 docs: Try to enable parallel reads & writes
Reads still single threaded in Sphinx 1.8.5, though.
2020-02-07 16:37:43 +11:00
Angus Gratton
d1373119e1 docs: Cleanup build warnings 2020-02-07 16:37:43 +11:00
Angus Gratton
b0748b4364 docs: Mark some more docs sections as ESP32 only 2020-02-07 16:37:43 +11:00
Angus Gratton
e753c1b509 docs: Edit out some unnecessary instances of "ESP32" in the doc text 2020-02-07 16:37:43 +11:00
Angus Gratton
9399f04da0 docs: Add 'toctree filter' directive & filter out ESP32-only pages from S2 docs 2020-02-07 16:37:43 +11:00
Angus Gratton
37d5e2fba6 docs: Add "explicit only" directive & use only:: to block out some chip-specific parts of docs 2020-02-07 16:37:43 +11:00
Angus Gratton
e6211c7864 docs: add new top-level docs builder that builds docs for a single chip 2020-02-07 16:37:43 +11:00
Angus Gratton
783856d557 docs: Move Doxygen build to a Sphinx extension, load sdkconfig & soc caps headers 2020-02-07 16:37:12 +11:00
Angus Gratton
fcf76320c8 docs: Start refactoring IDF-specific docs features into extensions
Run the actual IDF build system to determine what components are linked
for a particular target.
2020-02-07 16:37:12 +11:00
Shubham Kulkarni
e1c0fb0c62 log: Check for ISR context and use proper API to get Tick Count 2020-02-07 04:49:53 +00:00
Ivan Grokhotkov
0d69ed8620 bootloader_support: add esp_chip_id_t value for ESP32-S2 2020-02-06 19:50:14 +01:00
David Cermak
30c6e27bcc CI: document test-apps feature, updated test-apps structure 2020-02-06 16:46:41 +00:00
David Cermak
692deac5ae CI: assign and target-test stages updated to run test-apps in the ci 2020-02-06 16:46:41 +00:00
Ivan Grokhotkov
e63764b468 CI: test-apps introduction
Introducing feature of adding arbitrary projects which could be build or
executed in the CI for the only purpose as testing

Closes IDF-641
2020-02-06 16:46:41 +00:00
Ivan Grokhotkov
9d333424a1 Merge branch 'bugfix/smtp_strict_prototypes_fix' into 'master'
Fixes for CI regresions

See merge request espressif/esp-idf!7511
2020-02-07 00:43:14 +08:00
Ivan Grokhotkov
d1b7d51dec Merge branch 'bugfix/doc_nwdiag' into 'master'
docs: Fix nwdiag dependency for documentation build

See merge request espressif/esp-idf!7512
2020-02-07 00:42:52 +08:00
Ivan Grokhotkov
8a6c3c254c examples/smtp: fix strict prototypes error in SMTP example 2020-02-06 16:40:13 +01:00
Ivan Grokhotkov
cbf8b60466 ci: re-add the lost PEDANTIC_{C,CXX}FLAGS in CMake example builds 2020-02-06 16:15:58 +01:00
Roland Dobai
8102996b0c docs: Fix nwdiag dependency for documentation build 2020-02-06 12:36:47 +01:00
Sagar Bijwe
4f93a707f8 WiFi: Add support for ESP32S2
1) Update WiFi and PHY libs for ESP32S2.
2) Remove KConfig options ESP32S2 PHY lib selection.
3) Change target macros from ESP32S2BETA to ESP32S2
2020-02-06 14:19:30 +05:30
boarchuz
d0eb6c9701 Fix subtype in PartitionTable.find_by_type
Fix ptype->subtype

Closes https://github.com/espressif/esp-idf/pull/4723
2020-02-06 08:48:35 +01:00
Angus Gratton
c9cc694dbb Merge branch 'fix/ci_target_test' into 'master'
CI - Fix target variable default value

See merge request espressif/esp-idf!7424
2020-02-06 14:52:10 +08:00
Angus Gratton
fec005ec15 Merge branch 'bugfix/nvs_missing_get' into 'master'
NVS: Fixed missing implementations for string/blob

See merge request espressif/esp-idf!7492
2020-02-06 14:31:16 +08:00
Angus Gratton
5c05af2641 Merge branch 'example/simple_smtp_client' into 'master'
Added simple SMTP email client.

Closes IDF-1292

See merge request espressif/esp-idf!7309
2020-02-06 14:29:43 +08:00
Angus Gratton
fda4efa300 Merge branch 'bugfix/rtc_wdt_timeout' into 'master'
soc/esp32s2: Fix setting timeout for RTC_WDT. ESP32-S2 uses 90KHz instead of 150kHz

See merge request espressif/esp-idf!7499
2020-02-06 14:27:35 +08:00
Angus Gratton
bd9cb9a307 Merge branch 'bugfix/spiffs_case_when_use_mtime_is_not_set' into 'master'
spiffs: Fix for case when CONFIG_SPIFFS_USE_MTIME is not defined

See merge request espressif/esp-idf!7496
2020-02-06 14:26:42 +08:00
Angus Gratton
34b1ea9b3d Merge branch 'feature/netif_ppp_authtype_none' into 'master'
esp-netif: PPPoS fixes

Closes IDFGH-2553 and IDFGH-2548

See merge request espressif/esp-idf!7488
2020-02-06 14:14:43 +08:00
Angus Gratton
98618333a1 Merge branch 'bugfix/wps_config_init' into 'master'
WPS_CONFIG_INIT_DEFAULT(type) error

See merge request espressif/esp-idf!7311
2020-02-06 14:04:31 +08:00
Angus Gratton
8848b2c980 Merge branch 'feature/esp_timer_lact_and_systimer' into 'master'
esp_timer: Create esp_timer as a separate component + LAC timer + SYSTIMER for s2

Closes IDF-1365 and IDF-979

See merge request espressif/esp-idf!7472
2020-02-06 14:00:19 +08:00
Konstantin Kondrashov
739eb05bb9 esp32: add implementation of esp_timer based on TG0 LAC timer
Closes: IDF-979
2020-02-06 14:00:18 +08:00
Ivan Grokhotkov
67b0a79167 Merge branch 'bugfix/macos_build_system_test' into 'master'
ci: fix build system test on macOS

See merge request espressif/esp-idf!7504
2020-02-06 02:58:53 +08:00
Ivan Grokhotkov
902024f980 ci: fix build system test on macOS
Replaces ${var^^} expansion supported with Bash >= 4 with 'tr'
2020-02-05 19:05:04 +01:00
Mahavir Jain
f515db1a3e Merge branch 'bugfix/fix_ota_with_chunked_servers' into 'master'
Fixed OTA with chunked servers

See merge request espressif/esp-idf!7457
2020-02-05 16:54:01 +08:00
Mahavir Jain
229b599494 Merge branch 'bugfix/remove_cjson_test_file_from_cmake_build' into 'master'
cJSON: include only source file objects for cmake build

See merge request espressif/esp-idf!7498
2020-02-05 16:46:29 +08:00
KonstantinKondrashov
47a5d14e59 soc/esp32s2: Fix setting timeout for RTC_WDT. ESP32-S2 uses 90KHz instead of 150kHz 2020-02-05 15:16:28 +08:00
Shubham Kulkarni
ba31458347 OTA: Fixed OTA with chunked servers and added example_test with chunked server 2020-02-05 11:56:37 +05:30
Mahavir Jain
e366b6ac21 cJSON: include only source file objects for cmake build
Test file can cause build issues in some cases, since it has its own main() function
2020-02-05 11:14:23 +05:30
Angus Gratton
9ebb48ff9d Merge branch 'bugfix/idf_fullclean_loses_target' into 'master'
idf.py: guess IDF_TARGET from sdkconfig/sdkconfig.defaults, error out if IDF_TARGET is inconsistent

Closes IDF-869 and IDF-1040

See merge request espressif/esp-idf!7486
2020-02-05 07:41:11 +08:00
KonstantinKondrashov
e85e99189f spiffs: Fix for case when CONFIG_SPIFFS_USE_MTIME is not defined
Closes: 2c793cef06
2020-02-05 03:00:22 +08:00
Ivan Grokhotkov
50466a5e4f Merge branch 'bugfix/esp32s2_ldscripts' into 'master'
esp32s2: LD script fixes/improvements and re-enable SystemView examples

Closes IDF-1357, IDF-1354, and IDF-1346

See merge request espressif/esp-idf!7431
2020-02-05 02:09:29 +08:00
Rusty Eddy
92f2d79521 Added semi-colon to esp_event_loop_create(...)
Title sums it up.
2020-02-04 07:38:44 -08:00
Vikram Dattu
405186c866 Added simple SMTP email client.
This is based on `ssl_mail_client` from mbedtls.

The client also adds functionality to send attachments.

Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2020-02-04 18:13:28 +05:30
Mahavir Jain
0b8f17e618 Merge branch 'nimble/bugfix_ble_hs_hci_rx_evt' into 'master'
NimBLE: Update submodule to fix bug in `ble_hs_hci_rx_evt`

See merge request espressif/esp-idf!7494
2020-02-04 19:35:50 +08:00
Ivan Grokhotkov
41631587f8 Merge branch 'feature/esp32s2_brownout' into 'master'
esp32s2: add brownout detector support

Closes IDF-751

See merge request espressif/esp-idf!7428
2020-02-04 17:00:46 +08:00
Prasad Alatkar
bc7ce8e584 Update NimBLE submodule to fix bug in ble_hs_hci_rx_evt 2020-02-04 12:27:47 +05:30
Xia Xiaotian
1833b8aeab soc: clear PHY status when cpu start 2020-02-04 14:37:16 +08:00
Jakob Hasse
e228a2102d Fixed missing implementations 2020-02-03 17:18:21 +01:00
Angus Gratton
6d2fa2e0f1 Merge branch 'feature/support_app_update_ut_for_s2_chip' into 'master'
app_update(s2): Enable app_update UTs

Closes IDF-1007

See merge request espressif/esp-idf!7415
2020-02-03 14:56:23 +08:00
Mahavir Jain
9ee50266cc Merge branch 'nimble/misc_host_flow_ctrl_changes' into 'master'
NimBLE: Misc fixes in NimBLE host flow control and `blecent` example

See merge request espressif/esp-idf!7042
2020-02-03 13:59:45 +08:00
David Cermak
7d45bfda21 esp_netif_lwip_ppp: fix posting ip-event data
Closes https://github.com/espressif/esp-idf/issues/4634
2020-01-31 15:21:30 +01:00
Axel Lin
3f5d19016a esp_netif_lwip_ppp: Allow esp_netif_ppp_set_auth set auth_type with NETIF_PPP_AUTHTYPE_NONE
The ppp_set_auth() is guard by #if PPP_AUTH_SUPPORT in lwIP, so
make it consistent. This also simplify the code a bit because the code
in #if PAP_SUPPORT guard and #if CHAP_SUPPORT guard are exactly the same.

Once NETIF_PPP_AUTHTYPE_NONE added to esp_netif_auth_type_t, it also allows
setting NETIF_PPP_AUTHTYPE_NONE with this change.

Signed-off-by: Axel Lin <axel.lin@gmail.com>

Merges https://github.com/espressif/esp-idf/pull/4639
2020-01-31 15:19:09 +01:00
Axel Lin
57a56b55c0 esp_netif_ppp: Add NETIF_PPP_AUTHTYPE_NONE to esp_netif_auth_type_t
To allow setting auth_type to PPPAUTHTYPE_NONE, add NETIF_PPP_AUTHTYPE_NONE
to esp_netif_auth_type_t.
So even PAP/CHAP are enabled in lwIP, the application still can set
auth_type to PPPAUTHTYPE_NONE.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
2020-01-31 13:41:50 +01:00
KonstantinKondrashov
aa42177e19 app_update(s2): Enable app_update UTs
Closes: IDF-1007
2020-01-31 10:34:08 +00:00
Ivan Grokhotkov
9bff344ef5 idf.py: fail and show instructions on IDF_TARGET mismatch
Closes IDF-869
2020-01-31 11:08:22 +01:00
Ivan Grokhotkov
036a29bb3d docs: update build system guide on setting IDF_TARGET 2020-01-31 10:19:44 +01:00
June
4f9c3e977e controller flash code optimize
fix ld file to link 3 bt rom functions
2020-01-31 06:29:46 +00:00
Hrudaynath Dhabe
9ebd2cc0f6 Fix wps config for support with gnu++11 as well as c99. 2020-01-31 05:36:41 +00:00
Hrudaynath Dhabe
ec50c5344b wpa_supplicant: Fix configurable debug log feature's warning issue 2020-01-31 05:34:07 +00:00
GOPTIONS\pfrost
851658109c Reduce log level of hexdumps to verbose
Revert "Reduce log level of hexdumps to verbose"

Add a menuconfig option to enable or disable the logging in wpa_supplicant

Clarify help message
2020-01-31 05:34:07 +00:00
Prasad Alatkar
4047f7e180 NimBLE: Misc changes in host flow control, ble_gap_unpair, ble_hs_hci_rx_evt & example
- Add menuconfig option for NimBLE host flow control
- Include changes in `blecent` example from upstream PR!702
- add ble_hs_lock in ble_gap_unpair Upstream PR!584
- ble_hs_hci_rx_evt, upstream PR!738

Closes https://github.com/espressif/esp-idf/issues/4243
2020-01-31 10:46:55 +05:30
Angus Gratton
340ffcb1a9 Merge branch 'bugfix/build_ota_examples_s2' into 'master'
OTA: enable example builds for esp32s2 target

Closes IDF-1035

See merge request espressif/esp-idf!7474
2020-01-31 13:01:07 +08:00
Angus Gratton
1d28aa0194 Merge branch 'bugfix/doc_visible_kconfigs_only' into 'master'
Docs: Omit kconfig configurations not available for the target

Closes IDF-1212

See merge request espressif/esp-idf!7473
2020-01-31 12:57:00 +08:00
Ivan Grokhotkov
a1c1af72bf idf.py: guess IDF_TARGET from sdkconfig if CMakeCache doesn't exist
This solves the issue that target is changed to the default one after
idf.py fullclean.

Also allow setting the default target using sdkconfig.defaults, e.g.
CONFIG_IDF_TARGET="esp32s2"

Closes IDF-1040
2020-01-30 19:09:37 +01:00
Ivan Grokhotkov
9b7a038583 Merge branch 'bugfix/esp32s2_ut_reset_reason' into 'master'
unit-test-app: make compatible with ESP32-S2 reset reasons

See merge request espressif/esp-idf!7449
2020-01-30 18:12:01 +08:00
Roland Dobai
5454c268f7 Docs: Omit kconfig configurations not available for the target 2020-01-30 10:30:06 +01:00
Angus Gratton
86034ad049 Merge branch 'feature/freertos_fpu_isr' into 'master'
feature/fpu: Enable usage of FPU inside of a ISR

Closes IDF-100

See merge request espressif/esp-idf!7348
2020-01-30 13:38:37 +08: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
Ivan Grokhotkov
f5d37c453a unit-test-app: make compatible with ESP32-S2 reset reasons
ESP32-S2 has slightly different names of reset reasons, printed by
the ROM. Allow using ESP32 reset reason names in test cases.
2020-01-29 19:05:33 +01:00
David Cermak
3f10c4af06 OTA: enable example builds for esp32s2 target
Closes IDF-1035
2020-01-29 15:20:42 +01:00
Ivan Grokhotkov
ac1834e288 Merge branch 'feature/freertos_xtensa_folder' into 'master'
freertos: moved all xtensa specific files into a separated folder

See merge request espressif/esp-idf!7377
2020-01-29 17:04:34 +08:00
Ivan Grokhotkov
ce7af82e05 Merge branch 'bugfix/idf_monitor_usbser_sys' into 'master'
tools: work around usbser.sys bug in IDF monitor

Closes IDFGH-2592

See merge request espressif/esp-idf!7460
2020-01-29 17:02:44 +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
f5b82c5b1f Merge branch 'bugfix/esptool_elf2image_flashmode' into 'master'
esptool_py: pass flash mode/frequency/size to elf2image

See merge request espressif/esp-idf!7440
2020-01-28 14:22:35 +08:00
Felipe Neves
429712c6eb freertos: moved all xtensa specific files into a separated folder 2020-01-27 16:05:30 -03:00
Ivan Grokhotkov
37edc8f6e9 Merge branch 'feature/idf_docker_updates' into 'master'
Docker image improvements

Closes IDFGH-2559

See merge request espressif/esp-idf!7454
2020-01-28 02:28:34 +08:00
Felipe Neves
5cbb3f05c0 freertos: Added experimental, optional FPU usage on level 1 ISR 2020-01-27 10:55:03 -03:00
Felipe Neves
670ea56df2 freertos: added fpu in isr test case 2020-01-27 10:55:03 -03:00
Ivan Grokhotkov
f74b83b5b4 Merge branch 'feature/idf_tools_doc' into 'master'
docs: add API guide page about IDF Tools

See merge request espressif/esp-idf!7378
2020-01-27 17:10:21 +08:00
Shivani Tipnis
770a1eae01 ci: Fix target variable default value 2020-01-27 09:05:23 +00:00
Ivan Grokhotkov
600d542f53 Merge branch 'bugfix/http_client_chunked_test' into 'master'
http_client: fix example test to expect -1 as content-len for chunked transfer

See merge request espressif/esp-idf!7455
2020-01-27 03:21:42 +08:00
David Cermak
0c21e677cc http_client: fix example test to expect -1 as content-len for chunked transfer 2020-01-26 16:42:37 +01:00
Michael (XIAO Xufeng)
7026087dc0 spi: support esp32s2 2020-01-26 17:24:12 +08:00
Michael (XIAO Xufeng)
9d41829e09 spi: update esp32s2 hardware description files 2020-01-26 17:24:11 +08:00
Ivan Grokhotkov
287d0039ff tools/docker: enable ccache by default 2020-01-24 19:12:22 +01:00
Ivan Grokhotkov
54eed09d70 tools/docker: install CMake version provided in tools.json
Closes https://github.com/espressif/esp-idf/issues/4644
Closes IDFGH-2559
2020-01-24 19:11:56 +01:00
Ivan Grokhotkov
1cd6f67679 docs: add API guide page about IDF Tools 2020-01-24 14:02:21 +01:00
Ivan Grokhotkov
4145ca591f examples: re-enable SystemView examples for esp32s2
Closes IDF-1357
2020-01-24 10:48:38 +01:00
Ivan Grokhotkov
3eb190ce48 esp32s2: fix interrupt names used by SystemView 2020-01-24 10:48:38 +01:00
Ivan Grokhotkov
bb59ca3ab3 esp32s2: add missing ESP32S2_MEMMAP_TRACEMEM_TWOBANKS option
It is used when app-trace is enabled, to provide ping-pong buffers.
2020-01-24 10:48:38 +01:00
Ivan Grokhotkov
02a99e84c8 esp32s2: move trace memory reservation to soc_memory_layout.c 2020-01-24 10:48:38 +01:00
Ivan Grokhotkov
110f3c9ff5 esp32s2: put static .data and .bss directly after .iram.text
This results in a single large heap section instead of two smaller
ones.

Closes IDF-1354
2020-01-24 10:48:38 +01:00
Ivan Grokhotkov
27bff3517f esp32s2: fix "loadable ELF" build
Closes IDF-1346
2020-01-24 10:48:20 +01:00
Ivan Grokhotkov
fd15acb50f esp32s2: bootloader: move iram_loader segment higher
This gives extra 16kB for the application's static .data/.bss
2020-01-24 10:48:20 +01:00
Ivan Grokhotkov
354ce68dce soc: move reserved regions out of memory_layout_utils.c
These definitions have ended up being chip specific. Moving them into
respective soc_memory_layout.c makes the whole picture of memory
regions easier to see, and also makes adding support for new chips
easier.
2020-01-24 10:48:20 +01:00
Ivan Grokhotkov
81f0e7d90f Merge branch 'bugfix/esp32s2_freertos_tls' into 'master'
esp32s2: fix THREADPTR calculation, re-enable FreeRTOS TLS tests

Closes IDF-1239

See merge request espressif/esp-idf!7403
2020-01-24 17:47:43 +08:00
Ivan Grokhotkov
9fafdb7e6d Merge branch 'bugfix/esp32s2_newlib_nano' into 'master'
esp32s2: esp_rom: separate nano formatting functions, fix newlib tests

See merge request espressif/esp-idf!7447
2020-01-24 17:46:54 +08:00
Anton Maklakov
a92a922b51 Merge branch 'bugfix/esp32s2_nostdlib' into 'master'
esp32s2: remove -nostdlib accidentally added

See merge request espressif/esp-idf!7446
2020-01-24 12:25:56 +08:00
Angus Gratton
c9e35ccf41 Merge branch 'bugfix/esp32s2_disable_hw_crypto' into 'master'
mbedtls: temporary disable HW crypto for ESP32-S2

See merge request espressif/esp-idf!7448
2020-01-24 07:43:25 +08:00
Ivan Grokhotkov
6e527fb763 mbedtls: temporary disable HW crypto for ESP32S2
To be re-enabled once HW crypto accelerators support is merged:
IDF-714, IDF-716, IDF-803.
2020-01-23 18:14:10 +01:00
Ivan Grokhotkov
16e63f6a3f esp32s2: esp_rom: separate nano formatting functions, fix newlib tests 2020-01-23 18:07:37 +01:00
Ivan Grokhotkov
cbb6beccd9 ci: add build system tests for bootloader flash mode/freq/size 2020-01-23 17:03:52 +01:00
Ivan Grokhotkov
90af8531d8 esp32s2: remove -nostdlib accidentally added
-nostdlib was removed in 9a2af7a and then accidentally added
in 1c2cc54.

The issue manifested itself as a failure to link some symbols from
libgcc, even though libgcc should implicitly appear at the end of the
linker command line when -nostdlib is not given.
2020-01-23 17:00:31 +01:00
Ivan Grokhotkov
caef7ad9f2 esp32, esp32s2beta: move brownout.c to esp_common 2020-01-23 13:44:19 +01:00
Ivan Grokhotkov
70752baba4 esp32s2: add brownout detector support
1. add brownout detector HAL for esp32 and esp32s2
2. enable brownout reset for esp32 rev. 1 and above
3. add approximate brownout detector levels for esp32s2
2020-01-23 13:44:19 +01:00
Ivan Grokhotkov
09950797cb esptool_py: pass flash mode/frequency/size to elf2image
Otherwise the image gets generated with wrong parameters, and the
binary does not boot unless it has been "fixed" by esptool during the
upload.
2020-01-23 12:19:15 +01:00
Ivan Grokhotkov
46035032cf esp32s2: fix inconsistency between reg and struct headers
test_mux register doesn't exist in RTCCNTL anymore, remove it from
struct header. Also remove adc_ll_vref_output implementation, which
depends on that register.
2020-01-23 11:30:11 +01:00
Ivan Grokhotkov
cbb84e8f5e esp32s2: fix THREADPTR calculation, re-enable FreeRTOS TLS tests
1. Clarify THREADPTR calculation in FreeRTOS code, explaining where
the constant 0x10 offset comes from.

2. On the ESP32-S2, .flash.rodata section had different default
alignment (8 bytes instead of 16), which resulted in different offset
of the TLS sections. Unfortunately I haven’t found a way to query
section alignment from C code, or to use a constant value to define
section alignment in the linker script. The linker scripts are
modified to force a fixed 16 byte alignment for .flash.rodata on the
ESP32 and ESP32-S2beta. Note that the base address of .flash.rodata
was already 16 byte aligned, so this has not changed the actual
memory layout of the application.

Full explanation of the calculation below.

Assume we have the TLS template section base address
(tls_section_vma), the address of a TLS variable in the template
(address), and the final relocation value (offset). The linker
calculates:
offset = address - tls_section_vma + align_up(TCB_SIZE, alignment).

At run time, the TLS section gets copied from _thread_local_start
(in .rodata) to task_thread_local_start. Let’s assume that an address
of a variable in the runtime TLS section is runtime_address.
Access to this address will happen by calculating THREADPTR + offset.
So, by a series of substitutions:

THREADPTR + offset = runtime_address THREADPTR = runtime_address - offset
THREADPTR = runtime_address - (address - tls_section_vma + align_up(TCB_SIZE, alignment)) THREADPTR = (runtime_address - address) + tls_section_vma - align_up(TCB_SIZE, alignment)

The difference between runtime_address and address is same as the
difference between task_thread_local_start and _thread_local_start.
And tls_section_vma is the address of .rodata section, i.e.
_rodata_start. So we arrive to

THREADPTR = task_thread_local_start - _thread_local_start + _rodata_start - align_up(TCB_SIZE, alignment).

The idea with TCB_SIZE being added to the THREADPTR when computing
the relocation was to let the OS save TCB pointer in the TREADPTR
register. The location of the run-time TLS section was assumed to be
immediately after the TCB, aligned to whatever the section alignment
was. However in our case the problem is that the run-time TLS section
is stored not next to the TCB, but at the top of the stack. Plus,
even if it was stored next to the TCB, the size of a FreeRTOS TCB is
not equal to 8 bytes (TCB_SIZE hardcoded in the linker). So we have
to calculate THREADPTR in a slightly obscure way, to compensate for
these differences.

Closes IDF-1239
2020-01-23 11:29:22 +01:00
Angus Gratton
c1ab87b580 Merge branch 'bugfix/fix_broken_example_link' into 'master'
doc:fix icmp initialization and broken example links

Closes IDFGH-2563

See merge request espressif/esp-idf!7402
2020-01-23 14:32:55 +08:00
Angus Gratton
4e4bfb4348 Merge branch 'bugfix/ci_handle_retried_jobs' into 'master'
CI: fix CI fail when have retried build jobs

See merge request espressif/esp-idf!7435
2020-01-23 09:30:07 +08:00
Angus Gratton
d672809080 Merge branch 'refactor/rename_esp32s2beta_to_esp32s2' into 'master'
global: rename esp32s2beta to esp32s2

See merge request espressif/esp-idf!7369
2020-01-23 09:16:30 +08:00
Angus Gratton
fbb5844151 Merge branch 'bugfix/esp_timer_stucks_into_esp_timer_impl_set_alarm' into 'master'
esp_timer/esp32: Fix esp_timer_impl_set_alarm() when CPU and APB freqs are changed

Closes WIFI-1576

See merge request espressif/esp-idf!7303
2020-01-23 09:14:53 +08:00
Mahavir Jain
7be7839690 Merge branch 'nimble/dynamic_buffers' into 'master'
NimBLE: Use dynamic buffers instead of static memory.

See merge request espressif/esp-idf!7337
2020-01-23 00:55:51 +08:00
Hrishikesh Dhayagude
91c8f324a9 NimBLE: Use dynamic buffers instead of static memory.
The NimBLE host buffers that consume a significant amount of memory are
now allocated dynamically.
The advantage is that, the memory can be reclaimed in cases where BLE
is turned off and not required for the current boot cycle
2020-01-23 00:55:51 +08:00
morris
405b0e7f06 esp_rom: splict libgcc and libc outof rom.ld bundle file 2020-01-23 00:27:47 +08:00
KonstantinKondrashov
6061d5d65a esp_timer/esp32: Fix case when alarm_reg > counter_reg but FRC_TIMER_INT_STATUS is not set
Closes: WIFI-1576
Closes: https://github.com/espressif/esp-idf/issues/2954
2020-01-22 14:30:34 +08:00
michael
1f43f33567 sdio: update the host example to support working with a slave without DAT1
The interrupt line (DAT1) is an extra pin comparing to SD memory,
allowing the slave to actively inform the host some events.

It's possible for two ESP32 chips to communicate with each other in
1-bit mode or SPI mode without the DAT1 line by polling the slave's
interrupt registers. But this will increase the CPU load of the host,
and do harm to the response speed to slave events.
2020-01-22 05:34:21 +00:00
morris
e30cd361a8 global: rename esp32s2beta to esp32s2 2020-01-22 12:14:38 +08:00
Michael (XIAO Xufeng)
cff1815177 idf_py: fix the ESPPORT environ variable type issue
Python 2 expect the environ variables are all of type 'str', but
sometimes wrong 'unicode' type is given.

Here we force all variables that are not str to become str.
2020-01-22 12:05:08 +08:00
morris
95743f4ee6 update rtc_sleep_init for esp32s2 2020-01-22 10:19:05 +08:00
He Yin Ling
739affb5b0 ci: add find job id argument job status:
if we retry failed job, we will have 2 jobs with same name in one pipeline. we need to use status to find the retried job instead of failed job.
2020-01-22 10:04:54 +08:00
Angus Gratton
3c44ab4192 Merge branch 'bugfix/idf_tools_pylauncher' into 'master'
idf_tools.py: fix typo in __PYVENV_LAUNCHER__ env variable name

See merge request espressif/esp-idf!7421
2020-01-22 06:42:20 +08:00
Angus Gratton
e787cb1730 Merge branch 'feature/mux_to_spinlock' into 'master'
soc/spinlock:  initial implementation of spinlock refactor

Closes IDF-967

See merge request espressif/esp-idf!6251
2020-01-22 06:20:34 +08:00
Felipe Neves
73592d9bc4 spin_lock: added new spinlock interface and decoupled it from RTOS
spin_lock: cleaned-up port files and removed portmux files

components/soc: decoupled compare and set operations from FreeRTOS

soc/spinlock: filled initial implementation of spinlock refactor

It will decouple the spinlocks into separated components with not depencences of freertos
an similar interface was provided focusing the readabillity and maintenance, also
naming to spinlocks were adopted. On FreeRTOS side the legacy portMUX macros
gained a form of wrapper functions that calls the spinlocks component thus
minimizing the impact on RTOS side.

This feature aims to close IDF-967

soc/spinlock: spinlocks passed on unit test, missing test corner cases

components/compare_set: added better function namings plus minor performance optimization on spinlocks

soc/spinlock: code reordering to remove ISC C90 mix error

freertos/portmacro: gor rid of critical sections multiline macros, placed inline functions instead

soc/spinlock: improved spinlock performance from internal RAM

For cases where the spinlock is executed from IRAM, there is no
need to check where the spinlock object is placed on memory,
removing this checks caused a great improvement on performance.
2020-01-22 06:20:34 +08:00
Ivan Grokhotkov
a7bbc74a20 Merge branch 'bugfix/rom_opi_flash_cpp_guards' into 'master'
rom: add header guards in rom/opi_flash.h

See merge request espressif/esp-idf!7423
2020-01-22 00:13:16 +08:00
Ivan Grokhotkov
cc3df01f8f rom: add header guards in rom/opi_flash.h, fix error in rom/spi_flash.h 2020-01-21 11:58:10 +01:00
Ivan Grokhotkov
9746dbe643 idf_tools.py: fix typo in __PYVENV_LAUNCHER__ env variable name
Fixes the workaround added in 9279b72a6.
2020-01-21 10:48:24 +01:00
Ivan Grokhotkov
2c3e6481bb Merge branch 'feature/ci_check_cpp_guards' into 'master'
ci: add job to check for C++ guards in header files

Closes IDF-288

See merge request espressif/esp-idf!7050
2020-01-21 17:18:23 +08:00
Ivan Grokhotkov
f619a3174b Merge branch 'bugfix/nvs_new_nothrow' into 'master'
NVS: Change all new to new (nothrow)

See merge request espressif/esp-idf!6930
2020-01-21 17:06:19 +08:00
Ivan Grokhotkov
c11f77cb1a Merge branch 'feature/use_underlying_cmake_targets_for_idf_py' into 'master'
CMake: Use underlying flash targets for idf.py

See merge request espressif/esp-idf!7067
2020-01-21 17:05:47 +08:00
Jiang Jiang Jian
95f9db79d2 Merge branch 'feature/lwip_netinet_tcp_pr4637' into 'master'
lw_ip: Add netinet compatibility headers (PR 4637)

Closes IDFGH-2551

See merge request espressif/esp-idf!7408
2020-01-21 15:00:03 +08:00
morris
f2cb6bd4b6 doc: fix broken example links 2020-01-21 12:11:24 +08:00
morris
1c710a1b31 doc: fix incomplete ping session initialization
Thanks @nopnop2002 for reporting this issue.
Closes https://github.com/espressif/esp-idf/issues/4648
2020-01-21 12:07:38 +08:00
Angus Gratton
e0fe136bf9 Merge branch 'bugfix/select_driver_not_installed' into 'master'
VFS: Check in select() if the UART driver is installed or not

Closes IDFGH-2540

See merge request espressif/esp-idf!7331
2020-01-21 11:08:38 +08:00
Angus Gratton
78e219bbe2 Merge branch 'bugfix/eth_int_allocate' into 'master'
PSRAM related fix

Closes IDFGH-2263 and IDFGH-2549

See merge request espressif/esp-idf!7310
2020-01-21 07:31:26 +08:00
Francesco Giancane
e48fe540be include/sys/socket.h: ensure SOMAXCONN symbol is defined
SOMAXCONN is expected to be defined in this header, but for the esp32
port is found in net/if.h from newlib.

Avoid the issue by including the net/if.h header in sys/socket.h so that
compatibility is preserved.

Signed-off-by: Francesco Giancane <francesco.giancane@accenture.com>

Merges https://github.com/espressif/esp-idf/pull/4637
2020-01-21 10:11:33 +11:00
Francesco Giancane
64377b54d1 include/netinet/tcp.h: wrap lwip/tcp.h header for compatibility
Some applications (i.e. Azure IoT SDK) are expecting this header to
exist and to contain the tcp constants and description.

The esp32 did not wrap the lwip/tcp.h header, thus this commit adds a
compatibility layer.

Signed-off-by: Francesco Giancane <francesco.giancane@accenture.com>

Merges https://github.com/espressif/esp-idf/pull/4637
2020-01-21 10:11:29 +11:00
Jiang Jiang Jian
10c426e5ef Merge branch 'bugfix/fix_sniffer_bug_caused_by_mode_switch' into 'master'
FIx sniffer bug caused by mode switch

Closes WIFI-466

See merge request espressif/esp-idf!5846
2020-01-20 21:08:31 +08:00
Jiang Jiang Jian
34e5f664be Merge branch 'bugfix/btdm_hci_timeout' into 'master'
Bugfix/btdm hci timeout

See merge request espressif/esp-idf!7338
2020-01-20 21:03:07 +08:00
baohongde
097777ed66 components/bt: Fix error EIR type in config eir event 2020-01-20 20:46:05 +08:00
Tian Hao
30fbd99ad0 fix bug sleep may cause HCI timeout
When Host run different cpu and sleep enable, it may cause hci
timeout about 10s.
2020-01-20 17:44:03 +08:00
Tian Hao
f351effdb2 fix Kconfig use mistake cause some config not effect
1. Fix bluedroid task pinned_to_core un-effected
2. other minor sdkconfig bugs
2020-01-20 17:43:36 +08:00
Ivan Grokhotkov
422791cd45 Merge branch 'bugfix/ulp_s2_linux_32bit' into 'master'
tools: mark ULP toolchain as not available on 32-bit Linux

Closes IDFGH-2533

See merge request espressif/esp-idf!7299
2020-01-20 17:32:42 +08:00
Krzysztof Budzynski
52f49590b3 Merge branch 'bugfix/broken_links_to_examples' into 'master'
doc: Fix broken links to examples

See merge request espressif/esp-idf!7273
2020-01-20 12:10:18 +08:00
Krzysztof Budzynski
ac27ab29fd doc: Fix broken links to examples 2020-01-20 12:10:18 +08:00
xiehang
6cb271c20b esp_wifi: Small refactor for ic_set_vif 2020-01-20 11:47:02 +08:00
baohongde
5ca4c85497 components/bt: Fix connection fail and crash when receive unknown AT cmd 2020-01-20 11:32:26 +08:00
Angus Gratton
3f532c8895 Merge branch 'bugfix/esp_tls_blocking_timeout' into 'master'
esp-tls: add timeout for blocking connection

See merge request espressif/esp-idf!7316
2020-01-20 09:35:23 +08:00
Angus Gratton
f72aae3055 Merge branch 'bugfix/esp_netif_pppos_dce_off' into 'master'
pppos_client: Fix power_down dce immediately after got IP

See merge request espressif/esp-idf!7368
2020-01-20 09:24:03 +08:00
Jiang Jiang Jian
1c8937bf14 Merge branch 'feature/esp32_5p0_new_features' into 'master'
esp32 5p0 features support

See merge request espressif/esp-idf!7028
2020-01-19 23:06:45 +08:00
Jiang Jiang Jian
c684818eac Merge branch 'bugfix/fix_double_recycly_bar_crash_issue' into 'master'
esp_wifi:Fix double recycle bar crash issue

Closes WIFI-1666

See merge request espressif/esp-idf!7373
2020-01-19 21:16:09 +08:00
morris
cc0459eea2 ethernet: always put eth_driver handle in SRAM
Closes https://github.com/espressif/esp-idf/issues/4635
2020-01-19 16:25:44 +08:00
morris
5ad0bdd8db ethernet: work with cache disabled
add ETH_MAC_FLAG_WORK_WITH_CACHE_DISABLE flag, make ethenret driver
possible to work when cache disabled

Closes https://github.com/espressif/esp-idf/issues/4406
2020-01-19 16:25:24 +08:00
morris
4fb879c11e spi: always put spihost handle in SRAM
Closes https://github.com/espressif/esp-idf/issues/4635
2020-01-19 16:08:53 +08:00
June
19730c81f0 esp32 5p0 new features support 2020-01-17 10:34:54 +00:00
Axel Lin
fdda7b3bdf pppos_client: Fix power_down dce immediately after got IP
This was accidently commited bug when convert to use esp-netif, fix it.

Fixes: 25913af2cc ("pppos_client: udated example code to use esp-netif in PPP configuration")
Signed-off-by: Axel Lin <axel.lin@gmail.com>

Merges https://github.com/espressif/esp-idf/pull/4618
2020-01-17 07:38:15 +01:00
xiehang
0d1a20ba18 esp_wifi:Fix double recycle bar crash issue 2020-01-17 14:28:27 +08:00
Ivan Grokhotkov
0c99aef08d Merge branch 'feature/bringup_723_cmake' into 'master'
bringup 723 cmake

See merge request espressif/esp-idf!6578
2020-01-17 09:20:34 +08:00
Mahavir Jain
7ca10ca43b Merge branch 'nimble/example_update_doc' into 'master'
NimBLE: Update the documentation link in the examples

See merge request espressif/esp-idf!7364
2020-01-16 22:00:37 +08:00
Hrishikesh Dhayagude
482d7f651d NimBLE: Update the documentation link in the examples 2020-01-16 22:00:36 +08:00
Mahavir Jain
c7f44a301d Merge branch 'feature/modify_esp_tls_structure' into 'master'
esp-tls: add API to retrieve sockfd for tls connection.

See merge request espressif/esp-idf!7329
2020-01-16 18:12:16 +08:00
Jiang Jiang Jian
a23b87e344 Merge branch 'bugfix/wifi_display_cipher_suite' into 'master'
esp_wifi: esp_wifi_sta_get_ap_info function returns actual values of group.

Closes WIFI-984

See merge request espressif/esp-idf!6376
2020-01-16 17:53:01 +08:00
Hrudaynath Dhabe
93bc830ac6 esp_wifi: esp_wifi_sta_get_ap_info function returns actual values of group cipher and pairwise cipher 2020-01-16 17:52:59 +08:00
morris
2422c52851 global: hello world on real esp32-s2 2020-01-16 17:43:59 +08:00
duyi
18a05e2ee0 update ld file for esp32-s2 2020-01-16 17:43:59 +08:00
Wangjialin
d4e5980823 flash: fix 80Mhz for new spi flash driver on esp32s2 2020-01-16 17:43:59 +08:00
Wangjialin
fad639f0d4 feature(psram): update psram initialization.
1. use spi functions in rom
2. remove unnecessary GPIO configurations.
3. remove unnecessary dummy settings.
4. enable dummy out function
5. flash and psram have independent timing setting registers.
6. no need to set 1.9v for LDO in 80Mhz
7. set IO driver ability to 1 by default.
8. no need to use GPIO matrix on esp32s2, IO MUX is recommended
9. enable spi clock mode and IO mode settings
2020-01-16 17:41:31 +08:00
Du Ya Yuan
0ad7602efe make spiram work 2020-01-16 17:41:31 +08:00
duyi
30a525aeb1 update cache config 2020-01-16 17:41:31 +08:00
morris
a8d31b0385 rtc: enable super wdt auto feed 2020-01-16 17:41:31 +08:00
morris
1c2cc5430e global: bring up esp32s2(not beta) 2020-01-16 17:41:31 +08:00
Michael (XIAO Xufeng)
a85b207d68 ci: temporarily disable ut for esp32s2beta 2020-01-16 17:41:31 +08:00
duyi
9c5a981ef1 remove unnecessary function in bootloader_support
1. Delete bootloader_clock_get_rated_freq_mhz, esp32s2 do not need it right now
2. Remove bootloader_flash_gpio_config () because it has the same function as bootloader_flash_dummy_config
2020-01-16 17:41:31 +08:00
Angus Gratton
eaafe7f599 Merge branch 'feature/add_setting_project_version_from_kconfig' into 'master'
build: Add CONFIG_APP_PROJECT_VER to set the project version from Kconfig

See merge request espressif/esp-idf!7125
2020-01-16 15:54:14 +08:00
David Cermak
98cf3142fa esp_tls: fail connection if esp_tls_conn_new() timeouts 2020-01-16 07:32:19 +00:00
David Cermak
aa3b1da384 esp_tls: added connection timeout to esp_tls_conn_new_sync() 2020-01-16 07:32:19 +00:00
Aditya Patwardhan
c7418042b4 esp32/esp-tls: provide API to retrieve sockfd value from esp_tls_t 2020-01-16 12:27:44 +05:30
Jiang Jiang Jian
2a6a560eb3 Merge branch 'bugfix/hfp_disconn_bridgera' into 'master'
hfp disconn issue for bridgera

See merge request espressif/esp-idf!7336
2020-01-16 11:33:36 +08:00
Krzysztof Budzynski
c3b26487b7 Merge branch 'docs/peripherals/ledc' into 'master'
Add Chinese translation to LEDC

See merge request espressif/esp-idf!5728
2020-01-16 10:13:40 +08:00
Wang Ning
0093f50214 Add Chinese translation to LEDC.
Need technical and language review.
2020-01-16 10:13:40 +08:00
Ivan Grokhotkov
e9426d4ed1 Merge branch 'feature/improved_cxx_tests' into 'master'
Improved C++ tests

Closes IDF-1322

See merge request espressif/esp-idf!7283
2020-01-16 10:11:32 +08:00
KonstantinKondrashov
b49a657448 build: Add CONFIG_APP_PROJECT_VER to set the project version from Kconfig 2020-01-15 11:02:27 +00:00
Jakob Hasse
c75ec644f4 NVS: Changed all new to new (nothrow) 2020-01-15 14:01:35 +08:00
Angus Gratton
0da18955aa Merge branch 'bugfix/doc_remove_cmake_defconfig' into 'master'
Doc: replace defconfig with reconfigure

Closes IDFGH-1730

See merge request espressif/esp-idf!5958
2020-01-15 13:29:52 +08:00
Angus Gratton
c1a1e19c2b Merge branch 'feature/freertos_optimized_taskselection' into 'master'
feature/freertos optimized task selection o S2 Beta or unicore configurations

Closes IDF-1116

See merge request espressif/esp-idf!6616
2020-01-15 13:29:21 +08:00
Angus Gratton
ed45760ca7 Merge branch 'feature/wave_generator_example' into 'master'
example: software controlled analog signal generator

See merge request espressif/esp-idf!5994
2020-01-15 13:27:13 +08:00
Angus Gratton
ee899cb2aa Merge branch 'feature/ver-4.2' into 'master'
global: bump version to 4.2

See merge request espressif/esp-idf!7335
2020-01-15 13:07:59 +08:00
weitianhua
8b2919ee2b hfp disconn issue for bridgera 2020-01-15 12:22:58 +08:00
Ivan Grokhotkov
34fd845242 Merge branch 'bugfix/update_kconfiglib' into 'master'
tools: Update kconfiglib to 13.7.1

Closes IDF-1299

See merge request espressif/esp-idf!7307
2020-01-15 12:11:47 +08:00
Ivan Grokhotkov
80d7db9466 Merge branch 'bugfix/esp32s2_mac_addr_allocation' into 'master'
esp32s2 mac address allocation

Closes IDF-1191

See merge request espressif/esp-idf!7286
2020-01-15 11:58:14 +08:00
Renz Christian Bagaporo
fd74ec75d7 esptool_py: retain flash targets when building RAM loadable apps 2020-01-15 03:36:47 +00:00
Renz Christian Bagaporo
7ddd39ec7d idf.py: use underlying flash targets 2020-01-15 03:36:47 +00:00
Renz Christian Bagaporo
38b3fbfbfb cmake: add description to add_prebuild_library utility 2020-01-15 03:36:47 +00:00
Renz Christian Bagaporo
cc8bff703e esptool_py: create flash target functions 2020-01-15 03:36:47 +00:00
Ivan Grokhotkov
da8c06eafc Merge branch 'doc/minor_cxx_additions' into 'master'
doc: small changes for cxx code style

See merge request espressif/esp-idf!7210
2020-01-15 11:36:40 +08:00
Jiang Jiang Jian
5f803b8283 Merge branch 'bugfix/enable_ipv6_address_autoconfig' into 'master'
lw-ip:  Enable IPv6 stateless address autoconfiguration

Closes WIFI-1237

See merge request espressif/esp-idf!6313
2020-01-15 11:27:56 +08:00
Ivan Grokhotkov
5466ff3f4d global: bump version to 4.2 2020-01-15 10:22:22 +08:00
Felipe Neves
5d7564a039 freertos/Kconfig: make optimized task selection dependent on FREERTOS_UNICORE option
freertos: fix decrement loop of high priority task selection
2020-01-14 09:58:14 -03:00
Felipe Neves
2c612ec1dc components/freertos: using the optimized task selection on esp32s2beta
components/freertos: cleaned up multicore option scheduler.

components/freertos:  more cleanup and test optimization to present realistic results

components/freertos: remove unused macros of optimized task selection when multicore is used
2020-01-14 09:58:14 -03:00
Felipe Neves
77bf1ff1c0 freertos/tests: added test to evaluate scheduling time
freertos/Kconfig: fix trailing space on optimized scheduler option

freertos/tests: moved test context variables inside of test task.

The public variables used on scheduling time test now were packed into a structure allocated on  test case task stack and passed to tasks as arguments saving RAM comsumption.
2020-01-14 09:58:14 -03:00
Felipe Neves
d4c82606fb components/freertos: added and enabled the optimized task selection
FreeRTOS  have an platform dependent configuration to enable selection task in a optimized way.

Provided the platform dependent functions in order to allow the scheduler to use the optimized algorithms by telling to the port layer where to found bitscan instruction i.e. NSAU.

This closes IDF-1116

components/freertos: added option to disable the optimized scheduler
2020-01-14 09:58:14 -03:00
Roland Dobai
a9c4dab4d3 VFS: Check in select() if the UART driver is installed or not
Closes https://github.com/espressif/esp-idf/issues/4627
2020-01-14 13:52:27 +01:00
ziyuan_yin
e8ac0bd429 wave_gen example: analog signal generator
This wave generator example does following:

 - An analog signal generator.
 - Offering four kinds of waveform:
 sine, triangle, sawtooth, square.
 - Customer can select their expected waveform, frequency, etc. All of them can be configured in menuconfig.
2020-01-14 09:23:44 +00:00
morris
e1f9b283bc esp32s2: mac addr allocation 2020-01-14 15:19:38 +08:00
xiehang
c0148ef1e8 lwip: Enable IPv6 stateless address autoconfiguration 2020-01-14 07:15:26 +00:00
Jakob Hasse
c8137c5298 C++: rtti unit tests, corresponding CI config 2020-01-13 16:39:21 +08:00
Ivan Grokhotkov
763bd72c18 tools: mark ULP toolchain as not available on 32-bit Linux
Also install ULP toolchain by default on ARM Linux.

Closes https://github.com/espressif/esp-idf/issues/4621
2020-01-13 09:41:05 +08:00
David Cermak
2c0bd88786 ci: public header check: add test for sdkconfig values
if the CONFIG_XXX macros used then sdkconfig.h should be included.
Also added support for multi-process execution
2020-01-10 10:11:21 +01:00
David Cermak
ff0128dd02 drivers: fixed c++ guards in driver public headers 2020-01-10 09:44:39 +01:00
David Cermak
cf9cab4723 ci: public header check: add test whether all headers compile
script checks cpp guards preprocessing with C and CPP compiler and
compares outputs. As a part of this check also a test whether all header
files compile is performed.

IDF-288
2020-01-10 09:44:39 +01:00
Ivan Grokhotkov
c6d6fe0316 ci: add job to check for C++ guards in header files 2020-01-10 09:44:39 +01:00
gengyuchao
373a31abb7 btdm: Add comments to clarify the two different device names of GAP and ADV in the ble_spp_server_demo example, as the old example might confuse users. 2020-01-09 20:45:56 +08:00
Jakob Hasse
9a10c1bccd doc: small changes for cxx code style 2020-01-07 15:13:41 +08:00
Sergei Silnov
767cde7b1c idf.py: add monitor-baud option to monitor command 2019-12-13 21:40:21 +01:00
Sergei Silnov
5f136913d2 Doc: replace defconfig with reconfigure
Closes https://github.com/espressif/esp-idf/issues/3965
2019-11-07 13:03:34 +01:00
2993 changed files with 536089 additions and 54790 deletions

View File

@@ -141,15 +141,17 @@ exclude =
__pycache__,
# submodules
components/bootloader/subproject/components/micro-ecc/micro-ecc,
components/bt/host/nimble/nimble,
components/esptool_py/esptool,
components/expat/expat,
components/json/cJSON,
components/libsodium/libsodium,
components/mbedtls/mbedtls,
components/nghttp/nghttp2,
components/bt/host/nimble/nimble,
components/tinyusb,
components/unity/unity,
examples/build_system/cmake/import_lib/main/lib/tinyxml2,
examples/peripherals/secure_element/atecc608_ecdsa/components/esp-cryptoauthlib,
# other third-party libraries
tools/kconfig_new/kconfiglib.py,
tools/kconfig_new/menuconfig.py,
@@ -162,4 +164,4 @@ exclude =
components/wifi_provisioning/python/wifi_config_pb2.py,
components/wifi_provisioning/python/wifi_constants_pb2.py,
components/esp_local_ctrl/python/esp_local_ctrl_pb2.py,
examples/provisioning/custom_config/components/custom_provisioning/python/custom_config_pb2.py,
examples/provisioning/legacy/custom_config/components/custom_provisioning/python/custom_config_pb2.py,

87
.github/workflows/docker.yml vendored Normal file
View File

@@ -0,0 +1,87 @@
name: docker
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
on:
push:
branches:
- 'master'
- 'release/*'
tags:
- 'v*.*'
env:
# Platforms to build the image for
BUILD_PLATFORMS: linux/amd64
DOCKERHUB_REPO: ${{ github.repository_owner }}/idf
jobs:
docker:
# Disable the job in forks
if: ${{ github.repository_owner == 'espressif' }}
runs-on: ubuntu-latest
steps:
# Depending on the branch/tag, set CLONE_BRANCH_OR_TAG variable (used in the Dockerfile
# as a build arg) and TAG_NAME (used when tagging the image).
#
# The following 3 steps cover the alternatives (tag, release branch, master branch):
- name: Set variables (tags)
if: ${{ github.ref_type == 'tag' }}
run: |
echo "CLONE_BRANCH_OR_TAG=$GITHUB_REF_NAME" >> $GITHUB_ENV
echo "TAG_NAME=$GITHUB_REF_NAME" >> $GITHUB_ENV
- name: Set variables (release branches)
if: ${{ github.ref_type == 'branch' && startsWith(github.ref_name, 'release/') }}
run: |
echo "CLONE_BRANCH_OR_TAG=$GITHUB_REF_NAME" >> $GITHUB_ENV
echo "TAG_NAME=release-${GITHUB_REF_NAME##release/}" >> $GITHUB_ENV
- name: Set variables (main branch)
if: ${{ github.ref_type == 'branch' && github.ref_name == 'master' }}
run: |
echo "CLONE_BRANCH_OR_TAG=master" >> $GITHUB_ENV
echo "TAG_NAME=latest" >> $GITHUB_ENV
# Display the variables set above, just in case.
- name: Check variables
run: |
echo "CLONE_BRANCH_OR_TAG: $CLONE_BRANCH_OR_TAG"
echo "CHECKOUT_REF: $CHECKOUT_REF"
echo "TAG_NAME: $TAG_NAME"
# The following steps are the standard boilerplate from
# https://github.com/marketplace/actions/build-and-push-docker-images
- name: Checkout
uses: actions/checkout@v3
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up QEMU for multiarch builds
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build and push
uses: docker/build-push-action@v3
with:
context: tools/docker
push: true
tags: ${{ env.DOCKERHUB_REPO }}:${{ env.TAG_NAME }}
platforms: ${{ env.BUILD_PLATFORMS }}
build-args: |
IDF_CLONE_URL=${{ github.server_url }}/${{ github.repository }}.git
IDF_CLONE_BRANCH_OR_TAG=${{ env.CLONE_BRANCH_OR_TAG }}
- name: Update Docker Hub repository description (master branch)
if: ${{ github.ref_type == 'branch' && github.ref_name == 'master' }}
uses: peter-evans/dockerhub-description@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
# Token based authentication is not supported here:
# https://github.com/peter-evans/dockerhub-description/issues/10
# https://github.com/docker/roadmap/issues/115#issuecomment-891694974
password: ${{ secrets.DOCKERHUB_PASSWORD }}
repository: ${{ env.DOCKERHUB_REPO }}
readme-filepath: ./tools/docker/README.md

View File

@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [2.7, 3.5, 3.6, 3.7]
python-version: [2.7, 3.5, 3.6, 3.7, 3.8]
steps:
- name: Checkout
@@ -24,9 +24,10 @@ jobs:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
export IDF_PATH=${GITHUB_WORKSPACE}
pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
flake8 . --config=.flake8
flake8 . --config=.flake8 --benchmark

22
.gitignore vendored
View File

@@ -27,13 +27,7 @@ examples/**/sdkconfig.old
examples/**/build
# Doc build artifacts
docs/*/_build/
docs/*/doxygen-warning-log.txt
docs/*/sphinx-warning-log.txt
docs/*/sphinx-warning-log-sanitized.txt
docs/*/xml/
docs/*/xml_in/
docs/*/man/
docs/_build/
docs/doxygen_sqlite3.db
# Downloaded font files
@@ -46,6 +40,15 @@ tools/unit-test-app/sdkconfig.old
tools/unit-test-app/build
tools/unit-test-app/builds
tools/unit-test-app/output
tools/unit-test-app/test_configs
# Unit Test CMake compile log folder
log_ut_cmake
# test application build files
tools/test_apps/**/build
tools/test_apps/**/sdkconfig
tools/test_apps/**/sdkconfig.old
# IDF monitor test
tools/test_idf_monitor/outputs
@@ -79,4 +82,7 @@ flake8_output.txt
build
# lock files for examples and components
dependencies.lock
dependencies.lock
# managed_components for examples
managed_components

View File

@@ -6,7 +6,7 @@ stages:
- target_test
- post_check
- deploy
- post_check
- post_deploy
# pipelines will not be created in such two cases:
# 1. MR push
@@ -45,8 +45,6 @@ variables:
# tell build system do not check submodule update as we download archive instead of clone
IDF_SKIP_CHECK_SUBMODULES: 1
UNIT_TEST_BUILD_SYSTEM: cmake
EXAMPLE_TEST_BUILD_SYSTEM: cmake
IDF_PATH: "$CI_PROJECT_DIR"
BATCH_BUILD: "1"
V: "0"
@@ -62,16 +60,18 @@ variables:
CI_AUTO_TEST_SCRIPT_REPO_URL: "https://gitlab-ci-token:${BOT_TOKEN}@${CI_SERVER_HOST}:${CI_SERVER_PORT}/qa/auto_test_script.git"
CI_AUTO_TEST_SCRIPT_REPO_BRANCH: "ci/v4.1"
# Versioned esp-idf-doc env image to use for all document building jobs
# Versioned esp-idf-doc env image to use for all document building jobs
ESP_IDF_DOC_ENV_IMAGE: "$CI_DOCKER_REGISTRY/esp-idf-doc-env:v7"
# before each job, we need to check if this job is filtered by bot stage/job filter
.apply_bot_filter: &apply_bot_filter
python $APPLY_BOT_FILTER_SCRIPT || exit 0
.setup_tools_unless_target_test: &setup_tools_unless_target_test |
if [[ -n "$IDF_DONT_USE_MIRRORS" ]]; then
export IDF_MIRROR_PREFIX_MAP=
fi
if [[ "$SETUP_TOOLS" == "1" || "$CI_JOB_STAGE" != "target_test" ]]; then
tools/idf_tools.py --non-interactive install && eval "$(tools/idf_tools.py --non-interactive export)" || exit 1
fi
@@ -93,7 +93,6 @@ before_script:
# Set some options and environment for CI
- source tools/ci/configure_ci_environment.sh
- *setup_tools_unless_target_test
- *fetch_submodules
# used for check scripts which we want to run unconditionally
@@ -130,7 +129,14 @@ before_script:
tags:
- host_test
dependencies: []
extends: .before_script_lesser_nofilter
extends: .before_script_lesser
.python_lint_template:
stage: pre_check
image: $CI_DOCKER_REGISTRY/esp32-ci-env$BOT_DOCKER_IMAGE_TAG
tags:
- host_test
dependencies: []
.macos_build_template:
stage: build
@@ -166,3 +172,4 @@ include:
- '/tools/ci/config/target-test.yml'
- '/tools/ci/config/post_check.yml'
- '/tools/ci/config/deploy.yml'
- '/tools/ci/config/post_deploy.yml'

7
.gitmodules vendored
View File

@@ -79,3 +79,10 @@
path = components/esp_wifi/lib
url = ../../espressif/esp32-wifi-lib.git
[submodule "components/tinyusb/tinyusb"]
path = components/tinyusb/tinyusb
url = ../../espressif/tinyusb.git
[submodule "examples/peripherals/secure_element/atecc608_ecdsa/components/esp-cryptoauthlib"]
path = examples/peripherals/secure_element/atecc608_ecdsa/components/esp-cryptoauthlib
url = ../../espressif/esp-cryptoauthlib.git

View File

@@ -74,6 +74,10 @@ if(CONFIG_COMPILER_DISABLE_GCC8_WARNINGS)
"-Wno-int-in-bool-context")
endif()
if(CONFIG_COMPILER_WARN_WRITE_STRINGS)
list(APPEND compile_options "-Wwrite-strings")
endif()
if(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE)
list(APPEND compile_definitions "-DNDEBUG")
endif()

View File

@@ -6,7 +6,7 @@ We welcome contributions to the esp-idf project!
How to Contribute
-----------------
Contributions to esp-idf - fixing bugs, adding features, adding documentation - are welcome. We accept contributions via `Github Pull Requests <https://help.github.com/articles/about-pull-requests/>`_.
Contributions to esp-idf - fixing bugs, adding features, adding documentation - are welcome. We accept contributions via `Github Pull Requests <https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests>`_.
Before Contributing
-------------------
@@ -27,7 +27,7 @@ Before sending us a Pull Request, please consider this list of points:
* Example contributions are also welcome. Please check the :doc:`creating-examples` guide for these.
* If the contribution contains multiple commits, are they grouped together into logical changes (one major change per pull request)? Are any commits with names like "fixed typo" `squashed into previous commits <http://eli.thegreenplace.net/2014/02/19/squashing-github-pull-requests-into-a-single-commit/>`_?
* If the contribution contains multiple commits, are they grouped together into logical changes (one major change per pull request)? Are any commits with names like "fixed typo" `squashed into previous commits <https://eli.thegreenplace.net/2014/02/19/squashing-github-pull-requests-into-a-single-commit/>`_?
* If you're unsure about any of these points, please open the Pull Request anyhow and then ask us for feedback.

13
Kconfig
View File

@@ -24,23 +24,22 @@ mainmenu "Espressif IoT Development Framework Configuration"
bool
default "y" if IDF_TARGET="esp32"
config IDF_TARGET_ESP32S2BETA
config IDF_TARGET_ESP32S2
bool
default "y" if IDF_TARGET="esp32s2beta"
default "y" if IDF_TARGET="esp32s2"
select FREERTOS_UNICORE
config IDF_FIRMWARE_CHIP_ID
hex
default 0x0000 if IDF_TARGET_ESP32
# note: S2 beta uses Chip ID 0 still, S2 will use 0x0002
default 0x0000 if IDF_TARGET_ESP32S2BETA
default 0x0002 if IDF_TARGET_ESP32S2
default 0xFFFF
menu "SDK tool configuration"
config SDK_TOOLPREFIX
string "Compiler toolchain path/prefix"
default "xtensa-esp32-elf-" if IDF_TARGET_ESP32
default "xtensa-esp32s2-elf-" if IDF_TARGET_ESP32S2BETA
default "xtensa-esp32s2-elf-" if IDF_TARGET_ESP32S2
help
The prefix/path that is used to call the toolchain. The default setting assumes
a crosstool-ng gcc setup that is in your PATH.
@@ -134,8 +133,8 @@ mainmenu "Espressif IoT Development Framework Configuration"
CONFIG_APP_BUILD_TYPE_ELF_RAM=y
CONFIG_VFS_SUPPORT_TERMIOS=
CONFIG_NEWLIB_NANO_FORMAT=y
CONFIG_ESP32_PANIC_PRINT_HALT=y
CONFIG_ESP32_DEBUG_STUBS_ENABLE=
CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
CONFIG_ESP_DEBUG_STUBS_ENABLE=
CONFIG_ESP_ERR_TO_NAME_LOOKUP=

View File

@@ -2,16 +2,15 @@
* [中文版](./README_CN.md)
ESP-IDF is the official development framework for the [ESP32](https://espressif.com/en/products/hardware/esp32/overview) chip provided for Windows, Linux and macOS.
ESP-IDF is the development framework for Espressif SoCs (released after 2016<sup>[1](#fn1)</sup>) provided for Windows, Linux and macOS.
# Developing With ESP-IDF
## Setting Up ESP-IDF
See setup guides for detailed instructions to set up the ESP-IDF:
See https://idf.espressif.com/ for links to detailed instructions on how to set up the ESP-IDF depending on chip you use.
* [Getting Started Guide for the stable ESP-IDF version](https://docs.espressif.com/projects/esp-idf/en/stable/get-started/)
* [Getting Started Guide for the latest (master branch) ESP-IDF version](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/)
**Note:** Each SoC series and each ESP-IDF release has its own documentation. Please see Section [Versions](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/versions.html) on how to find documentation and how to checkout specific release of ESP-IDF.
### Non-GitHub forks
@@ -38,12 +37,13 @@ See the Getting Started guide links above for a detailed setup guide. This is a
(See the Getting Started guide listed above for a full list of required steps with more details.)
* Install host build dependencies mentioned in the Getting Started guide.
* Run the install script to set up the build environment. The options include `install.bat` or `install.ps1` for Windows, and `install.sh` for Unix shells.
* Run the install script to set up the build environment. The options include `install.bat` or `install.ps1` for Windows, and `install.sh` or `install.fish` for Unix shells.
* Run the export script on Windows (`export.bat`) or source it on Unix (`source export.sh`) in every shell environment before using ESP-IDF.
## Configuring the Project
`idf.py menuconfig` opens a text-based configuration menu where you can configure the project.
* `idf.py set-target <chip_name>` sets the target of the project to `<chip_name>`. Run `idf.py set-target` without any arguments to see a list of supported targets.
* `idf.py menuconfig` opens a text-based configuration menu where you can configure the project.
## Compiling the Project
@@ -65,7 +65,7 @@ You don't need to run `idf.py build` before running `idf.py flash`, `idf.py flas
## Viewing Serial Output
The `idf.py monitor` target uses the [idf_monitor tool](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/idf-monitor.html) to display serial output from the ESP32. idf_monitor also has a range of features to decode crash output and interact with the device. [Check the documentation page for details](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/idf-monitor.html).
The `idf.py monitor` target uses the [idf_monitor tool](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/idf-monitor.html) to display serial output from Espressif SoCs. idf_monitor also has a range of features to decode crash output and interact with the device. [Check the documentation page for details](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/idf-monitor.html).
Exit the monitor by typing Ctrl-].
@@ -101,3 +101,6 @@ This can be combined with other targets, ie `idf.py -p PORT erase_flash flash` w
* If you're interested in contributing to ESP-IDF, please check the [Contributions Guide](https://docs.espressif.com/projects/esp-idf/en/latest/contribute/index.html).
________
<a name="fn1">1</a>: ESP8266 and ESP8285 are not supported in ESP-IDF. See [RTOS SDK](https://github.com/espressif/ESP8266_RTOS_SDK) instead.

View File

@@ -2,23 +2,22 @@
* [English Version](./README.md)
[![Documentation Status](https://readthedocs.com/projects/espressif-esp-idf/badge/?version=latest)](https://docs.espressif.com/projects/esp-idf/zh_CN/latest/?badge=latest)
ESP-IDF 是由乐鑫官方推出的针对 [ESP32](https://espressif.com/en/products/hardware/esp32/overview) 系列芯片的开发框架。
ESP-IDF 是由乐鑫官方针对乐鑫各系列芯片产品(发布于 2016 年后<sup>[1](#fn1)</sup>)推出的开发框架,支持 Windows、Linux 和 macOS 操作系统。
# 使用 ESP-IDF 进行开发
## 搭建 ESP-IDF 开发环境
请参阅如下指南搭建 ESP-IDF 的开发环境
关于不同芯片如何搭建 ESP-IDF 的开发环境,请参考 https://idf.espressif.com/。
* [ESP-IDF 稳定版本的入门指南](https://docs.espressif.com/projects/esp-idf/en/stable/get-started/)
* [ESP-IDF 开发版本master 分支)的入门指南](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/)
**注意:** 不同系列芯片和不同 ESP-IDF 版本都有其对应的文档。请参阅[版本](https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/versions.html)部分,获得关于如何查找文档以及如何检出 ESP-IDF 的特定发行版的详细信息。
### 非 GitHub 分叉的 ESP-IDF 项目
ESP-IDF 中的子模块采用相对路径([详见 .gitmodules 文件](.gitmodules)),所以它们会指向 GitHub。
如果 ESP-IDF 被分叉到的仓库不在 GitHub 上,那么你需要在克隆结束后运行该[脚本](tools/set-submodules-to-github.sh)。它会为所有的子模块设置绝对路径,接着可以通过 `git submodule update --init --recursive` 完成子模块的更新
如果 ESP-IDF 被分叉到的仓库不在 GitHub 上,那么你需要在克隆结束后运行该脚本 [tools/set-submodules-to-github.sh](tools/set-submodules-to-github.sh)
这个脚本会为所有的子模块设置绝对路径,接着可以通过 `git submodule update --init --recursive` 完成子模块的更新。
如果 ESP-IDF 是从 GitHub 上克隆得到,则不需要此步骤。
## 寻找项目
@@ -35,24 +34,16 @@ ESP-IDF 中的子模块采用相对路径([详见 .gitmodules 文件](.gitmodu
## 设置构建环境
请参考入门指南中列出的详细步骤。
* 在主机中安装入门指南中提到的构建所依赖的工具。
* 将 ESP-IDF 中的 `tools/` 目录加入 PATH 环境变量中。
* 运行 `python -m pip install -r requirements.txt` 安装 Python 依赖库。
请参考入门指南中列出的详细步骤。
* 在主机中安装入门指南中提到的构建所依赖的工具。
* 运行安装脚本来设置构建环境。可为 Windows shell 选择 `install.bat``install.ps1`,为 Unix shell 选择 `install.sh``install.fish`
* 在使用 ESP-IDF 之前,需要在 shell 中运行导出脚本。Windows 下可运行 `export.bat`Unix 下可运行 `source export.sh`
## 配置项目
`idf.py menuconfig`
* 打开项目的文本配置菜单。
* 使用上下键浏览菜单。
* 使用回车键进入子菜单,退出键返回上一级菜单或者退出配置。
* 输入 `?` 查看帮助界面,按下回车键可以退出帮助界面。
* 使用空格键或者 `Y``N` 按键来启用和禁用带复选框“`[*]`”的配置项。
* 高亮某个配置项的同时按下 `?` 键可以显示该选项的帮助文档。
* 输入 `/` 可以搜索指定的配置项。
一旦配置完成,请按下退出键多次以退出配置界面,当提示是否保存新的的配置时,选择 “Yes”。
* `idf.py set-target <chip_name>` 可将项目的目标芯片设置为 `<chip_name>`。运行 `idf.py set-target`,不用带任何参数,可查看所有支持的目标芯片列表。
* `idf.py menuconfig` 可打开一个基于文本的配置菜单,可以用来对项目进行配置。
## 编译项目
@@ -62,23 +53,23 @@ ESP-IDF 中的子模块采用相对路径([详见 .gitmodules 文件](.gitmodu
## 烧写项目
当构建结束,终端会打印出一条命令行,告知如何使用 esptool.py 工具烧写项目到芯片中。但是你还可以运行下面这条命令来自动烧写:
当构建结束,终端会打印出一条命令行,告知如何使用 esptool.py 工具烧写项目到芯片中。但你也可以运行下面这条命令来自动烧写:
`idf.py -p PORT flash`
将其中的 PORT 替换为系统中实际串口的名字(比如 Windows 下的 `COM3`Linux 下的 `/dev/ttyUSB0`,或者 MacOS 下的 `/dev/cu.usbserial-X`。如果省略 `-p` 选项,`idf.py flash` 会尝试使用第一个可用的串口进行烧写。
将其中的 PORT 替换为系统中实际串口的名字(比如 Windows 下的 `COM3`Linux 下的 `/dev/ttyUSB0`,或者 macOS 下的 `/dev/cu.usbserial-X`。如果省略 `-p` 选项,`idf.py flash` 会尝试使用第一个可用的串口进行烧写。
这会烧写整个项目(包括应用程序,引导程序和分区表)到芯片中,此外还可以使用 `idf.py menuconfig` 来调整串口烧写相关的配置。
你也不必先运行 `idf.py build`再运行 `idf.py flash``idf.py flash` 会根据需要自动重新构建项目。
不必先运行 `idf.py build` 再运行 `idf.py flash``idf.py flash` 会根据需要自动重新构建项目。
## 观察串口输入
`idf.py monitor` 会调用 [idf_monitor 工具](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/idf-monitor.html)来显示 ESP32 的串口输出。`idf_monitor` 还包含一系列的功能来解析程序崩溃后的输出结果并与设备进行交互。更多详细内容,请参阅[文档](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/idf-monitor.html).
`idf.py monitor` 会调用 [idf_monitor 工具](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/idf-monitor.html)来显示乐鑫芯片的串口输出。`idf_monitor` 还包含一系列的功能来解析程序崩溃后的输出结果并与设备进行交互。更多详细内容,请参阅[文档](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/idf-monitor.html).
输入 `Ctrl-]` 可退出监视器。
想要一次性执行构建烧写和监视,可以运行如下命令:
想要一次性执行构建烧写和监视,可以运行如下命令:
`idf.py flash monitor`
@@ -89,24 +80,27 @@ ESP-IDF 中的子模块采用相对路径([详见 .gitmodules 文件](.gitmodu
* `idf.py app` - 仅构建应用程序。
* `idf.py app-flash` - 仅烧写应用程序。
`idf.py app-flash` 会自动判断是否有源文件发生了改变后重新构建应用程序。
`idf.py app-flash` 会自动判断是否有源文件发生了改变后重新构建应用程序。
(在正常的开发中,即使引导程序和分区表没有发生变化,每次都重新烧写它们并不会带来什么危害。)
## 擦除 Flash
`idf.py flash` 并不会擦除 Flash 上所有的内容,但是有时候我们需要设备恢复到完全擦除的状态,尤其是分区表发生了变化或者 OTA 应用升级。要擦除整块 Flash 请运行 `idf.py erase_flash`
`idf.py flash` 并不会擦除 flash 上所有的内容,但是有时候我们需要设备恢复到完全擦除的状态,尤其是分区表发生了变化或者 OTA 应用升级。要擦除整块 flash 请运行 `idf.py erase_flash`
这条命令还可以和其余命令整合在一起,`idf.py -p PORT erase_flash flash` 会擦除一切然后重新烧写新的应用程序引导程序和分区表。
这条命令还可以和其余命令整合在一起,`idf.py -p PORT erase_flash flash` 会擦除一切然后重新烧写新的应用程序引导程序和分区表。
# 其它参考资源
* 最新版的文档https://docs.espressif.com/projects/esp-idf/ ,该文档是由本仓库 [docs 目录](docs) 构建得到。
* 最新版的文档https://docs.espressif.com/projects/esp-idf/,该文档是由本仓库 [docs 目录](docs) 构建得到。
* 可以前往 [esp32.com 论坛](https://esp32.com/) 提问,挖掘社区资源。
* 如果你在使用中发现了错误或者需要新的功能,请先[查看 GitHub Issues](https://github.com/espressif/esp-idf/issues),确保该问题不会被重复提交。
* 如果你在使用中发现了错误或者需要新的功能,请先[查看 GitHub Issues](https://github.com/espressif/esp-idf/issues),确保该问题没有重复提交。
* 如果你有兴趣为 ESP-IDF 作贡献,请先阅读[贡献指南](https://docs.espressif.com/projects/esp-idf/en/latest/contribute/index.html)。
__________
<a name="fn1">1</a>: ESP-IDF 不支持 ESP8266 和 ESP8285。如有需要请参考 [RTOS SDK](https://github.com/espressif/ESP8266_RTOS_SDK)。

View File

@@ -30,7 +30,7 @@ endif()
idf_component_register(SRCS "${srcs}"
INCLUDE_DIRS "${include_dirs}"
PRIV_REQUIRES soc esp_common
PRIV_REQUIRES soc esp_ipc
LDFRAGMENTS linker.lf)

View File

@@ -158,7 +158,7 @@
#include <sys/param.h>
#include "soc/soc.h"
#include "soc/dport_reg.h"
#if CONFIG_IDF_TARGET_ESP32S2BETA
#if CONFIG_IDF_TARGET_ESP32S2
#include "soc/sensitive_reg.h"
#endif
#include "eri.h"
@@ -210,7 +210,7 @@ const static char *TAG = "esp_apptrace";
#define TRACEMEM_MUX_BLK0_ONLY 1
#define TRACEMEM_MUX_BLK1_ONLY 2
#define TRACEMEM_MUX_PROBLK1_APPBLK0 3
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
#define TRACEMEM_MUX_BLK0_NUM 19
#define TRACEMEM_MUX_BLK1_NUM 20
#define TRACEMEM_BLK_NUM2ADDR(_n_) (0x3FFB8000UL + 0x4000UL*((_n_)-4))
@@ -244,7 +244,7 @@ static volatile uint8_t *s_trax_blocks[] = {
(volatile uint8_t *) 0x3FFFC000,
(volatile uint8_t *) 0x3FFF8000
};
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
static volatile uint8_t *s_trax_blocks[] = {
(volatile uint8_t *)TRACEMEM_BLK_NUM2ADDR(TRACEMEM_MUX_BLK0_NUM),
(volatile uint8_t *)TRACEMEM_BLK_NUM2ADDR(TRACEMEM_MUX_BLK1_NUM)
@@ -435,7 +435,7 @@ static inline void esp_apptrace_trax_select_memory_block(int block_num)
// select memory block to be exposed to the TRAX module (accessed by host)
#if CONFIG_IDF_TARGET_ESP32
DPORT_WRITE_PERI_REG(DPORT_TRACEMEM_MUX_MODE_REG, block_num ? TRACEMEM_MUX_BLK0_ONLY : TRACEMEM_MUX_BLK1_ONLY);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
DPORT_WRITE_PERI_REG(DPORT_PMS_OCCUPY_3_REG, block_num ? BIT(TRACEMEM_MUX_BLK0_NUM-4) : BIT(TRACEMEM_MUX_BLK1_NUM-4));
#endif
}

View File

@@ -18,8 +18,8 @@
#include "sdkconfig.h"
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/clk.h"
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#include "esp32s2beta/clk.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/clk.h"
#endif
///////////////////////////////////////////////////////////////////////////////

View File

@@ -25,10 +25,11 @@
#include "esp_freertos_hooks.h"
#include "esp_private/dbg_stubs.h"
#include "esp_ipc.h"
#include "hal/wdt_hal.h"
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/libc_stubs.h"
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#include "esp32s2beta/rom/libc_stubs.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/libc_stubs.h"
#endif
#if CONFIG_APPTRACE_GCOV_ENABLE
@@ -60,11 +61,18 @@ void gcov_dump_task(void *pvParameter)
}
ESP_EARLY_LOGV(TAG, "Config apptrace down buf");
esp_apptrace_down_buffer_config(down_buf, ESP_GCOV_DOWN_BUF_SIZE);
/* we are directing the std outputs to the fake ones in order to reduce stack usage */
FILE *old_stderr = stderr;
FILE *old_stdout = stdout;
stderr = (FILE *) &__sf_fake_stderr;
stdout = (FILE *) &__sf_fake_stdout;
ESP_EARLY_LOGV(TAG, "Dump data...");
__gcov_dump();
// reset dump status to allow incremental data accumulation
__gcov_reset();
free(down_buf);
stderr = old_stderr;
stdout = old_stdout;
ESP_EARLY_LOGV(TAG, "Finish file transfer session");
dump_result = esp_apptrace_fstop(ESP_APPTRACE_DEST_TRAX);
if (dump_result != ESP_OK) {
@@ -143,7 +151,9 @@ void esp_gcov_dump(void)
void *gcov_rtio_fopen(const char *path, const char *mode)
{
ESP_EARLY_LOGV(TAG, "%s '%s' '%s'", __FUNCTION__, path, mode);
return esp_apptrace_fopen(ESP_APPTRACE_DEST_TRAX, path, mode);
void *f = esp_apptrace_fopen(ESP_APPTRACE_DEST_TRAX, path, mode);
ESP_EARLY_LOGV(TAG, "%s ret %p", __FUNCTION__, f);
return f;
}
int gcov_rtio_fclose(void *stream)

View File

@@ -9,7 +9,7 @@ entries:
SEGGER_SYSVIEW_Config_FreeRTOS (noflash)
SEGGER_SYSVIEW_FreeRTOS (noflash)
[mapping:driver]
[mapping:app_trace_driver]
archive: libdriver.a
entries:
if SYSVIEW_TS_SOURCE_TIMER_00 = y || SYSVIEW_TS_SOURCE_TIMER_01 = y

View File

@@ -5,12 +5,24 @@ function(idf_create_coverage_report report_dir)
set(gcov_tool ${CONFIG_SDK_TOOLPREFIX}gcov)
idf_build_get_property(project_name PROJECT_NAME)
add_custom_target(lcov-report
add_custom_target(pre-cov-report
COMMENT "Generating coverage report in: ${report_dir}"
COMMAND ${CMAKE_COMMAND} -E echo "Using gcov: ${gcov_tool}"
COMMAND ${CMAKE_COMMAND} -E make_directory ${report_dir}/html
)
add_custom_target(lcov-report
COMMENT "WARNING: lcov-report is deprecated. Please use gcovr-report instead."
COMMAND lcov --gcov-tool ${gcov_tool} -c -d ${CMAKE_CURRENT_BINARY_DIR} -o ${report_dir}/${project_name}.info
COMMAND genhtml -o ${report_dir}/html ${report_dir}/${project_name}.info)
COMMAND genhtml -o ${report_dir}/html ${report_dir}/${project_name}.info
DEPENDS pre-cov-report
)
add_custom_target(gcovr-report
COMMAND gcovr -r ${project_dir} --gcov-executable ${gcov_tool} -s --html-details ${report_dir}/html/index.html
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS pre-cov-report
)
endfunction()
# idf_clean_coverage_report
@@ -20,4 +32,4 @@ function(idf_clean_coverage_report report_dir)
add_custom_target(cov-data-clean
COMMENT "Clean coverage report in: ${report_dir}"
COMMAND ${CMAKE_COMMAND} -E remove_directory ${report_dir})
endfunction()
endfunction()

View File

@@ -66,9 +66,9 @@ Revision: $Rev: 3734 $
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/ets_sys.h"
#include "esp32/clk.h"
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#include "esp32s2beta/rom/ets_sys.h"
#include "esp32s2beta/clk.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/ets_sys.h"
#include "esp32s2/clk.h"
#endif
#include "esp_app_trace.h"
#include "esp_app_trace_util.h"
@@ -78,9 +78,9 @@ Revision: $Rev: 3734 $
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/ets_sys.h"
#include "esp32/clk.h"
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#include "esp32s2beta/rom/ets_sys.h"
#include "esp32s2beta/clk.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/ets_sys.h"
#include "esp32s2/clk.h"
#endif
@@ -140,7 +140,7 @@ extern const SEGGER_SYSVIEW_OS_API SYSVIEW_X_OS_TraceAPI;
// CCOUNT is incremented at CPU frequency
#if CONFIG_IDF_TARGET_ESP32
#define SYSVIEW_TIMESTAMP_FREQ (CONFIG_ESP32_DEFAULT_CPU_FREQ_MHZ * 1000000)
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
#define SYSVIEW_TIMESTAMP_FREQ (CONFIG_ESP32S2_DEFAULT_CPU_FREQ_MHZ * 1000000)
#endif
#endif // TS_USE_CCOUNT

View File

@@ -20,8 +20,8 @@
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/ets_sys.h"
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#include "esp32s2beta/rom/ets_sys.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/ets_sys.h"
#endif
#include "esp_app_trace.h"

View File

@@ -1,3 +1,3 @@
idf_component_register(SRC_DIRS "."
INCLUDE_DIRS "."
REQUIRES unity)
PRIV_INCLUDE_DIRS "."
PRIV_REQUIRES unity)

View File

@@ -7,11 +7,18 @@ idf_component_register(SRCS "esp_ota_ops.c"
# linker will ignore this structure as it has no other files depending on it.
target_link_libraries(${COMPONENT_LIB} INTERFACE "-u esp_app_desc")
if(CONFIG_APP_PROJECT_VER_FROM_CONFIG)
# Ignore current PROJECT_VER (which was set in __project_get_revision()).
# Gets the version from the CONFIG_APP_PROJECT_VER.
idf_build_set_property(PROJECT_VER "${CONFIG_APP_PROJECT_VER}")
endif()
# cut PROJECT_VER and PROJECT_NAME to required 32 characters.
idf_build_get_property(project_ver PROJECT_VER)
idf_build_get_property(project_name PROJECT_NAME)
string(SUBSTRING "${project_ver}" 0 31 PROJECT_VER_CUT)
string(SUBSTRING "${project_name}" 0 31 PROJECT_NAME_CUT)
message(STATUS "App \"${PROJECT_NAME_CUT}\" version: ${PROJECT_VER_CUT}")
set_source_files_properties(
SOURCE "esp_app_desc.c"
@@ -55,6 +62,11 @@ if(NOT BOOTLOADER_BUILD)
--partition-table-offset ${PARTITION_TABLE_OFFSET}
erase_otadata)
esptool_py_flash_project_args(otadata ${otadata_offset} "${blank_otadata_file}" FLASH_IN_PROJECT)
idf_component_get_property(main_args esptool_py FLASH_ARGS)
idf_component_get_property(sub_args esptool_py FLASH_SUB_ARGS)
esptool_py_flash_target(otadata-flash "${main_args}" "${sub_args}")
esptool_py_flash_target_image(otadata-flash otadata "${otadata_offset}" "${blank_otadata_file}")
esptool_py_flash_target_image(flash otadata "${otadata_offset}" "${blank_otadata_file}")
endif()
endif()

View File

@@ -22,6 +22,20 @@ menu "Application manager"
The PROJECT_NAME variable from the build system will not affect the firmware image.
This value will not be contained in the esp_app_desc structure.
config APP_PROJECT_VER_FROM_CONFIG
bool "Get the project version from Kconfig"
default n
help
If this is enabled, then config item APP_PROJECT_VER will be used for the variable PROJECT_VER.
Other ways to set PROJECT_VER will be ignored.
config APP_PROJECT_VER
string "Project version"
default "1"
depends on APP_PROJECT_VER_FROM_CONFIG
help
Project version
config APP_RETRIEVE_LEN_ELF_SHA
int "The length of APP ELF SHA is stored in RAM(chars)"
default 16

View File

@@ -8,49 +8,49 @@
COMPONENT_ADD_LDFLAGS += -u esp_app_desc
ifndef IS_BOOTLOADER_BUILD
GET_PROJECT_VER ?=
ifeq ("${PROJECT_VER}", "")
ifeq ("$(wildcard ${PROJECT_PATH}/version.txt)","")
# If ``CONFIG_APP_PROJECT_VER_FROM_CONFIG`` option is set, the value of ``CONFIG_APP_PROJECT_VER`` will be used
# Else, if ``PROJECT_VER`` variable set in project Makefile file, its value will be used.
# Else, if the ``$PROJECT_PATH/version.txt`` exists, its contents will be used as ``PROJECT_VER``.
# Else, if the project is located inside a Git repository, the output of git describe will be used.
# Otherwise, ``PROJECT_VER`` will be "1".
ifdef CONFIG_APP_PROJECT_VER_FROM_CONFIG
PROJECT_VER:= $(CONFIG_APP_PROJECT_VER)
else
ifneq ("${PROJECT_VER}", "")
PROJECT_VER:= $(PROJECT_VER)
else
ifneq ("$(wildcard ${PROJECT_PATH}/version.txt)","")
PROJECT_VER := $(shell cat ${PROJECT_PATH}/version.txt)
else
GIT_PROJECT_VER := $(shell cd ${PROJECT_PATH} && git describe --always --tags --dirty 2> /dev/null)
ifeq ("${GIT_PROJECT_VER}", "")
PROJECT_VER := "1"
$(info Project is not inside a git repository, or git repository has no commits)
$(info will not use 'git describe' to determine PROJECT_VER.)
else
PROJECT_VER:= $(GIT_PROJECT_VER)
endif # a git repository
endif # version.txt
endif # PROJECT_VER
endif # CONFIG_APP_PROJECT_VER_FROM_CONFIG
GET_PROJECT_VER := $(shell cd ${PROJECT_PATH} && git describe --always --tags --dirty 2> /dev/null)
ifeq ("${GET_PROJECT_VER}", "")
GET_PROJECT_VER := "1"
$(info Project is not inside a git repository, will not use 'git describe' to determine PROJECT_VER.)
endif
# cut PROJECT_VER and PROJECT_NAME to required 32 characters.
PROJECT_VER_CUT := $(shell echo "$(PROJECT_VER)" | cut -c 1-31)
PROJECT_NAME_CUT := $(shell echo "$(PROJECT_NAME)" | cut -c 1-31)
else
# read from version.txt
GET_PROJECT_VER := $(shell cat ${PROJECT_PATH}/version.txt)
endif
endif
# If ``PROJECT_VER`` variable set in project Makefile file, its value will be used.
# Else, if the ``$PROJECT_PATH/version.txt`` exists, its contents will be used as ``PROJECT_VER``.
# Else, if the project is located inside a Git repository, the output of git describe will be used.
# Otherwise, ``PROJECT_VER`` will be "1".
$(info App "$(PROJECT_NAME_CUT)" version: $(PROJECT_VER_CUT))
ifeq ("${PROJECT_VER}", "")
PROJECT_VER:= $(GET_PROJECT_VER)
else
PROJECT_VER:= $(PROJECT_VER)
endif
NEW_DEFINES:= "$(PROJECT_VER_CUT) $(PROJECT_NAME_CUT) $(IDF_VER)"
ifeq ("$(wildcard ${TMP_DEFINES})","")
OLD_DEFINES:= ""
else
OLD_DEFINES:= "$(shell cat $(TMP_DEFINES))"
endif
# cut PROJECT_VER and PROJECT_NAME to required 32 characters.
PROJECT_VER_CUT := $(shell echo "$(PROJECT_VER)" | cut -c 1-31)
PROJECT_NAME_CUT := $(shell echo "$(PROJECT_NAME)" | cut -c 1-31)
# If NEW_DEFINES (PROJECT_VER, PROJECT_NAME) were changed then rebuild only esp_app_desc.
ifneq (${NEW_DEFINES}, ${OLD_DEFINES})
$(shell echo $(NEW_DEFINES) > $(TMP_DEFINES); rm -f esp_app_desc.o;)
endif
$(info App "$(PROJECT_NAME_CUT)" version: $(PROJECT_VER_CUT))
NEW_DEFINES:= "$(PROJECT_VER_CUT) $(PROJECT_NAME_CUT) $(IDF_VER)"
ifeq ("$(wildcard ${TMP_DEFINES})","")
OLD_DEFINES:= ""
else
OLD_DEFINES:= "$(shell cat $(TMP_DEFINES))"
endif
# If NEW_DEFINES (PROJECT_VER, PROJECT_NAME) were changed then rebuild only esp_app_desc.
ifneq (${NEW_DEFINES}, ${OLD_DEFINES})
$(shell echo $(NEW_DEFINES) > $(TMP_DEFINES); rm -f esp_app_desc.o;)
endif
esp_app_desc.o: CPPFLAGS += -D PROJECT_VER=\""$(PROJECT_VER_CUT)"\" -D PROJECT_NAME=\""$(PROJECT_NAME_CUT)"\"
endif
esp_app_desc.o: CPPFLAGS += -D PROJECT_VER=\""$(PROJECT_VER_CUT)"\" -D PROJECT_NAME=\""$(PROJECT_NAME_CUT)"\"
endif # IS_BOOTLOADER_BUILD

View File

@@ -41,6 +41,12 @@
#include "esp_system.h"
#include "esp_efuse.h"
#ifdef CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/crc.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/crc.h"
#include "esp32s2/rom/secure_boot.h"
#endif
#define SUB_TYPE_ID(i) (i & 0x0F)
@@ -250,6 +256,43 @@ esp_err_t esp_ota_write(esp_ota_handle_t handle, const void *data, size_t size)
return ESP_ERR_INVALID_ARG;
}
esp_err_t esp_ota_write_with_offset(esp_ota_handle_t handle, const void *data, size_t size, uint32_t offset)
{
const uint8_t *data_bytes = (const uint8_t *)data;
esp_err_t ret;
ota_ops_entry_t *it;
if (data == NULL) {
ESP_LOGE(TAG, "write data is invalid");
return ESP_ERR_INVALID_ARG;
}
// find ota handle in linked list
for (it = LIST_FIRST(&s_ota_ops_entries_head); it != NULL; it = LIST_NEXT(it, entries)) {
if (it->handle == handle) {
// must erase the partition before writing to it
assert(it->erased_size > 0 && "must erase the partition before writing to it");
/* esp_ota_write_with_offset is used to write data in non contiguous manner.
* Hence, unaligned data(less than 16 bytes) cannot be cached if flash encryption is enabled.
*/
if (esp_flash_encryption_enabled() && (size % 16)) {
ESP_LOGE(TAG, "Size should be 16byte aligned for flash encryption case");
return ESP_ERR_INVALID_ARG;
}
ret = esp_partition_write(it->part, offset, data_bytes, size);
if (ret == ESP_OK) {
it->wrote_size += size;
}
return ret;
}
}
// OTA handle is not found in linked list
ESP_LOGE(TAG,"OTA handle not found");
return ESP_ERR_INVALID_ARG;
}
esp_err_t esp_ota_end(esp_ota_handle_t handle)
{
ota_ops_entry_t *it;
@@ -821,3 +864,24 @@ esp_err_t esp_ota_erase_last_boot_app_partition(void)
return ESP_OK;
}
#if CONFIG_IDF_TARGET_ESP32S2 && CONFIG_SECURE_BOOT_V2_ENABLED
esp_err_t esp_ota_revoke_secure_boot_public_key(esp_ota_secure_boot_public_key_index_t index) {
if (!esp_secure_boot_enabled()) {
ESP_LOGE(TAG, "Secure boot v2 has not been enabled.");
return ESP_FAIL;
}
if (index != SECURE_BOOT_PUBLIC_KEY_INDEX_0 &&
index != SECURE_BOOT_PUBLIC_KEY_INDEX_1 &&
index != SECURE_BOOT_PUBLIC_KEY_INDEX_2) {
ESP_LOGE(TAG, "Invalid Index found for public key revocation %d.", index);
return ESP_ERR_INVALID_ARG;
}
ets_secure_boot_revoke_public_key_digest(index);
ESP_LOGI(TAG, "Revoked signature block %d.", index);
return ESP_OK;
}
#endif

View File

@@ -49,7 +49,7 @@ typedef uint32_t esp_ota_handle_t;
/**
* @brief Return esp_app_desc structure. This structure includes app version.
*
*
* Return description for running app.
* @return Pointer to esp_app_desc structure.
*/
@@ -117,6 +117,29 @@ esp_err_t esp_ota_begin(const esp_partition_t* partition, size_t image_size, esp
*/
esp_err_t esp_ota_write(esp_ota_handle_t handle, const void* data, size_t size);
/**
* @brief Write OTA update data to partition
*
* This function can write data in non contiguous manner.
* If flash encryption is enabled, data should be 16 byte aligned.
*
* @param handle Handle obtained from esp_ota_begin
* @param data Data buffer to write
* @param size Size of data buffer in bytes
* @param offset Offset in flash partition
*
* @note While performing OTA, if the packets arrive out of order, esp_ota_write_with_offset() can be used to write data in non contiguous manner.
* Use of esp_ota_write_with_offset() in combination with esp_ota_write() is not recommended.
*
* @return
* - ESP_OK: Data was written to flash successfully.
* - ESP_ERR_INVALID_ARG: handle is invalid.
* - ESP_ERR_OTA_VALIDATE_FAILED: First byte of image contains invalid app image magic byte.
* - ESP_ERR_FLASH_OP_TIMEOUT or ESP_ERR_FLASH_OP_FAIL: Flash write failed.
* - ESP_ERR_OTA_SELECT_INFO_INVALID: OTA data partition has invalid contents
*/
esp_err_t esp_ota_write_with_offset(esp_ota_handle_t handle, const void *data, size_t size, uint32_t offset);
/**
* @brief Finish OTA update and validate newly written app image.
*
@@ -201,7 +224,7 @@ const esp_partition_t* esp_ota_get_next_update_partition(const esp_partition_t *
/**
* @brief Returns esp_app_desc structure for app partition. This structure includes app version.
*
*
* Returns a description for the requested app partition.
* @param[in] partition Pointer to app partition. (only app partition)
* @param[out] app_desc Structure of info about app.
@@ -276,6 +299,34 @@ esp_err_t esp_ota_erase_last_boot_app_partition(void);
*/
bool esp_ota_check_rollback_is_possible(void);
#if CONFIG_IDF_TARGET_ESP32S2 && (CONFIG_SECURE_BOOT_V2_ENABLED || __DOXYGEN__)
/**
* Secure Boot V2 public key indexes.
*/
typedef enum {
SECURE_BOOT_PUBLIC_KEY_INDEX_0, /*!< Points to the 0th index of the Secure Boot v2 public key */
SECURE_BOOT_PUBLIC_KEY_INDEX_1, /*!< Points to the 1st index of the Secure Boot v2 public key */
SECURE_BOOT_PUBLIC_KEY_INDEX_2 /*!< Points to the 2nd index of the Secure Boot v2 public key */
} esp_ota_secure_boot_public_key_index_t;
/**
* @brief Revokes the old signature digest. To be called in the application after the rollback logic.
*
* Relevant for Secure boot v2 on ESP32-S2 where upto 3 key digests can be stored (Key N-1, Key N, Key N+1).
* When key N-1 used to sign an app is invalidated, an OTA update is to be sent with an app signed with key N-1 & Key N.
* After successfully booting the OTA app should call this function to revoke Key N-1.
*
* @param index - The index of the signature block to be revoked
*
* @return
* - ESP_OK: If revocation is successful.
* - ESP_ERR_INVALID_ARG: If the index of the public key to be revoked is incorrect.
* - ESP_FAIL: If secure boot v2 has not been enabled.
*/
esp_err_t esp_ota_revoke_secure_boot_public_key(esp_ota_secure_boot_public_key_index_t index);
#endif /* CONFIG_IDF_TARGET_ESP32S2 */
#ifdef __cplusplus
}
#endif

View File

@@ -1,4 +1,4 @@
idf_component_register(SRC_DIRS "."
INCLUDE_DIRS "."
REQUIRES unity test_utils app_update bootloader_support nvs_flash
PRIV_INCLUDE_DIRS "."
PRIV_REQUIRES unity test_utils app_update bootloader_support nvs_flash
)

View File

@@ -84,7 +84,7 @@ TEST_CASE("esp_ota_get_next_update_partition logic", "[ota]")
TEST_ASSERT_EQUAL_PTR(ota_0, p);
}
TEST_CASE("esp_ota_get_partition_description ", "[ota]")
TEST_CASE("esp_ota_get_partition_description", "[ota]")
{
const esp_partition_t *running = esp_ota_get_running_partition();
TEST_ASSERT_NOT_NULL(running);

View File

@@ -10,9 +10,9 @@
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/spi_flash.h"
#include "esp32/rom/rtc.h"
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#include "esp32s2beta/rom/spi_flash.h"
#include "esp32s2beta/rom/rtc.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/spi_flash.h"
#include "esp32s2/rom/rtc.h"
#endif
#include "freertos/FreeRTOS.h"
@@ -23,7 +23,7 @@
#include "unity.h"
#include "bootloader_common.h"
#include "../include_bootloader/bootloader_flash.h"
#include "../include_bootloader/bootloader_flash_priv.h"
#include "esp_log.h"
#include "esp_ota_ops.h"
@@ -48,9 +48,34 @@ static void copy_app_partition(esp_ota_handle_t update_handle, const esp_partiti
{
const void *partition_bin = NULL;
spi_flash_mmap_handle_t data_map;
ESP_LOGI(TAG, "start the copy process");
TEST_ESP_OK(esp_partition_mmap(curr_app, 0, curr_app->size, SPI_FLASH_MMAP_DATA, &partition_bin, &data_map));
TEST_ESP_OK(esp_ota_write(update_handle, (const void *)partition_bin, curr_app->size));
spi_flash_munmap(data_map);
ESP_LOGI(TAG, "finish the copy process");
}
/* @brief Copies a current app to next partition using handle.
*
* @param[in] update_handle - Handle of API ota.
* @param[in] cur_app - Current app.
*/
static void copy_app_partition_with_offset(esp_ota_handle_t update_handle, const esp_partition_t *curr_app)
{
const void *partition_bin = NULL;
spi_flash_mmap_handle_t data_map;
ESP_LOGI(TAG, "start the copy process");
uint32_t offset = 0, bytes_to_write = curr_app->size;
uint32_t write_bytes;
while (bytes_to_write > 0) {
write_bytes = (bytes_to_write > (4 * 1024)) ? (4 * 1024) : bytes_to_write;
TEST_ESP_OK(esp_partition_mmap(curr_app, offset, write_bytes, SPI_FLASH_MMAP_DATA, &partition_bin, &data_map));
TEST_ESP_OK(esp_ota_write_with_offset(update_handle, (const void *)partition_bin, write_bytes, offset));
spi_flash_munmap(data_map);
bytes_to_write -= write_bytes;
offset += write_bytes;
}
ESP_LOGI(TAG, "finish the copy process");
}
#if defined(CONFIG_BOOTLOADER_FACTORY_RESET) || defined(CONFIG_BOOTLOADER_APP_TEST)
@@ -103,6 +128,26 @@ static void copy_current_app_to_next_part(const esp_partition_t *cur_app_partiti
TEST_ESP_OK(esp_ota_set_boot_partition(next_app_partition));
}
/* @brief Copies a current app to next partition (OTA0-15) and then configure OTA data for a new boot partition.
*
* @param[in] cur_app_partition - Current app.
* @param[in] next_app_partition - Next app for boot.
*/
static void copy_current_app_to_next_part_with_offset(const esp_partition_t *cur_app_partition, const esp_partition_t *next_app_partition)
{
esp_ota_get_next_update_partition(NULL);
TEST_ASSERT_NOT_EQUAL(NULL, next_app_partition);
ESP_LOGI(TAG, "Writing to partition subtype %d at offset 0x%x", next_app_partition->subtype, next_app_partition->address);
esp_ota_handle_t update_handle = 0;
TEST_ESP_OK(esp_ota_begin(next_app_partition, OTA_SIZE_UNKNOWN, &update_handle));
copy_app_partition_with_offset(update_handle, cur_app_partition);
TEST_ESP_OK(esp_ota_end(update_handle));
TEST_ESP_OK(esp_ota_set_boot_partition(next_app_partition));
}
/* @brief Erase otadata partition
*/
static void erase_ota_data(void)
@@ -116,6 +161,7 @@ static void erase_ota_data(void)
*/
static void reboot_as_deep_sleep(void)
{
ESP_LOGI(TAG, "reboot as deep sleep");
esp_sleep_enable_timer_wakeup(2000);
esp_deep_sleep_start();
}
@@ -125,10 +171,21 @@ static void reboot_as_deep_sleep(void)
static void copy_current_app_to_next_part_and_reboot(void)
{
const esp_partition_t *cur_app = esp_ota_get_running_partition();
ESP_LOGI(TAG, "copy current app to next part");
copy_current_app_to_next_part(cur_app, get_next_update_partition());
reboot_as_deep_sleep();
}
/* @brief Copies a current app to next partition (OTA0-15) using esp_ota_write_with_offest(), after that ESP is rebooting and run this (the next) OTAx.
*/
static void copy_current_app_to_next_part_with_offset_and_reboot(void)
{
const esp_partition_t *cur_app = esp_ota_get_running_partition();
ESP_LOGI(TAG, "copy current app to next part");
copy_current_app_to_next_part_with_offset(cur_app, get_next_update_partition());
reboot_as_deep_sleep();
}
/* @brief Get running app.
*
* @return The next partition of OTA(OTA0-15).
@@ -256,6 +313,7 @@ static void start_test(void)
ESP_LOGI(TAG, "boot count 1 - reset");
boot_count = 1;
erase_ota_data();
ESP_LOGI(TAG, "ota_data erased");
reboot_as_deep_sleep();
}
@@ -735,3 +793,32 @@ static void test_erase_last_app_rollback(void)
// 4 Stage: run OTA1 -> check it -> erase OTA0 and rollback -> reboot
// 5 Stage: run factory -> check it -> erase OTA_DATA for next tests -> PASS
TEST_CASE_MULTIPLE_STAGES("Test erase_last_boot_app_partition. factory, OTA1, OTA0, factory", "[app_update][timeout=90][reset=DEEPSLEEP_RESET, DEEPSLEEP_RESET, DEEPSLEEP_RESET, SW_CPU_RESET]", start_test, test_erase_last_app_flow, test_erase_last_app_flow, test_erase_last_app_flow, test_erase_last_app_rollback);
static void test_flow6(void)
{
boot_count++;
ESP_LOGI(TAG, "boot count %d", boot_count);
const esp_partition_t *cur_app = get_running_firmware();
switch (boot_count) {
case 2:
ESP_LOGI(TAG, "Factory");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_FACTORY, cur_app->subtype);
copy_current_app_to_next_part_with_offset_and_reboot();
break;
case 3:
ESP_LOGI(TAG, "OTA0");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_0, cur_app->subtype);
mark_app_valid();
erase_ota_data();
break;
default:
erase_ota_data();
TEST_FAIL_MESSAGE("Unexpected stage");
break;
}
}
// 1 Stage: After POWER_RESET erase OTA_DATA for this test -> reboot through deep sleep.
// 2 Stage: run factory -> check it -> copy factory to OTA0 -> reboot --//--
// 3 Stage: run OTA0 -> check it -> erase OTA_DATA for next tests -> PASS
TEST_CASE_MULTIPLE_STAGES("Switching between factory, OTA0 using esp_ota_write_with_offset", "[app_update][timeout=90][reset=DEEPSLEEP_RESET, DEEPSLEEP_RESET]", start_test, test_flow6, test_flow6);

View File

@@ -5,17 +5,17 @@ if(BOOTLOADER_BUILD OR NOT CONFIG_APP_BUILD_BOOTLOADER)
return()
endif()
add_dependencies(bootloader partition_table_bin)
# When secure boot is enabled, do not flash bootloader along with invocation of `idf.py flash`
if(NOT CONFIG_SECURE_BOOT)
set(flash_bootloader FLASH_IN_PROJECT)
endif()
# Set values used in flash_bootloader_args.in and generate flash file
# for bootloader
esptool_py_flash_project_args(bootloader 0x1000
${BOOTLOADER_BUILD_DIR}/bootloader.bin
${flash_bootloader}
FLASH_FILE_TEMPLATE flash_bootloader_args.in)
esptool_py_custom_target(bootloader-flash bootloader "bootloader")
add_dependencies(bootloader partition_table)
esptool_py_flash_target_image(bootloader-flash bootloader "0x1000" "${BOOTLOADER_BUILD_DIR}/bootloader.bin")
# Also attach an image to the project flash target
if(NOT CONFIG_SECURE_BOOT)
esptool_py_flash_target_image(flash bootloader "0x1000" "${BOOTLOADER_BUILD_DIR}/bootloader.bin")
endif()

View File

@@ -114,7 +114,8 @@ menu "Bootloader config"
config BOOTLOADER_NUM_PIN_FACTORY_RESET
int "Number of the GPIO input for factory reset"
depends on BOOTLOADER_FACTORY_RESET
range 0 39
range 0 39 if IDF_TARGET_ESP32
range 0 44 if IDF_TARGET_ESP32S2
default 4
help
The selected GPIO will be configured as an input with internal pull-up enabled.
@@ -245,11 +246,11 @@ menu "Bootloader config"
depends on BOOTLOADER_APP_ANTI_ROLLBACK
range 1 32 if IDF_TARGET_ESP32
default 32 if IDF_TARGET_ESP32
range 1 16 if IDF_TARGET_ESP32S2BETA
default 16 if IDF_TARGET_ESP32S2BETA
range 1 16 if IDF_TARGET_ESP32S2
default 16 if IDF_TARGET_ESP32S2
help
The size of the efuse secure version field.
Its length is limited to 32 bits for ESP32 and 16 bits for ESP32S2BETA.
Its length is limited to 32 bits for ESP32 and 16 bits for ESP32-S2.
This determines how many times the security version can be increased.
config BOOTLOADER_EFUSE_SECURE_VERSION_EMULATE
@@ -308,6 +309,15 @@ menu "Bootloader config"
in this area of memory, you can increase it. It must be a multiple of 4 bytes.
This area (rtc_retain_mem_t) is reserved and has access from the bootloader and an application.
config BOOTLOADER_FLASH_XMC_SUPPORT
bool "Enable the support for flash chips of XMC (READ HELP FIRST)"
default y
help
Perform the startup flow recommended by XMC. Please consult XMC for the details of this flow.
XMC chips will be forbidden to be used, when this option is disabled.
DON'T DISABLE THIS UNLESS YOU KNOW WHAT YOU ARE DOING.
endmenu # Bootloader
@@ -334,6 +344,16 @@ menu "Security features"
select MBEDTLS_ECDSA_C
depends on SECURE_SIGNED_ON_BOOT || SECURE_SIGNED_ON_UPDATE
config SECURE_BOOT_SUPPORTS_RSA
bool
default y
depends on ESP32_REV_MIN_3 || IDF_TARGET_ESP32S2
config SECURE_TARGET_HAS_SECURE_ROM_DL_MODE
bool
default y
depends on IDF_TARGET_ESP32S2
config SECURE_SIGNED_APPS_NO_SECURE_BOOT
bool "Require signed app images"
@@ -369,7 +389,7 @@ menu "Security features"
config SECURE_SIGNED_APPS_RSA_SCHEME
bool "RSA"
depends on ESP32_REV_MIN_3 && SECURE_BOOT_V2_ENABLED
depends on SECURE_BOOT_SUPPORTS_RSA && SECURE_BOOT_V2_ENABLED
help
Appends the RSA-3072 based Signature block to the application.
Refer to <Secure Boot Version 2 documentation link> before enabling.
@@ -433,7 +453,9 @@ menu "Security features"
config SECURE_BOOT_V2_ENABLED
bool "Enable Secure Boot version 2"
depends on ESP32_REV_MIN_3
depends on SECURE_BOOT_SUPPORTS_RSA
select SECURE_ENABLE_SECURE_ROM_DL_MODE if !IDF_TARGET_ESP32 && !SECURE_INSECURE_ALLOW_DL_MODE && !SECURE_DISABLE_ROM_DL_MODE # NOERROR
select SECURE_DISABLE_ROM_DL_MODE if ESP32_REV_MIN_3 && !SECURE_INSECURE_ALLOW_DL_MODE
help
Build a bootloader which enables Secure Boot version 2 on first boot.
Refer to Secure Boot V2 section of the ESP-IDF Programmer's Guide for this version before enabling.
@@ -566,7 +588,7 @@ menu "Security features"
choice SECURE_FLASH_ENCRYPTION_KEYSIZE
bool "Size of generated AES-XTS key"
default SECURE_FLASH_ENCRYPTION_AES128
depends on IDF_TARGET_ESP32S2BETA && SECURE_FLASH_ENC_ENABLED
depends on IDF_TARGET_ESP32S2 && SECURE_FLASH_ENC_ENABLED
help
Size of generated AES-XTS key.
@@ -602,6 +624,7 @@ menu "Security features"
config SECURE_FLASH_ENCRYPTION_MODE_RELEASE
bool "Release"
select SECURE_ENABLE_SECURE_ROM_DL_MODE if SECURE_TARGET_HAS_SECURE_ROM_DL_MODE && !SECURE_DISABLE_ROM_DL_MODE # NOERROR
select PARTITION_TABLE_MD5 if !ESP32_COMPATIBLE_PRE_V3_1_BOOTLOADERS
endchoice
@@ -617,7 +640,7 @@ menu "Security features"
config SECURE_BOOT_ALLOW_ROM_BASIC
bool "Leave ROM BASIC Interpreter available on reset"
depends on SECURE_BOOT_INSECURE || SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT
depends on (SECURE_BOOT_INSECURE || SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT) && IDF_TARGET_ESP32
default N
help
By default, the BASIC ROM Console starts on reset if no valid bootloader is
@@ -664,9 +687,30 @@ menu "Security features"
efuse when Secure Boot is enabled. This prevents any more efuses from being read protected.
If this option is set, it will remain possible to write the EFUSE_RD_DIS efuse field after Secure
Boot is enabled. This may allow an attacker to read-protect the BLK2 efuse holding the public
key digest, causing an immediate denial of service and possibly allowing an additional fault
injection attack to bypass the signature protection.
Boot is enabled. This may allow an attacker to read-protect the BLK2 efuse (for ESP32) and
BLOCK4-BLOCK10 (i.e. BLOCK_KEY0-BLOCK_KEY5)(for other chips) holding the public key digest, causing an
immediate denial of service and possibly allowing an additional fault injection attack to
bypass the signature protection.
NOTE: Once a BLOCK is read-protected, the application will read all zeros from that block
NOTE: If "UART ROM download mode (Permanently disabled (recommended))" or
"UART ROM download mode (Permanently switch to Secure mode (recommended))" is set,
then it is __NOT__ possible to read/write efuses using espefuse.py utility.
However, efuse can be read/written from the application
config SECURE_INSECURE_ALLOW_DL_MODE
bool "Don't automatically restrict UART download mode"
depends on SECURE_BOOT_INSECURE && SECURE_BOOT_V2_ENABLED
default N
help
By default, enabling either flash encryption in release mode or secure boot will automatically
disable UART download mode on ESP32 ECO3, or enable secure download mode on newer chips.
This is recommended to reduce the attack surface of the chip.
To allow the full UART download mode to stay enabled, enable this option and ensure
the options SECURE_DISABLE_ROM_DL_MODE and SECURE_ENABLE_SECURE_ROM_DL_MODE are disabled as applicable.
This is not recommended.
config SECURE_FLASH_UART_BOOTLOADER_ALLOW_ENC
bool "Leave UART bootloader encryption enabled"
@@ -680,7 +724,7 @@ menu "Security features"
config SECURE_FLASH_UART_BOOTLOADER_ALLOW_DEC
bool "Leave UART bootloader decryption enabled"
depends on SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT
depends on SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT && IDF_TARGET_ESP32
default N
help
If not set (default), the bootloader will permanently disable UART bootloader decryption access on
@@ -717,7 +761,7 @@ menu "Security features"
config SECURE_DISABLE_ROM_DL_MODE
bool "Permanently disable ROM Download Mode"
depends on ESP32_REV_MIN_3
depends on !IDF_TARGET_ESP32 || ESP32_REV_MIN_3
default n
help
If set, during startup the app will burn an eFuse bit to permanently disable the UART ROM
@@ -732,5 +776,30 @@ menu "Security features"
It is also possible to permanently disable Download Mode by calling
esp_efuse_disable_rom_download_mode() at runtime.
config SECURE_ENABLE_SECURE_ROM_DL_MODE
bool "Permanently switch to ROM UART Secure Download mode"
depends on SECURE_TARGET_HAS_SECURE_ROM_DL_MODE && !SECURE_DISABLE_ROM_DL_MODE
help
If set, during startup the app will burn an eFuse bit to permanently switch the UART ROM
Download Mode into a separate Secure Download mode. This option can only work if
Download Mode is not already disabled by eFuse.
Secure Download mode limits the use of Download Mode functions to simple flash read,
write and erase operations, plus a command to return a summary of currently enabled
security features.
Secure Download mode is not compatible with the esptool.py flasher stub feature,
espefuse.py, read/writing memory or registers, encrypted download, or any other
features that interact with unsupported Download Mode commands.
Secure Download mode should be enabled in any application where Flash Encryption
and/or Secure Boot is enabled. Disabling this option does not immediately cancel
the benefits of the security features, but it increases the potential "attack
surface" for an attacker to try and bypass them with a successful physical attack.
It is also possible to enable secure download mode at runtime by calling
esp_efuse_enable_rom_secure_download_mode()
endmenu # Security features

View File

@@ -102,7 +102,7 @@ endif
bootloader: $(BOOTLOADER_DIGEST_BIN)
@echo $(SEPARATOR)
@echo "Bootloader built and secure digest generated. First time flash command is:"
@echo "$(ESPEFUSEPY) burn_key secure_boot $(SECURE_BOOTLOADER_KEY)"
@echo "$(ESPEFUSEPY) burn_key secure_boot_v1 $(SECURE_BOOTLOADER_KEY)"
@echo "$(ESPTOOLPY_WRITE_FLASH) $(BOOTLOADER_OFFSET) $(BOOTLOADER_BIN)"
@echo $(SEPARATOR)
@echo "To reflash the bootloader after initial flash:"

View File

@@ -1,4 +0,0 @@
--flash_mode ${ESPFLASHMODE}
--flash_size ${ESPFLASHSIZE}
--flash_freq ${ESPFLASHFREQ}
${OFFSET} ${IMAGE}

View File

@@ -29,9 +29,16 @@ project(bootloader)
idf_build_set_property(COMPILE_DEFINITIONS "-DBOOTLOADER_BUILD=1" APPEND)
idf_build_set_property(COMPILE_OPTIONS "-fno-stack-protector" APPEND)
idf_component_get_property(main_args esptool_py FLASH_ARGS)
idf_component_get_property(sub_args esptool_py FLASH_SUB_ARGS)
# String for printing flash command
string(REPLACE ";" " " esptoolpy_write_flash
"${ESPTOOLPY} --port=(PORT) --baud=(BAUD) ${main_args} "
"write_flash ${sub_args}")
string(REPLACE ";" " " espsecurepy "${ESPSECUREPY}")
string(REPLACE ";" " " espefusepy "${ESPEFUSEPY}")
set(esptoolpy_write_flash "${ESPTOOLPY_WRITE_FLASH_STR}")
if(CONFIG_SECURE_BOOTLOADER_REFLASHABLE)
if(CONFIG_SECURE_BOOTLOADER_KEY_ENCODING_192BIT)
@@ -85,15 +92,15 @@ endif()
if(CONFIG_SECURE_BOOT_V2_ENABLED)
if(CONFIG_SECURE_BOOT_BUILD_SIGNED_BINARIES)
get_filename_component(secure_boot_signing_key
get_filename_component(secure_boot_signing_key
"${SECURE_BOOT_SIGNING_KEY}" ABSOLUTE BASE_DIR "${project_dir}")
if(NOT EXISTS "${secure_boot_signing_key}")
message(FATAL_ERROR
"Secure Boot Signing Key Not found."
"\nGenerate the Secure Boot V2 RSA-PSS 3072 Key."
"\nTo generate one, you can use this command:"
"\n\t${espsecurepy} generate_signing_key --version 2 ${SECURE_BOOT_SIGNING_KEY}")
message(FATAL_ERROR
"Secure Boot Signing Key Not found."
"\nGenerate the Secure Boot V2 RSA-PSS 3072 Key."
"\nTo generate one, you can use this command:"
"\n\t${espsecurepy} generate_signing_key --version 2 ${SECURE_BOOT_SIGNING_KEY}")
endif()
set(bootloader_unsigned_bin "bootloader-unsigned.bin")
@@ -110,7 +117,7 @@ if(CONFIG_SECURE_BOOT_V2_ENABLED)
else()
add_custom_command(OUTPUT ".signed_bin_timestamp"
VERBATIM
COMMENT "Bootloader generated but not signed")
COMMENT "Bootloader generated but not signed")
endif()
add_custom_target (gen_signed_bootloader ALL DEPENDS "${build_dir}/.signed_bin_timestamp")
@@ -140,7 +147,7 @@ elseif(CONFIG_SECURE_BOOTLOADER_REFLASHABLE)
COMMAND ${CMAKE_COMMAND} -E echo
"Burn secure boot key to efuse using:"
COMMAND ${CMAKE_COMMAND} -E echo
"\t${espefusepy} burn_key secure_boot ${secure_bootloader_key}"
"\t${espefusepy} burn_key secure_boot_v1 ${secure_bootloader_key}"
COMMAND ${CMAKE_COMMAND} -E echo
"First time flash command is:"
COMMAND ${CMAKE_COMMAND} -E echo
@@ -159,6 +166,24 @@ elseif(CONFIG_SECURE_BOOTLOADER_REFLASHABLE)
"* Not recommended to re-use the same secure boot keyfile on multiple production devices."
DEPENDS gen_secure_bootloader_key gen_bootloader_digest_bin
VERBATIM)
elseif(CONFIG_SECURE_BOOT_V2_ENABLED AND CONFIG_IDF_TARGET_ESP32S2)
add_custom_command(TARGET bootloader.elf POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo
"=============================================================================="
COMMAND ${CMAKE_COMMAND} -E echo
"Bootloader built. Secure boot enabled, so bootloader not flashed automatically."
COMMAND ${CMAKE_COMMAND} -E echo
"To sign the bootloader with additional private keys."
COMMAND ${CMAKE_COMMAND} -E echo
"\t${espsecurepy} sign_data -k secure_boot_signing_key2.pem -v 2 --append_signatures -o signed_bootloader.bin build/bootloader/bootloader.bin"
COMMAND ${CMAKE_COMMAND} -E echo
"Secure boot enabled, so bootloader not flashed automatically."
COMMAND ${CMAKE_COMMAND} -E echo
"\t${esptoolpy_write_flash} ${BOOTLOADER_OFFSET} ${CMAKE_BINARY_DIR}/bootloader.bin"
COMMAND ${CMAKE_COMMAND} -E echo
"=============================================================================="
DEPENDS gen_signed_bootloader
VERBATIM)
elseif(CONFIG_SECURE_BOOT_V2_ENABLED)
add_custom_command(TARGET bootloader.elf POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo

View File

@@ -11,8 +11,6 @@ Linker file used to link the bootloader.
MEMORY
{
/* I/O */
dport0_seg (RW) : org = 0x3FF00000, len = 0x10
/* IRAM POOL1, used for APP CPU cache. Bootloader runs from here during the final stage of loading the app because APP CPU is still held in reset, the main app enables APP CPU cache */
iram_loader_seg (RWX) : org = 0x40078000, len = 0x8000 /* 32KB, APP CPU cache */
/* 63kB, IRAM. We skip the first 1k to prevent the entry point being
@@ -44,6 +42,7 @@ SECTIONS
*libbootloader_support.a:bootloader_common.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_flash.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
*libbootloader_support.a:bootloader_efuse_esp32.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_utility.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_sha.*(.literal .text .literal.* .text.*)
@@ -54,7 +53,7 @@ SECTIONS
*libbootloader_support.a:secure_boot_signatures.*(.literal .text .literal.* .text.*)
*libmicro-ecc.a:*.*(.literal .text .literal.* .text.*)
*libspi_flash.a:*.*(.literal .text .literal.* .text.*)
*libsoc.a:rtc_wdt.*(.literal .text .literal.* .text.*)
*libsoc.a:wdt_hal_iram.*(.literal .text .literal.* .text.*)
*libsoc.a:rtc_clk.*(.literal .text .literal.* .text.*)
*libefuse.a:*.*(.literal .text .literal.* .text.*)
*(.fini.literal)

View File

@@ -1,22 +1,13 @@
/*
Linker file used to link the bootloader.
*/
/* Simplified memory map for the bootloader.
* Make sure the bootloader can load into main memory without overwriting itself.
*/
/* Simplified memory map for the bootloader
The main purpose is to make sure the bootloader can load into main memory
without overwriting itself.
*/
MEMORY
{
/* I/O */
dport0_seg (RW) : org = 0x3FF00000, len = 0x10
iram_loader_seg (RWX) : org = 0x40062000, len = 0x4000 /* 16KB, IRAM */
iram_seg (RWX) : org = 0x40066000, len = 0x4000 /* 16KB, IRAM */
/* 8k at the end of DRAM, before ROM data & stack */
dram_seg (RW) : org = 0x3FFFA000, len = 0x2000
iram_seg (RWX) : org = 0x4004c000, len = 0x4000 /* SRAM Block 13 */
iram_loader_seg (RWX) : org = 0x40050000, len = 0x6000 /* SRAM Block 14 & part of 15 */
dram_seg (RW) : org = 0x3FFE6000, len = 0x4B00 /* Part SRAM Blocks 15 & 16, ROM static buffer starts at end of this region (reclaimed after app runs) */
}
/* Default entry point: */
@@ -37,6 +28,7 @@ SECTIONS
*libbootloader_support.a:bootloader_common.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_flash.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_random*.*(.literal.bootloader_random_disable .text.bootloader_random_disable)
*libbootloader_support.a:bootloader_efuse_esp32s2.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_utility.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_sha.*(.literal .text .literal.* .text.*)
@@ -47,7 +39,8 @@ SECTIONS
*libbootloader_support.a:secure_boot_signatures.*(.literal .text .literal.* .text.*)
*libmicro-ecc.a:*.*(.literal .text .literal.* .text.*)
*libspi_flash.a:*.*(.literal .text .literal.* .text.*)
*libsoc.a:rtc_wdt.*(.literal .text .literal.* .text.*)
*libsoc.a:wdt_hal_iram.*(.literal .text .literal.* .text.*)
*libsoc.a:regi2c_ctrl.*(.literal .text .literal.* .text.*)
*libefuse.a:*.*(.literal .text .literal.* .text.*)
*(.fini.literal)
*(.fini)

View File

@@ -0,0 +1,13 @@
/*
* ESP32S2 ROM address table
* Generated for ROM with MD5sum: 0a2c7ec5109c17884606d23b47045796
*/
PROVIDE (ets_update_cpu_frequency = 0x4000d8a4);
PROVIDE (MD5Final = 0x4000530c);
PROVIDE (MD5Init = 0x4000526c);
PROVIDE (MD5Update = 0x4000528c);
/* bootloader will use following functions from xtensa hal library */
xthal_get_ccount = 0x4001aa90;
xthal_get_ccompare = 0x4001aabc;
xthal_set_ccompare = 0x4001aa98;

View File

@@ -1,14 +0,0 @@
/*
* ESP32S2 ROM address table
* Generated for ROM with MD5sum: f054d40c5f6b9207d3827460a6f5748c
*/
PROVIDE ( ets_update_cpu_frequency = 0x4000d954 );
/* ToDo: Following address may need modification */
PROVIDE ( MD5Final = 0x400056e8 );
PROVIDE ( MD5Init = 0x40005648 );
PROVIDE ( MD5Update = 0x40005668 );
/* bootloader will use following functions from xtensa hal library */
xthal_get_ccount = 0x40015cbc;
xthal_get_ccompare = 0x40015ce8;
xthal_set_ccompare = 0x40015cc4;

View File

@@ -2,20 +2,18 @@ set(srcs
"src/bootloader_clock.c"
"src/bootloader_common.c"
"src/bootloader_flash.c"
"src/bootloader_mem.c"
"src/bootloader_random.c"
"src/bootloader_random_${IDF_TARGET}.c"
"src/bootloader_utility.c"
"src/esp_image_format.c"
"src/flash_encrypt.c"
"src/flash_partitions.c"
"src/flash_qio_mode.c"
"src/bootloader_flash_config_${IDF_TARGET}.c"
"src/bootloader_efuse_${IDF_TARGET}.c"
)
if(IDF_TARGET STREQUAL "esp32")
# Not supported on ESP32S2Beta yet
list(APPEND srcs "src/flash_encrypt.c")
endif()
if(BOOTLOADER_BUILD)
set(include_dirs "include" "include_bootloader")
set(priv_requires micro-ecc spi_flash efuse)

View File

@@ -19,8 +19,9 @@ ifndef IS_BOOTLOADER_BUILD
COMPONENT_OBJEXCLUDE := src/bootloader_init.o
endif
COMPONENT_OBJEXCLUDE += src/bootloader_flash_config_esp32s2beta.o \
src/bootloader_efuse_esp32s2beta.o
COMPONENT_OBJEXCLUDE += src/bootloader_flash_config_esp32s2.o \
src/bootloader_efuse_esp32s2.o \
src/bootloader_random_esp32s2.o
ifndef CONFIG_SECURE_SIGNED_APPS_ECDSA_SCHEME
ifndef CONFIG_SECURE_SIGNED_APPS_RSA_SCHEME

View File

@@ -19,8 +19,8 @@
// RESET_REASON is declared in rom/rtc.h
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/rtc.h"
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#include "esp32s2beta/rom/rtc.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/rtc.h"
#endif
#ifdef __cplusplus

View File

@@ -0,0 +1,61 @@
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#pragma once
#include <stdint.h>
#include <esp_err.h>
#include <esp_spi_flash.h> /* including in bootloader for error values */
#include "sdkconfig.h"
#include "soc/soc_caps.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief Read flash ID by sending 0x9F command
* @return flash raw ID
* mfg_id = (ID >> 16) & 0xFF;
flash_id = ID & 0xffff;
*/
uint32_t bootloader_read_flash_id(void);
#if SOC_CACHE_SUPPORT_WRAP
/**
* @brief Set the burst mode setting command for specified wrap mode.
*
* @param mode The specified warp mode.
* @return always ESP_OK
*/
esp_err_t bootloader_flash_wrap_set(spi_flash_wrap_mode_t mode);
#endif
/**
* @brief Startup flow recommended by XMC. Call at startup before any erase/write operation.
*
* @return ESP_OK When startup successfully, otherwise ESP_FAIL (indiciating you should reboot before erase/write).
*/
esp_err_t bootloader_flash_xmc_startup(void);
/**
* @brief Unlock Flash write protect.
* Please do not call this function in SDK.
*
* @note This can be overridden because it's attribute weak.
*/
esp_err_t bootloader_flash_unlock(void);
#ifdef __cplusplus
}
#endif

View File

@@ -1,4 +1,4 @@
// Copyright 2018 Espressif Systems (Shanghai) PTE LTD
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,11 +11,14 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#pragma once
#include <utime.h>
#include "esp_vfs.h"
#ifdef __cplusplus
extern "C" {
#endif
int utime(const char *path, const struct utimbuf *times)
{
return esp_vfs_utime(path, times);
void bootloader_init_mem(void);
#ifdef __cplusplus
}
#endif

View File

@@ -19,6 +19,7 @@
*/
typedef enum {
ESP_CHIP_ID_ESP32 = 0x0000, /*!< chip ID: ESP32 */
ESP_CHIP_ID_ESP32S2 = 0x0002, /*!< chip ID: ESP32S2 */
ESP_CHIP_ID_INVALID = 0xFFFF /*!< Invalid chip ID (we defined it to make sure the esp_chip_id_t is 2 bytes size) */
} __attribute__((packed)) esp_chip_id_t;

View File

@@ -52,7 +52,7 @@ static inline /** @cond */ IRAM_ATTR /** @endcond */ bool esp_flash_encryption_e
uint32_t flash_crypt_cnt;
#if CONFIG_IDF_TARGET_ESP32
flash_crypt_cnt = REG_GET_FIELD(EFUSE_BLK0_RDATA0_REG, EFUSE_RD_FLASH_CRYPT_CNT);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
flash_crypt_cnt = REG_GET_FIELD(EFUSE_RD_REPEAT_DATA1_REG, EFUSE_SPI_BOOT_CRYPT_CNT);
#endif
/* __builtin_parity is in flash, so we calculate parity inline */

View File

@@ -19,8 +19,8 @@
#include "esp_image_format.h"
#include "sdkconfig.h"
#if CONFIG_IDF_TARGET_ESP32S2BETA
#include "esp32s2beta/rom/efuse.h"
#if CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/efuse.h"
#else
#include "esp32/rom/secure_boot.h"
#endif
@@ -57,7 +57,7 @@ static inline bool esp_secure_boot_enabled(void)
#elif CONFIG_SECURE_BOOT_V2_ENABLED
return ets_use_secure_boot_v2();
#endif
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
return ets_efuse_secure_boot_enabled();
#endif
return false; /* Secure Boot not enabled in menuconfig */

View File

@@ -19,11 +19,28 @@
#include <stdint.h>
#include <esp_err.h>
#include <esp_spi_flash.h> /* including in bootloader for error values */
#include "sdkconfig.h"
#include "bootloader_flash.h"
#define FLASH_SECTOR_SIZE 0x1000
#define FLASH_BLOCK_SIZE 0x10000
#define MMAP_ALIGNED_MASK 0x0000FFFF
/* SPI commands (actual on-wire commands not SPI controller bitmasks)
Suitable for use with the bootloader_execute_flash_command static function.
*/
#define CMD_RDID 0x9F
#define CMD_WRSR 0x01
#define CMD_WRSR2 0x31 /* Not all SPI flash uses this command */
#define CMD_WREN 0x06
#define CMD_WRDI 0x04
#define CMD_RDSR 0x05
#define CMD_RDSR2 0x35 /* Not all SPI flash uses this command */
#define CMD_OTPEN 0x3A /* Enable OTP mode, not all SPI flash uses this command */
#define CMD_RDSFDP 0x5A /* Read the SFDP of the flash */
#define CMD_WRAP 0x77 /* Set burst with wrap command */
/* Provide a Flash API for bootloader_support code,
that can be used from bootloader or app code.
@@ -136,4 +153,29 @@ static inline uint32_t bootloader_cache_pages_to_map(uint32_t size, uint32_t vad
return (size + (vaddr - (vaddr & MMU_FLASH_MASK)) + MMU_BLOCK_SIZE - 1) / MMU_BLOCK_SIZE;
}
/**
* @brief Execute a user command on the flash
*
* @param command The command value to execute.
* @param mosi_data MOSI data to send
* @param mosi_len Length of MOSI data, in bits
* @param miso_len Length of MISO data to receive, in bits
* @return Received MISO data
*/
uint32_t bootloader_execute_flash_command(uint8_t command, uint32_t mosi_data, uint8_t mosi_len, uint8_t miso_len);
/**
* @brief Read the SFDP of the flash
*
* @param sfdp_addr Address of the parameter to read
* @param miso_byte_num Bytes to read
* @return The read SFDP, little endian, 4 bytes at most
*/
uint32_t bootloader_flash_read_sfdp(uint32_t sfdp_addr, unsigned int miso_byte_num);
/**
* @brief Enable the flash write protect (WEL bit).
*/
void bootloader_enable_wp(void);
#endif

View File

@@ -13,6 +13,8 @@
// limitations under the License.
#pragma once
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif

View File

@@ -16,13 +16,14 @@
#include "soc/rtc.h"
#include "soc/dport_reg.h"
#include "soc/efuse_periph.h"
#include "soc/rtc_cntl_reg.h"
#ifdef CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/uart.h"
#include "esp32/rom/rtc.h"
#else
#include "esp32s2beta/rom/uart.h"
#include "esp32s2beta/rom/rtc.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/uart.h"
#include "esp32s2/rom/rtc.h"
#endif
void bootloader_clock_configure(void)
@@ -34,15 +35,15 @@ void bootloader_clock_configure(void)
// and will be done with the bootloader much earlier than UART FIFO is empty.
uart_tx_wait_idle(0);
/* Set CPU to 80MHz. Keep other clocks unmodified. */
int cpu_freq_mhz = 80;
#if CONFIG_IDF_TARGET_ESP32
/* On ESP32 rev 0, switching to 80/160 MHz if clock was previously set to
* 240 MHz may cause the chip to lock up (see section 3.5 of the errata
* document). For rev. 0, switch to 240 instead if it has been enabled
* previously.
*/
#if CONFIG_IDF_TARGET_ESP32
/* Set CPU to 80MHz. Keep other clocks unmodified. */
int cpu_freq_mhz = 80;
uint32_t chip_ver_reg = REG_READ(EFUSE_BLK0_RDATA3_REG);
if ((chip_ver_reg & EFUSE_RD_CHIP_VER_REV1_M) == 0 &&
DPORT_REG_GET_FIELD(DPORT_CPU_PER_CONF_REG, DPORT_CPUPERIOD_SEL) == DPORT_CPUPERIOD_SEL_240) {
@@ -53,11 +54,9 @@ void bootloader_clock_configure(void)
rtc_clk_config_t clk_cfg = RTC_CLK_CONFIG_DEFAULT();
#if CONFIG_IDF_TARGET_ESP32
clk_cfg.xtal_freq = CONFIG_ESP32_XTAL_FREQ;
clk_cfg.cpu_freq_mhz = cpu_freq_mhz;
#elif CONFIG_IDF_TARGET_ESP32S2BETA
clk_cfg.xtal_freq = RTC_XTAL_FREQ_40M;
clk_cfg.cpu_freq = RTC_CPU_FREQ_80M;
#endif
/* ESP32-S2 doesn't have XTAL_FREQ choice, always 40MHz */
clk_cfg.cpu_freq_mhz = cpu_freq_mhz;
clk_cfg.slow_freq = rtc_clk_slow_freq_get();
clk_cfg.fast_freq = rtc_clk_fast_freq_get();
rtc_clk_init(clk_cfg);
@@ -66,11 +65,20 @@ void bootloader_clock_configure(void)
* part of the start up time by enabling 32k XTAL early.
* App startup code will wait until the oscillator has started up.
*/
#ifdef CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS
/* TODO: move the clock option into esp_system, so that this doesn't have
* to continue:
*/
#if CONFIG_ESP32_RTC_CLK_SRC_EXT_CRYS
if (!rtc_clk_32k_enabled()) {
rtc_clk_32k_bootstrap(CONFIG_ESP32_RTC_XTAL_BOOTSTRAP_CYCLES);
}
#endif
#if CONFIG_ESP32S2_RTC_CLK_SRC_EXT_CRYS
if (!rtc_clk_32k_enabled()) {
rtc_clk_32k_bootstrap(0);
}
#endif
}
#ifdef BOOTLOADER_BUILD

View File

@@ -21,19 +21,20 @@
#include "esp32/rom/spi_flash.h"
#include "esp32/rom/crc.h"
#include "esp32/rom/gpio.h"
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#include "esp32s2beta/rom/spi_flash.h"
#include "esp32s2beta/rom/crc.h"
#include "esp32s2beta/rom/ets_sys.h"
#include "esp32s2beta/rom/gpio.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/spi_flash.h"
#include "esp32s2/rom/crc.h"
#include "esp32s2/rom/ets_sys.h"
#include "esp32s2/rom/gpio.h"
#endif
#include "esp_flash_partitions.h"
#include "bootloader_flash.h"
#include "bootloader_flash_priv.h"
#include "bootloader_common.h"
#include "bootloader_utility.h"
#include "soc/gpio_periph.h"
#include "soc/rtc.h"
#include "soc/efuse_reg.h"
#include "soc/soc_memory_layout.h"
#include "esp_image_format.h"
#include "bootloader_sha.h"
#include "sys/param.h"
@@ -295,7 +296,18 @@ RESET_REASON bootloader_common_get_reset_reason(int cpu_no)
#if defined( CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP ) || defined( CONFIG_BOOTLOADER_CUSTOM_RESERVE_RTC )
rtc_retain_mem_t *const rtc_retain_mem = (rtc_retain_mem_t *)(SOC_RTC_DRAM_HIGH - sizeof(rtc_retain_mem_t));
#define RTC_RETAIN_MEM_ADDR (SOC_RTC_DRAM_HIGH - sizeof(rtc_retain_mem_t))
rtc_retain_mem_t *const rtc_retain_mem = (rtc_retain_mem_t *)RTC_RETAIN_MEM_ADDR;
#if !IS_BOOTLOADER_BUILD
/* The app needs to be told this memory is reserved, important if configured to use RTC memory as heap.
Note that keeping this macro here only works when other symbols in this file are referenced by the app, as
this feature is otherwise 100% part of the bootloader. However this seems to happen in all apps.
*/
SOC_RESERVE_MEMORY_REGION(RTC_RETAIN_MEM_ADDR, RTC_RETAIN_MEM_ADDR + sizeof(rtc_retain_mem_t), rtc_retain_mem);
#endif
static bool check_rtc_retain_mem(void)
{

View File

@@ -15,15 +15,10 @@
#include "sdkconfig.h"
#include "bootloader_clock.h"
#include "bootloader_common.h"
int bootloader_clock_get_rated_freq_mhz()
{
/* No known limitation: all chips are 240MHz rated */
return 240;
}
#include "soc/efuse_reg.h"
uint8_t bootloader_common_get_chip_revision(void)
{
/* No other revisions for ESP32-S2beta */
return 0;
// should return the same value as esp_efuse_get_chip_ver()
return REG_GET_FIELD(EFUSE_RD_MAC_SPI_SYS_3_REG, EFUSE_WAFER_VERSION);
}

View File

@@ -13,13 +13,44 @@
// limitations under the License.
#include <stddef.h>
#include <bootloader_flash.h>
#include <bootloader_flash_priv.h>
#include <esp_log.h>
#include <esp_flash_encrypt.h>
#if CONFIG_IDF_TARGET_ESP32S2BETA
#include "esp32s2beta/rom/spi_flash.h"
#include "sdkconfig.h"
#include "soc/soc_caps.h"
#if CONFIG_IDF_TARGET_ESP32
# include "soc/spi_struct.h"
# include "soc/spi_reg.h"
/* SPI flash controller */
# define SPIFLASH SPI1
#else
# include "soc/spi_mem_struct.h"
# include "soc/spi_mem_reg.h"
/* SPI flash controller */
# define SPIFLASH SPIMEM1
#endif
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/spi_flash.h"
#include "esp32/rom/ets_sys.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/spi_flash.h" //For SPI_Encrypt_Write
#include "esp32s2/rom/ets_sys.h"
#endif
#define BYTESHIFT(VAR, IDX) (((VAR) >> ((IDX) * 8)) & 0xFF)
#define ISSI_ID 0x9D
#define MXIC_ID 0xC2
#define GD_Q_ID_HIGH 0xC8
#define GD_Q_ID_MID 0x40
#define GD_Q_ID_LOW 0x16
#define ESP_BOOTLOADER_SPIFLASH_BP_MASK_ISSI (BIT7 | BIT5 | BIT4 | BIT3 | BIT2)
#define ESP_BOOTLOADER_SPIFLASH_QE_GD_SR2 BIT1 // QE position when you write 8 bits(for SR2) at one time.
#define ESP_BOOTLOADER_SPIFLASH_QE_SR1_2BYTE BIT9 // QE position when you write 16 bits at one time.
#ifndef BOOTLOADER_BUILD
/* Normal app version maps to esp_spi_flash.h operations...
*/
@@ -71,7 +102,7 @@ esp_err_t bootloader_flash_write(size_t dest_addr, void *src, size_t size, bool
if (write_encrypted) {
#if CONFIG_IDF_TARGET_ESP32
return spi_flash_write_encrypted(dest_addr, src, size);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
return SPI_Encrypt_Write(dest_addr, src, size);
#endif
} else {
@@ -89,15 +120,16 @@ esp_err_t bootloader_flash_erase_range(uint32_t start_addr, uint32_t size)
return spi_flash_erase_range(start_addr, size);
}
#else
#else //BOOTLOADER_BUILD
/* Bootloader version, uses ROM functions only */
#include <soc/dport_reg.h>
#include "soc/dport_reg.h"
#if CONFIG_IDF_TARGET_ESP32
#include <esp32/rom/spi_flash.h>
#include <esp32/rom/cache.h>
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#include <esp32s2beta/rom/spi_flash.h>
#include <esp32s2beta/rom/cache.h>
#include "esp32/rom/spi_flash.h"
#include "esp32/rom/cache.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/spi_flash.h"
#include "esp32s2/rom/cache.h"
#include "soc/cache_memory.h"
#endif
static const char *TAG = "bootloader_flash";
@@ -109,7 +141,7 @@ static const char *TAG = "bootloader_flash";
#define MMU_SIZE (0x320000)
#define MMU_BLOCK50_VADDR (MMU_BLOCK0_VADDR + MMU_SIZE)
#define FLASH_READ_VADDR MMU_BLOCK50_VADDR
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
/* Use first 63 blocks in MMU for bootloader_mmap,
63th block for bootloader_flash_read
*/
@@ -120,7 +152,7 @@ static const char *TAG = "bootloader_flash";
#endif
#define MMU_FREE_PAGES (MMU_SIZE / FLASH_BLOCK_SIZE)
static bool mapped;
// Current bootloader mapping (ab)used for bootloader_read()
@@ -151,7 +183,7 @@ const void *bootloader_mmap(uint32_t src_addr, uint32_t size)
#if CONFIG_IDF_TARGET_ESP32
Cache_Read_Disable(0);
Cache_Flush(0);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
uint32_t autoload = Cache_Suspend_ICache();
Cache_Invalidate_ICache_All();
#endif
@@ -159,21 +191,21 @@ const void *bootloader_mmap(uint32_t src_addr, uint32_t size)
src_addr & MMU_FLASH_MASK, count, size, src_addr, src_addr_aligned );
#if CONFIG_IDF_TARGET_ESP32
int e = cache_flash_mmu_set(0, 0, MMU_BLOCK0_VADDR, src_addr_aligned, 64, count);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
int e = Cache_Ibus_MMU_Set(DPORT_MMU_ACCESS_FLASH, MMU_BLOCK0_VADDR, src_addr_aligned, 64, count, 0);
#elif CONFIG_IDF_TARGET_ESP32S2
int e = Cache_Ibus_MMU_Set(MMU_ACCESS_FLASH, MMU_BLOCK0_VADDR, src_addr_aligned, 64, count, 0);
#endif
if (e != 0) {
ESP_LOGE(TAG, "cache_flash_mmu_set failed: %d\n", e);
#if CONFIG_IDF_TARGET_ESP32
Cache_Read_Enable(0);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
Cache_Resume_ICache(autoload);
#endif
return NULL;
}
#if CONFIG_IDF_TARGET_ESP32
Cache_Read_Enable(0);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
Cache_Resume_ICache(autoload);
#endif
@@ -190,7 +222,7 @@ void bootloader_munmap(const void *mapping)
Cache_Read_Disable(0);
Cache_Flush(0);
mmu_init(0);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
//TODO, save the autoload value.
Cache_Suspend_ICache();
Cache_Invalidate_ICache_All();
@@ -220,13 +252,13 @@ static esp_err_t bootloader_flash_read_no_decrypt(size_t src_addr, void *dest, s
#if CONFIG_IDF_TARGET_ESP32
Cache_Read_Disable(0);
Cache_Flush(0);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
uint32_t autoload = Cache_Suspend_ICache();
#endif
esp_rom_spiflash_result_t r = esp_rom_spiflash_read(src_addr, dest, size);
#if CONFIG_IDF_TARGET_ESP32
Cache_Read_Enable(0);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
Cache_Resume_ICache(autoload);
#endif
@@ -246,21 +278,21 @@ static esp_err_t bootloader_flash_read_allow_decrypt(size_t src_addr, void *dest
#if CONFIG_IDF_TARGET_ESP32
Cache_Read_Disable(0);
Cache_Flush(0);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
uint32_t autoload = Cache_Suspend_ICache();
Cache_Invalidate_ICache_All();
#endif
ESP_LOGD(TAG, "mmu set block paddr=0x%08x (was 0x%08x)", map_at, current_read_mapping);
#if CONFIG_IDF_TARGET_ESP32
int e = cache_flash_mmu_set(0, 0, FLASH_READ_VADDR, map_at, 64, 1);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
int e = Cache_Ibus_MMU_Set(DPORT_MMU_ACCESS_FLASH, FLASH_READ_VADDR, map_at, 64, 1, 0);
#elif CONFIG_IDF_TARGET_ESP32S2
int e = Cache_Ibus_MMU_Set(MMU_ACCESS_FLASH, MMU_BLOCK63_VADDR, map_at, 64, 1, 0);
#endif
if (e != 0) {
ESP_LOGE(TAG, "cache_flash_mmu_set failed: %d\n", e);
#if CONFIG_IDF_TARGET_ESP32
Cache_Read_Enable(0);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
Cache_Resume_ICache(autoload);
#endif
return ESP_FAIL;
@@ -268,7 +300,7 @@ static esp_err_t bootloader_flash_read_allow_decrypt(size_t src_addr, void *dest
current_read_mapping = map_at;
#if CONFIG_IDF_TARGET_ESP32
Cache_Read_Enable(0);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
Cache_Resume_ICache(autoload);
#endif
}
@@ -317,7 +349,7 @@ esp_err_t bootloader_flash_write(size_t dest_addr, void *src, size_t size, bool
return ESP_FAIL;
}
err = spi_to_esp_err(esp_rom_spiflash_unlock());
err = bootloader_flash_unlock();
if (err != ESP_OK) {
return err;
}
@@ -325,7 +357,7 @@ esp_err_t bootloader_flash_write(size_t dest_addr, void *src, size_t size, bool
if (write_encrypted) {
#if CONFIG_IDF_TARGET_ESP32
return spi_to_esp_err(esp_rom_spiflash_write_encrypted(dest_addr, src, size));
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
// TODO: use the same ROM AP here
return spi_to_esp_err(SPI_Encrypt_Write(dest_addr, src, size));
#endif
@@ -363,4 +395,332 @@ esp_err_t bootloader_flash_erase_range(uint32_t start_addr, uint32_t size)
}
return spi_to_esp_err(rc);
}
#endif // BOOTLOADER_BUILD
FORCE_INLINE_ATTR bool is_issi_chip(const esp_rom_spiflash_chip_t* chip)
{
return BYTESHIFT(chip->device_id, 2) == ISSI_ID;
}
// For GD25Q32, GD25Q64, GD25Q127C, GD25Q128, which use single command to read/write different SR.
FORCE_INLINE_ATTR bool is_gd_q_chip(const esp_rom_spiflash_chip_t* chip)
{
return BYTESHIFT(chip->device_id, 2) == GD_Q_ID_HIGH && BYTESHIFT(chip->device_id, 1) == GD_Q_ID_MID && BYTESHIFT(chip->device_id, 0) >= GD_Q_ID_LOW;
}
FORCE_INLINE_ATTR bool is_mxic_chip(const esp_rom_spiflash_chip_t* chip)
{
return BYTESHIFT(chip->device_id, 2) == MXIC_ID;
}
esp_err_t IRAM_ATTR __attribute__((weak)) bootloader_flash_unlock(void)
{
// At the beginning status == new_status == status_sr2 == new_status_sr2 == 0.
// If the register doesn't need to be updated, keep them the same (0), so that no command will be actually sent.
uint16_t status = 0; // status for SR1 or SR1+SR2 if writing SR with 01H + 2Bytes.
uint16_t new_status = 0;
uint8_t status_sr2 = 0; // status_sr2 for SR2.
uint8_t new_status_sr2 = 0;
uint8_t sr1_bit_num = 0;
esp_err_t err = ESP_OK;
esp_rom_spiflash_wait_idle(&g_rom_flashchip);
if (is_issi_chip(&g_rom_flashchip) || is_mxic_chip(&g_rom_flashchip)) {
// Currently ISSI & MXIC share the same command and register layout, which is different from the default model.
// If any code here needs to be modified, check both chips.
status = bootloader_execute_flash_command(CMD_RDSR, 0, 0, 8);
/* Clear all bits in the mask.
(This is different from ROM esp_rom_spiflash_unlock, which keeps all bits as-is.)
*/
sr1_bit_num = 8;
new_status = status & (~ESP_BOOTLOADER_SPIFLASH_BP_MASK_ISSI);
} else if (is_gd_q_chip(&g_rom_flashchip)) {
/* The GD chips behaviour is to clear all bits in SR1 and clear bits in SR2 except QE bit.
Use 01H to write SR1 and 31H to write SR2.
*/
status = bootloader_execute_flash_command(CMD_RDSR, 0, 0, 8);
sr1_bit_num = 8;
new_status = 0;
status_sr2 = bootloader_execute_flash_command(CMD_RDSR2, 0, 0, 8);
new_status_sr2 = status_sr2 & ESP_BOOTLOADER_SPIFLASH_QE_GD_SR2;
} else {
/* For common behaviour, like XMC chips, Use 01H+2Bytes to write both SR1 and SR2*/
status = bootloader_execute_flash_command(CMD_RDSR, 0, 0, 8) | (bootloader_execute_flash_command(CMD_RDSR2, 0, 0, 8) << 8);
/* Clear all bits except QE, if it is set.
(This is different from ROM esp_rom_spiflash_unlock, which keeps all bits as-is.)
*/
sr1_bit_num = 16;
new_status = status & ESP_BOOTLOADER_SPIFLASH_QE_SR1_2BYTE;
}
// When SR is written, set to true to indicate that WRDI need to be sent to ensure the protection is ON before return.
bool status_written = false;
// Skip if nothing needs to be changed. Meaningless writing to SR increases the risk during write and wastes time.
if (status != new_status) {
esp_rom_spiflash_wait_idle(&g_rom_flashchip);
bootloader_execute_flash_command(CMD_WREN, 0, 0, 0);
bootloader_execute_flash_command(CMD_WRSR, new_status, sr1_bit_num, 0);
status_written = true;
}
if (status_sr2 != new_status_sr2) {
esp_rom_spiflash_wait_idle(&g_rom_flashchip);
bootloader_execute_flash_command(CMD_WREN, 0, 0, 0);
bootloader_execute_flash_command(CMD_WRSR2, new_status_sr2, 8, 0);
status_written = true;
}
if (status_written) {
//Call esp_rom_spiflash_wait_idle to make sure previous WRSR is completed.
esp_rom_spiflash_wait_idle(&g_rom_flashchip);
bootloader_execute_flash_command(CMD_WRDI, 0, 0, 0);
}
return err;
}
/* dummy_len_plus values defined in ROM for SPI flash configuration */
extern uint8_t g_rom_spiflash_dummy_len_plus[];
IRAM_ATTR static uint32_t bootloader_flash_execute_command_common(
uint8_t command,
uint32_t addr_len, uint32_t address,
uint8_t dummy_len,
uint8_t mosi_len, uint32_t mosi_data,
uint8_t miso_len)
{
assert(mosi_len <= 32);
assert(miso_len <= 32);
uint32_t old_ctrl_reg = SPIFLASH.ctrl.val;
uint32_t old_user_reg = SPIFLASH.user.val;
uint32_t old_user1_reg = SPIFLASH.user1.val;
#if CONFIG_IDF_TARGET_ESP32
SPIFLASH.ctrl.val = SPI_WP_REG_M; // keep WP high while idle, otherwise leave DIO mode
#else
SPIFLASH.ctrl.val = SPI_MEM_WP_REG_M; // keep WP high while idle, otherwise leave DIO mode
#endif
//command phase
SPIFLASH.user.usr_command = 1;
SPIFLASH.user2.usr_command_bitlen = 7;
SPIFLASH.user2.usr_command_value = command;
//addr phase
SPIFLASH.user.usr_addr = addr_len > 0;
SPIFLASH.user1.usr_addr_bitlen = addr_len - 1;
#if CONFIG_IDF_TARGET_ESP32
SPIFLASH.addr = (addr_len > 0)? (address << (32-addr_len)) : 0;
#else
SPIFLASH.addr = address;
#endif
//dummy phase
if (miso_len > 0) {
uint32_t total_dummy = dummy_len + g_rom_spiflash_dummy_len_plus[1];
SPIFLASH.user.usr_dummy = total_dummy > 0;
SPIFLASH.user1.usr_dummy_cyclelen = total_dummy - 1;
} else {
SPIFLASH.user.usr_dummy = 0;
SPIFLASH.user1.usr_dummy_cyclelen = 0;
}
//output data
SPIFLASH.user.usr_mosi = mosi_len > 0;
#if CONFIG_IDF_TARGET_ESP32
SPIFLASH.mosi_dlen.usr_mosi_dbitlen = mosi_len ? (mosi_len - 1) : 0;
#else
SPIFLASH.mosi_dlen.usr_mosi_bit_len = mosi_len ? (mosi_len - 1) : 0;
#endif
SPIFLASH.data_buf[0] = mosi_data;
//input data
SPIFLASH.user.usr_miso = miso_len > 0;
#if CONFIG_IDF_TARGET_ESP32
SPIFLASH.miso_dlen.usr_miso_dbitlen = miso_len ? (miso_len - 1) : 0;
#else
SPIFLASH.miso_dlen.usr_miso_bit_len = miso_len ? (miso_len - 1) : 0;
#endif
SPIFLASH.cmd.usr = 1;
while (SPIFLASH.cmd.usr != 0) {
}
SPIFLASH.ctrl.val = old_ctrl_reg;
SPIFLASH.user.val = old_user_reg;
SPIFLASH.user1.val = old_user1_reg;
uint32_t ret = SPIFLASH.data_buf[0];
if (miso_len < 32) {
//set unused bits to 0
ret &= ~(UINT32_MAX << miso_len);
}
return ret;
}
uint32_t IRAM_ATTR bootloader_execute_flash_command(uint8_t command, uint32_t mosi_data, uint8_t mosi_len, uint8_t miso_len)
{
const uint8_t addr_len = 0;
const uint8_t address = 0;
const uint8_t dummy_len = 0;
return bootloader_flash_execute_command_common(command, addr_len, address,
dummy_len, mosi_len, mosi_data, miso_len);
}
// cmd(0x5A) + 24bit address + 8 cycles dummy
uint32_t IRAM_ATTR bootloader_flash_read_sfdp(uint32_t sfdp_addr, unsigned int miso_byte_num)
{
assert(miso_byte_num <= 4);
const uint8_t command = CMD_RDSFDP;
const uint8_t addr_len = 24;
const uint8_t dummy_len = 8;
const uint8_t mosi_len = 0;
const uint32_t mosi_data = 0;
const uint8_t miso_len = miso_byte_num * 8;
return bootloader_flash_execute_command_common(command, addr_len, sfdp_addr,
dummy_len, mosi_len, mosi_data, miso_len);
}
void bootloader_enable_wp(void)
{
bootloader_execute_flash_command(CMD_WRDI, 0, 0, 0); /* Exit OTP mode */
}
uint32_t IRAM_ATTR bootloader_read_flash_id(void)
{
uint32_t id = bootloader_execute_flash_command(CMD_RDID, 0, 0, 24);
id = ((id & 0xff) << 16) | ((id >> 16) & 0xff) | (id & 0xff00);
return id;
}
#if SOC_CACHE_SUPPORT_WRAP
esp_err_t bootloader_flash_wrap_set(spi_flash_wrap_mode_t mode)
{
uint32_t reg_bkp_ctrl = SPIFLASH.ctrl.val;
uint32_t reg_bkp_usr = SPIFLASH.user.val;
SPIFLASH.user.fwrite_dio = 0;
SPIFLASH.user.fwrite_dual = 0;
SPIFLASH.user.fwrite_qio = 1;
SPIFLASH.user.fwrite_quad = 0;
SPIFLASH.ctrl.fcmd_dual = 0;
SPIFLASH.ctrl.fcmd_quad = 0;
SPIFLASH.user.usr_dummy = 0;
SPIFLASH.user.usr_addr = 1;
SPIFLASH.user.usr_command = 1;
SPIFLASH.user2.usr_command_bitlen = 7;
SPIFLASH.user2.usr_command_value = CMD_WRAP;
SPIFLASH.user1.usr_addr_bitlen = 23;
SPIFLASH.addr = 0;
SPIFLASH.user.usr_miso = 0;
SPIFLASH.user.usr_mosi = 1;
SPIFLASH.mosi_dlen.usr_mosi_bit_len = 7;
SPIFLASH.data_buf[0] = (uint32_t) mode << 4;;
SPIFLASH.cmd.usr = 1;
while(SPIFLASH.cmd.usr != 0)
{ }
SPIFLASH.ctrl.val = reg_bkp_ctrl;
SPIFLASH.user.val = reg_bkp_usr;
return ESP_OK;
}
#endif //SOC_CACHE_SUPPORT_WRAP
/*******************************************************************************
* XMC startup flow
******************************************************************************/
#define XMC_SUPPORT CONFIG_BOOTLOADER_FLASH_XMC_SUPPORT
#define XMC_VENDOR_ID 0x20
#if BOOTLOADER_BUILD
#define BOOTLOADER_FLASH_LOG(level, ...) ESP_LOG##level(TAG, ##__VA_ARGS__)
#else
static DRAM_ATTR char bootloader_flash_tag[] = "bootloader_flash";
#define BOOTLOADER_FLASH_LOG(level, ...) ESP_DRAM_LOG##level(bootloader_flash_tag, ##__VA_ARGS__)
#endif
#if XMC_SUPPORT
//strictly check the model
static IRAM_ATTR bool is_xmc_chip_strict(uint32_t rdid)
{
uint32_t vendor_id = BYTESHIFT(rdid, 2);
uint32_t mfid = BYTESHIFT(rdid, 1);
uint32_t cpid = BYTESHIFT(rdid, 0);
if (vendor_id != XMC_VENDOR_ID) {
return false;
}
bool matched = false;
if (mfid == 0x40) {
if (cpid >= 0x13 && cpid <= 0x20) {
matched = true;
}
} else if (mfid == 0x41) {
if (cpid >= 0x17 && cpid <= 0x20) {
matched = true;
}
} else if (mfid == 0x50) {
if (cpid >= 0x15 && cpid <= 0x16) {
matched = true;
}
}
return matched;
}
esp_err_t IRAM_ATTR bootloader_flash_xmc_startup(void)
{
// If the RDID value is a valid XMC one, may skip the flow
const bool fast_check = true;
if (fast_check && is_xmc_chip_strict(g_rom_flashchip.device_id)) {
BOOTLOADER_FLASH_LOG(D, "XMC chip detected by RDID (%08X), skip.", g_rom_flashchip.device_id);
return ESP_OK;
}
// Check the Manufacturer ID in SFDP registers (JEDEC standard). If not XMC chip, no need to run the flow
const int sfdp_mfid_addr = 0x10;
uint8_t mf_id = (bootloader_flash_read_sfdp(sfdp_mfid_addr, 1) & 0xff);
if (mf_id != XMC_VENDOR_ID) {
BOOTLOADER_FLASH_LOG(D, "non-XMC chip detected by SFDP Read (%02X), skip.", mf_id);
return ESP_OK;
}
BOOTLOADER_FLASH_LOG(I, "XM25QHxxC startup flow");
// Enter DPD
bootloader_execute_flash_command(0xB9, 0, 0, 0);
// Enter UDPD
bootloader_execute_flash_command(0x79, 0, 0, 0);
// Exit UDPD
bootloader_execute_flash_command(0xFF, 0, 0, 0);
// Delay tXUDPD
ets_delay_us(2000);
// Release Power-down
bootloader_execute_flash_command(0xAB, 0, 0, 0);
ets_delay_us(20);
// Read flash ID and check again
g_rom_flashchip.device_id = bootloader_read_flash_id();
if (!is_xmc_chip_strict(g_rom_flashchip.device_id)) {
BOOTLOADER_FLASH_LOG(E, "XMC flash startup fail");
return ESP_FAIL;
}
return ESP_OK;
}
#else
//only compare the vendor id
static IRAM_ATTR bool is_xmc_chip(uint32_t rdid)
{
uint32_t vendor_id = (rdid >> 16) & 0xFF;
return (vendor_id == XMC_VENDOR_ID);
}
esp_err_t IRAM_ATTR bootloader_flash_xmc_startup(void)
{
if (is_xmc_chip(g_rom_flashchip.device_id)) {
BOOTLOADER_FLASH_LOG(E, "XMC chip detected (%08X) while support disabled.", g_rom_flashchip.device_id);
return ESP_FAIL;
}
return ESP_OK;
}
#endif //XMC_SUPPORT

View File

@@ -178,9 +178,9 @@ int bootloader_flash_get_wp_pin(void)
uint8_t chip_ver;
uint32_t pkg_ver = REG_GET_FIELD(EFUSE_BLK0_RDATA3_REG, EFUSE_RD_CHIP_VER_PKG);
switch(pkg_ver) {
case EFUSE_RD_CHIP_VER_PKG_ESP32U4WDH:
case EFUSE_RD_CHIP_VER_PKG_ESP32D2WDQ5:
return ESP32_D2WD_WP_GPIO;
case EFUSE_RD_CHIP_VER_PKG_ESP32PICOD2:
case EFUSE_RD_CHIP_VER_PKG_ESP32PICOD4:
/* Same package IDs are used for ESP32-PICO-V3 and ESP32-PICO-D4, silicon version differentiates */
chip_ver = bootloader_common_get_chip_revision();
@@ -188,7 +188,7 @@ int bootloader_flash_get_wp_pin(void)
case EFUSE_RD_CHIP_VER_PKG_ESP32PICOV302:
return ESP32_PICO_V3_GPIO;
default:
return SPI_IOMUX_PIN_NUM_WP;
return SPI_WP_GPIO_NUM;
}
#endif
}
}

View File

@@ -0,0 +1,90 @@
// Copyright 2019 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include <stdbool.h>
#include <assert.h>
#include "string.h"
#include "sdkconfig.h"
#include "esp_err.h"
#include "esp_log.h"
#include "esp32s2/rom/gpio.h"
#include "esp32s2/rom/spi_flash.h"
#include "esp32s2/rom/efuse.h"
#include "soc/gpio_periph.h"
#include "soc/efuse_reg.h"
#include "soc/spi_reg.h"
#include "soc/spi_mem_reg.h"
#include "soc/spi_caps.h"
#include "flash_qio_mode.h"
#include "bootloader_flash_config.h"
#include "bootloader_common.h"
#define FLASH_IO_MATRIX_DUMMY_40M 0
#define FLASH_IO_MATRIX_DUMMY_80M 0
#define FLASH_IO_DRIVE_GD_WITH_1V8PSRAM 3
void bootloader_flash_update_id()
{
g_rom_flashchip.device_id = bootloader_read_flash_id();
}
void bootloader_flash_update_size(uint32_t size)
{
g_rom_flashchip.chip_size = size;
}
void IRAM_ATTR bootloader_flash_cs_timing_config()
{
SET_PERI_REG_MASK(SPI_MEM_USER_REG(0), SPI_MEM_CS_HOLD_M | SPI_MEM_CS_SETUP_M);
SET_PERI_REG_BITS(SPI_MEM_CTRL2_REG(0), SPI_MEM_CS_HOLD_TIME_V, 0, SPI_MEM_CS_HOLD_TIME_S);
SET_PERI_REG_BITS(SPI_MEM_CTRL2_REG(0), SPI_MEM_CS_SETUP_TIME_V, 0, SPI_MEM_CS_SETUP_TIME_S);
SET_PERI_REG_MASK(SPI_MEM_USER_REG(1), SPI_MEM_CS_HOLD_M | SPI_MEM_CS_SETUP_M);
SET_PERI_REG_BITS(SPI_MEM_CTRL2_REG(1), SPI_MEM_CS_HOLD_TIME_V, 1, SPI_MEM_CS_HOLD_TIME_S);
SET_PERI_REG_BITS(SPI_MEM_CTRL2_REG(1), SPI_MEM_CS_SETUP_TIME_V, 0, SPI_MEM_CS_SETUP_TIME_S);
}
void IRAM_ATTR bootloader_flash_clock_config(const esp_image_header_t* pfhdr)
{
uint32_t spi_clk_div = 0;
switch (pfhdr->spi_speed) {
case ESP_IMAGE_SPI_SPEED_80M:
spi_clk_div = 1;
break;
case ESP_IMAGE_SPI_SPEED_40M:
spi_clk_div = 2;
break;
case ESP_IMAGE_SPI_SPEED_26M:
spi_clk_div = 3;
break;
case ESP_IMAGE_SPI_SPEED_20M:
spi_clk_div = 4;
break;
default:
break;
}
esp_rom_spiflash_config_clk(spi_clk_div, 0);
esp_rom_spiflash_config_clk(spi_clk_div, 1);
}
void IRAM_ATTR bootloader_flash_set_dummy_out(void)
{
REG_SET_BIT(SPI_MEM_CTRL_REG(0), SPI_MEM_FDUMMY_OUT | SPI_MEM_D_POL | SPI_MEM_Q_POL);
REG_SET_BIT(SPI_MEM_CTRL_REG(1), SPI_MEM_FDUMMY_OUT | SPI_MEM_D_POL | SPI_MEM_Q_POL);
}
void IRAM_ATTR bootloader_flash_dummy_config(const esp_image_header_t* pfhdr)
{
bootloader_configure_spi_pins(1);
bootloader_flash_set_dummy_out();
}

View File

@@ -1,118 +0,0 @@
// Copyright 2019 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include <stdbool.h>
#include <assert.h>
#include "string.h"
#include "sdkconfig.h"
#include "esp_err.h"
#include "esp_log.h"
#include "esp32s2beta/rom/gpio.h"
#include "esp32s2beta/rom/spi_flash.h"
#include "esp32s2beta/rom/efuse.h"
#include "soc/gpio_periph.h"
#include "soc/efuse_reg.h"
#include "soc/spi_reg.h"
#include "soc/spi_mem_reg.h"
#include "soc/spi_caps.h"
#include "flash_qio_mode.h"
#include "bootloader_flash_config.h"
#include "bootloader_common.h"
#define FLASH_IO_MATRIX_DUMMY_40M 0
#define FLASH_IO_MATRIX_DUMMY_80M 0
#define FLASH_IO_DRIVE_GD_WITH_1V8PSRAM 3
void bootloader_flash_update_id()
{
g_rom_flashchip.device_id = bootloader_read_flash_id();
}
void IRAM_ATTR bootloader_flash_cs_timing_config()
{
SET_PERI_REG_MASK(SPI_USER_REG(0), SPI_CS_HOLD_M | SPI_CS_SETUP_M);
SET_PERI_REG_BITS(SPI_CTRL2_REG(0), SPI_CS_HOLD_TIME_V, 1, SPI_CS_HOLD_TIME_S);
SET_PERI_REG_BITS(SPI_CTRL2_REG(0), SPI_CS_SETUP_TIME_V, 0, SPI_CS_SETUP_TIME_S);
SET_PERI_REG_MASK(SPI_USER_REG(1), SPI_CS_HOLD_M | SPI_CS_SETUP_M);
SET_PERI_REG_BITS(SPI_CTRL2_REG(1), SPI_CS_HOLD_TIME_V, 1, SPI_CS_HOLD_TIME_S);
SET_PERI_REG_BITS(SPI_CTRL2_REG(1), SPI_CS_SETUP_TIME_V, 0, SPI_CS_SETUP_TIME_S);
}
void IRAM_ATTR bootloader_flash_clock_config(const esp_image_header_t* pfhdr)
{
uint32_t spi_clk_div = 0;
switch (pfhdr->spi_speed) {
case ESP_IMAGE_SPI_SPEED_80M:
spi_clk_div = 1;
break;
case ESP_IMAGE_SPI_SPEED_40M:
spi_clk_div = 2;
break;
case ESP_IMAGE_SPI_SPEED_26M:
spi_clk_div = 3;
break;
case ESP_IMAGE_SPI_SPEED_20M:
spi_clk_div = 4;
break;
default:
break;
}
esp_rom_spiflash_config_clk(spi_clk_div, 0);
}
void IRAM_ATTR bootloader_flash_gpio_config(const esp_image_header_t* pfhdr)
{
}
void IRAM_ATTR bootloader_flash_dummy_config(const esp_image_header_t* pfhdr)
{
int spi_cache_dummy = 0;
int drv = 2;
switch (pfhdr->spi_mode) {
case ESP_IMAGE_SPI_MODE_QIO:
spi_cache_dummy = SPI0_R_QIO_DUMMY_CYCLELEN;
break;
case ESP_IMAGE_SPI_MODE_DIO:
spi_cache_dummy = SPI0_R_DIO_DUMMY_CYCLELEN; //qio 3
break;
case ESP_IMAGE_SPI_MODE_QOUT:
case ESP_IMAGE_SPI_MODE_DOUT:
default:
spi_cache_dummy = SPI0_R_FAST_DUMMY_CYCLELEN;
break;
}
/* dummy_len_plus values defined in ROM for SPI flash configuration */
extern uint8_t g_rom_spiflash_dummy_len_plus[];
switch (pfhdr->spi_speed) {
case ESP_IMAGE_SPI_SPEED_80M:
g_rom_spiflash_dummy_len_plus[0] = FLASH_IO_MATRIX_DUMMY_80M;
g_rom_spiflash_dummy_len_plus[1] = FLASH_IO_MATRIX_DUMMY_80M;
SET_PERI_REG_BITS(SPI_MEM_USER1_REG(0), SPI_MEM_USR_DUMMY_CYCLELEN_V, spi_cache_dummy + FLASH_IO_MATRIX_DUMMY_80M,
SPI_MEM_USR_DUMMY_CYCLELEN_S); //DUMMY
drv = 3;
break;
case ESP_IMAGE_SPI_SPEED_40M:
g_rom_spiflash_dummy_len_plus[0] = FLASH_IO_MATRIX_DUMMY_40M;
g_rom_spiflash_dummy_len_plus[1] = FLASH_IO_MATRIX_DUMMY_40M;
SET_PERI_REG_BITS(SPI_MEM_USER1_REG(0), SPI_MEM_USR_DUMMY_CYCLELEN_V, spi_cache_dummy + FLASH_IO_MATRIX_DUMMY_40M,
SPI_MEM_USR_DUMMY_CYCLELEN_S); //DUMMY
break;
default:
break;
}
bootloader_configure_spi_pins(drv);
}

View File

@@ -17,17 +17,15 @@
#include "esp_attr.h"
#include "esp_log.h"
#include "bootloader_init.h"
#include "bootloader_flash.h"
#include "bootloader_flash_priv.h"
#include "bootloader_flash_config.h"
#include "bootloader_random.h"
#include "bootloader_clock.h"
#include "bootloader_common.h"
#include "esp_flash_encrypt.h"
#include "hal/timer_ll.h"
#include "soc/cpu.h"
#include "soc/rtc.h"
#include "soc/rtc_wdt.h"
#include "hal/wdt_hal.h"
static const char *TAG = "boot";
@@ -62,21 +60,34 @@ esp_err_t bootloader_check_bootloader_validity(void)
void bootloader_config_wdt(void)
{
/*
* At this point, the flashboot protection of RWDT and MWDT0 will have been
* automatically enabled. We can disable flashboot protection as it's not
* needed anymore. If configured to do so, we also initialize the RWDT to
* protect the remainder of the bootloader process.
*/
//Disable RWDT flashboot protection.
wdt_hal_context_t rtc_wdt_ctx = {.inst = WDT_RWDT, .rwdt_dev = &RTCCNTL};
wdt_hal_write_protect_disable(&rtc_wdt_ctx);
wdt_hal_set_flashboot_en(&rtc_wdt_ctx, false);
wdt_hal_write_protect_enable(&rtc_wdt_ctx);
#ifdef CONFIG_BOOTLOADER_WDT_ENABLE
//Initialize and start RWDT to protect the for bootloader if configured to do so
ESP_LOGD(TAG, "Enabling RTCWDT(%d ms)", CONFIG_BOOTLOADER_WDT_TIME_MS);
rtc_wdt_protect_off();
rtc_wdt_disable();
rtc_wdt_set_length_of_reset_signal(RTC_WDT_SYS_RESET_SIG, RTC_WDT_LENGTH_3_2us);
rtc_wdt_set_length_of_reset_signal(RTC_WDT_CPU_RESET_SIG, RTC_WDT_LENGTH_3_2us);
rtc_wdt_set_stage(RTC_WDT_STAGE0, RTC_WDT_STAGE_ACTION_RESET_RTC);
rtc_wdt_set_time(RTC_WDT_STAGE0, CONFIG_BOOTLOADER_WDT_TIME_MS);
rtc_wdt_enable();
rtc_wdt_protect_on();
#else /* disable watch dog */
rtc_wdt_disable();
wdt_hal_init(&rtc_wdt_ctx, WDT_RWDT, 0, false);
uint32_t stage_timeout_ticks = (uint32_t)((uint64_t)CONFIG_BOOTLOADER_WDT_TIME_MS * rtc_clk_slow_freq_get_hz() / 1000);
wdt_hal_write_protect_disable(&rtc_wdt_ctx);
wdt_hal_config_stage(&rtc_wdt_ctx, WDT_STAGE0, stage_timeout_ticks, WDT_STAGE_ACTION_RESET_RTC);
wdt_hal_enable(&rtc_wdt_ctx);
wdt_hal_write_protect_enable(&rtc_wdt_ctx);
#endif
timer_ll_wdt_set_protect(&TIMERG0, false);
timer_ll_wdt_flashboot_en(&TIMERG0, false);
//Disable MWDT0 flashboot protection. But only after we've enabled the RWDT first so that there's not gap in WDT protection.
wdt_hal_context_t wdt_ctx = {.inst = WDT_MWDT0, .mwdt_dev = &TIMERG0};
wdt_hal_write_protect_disable(&wdt_ctx);
wdt_hal_set_flashboot_en(&wdt_ctx, false);
wdt_hal_write_protect_enable(&wdt_ctx);
}
void bootloader_enable_random(void)

View File

@@ -0,0 +1,48 @@
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include <stdbool.h>
#include "xtensa/config/core.h"
#include "hal/cpu_hal.h"
#include "hal/mpu_hal.h"
#include "hal/mpu_types.h"
#include "soc/mpu_caps.h"
#include "bootloader_mem.h"
#include "xt_instr_macros.h"
#include "xtensa/config/specreg.h"
static inline void cpu_configure_region_protection(void)
{
/* Currently, the only supported chips esp32 and esp32s2
* have the same configuration. Move this to the port layer once
* more chips with different configurations are supported.
*
* Both chips have the address space divided into 8 regions, 512MB each.
*/
const int illegal_regions[] = {0, 4, 5, 6, 7}; // 0x00000000, 0x80000000, 0xa0000000, 0xc0000000, 0xe0000000
for (int i = 0; i < sizeof(illegal_regions) / sizeof(illegal_regions[0]); ++i) {
mpu_hal_set_region_access(illegal_regions[i], MPU_REGION_ILLEGAL);
}
mpu_hal_set_region_access(1, MPU_REGION_RW); // 0x20000000
}
void bootloader_init_mem(void)
{
cpu_hal_init_hwloop();
// protect memory region
cpu_configure_region_protection();
}

View File

@@ -1,4 +1,4 @@
// Copyright 2010-2016 Espressif Systems (Shanghai) PTE LTD
// Copyright 2010-2020 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -11,15 +11,10 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "sdkconfig.h"
#include "bootloader_random.h"
#include "soc/cpu.h"
#include "soc/wdev_reg.h"
#include "soc/rtc_periph.h"
#include "soc/sens_periph.h"
#include "soc/syscon_periph.h"
#include "soc/dport_reg.h"
#include "soc/i2s_periph.h"
#include "esp_log.h"
#ifndef BOOTLOADER_BUILD
#include "esp_system.h"
@@ -35,9 +30,7 @@ void bootloader_fill_random(void *buffer, size_t length)
{
uint8_t *buffer_bytes = (uint8_t *)buffer;
uint32_t random;
#if CONFIG_IDF_TARGET_ESP32
uint32_t start, now;
#endif
assert(buffer != NULL);
@@ -50,152 +43,14 @@ void bootloader_fill_random(void *buffer, size_t length)
as-is, we repeatedly read the RNG register and XOR all
values.
*/
#if CONFIG_IDF_TARGET_ESP32
random = REG_READ(WDEV_RND_REG);
RSR(CCOUNT, start);
do {
random ^= REG_READ(WDEV_RND_REG);
RSR(CCOUNT, now);
} while (now - start < 80 * 32 * 2); /* extra factor of 2 is precautionary */
#elif CONFIG_IDF_TARGET_ESP32S2BETA
// ToDo: Get random from register
random = 12345678;
#endif
}
buffer_bytes[i] = random >> ((i % 4) * 8);
}
}
#endif // BOOTLOADER_BUILD
void bootloader_random_enable(void)
{
/* Ensure the hardware RNG is enabled following a soft reset. This should always be the case already (this clock is
never disabled while the CPU is running), this is a "belts and braces" type check.
*/
#ifdef BOOTLOADER_BUILD
DPORT_SET_PERI_REG_MASK(DPORT_WIFI_CLK_EN_REG, DPORT_WIFI_CLK_RNG_EN);
#else
periph_module_enable(PERIPH_RNG_MODULE);
#endif // BOOTLOADER_BUILD
/* Enable SAR ADC in test mode to feed ADC readings of the 1.1V
reference via I2S into the RNG entropy input.
Note: I2S requires the PLL to be running, so the call to rtc_set_cpu_freq(CPU_80M)
in early bootloader startup must have been made.
*/
SET_PERI_REG_BITS(RTC_CNTL_TEST_MUX_REG, RTC_CNTL_DTEST_RTC, 2, RTC_CNTL_DTEST_RTC_S);
SET_PERI_REG_MASK(RTC_CNTL_TEST_MUX_REG, RTC_CNTL_ENT_RTC);
#if CONFIG_IDF_TARGET_ESP32
SET_PERI_REG_MASK(SENS_SAR_START_FORCE_REG, SENS_SAR2_EN_TEST);
#ifdef BOOTLOADER_BUILD
DPORT_SET_PERI_REG_MASK(DPORT_PERIP_CLK_EN_REG, DPORT_I2S0_CLK_EN);
#else
periph_module_enable(PERIPH_I2S0_MODULE);
#endif // BOOTLOADER_BUILD
CLEAR_PERI_REG_MASK(SENS_SAR_START_FORCE_REG, SENS_ULP_CP_FORCE_START_TOP);
CLEAR_PERI_REG_MASK(SENS_SAR_START_FORCE_REG, SENS_ULP_CP_START_TOP);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
SET_PERI_REG_MASK(SENS_SAR_MEAS2_CTRL1_REG, SENS_SAR2_EN_TEST);
DPORT_SET_PERI_REG_MASK(DPORT_PERIP_CLK_EN_REG, DPORT_I2S0_CLK_EN);
CLEAR_PERI_REG_MASK(RTC_CNTL_ULP_CP_CTRL_REG, RTC_CNTL_ULP_CP_FORCE_START_TOP);
CLEAR_PERI_REG_MASK(RTC_CNTL_ULP_CP_CTRL_REG, RTC_CNTL_ULP_CP_START_TOP);
#endif
// Test pattern configuration byte 0xAD:
//--[7:4] channel_sel: 10-->en_test
//--[3:2] bit_width : 3-->12bit
//--[1:0] atten : 1-->3dB attenuation
WRITE_PERI_REG(SYSCON_SARADC_SAR2_PATT_TAB1_REG, 0xADADADAD);
WRITE_PERI_REG(SYSCON_SARADC_SAR2_PATT_TAB2_REG, 0xADADADAD);
WRITE_PERI_REG(SYSCON_SARADC_SAR2_PATT_TAB3_REG, 0xADADADAD);
WRITE_PERI_REG(SYSCON_SARADC_SAR2_PATT_TAB4_REG, 0xADADADAD);
#if CONFIG_IDF_TARGET_ESP32
SET_PERI_REG_BITS(SENS_SAR_MEAS_WAIT2_REG, SENS_FORCE_XPD_SAR, 3, SENS_FORCE_XPD_SAR_S);
SET_PERI_REG_MASK(SENS_SAR_READ_CTRL_REG, SENS_SAR1_DIG_FORCE);
SET_PERI_REG_MASK(SENS_SAR_READ_CTRL2_REG, SENS_SAR2_DIG_FORCE);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
SET_PERI_REG_BITS(SENS_SAR_POWER_XPD_SAR_REG, SENS_FORCE_XPD_SAR, 3, SENS_FORCE_XPD_SAR_S);
SET_PERI_REG_MASK(SENS_SAR_MEAS1_MUX_REG, SENS_SAR1_DIG_FORCE);
#endif
#if CONFIG_IDF_TARGET_ESP32
SET_PERI_REG_MASK(SYSCON_SARADC_CTRL_REG, SYSCON_SARADC_SAR2_MUX);
#endif
SET_PERI_REG_BITS(SYSCON_SARADC_CTRL_REG, SYSCON_SARADC_SAR_CLK_DIV, 4, SYSCON_SARADC_SAR_CLK_DIV_S);
SET_PERI_REG_BITS(SYSCON_SARADC_FSM_REG, SYSCON_SARADC_RSTB_WAIT, 8, SYSCON_SARADC_RSTB_WAIT_S); /* was 1 */
#if CONFIG_IDF_TARGET_ESP32
SET_PERI_REG_BITS(SYSCON_SARADC_FSM_REG, SYSCON_SARADC_START_WAIT, 10, SYSCON_SARADC_START_WAIT_S);
#endif
SET_PERI_REG_BITS(SYSCON_SARADC_CTRL_REG, SYSCON_SARADC_WORK_MODE, 0, SYSCON_SARADC_WORK_MODE_S);
SET_PERI_REG_MASK(SYSCON_SARADC_CTRL_REG, SYSCON_SARADC_SAR_SEL);
CLEAR_PERI_REG_MASK(SYSCON_SARADC_CTRL_REG, SYSCON_SARADC_DATA_SAR_SEL);
SET_PERI_REG_BITS(I2S_SAMPLE_RATE_CONF_REG(0), I2S_RX_BCK_DIV_NUM, 20, I2S_RX_BCK_DIV_NUM_S);
SET_PERI_REG_MASK(SYSCON_SARADC_CTRL_REG, SYSCON_SARADC_DATA_TO_I2S);
CLEAR_PERI_REG_MASK(I2S_CONF2_REG(0), I2S_CAMERA_EN);
SET_PERI_REG_MASK(I2S_CONF2_REG(0), I2S_LCD_EN);
SET_PERI_REG_MASK(I2S_CONF2_REG(0), I2S_DATA_ENABLE);
SET_PERI_REG_MASK(I2S_CONF2_REG(0), I2S_DATA_ENABLE_TEST_EN);
SET_PERI_REG_MASK(I2S_CONF_REG(0), I2S_RX_START);
}
void bootloader_random_disable(void)
{
/* Reset some i2s configuration (possibly redundant as we reset entire
I2S peripheral further down). */
CLEAR_PERI_REG_MASK(I2S_CONF_REG(0), I2S_RX_START);
SET_PERI_REG_MASK(I2S_CONF_REG(0), I2S_RX_RESET);
CLEAR_PERI_REG_MASK(I2S_CONF_REG(0), I2S_RX_RESET);
CLEAR_PERI_REG_MASK(I2S_CONF2_REG(0), I2S_CAMERA_EN);
CLEAR_PERI_REG_MASK(I2S_CONF2_REG(0), I2S_LCD_EN);
CLEAR_PERI_REG_MASK(I2S_CONF2_REG(0), I2S_DATA_ENABLE_TEST_EN);
CLEAR_PERI_REG_MASK(I2S_CONF2_REG(0), I2S_DATA_ENABLE);
/* Disable i2s clock */
#ifdef BOOTLOADER_BUILD
DPORT_CLEAR_PERI_REG_MASK(DPORT_PERIP_CLK_EN_REG, DPORT_I2S0_CLK_EN);
#else
periph_module_disable(PERIPH_I2S0_MODULE);
#endif // BOOTLOADER_BUILD
/* Restore SYSCON mode registers */
#if CONFIG_IDF_TARGET_ESP32
CLEAR_PERI_REG_MASK(SENS_SAR_READ_CTRL_REG, SENS_SAR1_DIG_FORCE);
CLEAR_PERI_REG_MASK(SENS_SAR_READ_CTRL2_REG, SENS_SAR2_DIG_FORCE);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
CLEAR_PERI_REG_MASK(SENS_SAR_MEAS1_MUX_REG, SENS_SAR1_DIG_FORCE);
#endif
#if CONFIG_IDF_TARGET_ESP32
/* Restore SAR ADC mode */
CLEAR_PERI_REG_MASK(SENS_SAR_START_FORCE_REG, SENS_SAR2_EN_TEST);
CLEAR_PERI_REG_MASK(SYSCON_SARADC_CTRL_REG, SYSCON_SARADC_SAR2_MUX
| SYSCON_SARADC_SAR_SEL | SYSCON_SARADC_DATA_TO_I2S);
SET_PERI_REG_BITS(SENS_SAR_MEAS_WAIT2_REG, SENS_FORCE_XPD_SAR, 0, SENS_FORCE_XPD_SAR_S);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
CLEAR_PERI_REG_MASK(SENS_SAR_MEAS2_CTRL1_REG, SENS_SAR2_EN_TEST);
CLEAR_PERI_REG_MASK(SYSCON_SARADC_CTRL_REG, SYSCON_SARADC_SAR_SEL | SYSCON_SARADC_DATA_TO_I2S);
SET_PERI_REG_BITS(SENS_SAR_POWER_XPD_SAR_REG, SENS_FORCE_XPD_SAR, 0, SENS_FORCE_XPD_SAR_S);
#endif
#if CONFIG_IDF_TARGET_ESP32
SET_PERI_REG_BITS(SYSCON_SARADC_FSM_REG, SYSCON_SARADC_START_WAIT, 8, SYSCON_SARADC_START_WAIT_S);
#endif
/* Reset i2s peripheral */
#ifdef BOOTLOADER_BUILD
DPORT_SET_PERI_REG_MASK(DPORT_PERIP_RST_EN_REG, DPORT_I2S0_RST);
DPORT_CLEAR_PERI_REG_MASK(DPORT_PERIP_RST_EN_REG, DPORT_I2S0_RST);
#else
periph_module_reset(PERIPH_I2S0_MODULE);
#endif
/* Disable pull supply voltage to SAR ADC */
CLEAR_PERI_REG_MASK(RTC_CNTL_TEST_MUX_REG, RTC_CNTL_ENT_RTC);
SET_PERI_REG_BITS(RTC_CNTL_TEST_MUX_REG, RTC_CNTL_DTEST_RTC, 0, RTC_CNTL_DTEST_RTC_S);
}

View File

@@ -0,0 +1,128 @@
// Copyright 2016-2020 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "sdkconfig.h"
#include "bootloader_random.h"
#include "soc/rtc_periph.h"
#include "soc/sens_periph.h"
#include "soc/syscon_periph.h"
#include "soc/dport_reg.h"
#include "soc/i2s_periph.h"
#include "esp_log.h"
#include "soc/io_mux_reg.h"
#ifndef BOOTLOADER_BUILD
#include "driver/periph_ctrl.h"
#endif
void bootloader_random_enable(void)
{
/* Ensure the hardware RNG is enabled following a soft reset. This should always be the case already (this clock is
never disabled while the CPU is running), this is a "belts and braces" type check.
*/
#ifdef BOOTLOADER_BUILD
DPORT_SET_PERI_REG_MASK(DPORT_WIFI_CLK_EN_REG, DPORT_WIFI_CLK_RNG_EN);
#else
periph_module_enable(PERIPH_RNG_MODULE);
#endif // BOOTLOADER_BUILD
/* Enable SAR ADC in test mode to feed ADC readings of the 1.1V
reference via I2S into the RNG entropy input.
Note: I2S requires the PLL to be running, so the call to rtc_set_cpu_freq(CPU_80M)
in early bootloader startup must have been made.
*/
SET_PERI_REG_BITS(RTC_CNTL_TEST_MUX_REG, RTC_CNTL_DTEST_RTC, 2, RTC_CNTL_DTEST_RTC_S);
SET_PERI_REG_MASK(RTC_CNTL_TEST_MUX_REG, RTC_CNTL_ENT_RTC);
SET_PERI_REG_MASK(SENS_SAR_START_FORCE_REG, SENS_SAR2_EN_TEST);
#ifdef BOOTLOADER_BUILD
DPORT_SET_PERI_REG_MASK(DPORT_PERIP_CLK_EN_REG, DPORT_I2S0_CLK_EN);
#else
periph_module_enable(PERIPH_I2S0_MODULE);
#endif // BOOTLOADER_BUILD
CLEAR_PERI_REG_MASK(SENS_SAR_START_FORCE_REG, SENS_ULP_CP_FORCE_START_TOP);
CLEAR_PERI_REG_MASK(SENS_SAR_START_FORCE_REG, SENS_ULP_CP_START_TOP);
// Test pattern configuration byte 0xAD:
//--[7:4] channel_sel: 10-->en_test
//--[3:2] bit_width : 3-->12bit
//--[1:0] atten : 1-->3dB attenuation
WRITE_PERI_REG(SYSCON_SARADC_SAR2_PATT_TAB1_REG, 0xADADADAD);
WRITE_PERI_REG(SYSCON_SARADC_SAR2_PATT_TAB2_REG, 0xADADADAD);
WRITE_PERI_REG(SYSCON_SARADC_SAR2_PATT_TAB3_REG, 0xADADADAD);
WRITE_PERI_REG(SYSCON_SARADC_SAR2_PATT_TAB4_REG, 0xADADADAD);
SET_PERI_REG_BITS(SENS_SAR_MEAS_WAIT2_REG, SENS_FORCE_XPD_SAR, 3, SENS_FORCE_XPD_SAR_S);
SET_PERI_REG_MASK(SENS_SAR_READ_CTRL_REG, SENS_SAR1_DIG_FORCE);
SET_PERI_REG_MASK(SENS_SAR_READ_CTRL2_REG, SENS_SAR2_DIG_FORCE);
SET_PERI_REG_MASK(SYSCON_SARADC_CTRL_REG, SYSCON_SARADC_SAR2_MUX);
SET_PERI_REG_BITS(SYSCON_SARADC_CTRL_REG, SYSCON_SARADC_SAR_CLK_DIV, 4, SYSCON_SARADC_SAR_CLK_DIV_S);
SET_PERI_REG_BITS(SYSCON_SARADC_FSM_REG, SYSCON_SARADC_RSTB_WAIT, 8, SYSCON_SARADC_RSTB_WAIT_S); /* was 1 */
SET_PERI_REG_BITS(SYSCON_SARADC_FSM_REG, SYSCON_SARADC_START_WAIT, 10, SYSCON_SARADC_START_WAIT_S);
SET_PERI_REG_BITS(SYSCON_SARADC_CTRL_REG, SYSCON_SARADC_WORK_MODE, 0, SYSCON_SARADC_WORK_MODE_S);
SET_PERI_REG_MASK(SYSCON_SARADC_CTRL_REG, SYSCON_SARADC_SAR_SEL);
CLEAR_PERI_REG_MASK(SYSCON_SARADC_CTRL_REG, SYSCON_SARADC_DATA_SAR_SEL);
SET_PERI_REG_BITS(I2S_SAMPLE_RATE_CONF_REG(0), I2S_RX_BCK_DIV_NUM, 20, I2S_RX_BCK_DIV_NUM_S);
SET_PERI_REG_MASK(SYSCON_SARADC_CTRL_REG, SYSCON_SARADC_DATA_TO_I2S);
CLEAR_PERI_REG_MASK(I2S_CONF2_REG(0), I2S_CAMERA_EN);
SET_PERI_REG_MASK(I2S_CONF2_REG(0), I2S_LCD_EN);
SET_PERI_REG_MASK(I2S_CONF2_REG(0), I2S_DATA_ENABLE);
SET_PERI_REG_MASK(I2S_CONF2_REG(0), I2S_DATA_ENABLE_TEST_EN);
SET_PERI_REG_MASK(I2S_CONF_REG(0), I2S_RX_START);
}
void bootloader_random_disable(void)
{
/* Reset some i2s configuration (possibly redundant as we reset entire
I2S peripheral further down). */
CLEAR_PERI_REG_MASK(I2S_CONF_REG(0), I2S_RX_START);
SET_PERI_REG_MASK(I2S_CONF_REG(0), I2S_RX_RESET);
CLEAR_PERI_REG_MASK(I2S_CONF_REG(0), I2S_RX_RESET);
CLEAR_PERI_REG_MASK(I2S_CONF2_REG(0), I2S_CAMERA_EN);
CLEAR_PERI_REG_MASK(I2S_CONF2_REG(0), I2S_LCD_EN);
CLEAR_PERI_REG_MASK(I2S_CONF2_REG(0), I2S_DATA_ENABLE_TEST_EN);
CLEAR_PERI_REG_MASK(I2S_CONF2_REG(0), I2S_DATA_ENABLE);
/* Disable i2s clock */
#ifdef BOOTLOADER_BUILD
DPORT_CLEAR_PERI_REG_MASK(DPORT_PERIP_CLK_EN_REG, DPORT_I2S0_CLK_EN);
#else
periph_module_disable(PERIPH_I2S0_MODULE);
#endif // BOOTLOADER_BUILD
/* Restore SYSCON mode registers */
CLEAR_PERI_REG_MASK(SENS_SAR_READ_CTRL_REG, SENS_SAR1_DIG_FORCE);
CLEAR_PERI_REG_MASK(SENS_SAR_READ_CTRL2_REG, SENS_SAR2_DIG_FORCE);
/* Restore SAR ADC mode */
CLEAR_PERI_REG_MASK(SENS_SAR_START_FORCE_REG, SENS_SAR2_EN_TEST);
CLEAR_PERI_REG_MASK(SYSCON_SARADC_CTRL_REG, SYSCON_SARADC_SAR2_MUX
| SYSCON_SARADC_SAR_SEL | SYSCON_SARADC_DATA_TO_I2S);
SET_PERI_REG_BITS(SENS_SAR_MEAS_WAIT2_REG, SENS_FORCE_XPD_SAR, 0, SENS_FORCE_XPD_SAR_S);
SET_PERI_REG_BITS(SYSCON_SARADC_FSM_REG, SYSCON_SARADC_START_WAIT, 8, SYSCON_SARADC_START_WAIT_S);
/* Reset i2s peripheral */
#ifdef BOOTLOADER_BUILD
DPORT_SET_PERI_REG_MASK(DPORT_PERIP_RST_EN_REG, DPORT_I2S0_RST);
DPORT_CLEAR_PERI_REG_MASK(DPORT_PERIP_RST_EN_REG, DPORT_I2S0_RST);
#else
periph_module_reset(PERIPH_I2S0_MODULE);
#endif
/* Disable pull supply voltage to SAR ADC */
CLEAR_PERI_REG_MASK(RTC_CNTL_TEST_MUX_REG, RTC_CNTL_ENT_RTC);
SET_PERI_REG_BITS(RTC_CNTL_TEST_MUX_REG, RTC_CNTL_DTEST_RTC, 0, RTC_CNTL_DTEST_RTC_S);
}

View File

@@ -0,0 +1,106 @@
// Copyright 2019-2020 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "sdkconfig.h"
#include "bootloader_random.h"
#include "soc/rtc_periph.h"
#include "soc/sens_periph.h"
#include "soc/syscon_periph.h"
#include "soc/dport_reg.h"
#include "soc/i2s_periph.h"
#include "esp_log.h"
#include "soc/io_mux_reg.h"
#include "soc/apb_saradc_reg.h"
#include "regi2c_ctrl.h"
#include "hal/adc_ll.h"
#ifndef BOOTLOADER_BUILD
#include "driver/periph_ctrl.h"
#endif
void bootloader_random_enable(void)
{
/* Ensure the Wifi clock for RNG modiule is enabled following a soft reset. This should always be the case already
(this clock is never disabled while the CPU is running), this is a "belt and braces" type check.
*/
#ifdef BOOTLOADER_BUILD
DPORT_SET_PERI_REG_MASK(DPORT_WIFI_CLK_EN_REG, DPORT_WIFI_CLK_RNG_EN);
#else
periph_module_enable(PERIPH_RNG_MODULE);
#endif // BOOTLOADER_BUILD
// Enable 8M clock source for RNG (this is actually enough to produce strong random results,
// but enabling the SAR ADC as well adds some insurance.)
REG_SET_BIT(RTC_CNTL_CLK_CONF_REG, RTC_CNTL_DIG_CLK8M_EN);
// Enable SAR ADC to read a disconnected input for additional entropy
SET_PERI_REG_MASK(DPORT_PERIP_CLK_EN0_REG,DPORT_APB_SARADC_CLK_EN);
REG_SET_FIELD(APB_SARADC_APB_ADC_CLKM_CONF_REG, APB_SARADC_CLK_SEL, 2);
CLEAR_PERI_REG_MASK(RTC_CNTL_ANA_CONF_REG, RTC_CNTL_SAR_I2C_FORCE_PD_M);
SET_PERI_REG_MASK(RTC_CNTL_ANA_CONF_REG, RTC_CNTL_SAR_I2C_FORCE_PU_M);
CLEAR_PERI_REG_MASK(ANA_CONFIG_REG, BIT(18));
SET_PERI_REG_MASK(ANA_CONFIG2_REG, BIT(16));
REGI2C_WRITE_MASK(I2C_SAR_ADC, ADC_SAR1_DREF_ADDR, 0x4);
REGI2C_WRITE_MASK(I2C_SAR_ADC, ADC_SAR2_DREF_ADDR, 0x4);
REGI2C_WRITE_MASK(I2C_SAR_ADC, ADC_SARADC_ENCAL_REF_ADDR, 1);
REGI2C_WRITE_MASK(I2C_SAR_ADC, ADC_SARADC_ENT_TSENS_ADDR, 1);
REGI2C_WRITE_MASK(I2C_SAR_ADC, ADC_SARADC_ENT_RTC_ADDR, 0);
REG_SET_FIELD(APB_SARADC_CTRL_REG, APB_SARADC_SAR1_PATT_LEN, 0);
WRITE_PERI_REG(APB_SARADC_SAR1_PATT_TAB1_REG,0xafffffff); // set adc1 channel & bitwidth & atten
REG_SET_FIELD(APB_SARADC_CTRL_REG, APB_SARADC_SAR2_PATT_LEN, 0);
WRITE_PERI_REG(APB_SARADC_SAR2_PATT_TAB1_REG,0xafffffff); //set adc2 channel & bitwidth & atten
SET_PERI_REG_MASK(SENS_SAR_MEAS1_MUX_REG,SENS_SAR1_DIG_FORCE);
REG_SET_FIELD(APB_SARADC_CTRL_REG,APB_SARADC_WORK_MODE, 1);
CLEAR_PERI_REG_MASK(APB_SARADC_CTRL2_REG,APB_SARADC_MEAS_NUM_LIMIT);
REG_SET_FIELD(SENS_SAR_POWER_XPD_SAR_REG, SENS_FORCE_XPD_SAR, 3);
SET_PERI_REG_MASK(APB_SARADC_CTRL2_REG,APB_SARADC_TIMER_SEL);
REG_SET_FIELD(APB_SARADC_CTRL2_REG, APB_SARADC_TIMER_TARGET, 100);
CLEAR_PERI_REG_MASK(APB_SARADC_CTRL_REG,APB_SARADC_START_FORCE);
SET_PERI_REG_MASK(APB_SARADC_CTRL2_REG,APB_SARADC_TIMER_EN);
}
void bootloader_random_disable(void)
{
/* Restore internal I2C bus state */
REGI2C_WRITE_MASK(I2C_SAR_ADC, ADC_SAR1_DREF_ADDR, 0x1);
REGI2C_WRITE_MASK(I2C_SAR_ADC, ADC_SAR2_DREF_ADDR, 0x1);
REGI2C_WRITE_MASK(I2C_SAR_ADC, ADC_SARADC_ENCAL_REF_ADDR, 0);
REGI2C_WRITE_MASK(I2C_SAR_ADC, ADC_SARADC_ENT_TSENS_ADDR, 0);
REGI2C_WRITE_MASK(I2C_SAR_ADC, ADC_SARADC_ENT_RTC_ADDR, 0);
/* Restore SARADC to default mode */
CLEAR_PERI_REG_MASK(SENS_SAR_MEAS1_MUX_REG, SENS_SAR1_DIG_FORCE);
SET_PERI_REG_MASK(DPORT_PERIP_CLK_EN0_REG, DPORT_APB_SARADC_CLK_EN);
SET_PERI_REG_BITS(SENS_SAR_POWER_XPD_SAR_REG, SENS_FORCE_XPD_SAR, 0, SENS_FORCE_XPD_SAR_S);
CLEAR_PERI_REG_MASK(APB_SARADC_CTRL2_REG, APB_SARADC_TIMER_EN);
/* Note: the 8M CLK entropy source continues running even after this function is called,
but as mentioned above it's better to enable Wi-Fi or BT or call bootloader_random_enable()
in order to get a secondary entropy source.
*/
}

View File

@@ -29,16 +29,18 @@
#include "esp32/rom/uart.h"
#include "esp32/rom/gpio.h"
#include "esp32/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#include "esp32s2beta/rom/cache.h"
#include "esp32s2beta/rom/efuse.h"
#include "esp32s2beta/rom/ets_sys.h"
#include "esp32s2beta/rom/spi_flash.h"
#include "esp32s2beta/rom/crc.h"
#include "esp32s2beta/rom/rtc.h"
#include "esp32s2beta/rom/uart.h"
#include "esp32s2beta/rom/gpio.h"
#include "esp32s2beta/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/cache.h"
#include "esp32s2/rom/efuse.h"
#include "esp32s2/rom/ets_sys.h"
#include "esp32s2/rom/spi_flash.h"
#include "esp32s2/rom/crc.h"
#include "esp32s2/rom/rtc.h"
#include "esp32s2/rom/uart.h"
#include "esp32s2/rom/gpio.h"
#include "esp32s2/rom/secure_boot.h"
#include "soc/extmem_reg.h"
#include "soc/cache_memory.h"
#else
#error "Unsupported IDF_TARGET"
#endif
@@ -57,7 +59,7 @@
#include "esp_secure_boot.h"
#include "esp_flash_encrypt.h"
#include "esp_flash_partitions.h"
#include "bootloader_flash.h"
#include "bootloader_flash_priv.h"
#include "bootloader_random.h"
#include "bootloader_config.h"
#include "bootloader_common.h"
@@ -386,7 +388,7 @@ int bootloader_utility_get_selected_boot_partition(const bootloader_state_t *bs)
#endif // CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
#ifdef CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
if(otadata[active_otadata].ota_state == ESP_OTA_IMG_VALID) {
if (otadata[active_otadata].ota_state == ESP_OTA_IMG_VALID) {
update_anti_rollback(&bs->ota[boot_index]);
}
#endif // CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
@@ -449,7 +451,7 @@ static void set_actual_ota_seq(const bootloader_state_t *bs, int index)
void bootloader_utility_load_boot_image_from_deep_sleep(void)
{
if (rtc_get_reset_reason(0) == DEEPSLEEP_RESET) {
esp_partition_pos_t* partition = bootloader_common_get_rtc_retain_mem_partition();
esp_partition_pos_t *partition = bootloader_common_get_rtc_retain_mem_partition();
if (partition != NULL) {
esp_image_metadata_t image_data;
if (bootloader_load_image_no_verify(partition, &image_data) == ESP_OK) {
@@ -631,9 +633,7 @@ static void load_image(const esp_image_metadata_t *image_data)
#endif
ESP_LOGI(TAG, "Disabling RNG early entropy source...");
#if !CONFIG_IDF_ENV_FPGA
bootloader_random_disable();
#endif
// copy loaded segments to RAM, set up caches for mapped segments, and start application
unpack_load_app(image_data);
@@ -697,7 +697,7 @@ static void set_cache_and_start_app(
#if CONFIG_IDF_TARGET_ESP32
Cache_Read_Disable(0);
Cache_Flush(0);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
uint32_t autoload = Cache_Suspend_ICache();
Cache_Invalidate_ICache_All();
#endif
@@ -705,19 +705,23 @@ static void set_cache_and_start_app(
/* Clear the MMU entries that are already set up,
so the new app only has the mappings it creates.
*/
#if CONFIG_IDF_TARGET_ESP32
for (int i = 0; i < DPORT_FLASH_MMU_TABLE_SIZE; i++) {
DPORT_PRO_FLASH_MMU_TABLE[i] = DPORT_FLASH_MMU_TABLE_INVALID_VAL;
}
#elif CONFIG_IDF_TARGET_ESP32S2
for (int i = 0; i < FLASH_MMU_TABLE_SIZE; i++) {
FLASH_MMU_TABLE[i] = MMU_TABLE_INVALID_VAL;
}
#endif
uint32_t drom_load_addr_aligned = drom_load_addr & MMU_FLASH_MASK;
uint32_t drom_page_count = bootloader_cache_pages_to_map(drom_size, drom_load_addr);
ESP_LOGV(TAG, "d mmu set paddr=%08x vaddr=%08x size=%d n=%d",
drom_addr & MMU_FLASH_MASK, drom_load_addr_aligned, drom_size, drom_page_count);
#if CONFIG_IDF_TARGET_ESP32
rc = cache_flash_mmu_set(0, 0, drom_load_addr_aligned, drom_addr & MMU_FLASH_MASK, 64, drom_page_count);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
rc = Cache_Ibus_MMU_Set(DPORT_MMU_ACCESS_FLASH, drom_load_addr & 0xffff0000, drom_addr & 0xffff0000,
64, drom_page_count, 0);
#elif CONFIG_IDF_TARGET_ESP32S2
rc = Cache_Ibus_MMU_Set(MMU_ACCESS_FLASH, drom_load_addr & 0xffff0000, drom_addr & 0xffff0000, 64, drom_page_count, 0);
#endif
ESP_LOGV(TAG, "rc=%d", rc);
#if CONFIG_IDF_TARGET_ESP32
@@ -730,27 +734,17 @@ static void set_cache_and_start_app(
irom_addr & MMU_FLASH_MASK, irom_load_addr_aligned, irom_size, irom_page_count);
#if CONFIG_IDF_TARGET_ESP32
rc = cache_flash_mmu_set(0, 0, irom_load_addr_aligned, irom_addr & MMU_FLASH_MASK, 64, irom_page_count);
ESP_LOGV(TAG, "rc=%d", rc);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
uint32_t iram1_used = 0, irom0_used = 0;
#elif CONFIG_IDF_TARGET_ESP32S2
uint32_t iram1_used = 0;
if (irom_load_addr + irom_size > IRAM1_ADDRESS_LOW) {
iram1_used = 1;
}
if (irom_load_addr + irom_size > IROM0_ADDRESS_LOW) {
irom0_used = 1;
if (iram1_used) {
rc = Cache_Ibus_MMU_Set(MMU_ACCESS_FLASH, IRAM0_ADDRESS_LOW, 0, 64, 64, 1);
rc = Cache_Ibus_MMU_Set(MMU_ACCESS_FLASH, IRAM1_ADDRESS_LOW, 0, 64, 64, 1);
REG_CLR_BIT(EXTMEM_PRO_ICACHE_CTRL1_REG, EXTMEM_PRO_ICACHE_MASK_IRAM1);
}
if (iram1_used || irom0_used) {
rc = Cache_Ibus_MMU_Set(DPORT_MMU_ACCESS_FLASH, IRAM0_ADDRESS_LOW, 0, 64, 64, 1);
rc = Cache_Ibus_MMU_Set(DPORT_MMU_ACCESS_FLASH, IRAM1_ADDRESS_LOW, 0, 64, 64, 1);
REG_SET_BIT(DPORT_CACHE_SOURCE_1_REG, DPORT_PRO_CACHE_I_SOURCE_PRO_IRAM1);
REG_CLR_BIT(DPORT_PRO_ICACHE_CTRL1_REG, DPORT_PRO_ICACHE_MASK_IRAM1);
if (irom0_used) {
rc = Cache_Ibus_MMU_Set(DPORT_MMU_ACCESS_FLASH, IROM0_ADDRESS_LOW, 0, 64, 64, 1);
REG_SET_BIT(DPORT_CACHE_SOURCE_1_REG, DPORT_PRO_CACHE_I_SOURCE_PRO_IROM0);
REG_CLR_BIT(DPORT_PRO_ICACHE_CTRL1_REG, DPORT_PRO_ICACHE_MASK_IROM0);
}
}
rc = Cache_Ibus_MMU_Set(DPORT_MMU_ACCESS_FLASH, irom_load_addr & 0xffff0000, irom_addr & 0xffff0000, 64, irom_page_count, 0);
rc = Cache_Ibus_MMU_Set(MMU_ACCESS_FLASH, irom_load_addr & 0xffff0000, irom_addr & 0xffff0000, 64, irom_page_count, 0);
#endif
ESP_LOGV(TAG, "rc=%d", rc);
#if CONFIG_IDF_TARGET_ESP32
@@ -764,12 +758,12 @@ static void set_cache_and_start_app(
(DPORT_APP_CACHE_MASK_IRAM0) | (DPORT_APP_CACHE_MASK_IRAM1 & 0) |
(DPORT_APP_CACHE_MASK_IROM0 & 0) | DPORT_APP_CACHE_MASK_DROM0 |
DPORT_APP_CACHE_MASK_DRAM1 );
#elif CONFIG_IDF_TARGET_ESP32S2BETA
DPORT_REG_CLR_BIT( DPORT_PRO_ICACHE_CTRL1_REG, (DPORT_PRO_ICACHE_MASK_IRAM0) | (DPORT_PRO_ICACHE_MASK_IRAM1 & 0) | (DPORT_PRO_ICACHE_MASK_IROM0 & 0) | DPORT_PRO_ICACHE_MASK_DROM0 );
#elif CONFIG_IDF_TARGET_ESP32S2
REG_CLR_BIT( EXTMEM_PRO_ICACHE_CTRL1_REG, (EXTMEM_PRO_ICACHE_MASK_IRAM0) | (EXTMEM_PRO_ICACHE_MASK_IRAM1 & 0) | EXTMEM_PRO_ICACHE_MASK_DROM0 );
#endif
#if CONFIG_IDF_TARGET_ESP32
Cache_Read_Enable(0);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
Cache_Resume_ICache(autoload);
#endif
// Application will need to do Cache_Flush(1) and Cache_Read_Enable(1)
@@ -834,6 +828,7 @@ void bootloader_debug_buffer(const void *buffer, size_t length, const char *labe
esp_err_t bootloader_sha256_flash_contents(uint32_t flash_offset, uint32_t len, uint8_t *digest)
{
if (digest == NULL) {
return ESP_ERR_INVALID_ARG;
}
@@ -850,7 +845,7 @@ esp_err_t bootloader_sha256_flash_contents(uint32_t flash_offset, uint32_t len,
while (len > 0) {
uint32_t mmu_page_offset = ((flash_offset & MMAP_ALIGNED_MASK) != 0) ? 1 : 0; /* Skip 1st MMU Page if it is already populated */
uint32_t partial_image_len = MIN(len, ((mmu_free_pages_count - mmu_page_offset) * SPI_FLASH_MMU_PAGE_SIZE)); /* Read the image that fits in the free MMU pages */
const void * image = bootloader_mmap(flash_offset, partial_image_len);
if (image == NULL) {
bootloader_sha256_finish(sha_handle, NULL);

View File

@@ -22,10 +22,13 @@
#include "bootloader_clock.h"
#include "bootloader_common.h"
#include "bootloader_flash_config.h"
#include "bootloader_mem.h"
#include "bootloader_flash_priv.h"
#include "soc/cpu.h"
#include "soc/dport_reg.h"
#include "soc/efuse_reg.h"
#include "soc/gpio_periph.h"
#include "soc/gpio_sig_map.h"
#include "soc/io_mux_reg.h"
#include "soc/rtc.h"
@@ -257,7 +260,7 @@ static esp_err_t bootloader_init_spi_flash(void)
}
#endif
esp_rom_spiflash_unlock();
bootloader_flash_unlock();
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO || CONFIG_ESPTOOLPY_FLASHMODE_QOUT
bootloader_enable_qio_mode();
@@ -265,6 +268,8 @@ static esp_err_t bootloader_init_spi_flash(void)
print_flash_info(&bootloader_image_hdr);
update_flash_config(&bootloader_image_hdr);
//ensure the flash is write-protected
bootloader_enable_wp();
return ESP_OK;
}
@@ -303,11 +308,13 @@ static void bootloader_init_uart_console(void)
const uint32_t tx_idx = tx_idx_list[uart_num];
const uint32_t rx_idx = rx_idx_list[uart_num];
PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[uart_rx_gpio], PIN_FUNC_GPIO);
PIN_INPUT_ENABLE(GPIO_PIN_MUX_REG[uart_rx_gpio]);
gpio_pad_pullup(uart_rx_gpio);
gpio_matrix_out(uart_tx_gpio, tx_idx, 0, 0);
gpio_matrix_in(uart_rx_gpio, rx_idx, 0);
PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[uart_tx_gpio], PIN_FUNC_GPIO);
DPORT_SET_PERI_REG_MASK(DPORT_PERIP_RST_EN_REG, uart_reset[uart_num]);
DPORT_CLEAR_PERI_REG_MASK(DPORT_PERIP_RST_EN_REG, uart_reset[uart_num]);
@@ -355,9 +362,6 @@ static void wdt_reset_info_dump(int cpu)
lsstat = DPORT_REG_READ(DPORT_APP_CPU_RECORD_PDEBUGLS0STAT_REG);
lsaddr = DPORT_REG_READ(DPORT_APP_CPU_RECORD_PDEBUGLS0ADDR_REG);
lsdata = DPORT_REG_READ(DPORT_APP_CPU_RECORD_PDEBUGLS0DATA_REG);
#else
ESP_LOGE(TAG, "WDT reset info: &s CPU not support!\n", cpu_name);
return;
#endif
}
@@ -398,14 +402,16 @@ static void bootloader_check_wdt_reset(void)
if (wdt_rst) {
// if reset by WDT dump info from trace port
wdt_reset_info_dump(0);
#if !CONFIG_FREERTOS_UNICORE
wdt_reset_info_dump(1);
#endif
}
wdt_reset_cpu0_info_enable();
}
void abort(void)
{
#if !CONFIG_ESP32_PANIC_SILENT_REBOOT
#if !CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT
ets_printf("abort() was called at PC 0x%08x\r\n", (intptr_t)__builtin_return_address(0) - 3);
#endif
if (esp_cpu_in_ocd_debug_mode()) {
@@ -418,10 +424,9 @@ void abort(void)
esp_err_t bootloader_init(void)
{
esp_err_t ret = ESP_OK;
// workaround for tensilica erratum572
cpu_init_memctl();
// protect memory region
cpu_configure_region_protection();
bootloader_init_mem();
// check that static RAM is after the stack
#ifndef NDEBUG
{
@@ -450,6 +455,11 @@ esp_err_t bootloader_init(void)
bootloader_print_banner();
// update flash ID
bootloader_flash_update_id();
// Check and run XMC startup flow
if ((ret = bootloader_flash_xmc_startup()) != ESP_OK) {
ESP_LOGE(TAG, "failed when running XMC startup flow, reboot!");
goto err;
}
// read bootloader header
if ((ret = bootloader_read_bootloader_header()) != ESP_OK) {
goto err;

View File

@@ -14,7 +14,7 @@
#include <strings.h>
#include "bootloader_flash.h"
#include "bootloader_flash_priv.h"
#include "esp_image_format.h"
#include "esp_flash_encrypt.h"
#include "esp_flash_partitions.h"
@@ -22,7 +22,7 @@
#include "esp_efuse.h"
#include "esp_log.h"
#include "esp32/rom/secure_boot.h"
#include "soc/rtc_wdt.h"
#include "hal/wdt_hal.h"
#include "esp32/rom/cache.h"
#include "esp32/rom/spi_flash.h" /* TODO: Remove this */
@@ -357,8 +357,11 @@ esp_err_t esp_flash_encrypt_region(uint32_t src_addr, size_t data_length)
return ESP_FAIL;
}
wdt_hal_context_t rtc_wdt_ctx = {.inst = WDT_RWDT, .rwdt_dev = &RTCCNTL};
for (size_t i = 0; i < data_length; i += FLASH_SECTOR_SIZE) {
rtc_wdt_feed();
wdt_hal_write_protect_disable(&rtc_wdt_ctx);
wdt_hal_feed(&rtc_wdt_ctx);
wdt_hal_write_protect_enable(&rtc_wdt_ctx);
uint32_t sec_start = i + src_addr;
err = bootloader_flash_read(sec_start, buf, FLASH_SECTOR_SIZE, false);
if (err != ESP_OK) {

View File

@@ -29,7 +29,7 @@
#include "sdkconfig.h"
#include "bootloader_flash.h"
#include "bootloader_flash_priv.h"
#include "bootloader_random.h"
#include "esp_image_format.h"
#include "esp_secure_boot.h"
@@ -352,7 +352,6 @@ esp_err_t esp_secure_boot_v2_permanently_enable(const esp_image_metadata_t *imag
REG_WRITE(EFUSE_BLK2_WDATA0_REG + 4 * i, boot_public_key_digest_ptr[i]);
ESP_LOGD(TAG, "EFUSE_BLKx_WDATA%d_REG = 0x%08x", i, boot_public_key_digest_ptr[i]);
}
// delay burning until second half of this function
} else {
uint32_t efuse_blk2_digest[8];
@@ -368,11 +367,10 @@ esp_err_t esp_secure_boot_v2_permanently_enable(const esp_image_metadata_t *imag
ESP_LOGW(TAG, "Using pre-loaded secure boot v2 public key digest in EFUSE block 2");
}
// This case is needed either if a pre-burned digest is present but not write-protected,
// or if we are burning the digest now
if (efuse_key_write_protected == false) {
ESP_LOGI(TAG, "Write protecting public key digest...");
new_wdata0 |= EFUSE_WR_DIS_BLK2; // delay burning until second half of this function
efuse_key_write_protected = true;
}
uint8_t app_pub_key_digest[DIGEST_LEN];
@@ -392,6 +390,10 @@ esp_err_t esp_secure_boot_v2_permanently_enable(const esp_image_metadata_t *imag
ESP_LOGE(TAG, "Efuse BLK2 (public key digest) is read protected. Refusing to blow secure boot efuse.");
return ESP_ERR_INVALID_STATE;
}
if (!efuse_key_write_protected) {
ESP_LOGE(TAG, "Efuse BLK2 (public key digest) is not write protected. Refusing to blow secure boot efuse.");
return ESP_ERR_INVALID_STATE;
}
ESP_LOGI(TAG, "blowing secure boot efuse...");
ESP_LOGD(TAG, "before updating, EFUSE_BLK0_RDATA6 %x", REG_READ(EFUSE_BLK0_RDATA6_REG));

View File

@@ -13,7 +13,7 @@
// limitations under the License.
#include "sdkconfig.h"
#include "bootloader_flash.h"
#include "bootloader_flash_priv.h"
#include "bootloader_sha.h"
#include "bootloader_utility.h"
#include "esp_log.h"

View File

@@ -15,21 +15,24 @@
#include "sdkconfig.h"
#include "bootloader_common.h"
#include "soc/efuse_reg.h"
#include "soc/gpio_periph.h"
#include "soc/gpio_sig_map.h"
#include "soc/io_mux_reg.h"
#include "esp32s2beta/rom/efuse.h"
#include "esp32s2beta/rom/gpio.h"
#include "esp32s2beta/rom/spi_flash.h"
#include "esp32s2/rom/efuse.h"
#include "esp32s2/rom/gpio.h"
#include "esp32s2/rom/spi_flash.h"
#include "bootloader_init.h"
#include "bootloader_clock.h"
#include "bootloader_flash_config.h"
#include "bootloader_mem.h"
#include "bootloader_flash_priv.h"
#include "esp32s2beta/rom/cache.h"
#include "esp32s2beta/rom/ets_sys.h"
#include "esp32s2beta/rom/spi_flash.h"
#include "esp32s2beta/rom/rtc.h"
#include "esp32s2beta/rom/uart.h"
#include "esp32s2/rom/cache.h"
#include "esp32s2/rom/ets_sys.h"
#include "esp32s2/rom/spi_flash.h"
#include "esp32s2/rom/rtc.h"
#include "esp32s2/rom/uart.h"
#include "esp_attr.h"
#include "esp_log.h"
#include "esp_image_format.h"
@@ -37,54 +40,41 @@
#include "soc/assist_debug_reg.h"
#include "soc/cpu.h"
#include "soc/dport_reg.h"
#include "soc/extmem_reg.h"
#include "soc/rtc.h"
#include "soc/spi_periph.h"
#include <string.h>
static const char *TAG = "boot.esp32s2";
#define FLASH_CLK_IO SPI_CLK_GPIO_NUM
#define FLASH_CS_IO SPI_CS0_GPIO_NUM
#define FLASH_SPIQ_IO SPI_Q_GPIO_NUM
#define FLASH_SPID_IO SPI_D_GPIO_NUM
#define FLASH_SPIWP_IO SPI_WP_GPIO_NUM
#define FLASH_SPIHD_IO SPI_HD_GPIO_NUM
void bootloader_configure_spi_pins(int drv)
{
const uint32_t spiconfig = ets_efuse_get_spiconfig();
if (spiconfig == EFUSE_SPICONFIG_SPI_DEFAULTS) {
gpio_matrix_out(FLASH_CS_IO, SPICS0_OUT_IDX, 0, 0);
gpio_matrix_out(FLASH_SPIQ_IO, SPIQ_OUT_IDX, 0, 0);
gpio_matrix_in(FLASH_SPIQ_IO, SPIQ_IN_IDX, 0);
gpio_matrix_out(FLASH_SPID_IO, SPID_OUT_IDX, 0, 0);
gpio_matrix_in(FLASH_SPID_IO, SPID_IN_IDX, 0);
gpio_matrix_out(FLASH_SPIWP_IO, SPIWP_OUT_IDX, 0, 0);
gpio_matrix_in(FLASH_SPIWP_IO, SPIWP_IN_IDX, 0);
gpio_matrix_out(FLASH_SPIHD_IO, SPIHD_OUT_IDX, 0, 0);
gpio_matrix_in(FLASH_SPIHD_IO, SPIHD_IN_IDX, 0);
//select pin function gpio
PIN_FUNC_SELECT(PERIPHS_IO_MUX_SPIHD_U, PIN_FUNC_GPIO);
PIN_FUNC_SELECT(PERIPHS_IO_MUX_SPIWP_U, PIN_FUNC_GPIO);
PIN_FUNC_SELECT(PERIPHS_IO_MUX_SPICS0_U, PIN_FUNC_GPIO);
PIN_FUNC_SELECT(PERIPHS_IO_MUX_SPIQ_U, PIN_FUNC_GPIO);
PIN_FUNC_SELECT(PERIPHS_IO_MUX_SPID_U, PIN_FUNC_GPIO);
// flash clock signal should come from IO MUX.
// set drive ability for clock
PIN_FUNC_SELECT(PERIPHS_IO_MUX_SPICLK_U, FUNC_SPICLK_SPICLK);
SET_PERI_REG_BITS(PERIPHS_IO_MUX_SPICLK_U, FUN_DRV, drv, FUN_DRV_S);
uint8_t wp_pin = ets_efuse_get_wp_pad();
uint8_t clk_gpio_num = SPI_CLK_GPIO_NUM;
uint8_t q_gpio_num = SPI_Q_GPIO_NUM;
uint8_t d_gpio_num = SPI_D_GPIO_NUM;
uint8_t cs0_gpio_num = SPI_CS0_GPIO_NUM;
uint8_t hd_gpio_num = SPI_HD_GPIO_NUM;
uint8_t wp_gpio_num = SPI_WP_GPIO_NUM;
if (spiconfig == 0) {
#if CONFIG_SPIRAM_TYPE_ESPPSRAM32 || CONFIG_SPIRAM_TYPE_ESPPSRAM64
uint32_t flash_id = g_rom_flashchip.device_id;
if (flash_id == FLASH_ID_GD25LQ32C) {
// Set drive ability for 1.8v flash in 80Mhz.
SET_PERI_REG_BITS(PERIPHS_IO_MUX_SPIHD_U, FUN_DRV, 3, FUN_DRV_S);
SET_PERI_REG_BITS(PERIPHS_IO_MUX_SPIWP_U, FUN_DRV, 3, FUN_DRV_S);
SET_PERI_REG_BITS(PERIPHS_IO_MUX_SPICS0_U, FUN_DRV, 3, FUN_DRV_S);
SET_PERI_REG_BITS(PERIPHS_IO_MUX_SPICLK_U, FUN_DRV, 3, FUN_DRV_S);
SET_PERI_REG_BITS(PERIPHS_IO_MUX_SPIQ_U, FUN_DRV, 3, FUN_DRV_S);
SET_PERI_REG_BITS(PERIPHS_IO_MUX_SPID_U, FUN_DRV, 3, FUN_DRV_S);
}
#endif
} else {
clk_gpio_num = spiconfig & 0x3f;
q_gpio_num = (spiconfig >> 6) & 0x3f;
d_gpio_num = (spiconfig >> 12) & 0x3f;
cs0_gpio_num = (spiconfig >> 18) & 0x3f;
hd_gpio_num = (spiconfig >> 24) & 0x3f;
wp_gpio_num = wp_pin;
}
gpio_pad_set_drv(clk_gpio_num, drv);
gpio_pad_set_drv(q_gpio_num, drv);
gpio_pad_set_drv(d_gpio_num, drv);
gpio_pad_set_drv(cs0_gpio_num, drv);
if (hd_gpio_num <= MAX_PAD_GPIO_NUM) {
gpio_pad_set_drv(hd_gpio_num, drv);
}
if (wp_gpio_num <= MAX_PAD_GPIO_NUM) {
gpio_pad_set_drv(wp_gpio_num, drv);
}
}
@@ -97,7 +87,7 @@ static void bootloader_reset_mmu(void)
/* normal ROM boot exits with DROM0 cache unmasked,
but serial bootloader exits with it masked. */
DPORT_REG_CLR_BIT(DPORT_PRO_ICACHE_CTRL1_REG, DPORT_PRO_ICACHE_MASK_DROM0);
REG_CLR_BIT(EXTMEM_PRO_ICACHE_CTRL1_REG, EXTMEM_PRO_ICACHE_MASK_DROM0);
}
static void update_flash_config(const esp_image_header_t *bootloader_hdr)
@@ -201,7 +191,6 @@ static void print_flash_info(const esp_image_header_t *bootloader_hdr)
static void IRAM_ATTR bootloader_init_flash_configure(void)
{
bootloader_flash_gpio_config(&bootloader_image_hdr);
bootloader_flash_dummy_config(&bootloader_image_hdr);
bootloader_flash_cs_timing_config();
}
@@ -217,7 +206,7 @@ static esp_err_t bootloader_init_spi_flash(void)
}
#endif
esp_rom_spiflash_unlock();
bootloader_flash_unlock();
#if CONFIG_ESPTOOLPY_FLASHMODE_QIO || CONFIG_ESPTOOLPY_FLASHMODE_QOUT
bootloader_enable_qio_mode();
@@ -225,6 +214,8 @@ static esp_err_t bootloader_init_spi_flash(void)
print_flash_info(&bootloader_image_hdr);
update_flash_config(&bootloader_image_hdr);
//ensure the flash is write-protected
bootloader_enable_wp();
return ESP_OK;
}
@@ -236,7 +227,7 @@ static void bootloader_init_uart_console(void)
#else // CONFIG_ESP_CONSOLE_UART_NONE
const int uart_num = CONFIG_ESP_CONSOLE_UART_NUM;
uartAttach();
uartAttach(NULL);
ets_install_uart_printf();
// Wait for UART FIFO to be empty.
@@ -251,23 +242,25 @@ static void bootloader_init_uart_console(void)
uart_tx_switch(uart_num);
// If console is attached to UART1 or if non-default pins are used,
// need to reconfigure pins using GPIO matrix
if (uart_num != 0 || uart_tx_gpio != 1 || uart_rx_gpio != 3) {
// Change pin mode for GPIO1/3 from UART to GPIO
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_U0RXD_GPIO3);
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_U0TXD_GPIO1);
if (uart_num != 0 || uart_tx_gpio != 43 || uart_rx_gpio != 44) {
// Change pin mode UART to GPIO
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0RXD_U, FUNC_U0RXD_GPIO44);
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_U0TXD_GPIO43);
// Route GPIO signals to/from pins
// (arrays should be optimized away by the compiler)
const uint32_t tx_idx_list[3] = {U0TXD_OUT_IDX, U1TXD_OUT_IDX, U2TXD_OUT_IDX};
const uint32_t rx_idx_list[3] = {U0RXD_IN_IDX, U1RXD_IN_IDX, U2RXD_IN_IDX};
const uint32_t uart_reset[3] = {DPORT_UART_RST, DPORT_UART1_RST, DPORT_UART2_RST};
const uint32_t tx_idx_list[2] = {U0TXD_OUT_IDX, U1TXD_OUT_IDX};
const uint32_t rx_idx_list[2] = {U0RXD_IN_IDX, U1RXD_IN_IDX};
const uint32_t uart_reset[2] = {DPORT_UART_RST, DPORT_UART1_RST};
const uint32_t tx_idx = tx_idx_list[uart_num];
const uint32_t rx_idx = rx_idx_list[uart_num];
PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[uart_rx_gpio], PIN_FUNC_GPIO);
PIN_INPUT_ENABLE(GPIO_PIN_MUX_REG[uart_rx_gpio]);
gpio_pad_pullup(uart_rx_gpio);
gpio_matrix_out(uart_tx_gpio, tx_idx, 0, 0);
gpio_matrix_in(uart_rx_gpio, rx_idx, 0);
PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[uart_tx_gpio], PIN_FUNC_GPIO);
DPORT_SET_PERI_REG_MASK(DPORT_PERIP_RST_EN_REG, uart_reset[uart_num]);
DPORT_CLEAR_PERI_REG_MASK(DPORT_PERIP_RST_EN_REG, uart_reset[uart_num]);
@@ -329,7 +322,7 @@ static void bootloader_check_wdt_reset(void)
rst_reas[0] = rtc_get_reset_reason(0);
if (rst_reas[0] == RTCWDT_SYS_RESET || rst_reas[0] == TG0WDT_SYS_RESET || rst_reas[0] == TG1WDT_SYS_RESET ||
rst_reas[0] == TG0WDT_CPU_RESET || rst_reas[0] == TG1WDT_CPU_RESET || rst_reas[0] == RTCWDT_CPU_RESET) {
rst_reas[0] == TG0WDT_CPU_RESET || rst_reas[0] == TG1WDT_CPU_RESET || rst_reas[0] == RTCWDT_CPU_RESET) {
ESP_LOGW(TAG, "PRO CPU has been reset by WDT.");
wdt_rst = 1;
}
@@ -342,7 +335,7 @@ static void bootloader_check_wdt_reset(void)
void abort(void)
{
#if !CONFIG_ESP32S2_PANIC_SILENT_REBOOT
#if !CONFIG_ESP_SYSTEM_PANIC_SILENT_REBOOT
ets_printf("abort() was called at PC 0x%08x\r\n", (intptr_t)__builtin_return_address(0) - 3);
#endif
if (esp_cpu_in_ocd_debug_mode()) {
@@ -352,11 +345,19 @@ void abort(void)
}
}
static void bootloader_super_wdt_auto_feed(void)
{
REG_SET_BIT(RTC_CNTL_SWD_CONF_REG, RTC_CNTL_SWD_AUTO_FEED_EN);
}
esp_err_t bootloader_init(void)
{
esp_err_t ret = ESP_OK;
bootloader_super_wdt_auto_feed();
// protect memory region
cpu_configure_region_protection();
bootloader_init_mem();
/* check that static RAM is after the stack */
#ifndef NDEBUG
{
@@ -376,6 +377,11 @@ esp_err_t bootloader_init(void)
bootloader_print_banner();
// update flash ID
bootloader_flash_update_id();
// Check and run XMC startup flow
if ((ret = bootloader_flash_xmc_startup()) != ESP_OK) {
ESP_LOGE(TAG, "failed when running XMC startup flow, reboot!");
goto err;
}
// read bootloader header
if ((ret = bootloader_read_bootloader_header()) != ESP_OK) {
goto err;

View File

@@ -17,7 +17,7 @@
#include <assert.h>
#include <sys/param.h>
#include "esp32s2beta/rom/sha.h"
#include "esp32s2/rom/sha.h"
static SHA_CTX ctx;

View File

@@ -14,7 +14,7 @@
#include <strings.h>
#include "bootloader_flash.h"
#include "bootloader_flash_priv.h"
#include "bootloader_random.h"
#include "bootloader_utility.h"
#include "esp_image_format.h"
@@ -22,69 +22,103 @@
#include "esp_flash_partitions.h"
#include "esp_secure_boot.h"
#include "esp_log.h"
#include "esp32s2beta/rom/secure_boot.h"
#include "esp32s2beta/rom/cache.h"
#include "esp32s2beta/rom/efuse.h"
#include "esp32s2/rom/secure_boot.h"
#include "esp32s2/rom/cache.h"
#include "esp32s2/rom/efuse.h"
#include "esp_efuse.h"
#include "esp_efuse_table.h"
#include "hal/wdt_hal.h"
static const char *TAG = "flash_encrypt";
/* Static functions for stages of flash encryption */
static esp_err_t initialise_flash_encryption(void);
static esp_err_t encrypt_flash_contents(uint32_t flash_crypt_cnt, bool flash_crypt_wr_dis);
static esp_err_t encrypt_flash_contents(uint32_t flash_crypt_cnt, bool flash_crypt_wr_dis) __attribute__((unused));
static esp_err_t encrypt_bootloader(void);
static esp_err_t encrypt_and_load_partition_table(esp_partition_info_t *partition_table, int *num_partitions);
static esp_err_t encrypt_partition(int index, const esp_partition_info_t *partition);
esp_err_t esp_flash_encrypt_check_and_update(void)
{
// TODO: not clear why this is read from DATA1 and written to PGM_DATA2
uint32_t cnt = REG_GET_FIELD(EFUSE_RD_REPEAT_DATA1_REG, EFUSE_SPI_BOOT_CRYPT_CNT);
ESP_LOGV(TAG, "SPI_BOOT_CRYPT_CNT 0x%x", cnt);
uint8_t flash_crypt_wr_dis = 0;
uint32_t flash_crypt_cnt = 0;
bool flash_crypt_wr_dis = false; // TODO: check if CRYPT_CNT is write disabled
esp_efuse_read_field_blob(ESP_EFUSE_SPI_BOOT_CRYPT_CNT, &flash_crypt_cnt, 3);
esp_efuse_read_field_blob(ESP_EFUSE_WR_DIS_SPI_BOOT_CRYPT_CNT, &flash_crypt_wr_dis, 1);
ESP_LOGV(TAG, "SPI_BOOT_CRYPT_CNT 0x%x", flash_crypt_cnt);
ESP_LOGV(TAG, "EFUSE_WR_DIS_SPI_BOOT_CRYPT_CNT 0x%x", flash_crypt_wr_dis);
_Static_assert(EFUSE_SPI_BOOT_CRYPT_CNT == 0x7, "assuming CRYPT_CNT is only 3 bits wide");
if (cnt == 1 || cnt == 3 || cnt == 7) {
if (__builtin_parity(flash_crypt_cnt) == 1) {
/* Flash is already encrypted */
int left;
if (cnt == 7 /* || disabled */) {
left = 0;
} else if (cnt == 3) {
left = 1;
} else {
left = 2;
int left = (flash_crypt_cnt == 1) ? 1 : 0;
if (flash_crypt_wr_dis) {
left = 0; /* can't update FLASH_CRYPT_CNT, no more flashes */
}
ESP_LOGI(TAG, "flash encryption is enabled (%d plaintext flashes left)", left);
return ESP_OK;
}
else {
} else {
#ifndef CONFIG_SECURE_FLASH_REQUIRE_ALREADY_ENABLED
/* Flash is not encrypted, so encrypt it! */
return encrypt_flash_contents(cnt, flash_crypt_wr_dis);
return encrypt_flash_contents(flash_crypt_cnt, flash_crypt_wr_dis);
#else
ESP_LOGE(TAG, "flash encryption is not enabled, and SECURE_FLASH_REQUIRE_ALREADY_ENABLED "
"is set, refusing to boot.");
return ESP_ERR_INVALID_STATE;
#endif // CONFIG_SECURE_FLASH_REQUIRE_ALREADY_ENABLED
}
}
static esp_err_t initialise_flash_encryption(void)
static bool s_key_dis_read(ets_efuse_block_t block)
{
/* Before first flash encryption pass, need to initialise key & crypto config */
unsigned key_num = block - ETS_EFUSE_BLOCK_KEY0;
return REG_GET_FIELD(EFUSE_RD_REPEAT_DATA0_REG, EFUSE_RD_DIS) & (EFUSE_RD_DIS_KEY0 << key_num);
}
/* Find out if a key is already set */
bool has_aes128 = ets_efuse_find_purpose(ETS_EFUSE_KEY_PURPOSE_XTS_AES_128_KEY, NULL);
bool has_aes256_1 = ets_efuse_find_purpose(ETS_EFUSE_KEY_PURPOSE_XTS_AES_256_KEY_1, NULL);
bool has_aes256_2 = ets_efuse_find_purpose(ETS_EFUSE_KEY_PURPOSE_XTS_AES_256_KEY_2, NULL);
static bool s_key_dis_write(ets_efuse_block_t block)
{
unsigned key_num = block - ETS_EFUSE_BLOCK_KEY0;
return REG_GET_FIELD(EFUSE_RD_WR_DIS_REG, EFUSE_WR_DIS) & (EFUSE_WR_DIS_KEY0 << key_num);
}
static esp_err_t check_and_generate_encryption_keys(void)
{
esp_err_t err = ESP_ERR_INVALID_STATE;
ets_efuse_block_t aes_128_key_block;
ets_efuse_block_t aes_256_key_block_1;
ets_efuse_block_t aes_256_key_block_2;
bool has_aes128 = ets_efuse_find_purpose(ETS_EFUSE_KEY_PURPOSE_XTS_AES_128_KEY, &aes_128_key_block);
bool has_aes256_1 = ets_efuse_find_purpose(ETS_EFUSE_KEY_PURPOSE_XTS_AES_256_KEY_1, &aes_256_key_block_1);
bool has_aes256_2 = ets_efuse_find_purpose(ETS_EFUSE_KEY_PURPOSE_XTS_AES_256_KEY_2, &aes_256_key_block_2);
bool has_key = has_aes128 || (has_aes256_1 && has_aes256_2);
bool dis_write = false;
bool dis_read = false;
// If there are keys set, they must be write and read protected!
if(has_key && has_aes128) {
dis_write = s_key_dis_write(aes_128_key_block);
dis_read = s_key_dis_read(aes_128_key_block);
} else if (has_key && has_aes256_1 && has_aes256_2) {
dis_write = s_key_dis_write(aes_256_key_block_1) && s_key_dis_write(aes_256_key_block_2);
dis_read = s_key_dis_read(aes_256_key_block_1) && s_key_dis_read(aes_256_key_block_2);
}
if (!has_key && (has_aes256_1 || has_aes256_2)) {
ESP_LOGE(TAG, "Invalid efuse key blocks: Both AES-256 key blocks must be set.");
return ESP_ERR_INVALID_STATE;
}
if (has_key) {
ESP_LOGI(TAG, "Using pre-existing key in efuse");
if(has_key && (!dis_read || !dis_write)) {
ESP_LOGE(TAG, "Invalid key state, a key was set but not read and write protected.");
return ESP_ERR_INVALID_STATE;
}
ESP_LOGE(TAG, "TODO: Check key is read & write protected"); // TODO
} else {
if(!has_key && !dis_write && !dis_read) {
ESP_LOGI(TAG, "Generating new flash encryption key...");
#ifdef CONFIG_SECURE_FLASH_ENCRYPTION_AES256
const unsigned BLOCKS_NEEDED = 2;
@@ -102,26 +136,90 @@ static esp_err_t initialise_flash_encryption(void)
}
for(ets_efuse_purpose_t purpose = PURPOSE_START; purpose <= PURPOSE_END; purpose++) {
uint32_t buf[8];
uint32_t buf[8] = {0};
bootloader_fill_random(buf, sizeof(buf));
ets_efuse_block_t block = ets_efuse_find_unused_key_block();
ESP_LOGD(TAG, "Writing ETS_EFUSE_BLOCK_KEY%d with purpose %d",
block - ETS_EFUSE_BLOCK_KEY0, purpose);
bootloader_debug_buffer(buf, sizeof(buf), "Key content");
/* Note: everything else in this function is deferred as a batch write, but we write the
key (and write protect it) immediately as it's too fiddly to manage unused key blocks, etc.
in bootloader size footprint otherwise. */
int r = ets_efuse_write_key(block, purpose, buf, sizeof(buf));
bzero(buf, sizeof(buf));
if (r != 0) {
ESP_LOGE(TAG, "Failed to write efuse block %d with purpose %d. Can't continue.");
ESP_LOGE(TAG, "Failed to write efuse block %d with purpose %d. Can't continue.",
block, purpose);
return ESP_FAIL;
}
}
/* assuming numbering of esp_efuse_block_t matches ets_efuse_block_t */
_Static_assert((int)EFUSE_BLK_KEY0 == (int)ETS_EFUSE_BLOCK_KEY0, "esp_efuse_block_t doesn't match ets_efuse_block_t");
_Static_assert((int)EFUSE_BLK_KEY1 == (int)ETS_EFUSE_BLOCK_KEY1, "esp_efuse_block_t doesn't match ets_efuse_block_t");
_Static_assert((int)EFUSE_BLK_KEY2 == (int)ETS_EFUSE_BLOCK_KEY2, "esp_efuse_block_t doesn't match ets_efuse_block_t");
_Static_assert((int)EFUSE_BLK_KEY3 == (int)ETS_EFUSE_BLOCK_KEY3, "esp_efuse_block_t doesn't match ets_efuse_block_t");
_Static_assert((int)EFUSE_BLK_KEY4 == (int)ETS_EFUSE_BLOCK_KEY4, "esp_efuse_block_t doesn't match ets_efuse_block_t");
_Static_assert((int)EFUSE_BLK_KEY5 == (int)ETS_EFUSE_BLOCK_KEY5, "esp_efuse_block_t doesn't match ets_efuse_block_t");
// protect this block against reading after key is set (writing is done by ets_efuse_write_key)
err = esp_efuse_set_read_protect(block);
if(err != ESP_OK) {
ESP_LOGE(TAG, "Failed to set read protect to efuse block %d. Can't continue.", block);
return err;
}
}
ESP_LOGD(TAG, "Key generation complete");
return ESP_OK;
} else {
ESP_LOGI(TAG, "Using pre-existing key in efuse");
return ESP_OK;
}
}
static esp_err_t initialise_flash_encryption(void)
{
esp_efuse_batch_write_begin(); /* Batch all efuse writes at the end of this function */
esp_err_t key_state = check_and_generate_encryption_keys();
if(key_state != ESP_OK) {
esp_efuse_batch_write_cancel();
return key_state;
}
ESP_LOGE(TAG, "TODO: burn remaining security protection bits"); // TODO
#ifndef CONFIG_SECURE_FLASH_UART_BOOTLOADER_ALLOW_ENC
ESP_LOGI(TAG, "Disable UART bootloader encryption...");
esp_efuse_write_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT);
#else
ESP_LOGW(TAG, "Not disabling UART bootloader encryption");
#endif
return ESP_OK;
#ifndef CONFIG_SECURE_FLASH_UART_BOOTLOADER_ALLOW_CACHE
ESP_LOGI(TAG, "Disable UART bootloader cache...");
esp_efuse_write_field_bit(ESP_EFUSE_DIS_DOWNLOAD_DCACHE);
esp_efuse_write_field_bit(ESP_EFUSE_DIS_DOWNLOAD_ICACHE);
#else
ESP_LOGW(TAG, "Not disabling UART bootloader cache - SECURITY COMPROMISED");
#endif
#ifndef CONFIG_SECURE_BOOT_ALLOW_JTAG
ESP_LOGI(TAG, "Disable JTAG...");
esp_efuse_write_field_bit(ESP_EFUSE_HARD_DIS_JTAG);
#else
ESP_LOGW(TAG, "Not disabling JTAG - SECURITY COMPROMISED");
#endif
esp_efuse_write_field_bit(ESP_EFUSE_DIS_BOOT_REMAP);
esp_efuse_write_field_bit(ESP_EFUSE_DIS_LEGACY_SPI_BOOT);
#if defined(CONFIG_SECURE_BOOT_V2_ENABLED) && !defined(CONFIG_SECURE_BOOT_V2_ALLOW_EFUSE_RD_DIS)
// This bit is set when enabling Secure Boot V2, but we can't enable it until this later point in the first boot
// otherwise the Flash Encryption key cannot be read protected
esp_efuse_write_field_bit(ESP_EFUSE_WR_DIS_RD_DIS);
#endif
esp_err_t err = esp_efuse_batch_write_commit();
return err;
}
/* Encrypt all flash data that should be encrypted */
@@ -134,7 +232,7 @@ static esp_err_t encrypt_flash_contents(uint32_t spi_boot_crypt_cnt, bool flash_
/* If the last spi_boot_crypt_cnt bit is burned or write-disabled, the
device can't re-encrypt itself. */
if (flash_crypt_wr_dis || spi_boot_crypt_cnt == EFUSE_SPI_BOOT_CRYPT_CNT) {
ESP_LOGE(TAG, "Cannot re-encrypt data (SPI_BOOT_CRYPT_CNT 0x%02x write disabled %d", spi_boot_crypt_cnt, flash_crypt_wr_dis);
ESP_LOGE(TAG, "Cannot re-encrypt data SPI_BOOT_CRYPT_CNT 0x%02x write disabled %d", spi_boot_crypt_cnt, flash_crypt_wr_dis);
return ESP_FAIL;
}
@@ -156,10 +254,7 @@ static esp_err_t encrypt_flash_contents(uint32_t spi_boot_crypt_cnt, bool flash_
return err;
}
/* Now iterate the just-loaded partition table, looking for entries to encrypt
*/
/* Go through each partition and encrypt if necessary */
/* Now iterate the just-loaded partition table, looking for entries to encrypt */
for (int i = 0; i < num_partitions; i++) {
err = encrypt_partition(i, &partition_table[i]);
if (err != ESP_OK) {
@@ -172,13 +267,17 @@ static esp_err_t encrypt_flash_contents(uint32_t spi_boot_crypt_cnt, bool flash_
/* Set least significant 0-bit in spi_boot_crypt_cnt */
int ffs_inv = __builtin_ffs((~spi_boot_crypt_cnt) & 0x7);
/* ffs_inv shouldn't be zero, as zero implies spi_boot_crypt_cnt == 0xFF */
uint32_t new_spi_boot_crypt_cnt = spi_boot_crypt_cnt + (1 << (ffs_inv - 1));
ESP_LOGD(TAG, "SPI_BOOT_CRYPT_CNT 0x%x -> 0x%x", spi_boot_crypt_cnt, new_spi_boot_crypt_cnt);
uint32_t new_spi_boot_crypt_cnt = (1 << (ffs_inv - 1));
ESP_LOGD(TAG, "SPI_BOOT_CRYPT_CNT 0x%x -> 0x%x", spi_boot_crypt_cnt, new_spi_boot_crypt_cnt + spi_boot_crypt_cnt);
ets_efuse_clear_program_registers();
REG_SET_FIELD(EFUSE_PGM_DATA2_REG, EFUSE_SPI_BOOT_CRYPT_CNT, new_spi_boot_crypt_cnt);
ets_efuse_program(ETS_EFUSE_BLOCK0);
esp_efuse_write_field_blob(ESP_EFUSE_SPI_BOOT_CRYPT_CNT, &new_spi_boot_crypt_cnt, 3);
#ifdef CONFIG_SECURE_FLASH_ENCRYPTION_MODE_RELEASE
//Secure SPI boot cnt after its update if needed.
const uint32_t spi_boot_cnt_wr_dis = 1;
ESP_LOGI(TAG, "Write protecting SPI_CRYPT_CNT eFuse");
esp_efuse_write_field_blob(ESP_EFUSE_WR_DIS_SPI_BOOT_CRYPT_CNT, &spi_boot_cnt_wr_dis, 1);
#endif
ESP_LOGI(TAG, "Flash encryption completed");
return ESP_OK;
@@ -206,15 +305,13 @@ static esp_err_t encrypt_bootloader(void)
return err;
}
if (esp_secure_boot_enabled()) {
// TODO: anything different for secure boot?
}
ESP_LOGI(TAG, "bootloader encrypted successfully");
return err;
}
else {
ESP_LOGW(TAG, "no valid bootloader was found");
return ESP_ERR_NOT_FOUND;
}
return ESP_OK;
}
static esp_err_t encrypt_and_load_partition_table(esp_partition_info_t *partition_table, int *num_partitions)
@@ -241,6 +338,7 @@ static esp_err_t encrypt_and_load_partition_table(esp_partition_info_t *partitio
}
/* Valid partition table loded */
ESP_LOGI(TAG, "partition table encrypted and loaded successfully");
return ESP_OK;
}
@@ -289,7 +387,13 @@ esp_err_t esp_flash_encrypt_region(uint32_t src_addr, size_t data_length)
return ESP_FAIL;
}
wdt_hal_context_t rtc_wdt_ctx = {.inst = WDT_RWDT, .rwdt_dev = &RTCCNTL};
for (size_t i = 0; i < data_length; i += FLASH_SECTOR_SIZE) {
wdt_hal_write_protect_disable(&rtc_wdt_ctx);
wdt_hal_feed(&rtc_wdt_ctx);
wdt_hal_write_protect_enable(&rtc_wdt_ctx);
uint32_t sec_start = i + src_addr;
err = bootloader_flash_read(sec_start, buf, FLASH_SECTOR_SIZE, false);
if (err != ESP_OK) {

View File

@@ -0,0 +1,352 @@
// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include <string.h>
#include "esp_log.h"
#include "esp_secure_boot.h"
#include "soc/efuse_reg.h"
#include "bootloader_flash_priv.h"
#include "bootloader_sha.h"
#include "bootloader_utility.h"
#include "esp32s2/rom/crc.h"
#include "esp_efuse.h"
#include "esp_efuse_table.h"
#include "esp32s2/rom/efuse.h"
#include "esp32s2/rom/secure_boot.h"
static const char *TAG = "secure_boot_v2";
#define ALIGN_UP(num, align) (((num) + ((align) - 1)) & ~((align) - 1))
#define SIG_BLOCK_MAGIC_BYTE 0xe7
#define CRC_SIGN_BLOCK_LEN 1196
#define SIG_BLOCK_PADDING 4096
#define DIGEST_LEN 32
/* A signature block is valid when it has correct magic byte, crc and image digest. */
static esp_err_t validate_signature_block(const ets_secure_boot_sig_block_t *block, int block_num, const uint8_t *image_digest)
{
uint32_t crc = crc32_le(0, (uint8_t *)block, CRC_SIGN_BLOCK_LEN);
if (block->magic_byte != SIG_BLOCK_MAGIC_BYTE) {
// All signature blocks have been parsed, no new signature block present.
ESP_LOGD(TAG, "Signature block(%d) invalid/absent.", block_num);
return ESP_FAIL;
}
if (block->block_crc != crc) {
ESP_LOGE(TAG, "Magic byte correct but incorrect crc.");
return ESP_FAIL;
}
if (memcmp(image_digest, block->image_digest, DIGEST_LEN)) {
ESP_LOGE(TAG, "Magic byte & CRC correct but incorrect image digest.");
return ESP_FAIL;
} else {
ESP_LOGD(TAG, "valid signature block(%d) found", block_num);
return ESP_OK;
}
return ESP_FAIL;
}
/* Structure to hold public key digests calculated from the signature blocks of a single image.
Each image can have one or more signature blocks (up to SECURE_BOOT_NUM_BLOCKS). Each signature block
includes a public key.
Different to the ROM ets_secure_boot_key_digests_t structure which holds pointers to eFuse data with digests,
in this data structure the digest data is included.
*/
typedef struct {
uint8_t key_digests[SECURE_BOOT_NUM_BLOCKS][DIGEST_LEN];
unsigned num_digests; /* Number of valid digests, starting at index 0 */
} image_sig_public_key_digests_t;
/* Generates the public key digests of the valid public keys in an image's
signature block, verifies each signature, and stores the key digests in the
public_key_digests structure.
@param flash_offset Image offset in flash
@param flash_size Image size in flash (not including signature block)
@param[out] public_key_digests Pointer to structure to hold the key digests for valid sig blocks
Note that this function doesn't read any eFuses, so it doesn't know if the
keys are ultimately trusted by the hardware or not
@return - ESP_OK if no signatures failed to verify, or if no valid signature blocks are found at all.
- ESP_FAIL if there's a valid signature block that doesn't verify using the included public key (unexpected!)
*/
static esp_err_t s_calculate_image_public_key_digests(uint32_t flash_offset, uint32_t flash_size, image_sig_public_key_digests_t *public_key_digests)
{
esp_err_t ret;
uint8_t image_digest[DIGEST_LEN] = {0};
uint8_t __attribute__((aligned(4))) key_digest[DIGEST_LEN] = {0};
size_t sig_block_addr = flash_offset + ALIGN_UP(flash_size, FLASH_SECTOR_SIZE);
ESP_LOGD(TAG, "calculating public key digests for sig blocks of image offset 0x%x (sig block offset 0x%x)", flash_offset, sig_block_addr);
bzero(public_key_digests, sizeof(image_sig_public_key_digests_t));
ret = bootloader_sha256_flash_contents(flash_offset, sig_block_addr - flash_offset, image_digest);
if (ret != ESP_OK) {
ESP_LOGE(TAG, "error generating image digest, %d", ret);
return ret;
}
ESP_LOGD(TAG, "reading signatures");
const ets_secure_boot_signature_t *signatures = bootloader_mmap(sig_block_addr, sizeof(ets_secure_boot_signature_t));
if (signatures == NULL) {
ESP_LOGE(TAG, "bootloader_mmap(0x%x, 0x%x) failed", sig_block_addr, sizeof(ets_secure_boot_signature_t));
return ESP_FAIL;
}
for (int i = 0; i < SECURE_BOOT_NUM_BLOCKS; i++) {
const ets_secure_boot_sig_block_t *block = &signatures->block[i];
ret = validate_signature_block(block, i, image_digest);
if (ret != ESP_OK) {
ret = ESP_OK; // past the last valid signature block
break;
}
/* Generating the SHA of the public key components in the signature block */
bootloader_sha256_handle_t sig_block_sha;
sig_block_sha = bootloader_sha256_start();
bootloader_sha256_data(sig_block_sha, &block->key, sizeof(block->key));
bootloader_sha256_finish(sig_block_sha, key_digest);
// Check we can verify the image using this signature and this key
uint8_t temp_verified_digest[DIGEST_LEN];
bool verified = ets_rsa_pss_verify(&block->key, block->signature, image_digest, temp_verified_digest);
if (!verified) {
/* We don't expect this: the signature blocks before we enable secure boot should all be verifiable or invalid,
so this is a fatal error
*/
ret = ESP_FAIL;
ESP_LOGE(TAG, "Secure boot key (%d) verification failed.", i);
break;
}
ESP_LOGD(TAG, "Signature block (%d) is verified", i);
/* Copy the key digest to the buffer provided by the caller */
memcpy((void *)public_key_digests->key_digests[i], key_digest, DIGEST_LEN);
public_key_digests->num_digests++;
}
if (ret == ESP_OK && public_key_digests->num_digests > 0) {
ESP_LOGI(TAG, "Digests successfully calculated, %d valid signatures (image offset 0x%x)",
public_key_digests->num_digests, flash_offset);
}
bootloader_munmap(signatures);
return ret;
}
esp_err_t esp_secure_boot_v2_permanently_enable(const esp_image_metadata_t *image_data)
{
ESP_LOGI(TAG, "enabling secure boot v2 - ESP32-S2...");
if (esp_secure_boot_enabled()) {
ESP_LOGI(TAG, "secure boot v2 is already enabled, continuing..");
return ESP_OK;
}
esp_err_t ret;
/* Verify the bootloader */
esp_image_metadata_t bootloader_data = { 0 };
ret = esp_image_verify_bootloader_data(&bootloader_data);
if (ret != ESP_OK) {
ESP_LOGE(TAG, "bootloader image appears invalid! error %d", ret);
return ret;
}
/* Check if secure boot digests are present */
bool has_secure_boot_digest = ets_efuse_find_purpose(ETS_EFUSE_KEY_PURPOSE_SECURE_BOOT_DIGEST0, NULL);
has_secure_boot_digest |= ets_efuse_find_purpose(ETS_EFUSE_KEY_PURPOSE_SECURE_BOOT_DIGEST1, NULL);
has_secure_boot_digest |= ets_efuse_find_purpose(ETS_EFUSE_KEY_PURPOSE_SECURE_BOOT_DIGEST2, NULL);
ESP_LOGI(TAG, "Secure boot digests %s", has_secure_boot_digest ? "already present":"absent, generating..");
ets_efuse_clear_program_registers();
if (!has_secure_boot_digest) {
image_sig_public_key_digests_t boot_key_digests = {0};
image_sig_public_key_digests_t app_key_digests = {0};
/* Generate the bootloader public key digests */
ret = s_calculate_image_public_key_digests(bootloader_data.start_addr, bootloader_data.image_len - SIG_BLOCK_PADDING, &boot_key_digests);
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Bootloader signature block is invalid");
return ret;
}
if (boot_key_digests.num_digests == 0) {
ESP_LOGE(TAG, "No valid bootloader signature blocks found.");
return ESP_FAIL;
}
ESP_LOGI(TAG, "%d signature block(s) found appended to the bootloader.", boot_key_digests.num_digests);
int unused_key_slots = ets_efuse_count_unused_key_blocks();
if (boot_key_digests.num_digests > unused_key_slots) {
ESP_LOGE(TAG, "Bootloader signatures(%d) more than available key slots(%d).", boot_key_digests.num_digests, unused_key_slots);
return ESP_FAIL;
}
for (int i = 0; i < boot_key_digests.num_digests; i++) {
ets_efuse_block_t block;
const uint32_t secure_boot_key_purpose[SECURE_BOOT_NUM_BLOCKS] = { ETS_EFUSE_KEY_PURPOSE_SECURE_BOOT_DIGEST0,
ETS_EFUSE_KEY_PURPOSE_SECURE_BOOT_DIGEST1, ETS_EFUSE_KEY_PURPOSE_SECURE_BOOT_DIGEST2 };
block = ets_efuse_find_unused_key_block();
if (block == ETS_EFUSE_BLOCK_MAX) {
ESP_LOGE(TAG, "No more unused key blocks available.");
return ESP_FAIL;
}
int r = ets_efuse_write_key(block, secure_boot_key_purpose[i], boot_key_digests.key_digests[i], DIGEST_LEN);
if (r != 0) {
ESP_LOGE(TAG, "Failed to write efuse block %d with purpose %d. Can't continue.", block, secure_boot_key_purpose[i]);
return ESP_FAIL;
}
// Note: write key will write protect both the block and the purpose eFuse, always
}
/* Generate the application public key digests */
ret = s_calculate_image_public_key_digests(image_data->start_addr, image_data->image_len - SIG_BLOCK_PADDING, &app_key_digests);
if (ret != ESP_OK) {
ESP_LOGE(TAG, "App signature block is invalid.");
return ret;
}
if (app_key_digests.num_digests == 0) {
ESP_LOGE(TAG, "No valid applications signature blocks found.");
return ESP_FAIL;
}
ESP_LOGI(TAG, "%d signature block(s) found appended to the app.", app_key_digests.num_digests);
if (app_key_digests.num_digests > boot_key_digests.num_digests) {
ESP_LOGW(TAG, "App has %d signature blocks but bootloader only has %d. Some keys missing from bootloader?");
}
/* Confirm if at least one public key from the application matches a public key in the bootloader
(Also, ensure if that public revoke bit is not set for the matched key) */
bool match = false;
const uint32_t revoke_bits[SECURE_BOOT_NUM_BLOCKS] = { EFUSE_SECURE_BOOT_KEY_REVOKE0,
EFUSE_SECURE_BOOT_KEY_REVOKE1, EFUSE_SECURE_BOOT_KEY_REVOKE2 };
for (int i = 0; i < boot_key_digests.num_digests; i++) {
if (REG_GET_BIT(EFUSE_RD_REPEAT_DATA1_REG, revoke_bits[i])) {
ESP_LOGI(TAG, "Key block(%d) has been revoked.", i);
continue; // skip if the key block is revoked
}
for (int j = 0; j < app_key_digests.num_digests; j++) {
if (!memcmp(boot_key_digests.key_digests[i], app_key_digests.key_digests[j], DIGEST_LEN)) {
ESP_LOGI(TAG, "Application key(%d) matches with bootloader key(%d).", j, i);
match = true;
}
}
}
if (match == false) {
ESP_LOGE(TAG, "No application key digest matches the bootloader key digest.");
return ESP_FAIL;
}
/* Revoke the empty signature blocks */
if (boot_key_digests.num_digests < SECURE_BOOT_NUM_BLOCKS) {
/* The revocation index can be 0, 1, 2. Bootloader count can be 1,2,3. */
for (uint8_t i = boot_key_digests.num_digests; i < SECURE_BOOT_NUM_BLOCKS; i++) {
ESP_LOGI(TAG, "Revoking empty key digest slot (%d)...", i);
ets_secure_boot_revoke_public_key_digest(i);
}
}
}
esp_err_t err = esp_efuse_batch_write_begin();
if (err != ESP_OK) {
ESP_LOGI(TAG, "Error batch programming security eFuses.");
return err;
}
__attribute__((unused)) static const uint8_t enable = 1;
esp_efuse_write_field_bit(ESP_EFUSE_DIS_BOOT_REMAP);
esp_efuse_write_field_bit(ESP_EFUSE_DIS_LEGACY_SPI_BOOT);
esp_err_t err = ESP_FAIL;
#ifdef CONFIG_SECURE_ENABLE_SECURE_ROM_DL_MODE
ESP_LOGI(TAG, "Enabling Security download mode...");
err = esp_efuse_enable_rom_secure_download_mode();
if (err != ESP_OK) {
ESP_LOGE(TAG, "Could not enable Security download mode...");
return err;
}
#elif CONFIG_SECURE_DISABLE_ROM_DL_MODE
ESP_LOGI(TAG, "Disable ROM Download mode...");
err = esp_efuse_disable_rom_download_mode();
if (err != ESP_OK) {
ESP_LOGE(TAG, "Could not disable ROM Download mode...");
return err;
}
#else
ESP_LOGW(TAG, "UART ROM Download mode kept enabled - SECURITY COMPROMISED");
#endif
#ifndef CONFIG_SECURE_BOOT_ALLOW_JTAG
ESP_LOGI(TAG, "Disable hardware & software JTAG...");
esp_efuse_write_field_bit(ESP_EFUSE_HARD_DIS_JTAG);
esp_efuse_write_field_bit(ESP_EFUSE_SOFT_DIS_JTAG);
#else
ESP_LOGW(TAG, "Not disabling JTAG - SECURITY COMPROMISED");
#endif
#ifdef CONFIG_SECURE_BOOT_ENABLE_AGGRESSIVE_KEY_REVOKE
esp_efuse_write_field_bit(ESP_EFUSE_SECURE_BOOT_AGGRESSIVE_REVOKE);
#endif
esp_efuse_write_field_bit(ESP_EFUSE_SECURE_BOOT_EN);
#ifndef CONFIG_SECURE_BOOT_V2_ALLOW_EFUSE_RD_DIS
bool rd_dis_now = true;
#ifdef CONFIG_SECURE_FLASH_ENC_ENABLED
/* If flash encryption is not enabled yet then don't read-disable efuses yet, do it later in the boot
when Flash Encryption is being enabled */
rd_dis_now = esp_flash_encryption_enabled();
#endif
if (rd_dis_now) {
ESP_LOGI(TAG, "Prevent read disabling of additional efuses...");
esp_efuse_write_field_bit(ESP_EFUSE_WR_DIS_RD_DIS);
}
#else
ESP_LOGW(TAG, "Allowing read disabling of additional efuses - SECURITY COMPROMISED");
#endif
err = esp_efuse_batch_write_commit();
if (err != ESP_OK) {
ESP_LOGI(TAG, "Error programming security eFuses.");
return err;
}
#ifdef CONFIG_SECURE_BOOT_ENABLE_AGGRESSIVE_KEY_REVOKE
assert(ets_efuse_secure_boot_aggressive_revoke_enabled());
#endif
assert(ets_efuse_secure_boot_enabled());
ESP_LOGI(TAG, "Secure boot permanently enabled");
return ESP_OK;
}

View File

@@ -0,0 +1,93 @@
// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "sdkconfig.h"
#include <string.h>
#include "esp_fault.h"
#include "bootloader_flash_priv.h"
#include "bootloader_sha.h"
#include "bootloader_utility.h"
#include "esp_log.h"
#include "esp_image_format.h"
#include "esp_secure_boot.h"
#include "esp32s2/rom/secure_boot.h"
static const char* TAG = "secure_boot";
#define DIGEST_LEN 32
#define ALIGN_UP(num, align) (((num) + ((align) - 1)) & ~((align) - 1))
esp_err_t esp_secure_boot_verify_signature(uint32_t src_addr, uint32_t length)
{
uint8_t digest[DIGEST_LEN];
uint8_t verified_digest[DIGEST_LEN] = { 0 }; /* Note: this function doesn't do any anti-FI checks on this buffer */
const uint8_t *data;
ESP_LOGD(TAG, "verifying signature src_addr 0x%x length 0x%x", src_addr, length);
/* Padding to round off the input to the nearest 4k boundary */
int padded_length = ALIGN_UP(length, FLASH_SECTOR_SIZE);
ESP_LOGD(TAG, "verifying src_addr 0x%x length", src_addr, padded_length);
data = bootloader_mmap(src_addr, length + sizeof(struct ets_secure_boot_sig_block));
if (data == NULL) {
ESP_LOGE(TAG, "bootloader_mmap(0x%x, 0x%x) failed", src_addr, length+sizeof(ets_secure_boot_signature_t));
return ESP_FAIL;
}
/* Calculate digest of main image */
esp_err_t err = bootloader_sha256_flash_contents(src_addr, padded_length, digest);
if (err != ESP_OK) {
ESP_LOGE(TAG, "Digest calculation failed 0x%x, 0x%x", src_addr, padded_length);
bootloader_munmap(data);
return err;
}
const ets_secure_boot_signature_t *sig = (const ets_secure_boot_signature_t *)(data + length);
int r = esp_secure_boot_verify_rsa_signature_block(sig, digest, verified_digest);
bootloader_munmap(data);
return (r == ETS_OK) ? ESP_OK : ESP_FAIL;
}
esp_err_t esp_secure_boot_verify_rsa_signature_block(const ets_secure_boot_signature_t *sig_block, const uint8_t *image_digest, uint8_t *verified_digest)
{
ets_secure_boot_key_digests_t trusted_keys;
ets_secure_boot_key_digests_t trusted_key_copies[2];
ETS_STATUS r;
ets_secure_boot_status_t sb_result;
memset(&trusted_keys, 0, sizeof(ets_secure_boot_key_digests_t));
memset(trusted_key_copies, 0, 2 * sizeof(ets_secure_boot_key_digests_t));
if (!esp_secure_boot_enabled()) {
return ESP_OK;
}
r = ets_secure_boot_read_key_digests(&trusted_keys);
if (r != ETS_OK) {
ESP_LOGI(TAG, "Could not read secure boot digests!");
return ESP_FAIL;
}
// Create the copies for FI checks (assuming result is ETS_OK, if it's not then it'll fail the fault check anyhow)
ets_secure_boot_read_key_digests(&trusted_key_copies[0]);
ets_secure_boot_read_key_digests(&trusted_key_copies[1]);
ESP_FAULT_ASSERT(memcmp(&trusted_keys, &trusted_key_copies[0], sizeof(ets_secure_boot_key_digests_t)) == 0);
ESP_FAULT_ASSERT(memcmp(&trusted_keys, &trusted_key_copies[1], sizeof(ets_secure_boot_key_digests_t)) == 0);
ESP_LOGI(TAG, "Verifying with RSA-PSS boot...");
sb_result = ets_secure_boot_verify_signature(sig_block, image_digest, &trusted_keys, verified_digest);
return (sb_result == SB_SUCCESS) ? ESP_OK : ESP_FAIL;
}

View File

@@ -1,45 +0,0 @@
// Copyright 2015-2018 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "esp_secure_boot.h"
#include "esp_log.h"
#include "esp32s2beta/rom/secure_boot.h"
static const char *TAG = "secure_boot";
esp_err_t esp_secure_boot_permanently_enable(void)
{
uint8_t hash[32];
if (ets_efuse_secure_boot_enabled())
{
ESP_LOGI(TAG, "secure boot is already enabled, continuing..");
return ESP_OK;
}
ESP_LOGI(TAG, "Verifying bootloader signature...\n");
int r = ets_secure_boot_verify_bootloader(hash, false);
if (r != ESP_OK) {
ESP_LOGE(TAG, "Failed to verify bootloader signature");
return r;
}
ets_efuse_clear_program_registers();
REG_SET_BIT(EFUSE_PGM_DATA3_REG, EFUSE_SECURE_BOOT_EN);
ets_efuse_program(ETS_EFUSE_BLOCK0);
assert(ets_efuse_secure_boot_enabled());
ESP_LOGI(TAG, "Secure boot permanently enabled");
return ESP_OK;
}

View File

@@ -1,82 +0,0 @@
// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "sdkconfig.h"
#include "bootloader_flash.h"
#include "bootloader_sha.h"
#include "esp_log.h"
#include "esp_image_format.h"
#include "esp32s2beta/rom/secure_boot.h"
static const char* TAG = "secure_boot";
#define DIGEST_LEN 32
esp_err_t esp_secure_boot_verify_signature(uint32_t src_addr, uint32_t length)
{
ets_secure_boot_key_digests_t trusted_keys = { 0 };
uint8_t digest[DIGEST_LEN];
uint8_t verified_digest[DIGEST_LEN] = { 0 }; /* Note: this function doesn't do any anti-FI checks on this buffer */
const uint8_t *data;
ESP_LOGD(TAG, "verifying signature src_addr 0x%x length 0x%x", src_addr, length);
if ((src_addr + length) % 4096 != 0) {
ESP_LOGE(TAG, "addr 0x%x length 0x%x doesn't end on a sector boundary", src_addr, length);
return ESP_ERR_INVALID_ARG;
}
data = bootloader_mmap(src_addr, length + sizeof(struct ets_secure_boot_sig_block));
if (data == NULL) {
ESP_LOGE(TAG, "bootloader_mmap(0x%x, 0x%x) failed", src_addr, length+sizeof(ets_secure_boot_signature_t));
return ESP_FAIL;
}
// Calculate digest of main image
#ifdef BOOTLOADER_BUILD
bootloader_sha256_handle_t handle = bootloader_sha256_start();
bootloader_sha256_data(handle, data, length);
bootloader_sha256_finish(handle, digest);
#else
/* Use thread-safe esp-idf SHA function */
esp_sha(SHA2_256, data, length, digest);
#endif
int r = ets_secure_boot_read_key_digests(&trusted_keys);
if (r == ETS_OK) {
const ets_secure_boot_signature_t *sig = (const ets_secure_boot_signature_t *)(data + length);
// TODO: calling this function in IDF app context is unsafe
r = ets_secure_boot_verify_signature(sig, digest, &trusted_keys, verified_digest);
}
bootloader_munmap(data);
return (r == ETS_OK) ? ESP_OK : ESP_FAIL;
}
esp_err_t esp_secure_boot_verify_rsa_signature_block(const ets_secure_boot_signature_t *sig_block, const uint8_t *image_digest, uint8_t *verified_digest)
{
ets_secure_boot_key_digests_t trusted_keys;
int r = ets_secure_boot_read_key_digests(&trusted_keys);
if (r != 0) {
ESP_LOGE(TAG, "No trusted key digests were found in efuse!");
} else {
ESP_LOGD(TAG, "Verifying with RSA-PSS...");
// TODO: calling this function in IDF app context is unsafe
r = ets_secure_boot_verify_signature(sig_block, image_digest, &trusted_keys, verified_digest);
}
return (r == 0) ? ESP_OK : ESP_ERR_IMAGE_INVALID;
}

View File

@@ -20,18 +20,18 @@
#include <esp_log.h>
#include <esp_attr.h>
#include <esp_spi_flash.h>
#include <bootloader_flash.h>
#include <bootloader_flash_priv.h>
#include <bootloader_random.h>
#include <bootloader_sha.h>
#include "bootloader_util.h"
#include "bootloader_common.h"
#include "soc/soc_memory_layout.h"
#if CONFIG_IDF_TARGET_ESP32
#include <esp32/rom/rtc.h>
#include <esp32/rom/secure_boot.h>
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#include <esp32s2beta/rom/rtc.h>
#include <esp32s2beta/rom/secure_boot.h>
#include "esp32/rom/rtc.h"
#include "esp32/rom/secure_boot.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/rtc.h"
#include "esp32s2/rom/secure_boot.h"
#endif
/* Checking signatures as part of verifying images is necessary:
@@ -104,7 +104,7 @@ static esp_err_t image_load(esp_image_load_mode_t mode, const esp_partition_pos_
bool do_verify = (mode == ESP_IMAGE_LOAD) || (mode == ESP_IMAGE_VERIFY) || (mode == ESP_IMAGE_VERIFY_SILENT);
#else
bool do_load = false; // Can't load the image in app mode
bool do_verify = true; // In app mode is avalible only verify mode
bool do_verify = true; // In app mode is available only verify mode
#endif
bool silent = (mode == ESP_IMAGE_VERIFY_SILENT);
esp_err_t err = ESP_OK;
@@ -276,7 +276,7 @@ static esp_err_t image_load(esp_image_load_mode_t mode, const esp_partition_pos_
"only verify signature in bootloader" into the macro so it's tested multiple times.
*/
#if CONFIG_SECURE_BOOT_V2_ENABLED
ESP_FAULT_ASSERT(memcmp(image_digest, verified_digest, HASH_LEN) == 0);
ESP_FAULT_ASSERT(!esp_secure_boot_enabled() || memcmp(image_digest, verified_digest, HASH_LEN) == 0);
#else // Secure Boot V1 on ESP32, only verify signatures for apps not bootloaders
ESP_FAULT_ASSERT(data->start_addr == ESP_BOOTLOADER_OFFSET || memcmp(image_digest, verified_digest, HASH_LEN) == 0);
#endif
@@ -311,7 +311,7 @@ err:
// Prevent invalid/incomplete data leaking out
bzero(data, sizeof(esp_image_metadata_t));
return err;
}
}
esp_err_t bootloader_load_image(const esp_partition_pos_t *part, esp_image_metadata_t *data)
{

View File

@@ -20,6 +20,14 @@
#include "esp_flash_encrypt.h"
#include "esp_secure_boot.h"
#if CONFIG_IDF_TARGET_ESP32
#define CRYPT_CNT ESP_EFUSE_FLASH_CRYPT_CNT
#define WR_DIS_CRYPT_CNT ESP_EFUSE_WR_DIS_FLASH_CRYPT_CNT
#elif CONFIG_IDF_TARGET_ESP32S2
#define CRYPT_CNT ESP_EFUSE_SPI_BOOT_CRYPT_CNT
#define WR_DIS_CRYPT_CNT ESP_EFUSE_WR_DIS_SPI_BOOT_CRYPT_CNT
#endif
#ifndef BOOTLOADER_BUILD
static const char *TAG = "flash_encrypt";
@@ -33,20 +41,17 @@ void esp_flash_encryption_init_checks()
#ifdef CONFIG_SECURE_FLASH_ENCRYPTION_MODE_RELEASE
#ifdef CONFIG_SECURE_BOOT
if (esp_secure_boot_enabled() && esp_flash_encryption_enabled()) {
bool flash_crypt_cnt_wr_dis = esp_efuse_read_field_bit(ESP_EFUSE_WR_DIS_FLASH_CRYPT_CNT);
bool flash_crypt_cnt_wr_dis = esp_efuse_read_field_bit(WR_DIS_CRYPT_CNT);
if (!flash_crypt_cnt_wr_dis) {
uint8_t flash_crypt_cnt = 0;
esp_efuse_read_field_blob(ESP_EFUSE_FLASH_CRYPT_CNT, &flash_crypt_cnt,
ESP_EFUSE_FLASH_CRYPT_CNT[0]->bit_count);
if (flash_crypt_cnt == (1<<(ESP_EFUSE_FLASH_CRYPT_CNT[0]->bit_count))-1) {
esp_efuse_read_field_blob(CRYPT_CNT, &flash_crypt_cnt, CRYPT_CNT[0]->bit_count);
if (flash_crypt_cnt == (1<<(CRYPT_CNT[0]->bit_count))-1) {
// If encryption counter is already max, no need to write protect it
// (this distinction is important on ESP32 ECO3 where write-protecting FLASH_CRYPT_CNT also write-protects UART_DL_DIS)
flash_crypt_cnt_wr_dis = true;
}
if (!flash_crypt_cnt_wr_dis) {
ESP_EARLY_LOGE(TAG, "Flash encryption & Secure Boot together requires FLASH_CRYPT_CNT efuse to be write protected. Fixing now...");
esp_flash_write_protect_crypt_cnt();
// (this distinction is important on ESP32 ECO3 where write-procted FLASH_CRYPT_CNT also write-protects UART_DL_DIS)
return;
}
ESP_LOGE(TAG, "Flash encryption & Secure Boot together requires FLASH_CRYPT_CNT efuse to be write protected. Fixing now...");
esp_flash_write_protect_crypt_cnt();
}
}
#endif // CONFIG_SECURE_BOOT
@@ -70,35 +75,54 @@ void esp_flash_encryption_init_checks()
void esp_flash_write_protect_crypt_cnt(void)
{
esp_efuse_write_field_bit(ESP_EFUSE_WR_DIS_FLASH_CRYPT_CNT);
esp_efuse_write_field_bit(WR_DIS_CRYPT_CNT);
}
esp_flash_enc_mode_t esp_get_flash_encryption_mode(void)
{
bool efuse_flash_crypt_cnt_wr_protected;
bool flash_crypt_cnt_wr_dis = false;
#if CONFIG_IDF_TARGET_ESP32
uint8_t dis_dl_enc = 0, dis_dl_dec = 0, dis_dl_cache = 0;
#elif CONFIG_IDF_TARGET_ESP32S2
uint8_t dis_dl_enc = 0;
uint8_t dis_dl_icache = 0;
uint8_t dis_dl_dcache = 0;
#endif
esp_flash_enc_mode_t mode = ESP_FLASH_ENC_MODE_DEVELOPMENT;
if (esp_flash_encryption_enabled()) {
/* Check if FLASH CRYPT CNT is write protected */
efuse_flash_crypt_cnt_wr_protected = esp_efuse_read_field_bit(ESP_EFUSE_WR_DIS_FLASH_CRYPT_CNT);
if (!efuse_flash_crypt_cnt_wr_protected) {
flash_crypt_cnt_wr_dis = esp_efuse_read_field_bit(WR_DIS_CRYPT_CNT);
if (!flash_crypt_cnt_wr_dis) {
uint8_t flash_crypt_cnt = 0;
esp_efuse_read_field_blob(ESP_EFUSE_FLASH_CRYPT_CNT, &flash_crypt_cnt, ESP_EFUSE_FLASH_CRYPT_CNT[0]->bit_count);
if (flash_crypt_cnt == (1 << (ESP_EFUSE_FLASH_CRYPT_CNT[0]->bit_count)) - 1) {
efuse_flash_crypt_cnt_wr_protected = true; // CRYPT_CNT at max is same as write protected
esp_efuse_read_field_blob(CRYPT_CNT, &flash_crypt_cnt, CRYPT_CNT[0]->bit_count);
if (flash_crypt_cnt == (1 << (CRYPT_CNT[0]->bit_count)) - 1) {
flash_crypt_cnt_wr_dis = true;
}
}
if (efuse_flash_crypt_cnt_wr_protected) {
if (flash_crypt_cnt_wr_dis) {
#if CONFIG_IDF_TARGET_ESP32
dis_dl_cache = esp_efuse_read_field_bit(ESP_EFUSE_DISABLE_DL_CACHE);
dis_dl_enc = esp_efuse_read_field_bit(ESP_EFUSE_DISABLE_DL_ENCRYPT);
dis_dl_dec = esp_efuse_read_field_bit(ESP_EFUSE_DISABLE_DL_DECRYPT);
/* Check if DISABLE_DL_DECRYPT, DISABLE_DL_ENCRYPT & DISABLE_DL_CACHE are set */
if ( dis_dl_cache && dis_dl_enc && dis_dl_dec ) {
mode = ESP_FLASH_ENC_MODE_RELEASE;
}
#elif CONFIG_IDF_TARGET_ESP32S2
dis_dl_enc = esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_MANUAL_ENCRYPT);
dis_dl_icache = esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_ICACHE);
dis_dl_dcache = esp_efuse_read_field_bit(ESP_EFUSE_DIS_DOWNLOAD_DCACHE);
if (dis_dl_enc && dis_dl_icache && dis_dl_dcache) {
mode = ESP_FLASH_ENC_MODE_RELEASE;
}
#endif
}
} else {
mode = ESP_FLASH_ENC_MODE_DISABLED;

View File

@@ -15,40 +15,21 @@
#include <stdint.h>
#include "bootloader_flash_config.h"
#include "flash_qio_mode.h"
#include "bootloader_flash_priv.h"
#include "esp_log.h"
#include "esp_err.h"
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/spi_flash.h"
#include "esp32/rom/efuse.h"
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#include "esp32s2beta/rom/spi_flash.h"
#include "esp32s2beta/rom/efuse.h"
#elif CONFIG_IDF_TARGET_ESP32S2
#include "esp32s2/rom/spi_flash.h"
#include "esp32s2/rom/efuse.h"
#include "soc/spi_mem_struct.h"
#endif
#include "soc/spi_struct.h"
#include "soc/spi_reg.h"
#include "soc/efuse_periph.h"
#include "soc/io_mux_reg.h"
#include "sdkconfig.h"
/* SPI flash controller */
#if CONFIG_IDF_TARGET_ESP32
#define SPIFLASH SPI1
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#define SPIFLASH SPIMEM1
#endif
/* SPI commands (actual on-wire commands not SPI controller bitmasks)
Suitable for use with the execute_flash_command static function.
*/
#define CMD_RDID 0x9F
#define CMD_WRSR 0x01
#define CMD_WRSR2 0x31 /* Not all SPI flash uses this command */
#define CMD_WREN 0x06
#define CMD_WRDI 0x04
#define CMD_RDSR 0x05
#define CMD_RDSR2 0x35 /* Not all SPI flash uses this command */
#define CMD_OTPEN 0x3A /* Enable OTP mode, not all SPI flash uses this command */
static const char *TAG = "qio_mode";
@@ -126,56 +107,6 @@ static esp_err_t enable_qio_mode(read_status_fn_t read_status_fn,
The command passed here is always the on-the-wire command given to the SPI flash unit.
*/
static uint32_t execute_flash_command(uint8_t command, uint32_t mosi_data, uint8_t mosi_len, uint8_t miso_len);
/* dummy_len_plus values defined in ROM for SPI flash configuration */
extern uint8_t g_rom_spiflash_dummy_len_plus[];
uint32_t bootloader_read_flash_id(void)
{
uint32_t id = execute_flash_command(CMD_RDID, 0, 0, 24);
id = ((id & 0xff) << 16) | ((id >> 16) & 0xff) | (id & 0xff00);
return id;
}
#if CONFIG_IDF_TARGET_ESP32S2BETA
#define FLASH_WRAP_CMD 0x77
typedef enum {
FLASH_WRAP_MODE_8B = 0,
FLASH_WRAP_MODE_16B = 2,
FLASH_WRAP_MODE_32B = 4,
FLASH_WRAP_MODE_64B = 6,
FLASH_WRAP_MODE_DISABLE = 1
} spi_flash_wrap_mode_t;
static esp_err_t spi_flash_wrap_set(spi_flash_wrap_mode_t mode)
{
uint32_t reg_bkp_ctrl = SPIFLASH.ctrl.val;
uint32_t reg_bkp_usr = SPIFLASH.user.val;
SPIFLASH.user.fwrite_dio = 0;
SPIFLASH.user.fwrite_dual = 0;
SPIFLASH.user.fwrite_qio = 1;
SPIFLASH.user.fwrite_quad = 0;
SPIFLASH.ctrl.fcmd_dual = 0;
SPIFLASH.ctrl.fcmd_quad = 0;
SPIFLASH.user.usr_dummy = 0;
SPIFLASH.user.usr_addr = 1;
SPIFLASH.user.usr_command = 1;
SPIFLASH.user2.usr_command_bitlen = 7;
SPIFLASH.user2.usr_command_value = FLASH_WRAP_CMD;
SPIFLASH.user1.usr_addr_bitlen = 23;
SPIFLASH.addr = 0;
SPIFLASH.user.usr_miso = 0;
SPIFLASH.user.usr_mosi = 1;
SPIFLASH.mosi_dlen.usr_mosi_bit_len = 7;
SPIFLASH.data_buf[0] = (uint32_t) mode << 4;;
SPIFLASH.cmd.usr = 1;
while (SPIFLASH.cmd.usr != 0) {
}
SPIFLASH.ctrl.val = reg_bkp_ctrl;
SPIFLASH.user.val = reg_bkp_usr;
return ESP_OK;
}
#endif
void bootloader_enable_qio_mode(void)
{
@@ -208,8 +139,8 @@ void bootloader_enable_qio_mode(void)
enable_qio_mode(chip_data[i].read_status_fn,
chip_data[i].write_status_fn,
chip_data[i].status_qio_bit);
#if CONFIG_IDF_TARGET_ESP32S2BETA
spi_flash_wrap_set(FLASH_WRAP_MODE_DISABLE);
#if SOC_CACHE_SUPPORT_WRAP
bootloader_flash_wrap_set(FLASH_WRAP_MODE_DISABLE);
#endif
}
@@ -226,7 +157,7 @@ static esp_err_t enable_qio_mode(read_status_fn_t read_status_fn,
ESP_LOGD(TAG, "Initial flash chip status 0x%x", status);
if ((status & (1 << status_qio_bit)) == 0) {
execute_flash_command(CMD_WREN, 0, 0, 0);
bootloader_execute_flash_command(CMD_WREN, 0, 0, 0);
write_status_fn(status | (1 << status_qio_bit));
esp_rom_spiflash_wait_idle(&g_rom_flashchip);
@@ -256,7 +187,7 @@ static esp_err_t enable_qio_mode(read_status_fn_t read_status_fn,
#if CONFIG_IDF_TARGET_ESP32
int wp_pin = bootloader_flash_get_wp_pin();
esp_rom_spiflash_select_qio_pins(wp_pin, spiconfig);
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#elif CONFIG_IDF_TARGET_ESP32S2
esp_rom_spiflash_select_qio_pins(ets_efuse_get_wp_pad(), spiconfig);
#endif
return ESP_OK;
@@ -264,95 +195,48 @@ static esp_err_t enable_qio_mode(read_status_fn_t read_status_fn,
static unsigned read_status_8b_rdsr(void)
{
return execute_flash_command(CMD_RDSR, 0, 0, 8);
return bootloader_execute_flash_command(CMD_RDSR, 0, 0, 8);
}
static unsigned read_status_8b_rdsr2(void)
{
return execute_flash_command(CMD_RDSR2, 0, 0, 8);
return bootloader_execute_flash_command(CMD_RDSR2, 0, 0, 8);
}
static unsigned read_status_16b_rdsr_rdsr2(void)
{
return execute_flash_command(CMD_RDSR, 0, 0, 8) | (execute_flash_command(CMD_RDSR2, 0, 0, 8) << 8);
return bootloader_execute_flash_command(CMD_RDSR, 0, 0, 8) | (bootloader_execute_flash_command(CMD_RDSR2, 0, 0, 8) << 8);
}
static void write_status_8b_wrsr(unsigned new_status)
{
execute_flash_command(CMD_WRSR, new_status, 8, 0);
bootloader_execute_flash_command(CMD_WRSR, new_status, 8, 0);
}
static void write_status_8b_wrsr2(unsigned new_status)
{
execute_flash_command(CMD_WRSR2, new_status, 8, 0);
bootloader_execute_flash_command(CMD_WRSR2, new_status, 8, 0);
}
static void write_status_16b_wrsr(unsigned new_status)
{
execute_flash_command(CMD_WRSR, new_status, 16, 0);
bootloader_execute_flash_command(CMD_WRSR, new_status, 16, 0);
}
static unsigned read_status_8b_xmc25qu64a(void)
{
execute_flash_command(CMD_OTPEN, 0, 0, 0); /* Enter OTP mode */
bootloader_execute_flash_command(CMD_OTPEN, 0, 0, 0); /* Enter OTP mode */
esp_rom_spiflash_wait_idle(&g_rom_flashchip);
uint32_t read_status = execute_flash_command(CMD_RDSR, 0, 0, 8);
execute_flash_command(CMD_WRDI, 0, 0, 0); /* Exit OTP mode */
uint32_t read_status = bootloader_execute_flash_command(CMD_RDSR, 0, 0, 8);
bootloader_execute_flash_command(CMD_WRDI, 0, 0, 0); /* Exit OTP mode */
return read_status;
}
static void write_status_8b_xmc25qu64a(unsigned new_status)
{
execute_flash_command(CMD_OTPEN, 0, 0, 0); /* Enter OTP mode */
bootloader_execute_flash_command(CMD_OTPEN, 0, 0, 0); /* Enter OTP mode */
esp_rom_spiflash_wait_idle(&g_rom_flashchip);
execute_flash_command(CMD_WRSR, new_status, 8, 0);
bootloader_execute_flash_command(CMD_WRSR, new_status, 8, 0);
esp_rom_spiflash_wait_idle(&g_rom_flashchip);
execute_flash_command(CMD_WRDI, 0, 0, 0); /* Exit OTP mode */
}
static uint32_t execute_flash_command(uint8_t command, uint32_t mosi_data, uint8_t mosi_len, uint8_t miso_len)
{
uint32_t old_ctrl_reg = SPIFLASH.ctrl.val;
#if CONFIG_IDF_TARGET_ESP32
SPIFLASH.ctrl.val = SPI_WP_REG_M; // keep WP high while idle, otherwise leave DIO mode
#elif CONFIG_IDF_TARGET_ESP32S2BETA
SPIFLASH.ctrl.val = SPI_MEM_WP_REG_M; // keep WP high while idle, otherwise leave DIO mode
#endif
SPIFLASH.user.usr_dummy = 0;
SPIFLASH.user.usr_addr = 0;
SPIFLASH.user.usr_command = 1;
SPIFLASH.user2.usr_command_bitlen = 7;
SPIFLASH.user2.usr_command_value = command;
SPIFLASH.user.usr_miso = miso_len > 0;
#if CONFIG_IDF_TARGET_ESP32
SPIFLASH.miso_dlen.usr_miso_dbitlen = miso_len ? (miso_len - 1) : 0;
#elif CONFIG_IDF_TARGET_ESP32S2BETA
SPIFLASH.miso_dlen.usr_miso_bit_len = miso_len ? (miso_len - 1) : 0;
#endif
SPIFLASH.user.usr_mosi = mosi_len > 0;
#if CONFIG_IDF_TARGET_ESP32
SPIFLASH.mosi_dlen.usr_mosi_dbitlen = mosi_len ? (mosi_len - 1) : 0;
#elif CONFIG_IDF_TARGET_ESP32S2BETA
SPIFLASH.mosi_dlen.usr_mosi_bit_len = mosi_len ? (mosi_len - 1) : 0;
#endif
SPIFLASH.data_buf[0] = mosi_data;
if (g_rom_spiflash_dummy_len_plus[1]) {
/* When flash pins are mapped via GPIO matrix, need a dummy cycle before reading via MISO */
if (miso_len > 0) {
SPIFLASH.user.usr_dummy = 1;
SPIFLASH.user1.usr_dummy_cyclelen = g_rom_spiflash_dummy_len_plus[1] - 1;
} else {
SPIFLASH.user.usr_dummy = 0;
SPIFLASH.user1.usr_dummy_cyclelen = 0;
}
}
SPIFLASH.cmd.usr = 1;
while (SPIFLASH.cmd.usr != 0) {
}
SPIFLASH.ctrl.val = old_ctrl_reg;
return SPIFLASH.data_buf[0];
bootloader_execute_flash_command(CMD_WRDI, 0, 0, 0); /* Exit OTP mode */
}

View File

@@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
#include "bootloader_sha.h"
#include "bootloader_flash.h"
#include "bootloader_flash_priv.h"
#include <stdbool.h>
#include <string.h>
#include <assert.h>
@@ -51,4 +51,5 @@ void bootloader_sha256_finish(bootloader_sha256_handle_t handle, uint8_t *digest
}
mbedtls_sha256_free(ctx);
free(handle);
handle = NULL;
}

View File

@@ -13,7 +13,7 @@
// limitations under the License.
#include "sdkconfig.h"
#include "bootloader_flash.h"
#include "bootloader_flash_priv.h"
#include "bootloader_sha.h"
#include "bootloader_utility.h"
#include "esp_log.h"
@@ -27,6 +27,11 @@
#include "mbedtls/ctr_drbg.h"
#include <string.h>
#include <sys/param.h>
#include "esp_secure_boot.h"
#ifdef CONFIG_IDF_TARGET_ESP32S2
#include <esp32s2/rom/secure_boot.h>
#endif
#define DIGEST_LEN 32
@@ -142,6 +147,26 @@ static const char *TAG = "secure_boot_v2";
#define ALIGN_UP(num, align) (((num) + ((align) - 1)) & ~((align) - 1))
#define RSA_KEY_SIZE 384 /* RSA 3072 Bits */
#if CONFIG_IDF_TARGET_ESP32S2
inline static bool digest_matches(const void *trusted, const void *computed)
{
if (trusted == NULL) {
return false;
}
// 'trusted' is probably a pointer to read-only efuse registers,
// which only support word reads. memcmp() cannot be guaranteed
// to do word reads, so we make a local copy here (we know that
// memcpy() will do word operations if it can).
uint8_t __attribute__((aligned(4))) trusted_local[ETS_DIGEST_LEN];
uint8_t __attribute__((aligned(4))) computed_local[ETS_DIGEST_LEN];
memcpy(trusted_local, trusted, ETS_DIGEST_LEN);
memcpy(computed_local, computed, ETS_DIGEST_LEN);
return memcmp(trusted_local, computed_local, ETS_DIGEST_LEN) == 0;
}
#endif /* CONFIG_IDF_TARGET_ESP32S2 */
esp_err_t esp_secure_boot_verify_signature(uint32_t src_addr, uint32_t length)
{
uint8_t digest[DIGEST_LEN] = {0};
@@ -173,23 +198,27 @@ esp_err_t esp_secure_boot_verify_signature(uint32_t src_addr, uint32_t length)
esp_err_t esp_secure_boot_verify_rsa_signature_block(const ets_secure_boot_signature_t *sig_block, const uint8_t *image_digest, uint8_t *verified_digest)
{
int i = 0;
uint8_t i = 0;
#if CONFIG_SECURE_BOOT_V2_ENABLED /* Verify key against efuse block */
uint8_t efuse_trusted_digest[DIGEST_LEN] = {0}, sig_block_trusted_digest[DIGEST_LEN] = {0};
memcpy(efuse_trusted_digest, (uint8_t *) EFUSE_BLK2_RDATA0_REG, sizeof(efuse_trusted_digest));
uint8_t sig_block_key_digest[SECURE_BOOT_NUM_BLOCKS][DIGEST_LEN] = {0};
/* Note: in IDF verification we don't add any fault injection resistance, as we don't expect this to be called
during boot-time verification. */
memset(verified_digest, 0, DIGEST_LEN);
/* Generating the SHA of the public key components in the signature block */
bootloader_sha256_handle_t sig_block_sha;
sig_block_sha = bootloader_sha256_start();
bootloader_sha256_data(sig_block_sha, &sig_block->block[0].key, sizeof(sig_block->block[0].key));
bootloader_sha256_finish(sig_block_sha, (unsigned char *)sig_block_trusted_digest);
for (i = 0; i < SECURE_BOOT_NUM_BLOCKS; i++) {
bootloader_sha256_handle_t sig_block_sha;
sig_block_sha = bootloader_sha256_start();
bootloader_sha256_data(sig_block_sha, &sig_block->block[i].key, sizeof(sig_block->block[i].key));
bootloader_sha256_finish(sig_block_sha, (unsigned char *)sig_block_key_digest[i]);
}
if (memcmp(efuse_trusted_digest, sig_block_trusted_digest, DIGEST_LEN) != 0) {
#if CONFIG_IDF_TARGET_ESP32
uint8_t efuse_trusted_digest[DIGEST_LEN] = {0};
memcpy(efuse_trusted_digest, (uint8_t *) EFUSE_BLK2_RDATA0_REG, sizeof(efuse_trusted_digest));
if (memcmp(efuse_trusted_digest, sig_block_key_digest[0], DIGEST_LEN) != 0) {
const uint8_t zeroes[DIGEST_LEN] = {0};
/* Can't continue if secure boot is enabled, OR if a different digest is already written in efuse BLK2
@@ -200,7 +229,17 @@ esp_err_t esp_secure_boot_verify_rsa_signature_block(const ets_secure_boot_signa
return ESP_FAIL;
}
}
#endif
#elif CONFIG_IDF_TARGET_ESP32S2
bool match = false;
ets_secure_boot_key_digests_t efuse_trusted_digest;
ETS_STATUS r;
r = ets_secure_boot_read_key_digests(&efuse_trusted_digest);
if (r != 0) {
ESP_LOGI(TAG, "Could not read secure boot digests!");
return ESP_FAIL;
}
#endif /* CONFIG_IDF_TARGET_ESP32 */
#endif /* CONFIG_SECURE_BOOT_V2_ENABLED */
ESP_LOGI(TAG, "Verifying with RSA-PSS...");
int ret = 0;
@@ -222,6 +261,19 @@ esp_err_t esp_secure_boot_verify_rsa_signature_block(const ets_secure_boot_signa
}
for (i = 0; i < SECURE_BOOT_NUM_BLOCKS; i++) {
#if CONFIG_IDF_TARGET_ESP32S2
for (uint8_t j = 0; j < SECURE_BOOT_NUM_BLOCKS; j++) {
if (digest_matches(efuse_trusted_digest.key_digests[j], sig_block_key_digest[i])) {
ESP_LOGI(TAG, "eFuse key matches(%d) matches the application key(%d).", j, i);
match = true;
break;
}
}
if (match == false) {
continue; // Skip the public keys whose digests don't match.
}
# endif
const mbedtls_mpi N = { .s = 1,
.n = sizeof(sig_block->block[i].key.n)/sizeof(mbedtls_mpi_uint),
.p = (void *)sig_block->block[i].key.n,
@@ -273,9 +325,13 @@ esp_err_t esp_secure_boot_verify_rsa_signature_block(const ets_secure_boot_signa
break;
}
}
free(sig_be);
free(buf);
return (!ret) ? ESP_OK : ESP_ERR_IMAGE_INVALID;
#if CONFIG_IDF_TARGET_ESP32
return (ret != 0) ? ESP_ERR_IMAGE_INVALID: ESP_OK;
#elif CONFIG_IDF_TARGET_ESP32S2
return (ret != 0 || match == false) ? ESP_ERR_IMAGE_INVALID: ESP_OK;
#endif /* CONFIG_IDF_TARGET_ESP32 */
}
#endif

View File

@@ -1,3 +1,3 @@
idf_component_register(SRC_DIRS "."
INCLUDE_DIRS "."
REQUIRES unity bootloader_support app_update)
PRIV_INCLUDE_DIRS "."
PRIV_REQUIRES unity bootloader_support app_update)

View File

@@ -33,7 +33,7 @@ TEST_CASE("Verify bootloader image in flash", "[bootloader_support]")
TEST_ASSERT_EQUAL(data.image_len, bootloader_length);
}
#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32S2BETA)
#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32S2)
TEST_CASE("Verify unit test app image", "[bootloader_support]")
{
esp_image_metadata_t data = { 0 };

View File

@@ -47,6 +47,7 @@ if(CONFIG_BT_ENABLED)
host/bluedroid/btc/profile/esp/blufi/include
host/bluedroid/btc/profile/esp/include
host/bluedroid/btc/profile/std/a2dp/include
host/bluedroid/btc/profile/std/hid/include
host/bluedroid/btc/profile/std/include
host/bluedroid/btc/include
host/bluedroid/stack/btm/include
@@ -167,6 +168,8 @@ if(CONFIG_BT_ENABLED)
"host/bluedroid/btc/profile/std/hf_ag/btc_hf_ag.c"
"host/bluedroid/btc/profile/std/hf_client/btc_hf_client.c"
"host/bluedroid/btc/profile/std/hf_client/bta_hf_client_co.c"
"host/bluedroid/btc/profile/std/hid/hidh_api.c"
"host/bluedroid/btc/profile/std/hid/hidh_conn.c"
"host/bluedroid/btc/profile/std/gap/btc_gap_ble.c"
"host/bluedroid/btc/profile/std/gap/btc_gap_bt.c"
"host/bluedroid/btc/profile/std/gap/bta_gap_bt_co.c"
@@ -557,13 +560,15 @@ if(CONFIG_BT_ENABLED)
endif()
endif()
endif()
# requirements can't depend on config
idf_component_register(SRCS "${srcs}"
INCLUDE_DIRS "${include_dirs}"
PRIV_INCLUDE_DIRS "${priv_include_dirs}"
REQUIRES nvs_flash soc)
REQUIRES nvs_flash soc esp_timer
PRIV_REQUIRES esp_ipc)
if(CONFIG_BT_ENABLED)
target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-implicit-fallthrough -Wno-unused-const-variable)

View File

@@ -1,4 +1,5 @@
menu "Bluetooth"
visible if IDF_TARGET_ESP32
config BT_ENABLED
bool "Bluetooth"
@@ -364,7 +365,7 @@ menu "Bluetooth"
int "Maximum number of devices in scan duplicate filter"
depends on BTDM_BLE_SCAN_DUPL
range 10 1000
default 200
default 100
help
Maximum number of devices which can be recorded in scan duplicate filter.
When the maximum amount of device in the filter is reached, the cache will be refreshed.
@@ -380,7 +381,7 @@ menu "Bluetooth"
int "Maximum number of Mesh adv packets in scan duplicate filter"
depends on BTDM_BLE_MESH_SCAN_DUPL_EN
range 10 1000
default 200
default 100
help
Maximum number of adv packets which can be recorded in duplicate scan cache for BLE Mesh.
When the maximum amount of device in the filter is reached, the cache will be refreshed.
@@ -471,6 +472,7 @@ endmenu
menuconfig BLE_MESH
bool "ESP BLE Mesh Support"
depends on BT_ENABLED
help
This option enables ESP BLE Mesh support. The specific features that are
available may depend on other features that have been enabled in the

View File

@@ -42,6 +42,12 @@
#define BTC_DYNAMIC_MEMORY FALSE
#endif
#if UC_BT_BLUEDROID_MEM_DEBUG
#define HEAP_MEMORY_DEBUG TRUE
#else
#define HEAP_MEMORY_DEBUG FALSE
#endif
#ifndef BT_BLE_DYNAMIC_ENV_MEMORY
#define BT_BLE_DYNAMIC_ENV_MEMORY FALSE
#endif

View File

@@ -80,4 +80,11 @@
#define UC_BT_LOG_OSI_TRACE_LEVEL UC_TRACE_LEVEL_WARNING
#endif
//MEMORY DEBUG
#ifdef CONFIG_BT_BLUEDROID_MEM_DEBUG
#define UC_BT_BLUEDROID_MEM_DEBUG TRUE
#else
#define UC_BT_BLUEDROID_MEM_DEBUG FALSE
#endif
#endif /* __BT_USER_CONFIG_H__ */

View File

@@ -78,7 +78,7 @@ period_ms_t osi_alarm_get_remaining_ms(const osi_alarm_t *alarm);
uint32_t osi_time_get_os_boottime_ms(void);
// This function returns whether the |alarm| which encapsulated
// This function returns whether the alarm which encapsulated
// a one-shot timer is active or not
bool osi_alarm_is_active(osi_alarm_t *alarm);

View File

@@ -45,6 +45,7 @@ COMPONENT_PRIV_INCLUDEDIRS += host/bluedroid/bta/include \
host/bluedroid/btc/profile/std/gatt/include \
host/bluedroid/btc/profile/std/gap/include \
host/bluedroid/btc/profile/std/a2dp/include \
host/bluedroid/btc/profile/std/hid/include \
host/bluedroid/btc/profile/std/include \
host/bluedroid/btc/include \
host/bluedroid/btif/include \
@@ -96,6 +97,7 @@ COMPONENT_SRCDIRS += host/bluedroid/bta/dm \
host/bluedroid/btc/profile/std/spp \
host/bluedroid/btc/profile/std/hf_ag \
host/bluedroid/btc/profile/std/hf_client \
host/bluedroid/btc/profile/std/hid \
host/bluedroid/btc/profile \
host/bluedroid/stack/btm \
host/bluedroid/stack/btu \

View File

@@ -37,6 +37,7 @@
#include "esp_err.h"
#include "esp_log.h"
#include "esp_pm.h"
#include "esp_timer.h"
#include "driver/periph_ctrl.h"
#include "soc/rtc.h"
#include "soc/soc_memory_layout.h"
@@ -93,11 +94,6 @@ do{\
#define OSI_VERSION 0x00010003
#define OSI_MAGIC_VALUE 0xFADEBEAD
/* SPIRAM Configuration */
#if CONFIG_SPIRAM_USE_MALLOC
#define BTDM_MAX_QUEUE_NUM (5)
#endif
/* Types definition
************************************************************************
*/
@@ -115,14 +111,10 @@ typedef struct {
intptr_t end;
} btdm_dram_available_region_t;
/* PSRAM configuration */
#if CONFIG_SPIRAM_USE_MALLOC
typedef struct {
QueueHandle_t handle;
void *handle;
void *storage;
void *buffer;
} btdm_queue_item_t;
#endif
/* OSI function */
struct osi_funcs_t {
@@ -268,10 +260,6 @@ extern uint32_t _btdm_data_end;
/* Local Function Declare
*********************************************************************
*/
#if CONFIG_SPIRAM_USE_MALLOC
static bool btdm_queue_generic_register(const btdm_queue_item_t *queue);
static bool btdm_queue_generic_deregister(btdm_queue_item_t *queue);
#endif /* CONFIG_SPIRAM_USE_MALLOC */
static void IRAM_ATTR interrupt_disable(void);
static void IRAM_ATTR interrupt_restore(void);
static void IRAM_ATTR task_yield(void);
@@ -414,11 +402,6 @@ SOC_RESERVE_MEMORY_REGION(SOC_MEM_BT_DATA_START, SOC_MEM_BT_DATA_END,
static DRAM_ATTR struct osi_funcs_t *osi_funcs_p;
#if CONFIG_SPIRAM_USE_MALLOC
static DRAM_ATTR btdm_queue_item_t btdm_queue_table[BTDM_MAX_QUEUE_NUM];
static DRAM_ATTR SemaphoreHandle_t btdm_queue_table_mux = NULL;
#endif /* #if CONFIG_SPIRAM_USE_MALLOC */
/* Static variable declare */
// timestamp when PHY/RF was switched on
static DRAM_ATTR int64_t s_time_phy_rf_just_enabled = 0;
@@ -458,52 +441,6 @@ static inline void btdm_check_and_init_bb(void)
}
}
#if CONFIG_SPIRAM_USE_MALLOC
static bool btdm_queue_generic_register(const btdm_queue_item_t *queue)
{
if (!btdm_queue_table_mux || !queue) {
return NULL;
}
bool ret = false;
btdm_queue_item_t *item;
xSemaphoreTake(btdm_queue_table_mux, portMAX_DELAY);
for (int i = 0; i < BTDM_MAX_QUEUE_NUM; ++i) {
item = &btdm_queue_table[i];
if (item->handle == NULL) {
memcpy(item, queue, sizeof(btdm_queue_item_t));
ret = true;
break;
}
}
xSemaphoreGive(btdm_queue_table_mux);
return ret;
}
static bool btdm_queue_generic_deregister(btdm_queue_item_t *queue)
{
if (!btdm_queue_table_mux || !queue) {
return false;
}
bool ret = false;
btdm_queue_item_t *item;
xSemaphoreTake(btdm_queue_table_mux, portMAX_DELAY);
for (int i = 0; i < BTDM_MAX_QUEUE_NUM; ++i) {
item = &btdm_queue_table[i];
if (item->handle == queue->handle) {
memcpy(queue, item, sizeof(btdm_queue_item_t));
memset(item, 0, sizeof(btdm_queue_item_t));
ret = true;
break;
}
}
xSemaphoreGive(btdm_queue_table_mux);
return ret;
}
#endif /* CONFIG_SPIRAM_USE_MALLOC */
static void IRAM_ATTR interrupt_disable(void)
{
if (xPortInIsrContext()) {
@@ -534,148 +471,74 @@ static void IRAM_ATTR task_yield_from_isr(void)
static void *semphr_create_wrapper(uint32_t max, uint32_t init)
{
btdm_queue_item_t *semphr = heap_caps_calloc(1, sizeof(btdm_queue_item_t), MALLOC_CAP_8BIT|MALLOC_CAP_INTERNAL);
assert(semphr);
#if !CONFIG_SPIRAM_USE_MALLOC
return (void *)xSemaphoreCreateCounting(max, init);
semphr->handle = (void *)xSemaphoreCreateCounting(max, init);
#else
StaticQueue_t *queue_buffer = NULL;
QueueHandle_t handle = NULL;
queue_buffer = heap_caps_malloc(sizeof(StaticQueue_t), MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
if (!queue_buffer) {
goto error;
}
semphr->storage = heap_caps_malloc(sizeof(StaticQueue_t), MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
assert(semphr->storage);
handle = xSemaphoreCreateCountingStatic(max, init, queue_buffer);
if (!handle) {
goto error;
}
btdm_queue_item_t item = {
.handle = handle,
.storage = NULL,
.buffer = queue_buffer,
};
if (!btdm_queue_generic_register(&item)) {
goto error;
}
return handle;
error:
if (handle) {
vSemaphoreDelete(handle);
}
if (queue_buffer) {
free(queue_buffer);
}
return NULL;
semphr->handle = (void *)xSemaphoreCreateCountingStatic(max, init, semphr->storage);
#endif
assert(semphr->handle);
return semphr;
}
static void semphr_delete_wrapper(void *semphr)
{
#if !CONFIG_SPIRAM_USE_MALLOC
vSemaphoreDelete(semphr);
#else
btdm_queue_item_t item = {
.handle = semphr,
.storage = NULL,
.buffer = NULL,
};
if (btdm_queue_generic_deregister(&item)) {
vSemaphoreDelete(item.handle);
free(item.buffer);
if (semphr == NULL) {
return;
}
return;
btdm_queue_item_t *semphr_item = (btdm_queue_item_t *)semphr;
if (semphr_item->handle) {
vSemaphoreDelete(semphr_item->handle);
}
#ifdef CONFIG_SPIRAM_USE_MALLOC
if (semphr_item->storage) {
free(semphr_item->storage);
}
#endif
free(semphr);
}
static int32_t IRAM_ATTR semphr_take_from_isr_wrapper(void *semphr, void *hptw)
{
return (int32_t)xSemaphoreTakeFromISR(semphr, hptw);
return (int32_t)xSemaphoreTakeFromISR(((btdm_queue_item_t *)semphr)->handle, hptw);
}
static int32_t IRAM_ATTR semphr_give_from_isr_wrapper(void *semphr, void *hptw)
{
return (int32_t)xSemaphoreGiveFromISR(semphr, hptw);
return (int32_t)xSemaphoreGiveFromISR(((btdm_queue_item_t *)semphr)->handle, hptw);
}
static int32_t semphr_take_wrapper(void *semphr, uint32_t block_time_ms)
{
if (block_time_ms == OSI_FUNCS_TIME_BLOCKING) {
return (int32_t)xSemaphoreTake(semphr, portMAX_DELAY);
return (int32_t)xSemaphoreTake(((btdm_queue_item_t *)semphr)->handle, portMAX_DELAY);
} else {
return (int32_t)xSemaphoreTake(semphr, block_time_ms / portTICK_PERIOD_MS);
return (int32_t)xSemaphoreTake(((btdm_queue_item_t *)semphr)->handle, block_time_ms / portTICK_PERIOD_MS);
}
}
static int32_t semphr_give_wrapper(void *semphr)
{
return (int32_t)xSemaphoreGive(semphr);
return (int32_t)xSemaphoreGive(((btdm_queue_item_t *)semphr)->handle);
}
static void *mutex_create_wrapper(void)
{
#if CONFIG_SPIRAM_USE_MALLOC
StaticQueue_t *queue_buffer = NULL;
QueueHandle_t handle = NULL;
queue_buffer = heap_caps_malloc(sizeof(StaticQueue_t), MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
if (!queue_buffer) {
goto error;
}
handle = xSemaphoreCreateMutexStatic(queue_buffer);
if (!handle) {
goto error;
}
btdm_queue_item_t item = {
.handle = handle,
.storage = NULL,
.buffer = queue_buffer,
};
if (!btdm_queue_generic_register(&item)) {
goto error;
}
return handle;
error:
if (handle) {
vSemaphoreDelete(handle);
}
if (queue_buffer) {
free(queue_buffer);
}
return NULL;
#else
return (void *)xSemaphoreCreateMutex();
#endif
}
static void mutex_delete_wrapper(void *mutex)
{
#if !CONFIG_SPIRAM_USE_MALLOC
vSemaphoreDelete(mutex);
#else
btdm_queue_item_t item = {
.handle = mutex,
.storage = NULL,
.buffer = NULL,
};
if (btdm_queue_generic_deregister(&item)) {
vSemaphoreDelete(item.handle);
free(item.buffer);
}
return;
#endif
}
static int32_t mutex_lock_wrapper(void *mutex)
@@ -690,102 +553,71 @@ static int32_t mutex_unlock_wrapper(void *mutex)
static void *queue_create_wrapper(uint32_t queue_len, uint32_t item_size)
{
btdm_queue_item_t *queue = NULL;
queue = (btdm_queue_item_t*)heap_caps_malloc(sizeof(btdm_queue_item_t), MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
assert(queue);
#if CONFIG_SPIRAM_USE_MALLOC
StaticQueue_t *queue_buffer = NULL;
uint8_t *queue_storage = NULL;
QueueHandle_t handle = NULL;
queue_buffer = heap_caps_malloc(sizeof(StaticQueue_t), MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
if (!queue_buffer) {
goto error;
}
queue->storage = heap_caps_calloc(1, sizeof(StaticQueue_t) + (queue_len*item_size), MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
assert(queue->storage);
queue_storage = heap_caps_malloc((queue_len*item_size), MALLOC_CAP_INTERNAL|MALLOC_CAP_8BIT);
if (!queue_storage ) {
goto error;
}
queue->handle = xQueueCreateStatic( queue_len, item_size, ((uint8_t*)(queue->storage)) + sizeof(StaticQueue_t), (StaticQueue_t*)(queue->storage));
assert(queue->handle);
handle = xQueueCreateStatic(queue_len, item_size, queue_storage, queue_buffer);
if (!handle) {
goto error;
}
btdm_queue_item_t item = {
.handle = handle,
.storage = queue_storage,
.buffer = queue_buffer,
};
if (!btdm_queue_generic_register(&item)) {
goto error;
}
return handle;
error:
if (handle) {
vQueueDelete(handle);
}
if (queue_storage) {
free(queue_storage);
}
if (queue_buffer) {
free(queue_buffer);
}
return NULL;
#else
return (void *)xQueueCreate(queue_len, item_size);
queue->handle = xQueueCreate( queue_len, item_size);
assert(queue->handle);
#endif
return queue;
}
static void queue_delete_wrapper(void *queue)
{
#if !CONFIG_SPIRAM_USE_MALLOC
vQueueDelete(queue);
#else
btdm_queue_item_t item = {
.handle = queue,
.storage = NULL,
.buffer = NULL,
};
btdm_queue_item_t *queue_item = (btdm_queue_item_t *)queue;
if (queue_item) {
if(queue_item->handle){
vQueueDelete(queue_item->handle);
}
if (btdm_queue_generic_deregister(&item)) {
vQueueDelete(item.handle);
free(item.storage);
free(item.buffer);
}
return;
#if CONFIG_SPIRAM_USE_MALLOC
if (queue_item->storage) {
free(queue_item->storage);
}
#endif
free(queue_item);
}
}
static int32_t queue_send_wrapper(void *queue, void *item, uint32_t block_time_ms)
{
if (block_time_ms == OSI_FUNCS_TIME_BLOCKING) {
return (int32_t)xQueueSend(queue, item, portMAX_DELAY);
return (int32_t)xQueueSend(((btdm_queue_item_t*)queue)->handle, item, portMAX_DELAY);
} else {
return (int32_t)xQueueSend(queue, item, block_time_ms / portTICK_PERIOD_MS);
return (int32_t)xQueueSend(((btdm_queue_item_t*)queue)->handle, item, block_time_ms / portTICK_PERIOD_MS);
}
}
static int32_t IRAM_ATTR queue_send_from_isr_wrapper(void *queue, void *item, void *hptw)
{
return (int32_t)xQueueSendFromISR(queue, item, hptw);
return (int32_t)xQueueSendFromISR(((btdm_queue_item_t*)queue)->handle, item, hptw);
}
static int32_t queue_recv_wrapper(void *queue, void *item, uint32_t block_time_ms)
{
if (block_time_ms == OSI_FUNCS_TIME_BLOCKING) {
return (int32_t)xQueueReceive(queue, item, portMAX_DELAY);
return (int32_t)xQueueReceive(((btdm_queue_item_t*)queue)->handle, item, portMAX_DELAY);
} else {
return (int32_t)xQueueReceive(queue, item, block_time_ms / portTICK_PERIOD_MS);
return (int32_t)xQueueReceive(((btdm_queue_item_t*)queue)->handle, item, block_time_ms / portTICK_PERIOD_MS);
}
}
static int32_t IRAM_ATTR queue_recv_from_isr_wrapper(void *queue, void *item, void *hptw)
{
return (int32_t)xQueueReceiveFromISR(queue, item, hptw);
return (int32_t)xQueueReceiveFromISR(((btdm_queue_item_t*)queue)->handle, item, hptw);
}
static int32_t task_create_wrapper(void *task_func, const char *name, uint32_t stack_depth, void *param, uint32_t prio, void *task_handle, uint32_t core_id)
@@ -1377,14 +1209,6 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
ESP_LOGI(BTDM_LOG_TAG, "BT controller compile version [%s]", btdm_controller_get_compile_version());
#if CONFIG_SPIRAM_USE_MALLOC
btdm_queue_table_mux = xSemaphoreCreateMutex();
if (btdm_queue_table_mux == NULL) {
return ESP_ERR_NO_MEM;
}
memset(btdm_queue_table, 0, sizeof(btdm_queue_item_t) * BTDM_MAX_QUEUE_NUM);
#endif
s_wakeup_req_sem = semphr_create_wrapper(1, 0);
if (s_wakeup_req_sem == NULL) {
err = ESP_ERR_NO_MEM;
@@ -1534,12 +1358,6 @@ esp_err_t esp_bt_controller_deinit(void)
semphr_delete_wrapper(s_wakeup_req_sem);
s_wakeup_req_sem = NULL;
#if CONFIG_SPIRAM_USE_MALLOC
vSemaphoreDelete(btdm_queue_table_mux);
btdm_queue_table_mux = NULL;
memset(btdm_queue_table, 0, sizeof(btdm_queue_item_t) * BTDM_MAX_QUEUE_NUM);
#endif
free(osi_funcs_p);
osi_funcs_p = NULL;

View File

@@ -29,6 +29,7 @@ if BLE_MESH
- External SPIRAM memory only
- Either internal or external memory based on default malloc()
behavior in ESP-IDF
- Internal IRAM memory wherever applicable else internal DRAM
Recommended mode here is always internal, since that is most preferred
from security perspective. But if application requirement does not allow
@@ -48,16 +49,24 @@ if BLE_MESH
Enable this option to use the default memory allocation strategy when
external SPIRAM is enabled. See the SPIRAM options for more details.
config BLE_MESH_MEM_ALLOC_MODE_IRAM_8BIT
bool "Internal IRAM"
depends on ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY
help
Allows to use IRAM memory region as 8bit accessible region. Every
unaligned (8bit or 16bit) access will result in an exception and
incur penalty of certain clock cycles per unaligned read/write.
endchoice # BLE_MESH_MEM_ALLOC_MODE
config BLE_MESH_FREERTOS_STATIC_ALLOC
bool "Enable FreeRTOS static allocation"
depends on FREERTOS_SUPPORT_STATIC_ALLOCATION && ESP32_SPIRAM_SUPPORT
depends on FREERTOS_SUPPORT_STATIC_ALLOCATION && (ESP32_SPIRAM_SUPPORT || ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY)
default n
help
Enable this option to use FreeRTOS static allocation APIs for BLE Mesh,
which provides the ability to use different dynamic memory (i.e. SPIRAM)
for FreeRTOS objects.
which provides the ability to use different dynamic memory (i.e. SPIRAM
or IRAM) for FreeRTOS objects.
If this option is disabled, the FreeRTOS static allocation APIs will not
be used, and internal DRAM will be allocated for FreeRTOS objects.
@@ -76,6 +85,14 @@ if BLE_MESH
can only be used for task stack when SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY
is enabled. See the SPIRAM options for more details.
config BLE_MESH_FREERTOS_STATIC_ALLOC_IRAM_8BIT
bool "Internal IRAM"
depends on ESP32_IRAM_AS_8BIT_ACCESSIBLE_MEMORY
help
If enabled, BLE Mesh allocates dynamic memory from internal IRAM for
FreeRTOS objects, i.e. mutex, queue. Note: IRAM region cannot be used
as task stack.
endchoice # BLE_MESH_FREERTOS_STATIC_ALLOC_MODE
config BLE_MESH_DEINIT
@@ -1070,6 +1087,13 @@ if BLE_MESH
lets the state to be changed at any time.
If IV Update test mode is going to be used, this option should be enabled.
config BLE_MESH_DISCARD_OLD_SEQ_AUTH
bool
default y
help
This option is used to decide whether discarding the old SeqAuth when
receiving a segmented message.
menu "BLE Mesh specific test option"
config BLE_MESH_SELF_TEST

View File

@@ -487,11 +487,11 @@ typedef struct {
struct esp_ble_mesh_model {
/** Model ID */
union {
const uint16_t model_id;
const uint16_t model_id; /*!< 16-bit model identifier */
struct {
uint16_t company_id;
uint16_t model_id;
} vnd;
uint16_t company_id; /*!< 16-bit company identifier */
uint16_t model_id; /*!< 16-bit model identifier */
} vnd; /*!< Structure encapsulating a model ID with a company ID */
};
/** Internal information, mainly for persistent storage */
@@ -730,7 +730,7 @@ typedef struct {
typedef struct {
union {
struct {
esp_ble_mesh_bd_addr_t addr; /*!< Device address */
esp_ble_mesh_bd_addr_t addr; /*!< Device address */
esp_ble_mesh_addr_type_t addr_type; /*!< Device address type */
};
uint8_t uuid[16]; /*!< Device UUID */

View File

@@ -74,6 +74,7 @@
#define START_PAYLOAD_MAX 20
#define CONT_PAYLOAD_MAX 23
#define START_LAST_SEG_MAX 2
#define START_LAST_SEG(gpc) (gpc >> 2)
#define CONT_SEG_INDEX(gpc) (gpc >> 2)
@@ -1563,6 +1564,12 @@ static void gen_prov_start(struct prov_rx *rx, struct net_buf_simple *buf)
return;
}
if (START_LAST_SEG(rx->gpc) > START_LAST_SEG_MAX) {
BT_ERR("Invalid SegN 0x%02x", START_LAST_SEG(rx->gpc));
prov_send_fail_msg(PROV_ERR_UNEXP_ERR);
return;
}
if (link.rx.buf->len > link.rx.buf->size) {
BT_ERR("Too large provisioning PDU (%u bytes)",
link.rx.buf->len);

View File

@@ -82,6 +82,7 @@ _Static_assert(BLE_MESH_MAX_CONN >= CONFIG_BLE_MESH_PBG_SAME_TIME,
#define START_PAYLOAD_MAX 20
#define CONT_PAYLOAD_MAX 23
#define START_LAST_SEG_MAX 2
#define START_LAST_SEG(gpc) (gpc >> 2)
#define CONT_SEG_INDEX(gpc) (gpc >> 2)
@@ -2988,6 +2989,12 @@ static void gen_prov_start(const uint8_t idx, struct prov_rx *rx, struct net_buf
return;
}
if (START_LAST_SEG(rx->gpc) > START_LAST_SEG_MAX) {
BT_ERR("Invalid SegN 0x%02x", START_LAST_SEG(rx->gpc));
close_link(idx, CLOSE_REASON_FAILED);
return;
}
if (link[idx].rx.buf->len > link[idx].rx.buf->size) {
BT_ERR("Too large provisioning PDU (%u bytes)",
link[idx].rx.buf->len);

View File

@@ -92,13 +92,7 @@ static struct bt_mesh_proxy_client {
#endif
struct k_delayed_work sar_timer;
struct net_buf_simple buf;
} clients[BLE_MESH_MAX_CONN] = {
[0 ... (BLE_MESH_MAX_CONN - 1)] = {
#if defined(CONFIG_BLE_MESH_GATT_PROXY_SERVER)
.send_beacons = _K_WORK_INITIALIZER(proxy_send_beacons),
#endif
},
};
} clients[BLE_MESH_MAX_CONN];
static uint8_t client_buf_data[CLIENT_BUF_SIZE * BLE_MESH_MAX_CONN];
@@ -1433,7 +1427,9 @@ int bt_mesh_proxy_server_init(void)
client->buf.size = CLIENT_BUF_SIZE;
client->buf.__buf = client_buf_data + (i * CLIENT_BUF_SIZE);
#if defined(CONFIG_BLE_MESH_GATT_PROXY_SERVER)
k_work_init(&client->send_beacons, proxy_send_beacons);
#endif
k_delayed_work_init(&client->sar_timer, proxy_sar_timeout);
}

View File

@@ -1396,13 +1396,14 @@ static struct seg_rx *seg_rx_find(struct bt_mesh_net_rx *net_rx,
continue;
}
/* Return newer RX context in addition to an exact match, so
* the calling function can properly discard an old SeqAuth.
* Note: in Zephyr v1.14.0, ">=" is used here which does not
* seem to be a right operation, hence we still use the original
* "==" here.
/* When ">=" is used, return newer RX context in addition to an exact match,
* so the calling function can properly discard an old SeqAuth.
*/
#if CONFIG_BLE_MESH_DISCARD_OLD_SEQ_AUTH
if (rx->seq_auth >= *seq_auth) {
#else
if (rx->seq_auth == *seq_auth) {
#endif
return rx;
}

View File

@@ -99,6 +99,13 @@ config BT_HFP_WBS_ENABLE
This enables Wide Band Speech. Should disable it when SCO data path is PCM.
Otherwise there will be no data transmited via GPIOs.
config BT_HID_HOST_ENABLED
bool "Classic BT HID Host"
depends on BT_CLASSIC_ENABLED
default n
help
This enables the BT HID Host
config BT_SSP_ENABLED
bool "Secure Simple Pairing"
depends on BT_CLASSIC_ENABLED

View File

@@ -13,6 +13,7 @@
#include "btc_gatt_util.h"
#include "stack/l2cdefs.h"
#include "stack/l2c_api.h"
#include "gatt_int.h"
#if (GATTC_INCLUDED == TRUE)
@@ -327,6 +328,12 @@ esp_err_t esp_ble_gattc_read_char (esp_gatt_if_t gattc_if,
ESP_BLUEDROID_STATUS_CHECK(ESP_BLUEDROID_STATUS_ENABLED);
tGATT_TCB *p_tcb = gatt_get_tcb_by_idx(conn_id);
if (!gatt_check_connection_state_by_tcb(p_tcb)) {
LOG_WARN("%s, The connection not created.", __func__);
return ESP_ERR_INVALID_STATE;
}
if (L2CA_CheckIsCongest(L2CAP_ATT_CID, conn_id)) {
LOG_DEBUG("%s, the l2cap chanel is congest.", __func__);
return ESP_FAIL;
@@ -358,6 +365,12 @@ esp_err_t esp_ble_gattc_read_by_type (esp_gatt_if_t gattc_if,
return ESP_GATT_ILLEGAL_PARAMETER;
}
tGATT_TCB *p_tcb = gatt_get_tcb_by_idx(conn_id);
if (!gatt_check_connection_state_by_tcb(p_tcb)) {
LOG_WARN("%s, The connection not created.", __func__);
return ESP_ERR_INVALID_STATE;
}
if (L2CA_CheckIsCongest(L2CAP_ATT_CID, conn_id)) {
LOG_DEBUG("%s, the l2cap chanel is congest.", __func__);
return ESP_FAIL;
@@ -384,6 +397,12 @@ esp_err_t esp_ble_gattc_read_multiple(esp_gatt_if_t gattc_if,
ESP_BLUEDROID_STATUS_CHECK(ESP_BLUEDROID_STATUS_ENABLED);
tGATT_TCB *p_tcb = gatt_get_tcb_by_idx(conn_id);
if (!gatt_check_connection_state_by_tcb(p_tcb)) {
LOG_WARN("%s, The connection not created.", __func__);
return ESP_ERR_INVALID_STATE;
}
if (L2CA_CheckIsCongest(L2CAP_ATT_CID, conn_id)) {
LOG_DEBUG("%s, the l2cap chanel is congest.", __func__);
return ESP_FAIL;
@@ -415,6 +434,12 @@ esp_err_t esp_ble_gattc_read_char_descr (esp_gatt_if_t gattc_if,
ESP_BLUEDROID_STATUS_CHECK(ESP_BLUEDROID_STATUS_ENABLED);
tGATT_TCB *p_tcb = gatt_get_tcb_by_idx(conn_id);
if (!gatt_check_connection_state_by_tcb(p_tcb)) {
LOG_WARN("%s, The connection not created.", __func__);
return ESP_ERR_INVALID_STATE;
}
if (L2CA_CheckIsCongest(L2CAP_ATT_CID, conn_id)) {
LOG_DEBUG("%s, the l2cap chanel is congest.", __func__);
return ESP_FAIL;
@@ -442,6 +467,12 @@ esp_err_t esp_ble_gattc_write_char(esp_gatt_if_t gattc_if,
ESP_BLUEDROID_STATUS_CHECK(ESP_BLUEDROID_STATUS_ENABLED);
tGATT_TCB *p_tcb = gatt_get_tcb_by_idx(conn_id);
if (!gatt_check_connection_state_by_tcb(p_tcb)) {
LOG_WARN("%s, The connection not created.", __func__);
return ESP_ERR_INVALID_STATE;
}
if (L2CA_CheckIsCongest(L2CAP_ATT_CID, conn_id)) {
LOG_DEBUG("%s, the l2cap chanel is congest.", __func__);
return ESP_FAIL;
@@ -474,6 +505,12 @@ esp_err_t esp_ble_gattc_write_char_descr (esp_gatt_if_t gattc_if,
ESP_BLUEDROID_STATUS_CHECK(ESP_BLUEDROID_STATUS_ENABLED);
tGATT_TCB *p_tcb = gatt_get_tcb_by_idx(conn_id);
if (!gatt_check_connection_state_by_tcb(p_tcb)) {
LOG_WARN("%s, The connection not created.", __func__);
return ESP_ERR_INVALID_STATE;
}
if (L2CA_CheckIsCongest(L2CAP_ATT_CID, conn_id)) {
LOG_DEBUG("%s, the l2cap chanel is congest.", __func__);
return ESP_FAIL;
@@ -506,6 +543,12 @@ esp_err_t esp_ble_gattc_prepare_write(esp_gatt_if_t gattc_if,
ESP_BLUEDROID_STATUS_CHECK(ESP_BLUEDROID_STATUS_ENABLED);
tGATT_TCB *p_tcb = gatt_get_tcb_by_idx(conn_id);
if (!gatt_check_connection_state_by_tcb(p_tcb)) {
LOG_WARN("%s, The connection not created.", __func__);
return ESP_ERR_INVALID_STATE;
}
if (L2CA_CheckIsCongest(L2CAP_ATT_CID, conn_id)) {
LOG_DEBUG("%s, the l2cap chanel is congest.", __func__);
return ESP_FAIL;
@@ -536,6 +579,12 @@ esp_err_t esp_ble_gattc_prepare_write_char_descr(esp_gatt_if_t gattc_if,
ESP_BLUEDROID_STATUS_CHECK(ESP_BLUEDROID_STATUS_ENABLED);
tGATT_TCB *p_tcb = gatt_get_tcb_by_idx(conn_id);
if (!gatt_check_connection_state_by_tcb(p_tcb)) {
LOG_WARN("%s, The connection not created.", __func__);
return ESP_ERR_INVALID_STATE;
}
if (L2CA_CheckIsCongest(L2CAP_ATT_CID, conn_id)) {
LOG_DEBUG("%s, the l2cap chanel is congest.", __func__);
return ESP_FAIL;

View File

@@ -14,6 +14,7 @@
#include "common/bt_target.h"
#include "stack/l2cdefs.h"
#include "stack/l2c_api.h"
#include "gatt_int.h"
#if (GATTS_INCLUDED == TRUE)
#define COPY_TO_GATTS_ARGS(_gatt_args, _arg, _arg_type) memcpy(_gatt_args, _arg, sizeof(_arg_type))
@@ -251,7 +252,13 @@ esp_err_t esp_ble_gatts_send_indicate(esp_gatt_if_t gatts_if, uint16_t conn_id,
btc_ble_gatts_args_t arg;
ESP_BLUEDROID_STATUS_CHECK(ESP_BLUEDROID_STATUS_ENABLED);
tGATT_TCB *p_tcb = gatt_get_tcb_by_idx(conn_id);
if (!gatt_check_connection_state_by_tcb(p_tcb)) {
LOG_WARN("%s, The connection not created.", __func__);
return ESP_ERR_INVALID_STATE;
}
if (L2CA_CheckIsCongest(L2CAP_ATT_CID, conn_id)) {
LOG_DEBUG("%s, the l2cap chanel is congest.", __func__);
return ESP_FAIL;
@@ -279,7 +286,13 @@ esp_err_t esp_ble_gatts_send_response(esp_gatt_if_t gatts_if, uint16_t conn_id,
btc_ble_gatts_args_t arg;
ESP_BLUEDROID_STATUS_CHECK(ESP_BLUEDROID_STATUS_ENABLED);
tGATT_TCB *p_tcb = gatt_get_tcb_by_idx(conn_id);
if (!gatt_check_connection_state_by_tcb(p_tcb)) {
LOG_WARN("%s, The connection not created.", __func__);
return ESP_ERR_INVALID_STATE;
}
msg.sig = BTC_SIG_API_CALL;
msg.pid = BTC_PID_GATTS;
msg.act = BTC_GATTS_ACT_SEND_RESPONSE;

View File

@@ -31,7 +31,8 @@ extern "C" {
typedef uint8_t esp_a2d_mct_t;
/// A2DP media codec capabilities union
/** A2DP media codec capabilities union
*/
typedef struct {
esp_a2d_mct_t type; /*!< A2DP media codec type */
#define ESP_A2D_CIE_LEN_SBC (4)
@@ -39,10 +40,10 @@ typedef struct {
#define ESP_A2D_CIE_LEN_M24 (6)
#define ESP_A2D_CIE_LEN_ATRAC (7)
union {
uint8_t sbc[ESP_A2D_CIE_LEN_SBC];
uint8_t m12[ESP_A2D_CIE_LEN_M12];
uint8_t m24[ESP_A2D_CIE_LEN_M24];
uint8_t atrac[ESP_A2D_CIE_LEN_ATRAC];
uint8_t sbc[ESP_A2D_CIE_LEN_SBC]; /*!< SBC codec capabilities */
uint8_t m12[ESP_A2D_CIE_LEN_M12]; /*!< MPEG-1,2 audio codec capabilities */
uint8_t m24[ESP_A2D_CIE_LEN_M24]; /*!< MPEG-2, 4 AAC audio codec capabilities */
uint8_t atrac[ESP_A2D_CIE_LEN_ATRAC]; /*!< ATRAC family codec capabilities */
} cie; /*!< A2DP codec information element */
} __attribute__((packed)) esp_a2d_mcc_t;

View File

@@ -86,9 +86,9 @@ typedef struct {
#define ESP_UUID_LEN_128 16
uint16_t len; /*!< UUID length, 16bit, 32bit or 128bit */
union {
uint16_t uuid16;
uint32_t uuid32;
uint8_t uuid128[ESP_UUID_LEN_128];
uint16_t uuid16; /*!< 16bit UUID */
uint32_t uuid32; /*!< 32bit UUID */
uint8_t uuid128[ESP_UUID_LEN_128]; /*!< 128bit UUID */
} uuid; /*!< UUID */
} __attribute__((packed)) esp_bt_uuid_t;

View File

@@ -336,6 +336,7 @@ typedef union {
struct read_rmt_name_param {
esp_bt_status_t stat; /*!< read Remote Name status */
uint8_t rmt_name[ESP_BT_GAP_MAX_BDNAME_LEN + 1]; /*!< Remote device name */
esp_bd_addr_t bda; /*!< remote bluetooth device address*/
} read_rmt_name; /*!< read Remote Name parameter struct */
/**

View File

@@ -34,6 +34,10 @@ extern "C" {
#define ESP_HF_PEER_FEAT_ECC 0x80 /* Enhanced Call Control */
#define ESP_HF_PEER_FEAT_EXTERR 0x100 /* Extended error codes */
#define ESP_HF_PEER_FEAT_CODEC 0x200 /* Codec Negotiation */
/* HFP 1.7+ */
#define ESP_HF_PEER_FEAT_HF_IND 0x400 /* HF Indicators */
#define ESP_HF_PEER_FEAT_ESCO_S4 0x800 /* eSCO S4 Setting Supported */
/* CHLD feature masks of HF AG */
#define ESP_HF_CHLD_FEAT_REL 0x01 /* 0 Release waiting call or held calls */

View File

@@ -60,6 +60,9 @@ typedef enum {
#define ESP_HF_CLIENT_PEER_FEAT_ECC 0x80 /* Enhanced Call Control */
#define ESP_HF_CLIENT_PEER_FEAT_EXTERR 0x100 /* Extended error codes */
#define ESP_HF_CLIENT_PEER_FEAT_CODEC 0x200 /* Codec Negotiation */
/* HFP 1.7+ */
#define ESP_HF_CLIENT_PEER_FEAT_HF_IND 0x400 /* HF Indicators */
#define ESP_HF_CLIENT_PEER_FEAT_ESCO_S4 0x800 /* eSCO S4 Setting Supported */
/* CHLD feature masks of AG */
#define ESP_HF_CLIENT_CHLD_FEAT_REL 0x01 /* 0 Release waiting call or held calls */

Some files were not shown because too many files have changed in this diff Show More