Compare commits

..

7327 Commits

Author SHA1 Message Date
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
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
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
Roland Dobai
3909208852 tools: Update kconfiglib to 13.7.1
This fixes the crash on MacOs under Python 3 and improves the menuconfig
colors on some terminals.
2020-01-14 09:30:05 +01:00
Jiang Jiang Jian
647cb628a1 Merge branch 'bugfix/btdm_fix_open_event_trigger_multiple_times' into 'master'
Component/bt: Fix GATTC trigger open event multiple times

See merge request espressif/esp-idf!7056
2020-01-14 16:05:49 +08: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
Ivan Grokhotkov
1512219905 Merge branch 'bugfix/test_psram_size' into 'master'
test: Move freertos & mbedtls tests to psram_2 config

See merge request espressif/esp-idf!7318
2020-01-14 15:11:09 +08:00
zhiweijian
86bebae4fb Component/bt: Fix GATTC trigger open event multiple times 2020-01-14 03:24:29 +00:00
Jiang Jiang Jian
68be5f6ca7 Merge branch 'bugfix/assign_test' into 'master'
test: increase number of unit test jobs

See merge request espressif/esp-idf!7305
2020-01-14 11:21:28 +08:00
Angus Gratton
6662b60bc1 test: Move freertos & mbedtls tests to psram_2 config
Before:

psram before 2490560 (2490368 is the size allowed by partition)
psram after  2413136

psram_2 before 1218464
psram_2 after  1326320
2020-01-14 12:14:43 +10:00
Angus Gratton
ee269ed687 Merge branch 'bugfix/fatfs_corrupted_assert' into 'master'
fatfs: handle FR_INT_ERR as "filesystem corrupted"

Closes IDF-894

See merge request espressif/esp-idf!5912
2020-01-14 08:37:07 +08:00
Angus Gratton
e40c9684dc Merge branch 'bugfix/fix_rmt_err_interrupt_crash_bug' into 'master'
Bugfix(rmt):  Fix the rmt err interrupt crash bug

See merge request espressif/esp-idf!7282
2020-01-14 08:27:53 +08:00
houwenxiang
4c065c217e driver(rmt): Fix the rmt err interrupt crash bug when sending 63 items 2020-01-13 08:30:20 +00:00
Ivan Grokhotkov
404d2ae908 test: increase number of unit test jobs 2020-01-13 16:13:44 +08:00
Jiang Jiang Jian
0a6e61ae6d Merge branch 'bugfix/btdm_fix_blufi_prepare_buf_len_invalid' into 'master'
component/bt: fix blufi prepare write buf len invalid

See merge request espressif/esp-idf!7048
2020-01-13 15:59:14 +08:00
Jiang Jiang Jian
f8e3bf4a7a Merge branch 'bugfix/mesh_ie_issues' into 'master'
mesh: fix mesh ie issues

See merge request espressif/esp-idf!7214
2020-01-13 15:58:00 +08:00
Angus Gratton
28d64e7f82 Merge branch 'bugfix/cmake_failure_on_spiffsgen_clean_project' into 'master'
spiffs: fix build issue on clean project

See merge request espressif/esp-idf!6596
2020-01-13 12:14:04 +08:00
Angus Gratton
0929c91d1a Merge branch 'bugfix/idf_monitor_windows_console' into 'master'
idf_monitor: Ignore OS-level errors writing to Windows Console

Closes IDF-810

See merge request espressif/esp-idf!5607
2020-01-13 12:13:42 +08:00
Angus Gratton
a5a5c318f9 Merge branch 'bugfix/mmap_fail_on_esp32s2beta' into 'master'
spi_flash: reenable mmap tests on esp32s2beta

See merge request espressif/esp-idf!6595
2020-01-13 12:02:55 +08:00
Angus Gratton
ec20cf01b5 Merge branch 'feature/wider_alignment_range_malloc' into 'master'
feature/wider alignment range malloc

Closes IDF-648

See merge request espressif/esp-idf!6691
2020-01-13 12:02:35 +08:00
Angus Gratton
42d7b1d641 Merge branch 'bugfix/mbedtls_esp_bignum' into 'master'
mbedtls: esp bignum fix for 4096 keys

See merge request espressif/esp-idf!7211
2020-01-13 12:01:23 +08:00
chenyudong
79f0d460f5 mesh: fix mesh ie issues
Fix an error of mesh deinit lock.
Fix mesh send returns TIMEOUT.
Increase root window close time to 120s.
Clear ie.child when the child connected or fully associated.
Update rc_rssi when roots direct/forward.
Fix assoc in mesh ie wrong.
Mesh packets use AC_VI instead of AC_BE.
2020-01-13 10:58:18 +08:00
Jiang Jiang Jian
a27dfe6993 Merge branch 'bugfix/fix_ble_config_error_log_in_first_use_nvs' into 'master'
bugfix: remove the error code when there is no file in the nvs in config.c

See merge request espressif/esp-idf!7296
2020-01-13 10:24:43 +08:00
Ivan Grokhotkov
216dac8721 Merge branch 'test/add_esp32s2beta_ssc_build_job' into 'master'
test: add build ssc job for esp32s2beta

See merge request espressif/esp-idf!7068
2020-01-13 10:19:48 +08:00
Jiang Jiang Jian
7a7c4a5486 Merge branch 'bugfix/coex_schm' into 'master'
Bugfix/coex schm

See merge request espressif/esp-idf!7176
2020-01-12 20:37:42 +08:00
Jiang Jiang Jian
a9cf334f0a Merge branch 'feature/Add_tcp_sack' into 'master'
feature for add tcp sack

Closes WIFI-1600

See merge request espressif/esp-idf!7241
2020-01-12 20:28:21 +08:00
Jiang Jiang Jian
3634192ded Merge branch 'bugfix/ble_throughput_heap_size_too_large_fix' into 'master'
bugfix:Fixed throughput wasting memory and packet loss issues.

Closes BT-437 and BCI-141

See merge request espressif/esp-idf!7063
2020-01-12 20:25:02 +08:00
Jiang Jiang Jian
8ec233dfd0 Merge branch 'bugfix/sync_zephyr_v2.0_ble_mesh_fixes' into 'master'
ble_mesh: sync Zephyr v2.0 ble mesh fixes

Closes BLEMESH-56

See merge request espressif/esp-idf!6892
2020-01-12 20:23:57 +08:00
Ivan Grokhotkov
ca979fb110 Merge branch 'bugfix/ci_deploy_tags' into 'master'
ci: fix tags for internal deploy jobs

See merge request espressif/esp-idf!7290
2020-01-11 14:08:26 +08:00
Felipe Neves
6a307ee70f heap: removed ptr check in diram area since aligned allocator does not support data allocated from IRAM 2020-01-10 10:15:32 -03:00
Felipe Neves
0d8a5ebec7 heap: added aligned calloc function plus tests 2020-01-10 10:05:28 -03:00
Felipe Neves
8e5ea171d3 newlib: reverted support of memalign function 2020-01-10 10:05:28 -03:00
Felipe Neves
45766daa4f test_multi_heap_host/test_multi_heap: fix undefined reference error when testing aligned_alloc with no heap poisoning 2020-01-10 10:05:28 -03:00
Felipe Neves
aa100d2dfe newlib: added heap_caps_aligned_alloc on bottom of memalign 2020-01-10 10:05:28 -03:00
Felipe Neves
a2db437c46 heap/heap_caps: Added tests for align allocation on both internal and external ram 2020-01-10 10:05:28 -03:00
Felipe Neves
7fbf4c74d7 heap/heap_caps: added initial, top level heap_caps_aligned_alloc and heap_caps_aligned_free 2020-01-10 10:05:27 -03:00
Felipe Neves
f31b8a8ab8 heap/multi_heap_poisoning: aligned alloc now working togheter with heap poisining code 2020-01-10 10:05:27 -03:00
Felipe Neves
8bd09429d3 heap/test_multi_heap_host: added initial tests for heap aligned alloc 2020-01-10 10:05:27 -03:00
Felipe Neves
d26ddaa644 heap/multi_heap: added initial implementation of aligned alloc function 2020-01-10 10:05:27 -03:00
gengyuchao
38d962bb38 Add notes 2020-01-10 20:37:46 +08:00
gengyuchao
3366467980 ble:set a esp api to get size of controller send packets buffer. 2020-01-10 20:32:07 +08:00
gengyuchao
189cd21660 bugfix:Fixed throughput wasting memory and packet loss issues. 2020-01-10 20:32:07 +08:00
gengyuchao
8e1a28940c ble:config.c remove the error code when there is no file in the nvs because it is not an error. 2020-01-10 20:04:10 +08:00
Anton Maklakov
ac0c7cce9c ci: fix tags for internal deploy jobs 2020-01-10 17:36:52 +07:00
Angus Gratton
a05c00c2b3 Merge branch 'bugfix/esp_netif_get_dns' into 'master'
esp_netif: fix esp_netif_get_dns_info() to copy the entire ip_addr_t

Closes IDFGH-2472

See merge request espressif/esp-idf!7266
2020-01-10 17:51:29 +08:00
baohongde
a2398f0dcc components/esp_wifi: improve coexistence performance according to specific WiFi/BT/BLE scienario
1. Improve WiFi throughput in some Classic BT scienarios(idle, inquire scan,
       connected, sniff, a2dp pause, etc).

    2. Support WiFi + Classic BT + BLE mesh coexistence scienario.

    3. Improve WiFi scan and connect succeed ratio in coexistence scienario.

    4. Do not support to choose software coexistence preference anymore for it is
       determined according to coexistence scienario automatically.

components/lwip: increase TCP send buffer and receive window limitation when TCP window scale is enabled

components/ble_mesh: Fix some bugs about ble mesh

    1. fix send acl pkt after ble have sent terminate ind modify min adv interval to 10ms.
2020-01-10 16:00:12 +08:00
Angus Gratton
c7738f24fc Merge branch 'bugfix/ledc_driver_enums' into 'master'
driver: Avoid possible accidental mismatch between ledc_clk_src_t & ledc_clk_cfg_t enum

See merge request espressif/esp-idf!7021
2020-01-10 15:34:43 +08:00
Krzysztof Budzynski
5aa21584cf Merge branch 'doc/ulp_cmake_fix' into 'master'
doc: Remove duplicate ulp-cmake

See merge request espressif/esp-idf!7259
2020-01-10 15:29:56 +08:00
Jiang Jiang Jian
0f9ab61619 Merge branch 'bugfix/fix_wifi_buffer_reload_issue' into 'master'
esp_wifi: fix WiFi buffer reload issue

Closes WIFI-1634

See merge request espressif/esp-idf!7230
2020-01-10 15:08:19 +08:00
Jiang Jiang Jian
2f23fa8ab7 Merge branch 'bugfix/bt_osi_config_snprintf_add_length_check' into 'master'
bugfix:Fix length check for snprintf in osi config

See merge request espressif/esp-idf!7155
2020-01-10 15:06:37 +08:00
Jiang Jiang Jian
8cf4d02720 Merge branch 'bugfix/ble_mesh_update_lightness_last' into 'master'
ble_mesh: Update lightness last state when actual state is changed

See merge request espressif/esp-idf!7206
2020-01-10 14:47:29 +08:00
Angus Gratton
782fc0df5f Merge branch 'refactor/can_driver' into 'master'
Refactor CAN to use HAL and LowLevel layers

Closes IDF-617

See merge request espressif/esp-idf!7019
2020-01-10 14:22:02 +08:00
He Yin Ling
21a7580dc1 test: update SSC bin path of nvs compatible test 2020-01-10 14:14:51 +08:00
He Yin Ling
bb442bd015 test: add build ssc job for esp32s2beta 2020-01-10 14:14:51 +08:00
Angus Gratton
b2404513db Merge branch 'doc/cmake_external_lib' into 'master'
docs: Add example of using IDF APIs from an external CMake library

See merge request espressif/esp-idf!6527
2020-01-10 14:13:07 +08:00
Angus Gratton
bdf6c00154 Merge branch 'feature/likely_unlikely' into 'master'
Adding likely unlikely macros to hot code paths

Closes IDF-284

See merge request espressif/esp-idf!6368
2020-01-10 14:05:07 +08:00
Angus Gratton
13f67d4279 doc: Remove duplicate ulp-cmake
This file was renamed in 62ed221 when CMake became default, but 8fe3ecd accidentally reintroduced it.

A redirect is still generated from ulp-cmake to ulp, so the old URL continues to work.
2020-01-10 16:38:06 +11:00
Angus Gratton
8bc618f070 Merge branch 'feature/sntp_add_desc' into 'master'
docs: Add System time chapter and for sntp a description about using...

Closes IDFGH-2237, IDF-1199, and IDF-38

See merge request espressif/esp-idf!6818
2020-01-10 13:29:47 +08:00
Renz Christian Bagaporo
fb1dec37d8 spi_flash: reenable mmap tests on esp32s2beta 2020-01-10 16:17:01 +11:00
Angus Gratton
58755cc2f5 Merge branch 'doc/review_api-ref_periph-i2c' into 'master'
Review the file api-reference/peripherals/i2c.rst

See merge request espressif/esp-idf!6519
2020-01-10 13:13:23 +08:00
Angus Gratton
5ee92c259b Merge branch 'bugfix/mdns_fix_typos' into 'master'
mdns: fixed typos in the variable names and the comments

See merge request espressif/esp-idf!7060
2020-01-10 13:13:07 +08:00
Angus Gratton
214904b3af Merge branch 'feature/support_time_t_64_bit_test_' into 'master'
Support time_t 64-bits

Closes IDF-350

See merge request espressif/esp-idf!6367
2020-01-10 12:58:54 +08:00
Konstantin Kondrashov
2c793cef06 idf: Support a custom toolchain with time_t wide 64-bits
Allows resolving the Y2K38 problem.

Closes: IDF-350

Closes: https://github.com/espressif/esp-idf/issues/584
2020-01-10 12:58:54 +08:00
Angus Gratton
a39e8e5de9 Merge branch 'feature/asio_update' into 'master'
asio: updated ASIO port to use latest asio and esp-idf features

See merge request espressif/esp-idf!6623
2020-01-10 12:57:25 +08:00
Angus Gratton
426319c123 Merge branch 'feature/nvs_cxx_new' into 'master'
NVS: exposing C++ functionality via C++ handle

See merge request espressif/esp-idf!6926
2020-01-10 12:32:17 +08:00
Angus Gratton
880cc02ef2 Merge branch 'bugfix/mqtt_submodule_ref_update' into 'master'
MQTT: update submodule to point to latest commit.

Closes IDF-1162, IDF-1126, IDFGH-2197, IDFGH-2235, IDFGH-2293, FCS-254, and FCS-267

See merge request espressif/esp-idf!7216
2020-01-10 12:32:03 +08:00
Angus Gratton
6ab9f846c9 Merge branch 'bugfix/compare_and_setextram' into 'master'
bugfix/pthread: fix pthread_once() race condiion possibility adding critical section in compare and set function

Closes IDFGH-2448

See merge request espressif/esp-idf!7236
2020-01-10 12:29:54 +08:00
Angus Gratton
264abd8b34 Merge branch 'bugfix/esp32s2_xtal_choice' into 'master'
esp32s2:remove unsupported xtal choice

Closes IDF-1228

See merge request espressif/esp-idf!7085
2020-01-10 12:01:26 +08:00
KonstantinKondrashov
c23549c04f docs: Add System time chapter and for sntp a description about using CONFIG_LWIP_SNTP_UPDATE_DELAY option
Closes: https://github.com/espressif/esp-idf/issues/4386
Closes: IDFGH-2237
Closes: IDF-1199
2020-01-10 14:49:07 +11:00
Jiang Jiang Jian
9ecc2c3309 Merge branch 'bugfix/fix_ble_mesh_memory_leak' into 'master'
ble_mesh: Fix memory leak when node is reset

Closes BLEMESH-122

See merge request espressif/esp-idf!7076
2020-01-10 11:43:49 +08:00
Angus Gratton
4847c2adb0 Merge branch 'docs/fix_tasK_create_static_doxygen_comment' into 'master'
Fixed error in return type of xTaskCreateStatic

Closes IDFGH-2185

See merge request espressif/esp-idf!7253
2020-01-10 11:41:15 +08:00
Angus Gratton
b98981e7ae Merge branch 'feature/call_with_shared_stack' into 'master'
Call with shared stack improvements

See merge request espressif/esp-idf!7228
2020-01-10 11:40:11 +08:00
Angus Gratton
0999f6d698 Merge branch 'bugfix/gh_issue_template' into 'master'
gh: remove default label on new issues

See merge request espressif/esp-idf!7267
2020-01-10 11:39:02 +08:00
Jiang Jiang Jian
4dee412191 Merge branch 'bugfix/fix_crash_when_send_udp_too_big' into 'master'
lw-ip: Drop packets larger than MTU

Closes WIFI-1524

See merge request espressif/esp-idf!7147
2020-01-10 11:37:00 +08:00
Ivan Grokhotkov
a559014ff0 Merge branch 'bugfix/coredump_bin_fmt_ver_update' into 'master'
Fixes coredump compatibility with legacy binary core dumps

See merge request espressif/esp-idf!6794
2020-01-10 10:04:17 +08:00
David Cermak
b7ef7feaeb newlib: using lwip implementation of interface name/index conversion
Links https://github.com/espressif/esp-idf/issues/3557
2020-01-09 21:53:50 +01:00
David Cermak
13d603e486 asio: updated ASIO port to use latest asio and esp-idf features
closes https://github.com/espressif/esp-idf/issues/4296
2020-01-09 21:53:50 +01:00
David Cermak
2efb3288a0 mbedtls: fix hw accelerated big-num mul if operand and result overlap
this issue is mainly exposed when using larger (4096) client key in TLS mutual auth,
since it uses multiplications > 2048 when mbedtls_mpi_mul_mpi is used in recursion,
which works only if both operands point to different location than result since
mpi_mult_mpi_overlong() called mbedtls_mpi_grow() to reallocate buffers used in previous
pointer arithmetics and thus corrupting it. Fixed by growing the mpi buffer before
calling mpi_mult_mpi_overlong()
2020-01-09 18:11:18 +00:00
David Cermak
b0a714476a mbedtls: added mpi multiplication test for large numbers 2020-01-09 18:11:18 +00:00
David Cermak
1acf4d46ef mbedtls: bugnum test for rsa operations with blinding 2020-01-09 18:11:18 +00:00
Ivan Grokhotkov
1fd7f21d8c Merge branch 'bugfix/IDFGH-2036_2' into 'master'
Tools Setup: fixed WD task checkbox disabling

Closes IDFGH-2036

See merge request espressif/esp-idf!7204
2020-01-09 22:39:48 +08:00
gengyuchao
8a687d46ad reduce useless calloc size 2020-01-09 21:12:48 +08:00
gengyuchao
945e4f7162 bugfix:Fix length check for snprintf in osi config 2020-01-09 21:12:48 +08:00
Felipe Neves
57edda15a0 shared_stack: added minimal stack size for shared stack, configurable via menuconfig 2020-01-09 09:59:00 -03:00
David Cermak
ecca39e19f mdns: fixed typos in the variable names and the comments 2020-01-09 12:50:13 +00:00
Marius Vikhammer
e8787fc49e mqtt: update submodule to point to latest commit.
Adds bugfixes for:
 - Too early publishing
 - Potential mutex memory leak
 - CI related issues.
 - Wait for entire connack message
 - Event loop not getting cleaned up

Adds support for ALPN, configurable reconnect time, QEMU CI tests and password
protected client key.

MQTT MR: https://gitlab.espressif.cn:6688/espressif/esp-mqtt/merge_requests/46
Closes IDF-1162
Closes https://github.com/espressif/esp-mqtt/issues/137

MQTT MR: https://gitlab.espressif.cn:6688/espressif/esp-mqtt/merge_requests/47
Closes IDF-1126

MQTT MR: https://gitlab.espressif.cn:6688/espressif/esp-mqtt/merge_requests/48
Closes IDFGH-2197
Closes https://github.com/espressif/esp-idf/issues/4349
Closes https://github.com/espressif/esp-mqtt/issues/140

MQTT MR: https://gitlab.espressif.cn:6688/espressif/esp-mqtt/merge_requests/48
Closes IDFGH-2235
Closes https://github.com/espressif/esp-idf/issues/4384

MQTT MR: https://gitlab.espressif.cn:6688/espressif/esp-mqtt/merge_requests/49
Closes https://github.com/espressif/esp-idf/issues/4433
Closes IDFGH-2293

MQTT MR: https://gitlab.espressif.cn:6688/espressif/esp-mqtt/merge_requests/50
Closes FCS-254

MQTT MR: https://gitlab.espressif.cn:6688/espressif/esp-mqtt/merge_requests/53
Closes FCS-267
2020-01-09 11:35:49 +00:00
Jakob Hasse
d286876d34 NVS: expose C++ API
Closes https://github.com/espressif/esp-idf/issues/3540
2020-01-09 18:29:23 +08:00
zhiweijian
b820b3fc56 component/bt: fix blufi prepare write buf len invalid 2020-01-09 09:38:35 +00:00
morris
28bfc93419 gh: remove default label on new issues 2020-01-09 17:07:34 +08:00
Kirill Chalov
c5f77cf6cb Review the file api-reference/peripherals/i2c.rst 2020-01-09 17:04:41 +08:00
Jiang Jiang Jian
6655fa8a93 Merge branch 'bugfix/btdm_btc_bta_unified_count_pointer_type' into 'master'
component/bt: Fix the issue with pointer type conversion in gattc.

Closes BCI-130

See merge request espressif/esp-idf!6815
2020-01-09 16:30:56 +08:00
Geng Yu Chao
090843fa17 component/bt: Fix the issue with pointer type conversion in gattc. Unified count pointer type in bta and btc, change pointer type in bta from int to uint16_t. 2020-01-09 16:30:55 +08:00
David Cermak
92087edbb8 esp_netif: fix esp_netif_get_dns_info() to copy the entire ip_addr_t
closes https://github.com/espressif/esp-idf/issues/4584
closes IDFGH-2472
2020-01-09 09:17:38 +01:00
Darian Leung
a049e02d96 can: Refactor CAN to use HAL and LowLevel layers
The following commit refactors the CAN driver such that
it is split into HAL and Lowlevel layers. The following
changes have also been made:

- Added bit field members to can_message_t as alternative
  to message flags. Updated examples and docs accordingly
- Register field names and fields of can_dev_t updated
2020-01-09 16:13:51 +08:00
Jiang Jiang Jian
dd8db6621b Merge branch 'bugfix/add_missing_gatt_descriptors_GH' into 'master'
bugfix: ble add missing gatt descriptors

Closes BCI-138

See merge request espressif/esp-idf!6978
2020-01-09 15:57:08 +08:00
Krzysztof Bociurko
c7dfb435f8 Fixed error in return type of xTaskCreateStatic*
Signed-off-by: Darian <darian@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/2651
2020-01-09 14:01:20 +08:00
xueyunfei
d8d2991692 feature for add tcp sack 2020-01-09 13:58:08 +08:00
liu zhifu
3750fe945f esp_wifi: fix WiFi buffer reload issue 2020-01-09 13:42:27 +08:00
Angus Gratton
4ece6eedae Merge branch 'bugfix/ws_rcv_exceed_buf' into 'master'
tcp_transport/ws_client: websockets now correctly handle messages longer than buffer

Closes IDF-1084 and IDF-1083

See merge request espressif/esp-idf!6740
2020-01-09 13:18:31 +08:00
suda-morris
1ffb546135 esp32s2:remove unsupported xtal choice
ESP32-S2 only supports 40MHz XTAL and doesn't have XTAL autodetection.
2020-01-09 13:09:21 +08:00
Jiang Jiang Jian
da877bcc8f Merge branch 'bugfix/coex_bt_ble_stuck' into 'master'
components/bt: Fix A2DP stuck when BLE's interval is too small

See merge request espressif/esp-idf!5587
2020-01-09 11:37:35 +08:00
Angus Gratton
e1833fa3de docs: Add example of using IDF APIs from an external CMake library 2020-01-09 13:51:30 +11:00
Angus Gratton
dba3c241a9 Merge branch 'feature/nvs_storage_copy_part_name' into 'master'
NVS: partition name is copied now

Closes IDF-1231

See merge request espressif/esp-idf!6933
2020-01-09 10:42:25 +08:00
Angus Gratton
ca8fac876f Merge branch 'refactor/move_esp_adapter' into 'master'
esp_wifi: Move wifi OS adapter structures into esp_wifi component

See merge request espressif/esp-idf!6546
2020-01-09 07:35:19 +08:00
Angus Gratton
baac6145cd Merge branch 'bugfix/task_delay_until_esp32_s2' into 'master'
bugfix/freertos: fixing task delay until tests for esp32s2

Closes IDF-1016

See merge request espressif/esp-idf!6598
2020-01-09 07:17:09 +08:00
Jiang Jiang Jian
7e7f867d6e Merge branch 'minor/esp_ble_mesh_onoff_state' into 'master'
ESP-BLE-Mesh: Printf the current on/off state to the application during the GET request

See merge request espressif/esp-idf!6826
2020-01-08 22:28:25 +08:00
Hrishikesh Dhayagude
8aeacd7478 ESP-BLE-Mesh: Printf the current on/off state to the application during the GET request 2020-01-08 22:28:25 +08:00
Felipe Neves
b4c7c1b3fb components/freertos: moved task delay until tests to common test directory for esp32 and esp32-s2 2020-01-08 10:57:37 -03:00
Krzysztof Budzynski
b06f251c3b Merge branch 'bugfix/from_github' into 'master'
Fix typos in README

See merge request espressif/esp-idf!7231
2020-01-08 20:58:16 +08:00
Krzysztof
6070f610cc Implement review comments 2020-01-08 18:41:43 +08:00
Jiang Jiang Jian
21e24aef1d Merge branch 'bugfix/sniff_mode_for_hfp' into 'master'
components bt/: Disable sniff mode during (e)SCO connection for HFP.

See merge request espressif/esp-idf!7017
2020-01-08 16:28:19 +08:00
Angus Gratton
459b3195ac esp_wifi: Move esp32 DPORT access wrappers into esp_wifi component 2020-01-08 18:23:29 +11:00
Angus Gratton
b63d28730c ci: Use real esp32s2beta target for all tests 2020-01-08 18:23:29 +11:00
Angus Gratton
65dad0d46f build system: Remove some dependencies from esp32 & esp32s2beta
Possible now that wifi related source files are all in esp_wifi
2020-01-08 18:13:12 +11:00
Angus Gratton
f616d2f2de esp_wifi: Move wifi OS adapter structures into esp_wifi component 2020-01-08 18:13:12 +11:00
Angus Gratton
5cd1f5e7c1 Merge branch 'bugfix/esp_tls_client_key_password' into 'master'
tcp_transport/esp-tls: support for client-key password

Closes FCS-267

See merge request espressif/esp-idf!7151
2020-01-08 14:40:38 +08:00
Mahavir Jain
717674e2c2 Merge branch 'bugfix/softap_prov_disconnect' into 'master'
Bugfix/softap prov disconnect

See merge request espressif/esp-idf!7205
2020-01-08 12:30:42 +08:00
gengyuchao
7e54ac08e6 ble Fix typo and add some comment 2020-01-08 04:17:49 +00:00
Brian Friedkin
efc514fa0a add missing gatt descriptors 2020-01-08 04:17:49 +00:00
Jiang Jiang Jian
2e7e05a79a Merge branch 'bugfix/fix_amsdu_decrypt_bug' into 'master'
esp_wifi: fix a WiFi A-MSDU decrypt bug

Closes WIFI-1611

See merge request espressif/esp-idf!7157
2020-01-08 11:15:44 +08:00
Angus Gratton
8421114264 Merge branch 'feat/ut_disabled_for_targets' into 'master'
ut: use DISABLED_FOR_TARGETS macro in unit tests

See merge request espressif/esp-idf!7117
2020-01-08 09:22:29 +08:00
Felipe Neves
9800750f15 freertos/port: Put critical sections around uxPortCompareSetExtram() to prevent preemption during its execution.
Closes: https://github.com/espressif/esp-idf/issues/4561
2020-01-07 10:53:30 -03:00
Piyush Shah
868f317c19 wifi_prov_manager: Delay the Wi-Fi connect call
For SoftAP provisioning, if we start Wi-Fi connection as soon as the
apply config request is received, it has been observed that the clients
(Phone apps mostly) do not get the response for this as we switch the
Wi-Fi channel, causing a momentary disconnection.

Delaying the connection calls helps mitigate the issue.

Signed-off-by: Piyush Shah <piyush@espressif.com>
2020-01-07 09:51:54 +00:00
Piyush Shah
c4fb524d03 wifi_prov_manager: Change the name of an internal timer handle to better reflect the purpose
Signed-off-by: Piyush Shah <piyush@espressif.com>
2020-01-07 09:51:54 +00:00
Angus Gratton
71b4768df8 Merge branch 'doc/secure_boot_ref' into 'master'
doc: secure boot: Fix relative reference to key generation step

See merge request espressif/esp-idf!7171
2020-01-07 16:01:09 +08:00
Jakob Hasse
9a10c1bccd doc: small changes for cxx code style 2020-01-07 15:13:41 +08:00
Angus Gratton
262ce6b9c6 Merge branch 'bugfix/pthread_examples' into 'master'
Fix syntax errors on examples contained in esp_pthread documentation

Closes IDF-1313

See merge request espressif/esp-idf!7194
2020-01-07 14:41:06 +08:00
Angus Gratton
3b9c8a6677 Merge branch 'bugfix/netif_cpp_issues' into 'master'
esp_netif c++ fixes

See merge request espressif/esp-idf!7045
2020-01-07 14:34:57 +08:00
Angus Gratton
6f2a00c425 doc: secure boot: Fix relative reference to key generation step 2020-01-07 06:14:03 +00:00
Nathan Phillips
23e6ee9d01 Fix typos in README
Fix a broken link as well as updating the text.

Merges https://github.com/espressif/esp-idf/pull/4531
2020-01-07 13:12:13 +08:00
Mahavir Jain
8bfb32735f Merge branch 'bugfix/use_mbedtls_spiram_strategy' into 'master'
Use mbedtls SPIRAM strategy in example_test.py

Closes IDF-1293

See merge request espressif/esp-idf!7132
2020-01-07 11:37:08 +08:00
weitianhua
39a5eb84f3 Disable sniff mode during (e)SCO connection. 2020-01-07 03:15:32 +00:00
Angus Gratton
e890137ad3 Merge branch 'bugfix/cmake_reflashable_build_targets' into 'master'
secure boot: Fix bootloader build system target for bootloader digest

Closes IDFGH-2396

See merge request espressif/esp-idf!7069
2020-01-07 06:40:33 +08:00
David Cermak
b69ac4448e tcp_transport: added API for client-key password 2020-01-06 21:16:24 +00:00
Felipe Neves
c309112b8a expression_with_stack:make stack overflow detection watchpoint optional 2020-01-06 17:01:53 -03:00
Martin Vychodil
bc43d48ec9 * use 'Windows Defender' substring to identify proper checkbox
https://github.com/espressif/esp-idf/issues/4225
2020-01-06 15:09:56 +01:00
baohongde
f9802da461 components/bt: Fix A2DP stuck when BLE's interval is too small
1. Fix the cumulative time switch from BLE to classic BT
2. Enhance classic BT performance while enable calssic BT and BLE at the same time
2020-01-06 20:22:04 +08:00
liu zhifu
c54e11537f esp_wifi: fix WiFi AMSDU decrypt issue 2020-01-06 17:58:03 +08:00
Jiang Jiang Jian
0a8c641e6f Merge branch 'bugfix/sniffer_crash_issue' into 'master'
esp_wifi: wifi stop bug when sniffer enable

Closes WIFI-1563 and WIFI-1137

See merge request espressif/esp-idf!7187
2020-01-06 17:22:01 +08:00
Marius Vikhammer
ffeda3003c tcp_transport/ws_client: websockets now correctly handle messages longer than buffer
transport_ws can now be read multiple times in a row to read frames larger than the buffer.

Added reporting of total payload length and offset to the user in websocket_client.

Added local example test for long messages.

Closes IDF-1083
2020-01-06 17:18:13 +08:00
michael
f676a3b190 driver, soc: update multichip support headers 2020-01-06 17:13:54 +08:00
michael
4220752aed ut: Move tests back from "esp32" subfolder
DISABLED_FOR_TARGETS macros are used

Partly revert "ci: disable unavailable tests for esp32s2beta"

This partly reverts commit 76a3a5fb48.

Partly revert "ci: disable UTs for esp32s2beta without runners"

This partly reverts commit eb158e9a22.

Partly revert "fix unit test and examples for s2beta"

This partly reverts commit 9baa7826be.

Partly revert "efuse: Add support for esp32s2beta"

This partly reverts commit db84ba868c.
2020-01-06 17:13:53 +08:00
Michael (XIAO Xufeng)
bc0eac579c ut: add DISABLED_FOR_TARGETS macros to control ut building 2020-01-06 17:13:47 +08:00
lly
8116a787cd ble_mesh: Fix PreviousAddress endianess in Friend Request
The upper transport layer is using big endian ordering. The
PreviousAddress field of a Friend Request message should therefore
be converted to native endianess using sys_cpu_to_be16().
2020-01-06 16:19:03 +08:00
lly
fc80d107ad ble_mesh: Fix next_period computation
If the duration to publish is roughly the same as the period, we might
end up with elapsed == period, which returns 0 and cancel the periodic
publication. Instead 1 should be returned, just like when the elapsed
time is greater than the period.
2020-01-06 16:17:36 +08:00
lly
7d7bbec5fe ble_mesh: Make model publication struct more compact
Previously the FastPeriodDivisor value was introduced to the model
publication struct. Based on the way it was grouped it seems the
intention was to fit it within the same octet as other bit fields,
but it actually makes the octet overflow by one bit. This ends up
creating another u8_t variable which in turn adds 24 bits of padding
after it.

To keep the size of the struct as compact as possible, group the flag
together with the key index, since that only requires 12 bits. Some
care is needed here, since the mesh stack does have special internal
key index values that require more than 12 bits such as
BLE_MESH_KEY_UNUSED and BLE_MESH_KEY_DEV. In this case restricting
ourselves to 12 bits is fine since the value in the model publication
struct follows 1:1 the value received in the Config Model Publication
Set message, and there the parameter is defined to be exactly 12 bits.
2020-01-06 16:17:36 +08:00
lly
82b4b89dea ble_mesh: Fix compile error when using release optimization level 2020-01-06 16:17:36 +08:00
lly
b836674d8e ble_mesh: Remove useless CONFIG_BLE_MESH_NODE
For Low Power node and Proxy Server, the two features
depend on BLE_MESH_NODE in Kconfig.in, here in the
stack there is no need to judge if CONFIG_BLE_MESH_NODE
is enabled.
2020-01-06 16:17:36 +08:00
lly
d83c37faed ble_mesh: Fixes Provisioner not support friend feature 2020-01-06 16:17:36 +08:00
lly
77e7d023b9 ble_mesh: Fixes wrong subnet info used for Friend Clear
When Friend node tries to send Friend Clear message to other
Friend nodes, it should use the subnet information based on
the net_idx from friendship.
2020-01-06 16:17:36 +08:00
lly
131a4e7c22 ble_mesh: fix provisioner failed to send msg to 0xFFFF
According to Mesh Spec 3.4.5.3, a node shall implement a local
network interface. And here we limit the situation just based
on the spec, and Provisioner directly sending the msg without
passing through the local network interface.
2020-01-06 16:17:36 +08:00
lly
197e54053e ble_mesh: fix virtual addr wrong return value
Fixes missing return value on `va_del`
Fixes wrong return value on `va_add`
2020-01-06 16:17:36 +08:00
lly
e8440ac2f9 ble_mesh: Persistent storage of Virtual Address
The 16-bit format group addresses will be stored,
but we don't store (or restore) the virtual label UUIDs,
i.e. after a power cycle the 16-bit group addresses
would be meaningless.
2020-01-06 16:17:36 +08:00
lly
74d0bd3134 ble_mesh: Proxy forwards ALL_NODES addr
Unless explicitly blacklisted, the Proxy node will forward all messages
for the ALL_NODES address to the GATT proxy client.
2020-01-06 16:17:36 +08:00
lly
1338fc4ff1 ble_mesh: Model message macros
Creates macros for determining model message lengths based on opcode,
payload length and MIC size. Also adds macro wrapping
NET_BUF_SIMPLE_DEFINE to serve the most common use case.
2020-01-06 16:17:36 +08:00
lly
f3b9b099cd ble_mesh: Use net_buf_simple_clone
Uses net_buf_simple_clone to access the sdu of an unsegmented app packet
for re-encryption.
2020-01-06 16:17:36 +08:00
lly
aec696a3a4 ble_mesh: Skip local messages in rx
Local messages are already enqueued for the LPN in the tx path, and
don't have to be added again in the rx path.
2020-01-06 16:17:36 +08:00
lly
6516ab71ea ble_mesh: Ensure seqnum match in app/net
Re-encrypts single-segment application messages when the network seqnum
has changed, to avoid encrypting messages with different seqnums in
network and transport. This operation is only required for unsegmented
messages, as segmented messages don't need to use the same seqnum in
network.

Reinstates the special adv data for friend messages to store the app key
index.
2020-01-06 16:17:36 +08:00
lly
b88dbf6348 ble_mesh: Expose app key get function 2020-01-06 16:17:36 +08:00
lly
906fb9d6e3 ble_mesh: Expose header parsing outside net 2020-01-06 16:17:36 +08:00
lly
865434e6de ble_mesh: Remove unused macro FRIEND_BUF_SIZE 2020-01-06 16:17:36 +08:00
lly
67cb3062a6 ble_mesh: Make RSSI value available to mesh applications 2020-01-06 16:17:36 +08:00
lly
89a681fd4a ble_mesh: Encrypt friend packets on send
Stores friend queue packets unencrypted, removing any out-of-order
issues caused by seqnum allocation. Also moves as much of the metadata
storage as possible into the packet, allowing us to free up some bytes
of net_buf user data for friend packets.
2020-01-06 16:17:36 +08:00
lly
99a63ce81d ble_mesh: Expose SeqZero mask
Makes a define for the seqzero 13-bit mask in transport, and exposes it
in the header for use in the friend module.
2020-01-06 16:17:36 +08:00
Angus Gratton
826b9f6380 Merge branch 'bugfix/wifi_event_bits' into 'master'
examples: station waiting with xEventGroup bits

Closes IDF-1177

See merge request espressif/esp-idf!7196
2020-01-06 12:09:18 +08:00
lly
9f6dd19033 ble_mesh: Update lightness last state when actual state is changed 2020-01-04 14:57:08 +08:00
Felipe Neves
5db46ab9e6 assert: extend likely macro to be called when silent assertions are off 2020-01-03 14:42:58 -03:00
Felipe Neves
d059a955ae freertos: removed likely macros from non-port specifics parts of freertos
fatfs: moved esp_compiler header file inside of disk implementation file
2020-01-03 14:42:57 -03:00
Felipe Neves
668b33dcf3 esp_compiler: generate likely and unlikely macros only when performance optimization is selected as build option 2020-01-03 14:42:57 -03:00
Felipe Neves
1b76253e0e newlib/assert: placed unlikely macro as part of assertion
newlib/assert: replace unlikely with likely to keep original assertion

newlib/assert: fix assert macro that uses likely

freertos/port: add the missing sdkconfig.h back

newlib/assert: assert macro back to a single line
2020-01-03 14:42:55 -03:00
Felipe Neves
fc00236d79 components/esp_common: added esp_macros.h that aims to hold useful macros
esp_common/esp_compiler: renamed esp_macros file to a more specific one

esp_common/esp_compiler: removed CONTAINER_OF macro, it was a duplicate

components/freertos: placed likely macros around port and critical sections

component/freertos: placed likely macros on lists module

components/freertos: placed unlikely macros inside of assertion points, they likely wont fail

components/freertos: added likely macros on queue modules

FreeRTOS queues are one of most hot code path, because to queues itself tend to
be used a lot by the applications, besides that, queues are the basic primitive
to form both mutexes and semaphores, The focus here is to place likely
macros inside lowest level send and receive routines, since they're common
from all kobjects: semaphores, queues, mutexes and FR internals (like timer queue)

components/lwip: placed likely/unlikey on net-interfaces code

components/fatfs: added unlikely macros on disk drivers code

components/spiffs: added unlikely macros on low level fs driver

components/freertos: added likely/unlikely macros on timers and ticker

freertos/event_group: placed likely/unlikely macros on hot event group code paths

components/sdmmc: placed likely / unlikely macros on lower level path of sdmmc

components/bt: placed unlikely macros around bt HCI functions calling

components/lwip: added likely/unlikely macros on OS port code section

components/freertos: fix code style on tick handler
2020-01-03 14:42:49 -03:00
Felipe Neves
e5e8ee8912 docs: fix esp_pthread example syntax error 2020-01-03 11:21:35 -03:00
Shubham Kulkarni
563175d90a mbedtls: Use SPIRAM strategy in example_test.py 2020-01-03 15:30:03 +05:30
Ivan Grokhotkov
3c5190aefc Merge branch 'bugfix/legacy_msys2_environment' into 'master'
doc: Update the legacy MSYS2 environment to use 2019r2 toolchain version

See merge request espressif/esp-idf!7077
2020-01-03 17:53:55 +08:00
Ivan Grokhotkov
52f8aa2adb Merge branch 'feature/heap_non_os_build' into 'master'
heap: make compatible with non-OS builds, remove target dependence

Closes IDF-1236

See merge request espressif/esp-idf!7051
2020-01-03 17:12:51 +08:00
xiehang
3321999e4a lwip: Drop packets larger than MTU 2020-01-03 08:55:35 +00:00
xiehang
ea1b821a60 Fix wifi stop bug when sniffer enable 2020-01-03 08:52:56 +00:00
Jakob Hasse
bcefbb03ad examples: using xEventGroup bits properly
Closes IDF-1177

* changed
  ../../wifi/getting_started/station/README.md
  ../../wifi/getting_started/station/main/station_example_main.c
2020-01-03 16:10:27 +08:00
Angus Gratton
e08e720e11 Merge branch 'bugfix/esp_ptr_executable_single_core' into 'master'
soc: Fix esp_ptr_executable() for single core ESP32 config & cache memory

See merge request espressif/esp-idf!7197
2020-01-03 15:47:18 +08:00
Angus Gratton
7dc7557aa9 soc: Fix esp_ptr_executable() for single core ESP32 config & cache memory
In single core mode, APP CPU cache region is added to the available range.
2020-01-03 17:31:40 +11:00
Angus Gratton
e08fc62071 Merge branch 'bugfix/backtrace_rom_fn' into 'master'
soc: fix backtraces containing ROM functions

See merge request espressif/esp-idf!6719
2020-01-03 14:30:21 +08:00
Angus Gratton
3a451afb82 doc: Update the legacy MSYS2 environment to use 2019r2 toolchain version
As reported at https://www.esp32.com/viewtopic.php?p=52805
2020-01-03 06:05:00 +00:00
Angus Gratton
4b03fa3053 Merge branch 'feature/idf_size_py_json_dump' into 'master'
idf_size.py: can write data to json file now

Closes IDF-1246

See merge request espressif/esp-idf!7046
2020-01-03 11:19:56 +08:00
Angus Gratton
4132923ebe Merge branch 'bugfix/ws_user_context' into 'master'
websocket: added missing event data

Closes IDF-1271

See merge request espressif/esp-idf!7059
2020-01-03 09:29:41 +08:00
Ivan Grokhotkov
43de2cc84c test: add a (non-automated) case for backtraces with ROM functions 2020-01-02 18:50:32 +01:00
Ivan Grokhotkov
b4aba189ab heap: recognize 0x40000000 as an address terminating the backtrace
On Xtensa, backtrace can not recover the two most significant bits of
the address, as the window call size is encoded in these bits.
Because of this, __builtin_return_address modifies these MSBs to
match those of the callee, "fixing" the address. An unfortunate side
effect is that the zero return address, which usually terminates the
backtrace, gets converted to 0x40000000. While there is a valid
instruction at this address, its occurrence in the backtrace is
highly unlikely: this is the first instruction of WindowOverflow4
vector, and IDF apps switch VECBASE to an IRAM location very early at
startup.
2020-01-02 18:42:46 +01:00
Ivan Grokhotkov
d9534b3d6a soc: fix backtraces containing ROM functions
esp_ptr_executable would return false for pointers to ROM, which would
interrupt the backtrace. This makes ROM ranges recognized as
executable.
2020-01-02 18:42:46 +01:00
David Cermak
b2c8ce8e2b esp_netif: fixed initialization order of items in a struct
Closes https://github.com/espressif/esp-idf/issues/4389
Closes https://github.com/espressif/esp-idf/issues/4507
2020-01-02 17:16:47 +00:00
David Cermak
ddf59520c6 wifi: fixed missing c++ guards
Closes https://github.com/espressif/esp-idf/issues/4497
2020-01-02 17:16:47 +00:00
Mahavir Jain
97c8b90083 Merge branch 'bugfix/advanced_https_ota_example' into 'master'
Bugfix for failing OTA example

Closes IDF-1080 and IDFGH-2249

See merge request espressif/esp-idf!6979
2020-01-02 17:29:35 +08:00
Jakob Hasse
53aadafac8 idf_size.py: can alternatively write data to file
* Also Changed json separators - no spaces at eol
2020-01-02 09:33:51 +08:00
Jakob Hasse
c31c45cae7 NVS: partition name is copied now
Closes IDF-1231
2020-01-02 09:18:24 +08:00
Angus Gratton
2cb7534bc5 Merge branch 'bugfix/gh_python_lint' into 'master'
gh-action:fix python lint

See merge request espressif/esp-idf!7149
2020-01-02 07:19:50 +08:00
morris
8f98c3746a ci: increase parallel count for esp32s2 unitest 2020-01-01 13:58:50 +08:00
morris
13b98e17a6 ci: enable python2 lint 2020-01-01 13:04:50 +08:00
morris
e51bd6deaf gh-action:fix python lint 2020-01-01 12:56:33 +08:00
Ivan Grokhotkov
f30e920116 Merge branch 'bugfix/esp32s2beta_fix_wifi_init_crash' into 'master'
Fix ESP32S2BETA WiFi initialization crash issue

Closes WIFI-1597

See merge request espressif/esp-idf!7154
2019-12-31 17:57:41 +08:00
Shubham Kulkarni
032a041395 Bugfix for failing OTA example
example_test.py is added to test advanced_https_ota_example and native ota_example.

Closes https://github.com/espressif/esp-idf/issues/4394
2019-12-31 14:18:16 +05:30
Angus Gratton
17b5df4d72 Merge branch 'feature/function_call_with_stack' into 'master'
esp_common: added a macro to allow call functions using user allocated stack

Closes IDF-535

See merge request espressif/esp-idf!6709
2019-12-31 15:08:27 +08:00
Angus Gratton
cf2f732b2c Merge branch 'bugfix/heap_tests_esp32s2beta' into 'master'
bugfix/heap test failure fixing for esp32s2 beta

Closes IDF-1021

See merge request espressif/esp-idf!6659
2019-12-31 15:03:01 +08:00
Krzysztof Budzynski
c55643b855 Merge branch 'docs/translate_network_docs' into 'master'
Add translation for Network files

Closes WIFI-873

See merge request espressif/esp-idf!7058
2019-12-31 14:53:56 +08:00
Natasha
1b740c55a3 Add translation for Network files 2019-12-31 14:53:55 +08:00
Angus Gratton
91f953eba2 Merge branch 'bugfix/fix_python3_errors_for_ttfw' into 'master'
test: fix python3 errors for ttfw

See merge request espressif/esp-idf!7139
2019-12-31 14:45:15 +08:00
Angus Gratton
d4366e0e05 Merge branch 'bugfix/pthread_cxx_test_race' into 'master'
test: Fix possible race in pthread C++ test

Closes IDF-1270

See merge request espressif/esp-idf!7054
2019-12-31 07:06:54 +08:00
Angus Gratton
2087a1805b Merge branch 'bugfix/idf_size_peformance_pr4518' into 'master'
Improve idf-size performance substantially (PR)

Closes IDFGH-2404

See merge request espressif/esp-idf!7148
2019-12-31 07:06:22 +08:00
Angus Gratton
4ae9dad9a3 Merge branch 'bugfix/panic_cache_err_dig_reset' into 'master'
esp32: panic: do digital reset if cache error interrupt is set

See merge request espressif/esp-idf!7152
2019-12-31 07:04:22 +08:00
He Yin Ling
269af21ce6 test: fix multiple devices cases fail on python3 2019-12-30 20:21:00 +08:00
He Yin Ling
07f186a6a5 CI: reduce number of unit test jobs 2019-12-30 20:21:00 +08:00
He Yin Ling
f63e91b950 test: let unit test jobs use python3 2019-12-30 20:20:14 +08:00
He Yin Ling
8df08de486 ttfw: fix incorrect relative import for python3 2019-12-30 20:20:14 +08:00
Mahavir Jain
c3eb27e1e8 Merge branch 'nimble/update_doc_link' into 'master'
NimBLE: Update the link to NimBLE upstream documentation

See merge request espressif/esp-idf!7156
2019-12-30 20:05:38 +08:00
Hrishikesh Dhayagude
cca2613a01 NimBLE: Update the link to NimBLE upstream documentation 2019-12-30 20:05:37 +08:00
Ivan Grokhotkov
4bbfa6e494 Merge branch 'feature/soc_ledc_caps' into 'master'
soc: add ledc_caps.h, replace target-based ifdefs with caps-based

See merge request espressif/esp-idf!6858
2019-12-30 18:47:11 +08:00
Ivan Grokhotkov
9e93b619d9 Merge branch 'bugfix/coredump_epc_level' into 'master'
core dump: only get EPC/EPS registers up to XCHAL_NUM_INTLEVELS

See merge request espressif/esp-idf!7064
2019-12-30 18:45:59 +08:00
Ivan Grokhotkov
f2f008e167 Merge branch 'bugfix/xt_context_save' into 'master'
freertos: save/restore PS and EPC1 around window spilling, fixes setjmp regression

Closes IDFGH-2428

See merge request espressif/esp-idf!7135
2019-12-30 18:05:25 +08:00
Xia Xiaotian
b7e3886bf2 Fix ESP32S2BETA WiFi initialization crash issue
ESP32S2BETA does not need to enable WiFi common clock in WiFi library, for
WiFi common clock is not disabled when WiFi is in sleep state.
2019-12-30 16:51:12 +08:00
Ivan Grokhotkov
f52952cb45 esp32: panic: do digital reset if cache error interrupt is set
Even if frame->exccause != PANIC_RSN_CACHEERR, it is possible that
the cache error interrupt status is set. For example, this may happen
due to an invalid cache access in the panic handler itself.
Check cache error interrupt status instead of frame->exccause to
decide whether to do CPU reset or digital reset.

Also remove unnecessary esp_dport_access_int_pause from
esp_cache_err_get_cpuid, since the panic handler already calls
esp_dport_access_int_abort on entry.
2019-12-30 09:49:07 +01:00
Anthony Casagrande
874cfda54c idf_size.py: Major performance improvements
Merges https://github.com/espressif/esp-idf/pull/4518
2019-12-30 17:14:49 +11:00
Angus Gratton
03f6179211 Merge branch 'bugfix/app_partition_sha_values' into 'master'
bootloader_support: Fix for app SHA-256 calculation, chip revision log spam

See merge request espressif/esp-idf!6862
2019-12-30 12:45:30 +08:00
Angus Gratton
bc02b128be Merge branch 'feature/add_eth_download_test' into 'master'
ethernet: test download blob && phy addr auto detect

Closes IDF-1238

See merge request espressif/esp-idf!6957
2019-12-30 11:52:40 +08:00
Angus Gratton
ba3f47efd6 bootloader_support: fix crash in image verification is SHA doesn't match 2019-12-30 13:48:11 +11:00
Angus Gratton
b2ed553bbf bootloader_support: Reduce log spam about chip revisions
* Don't bother checking the chip revision if it looks like the partition
  doesn't really contain an app
* Don't print the "info" level about the revision & min revision unless
  we're in the bootloader (otherwise it gets printed at random times
  during the OTA process)
2019-12-30 13:48:11 +11:00
Angus Gratton
5139934767 bootloader_common: Fix esp_partition_get_sha256(), add unit tests
Regression in 438d513a95

Reported here: https://esp32.com/viewtopic.php?f=13&t=13250&p=52460
2019-12-30 13:47:47 +11:00
Krzysztof Budzynski
2303dfaffc Merge branch 'doc/review_api-ref_periph-i2s' into 'master'
Reveiw the file api-reference/peripherals/i2s.rst

See merge request espressif/esp-idf!6750
2019-12-30 05:59:49 +08:00
Kirill Chalov
ab6311c548 Reveiw the file api-reference/peripherals/i2s.rst 2019-12-29 21:05:57 +00:00
Jiang Jiang Jian
c8b839b3d5 Merge branch 'bugfix/btdm_revert_changes_of_security_mask' into 'master'
components/bt: Revert changes of security mask

See merge request espressif/esp-idf!7118
2019-12-29 14:12:27 +08:00
Ivan Grokhotkov
e4d45608d3 soc: add ledc_caps.h, replace target-based ifdefs with caps-based 2019-12-28 20:33:21 +00:00
lly
3b9fe36494 ble_mesh: Fix memory leak when node is reset
When node is being reset, the init functions of each sig-defined
models will be invoked again, this will cause memory leak because
some model internal data will be allocated again.
Hence before trying to allocate memory for them, we add some check
to make sure no memory has been allocated previously.
And for client model, when the init functions are invoked again,
we will clear the list items.
2019-12-28 08:00:44 +00:00
Ivan Grokhotkov
3285ed116d heap: make compatible with non-OS builds, remove target dependence 2019-12-27 12:40:06 +01:00
Ivan Grokhotkov
6c0044cc65 Merge branch 'bugfix/rtc_cntl_h_cpp_guards' into 'master'
Add missing extern "C" to rtc_cntl.h

Closes IDFGH-2419

See merge request espressif/esp-idf!7093
2019-12-27 19:21:06 +08:00
Ivan Grokhotkov
acca61c714 Merge branch 'bugfix/spiffs_partition_label_usage' into 'master'
spiffs: clarify the usage of partition_label, fix the example

Closes IDFGH-2313

See merge request espressif/esp-idf!7092
2019-12-27 19:20:46 +08:00
Ivan Grokhotkov
0682575458 Merge branch 'bugfix/heap_trace_event' into 'master'
Updated tracing Python classes

See merge request espressif/esp-idf!7121
2019-12-27 19:06:16 +08:00
Ivan Grokhotkov
83d63b4673 unity: re-enable test case exit by longjmp 2019-12-27 11:27:01 +01:00
Ivan Grokhotkov
891eb3b020 freertos: save/restore PS and EPC1 around window spilling
Since in b0491307, which has introduced the optimized window spill
procedure, _xt_context_save did not work correctly when called from
_xt_syscall_exc. This was because unlike _xt_lowint1, _xt_syscall_exc
does not save PS and EPC1. The new version of _xt_context_save
modified PS (on purpose) and EPC1 (accidentally, due to window
overflow exceptions), which resulted in a crash upon 'rfi' from the
syscall.

This commit adds restoring of PS and EPC1 in _xt_context_save. It also
slightly reduces the number of instructions used to prepare PS for
window spill.

Unit test for setjmp/longjmp (which were broken by this regression)
is added.

Closes https://github.com/espressif/esp-idf/issues/4541
2019-12-27 11:27:01 +01:00
Mahavir Jain
b5b30736de Merge branch 'bugfix/httpd_file_serving_example_chunked_resp' into 'master'
file_server: fix issue with sending last chunk

Closes IDFGH-2414

See merge request espressif/esp-idf!7089
2019-12-27 14:44:02 +08:00
Alexey Gerenkov
eb2aa6fd67 apptrace: Adds HeapTraceEvent.callers property used by OpenOCD tests 2019-12-27 00:13:45 +03:00
Mahavir Jain
e0b667804f Merge branch 'fix/test_flash_timeout_sdio_throughput' into 'master'
Fix several CI issues

See merge request espressif/esp-idf!7101
2019-12-26 20:25:31 +08:00
Mahavir Jain
3be94b6952 Merge branch 'bugfix/can_critical_section_logs' into 'master'
can: Fix critical section ESP_LOG functions

Closes IDFGH-2270 and IDF-1067

See merge request espressif/esp-idf!7081
2019-12-26 16:22:17 +08:00
Mahavir Jain
9738bc58ed Merge branch 'bugfix/can_semaphore_take_in_critical' into 'master'
can: Fix semaphore take in critical section

Closes IDFGH-2115

See merge request espressif/esp-idf!7083
2019-12-26 16:15:07 +08:00
baohongde
3977ba7bc6 components/bt: Revert changes of security mask 2019-12-25 20:03:16 +08:00
Jiang Jiang Jian
c378bd210c Merge branch 'bugfix/fix_the_bugs_for_ESPNOW' into 'master'
fix bugs in ESP-NOW

Closes WIFI-1451

See merge request espressif/esp-idf!6912
2019-12-25 19:06:26 +08:00
zhangyanjiao
56c309b40b fix the bugs in ESP-NOW:
1. fix the bug when modifying the channel info of peer node
2. fix the crash when modifying peer node between unencrypted and encrypted
3. fix the bug for fetch peer
4. modify the esp_wifi_set_channel() function
5. fix the bug that the channel parameter doesn't work when adding peer node

Closes https://github.com/espressif/esp-idf/issues/2833
Closes https://github.com/espressif/esp-idf/issues/4311
2019-12-25 11:46:27 +08:00
Jiang Jiang Jian
b57be2afe1 Merge branch 'bugfix/fix_wifi_timer_bug' into 'master'
esp_wifi: fix some WiFi timer bugs

Closes WIFI-1412

See merge request espressif/esp-idf!6771
2019-12-25 11:11:02 +08:00
liu zhifu
97e7bdd161 esp_wifi: fix WiFi timer bug 2019-12-25 09:10:45 +08:00
Jiang Jiang Jian
2753dd2fc2 Merge branch 'bugfix/fix_a_wifi_rx_bug' into 'master'
esp_wifi: fix a WiFi receiving bug

Closes WIFI-492

See merge request espressif/esp-idf!5834
2019-12-24 22:55:37 +08:00
liu zhifu
e1eeef2276 esp_wifi: fix a WiFi receiving bug
Support WiFi/BT MAC register writting when the WiFi/BT common clock is disabled.
2019-12-24 21:32:03 +08:00
Jiang Jiang Jian
c5708c89ed Merge branch 'bugfix/espnow_tx_failure' into 'master'
esp_wifi: Update wifi lib

Closes WIFI-1471

See merge request espressif/esp-idf!6969
2019-12-24 18:39:29 +08:00
Michael (XIAO Xufeng)
2ffe0aca12 esp_flash: increase the timeout for block erase 2019-12-24 16:50:09 +08:00
Michael (XIAO Xufeng)
72cf67cba3 sdio_slave_hal: fix the TAG non-static issue
(MINOR CHANGE)
2019-12-24 16:50:09 +08:00
Michael (XIAO Xufeng)
41e37ebabe ci: decrease the performance threshold for sdio throughput 2019-12-24 16:50:08 +08:00
Jack
3f22448fdf Fixes ESPNOW unicast packet Tx failure 2019-12-24 11:59:18 +08:00
Jiang Jiang Jian
a3501deb22 Merge branch 'bugfix/fix_the_bugs_for_bandwidth' into 'master'
fix the bugs for bandwidth

Closes WIFI-1306

See merge request espressif/esp-idf!6965
2019-12-24 11:43:44 +08:00
morris
7baf7ce273 ethernet: optimise tx and rx 2019-12-24 11:18:31 +08:00
morris
fce6a9c735 ethernet: test ethernet download 2019-12-24 11:18:30 +08:00
morris
197d5d7378 ethernet: support phy addr auto detect 2019-12-24 11:18:30 +08:00
Ivan Grokhotkov
f687cedebe Merge branch 'bugfix/wa_dport_and_intr' into 'master'
esp32: Fix for DPORT

See merge request espressif/esp-idf!7070
2019-12-24 01:30:56 +08:00
Ivan Grokhotkov
750818de72 spiffs: clarify the usage of partition_label, fix the example
* If esp_vfs_spiffs_register is called with an explicit partition
  label, other SPIFFS functions (info, format, unregister) must be
  called with the same label.

* On the other hand, if label was NULL in the call to
  esp_vfs_spiffs_register and the first matching partition was used,
  calls to the rest of the SPIFFS functions should be done with NULL
  partition_label argument.

Fix the Doxygen documentation. Update the example accordingly, in case
a user modifies "partition_label" value in esp_vfs_spiffs_conf_t conf
initializer.

Closes https://github.com/espressif/esp-idf/issues/4450
2019-12-23 18:20:14 +01:00
zhangyanjiao
7416c37fe1 fix the bug for getting channel and bandwidth 2019-12-23 20:06:13 +08:00
Jiang Jiang Jian
698350ff1f Merge branch 'bugfix/fix_performance_issues_new' into 'master'
improve wifi performance

Closes WIFI-265, WIFI-1349, WIFI-23, WIFI-296, WIFI-397, WIFI-1255, WIFI-1256, and FCS-175

See merge request espressif/esp-idf!6928
2019-12-23 17:38:43 +08:00
Ivan Grokhotkov
c029888bf1 Merge branch 'fix/spi_ut_esp32s2beta' into 'master'
spi: re-enable the unit tests for esp32s2beta

Closes IDF-1020

See merge request espressif/esp-idf!6327
2019-12-23 15:10:31 +08:00
Mahavir Jain
6797703827 Merge branch 'refactor/bootloader_support_restructure' into 'master'
restructure bootloader_init

Closes IDF-1057

See merge request espressif/esp-idf!6674
2019-12-23 14:53:37 +08:00
Jiang Jiang Jian
36ef48eb04 Merge branch 'bugfix/ble_mesh_remove_useless_file' into 'master'
ble_mesh: Remove useless example files

See merge request espressif/esp-idf!7088
2019-12-23 14:41:54 +08:00
Mahavir Jain
9ef8cafeca file_server: fix issue with sending last chunk
Closes: https://github.com/espressif/esp-idf/issues/4528
Closes IDFGH-2414
2019-12-23 12:01:16 +05:30
morris
888316fc64 bootloader_support: refactor to better support multi target 2019-12-23 05:45:17 +00:00
suda-morris
ba7c67ece8 bootloader won't have dependency on wifi 2019-12-23 05:45:17 +00:00
lly
2ac8900a58 ble_mesh: Remove useless example files 2019-12-23 13:32:23 +08:00
michael
2dd12ae5f8 spi: fix speed test issues on esp32s2beta
Also support performance value for different targets.
2019-12-23 10:23:01 +08:00
michael
3d1ec3f451 intr_alloc: fix the issue intr_enable/disable cannot be used in ISR in
esp32s2beta.

This issue is reported in config freertos_compliance_s2.
2019-12-23 10:23:00 +08:00
michael
262ba6f825 spi: fix iomux, timing and address phase issues for esp32s2beta 2019-12-23 10:23:00 +08:00
michael
11fa11000f spi: re-enable the unit tests for esp32s2beta 2019-12-23 10:22:59 +08:00
Jack
1e47b01563 improve wifi performance 2019-12-22 19:34:53 +08:00
KonstantinKondrashov
9432ebddf9 esp32: Add UT for DPORT 2019-12-21 14:10:38 +00:00
KonstantinKondrashov
c4dcf6f917 esp32: Fix esp_dport_access_reg_read 2019-12-21 14:10:38 +00:00
KonstantinKondrashov
1687c53700 freertos: Fix save_context. Add RSYNC after WSR
RSYNC waits for all previously fetched WSR.* instructions to be performed before inter-
preting the register fields of the next instruction.
2019-12-21 14:10:38 +00:00
boarchuz
5dc10a4191 Add missing extern "C" to rtc_cntl.h
Related: https://github.com/espressif/arduino-esp32/issues/3149
2019-12-21 12:12:54 +11:00
Felipe Neves
8795b2681c heap: added test case for realloc to verify if successive realloc in IRAM still ends there. 2019-12-20 13:48:09 -03:00
Felipe Neves
4909fdfe02 heap_caps: small fixes on comments plus cleaning 2019-12-20 13:35:56 -03:00
Felipe Neves
31145f38fa heap_caps: added special case for realloc when previous area is an diram_iram ptr, this will force a malloc/copy/free 2019-12-20 13:35:56 -03:00
Felipe Neves
ce9f84fba9 heap_caps: enable check of pointer on diram_iram for both S2 and non-S2 platform 2019-12-20 13:35:56 -03:00
Felipe Neves
d9ab33118e heap/multi_heap_poisoning: include heap_private.h only when no host heap tests 2019-12-20 13:35:56 -03:00
Felipe Neves
4a392932f1 heap/heap_caps: added special case for esp32s2 when handling memory allocated (and aliased) from IRAM 2019-12-20 13:35:56 -03:00
Felipe Neves
ecc4955c68 heap/test_malloc_caps: changed malloc caps test to deal with esp32 and esp32s2 memory differencies. 2019-12-20 13:35:56 -03:00
Felipe Neves
cf95ea40d4 heap/test_leak: changed requested memory on leak checks to match the threshold 2019-12-20 13:35:56 -03:00
Felipe Neves
785abfeb82 docs: update esp_expresstion_with_stack code snippet to check shared stack and mutex allocation. 2019-12-20 13:30:30 -03:00
Felipe Neves
d1b76d13bb exp_expression_with_stack: added check for null pointer after obtaining a mutex in test 2019-12-20 13:28:29 -03:00
Felipe Neves
f0e82311a5 esp_expression_with_stack: fix wrong top of stack calculation plus documentation update 2019-12-20 13:23:47 -03:00
Felipe Neves
e4fb50e6f3 expression_with_stack_xtensa: fixed stack pointer to avoid its overflow on heap block metadata. 2019-12-20 13:18:13 -03:00
Felipe Neves
8bfb8e885e docs: update on expression with stack api usage regard the stack setup. 2019-12-20 13:18:13 -03:00
Felipe Neves
fab50ccf7c expression_with_stack_xtensa: call esp watchpoint function using a callx4 to fix range problem of call4 function 2019-12-20 13:18:13 -03:00
Felipe Neves
674cb1c21c esp_expression_with_stack: added fake stack frame plus some cleanup on main macro 2019-12-20 13:18:13 -03:00
Felipe Neves
5e18cd4e13 esp_expression_with_stack: added watchpoint on stack parameter before use it 2019-12-20 13:18:13 -03:00
Felipe Neves
88dd15c806 docs: synchronized the contents of en with cn folders adding the esp-expression-with-stack documentation 2019-12-20 13:18:13 -03:00
Felipe Neves
dfea4196a2 docs: added esp-expression-with-stack on documentation 2019-12-20 13:18:13 -03:00
Felipe Neves
002f38c7f5 expression_with_stack_xtensa: protected switch stacks function to compile only on window ABI supported platform 2019-12-20 13:18:13 -03:00
Felipe Neves
11266ef05d expression_with_stack_xtensa: renamed and moved assembly helpes of esp_expression_wit_stack to xtensa component 2019-12-20 13:18:13 -03:00
Felipe Neves
7b90f34c5a esp_expression_with_stack: renamed macro and functions to have esp_ prefix 2019-12-20 13:18:13 -03:00
Felipe Neves
98b76617be test_shared_stack_printf: moved the test stack inside the heap 2019-12-20 13:18:13 -03:00
Felipe Neves
debcc68c41 esp_common: added a macro to allow call functions using user allocated stack 2019-12-20 13:18:13 -03:00
Darian Leung
4c3d49e3f0 can: Fix semaphore take in critical section
This commit fixes can_reconfigure_alerts() which
could lead to a call to xSemaphoreTake() whilst
inside a critical section.

Closes https://github.com/espressif/esp-idf/issues/4277
2019-12-20 22:00:33 +08:00
Ivan Grokhotkov
c0d12988d3 Merge branch 'feature/component_manager' into 'master'
Component manager for IDF (preview)

See merge request espressif/esp-idf!6929
2019-12-20 21:06:12 +08:00
Darian Leung
b6af587975 can: Fix critical section ESP_LOG functions
This commit removes any function calls within
the CAN driver that result in a call to ESP_LOG
whilst inside a critical section.

These function calls are either moved outside
critical sections (e.g., intr_alloc and gpio
functions), or substituted (e.g., assert()).

Closes https://github.com/espressif/esp-idf/issues/4412
2019-12-20 20:58:48 +08:00
Mahavir Jain
9d196ce51f Merge branch 'feature/sntp_api_sync_interval' into 'master'
sntp: Add API to set update interval

Closes IDFGH-2298

See merge request espressif/esp-idf!6956
2019-12-20 18:26:23 +08:00
Konstantin Kondrashov
98495e5939 sntp: Add API to set update interval
Closes: https://github.com/espressif/esp-idf/issues/4437
Closes: IDFGH-2298
2019-12-20 18:26:23 +08:00
Angus Gratton
28314f9bb0 Merge branch 'bugfix/parttool_regression' into 'master'
parttool: Fix regression when parsing binary partition data

See merge request espressif/esp-idf!7075
2019-12-20 17:33:21 +08:00
Jiang Jiang Jian
e977cc24ff Merge branch 'bugfix/fix_ble_mesh_adv_buf_unref' into 'master'
ble_mesh: Fix adv buf unref and link_id in exceptional list

See merge request espressif/esp-idf!6828
2019-12-20 17:11:08 +08:00
Angus Gratton
8f15664be0 parttool: Fix regression when parsing binary partition data
Regression in a91de43537
2019-12-20 19:09:10 +11:00
Jiang Jiang Jian
abe26a1c02 Merge branch 'bugfix/ble_mesh_client_check_remain_time' into 'master'
ble_mesh: Client model check timer remaining time

See merge request espressif/esp-idf!7010
2019-12-20 15:21:26 +08:00
Angus Gratton
9f038edbfd Merge branch 'feature/github_issue_templates' into 'master'
github: Update to new issue templates

Closes IDF-1163

See merge request espressif/esp-idf!7018
2019-12-20 14:31:16 +08:00
Mahavir Jain
ba0a22f59d Merge branch 'fix/run_esptool_absolute_path' into 'master'
project_include.cmake: Make esptool_py_custom_target callable from other directories

See merge request espressif/esp-idf!7062
2019-12-20 14:05:53 +08:00
Angus Gratton
a26e78f66c Merge branch 'doc/mqtt_api_ref_add_event_info' into 'master'
doc/mqtt: add event description to API reference

See merge request espressif/esp-idf!6518
2019-12-20 13:11:56 +08:00
Angus Gratton
f517c8efe4 Merge branch 'doc/review_api-ref_periph-uart' into 'master'
Review the file api-reference/peripherals/uart.rst

See merge request espressif/esp-idf!6639
2019-12-20 13:10:02 +08:00
Angus Gratton
f0680b99b3 Merge branch 'bugfix/mdns_netif_local' into 'master'
mdns: fix preset of esp_netif ptr for local interfaces

Closes WIFI-1538

See merge request espressif/esp-idf!7009
2019-12-20 12:53:50 +08:00
lly
fbdaed0248 ble_mesh: Add unlock when failed to create alarm 2019-12-20 12:25:01 +08:00
lly
619e606356 ble_mesh: Rename ble mesh lock/unlock functions
Rename BLE Mesh internal lock/unlock functions, also seperate
the list, buf and atomic lock/unlock functions
2019-12-20 12:23:10 +08:00
Angus Gratton
7e72e12e4c github: Update to new issue templates
- Add a separate template for feature requests
- Add links to Programming Guide, Documentation pages, forum in config.yml
2019-12-20 15:20:13 +11:00
Angus Gratton
3faa2a48d1 Merge branch 'test/uart_unit_tests' into 'master'
driver: test: Fix for 'uart read write' test failure, use some more verbose macros

See merge request espressif/esp-idf!6996
2019-12-20 12:15:45 +08:00
Angus Gratton
8099a90d46 Merge branch 'bugfix/parttool_backtraces' into 'master'
parttool: Avoid unnecessary exception backtrace for legitimate errors

See merge request espressif/esp-idf!7022
2019-12-20 12:14:23 +08:00
Angus Gratton
0cc98b8d76 secure boot: Fix bootloader build system target for bootloader digest
Closes https://github.com/espressif/esp-idf/issues/4513
2019-12-20 15:09:15 +11:00
Angus Gratton
15e67a49f4 Merge branch 'bugfix/nvs_flash_iterator' into 'master'
NVS: BUGFIX iterator corrupting entries.

Closes IDFGH-2229

See merge request espressif/esp-idf!6789
2019-12-20 11:40:23 +08:00
Jiang Jiang Jian
546aa18c84 Merge branch 'bugfix/fix_wifi_stop_memory_leak' into 'master'
esp_wifi/supplicant: fix some WiFi stop memory leak

Closes WIFI-1488

See merge request espressif/esp-idf!7043
2019-12-20 11:07:13 +08:00
Angus Gratton
4344add798 Merge branch 'bugfix/make_undefined_variable_warning' into 'master'
make: fix undefined variable warning (IDF_SKIP_CHECK_SUBMODULES)

See merge request espressif/esp-idf!7061
2019-12-20 10:59:28 +08:00
Sergei Silnov
dfafa98253 Use component manager if available as python package 2019-12-19 16:48:36 +01:00
Ivan Grokhotkov
37a8ff9040 core dump: only get EPC/EPS registers up to XCHAL_NUM_INTLEVELS 2019-12-19 16:47:57 +01:00
Ivan Grokhotkov
86d65b88f4 make: fix undefined variable warning (IDF_SKIP_CHECK_SUBMODULES) 2019-12-19 13:28:31 +01:00
Amit Sheth
8f3987099e project_include.cmake: Make esptool_py_custom_target callable from other directories 2019-12-19 17:53:09 +05:30
Kirill Chalov
9da268bd32 Review the file api-reference/peripherals/uart.rst 2019-12-19 19:13:38 +08:00
Krzysztof Budzynski
2fa24d6e39 Merge branch 'doc/hr-ref/gs-wrover-kit-v4.1-fix-header-name' into 'master'
JP8 -> JP2

See merge request espressif/esp-idf!7053
2019-12-19 17:44:43 +08:00
Marius Vikhammer
7c0e3765ec websocket: added missing event data
user_context was missing from websocket event data, added. Also added the websocket client handle to the event data.

Removed  unused event data struct.

Closes: IDF-1271
2019-12-19 17:36:37 +08:00
Ivan Grokhotkov
9addf631e5 Merge branch 'bugfix/mdns_deinit_event_crash' into 'master'
mdns: fixed crash on event during deinit

Closes WIFI-1485

See merge request espressif/esp-idf!6951
2019-12-19 15:42:05 +08:00
Krzysztof Budzynski
287580ff90 Merge branch 'docs/tanslate_esp_mesh' into 'master'
add translation for esp_mesh doc

See merge request espressif/esp-idf!7005
2019-12-19 15:16:50 +08:00
Natasha
0c444c06a7 add translation for esp_mesh doc 2019-12-19 15:16:50 +08:00
Jakob Hasse
38aa21fd15 WIFI: added log for wifi test, increased timeout 2019-12-19 14:53:28 +08:00
Kirill Chalov
db32140eea JP8 -> JP2 syncing changes in cn version
Fixes https://github.com/espressif/esp-idf/pull/4147
2019-12-19 13:52:33 +08:00
Angus Gratton
852462f4e2 test: Fix possible race in pthread C++ test
Also use TEST_ASSERT_EQUAL to get better debugging

Debugging intermittent UT failures on S2 release config

In the old version, the 300ms delay in between the two kinds of test
was supposed to keep the tasks in lockstep so it didn't matter that
global_sp was protected by two muxes.

However it seems like sometimes they could get out of sync -
I think because of a race in the sleep_until test. If the
second counter ticks over at that exact moment sleeping starts,
then the task doesn't sleep and will immediately keep running
 for the next iteration, possibly racing the other tasks.
2019-12-19 15:55:51 +11:00
Romain
35bbd996af JP8 -> JP2
Signed-off-by: Kirill Chalov <kirill.chalov@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/4147
2019-12-19 12:43:41 +08:00
Angus Gratton
505a82488a Merge branch 'bugfix/esp_log_from_critical' into 'master'
intr_alloc: don't call ESP_LOG from a critical section

Closes FCS-268

See merge request espressif/esp-idf!7047
2019-12-19 08:47:19 +08:00
Angus Gratton
981d8c6c30 Merge branch 'feature/idfpy_list_targets' into 'master'
idf.py: add --list-targets option to list support targets

See merge request espressif/esp-idf!7049
2019-12-19 08:35:59 +08:00
Angus Gratton
2e43d107b4 idf_monitor: Ignore OS-level errors writing to Windows Console
Windows Console write or flush may fail (throwing WindowsError, a subclass of OSError) if the data
written can't be displayed. This may be the case if the serial port is producing garbage bytes.

Ignore the error, in the hope that the serial port may "come good" and write non-garbage later.
2019-12-18 23:35:35 +00:00
Sergei Silnov
97f7b918c1 idf.py: add --list-targets option to list support targets 2019-12-18 16:50:49 +01:00
Mahavir Jain
e8db1c4da0 Merge branch 'feature/enable_i2s_tests_on_esp32s2beta' into 'master'
Enable i2s and freertos test/s on esp32s2beta

See merge request espressif/esp-idf!6790
2019-12-18 17:51:54 +08:00
Ivan Grokhotkov
2b6c85e182 intr_alloc: don't call ESP_LOG from a critical section
Calling ESP_LOG from a critical section leads to abort() in 4.1, and
may also randomly abort() in earlier versions.

Closes FCS-268
2019-12-18 10:11:24 +01:00
Jiang Jiang Jian
f106e14400 Merge branch 'bugfix/iperf_example_configs' into 'master'
examples/wifi/iperf: fix test not finding any configs

See merge request espressif/esp-idf!6802
2019-12-18 15:35:20 +08:00
Krzysztof Budzynski
fcbe89c67a Merge branch 'feature/esp-ble-mesh-architecture-cn' into 'master'
Add Chinese translation for ble-mesh-architecture; add a link for ble-mesh-architecture-en.

See merge request espressif/esp-idf!6550
2019-12-18 14:37:10 +08:00
Tian Yang Min
666337eb7a Add Chinese translation for ble-mesh-architecture; add a link for ble-mesh-architecture-en. 2019-12-18 14:37:09 +08:00
Krzysztof Budzynski
9ae07d75f6 Merge branch 'feature/esp-ble-mesh-index-cn' into 'master'
Add Chinese translation for esp-ble-mesh-index.

See merge request espressif/esp-idf!6641
2019-12-18 14:34:58 +08:00
Tian Yang Min
2b589fbabd Add Chinese translation for esp-ble-mesh-index. 2019-12-18 14:34:56 +08:00
Krzysztof Budzynski
60d3fd8457 Merge branch 'feature/esp-ble-mesh-terminology-cn' into 'master'
Add Chinese translation for esp-ble-mesh-terminology. Add link to Chinese...

See merge request espressif/esp-idf!6761
2019-12-18 14:34:02 +08:00
Tian Yang Min
ee93da1826 Add Chinese translation for esp-ble-mesh-terminology. Add link to Chinese version in English original text. 2019-12-18 14:34:01 +08:00
liu zhifu
fde2f33912 esp_wifi/supplicant: fix some WiFi stop memory leak 2019-12-18 13:51:27 +08:00
Angus Gratton
30372f5a4f Merge branch 'docs/esp_netif_programmer_manual' into 'master'
esp netif: formal fixes (docs and c++ sentinels again)

Closes IDFGH-2265

See merge request espressif/esp-idf!6819
2019-12-18 13:12:36 +08:00
Angus Gratton
3d9bcf2eb2 Merge branch 'bugfix/docs-link-whitespace' into 'master'
Fix the whitespace after everything which is link

Closes IDF-903

See merge request espressif/esp-idf!5865
2019-12-18 13:11:54 +08:00
Soumesh Banerjee
e969115a23 Fix the whitespace after everything which is link 2019-12-18 13:11:54 +08:00
Angus Gratton
4325c98a27 Merge branch 'bugfix/esp_netif_netsuite_test_fix' into 'master'
esp_netif: update netsuite test example to use I/O driver configuration

Closes IDFGH-2259

See merge request espressif/esp-idf!6834
2019-12-18 11:23:46 +08:00
Angus Gratton
43fe904260 Merge branch 'feature/ws_local_server_test' into 'master'
websocket_client: added example_test with a local websocket server

Closes IDF-907

See merge request espressif/esp-idf!6366
2019-12-18 11:15:33 +08:00
Jakob Hasse
5249d33c1f NVS: bugfix nvs_set_str/blob checks write mode 2019-12-18 09:06:45 +08:00
Jakob Hasse
bb1cd9a440 NVS: BUGFIX non-matching type iterator works
Closes IDFGH-2229
2019-12-18 09:06:45 +08:00
Ivan Grokhotkov
de43b8406b Merge branch 'feature/qemu_mqtt_test' into 'master'
ci: QEMU tests in tiny-test-fw

See merge request espressif/esp-idf!6959
2019-12-18 07:10:30 +08:00
David Cermak
eaa2f12d67 mdns: fixed crash on event during deinit
mdns library deinitialization destroys internal structures including action queue. if an event (e.g. network update) received
after some essential stucture is destoyed, an unexpected behavour might be introduced (e.g. crash of adding the event notification
to the action queue which was already destroyed

Closes WIFI-1485
2019-12-17 18:18:22 +00:00
David Cermak
74d768fe6d ci: updated mqtt weekend test for qemu support
Added default sdkconfig for qemu build for the mqtt publish example,
Added environment configuration for running the same test on target
or in qemu
Updated missing example tests per latest ttfw refactoring
2019-12-17 14:06:40 +01:00
David Cermak
cec408c760 ci: ttfw update to support qemu dut_class
Updated missing example tests per latest ttfw refactoring,
updated pythons requirements.txt for ttfw_idf
2019-12-17 14:06:40 +01:00
Ivan Grokhotkov
85c97967d5 tiny-test-fw: add QEMU DUT 2019-12-17 14:06:40 +01:00
Jiang Jiang Jian
259d43db83 Merge branch 'bugfix/fix_block_scan_crash_issue' into 'master'
esp_wifi: Fix wifi block scan crash issue

Closes AUD-873 and WIFI-922

See merge request espressif/esp-idf!6422
2019-12-17 20:03:10 +08:00
Jiang Jiang Jian
08b1ccb7b7 Merge branch 'bugfix/esp_netif_receive_null_netif' into 'master'
esp_netif: store netif before register wifi rxcb

Closes WIFI-1499

See merge request espressif/esp-idf!6947
2019-12-17 20:01:34 +08:00
David Cermak
31b2702387 esp_netif, examples: esp_netif_init() moved into ESP_ERROR_CHECK()
esp_netif_init() returns standard esp_err_t error code (unlike tcpip_adapter init), so shall be checked for the return value
Also to make the initialization code more consistent.
2019-12-17 09:07:49 +01:00
David Cermak
b61b927008 esp_netif: minor log message fix in dhcps cb
To make it more general, since the DHCP server does not necessarily runs only on softAP.
2019-12-17 09:02:51 +01:00
Thomas Schaub
f21107d12d esp_netif/tcpip_adapter: declare functions extern "C"
Merges https://github.com/espressif/esp-idf/pull/4408
2019-12-17 09:02:51 +01:00
David Cermak
ac47c74ec4 esp_netif, docs: Added programmer's manual section
Also added guide for creating a custom network capable I/O driver
And added notes about default wifi interfaces and implications of using
default short-hand creation functions.
2019-12-17 09:02:51 +01:00
Mahavir Jain
c86c1ecc7e Merge branch 'support/add_uart_fifo_threshold_set_api' into 'master'
add simplified API to set UART threshold values for RX FIFO full and TX FIFO empty

See merge request espressif/esp-idf!6749
2019-12-17 11:30:11 +08:00
Angus Gratton
0bc6f2b42c Merge branch 'bugfix/fix_crash_when_use_one_speed_mode' into 'master'
bugfix(ledc): fix crash when use one speed mode

See merge request espressif/esp-idf!6788
2019-12-17 11:16:11 +08:00
Angus Gratton
2c28f1ec0a Merge branch 'bugfix/doc_fix_debian_requirements' into 'master'
Docs: Update Debian & Ubuntu install prerequisites

Closes IDFGH-2352

See merge request espressif/esp-idf!7024
2019-12-17 09:22:14 +08:00
Angus Gratton
a0887fcf84 Merge branch 'feature/esp_netif_pppos_client' into 'master'
esp-netif: PPP support, update example and modem subcomponent

See merge request espressif/esp-idf!6744
2019-12-17 09:11:12 +08:00
Angus Gratton
431066f164 Merge branch 'bugfix/gcov_stub_invocation' into 'master'
Fixes aborted calls to _lock_acquire_recursive from gcov stub

Closes IDF-1195

See merge request espressif/esp-idf!6896
2019-12-17 08:57:38 +08:00
kewal shah
eec8212237 add simplified API to set UART threshold values for RX FIFO full and TX FIFO empty 2019-12-16 20:26:04 +00:00
David Cermak
bbbdcbfe4c esp_netif: update netsuite test example to use I/O driver configuration
closes https://github.com/espressif/esp-idf/issues/4403
2019-12-16 19:38:01 +00:00
Alexey Gerenkov
184e1785ff gcov: Fixes aborted calls to _lock_acquire_recursive from gcov stub 2019-12-16 19:15:37 +00:00
David Cermak
04a25394aa esp_modem: add simple compatibility layer for new esp_modem connecting over esp-netif 2019-12-16 17:34:10 +00:00
David Cermak
25913af2cc pppos_client: udated example code to use esp-netif in PPP configuration 2019-12-16 17:34:10 +00:00
David Cermak
52ca3a917d esp_netif: Support for PPPoS in esp_netif using lwip ppp client 2019-12-16 17:34:10 +00:00
David Cermak
09e36f9f33 mdns: fix preset of esp_netif ptr for local interfaces
mdns module store local copy of esp_netif for common interfaces,
but it was correctly initialized only when interface started.
If the event were missed (e.g. mdns_init after interface start)
the local copy wouldn't be initialized. Fixed by restoring the local
copy.

Closes WIFI-1538
2019-12-16 15:39:23 +01:00
Ivan Grokhotkov
211c54cef3 examples/wifi/iperf: fix test not finding any configs
Regression from ebd7004
2019-12-16 11:51:49 +00:00
Roland Dobai
bbbc12478a Docs: Update Debian & Ubuntu install prerequisites
Latest versions of apt-get don't install as much packages by default
as older ones. This fix adds some missing packages discovered for an OS
derived from the latest stable Debian. These packages exist for older
Debian derivatives as well (tested with Ubuntu 16.04 LTS).

Closes https://github.com/espressif/esp-idf/issues/4480
2019-12-16 11:41:28 +01:00
Angus Gratton
435dd546cc driver: Avoid possible accidental mismatch between ledc_clk_src_t & ledc_clk_cfg_t enum
ledc_types.h includes two similar enums, ledc_clk_src_t & ledc_clk_cfg_t. Latter was added in
ESP-IDF v4.0.

The two enums do different things but there are two similar names: LEDC_REF_TICK / LEDC_USE_REF_TICK
and LEDC_APB_CLK / LEDC_USE_APB_CLK.

Because C will accept any enum or integer value for an enum argument, there's no easy way to check
the correct enum is passed without using static analysis.

To avoid accidental errors, make the numeric values for the two similarly named enums the same.,

Noticed when looking into https://github.com/espressif/esp-idf/issues/4476
2019-12-16 19:43:11 +11:00
xiehang
a159fc15fc esp_wifi: Fix wifi block scan crash issue 2019-12-16 07:47:08 +00:00
Angus Gratton
a91de43537 parttool: Avoid unnecessary exception backtrace for legitimate errors
Previous version used exception handling for program control flow,
which makes for long and confusing backtrace messages if an error
occurs while parsing the CSV (as it also prints the phony error that
occurred while trying to parse as a binary, then prints
"During handling of the above exception, another exception occurred:",
then prints the real error).

Use the same heuristic that is applied in gen_esp32_part, instead.

Also, avoid printing the entire backtrace if the error is a gen_esp32_part
InputError, same as gen_esp32part does.

Found while looking into https://github.com/espressif/esp-idf/issues/4474
2019-12-16 18:24:10 +11:00
Mahavir Jain
2e73c2818b freertos: re-enable mutext test for esp32s2beta 2019-12-16 11:55:32 +05:30
Mahavir Jain
8b05cf41ad i2s: enable tests for esp32s2beta 2019-12-16 11:53:33 +05:30
Angus Gratton
f7b51c164d Merge branch 'bufgix/esp_timer_set_alarm' into 'master'
esp_timer: Fix set_alarm. Case when timestamp < now_time

Closes WIFI-1511

See merge request espressif/esp-idf!6960
2019-12-16 13:39:44 +08:00
Ivan Grokhotkov
1f6bb6ef4f Merge branch 'feat/mmc_check_data_switching_freq' into 'master'
sdmmc: add communication check for eMMC after frequency switch

See merge request espressif/esp-idf!6893
2019-12-16 13:05:03 +08:00
Angus Gratton
8b219c0884 Merge branch 'bugfix/menuconfig_py3' into 'master'
tools: Fix menuconfig for Python 3

See merge request espressif/esp-idf!6991
2019-12-16 12:59:34 +08:00
chenjianqiang
41fca84064 bugfix(ledc): fix crash when use one speed mode and enable ledc fade test case 2019-12-16 02:49:26 +00:00
Angus Gratton
9dbb7526c5 Merge branch 'bugfix/ulp_supported_version' into 'master'
ulp: remove 20190801 version, update supported version for Make

See merge request espressif/esp-idf!7014
2019-12-16 10:47:44 +08:00
Angus Gratton
1843630ef3 Merge branch 'feature/sdio_slave_support_hal_new' into 'master'
sdio_slave: support HAL layer

See merge request espressif/esp-idf!6314
2019-12-16 07:22:04 +08:00
Angus Gratton
433d046a2a Merge branch 'feature/tools_installer_v2.2' into 'master'
tools: bump windows tools installer version to v2.2

Closes IDFGH-2036 and IDFGH-2202

See merge request espressif/esp-idf!6999
2019-12-16 07:20:43 +08:00
Ivan Grokhotkov
917889dfdf ulp: remove 20190801 version, update supported version for Make 2019-12-15 21:39:42 +01:00
lly
31a4738bd4 ble_mesh: Use mutex to protect client list operations 2019-12-14 17:32:47 +08:00
lly
e4223df60f ble_mesh: Remove useless parameters of lock/unlock 2019-12-14 16:28:22 +08:00
lly
d2bc597e9f ble_mesh: Client model check timer remaining time
Before handling status message, client models need check if the
corresponding timer has expired. And if timeout happens, the
status message will be treated as a publish message.
2019-12-14 15:43:59 +08:00
Ivan Grokhotkov
f91c5c6f23 docs: update Windows tools installer link 2019-12-13 15:03:09 +01:00
Ivan Grokhotkov
d021e71419 tools: bump windows tools installer version to v2.2
Includes the fix for Windows Defender exceptions installation.

Closes https://github.com/espressif/esp-idf/issues/4225
Closes https://github.com/espressif/esp-idf/issues/4354
Closes IDFGH-2036
Closes IDFGH-2202
2019-12-13 15:03:09 +01:00
Martin Vychodil
66aac70286 tools: WD exclusions support - internal improvements
* use {group} symbolic path instead of {autostartmenu) due to backward compatibility
* don't check Defender module existence in PS scripts (done by the installer)
2019-12-13 15:03:08 +01:00
Krzysztof Budzynski
4184cc936d Merge branch 'docs/contribute/documenting-code' into 'master'
Add Chinese translation to Documenting Code

See merge request espressif/esp-idf!6888
2019-12-13 20:13:50 +08:00
Wang Ning
63b0d6c977 Add Chinese translation to Documenting Code 2019-12-13 20:13:50 +08:00
Ivan Grokhotkov
b4b6e938b1 Merge branch 'feature/esp32s2-ulp-doc' into 'master'
Documentation witn instruction set for Esp32s2 ULP core processor added.

See merge request espressif/esp-idf!5118
2019-12-13 18:38:59 +08:00
Dmitry Yakovlev
8fe3ecd000 Added description for difference between ESP32 ULP and ESP32-S2 ULP
Jumpr instruction updated.
2019-12-13 18:38:57 +08:00
Michael (XIAO Xufeng)
0ec08ca21b sdio_slave: support HAL layer 2019-12-13 18:33:15 +08:00
Jiang Jiang Jian
09615245a5 Merge branch 'bugfix/fix_softap_crash_when_assoc_illegal' into 'master'
esp_wifi: Fix association request RSN information length too big lead crash.

Closes WIFI-1253

See merge request espressif/esp-idf!6380
2019-12-13 18:12:25 +08:00
Angus Gratton
ecf85555b6 Merge branch 'bugfix/small_unit_test_fixes' into 'master'
test: Small unit test fixes

See merge request espressif/esp-idf!6981
2019-12-13 14:00:05 +08:00
KonstantinKondrashov
c6b681827d target-test.yml: Increase parallel count +1 for ESP32_IDF, UT_T1_1 2019-12-13 13:51:47 +08:00
KonstantinKondrashov
ada09f8fad esp_timer: Add Test case when set_alarm needs set timer < now_time 2019-12-13 13:51:47 +08:00
Angus Gratton
4f1d49d8c2 Merge branch 'feature/esp32s2beta_hw_crypto_support' into 'master'
hw crypto: activated hardware acceleration for esp32s2beta

Closes IDF-757

See merge request espressif/esp-idf!6615
2019-12-13 13:40:33 +08:00
Angus Gratton
40b657d4fe Merge branch 'feature/prebuilt_binary_example' into 'master'
cmake: import prebuilt library

See merge request espressif/esp-idf!6838
2019-12-13 13:36:47 +08:00
Ivan Grokhotkov
7bda06f7f4 Merge branch 'bugfix/console_example' into 'master'
esp32s2beta: add missing sleep APIs, re-enable console example

Closes IDF-1033

See merge request espressif/esp-idf!6572
2019-12-12 22:44:43 +08:00
Ivan Grokhotkov
522cef42ab examples: re-enable console example for esp32s2beta 2019-12-12 14:34:15 +01:00
Ivan Grokhotkov
792598c04a esp32s2beta: add APIs added to esp32 target after IDF 3.1 2019-12-12 14:34:15 +01:00
Jiang Jiang Jian
77290ddd07 Merge branch 'demo/hfp-client-demo' into 'master'
component_bt/: Add HFP HF Unit Example

Closes BT-459

See merge request espressif/esp-idf!6495
2019-12-12 21:19:04 +08:00
Jiang Jiang Jian
e304efd7fc Merge branch 'demo/hfp-ag-demo' into 'master'
component_bt/: Add HFP AG example and bugfix for WBS

See merge request espressif/esp-idf!6894
2019-12-12 21:18:50 +08:00
weitianhua
4cba4ddadc Make only for ESP32 2019-12-12 17:12:38 +08:00
weitianhua
c2e97b1042 Enable mSBC for demo 2019-12-12 17:12:38 +08:00
weitianhua
392eb79704 Format the BTM_WBS_INCLUDED macro 2019-12-12 17:12:38 +08:00
weitianhua
ad4b11a4f1 Fix crash when WBS enabled. 2019-12-12 17:12:38 +08:00
weitianhua
45fb144224 Add hfp_ag example with updated doc 2019-12-12 17:12:38 +08:00
weitianhua
d900971deb Make only for ESP32 2019-12-12 17:12:19 +08:00
weitianhua
10e5f16974 remove BTM_WBS_INCLUDED for bta_hf_client_version select 2019-12-12 17:12:19 +08:00
weitianhua
742cb8df9e Update the README.md
Fix the m_rb bug in bt_app_hf.c

Change the log level into information.
2019-12-12 17:12:19 +08:00
weitianhua
88c8791b1d HFP HF Client Example 2019-12-12 17:12:19 +08:00
michael
232d98608a sdmmc: add communication check for eMMC after frequency switch 2019-12-12 08:11:17 +00:00
lly
1a8199dd41 ble_mesh: Fix using wrong name for PB-GATT 2019-12-12 15:59:37 +08:00
lly
c354b0993d ble_mesh: Fix adv buf unref and link_id in exceptional list 2019-12-12 15:58:43 +08:00
Jiang Jiang Jian
bcb9ba6783 Merge branch 'bugfix/Fix_typo_in_idf' into 'master'
Fix some typo in idf

See merge request espressif/esp-idf!6950
2019-12-12 15:55:43 +08:00
Geng Yu Chao
6c923cf330 Fix some typo in idf 2019-12-12 15:55:42 +08:00
Jiang Jiang Jian
767917bcf7 Merge branch 'bugfix/btdm_avrc_metadata_length_error' into 'master'
components/bt: Fix AVRC metadata length error

See merge request espressif/esp-idf!6879
2019-12-12 15:53:08 +08:00
Angus Gratton
6c2d667971 Merge branch 'ci/keep_build_artifacts' into 'master'
ci: Keep build artifacts for 4 days

See merge request espressif/esp-idf!6993
2019-12-12 14:27:58 +08:00
Angus Gratton
ee7cd4e1d8 driver: test: Ensure UART is fully idle before starting loopback RX/TX test
Possible fix for sporadic failures of this test in CI, may be due to a byte already
being queued in one of the FIFOs
2019-12-12 17:21:46 +11:00
Angus Gratton
b79a6c2576 driver: test: Use more detailed macros than TEST_ASSERT() to get better errors 2019-12-12 17:21:40 +11:00
KonstantinKondrashov
e6223440b3 esp_timer: Fix set_alarm. Case when timestamp < now_time
arg1 = MAX(int64_t arg1, uint64_t arg2) gave the wrong result, if arg1 < 0, it was presented as a larger value.
And ALARM_REG = (uin32_t)arg1. This leads to an infinite loop.
Fixed: both args are int64_t.

Closes: WIFI-1511
2019-12-12 14:02:26 +08:00
Marius Vikhammer
c63684cf6c hw crypto: activated hardware acceleration for esp32s2beta
Activated AES, RSA and SHA hardware acceleration for esp32s2 and enabled related unit tests.

Updated with changes made for ESP32 from 0a04034, 961f59f and caea288.

Added performance targets for esp32s2beta

Closes IDF-757
2019-12-12 12:37:29 +08:00
Marius Vikhammer
67c5225c14 websocket_client: added example_test with a local websocket server
- Added a example test that connects to a local python websocket server.
- Added readme for websocket_client example.

Closes IDF-907
2019-12-12 11:00:58 +08:00
Marius Vikhammer
fd63746d8e doc/mqtt: add event description and more details about configuration to API reference 2019-12-12 10:58:39 +08:00
Angus Gratton
ba07a7dd6c unit-test: Update README for current usage of unit-test.py
Example command lines shown here were tested and Notes added
for anything which didn't work as expected.
2019-12-12 11:05:22 +11:00
Angus Gratton
9b8fffef53 unit_test.py: Add some additional console logging for context 2019-12-12 11:05:05 +11:00
Angus Gratton
18853ae509 ttfw: Fix the build directory detection when using the default build/ dir for binaries 2019-12-12 11:05:05 +11:00
Angus Gratton
b20eaf3306 ttfw: Fix exception message when an error occurs finding files to flash 2019-12-12 11:05:05 +11:00
Angus Gratton
9fa87f04da unit_test.py: Allow identifying a unit test which has : in the name 2019-12-12 11:05:05 +11:00
Angus Gratton
0978fc1b84 unit_test: Log each test case to console as we run it
Include a dump of the test tags
2019-12-12 11:05:05 +11:00
Angus Gratton
d35debcd99 unit_test: Print the timeout value when an 'expect' times out 2019-12-12 11:05:04 +11:00
Angus Gratton
50aad77f3a driver: Rename "local" tests to "single board" tests, add some description to the names 2019-12-12 11:05:04 +11:00
Angus Gratton
b18e7b94a2 ci: Keep build artifacts for 4 days 2019-12-12 09:39:27 +11:00
Angus Gratton
3b52eddf6b Merge branch 'bugfix/optimize_some_build_system_tests' into 'master'
cmake: some optimizations to build system tests

See merge request espressif/esp-idf!6972
2019-12-12 06:34:54 +08:00
Angus Gratton
82d9a7b6bf Merge branch 'bugfix/make_clean_kconfig' into 'master'
Don't try to clean the old kconfig tools on Unix

See merge request espressif/esp-idf!6855
2019-12-12 06:32:57 +08:00
Angus Gratton
b3eb4395c9 Merge branch 'feature/wifi_prov_ext_httpd' into 'master'
wifi_provisioning_softap: Allow applications to start webserver externally

See merge request espressif/esp-idf!6860
2019-12-12 06:32:26 +08:00
Angus Gratton
64cde1e93c Merge branch 'bugfix/libc_link_issues' into 'master'
newlib: fix linking issues (fcntl, system, raise)

Closes IDF-1220, IDFGH-1811, IDFGH-1417, and IDFGH-2264

See merge request espressif/esp-idf!6971
2019-12-12 06:32:04 +08:00
Ivan Grokhotkov
87a41fabfa esp-tls: check return value of fcntl 2019-12-11 14:53:27 +01:00
Ivan Grokhotkov
23848fd1b9 newlib: define fcntl as strong symbol
Closes https://github.com/espressif/esp-idf/issues/3694
Closes https://github.com/espressif/esp-idf/issues/4407
2019-12-11 14:53:26 +01:00
Ivan Grokhotkov
08286ac20f newlib: add definitions of system, raise
Closes IDF-1220
Closes IDFGH-1811
Closes https://github.com/espressif/esp-idf/pull/4020
2019-12-11 14:52:51 +01:00
Roland Dobai
7ab43bffde tools: Fix menuconfig for Python 3 2019-12-11 14:29:07 +01:00
xiehang
3eaf86fbf1 esp_wifi: Fix association req RSN info lengeh too big lead crash 2019-12-11 10:59:18 +00:00
Jiang Jiang Jian
20742db676 Merge branch 'test/ci_check_wifi_lib_md5_fail' into 'master'
ci: fix check wifi lib md5 fail

See merge request espressif/esp-idf!6970
2019-12-11 18:56:23 +08:00
Renz Christian Bagaporo
f766866167 cmake: remove intermediary libraries for some component 2019-12-11 16:43:47 +08:00
Renz Christian Bagaporo
17876d3d73 cmake: some optimizations to build system tests 2019-12-11 16:43:47 +08:00
Angus Gratton
ef732fae97 Merge branch 'bugfix/doc_package_versions' into 'master'
doc: Limit sphinxcontrib versions to <2.0.0 as we use Sphinx 1.8.5

See merge request espressif/esp-idf!6973
2019-12-11 14:41:28 +08:00
chenyudong
a6de0e8846 ci: fix job "check_wifi_lib_md5" 2019-12-11 13:10:23 +08:00
Angus Gratton
f78b2158b1 Merge branch 'bugfix/menuconfig_argv_encoding' into 'master'
menuconfig: fix the MENUCONFIG_STYLE encoding issue and CLI env issue

See merge request espressif/esp-idf!6910
2019-12-11 12:47:32 +08:00
Angus Gratton
c03642ff89 Merge branch 'bugfix/mdns_send_sdptr_answer' into 'master'
mdns: respond to discovery with the proper pseudo name _services._dns-sd._udp

Closes IDFGH-2219

See merge request espressif/esp-idf!6868
2019-12-11 12:45:30 +08:00
Angus Gratton
ef0c26bfce doc: Limit sphinxcontrib versions to <2.0.0 as we use Sphinx 1.8.5 2019-12-11 14:34:18 +11:00
Jiang Jiang Jian
960a834bc7 Merge branch 'bugfix/wifi_reauth_eapol' into 'master'
wifi: fix eapol frames encryption during reauth

Closes WIFI-965

See merge request espressif/esp-idf!6652
2019-12-11 11:29:31 +08:00
Hrudaynath Dhabe
04e024bfd2 wifi: fix eapol frames encryption during reauth 2019-12-11 11:29:30 +08:00
Angus Gratton
563227d9f8 Merge branch 'bugfix/gitlab_api_error_with_python3' into 'master'
ci: fix fetch submodule error on python3

See merge request espressif/esp-idf!6961
2019-12-11 07:23:53 +08:00
Renz Christian Bagaporo
2ebaf53edc examples: add import prebuilt example 2019-12-10 19:22:25 +08:00
Renz Christian Bagaporo
91b421c35f cmake: implement utility to import prebuilt libraries 2019-12-10 19:22:25 +08:00
Jiang Jiang Jian
4100f2e84f Merge branch 'optimize_tcp_random_close' into 'master'
optimize tcp random close

Closes WIFI-1433

See merge request espressif/esp-idf!6907
2019-12-10 16:47:34 +08:00
Mahavir Jain
86c3562c51 Merge branch 'bugfix/nimble_apps_conn_handle' into 'master'
examples/bluetooth/nimble: Correct the connection handle in update and enc_change event

See merge request espressif/esp-idf!6953
2019-12-10 15:54:50 +08:00
Hrishikesh Dhayagude
9b64ef7850 examples/bluetooth/nimble: Correct the connection handle in update and enc_change event 2019-12-10 15:54:49 +08:00
Angus Gratton
882f5d0b56 Merge branch 'bugfix/fix_s2_cpp_exceptions' into 'master'
C++: enable exceptions ESP32S2-beta

Closes IDF-1039

See merge request espressif/esp-idf!6579
2019-12-10 15:13:15 +08:00
Angus Gratton
449755071e Merge branch 'bugfix/freemodbus_fix_merge_conflicts' into 'master'
freemodbus: fix merge issues

See merge request espressif/esp-idf!6825
2019-12-10 14:30:25 +08:00
Alex Lisitsyn
ba1ee4092a freemodbus: fix merge issues 2019-12-10 14:30:25 +08:00
Angus Gratton
671fea5c58 Merge branch 'bugfix/freemodbus_multiple_poll_event_processing' into 'master'
freemodbus: fix multiple event processing

See merge request espressif/esp-idf!6675
2019-12-10 14:27:09 +08:00
Alex Lisitsyn
44444208b7 freemodbus: update poll event processing
update modbus poll event loop processing to process multiple events
2019-12-10 14:27:09 +08:00
He Yin Ling
486f1a05b3 test: fix incorrect error type in xunit result 2019-12-10 13:50:32 +08:00
Angus Gratton
f50df36ebf Merge branch 'feature/external_github_prs' into 'master'
Include external github PRs

Closes IDFGH-2291, IDFGH-2306, IDFGH-2315, and IDFGH-2307

See merge request espressif/esp-idf!6931
2019-12-10 12:33:32 +08:00
xueyunfei
fdea4b54c6 optimize tcp random close 2019-12-10 11:55:07 +08:00
Ryan Kurte
4ee78f8496 added KConfig option to allow loading CA certs with unsupported extensions
Close https://github.com/espressif/esp-idf/pull/4445
2019-12-10 08:47:26 +05:30
Jakob Hasse
78e4b0ff96 CXX: enable exceptions ESP32S2-beta
Closes IDF-1039

* Enabled test cases for -fno-exceptions to S2-beta again
* Added different reset tag for S2-beta
2019-12-10 10:23:00 +08:00
He Yin Ling
fe521c9d12 ci: fix fetch submodule error on python3 2019-12-10 09:38:31 +08:00
Ivan Grokhotkov
86e5bea50d Merge branch 'bugfix/server_down_message' into 'master'
tools: Produce user friendly error during install when the server is down

Closes IDFGH-2175

See merge request espressif/esp-idf!6718
2019-12-09 22:48:32 +08:00
Ivan Grokhotkov
9859d8867d Merge branch 'feature/sysview_json_traces' into 'master'
Support for converting SystemView traces to JSON format

See merge request espressif/esp-idf!5674
2019-12-09 22:46:13 +08:00
Ivan Grokhotkov
9e73a038a6 Merge branch 'feature/freertos_authentic_includes' into 'master'
Added freertos property allowing use "authentic" include path

See merge request espressif/esp-idf!6808
2019-12-09 22:39:27 +08:00
Ivan Grokhotkov
2f20ad523c Merge branch 'bugfix/menuconfig_term_warning' into 'master'
Give info and warnings about the TERM environment variable

See merge request espressif/esp-idf!6717
2019-12-09 22:38:24 +08:00
Jiang Jiang Jian
b603322856 Merge branch 'doc/update_several_ble_mesh_docs' into 'master'
doc: update ble mesh docs based on the feature and example update

Closes BLEMESH-78

See merge request espressif/esp-idf!6836
2019-12-09 22:25:20 +08:00
Mahavir Jain
8e28226935 Disable few test cases for ESP32S2BETA
These test cases will be fixed in subsequent MR
2019-12-09 16:30:55 +05:30
Mahavir Jain
a737fd4865 Fix issue with timer usage in FreeRTOS tests 2019-12-09 13:33:45 +05:30
Axel Lin
489c815eb8 esp_http_client: add esp_http_client_set_authtype function
Since currently there are APIs to set url/username/password, it would be
good to also allow setting authtype.

Link: https://github.com/espressif/esp-idf/issues/4444
Closes https://github.com/espressif/esp-idf/pull/4454
Signed-off-by: Axel Lin <axel.lin@gmail.com>
2019-12-09 13:33:44 +05:30
Axel Lin
6fdc8d7f92 esp_http_client: fix memory leak in esp_http_client_set_username/password
Fix memory in case username/password was set before calling
esp_http_client_set_username/password.

Closes https://github.com/espressif/esp-idf/issues/4444
Fixes: 9fd16c6a5f ("fixes : set_url discards username and password")
Signed-off-by: Axel Lin <axel.lin@gmail.com>
2019-12-09 13:33:44 +05:30
Aidan Cyr
5f6fd238b6 fix: esp_http_client and esp_https_ota can follow 307 Redirects
Closes https://github.com/espressif/esp-idf/pull/4431
2019-12-09 13:33:44 +05:30
Mathias Bredholt
594cec54bd Removed relative path for lwip/arpa/inet.h
The relative path breaks compatibility with arduino-esp32 as the path doesn't exist in arduino-esp32.
https://github.com/espressif/arduino-esp32/pull/3425

Closes https://github.com/espressif/esp-idf/pull/4308
2019-12-09 13:33:44 +05:30
Jiang Jiang Jian
5991e7dd7a Merge branch 'bugfix/btdm_fix_doc_and_host_bug_gyc' into 'master'
Bugfix/btdm fix doc and host bug

Closes BCI-86, BCI-33, BT-257, and FCS-217

See merge request espressif/esp-idf!6916
2019-12-09 15:21:50 +08:00
Geng Yu Chao
46c53ab8c8 btdm:fix the problem that Not getting complete Identity Address (Public Address) of the Privacy-enabled Bonded Device after bonding. beacuse of the wrong memcpy in LE_KEY callback handler. 2019-12-09 15:21:49 +08:00
chenyudong
66f6d8c3ef esp_netif: store netif before register wifi rxcb 2019-12-09 15:16:00 +08:00
lly
2daa8e6587 doc: update ble mesh docs based on the feature and example update 2019-12-09 14:57:15 +08:00
Angus Gratton
58355f7e21 Merge branch 'refactor/update_xtensa_header_file' into 'master'
update xtensa header file

Closes IDF-1197

See merge request espressif/esp-idf!6872
2019-12-09 13:08:52 +08:00
Jiang Jiang Jian
f830f66876 Merge branch 'bugfix/mesh_stop_recv_crash' into 'master'
mesh: fix mesh stop recv crash

See merge request espressif/esp-idf!6919
2019-12-09 13:05:36 +08:00
Jiang Jiang Jian
972098c9c5 Merge branch 'bugfix/improve_performance' into 'master'
LW-IP: bugfix for performance lose when update to lw-ip 2.1.2

Closes WIFI-1292

See merge request espressif/esp-idf!6755
2019-12-09 12:40:38 +08:00
chenyudong
e48efd8a4d mesh: fix mesh stop recv crash
Add a mutex.
2019-12-09 03:56:10 +00:00
xueyunfei
2fcdbb74f7 fix bug for improve performance 2019-12-09 03:16:12 +00:00
Angus Gratton
f50626dca6 Merge branch 'feature/ci_optimize_artifact_download' into 'master'
CI: optimize submodule fetch and artifact download

See merge request espressif/esp-idf!6842
2019-12-09 11:09:20 +08:00
morris
01ca687caa esp32s2beta: only support unicore 2019-12-09 09:48:37 +08:00
morris
a86d741fc9 esp_rom: remove esp_rom.c 2019-12-09 09:48:31 +08:00
morris
5efb1140ac esptool: add chip and stub option 2019-12-09 09:48:16 +08:00
morris
2237cc11a3 add IDF_ENV_FPGA option 2019-12-09 09:44:56 +08:00
morris
13cb9f8718 xtensa: update header file 2019-12-09 09:44:56 +08:00
He Yin Ling
ca0ce7171d CI: reduce number of test jobs 2019-12-08 20:32:11 +08:00
He Yin Ling
164e8ba21f test: support loadable elf test cases:
loadable elf example is different for 2 reasons:

1. loadable elf binary don't have flasher_args.json, so we can't use normal
to get from CI artifacts
2. it don't have binary and don't need to downloaded binary to DUT. Some
related functions can be ignored
2019-12-08 20:32:11 +08:00
He Yin Ling
cca08b3d2b CI: remove not exist file from executable-list.txt 2019-12-08 20:32:10 +08:00
He Yin Ling
a11b15b92b CI: build system do not check submodule for CI 2019-12-08 20:32:10 +08:00
He Yin Ling
b4863551a9 CI: modify fetch submodule method:
download archive for submodules instead of clone
2019-12-08 20:32:10 +08:00
Jiang Jiang Jian
3224f24ef6 Merge branch 'Bugfix/add_netif_assert_master' into 'master'
fix bug for netif add crash

Closes WIFI-1219

See merge request espressif/esp-idf!6937
2019-12-07 17:33:32 +08:00
Jiang Jiang Jian
33c4fa5c13 Merge branch 'bugfix/btdm_fix_bt_security_info_restore_bug' into 'master'
btdm:BT device security info resetore bug

See merge request espressif/esp-idf!6031
2019-12-07 16:19:58 +08:00
Xu Jun Jun
e20e47809d For BT device restore security info from NV to SRAM, should set the ble_hci_handle to a invalid value, otherwise BLE devices may have pairing problem 2019-12-07 16:19:57 +08:00
xueyunfei
9894691e11 fix bug for netif add crash 2019-12-07 16:11:30 +08:00
He Yin Ling
5d1be3bb8b CI: raise import error instead of exit for ble tools 2019-12-07 10:34:54 +08:00
He Yin Ling
89f8e19850 CI: support only download artifacts by request:
use CI dependencies could waste a lot bandwidth for target test jobs, as
example binary artifacts are very large. Now we will parse required
artifacts first, then use API to download required files in artifacts.
2019-12-07 10:34:54 +08:00
He Yin Ling
c906e2afee test: update example and unit tests with new import roles:
tiny_test_fw is a python package now. import it using normal way.
2019-12-07 10:34:54 +08:00
He Yin Ling
4d45932c5e CI: add utility gitlab_api 2019-12-07 10:34:54 +08:00
Andrei Gramakov
6cd17c1e8c freertos: added a FreeRTOS property returning "original" include path 2019-12-06 12:16:54 +01:00
He Yin Ling
d621d0e88e tiny-test-fw: move to tools/esp_python_packages:
make `tiny_test_fw` as a package and move to root path of idf python
packages
2019-12-06 17:29:47 +08:00
Wang Jia Lin
f5e60524ac Merge branch 'bugfix/fix_i2c_driver_breakingchange_issue' into 'master'
bugfix(i2c): fix I2C driver breaking change issue

See merge request espressif/esp-idf!6809
2019-12-06 16:50:16 +08:00
Wang Jia Lin
d0034f5a12 Merge branch 'bugfix/fix_uart_driver_spinlock_misused_bug' into 'master'
bugfix(UART): fix uart driver spinlock misused bug

See merge request espressif/esp-idf!6870
2019-12-06 11:12:54 +08:00
Krzysztof Budzynski
01cf379621 Merge branch 'doc/add_updates_in_api_guides' into 'master'
add updates to some files in api guides

See merge request espressif/esp-idf!6387
2019-12-05 15:12:12 +08:00
Hao Ning
8070746530 add updates to some files in api guides
modified errors in making html

add modifications based on the first review

modified grammar problems of the original text
2019-12-05 15:12:12 +08:00
Jiang Jiang Jian
0be0859e73 Merge branch 'feature/new_gap_char' into 'master'
Enable characteristic 0x2A04 in GAP service

See merge request espressif/esp-idf!5809
2019-12-05 12:17:15 +08:00
Hrishikesh Dhayagude
a2adcea802 Enable characteristic 0x2A04 in GAP service
Add support to enable Peripheral Preferred Connection Parameters in GAP service and update it correctly
2019-12-05 12:17:14 +08:00
Angus Gratton
a7aea56977 Merge branch 'feature/interrupt_overhead_improvement' into 'master'
feature/interrupt overhead improvement

Closes IDF-248

See merge request espressif/esp-idf!6328
2019-12-05 10:21:46 +08:00
Angus Gratton
02bf3fbfcc Merge branch 'bugfix/update_libexpat' into 'master'
expat: Update library from 2.2.5 to 2.2.9

See merge request espressif/esp-idf!6782
2019-12-05 07:38:23 +08:00
michael
3e55baea90 menuconfig: fix the MENUCONFIG_STYLE encoding issue and CLI env issue
1. Call cli with explicit argv

When using debugging tools like `pydbg.py --some_arg idf.py -G Ninga
build`, those tools usually call the python script with sys.argv
modified to correct value. But if the cli is called with argv blank, the
cli will get the argv again, and finally get the original command line,
which is incorrect for debugging.

2. Encode the style unicode string back to ascii in menuconfig cmd

On Windows MSYS python2.7, the unicode string set in os.environ will
cause the subprocess creating to fail. All os.environ values should be
strings.
2019-12-05 01:39:46 +08:00
Alexey Gerenkov
b81e537b7f apptrace: Extends SystemView heap & log example to run many allocator/freer tasks 2019-12-04 18:04:11 +03:00
Alexey Gerenkov
884717fb2f apptrace: Adds support for converting SystemView traces to JSON format 2019-12-04 18:04:07 +03:00
Felipe Neves
b0491307fc target-test: bumping test cases parallel count 2019-12-04 10:41:00 -03:00
Felipe Neves
57522059aa freertos/tests: fixed wrong header file on isr latency test 2019-12-04 10:41:00 -03:00
Felipe Neves
0ea6453b1c freertos: changed isr time test case variables to static 2019-12-04 10:41:00 -03:00
Felipe Neves
3882d986bd components/unity: reverted the inclusion of test protect based on setjmp 2019-12-04 10:40:27 -03:00
Felipe Neves
8cd2831ec1 components/unity: re-enabled setjmp longjmp block on unity 2019-12-04 10:40:27 -03:00
Felipe Neves
55cbc213f3 components/freertos: create the test task with highest priority to ensure peer-to-peer ISR to task sync 2019-12-04 10:40:27 -03:00
Felipe Neves
64a50f0423 components/freertos: fixed isr test failling when run multiple times 2019-12-04 10:40:27 -03:00
Felipe Neves
f119cc58cf components/freertos: tuned performance value for ISR exit cycles to pass in test in -Og 2019-12-04 10:39:22 -03:00
Felipe Neves
c64e108a1d components/freertos: removed CONFIG_FREERTOS_ISR_STATS the ISR test is now self contained 2019-12-04 10:39:22 -03:00
Felipe Neves
bcdc35be59 components/freertos: refactor of isr_latency tests to perform full measurement 2019-12-04 10:39:22 -03:00
Felipe Neves
8b6b97ec57 freertos/xtensa_context: fixed small typo 2019-12-04 10:39:22 -03:00
Felipe Neves
e480435879 components/freertos: removed some dead ifdefs 2019-12-04 10:39:22 -03:00
Felipe Neves
c14fc39b0a components/freertos: fixed typos and licence placement on external code 2019-12-04 10:39:22 -03:00
Felipe Neves
64f918bd70 freertos/xtensa_context: added conditional compiling option around isr cycle measurement
It is possible to enable and disable the isr time measurement on context save and
it related test via menuconfig by the new option: FREERTOS_ISR_STATS
2019-12-04 10:39:22 -03:00
Felipe Neves
346b12e29a freertos/test: added spill register timer measurement test 2019-12-04 10:39:22 -03:00
Felipe Neves
5ce7a33c87 freertos/xtensa_context.S: fix some dread tabs 2019-12-04 10:39:22 -03:00
Felipe Neves
d7d8b47b89 unity/unity_config.h: changed configuration for setjmp usage
For some reason after use modified context save routine, the local unit test
app were crashed, the reason behind this resides on setjmp usage of test_runner,
since this feature seems to not be used for nothing special (just was a default config),
I changed the unity_config to replace the setjmp macros, this sounds less hacky.
2019-12-04 10:39:22 -03:00
Felipe Neves
cd11787153 freertos/xt_asm_utils: added documentation of current windows spill solution 2019-12-04 10:39:22 -03:00
Felipe Neves
768d115e85 freertos/Kconfig: removed isr optimization option from menuconfig 2019-12-04 10:39:22 -03:00
Felipe Neves
eb740ca8e4 freertos/xtensa_context: modification of interrupt handler is workin, needs stabilization 2019-12-04 10:39:22 -03:00
Felipe Neves
d185625162 freertos/xtensa_context: added infrastructure to receive the spill register optimized code 2019-12-04 10:39:22 -03:00
David Cermak
de17a1487f mdns: respond to discovery with the proper pseudo name _services._dns-sd._udp
Closes https://github.com/espressif/esp-idf/issues/4369
Closes IDFGH-2219
2019-12-04 12:57:09 +00:00
Jiang Jiang Jian
d24fe09356 Merge branch 'feature/reorganise_bluetooth-bluedroid-hci' into 'master'
Moved HCI examples from bluetooth/bluedroid/hci to bluetooth/hci.

See merge request espressif/esp-idf!6686
2019-12-04 20:28:20 +08:00
Jiang Jiang Jian
0c0430a169 Merge branch 'bugfix/btdm_allow_start_adv_again' into 'master'
component/bt: allow to send stop adv again and fix tx prog crash

See merge request espressif/esp-idf!6573
2019-12-04 20:23:36 +08:00
Angus Gratton
9b06b5cdf9 Merge branch 'bugfix/idf_py_fallback' into 'master'
idf.py: fix fallback to build system target

See merge request espressif/esp-idf!6874
2019-12-04 16:53:11 +08:00
houwenxiang
aac935ec81 bugfix(i2c): fix I2C driver breaking change issue.
1. Fixed I2C driver breaking change issue.
    2. Add I2C UT test case.
2019-12-04 15:51:36 +08:00
Ivan Grokhotkov
562a3980b2 idf.py: fix fallback to build system target 2019-12-04 07:13:31 +00:00
Angus Gratton
70cfd7e24c Merge branch 'bugfix/ethernet_pm_lock' into 'master'
ethernet: add pm lock

Closes IDF-1053

See merge request espressif/esp-idf!6881
2019-12-04 15:06:12 +08:00
Angus Gratton
af382a1b8e Merge branch 'bugfix/update_menuconfig' into 'master'
Update kconfiglib from v12.14.0 to v13.3.2

See merge request espressif/esp-idf!6816
2019-12-04 15:06:09 +08:00
Angus Gratton
ad21456971 Merge branch 'bugfix/doc_rm_mconf' into 'master'
Doc: Remove menuconfig tool which is not used anymore

See merge request espressif/esp-idf!6764
2019-12-04 15:05:00 +08:00
Jiang Jiang Jian
3a54047c66 Merge branch 'bugfix/coex_fix_wifi_scan_and_connect_bugs_master' into 'master'
esp_wifi: fix WiFi scan and connect bugs when coexist with Bluetooth

See merge request espressif/esp-idf!6840
2019-12-04 14:56:39 +08:00
Angus Gratton
054724596d Merge branch 'feature/add_ir_protocol_example_test' into 'master'
rmt: enable ir protocols example test

Closes IDF-906

See merge request espressif/esp-idf!6856
2019-12-04 14:35:22 +08:00
Angus Gratton
6563378812 Merge branch 'bugfix/ci_check_first' into 'master'
CI: Do trivial checks first in order to save build time

See merge request espressif/esp-idf!6671
2019-12-04 13:57:35 +08:00
Angus Gratton
bc36d20371 Merge branch 'feature/idfpy_exit_with_error_deprecated_options' into 'master'
idf.py: add exit_with_error for deprecated commands and options

Closes IDF-949

See merge request espressif/esp-idf!6704
2019-12-04 13:45:37 +08:00
Jiang Jiang Jian
71ae2956cd Merge branch 'bugfix/phy_critical' into 'master'
Bugfix/phy critical

See merge request espressif/esp-idf!6890
2019-12-04 11:26:58 +08:00
Angus Gratton
38be5c140a Merge branch 'feat/esp_ser_and_sdio_test' into 'master'
essl: new component to communicate with esp serial slave devices

Closes IDF-1002

See merge request espressif/esp-idf!6166
2019-12-04 11:03:14 +08:00
Ivan Grokhotkov
6647e0625d Merge branch 'bugfix/IDFGH-2036' into 'master'
Fix for Windows Defender PS task hanging (IDF tools installation)

Closes IDFGH-2036

See merge request espressif/esp-idf!6796
2019-12-04 03:00:23 +08:00
Ivan Grokhotkov
c066d55554 Merge branch 'bugfix/ci_link_check_deps' into 'master'
ci: remove dependencies from link_check job

See merge request espressif/esp-idf!6900
2019-12-03 23:32:38 +08:00
Michael (XIAO Xufeng)
17b7c9036f sdio_example: use the new esp_ser component and new evboard 2019-12-03 22:58:43 +08:00
Michael (XIAO Xufeng)
d158fa3f5c sdio: add unit test between host and slave 2019-12-03 22:58:42 +08:00
Michael (XIAO Xufeng)
e91c7bcc3a sdspi: revert pin configs when deinit 2019-12-03 22:58:42 +08:00
Michael (XIAO Xufeng)
e2b20f2e4b sdio_slave: fix deinit pin and memory leak issues 2019-12-03 22:58:41 +08:00
Michael (XIAO Xufeng)
087c8f6065 essl: new component to communicate with esp serial slave devices 2019-12-03 22:58:41 +08:00
morris
cf161b1c83 ethernet: add start/stop stress test 2019-12-03 17:58:03 +08:00
Roland Dobai
b7f16594de expat: Update library from 2.2.5 to 2.2.9 2019-12-03 09:57:29 +00:00
Ivan Grokhotkov
a4addc88f2 ci: remove dependencies from link_check job 2019-12-03 10:40:30 +01:00
morris
ac11545e0a ethernet: warning when double start/stop 2019-12-03 16:10:20 +08:00
morris
57ef88a91f ethernet: add pm lock 2019-12-03 16:10:20 +08:00
houwenxiang
e4230d11ca bugfix(UART): fix uart driver spinlock misused bug
1. fix uart driver spinlock misused bug
    2. add uart driver ut test case
    3. undo the change in light_sleep_example_main.c
2019-12-03 16:06:31 +08:00
Roland Dobai
81b116b1b9 Update kconfiglib from v12.14.0 to v13.3.2
Thank you @ulfalizer for fixing the aquatic color theme in upstream
kconfiglib.

Now "xterm" or "screen" values of TERM environment variable is
sufficient to use our default blue menuconfig. "xterm-256color" or
"screen-256color" was necessary before this fix.

See https://github.com/espressif/esp-idf/issues/4387#issuecomment-557823262
2019-12-03 07:33:02 +00:00
Angus Gratton
7c8139734d Merge branch 'doc/ota_flashenc_config' into 'master'
docs: Add note that flash encryption is required in OTA app updates

See merge request espressif/esp-idf!6835
2019-12-03 15:03:46 +08:00
Angus Gratton
6bb09224b5 docs: Add note that flash encryption is required in OTA app updates 2019-12-03 15:03:46 +08:00
Krzysztof Budzynski
0ac47a6269 Merge branch 'feature/ethernet-kit-v1.1-cn' into 'master'
Feature/ethernet kit v1.1 cn

See merge request espressif/esp-idf!6379
2019-12-03 14:29:44 +08:00
Wang Jia Lin
1ffcb54444 Merge branch 'bugfix/fix_esp32-s2_rtc_io_issue' into 'master'
bugfix(gpio): fix esp32 s2 rtc io issue and gpio testcase issues

See merge request espressif/esp-idf!6832
2019-12-03 11:17:41 +08:00
morris
c43fe5e52e rmt: enable ir protocols example test 2019-12-03 10:45:53 +08:00
baohongde
e94c2a04c1 components/bt: Fix AVRC metadata length error 2019-12-03 02:44:49 +00:00
Angus Gratton
78891a9571 Merge branch 'feature/add_kconfig_for_jsmn' into 'master'
jsmn configuration added

Closes IDFGH-2274

See merge request espressif/esp-idf!6873
2019-12-03 10:43:06 +08:00
tianyangmin
be3e52b49c doc: Finalize Ethernet get-started guide. Add Chinese translation. 2019-12-03 02:22:06 +00:00
Jack
134a627ad8 esp_wifi: fix WiFi scan and connect bugs when coexist with Bluetooth
1. Fix WiFi scan leads to poor performance of Bluetooth.
2. Improve WiFi connect success ratio when coexist with Bluetooth.
3. Check if WiFi is still connected when CSA or beacon timeout happen.
4. add coex pre init
2019-12-02 18:20:40 +08:00
Sergei Silnov
506c46fddc idf.py: add exit_with_error for deprecation 2019-12-02 10:41:23 +01:00
Roland Dobai
b52b49c8b6 CI: Do check first in order to save build time 2019-12-02 09:58:31 +01:00
Roland Dobai
d1541c74a6 Give info and warnings about the TERM environment variable 2019-12-02 09:49:21 +01:00
Jiang Jiang Jian
f9335a1785 Merge branch 'bugfix/invalid_mmie_issue' into 'master'
esp_wifi: fix invalid mmie issue

See merge request espressif/esp-idf!6887
2019-12-02 16:44:15 +08:00
Tian Hao
bcce4e3052 fix bug that phy_enter_critical cannot effect on dual-core
Sometimes, libphy.a call phy_enter_critical() to protect accessing
critical sections, such like operating on I2C, but it may not effect
when both the CPU core call it. It may cause accessing I2C blocking
and cannot recover by esp_restart(), until do HW reboot.
2019-12-02 14:56:18 +08:00
Jiang Jiang Jian
f696a29664 Merge branch 'bugfix/hfp_hci_sco' into 'master'
component bt/ Bugfix for HFP hci audio crash

See merge request espressif/esp-idf!6864
2019-12-02 13:55:57 +08:00
Jiang Jiang Jian
4e687db2ca Merge branch 'bugfix/wifi_wpa2_ent_example' into 'master'
Minor bugfix in wpa2_enterprise_example

See merge request espressif/esp-idf!6875
2019-12-02 13:54:51 +08:00
Hrudaynath Dhabe
cde8df7887 Minor bugfix in wpa2_enterprise_example 2019-12-02 13:54:51 +08:00
Angus Gratton
0855fba8a6 Merge branch 'bugfix/reduce_ci_job_number'
Manually merge !6863
2019-12-02 15:01:10 +11:00
Mahavir Jain
cf5c070e72 Merge branch 'NimBLE/fix_send_after_controller_ready' into 'master'
NimBLE: Fix erroneous behaviour of NimBLE porting layer when controller is not ready to receive

See merge request espressif/esp-idf!6756
2019-12-01 15:22:51 +08:00
Prasad Alatkar
656005ef3d NimBLE: Fix erroneous behaviour of NimBLE porting layer when controller is not ready to receive 2019-12-01 15:22:51 +08:00
morris
68dc6b2158 jsmn: define macros in build system 2019-11-29 18:05:24 +08:00
Nachiket Kukade
460b1d6bb5 esp_wifi: Update wifi lib
Add fix to "Invalid MMIE" issue.
2019-11-29 14:47:36 +05:30
weitianhua
adf8a96602 fix hci sco crash bug for HFP 2019-11-29 06:51:18 +00:00
Alexey Lapshin
1263a38038 jsmn configuration added 2019-11-28 16:44:16 +03:00
He Yin Ling
5ba70e713a Merge branch 'test/http_server_advanced_tests' into 'master'
test: Refactor http_server advanced_tests to use regular import method

See merge request espressif/esp-idf!6803
2019-11-28 19:25:52 +08:00
Angus Gratton
da4cb76f5a test: Refactor TFW load_source() method to only take the file path
Fixes issues where example tests for persistent_sockets and advanced_tests both
loaded a module named "client", causing a race condition.
2019-11-28 19:25:52 +08:00
Jiang Jiang Jian
c8f483034d Merge branch 'bugfix/fix_nullptr_ref_esp_event_possibility' into 'master'
esp_event: fix possibility of null ptr dereference

See merge request espressif/esp-idf!6839
2019-11-28 17:22:55 +08:00
Roland Dobai
105267d537 Doc: Remove menuconfig tool which is not used anymore 2019-11-28 10:07:49 +01:00
Jiang Jiang Jian
e2e2de95b4 Merge branch 'feature/check_wifi_lib_md5_on_host' into 'master'
esp_wifi: check header files MD5 on host

See merge request espressif/esp-idf!6656
2019-11-28 16:48:53 +08:00
Jiang Jiang Jian
abd7031f71 Merge branch 'bugfix/btdm_fix_the_ble_throuthput_client_crash_bug_gyc' into 'master'
example/ble_throughput fix the throughput clinet crash bug when open the CONFIG_GATTC_WRITE_THROUTHPUT option

Closes BT-421

See merge request espressif/esp-idf!6830
2019-11-28 11:30:57 +08:00
Geng Yu Chao
979b05f933 example/ble_throughput fix the throughput clinet crash bug when open the CONFIG_GATTC_WRITE_THROUTHPUT option 2019-11-28 11:30:56 +08:00
Jiang Jiang Jian
d6ddae3693 Merge branch 'bugfix/ramdom_tcp_crash' into 'master'
fix bug for random tcp crash

Closes WIFI-1433

See merge request espressif/esp-idf!6837
2019-11-28 11:30:02 +08:00
He Yin Ling
6b6b42a0b5 ci: reduce the number of UT jobs 2019-11-28 10:44:31 +08:00
Angus Gratton
b8af7dd7cb Merge branch 'feature/esp32s2beta_spi_flash_driver' into 'master'
Use new SPI flash driver abstraction layers

See merge request espressif/esp-idf!5504
2019-11-28 09:20:01 +08:00
Renz Christian Bagaporo
e6ad330018 ble_mesh_wifi_coexist example: Disable Wi-Fi RX IRAM optimisation
Otherwise IRAM usage is too high in this example.
2019-11-28 09:20:00 +08:00
Angus Gratton
ecaf816c0b Merge branch 'bugfix/freemodbus_fix_clang_warnings' into 'master'
freemodbus: fix clang warnings of freemodbus stack

See merge request espressif/esp-idf!5193
2019-11-28 07:06:19 +08:00
Ivan Grokhotkov
a9b7f74f7f Merge branch 'bugfix/macos_link_toomany_open_files' into 'master'
build system: explicitly disable LTO plugin to reduce the number of simultaneously open files

Closes IDF-923 and IDFGH-1764

See merge request espressif/esp-idf!6776
2019-11-28 01:38:53 +08:00
Jack
5d377e5b6e esp_wifi: update to include MD5 symbols 2019-11-27 23:08:57 +08:00
Ivan Grokhotkov
4872dcea2e wpa_supplicant: remove header file MD5 unit test 2019-11-27 23:00:11 +08:00
Ivan Grokhotkov
680c48f86f esp_wifi: remove MD5 related unit tests 2019-11-27 23:00:11 +08:00
Ivan Grokhotkov
568f0af61a esp_wifi: check header files MD5 on host 2019-11-27 23:00:11 +08:00
Jiang Jiang Jian
1fbeb8c9a4 Merge branch 'bugfix/hfp_ag' into 'master'
component bt/ Bugfix for hfp ag

See merge request espressif/esp-idf!6742
2019-11-27 22:48:59 +08:00
Jiang Jiang Jian
f76ac480c1 Merge branch 'fix/supplicant_md5sum_mismatch' into 'master'
wpa_supplicant: Fix MD5 mismatch in esp_wifi_driver.h

See merge request espressif/esp-idf!6843
2019-11-27 22:47:17 +08:00
xueyunfei
77b23951e7 fix bug for ramdom tcp crash 2019-11-27 13:39:54 +00:00
weitianhua
897ee41a51 Change this MR from adding example to bugfix in HFP AG Component 2019-11-27 13:35:35 +00:00
weitianhua
7c18299571 Add AG component API_REFERENCE
Expose esp_hf_indchange_notification to this example.
2019-11-27 13:35:35 +00:00
weitianhua
0c6e1f7ef8 Fix the audio crash bugs
Fix voice recognition bugs

Fix audio memory leak bug.
2019-11-27 13:35:35 +00:00
weitianhua
a47c07d319 Update the README.md 2019-11-27 13:35:35 +00:00
weitianhua
78cbdfa332 HFP AG Example 2019-11-27 13:35:35 +00:00
Piyush Shah
f9ec0a7172 wifi_provisioning_softap: Allow applications to start webserver externally
If an application wants to use webserver, instead of creating another
webserver instance, the wifi provisioning manager can re-use the same.
The webserver handle can be passed using this new API.

Signed-off-by: Piyush Shah <piyush@espressif.com>
2019-11-27 18:42:43 +05:30
Nachiket Kukade
5618cf5100 wpa_supplicant: Fix MD5 mismatch in esp_wifi_driver.h
Make cosmetic changes in esp_wifi_driver.h in both IDF
and wifi library to match the md5sum.
2019-11-27 12:43:04 +00:00
Martin Vychodil
880197307a Windows setup: fix Defender detection and add desktop shortcut option
* use Environment::Exit() to avoid PS process hanging
* old-fashioned exceptions
* try-catch-finally necessary
* disable Windows Defender Task when Defender module not installed
* cleanup script checks Defender module existence too
* fixed uninstall of Start Menu LNK
* use Command Prompt instead of Command Line wording
+ Desktop shortcut
* iterate through PSMODULEPATH when looking for WD module
JIRA IDFGH-2036
2019-11-27 13:40:51 +01:00
Wang Jia Lin
ca8e9a7589 Merge branch 'feature/touch_driver_hal_support' into 'master'
Refactor the touch sensor driver

See merge request espressif/esp-idf!6687
2019-11-27 20:08:45 +08:00
Fu Zhi Bo
3a468a1ffd Refactor the touch sensor driver 2019-11-27 20:08:44 +08:00
zhiweijian
fb369577d9 component/bt: allow adv stop again when adv is already stoped and fix crash when tx prog sometimes 2019-11-27 10:03:06 +00:00
Jiang Jiang Jian
c487df288c Merge branch 'bugfix/hfp_hci_audio_crash' into 'master'
component bt/ Bugfix for HFP hci audio crash

See merge request espressif/esp-idf!6739
2019-11-27 17:48:52 +08:00
xiongyu
af4c455417 bugfix(gpio):fix esp32 s2 rtc io issue
* Modify the function implementation of ESP32-S2 RTC GPIO
  On ESP32 those PADs which have RTC functions must set pullup/down/capability via RTC register.
  On ESP32-S2, Digital IOs have their own registers to control pullup/down/capability, independent with RTC registers.
* Add ESP32-S2 support of unit test
* Modify the pull-up test of unit test
* Modify the interrupt test of unit test
* Modify input and output mode test of unit test
2019-11-27 17:18:20 +08:00
Roland Dobai
59a04e21b0 Don't try to clean the old kconfig tools on Unix 2019-11-27 10:13:01 +01:00
Angus Gratton
89f1786754 Merge branch 'bugfix/eth_remove_dep_on_netif' into 'master'
ethernet: remove dependency on esp_netif && add reference counter

Closes IDF-1104

See merge request espressif/esp-idf!6711
2019-11-27 16:08:31 +08:00
Jiang Jiang Jian
3a8b346263 Merge branch 'component_bt/osi_fixed_queue' into 'master'
component bt/: Bugfix for pointer type in file fixed_queue.c

Closes BT-492

See merge request espressif/esp-idf!6831
2019-11-27 15:56:49 +08:00
morris
dcd99b0ad1 enlarge example cmake build job parallel num 2019-11-27 14:14:08 +08:00
morris
c3ee156df0 ethernet: move netif glue && add ref counter
1. move netif glue into single file
2. add reference counter for Ethernet driver
2019-11-27 10:36:32 +08:00
Jiang Jiang Jian
e349f86d18 Merge branch 'bugfix/ble_mesh_device_with_wrong_name_on_ios' into 'master'
ble_mesh: fix ble mesh device with wrong name on iOS

Closes BLEMESH-54

See merge request espressif/esp-idf!6516
2019-11-27 10:30:25 +08:00
Angus Gratton
91b7a7beaf Merge branch 'bugfix/timer_intr_status_get' into 'master'
bugfix(timer): fix get intr status function

See merge request espressif/esp-idf!6807
2019-11-27 09:13:16 +08:00
Angus Gratton
64c8b640a1 Merge branch 'feature/log_component_noos' into 'master'
log: make compatible with non-OS builds

See merge request espressif/esp-idf!6787
2019-11-27 08:34:22 +08:00
Angus Gratton
c810f3c3b2 Merge branch 'bugfix/menuconfig_colors' into 'master'
Make menuconfig colors configurable

Closes IDFGH-2238

See merge request espressif/esp-idf!6795
2019-11-27 08:30:19 +08:00
Angus Gratton
fd27c0a113 Merge branch 'bugfix/bootloader_unicore_cache_enable' into 'master'
bootloader: revert support for booting dual-core apps on single-core bootloader

See merge request espressif/esp-idf!6609
2019-11-27 08:01:59 +08:00
Angus Gratton
b034c52a93 Merge branch 'feature/uart_hal_support' into 'master'
Driver(uart):  Uart HAL driver refactor

Closes IDF-608

See merge request espressif/esp-idf!4849
2019-11-27 07:57:02 +08:00
Ivan Grokhotkov
f287f59ae3 build system: move -fno-rtti link option next to the compile option
Previous commit has added `link_options` to the root CMakeLists.txt,
can use it to collect such global link options now.
2019-11-26 19:12:56 +01:00
Ivan Grokhotkov
f49a78d543 build system: explicitly disable LTO plugin
... to reduce the number of simultaneously open files at link time.

When plugin support is enabled in the linker, BFD's (and the
corresponding file handles) are cached for the plugin to use. This
results in quite a large number of simultaneously open files, which
hits the default limit on macOS (256 files).

Since we aren't using LTO now, disable it explicitly when invoking the
linker.

Closes IDF-923
Closes IDFGH-1764
Closes https://github.com/espressif/esp-idf/issues/3989
2019-11-26 19:12:56 +01:00
Mahavir Jain
9e49a5dc34 Merge branch 'bugfix/include_cpp_guard_headers_in_app_trace' into 'master'
bugfix/esp32: add cpp guard headers for app_trace component

See merge request espressif/esp-idf!6827
2019-11-26 23:47:03 +08:00
weitianhua
f1116be195 bugfix for osi_fixed_queue pointer type 2019-11-26 21:16:47 +08:00
chenjianqiang
bcfe684951 bugfix(timer): add a macro to control making the XTAL related functions 2019-11-26 12:39:46 +00:00
chenjianqiang
856d9f7d89 bugfix(timer): recover get raw interrupt status function 2019-11-26 12:39:46 +00:00
Aditya Patwardhan
320608c85a bugfix/esp32: add cpp guard headers for app_trace component so that its
API's can be can be used in cpp files.
2019-11-26 17:44:15 +05:30
houwenxiang
f27ae9b0e2 feature: Add uart hal support. 2019-11-26 20:01:50 +08:00
Anton Maklakov
1dd2443758 Merge branch 'docs/openocd_cmd_line_fixup' into 'master'
docs: Fix up some OpenOCD cmdline-s

See merge request espressif/esp-idf!6814
2019-11-26 19:44:22 +08:00
Anton Maklakov
def05480b8 docs: Fix up some OpenOCD cmdline-s 2019-11-26 19:44:22 +08:00
Jiang Jiang Jian
899f3decab Merge branch 'feature/wpa3_SAE_support' into 'master'
wpa_supplicant: Add SAE authentication support for WPA3 Personal

Closes IDF-715

See merge request espressif/esp-idf!5903
2019-11-26 18:59:19 +08:00
Wang Jia Lin
7948a9f6f0 Merge branch 'bugfix/fix_i2c_driver_ut_issue_esp32s2' into 'master'
bugfix(i2c): fix esp32-s2 i2c driver UT issue

See merge request espressif/esp-idf!6820
2019-11-26 18:52:59 +08:00
aleks
6e14b6265b freemodbus: fix merge issues 2019-11-26 11:25:12 +01:00
Roland Dobai
bd2fc9f832 Make menuconfig colors configurable
Closes https://github.com/espressif/esp-idf/issues/4387
2019-11-26 10:40:34 +01:00
aleks
cf4c95532f freemodbus: fix clang warnings 2019-11-26 10:37:14 +01:00
Anton Maklakov
a3b47da377 Merge branch 'bugfix/freemodbus_fix_supported_targets' into 'master'
freemodbus: fix supported targets ci issue

See merge request espressif/esp-idf!6823
2019-11-26 17:16:44 +08:00
aleks
4f9742d90c freemodbus: fix supported targets ci issue 2019-11-26 09:07:47 +01:00
Angus Gratton
81c9ca52ed Merge branch 'feature/ws_config_agent_header' into 'master'
ws_client: Add User-Agent and additional headers to esp_websocket_client

See merge request espressif/esp-idf!6777
2019-11-26 14:42:01 +08:00
Angus Gratton
a29f667b87 Merge branch 'bugfix/kconfig_write_empty_files' into 'master'
tools: Write Kconfig files always

See merge request espressif/esp-idf!6763
2019-11-26 13:58:49 +08:00
Angus Gratton
0d5056f683 Merge branch 'bugfix/idf_tool_git_worktree' into 'master'
tools: Don't use git work-tree in idf_tools.py and try to parse IDF version from C header

Closes IDFGH-2203

See merge request espressif/esp-idf!6743
2019-11-26 13:57:12 +08:00
Sagar Bijwe
e679b3c79e wifi: Add PMF and WPA3 documentation 2019-11-26 11:00:20 +05:30
Nachiket Kukade
f2e37c4ca8 wpa_supplicant: Support WPA3 4-way handshake, add config option
1. Add changes in 4-way handshake path to allow SAE key mgmt.
2. Support for configuring WAP3 at init time, added Kconfig option.
3. Handle and propagate error conditions properly.
4. Link changes from WiFi library.
2019-11-26 10:59:55 +05:30
Angus Gratton
2345895302 Merge branch 'feature/freemodbus_master_ascii_support' into 'master'
freemodbus: add support for master ascii mode

Closes IDFGH-1639

See merge request espressif/esp-idf!6032
2019-11-26 13:16:27 +08:00
Alex Lisitsyn
67f62a79c1 freemodbus: add modbus master ascii
add support of modbus master ascii
rename base dir name of master and slave example to be mb_slave, mb_master to avoid conflict with sdio/slave example test
add Kconfig option to enable ASCII and RTU mode separately
update ASCII options + remove cast for errors
added baudrate for examples into Kconfig
updated magic numbers for timer timeout
put ascii private definitions into one file
2019-11-26 13:16:25 +08:00
Angus Gratton
e8089c1edb Merge branch 'bugfix/spi_slave_dma_free_chan' into 'master'
spi_slave.c:fix DMA channel set to zero which might gets conflict with assert

See merge request espressif/esp-idf!6748
2019-11-26 13:11:50 +08:00
Andrew
1669dc40d1 spi_slave.c:fix DMA channel set to zero which might gets conflict with assert
close #2740
2019-11-26 13:11:48 +08:00
Nachiket Kukade
da07b2b4a7 wpa_supplicant: Add SAE handshake support for WPA3-PSK
Under WPA3-Personal, SAE authentication is used to derive PMK
which is more secure and immune to offline dictionary attacks.
1. Add modules to generate SAE commit/confirm for the handshake
2. Add modules that build and parse SAE data in Auth frames
3. Add WPA3 association and key mgmt definitions
4. Invert y-bit while solving for ECC co-ordinate -
     Once an X co-ordinate is obtained, solving for Y co-ordinate
     using an elliptical curve equation results in 2 possible values,
     Y and (P - Y), where p is the prime number. The co-ordinates are
     used for deriving keys in SAE handshake. As par the 802.11 spec
     if LSB of X is same as LSB of Y then Y is chosen, (P - Y) otherwise.
     This is not what is implemented, so fix this behavior to obtain the
     correct Y co-ordinate.
2019-11-26 04:24:57 +00:00
Sagar Bijwe
aceb141d2b wpa_supplicant: Adding SAE modules with testcase
This change ports SAE(Simultaneous Authentication of Equals)
feature from wpa_supplicant and makes it work with mbedtls
crypto APIs. Currently only group 19 is supported. A sample
SAE handshake is included in the testcase. Other minor
changes for DH groups are also included.
2019-11-26 04:24:57 +00:00
Jiang Jiang Jian
54eeb77a56 Merge branch 'feature/support_pmf' into 'master'
Feature/support pmf

See merge request espressif/esp-idf!5708
2019-11-26 12:13:43 +08:00
kooho
f0f20e0496 bugfix(i2c): fix esp32-s2 i2c driver UT issue 2019-11-26 12:01:18 +08:00
Angus Gratton
649f27c620 Merge branch 'bugfix/idfpy_cmake_cache_encoding' into 'master'
idf.py: add encoding option

Closes IDFGH-1905

See merge request espressif/esp-idf!6589
2019-11-26 11:50:15 +08:00
Angus Gratton
09fb1aa008 Merge branch 'docs/netif_mighration_guide' into 'master'
esp_netif: added tcpip_adapter migration guide

See merge request espressif/esp-idf!6753
2019-11-26 10:49:49 +08:00
weitianhua
52c5cc038a bugfix for HFP hci audio crash 2019-11-26 02:34:09 +00:00
Angus Gratton
680415b9ce Merge branch 'bugfix/ci_openocd_ignore_error' into 'master'
CI: ignore a non-fatal error in the loadable ELF file example

See merge request espressif/esp-idf!6810
2019-11-26 08:10:43 +08:00
Alexey Gerenkov
e092d6f858 coredump: Makes compatible with legacy binary core dumps
Also:
 - improves coredump versioning scheme
 - Moves some API funtions to respective flash/UART dependent code
2019-11-25 22:44:51 +03:00
Ivan Grokhotkov
c56a954976 Merge branch 'bugfix/idfpy_unknown_target_message' into 'master'
idf.py: Fix error message for unknown target

See merge request espressif/esp-idf!6817
2019-11-26 00:10:09 +08:00
Sergei Silnov
dc4a5d06e3 idf.py: Fix error message for unknown target 2019-11-25 15:41:34 +01:00
Wang Jia Lin
557234d625 Merge branch 'budfix/fix_i2c_driver_ut' into 'master'
bugfix(i2c): fix i2c driver ut issue.

See merge request espressif/esp-idf!6805
2019-11-25 21:31:35 +08:00
Roland Dobai
686abe6a2f CI: ignore a non-fatal error in the loadable ELF file example 2019-11-25 13:57:39 +01:00
Ivan Grokhotkov
8eef8654a6 Merge branch 'bugfix/idfpy_verbose_flag' into 'master'
idf.py: Fix --verbose flag

See merge request espressif/esp-idf!6812
2019-11-25 20:46:37 +08:00
Sergei Silnov
262ed0e72b idf.py: Fix regression ignorance of --verbose flag 2019-11-25 11:47:55 +01:00
David Cermak
1a012b7ad2 esp_netif: docs update to include tcpip_adapter migration guide
added migration guide link to the esp-netif page and network page
added redirects from tcpip_adapter to new esp_netif
2019-11-25 08:32:11 +01:00
David Cermak
af3f821fd7 docs: update wifi documentation per recent update of esp-idf-template project to use a plain hello-world application 2019-11-25 08:24:59 +01:00
kooho
5286c8308c bugfic(i2c): fix i2c driver ut issue. 2019-11-25 07:03:02 +00:00
Renz Christian Bagaporo
bb139d2b83 esp_event: fix possibility of null ptr dereference
Closes https://github.com/espressif/esp-idf/issues/4373
2019-11-25 14:27:10 +08:00
Angus Gratton
f2a1a6105a Merge branch 'feat/mcpwm_hal'
Manual merge of !6626
2019-11-25 17:18:48 +11:00
Angus Gratton
129c9311ca Merge branch 'bugfix/menuconfig_confirm' into 'master'
Menuconfig: Don't ask to save configuration when nothing has changed

Closes IDFGH-2148

See merge request espressif/esp-idf!6643
2019-11-25 13:42:27 +08:00
Angus Gratton
dbae85dde8 Merge branch 'bugfix/timer_driver_ut' into 'master'
driver/timer: fix software reset UT (again)

See merge request espressif/esp-idf!6801
2019-11-25 12:54:52 +08:00
Angus Gratton
bf80a50c85 Merge branch 'bugfix/idf_tools_add_ULP_for_armel' into 'master'
tools: Add ULP utils for ARMEL

See merge request espressif/esp-idf!6800
2019-11-25 12:13:42 +08:00
Nachiket Kukade
75ea0df916 Add encryption/decryption support for PMF
1. Add CCMP, AES crypto modules for unicast protected Mgmt frames
2. Add support for computing SHA256 MIC on Bcast Mgmt frames
3. Add support for storing iGTK during 4-way handshake.
4. Provide APIs to MLME for utilizing the SW crypto modules
5. Link PMF changes from WiFi library submodule
2019-11-25 04:11:09 +00:00
Nachiket Kukade
773e095a65 Add support for PMF configuration and negotiation
1. Add APIs for configuring PMF through set config.
2. Map Supplicant and Wifi Cipher types.
3. Add support for PMF negotiation while generating RSN IE.
2019-11-25 04:11:09 +00:00
Jiang Jiang Jian
ddef4f9129 Merge branch 'feature/set_dhcp_timeout' into 'master'
Add feature for set dhcp time out

Closes WIFI-797 and IDF-1100

See merge request espressif/esp-idf!6370
2019-11-25 12:04:20 +08:00
Angus Gratton
6dd36fd571 Merge branch 'refactor/hal_gpio_driver'
Manual merge of !5597
2019-11-25 10:49:40 +11:00
Angus Gratton
f34edba8f3 Merge branch 'feature/adc_driver_hal_support'
Manual merge of !6044
2019-11-25 10:22:06 +11:00
Ivan Grokhotkov
82d89afe1f driver/timer: fix software reset UT (again) 2019-11-24 21:10:50 +01:00
michael
538540ce21 mcpwm: add HAL layer support
Also improved the unit tests a bit.
2019-11-25 00:36:30 +08:00
michael
1fb2fd89de mcpwm: fix the fault handling and capture issues
1. The fault signal 3 for unit 2 is corrected to the right value

2. Now `mcpwm_fault_set_oneshot_mode` will clear the status before, no
need to reset the peripheral.

3. The capture feature relies on the prescaler, but it's only
initialized in the mcpwm_init funciton, which is used to initialize a
PWM channel. This means, the capture may not work correctly if no PWM
channel is enabled.

   Now the prescaler is also updated when `mcpwm_capture_enable` is
called.
2019-11-25 00:36:30 +08:00
michael
0f6dd34971 mcpwm: enable some unit tests again 2019-11-25 00:36:30 +08:00
He Yin Ling
d839f39ed8 Merge branch 'feature/ci_optimize_assign_test' into 'master'
CI: optimize assign test

See merge request espressif/esp-idf!6785
2019-11-24 19:22:41 +08:00
Ivan Grokhotkov
60994329ce Merge branch 'bugfix/idf_tools_download_on-request_tools' into 'master'
idf_tools.py: fix downloading for tools which have "on_request" options

See merge request espressif/esp-idf!6757
2019-11-24 19:11:33 +08:00
Anton Maklakov
0ed38ca24d idf_tools.py: fix downloading for tools which have "on_request" options for some platforms.
'install' and 'download' options can be used for 'required' or 'all' tools
2019-11-24 19:11:33 +08:00
Anton Maklakov
11837f7f5d tools: Add ULP utils for ARMEL 2019-11-24 12:02:50 +07:00
He Yin Ling
857d10a926 unit-test-app: print config name in test script 2019-11-23 20:40:23 +08:00
He Yin Ling
3c99de352c tiny-test-fw: only load module from the same file one time:
we should only load one module once.
if we load one module twice, python will regard the same object loaded in the first time and second time as different objects.
it will lead to strange errors like `isinstance(object, type_of_this_object)` return False
2019-11-23 20:40:23 +08:00
He Yin Ling
9665c6ef66 unit-test-app: fix test script error when handling multiple unit test configs in one config file:
If we have multiple configs, we need to flash DUT with different binaries. But if we don't close DUT before apply new config, the old DUT will be reused, so new config name will not be applied.
2019-11-23 20:40:23 +08:00
He Yin Ling
1c65f1aed3 ci: reduce the number of unit test jobs 2019-11-23 20:40:23 +08:00
He Yin Ling
cb4c25bc67 ci: use more flexible assign for unit test cases 2019-11-23 20:39:19 +08:00
He Yin Ling
757e2d021e tiny-test-fw: print useful debug info when assign test:
* total requirements (number of required jobs vs tags)
* unused CI jobs
* missing jobs (number of missing jobs vs tags)
2019-11-23 20:39:19 +08:00
He Yin Ling
b12a8bce5f ci: optimize unit test assignment:
Currently we use config and test function as filter when assign cases to one CI job. It's not necessary as the runner can run test with different configs / test functions. Now we will try to assign as many cases to a job as possible, to reduce the amount of jobs required.
2019-11-23 20:39:19 +08:00
He Yin Ling
74ca3fc571 tiny-test-fw: revise unit test job config file:
`overwrite` should be included by each case config
2019-11-23 20:39:19 +08:00
Angus Gratton
b7b4cd3418 Merge branch 'bugfix/timer_group_reset_ut' into 'master'
timer: remove check for POWERON_RESET in the test case, add esp_reset_reason API for s2beta

See merge request espressif/esp-idf!6747
2019-11-23 14:04:41 +08:00
Ivan Grokhotkov
719c8eb627 Merge branch 'bugfix/esp_netif_early_fixes' into 'master'
esp-netif: fixed early issues on esp-netif

See merge request espressif/esp-idf!6792
2019-11-22 20:19:20 +08:00
Ivan Grokhotkov
676b5e0deb log: refactoring to make compatible with no-FreeRTOS builds 2019-11-22 11:41:35 +01:00
Ivan Grokhotkov
6fda3df953 Merge branch 'bugfix/gpio_pin_bit_mask_truncation' into 'master'
driver: fix gpio pin_bit_mask truncation in sdspi_host and others

See merge request espressif/esp-idf!6746
2019-11-22 17:41:05 +08:00
Jiang Jiang Jian
0deeae38a9 Merge branch 'bugfix/fix_timer_deleted_and_run_broken_callback' into 'master'
esp_timer: fix the bug that when timeout of timer happens try to run callback,...

Closes WIFI-1214

See merge request espressif/esp-idf!6765
2019-11-22 17:37:51 +08:00
Ivan Grokhotkov
acdb2a5dc0 ci: add test job with ESP32S2BETA_IDF tag 2019-11-22 10:36:51 +01:00
David Cermak
d9433ef692 mdns: fixed forgotten merge conflicts in debug code 2019-11-22 10:31:06 +01:00
David Cermak
c5a6bc9985 esp_netif: added missing C++ guards
Closes https://github.com/espressif/esp-idf/issues/4389
2019-11-22 10:31:06 +01:00
xiongyu
a3b79e9202 refactor(gpio): add hal gpio driver 2019-11-22 17:24:53 +08:00
xueyunfei
2eea2dbeb4 Add feature for set dhcp time out 2019-11-22 17:24:16 +08:00
Ivan Grokhotkov
e4f641f5a9 Merge branch 'bugfix/i2s_driver_apll_test_regression' into 'master'
i2s: fix regression in retrieval of chip revision causing apll test to fail

See merge request espressif/esp-idf!6786
2019-11-22 17:06:29 +08:00
Angus Gratton
989825908b Merge branch 'feature/esp32s2beta_ulp_projbuild' into 'master'
Support esp32s2beta ULP in build system

See merge request espressif/esp-idf!5412
2019-11-22 15:59:44 +08:00
fuzhibo
f49b192a5e refactor the adc driver 2019-11-22 15:42:16 +08:00
Mahavir Jain
25c0752682 i2s: fix regression in retrieval of chip revision causing apll test to fail 2019-11-22 11:46:38 +05:30
Dmitry
b38bc2f8f5 s2 support for make build removed. 2019-11-22 09:03:23 +03:00
Dmitry
845b2d1cfe Jumps change back to jumpr. because example supports esp32 only. 2019-11-22 09:03:23 +03:00
Dmitry
1518c410bc A switch between esp32 and esp32s2betta added to the ULP build process.
The new bin utils will have extension esp32s2ulp-elf, and they have to be placed to the bin directory.
2019-11-22 09:03:13 +03:00
Wang Jia Lin
a8d3e3ab4a Merge branch 'feature/dac_driver_hal_support' into 'master'
dac: add hal for dac driver

See merge request espressif/esp-idf!5591
2019-11-22 13:59:32 +08:00
Chinmay Chhajed
6a91c8d440 Changes in menuconfig options to not compile any host when using hci
examples as no host is required there.
2019-11-22 11:14:50 +05:30
Chinmay Chhajed
a104bc22ae README fixes 2019-11-22 11:11:37 +05:30
Chinmay Chhajed
85b66801b1 Moved HCI examples from bluetooth/bluedroid/hci to bluetooth/hci. 2019-11-22 11:11:37 +05:30
Angus Gratton
f64ee5aba3 Merge branch 'feature/coredump_data_in_elf_format' into 'master'
coredump: change data format to ELF

Closes IDF-43

See merge request espressif/esp-idf!4398
2019-11-22 13:25:44 +08:00
Alexey Gerenkov
27ce4d13df coredump: change data format to ELF 2019-11-22 13:25:43 +08:00
Angus Gratton
7eb89ae868 Merge branch 'feature/idfpy_unknown_targets_fallback' into 'master'
idf.py: run build system target for unknown sub-commands

Closes IDF-748

See merge request espressif/esp-idf!6644
2019-11-22 13:22:23 +08:00
fuzhibo
03ac1aaafd dac: refactor driver add hal 2019-11-22 11:44:46 +08:00
Angus Gratton
0e0994092e Merge branch 'feature/esp32s2beta_fix_rtc_peripheral_driver' into 'master'
Driver: fix touch driver and deep sleep example

See merge request espressif/esp-idf!6476
2019-11-22 11:39:41 +08:00
Angus Gratton
ea29c101cd Merge branch 'bugfix/fix_iram_intr_alloc_test' into 'master'
ccomp_timer: fix broken unit test

See merge request espressif/esp-idf!6779
2019-11-22 08:41:50 +08:00
Angus Gratton
dc00c360ab Merge branch 'bugfix/esp32s2beta_crtbegin' into 'master'
esp32s2beta: fix crash at startup due to toolchain crtbegin being linked

See merge request espressif/esp-idf!6783
2019-11-22 07:01:32 +08:00
Ivan Grokhotkov
477e66103c Merge branch 'feature/esp32s2beta_apptrace_port' into 'master'
esp32s2: Adds apptrace support

Closes IDF-510 and IDF-1032

See merge request espressif/esp-idf!5610
2019-11-22 05:33:35 +08:00
Ivan Grokhotkov
8ff801766a Merge branch 'docs/update_oocd_config_on_cmd_line' into 'master'
Updates OpenOCD configuration file names in documentation

See merge request espressif/esp-idf!6226
2019-11-22 05:32:35 +08:00
David N. Junod
9200250f51 Add User-Agent and additional headers to esp_websocket_client
Merges https://github.com/espressif/esp-idf/pull/4345
2019-11-21 21:14:29 +01:00
Ivan Grokhotkov
ad986849a6 timer: remove check for POWERON_RESET in the test case
The test case may run after an RTC_WDT_RESET (if we are on rev. 0
ESP32), or software reset (when running test cases locally).

Also moving the test case next to the other timer group driver tests.
2019-11-21 20:03:26 +01:00
Ivan Grokhotkov
ea99137e62 esp32s2beta: implement esp_reset_reason API 2019-11-21 20:03:26 +01:00
Ivan Grokhotkov
38520d3b65 Merge branch 'feature/build_apps_script' into 'master'
tools: add build_apps.py, script to build multiple apps

Closes IDF-641

See merge request espressif/esp-idf!6101
2019-11-22 02:54:28 +08:00
Ivan Grokhotkov
951ed739f7 soc/cpu: add non-xtensa-specific replacement of xthal_get_ccount 2019-11-21 19:22:35 +01:00
Ivan Grokhotkov
910f49942e examples: fix test function name in cpp_rtti example 2019-11-21 15:36:06 +01:00
Ivan Grokhotkov
d0e1edcd53 examples: add 2 CI build/test configurations for system/console 2019-11-21 15:36:06 +01:00
Ivan Grokhotkov
871ea650f6 examples: fix sdkconfig warnings 2019-11-21 15:36:06 +01:00
Ivan Grokhotkov
dbae5c93f0 examples: fix loadable elf test 2019-11-21 15:36:06 +01:00
Ivan Grokhotkov
ebd7004a31 examples: update wifi/iperf to use the new builder 2019-11-21 15:36:06 +01:00
Ivan Grokhotkov
30d21adcca ci: don't add build_examples_make as a target_test dependency 2019-11-21 15:36:06 +01:00
Ivan Grokhotkov
e1aee5ad09 ci: reimplement build_examples_cmake using {find,build}_apps.py 2019-11-21 15:36:06 +01:00
Ivan Grokhotkov
0e6e7f49be tiny-test-fw: add build config and target options 2019-11-21 15:36:06 +01:00
Ivan Grokhotkov
7ac8f28dda tools: add build warnings checking script 2019-11-21 15:36:06 +01:00
Ivan Grokhotkov
9d15c1fd40 tools: add {find,build}_apps.py, scripts to build multiple apps
This commit adds a pair of scripts, find_apps.py and build_apps.py.
These scripts are intended to be used in various CI jobs, building
multiple applications with different configurations and targets.

The first script, find_apps.py, is used to prepare the list of builds:
1. It finds apps for the given build system.
2. For each app, it finds configurations (sdkconfig files) which need
   to be built.
3. It filters out the apps and configurations which are not compatible
   with the given target.
4. It outputs the list of builds into stdout or a file. Currently the
   format is a list of lines, each line a JSON string. In the future,
   the tool can be updated to output YAML files.

The lists of builds can be concatenated and processed with standard
command line tools, like sed.

The second script, build_apps.py, executes the builds from the list.
It can execute a subset of builds based on --parallel-count and
--parallel-index arguments.

These two scripts are intended to replace build_examples_make,
build_examples_cmake, and the custom unit-test-app logic (in the
Makefile and idf_ext.py).

Closes IDF-641
2019-11-21 15:36:06 +01:00
Ivan Grokhotkov
e1452f5d6c lw-ip: silence a warning related to CONFIG_LWIP_TCP_WND_DEFAULT value 2019-11-21 15:36:06 +01:00
Ivan Grokhotkov
096dc8fc2b esp32s2beta: rename output linker script 2019-11-21 15:29:00 +01:00
Wang Jia Lin
29623c46b4 Merge branch 'feature/i2c_hal_support' into 'master'
feature: Add i2c hal support.

Closes IDF-611

See merge request espressif/esp-idf!5500
2019-11-21 21:58:22 +08:00
Jack
50fe7e540e esp_timer: fix the bug that when timeout of timer happens try to run callback, and high priority task delete the timer and break the callback 2019-11-21 13:54:50 +00:00
houwenxiang
28286183d1 feature(I2C): Add i2c hal support. 2019-11-21 20:34:07 +08:00
fuzhibo
246242dbd5 driver: fix sens_struct.h;
driver: fix timer wakeup dsleep;
example: fix EXT1 wakeup dsleep;
example: fix touch pad wakeup dsleep;
2019-11-21 20:31:34 +08:00
Ivan Grokhotkov
1be70588f3 Merge branch 'bugfix/idf_tools_guess_idf_path' into 'master'
idf_tools.py: when guessing IDF_PATH, set it in the enviroment

Closes IDF-1141 and IDFGH-2189

See merge request espressif/esp-idf!6752
2019-11-21 20:30:08 +08:00
Mahavir Jain
43411da465 Merge branch 'bugfix/freertos_critical_section_compliance' into 'master'
Changes in uart and esp_timer for critical section compliance with vanilla FreeRTOS

See merge request espressif/esp-idf!6733
2019-11-21 19:25:14 +08:00
Wang Jia Lin
a3162754aa Merge branch 'feature/ledc_hal_support' into 'master'
feat(ledc): refactor ledc driver

See merge request espressif/esp-idf!5746
2019-11-21 19:19:43 +08:00
Ivan Grokhotkov
04324e4c3c esp32s2beta: re-enable entering the debugger on panic 2019-11-21 11:52:10 +01:00
Ivan Grokhotkov
f21261d39c esp32s2beta: don't use crtbegin from the toolchain
Similar to 22514c1dd9 for esp32
2019-11-21 11:52:10 +01:00
Wang Jia Lin
fdd05b7bef Merge branch 'feature/timer_group_hal_support' into 'master'
feat(timer): refactor timer group driver

See merge request espressif/esp-idf!5592
2019-11-21 17:05:11 +08:00
chenjianqiang
857dec108d feat(ledc): refactor ledc driver
1. add hal and low-level layer for ledc driver
2. support esp32s2beta ledc
2019-11-21 16:25:22 +08:00
Roland Dobai
be749395c4 Menuconfig: Don't ask to save configuration when nothing has changed
Closes https://github.com/espressif/esp-idf/issues/4303
2019-11-21 06:47:11 +00:00
chenjianqiang
9f9da9ec96 feat(timer): refator timer group driver
1. add hal and low-level layer for timer group
2. add callback functions to handle interrupt
3. add timer deinit function
4. add timer spinlock take function
2019-11-21 14:14:19 +08:00
Wang Jia Lin
8c3cb232f0 Merge branch 'refactor/hal_sigmadelta_driver' into 'master'
refactor(sigmadelta): add hal sigmadelta driver

See merge request espressif/esp-idf!5599
2019-11-21 13:35:07 +08:00
Renz Christian Bagaporo
6540877f23 test_utils: move ccomp timer interrupt allocation/free to init/deinit 2019-11-21 11:59:46 +08:00
xiongyu
e62b831867 refactor(sigmadelta): add hal sigmadelta driver 2019-11-21 11:53:07 +08:00
Wang Jia Lin
03d24b034e Merge branch 'feature/rtcio_driver_hal_support' into 'master'
rtcio: add hal for driver

See merge request espressif/esp-idf!5628
2019-11-21 11:47:22 +08:00
fuzhibo
0c2bf7c8bc rtcio: add hal for driver 2019-11-21 10:40:49 +08:00
Angus Gratton
b30b0e59fa Merge branch 'feature/add_rmt_hal' into 'master'
rmt: add hal layer and new examples

Closes IDF-841, IDF-844, and IDF-857

See merge request espressif/esp-idf!5649
2019-11-21 09:53:54 +08:00
Angus Gratton
bc3233782b Merge branch 'feature/remove_gcc5_support' into 'master'
global: remove gcc 5.2 support

Closes IDF-1131

See merge request espressif/esp-idf!6608
2019-11-21 09:08:41 +08:00
suda-morris
e673817530 ccomp_timer: fix broken unit test 2019-11-21 08:45:11 +08:00
Angus Gratton
e510e1779d Merge branch 'bugfix/gcov_in_components' into 'master'
Fixes libgcov and libapp_trace cross dependency linking issue

Closes IDF-834

See merge request espressif/esp-idf!6250
2019-11-21 07:09:04 +08:00
Angus Gratton
95b9b41258 Merge branch 'bugfix/ethernet_add_reference_counter' into 'master'
ethernet: add reference counter for mac and phy && add gpio config outof Kconfig

Closes IDF-1056

See merge request espressif/esp-idf!6682
2019-11-21 06:58:13 +08:00
Sergei Silnov
87c979ae09 docs: add idf.py fallback commands and subcommand options 2019-11-20 12:23:03 +01:00
Ivan Grokhotkov
9a2af7ae33 global: remove gcc 5.2 support 2019-11-20 11:17:27 +01:00
Wang Jia Lin
f9d5b67b81 Merge branch 'refactor/hal_i2s_driver' into 'master'
refactor(i2s): add hal i2s driver

Closes IDFGH-2097

See merge request espressif/esp-idf!5601
2019-11-20 17:45:21 +08:00
Krzysztof Budzynski
206fa14d68 Merge branch 'doc/jtag_debugging_at_firm_compatibility' into 'master'
Add information on compatibility issue between JTAG and AT firmware.

See merge request espressif/esp-idf!6710
2019-11-20 15:01:57 +08:00
Kirill Chalov
1d06b6b07e Add information on compatibility issue between JTAG and AT firmware. 2019-11-20 15:01:56 +08:00
Jiang Jiang Jian
5bc644bbdf Merge branch 'bugfix/example_ble_hid_device_demo_fix_error_mask' into 'master'
example/ble_hid_device_demo fix the wrong mask value according to HID protocol

Closes BCI-127

See merge request espressif/esp-idf!6758
2019-11-20 12:46:20 +08:00
morris
357cc19da3 rmt: refactor examples 2019-11-20 10:54:21 +08:00
morris
8fd8695ea1 rmt: add HAL layer 2019-11-20 10:54:21 +08:00
suda-morris
72ad9ab5eb doc: move common Ethernet config explanation into a single file 2019-11-20 10:36:45 +08:00
suda-morris
05d71319de ethernet: add gpio number into config structure 2019-11-20 10:36:45 +08:00
suda-morris
f3d0429a9e ethernet: add reference counter for mac and phy 2019-11-20 10:36:45 +08:00
He Yin Ling
bcf1f992ff Merge branch 'ci/fix_iperf_example_test_failure' into 'master'
ci: fix iperf example test and LEDC unit test error

See merge request espressif/esp-idf!6754
2019-11-20 10:34:41 +08:00
Angus Gratton
bc9267aa24 Merge branch 'feature/use_cpu_time_for_tests' into 'master'
Cache compensated timer

See merge request espressif/esp-idf!6087
2019-11-20 08:33:27 +08:00
Angus Gratton
412b202741 Merge branch 'bugfix/ws_client_fix_wait_forever_timeout' into 'master'
ws_client: fix handling timeouts by websocket client.

Closes IDFGH-2161

See merge request espressif/esp-idf!6683
2019-11-20 07:44:25 +08:00
Anton Maklakov
bd49b3f315 Merge branch 'bugfix/soc_missing_tests' into 'master'
soc: fix unit tests not included in the build

See merge request espressif/esp-idf!6723
2019-11-20 00:32:43 +08:00
xiongyu
8c76a3c10d refactor(i2s): add hal i2s driver 2019-11-19 22:19:19 +08:00
Roland Dobai
e533c88760 tools: Write Kconfig files always
Write COMPONENT_KCONFIGS_SOURCE_FILE and
COMPONENT_KCONFIGS_PROJBUILD_SOURCE_FILE files always even when
COMPONENT_KCONFIGS or COMPONENT_KCONFIGS_PROJBUILD are empty variables
because kconfiglib expects them to exist.
2019-11-19 15:11:11 +01:00
Sergei Silnov
18c594e250 idf.py: run build system target for unknown commands 2019-11-19 13:28:00 +01:00
Ivan Grokhotkov
a74988ae3b Merge branch 'bugfix/cpp_extern' into 'master'
Add extern C header guards to some files

Closes IDFGH-2025 and IDFGH-2093

See merge request espressif/esp-idf!6611
2019-11-19 19:01:29 +08:00
Wang Jia Lin
7494877b1c Merge branch 'refactor/hal_pcnt_driver' into 'master'
refactor(pcnt): add hal pcnt driver

See merge request espressif/esp-idf!5600
2019-11-19 17:22:49 +08:00
Jiang Jiang Jian
9e0b9fcf4e Merge branch 'bugfix/btdm_run_out_of_frame_element' into 'master'
components/bt: Fix assert due to no free element from

Closes BT-461

See merge request espressif/esp-idf!6574
2019-11-19 17:01:23 +08:00
Mahavir Jain
62a0659368 Merge branch 'bugfix/warning_fix_latest_freertos' into 'master'
Fixed warnings for components driver, esp32 and mbedtls

See merge request espressif/esp-idf!6673
2019-11-19 16:48:54 +08:00
gengyuchao
2af64d132f example:ble_hid_device_demo fix the wrong mask value according to HID protocol 2019-11-19 16:24:36 +08:00
Angus Gratton
af945096b2 Merge branch 'bugfix/confgen_gen_source_from_build' into 'master'
Generate source files for kconfiglib from the build system

See merge request espressif/esp-idf!6433
2019-11-19 14:19:49 +08:00
Jiang Jiang Jian
6f633b2d5b Merge branch 'bugfix/btdm_disable_some_secrity_mask' into 'master'
components/bt: Disable some unsupported security mask

See merge request espressif/esp-idf!6724
2019-11-19 12:15:25 +08:00
He Yin Ling
ca217e04ec ci: reduce the required num of jobs for ESP32S2 beta LEDC cases 2019-11-19 11:51:26 +08:00
Angus Gratton
f8476c042d Merge branch 'feature/transport_ssl_support_alpn' into 'master'
tcp_transport: added functionality for using ALPN with SSL

Closes IDF-1160

See merge request espressif/esp-idf!6684
2019-11-19 11:36:09 +08:00
Angus Gratton
3761441b0e Merge branch 'bugfix/remove_stale_files' into 'master'
Remove accidentally merged and stale files

See merge request espressif/esp-idf!6658
2019-11-19 11:28:53 +08:00
He Yin Ling
613b9b613d ci: fetch all submodules for iperf example test 2019-11-19 11:18:59 +08:00
Ivan Grokhotkov
9fa3974447 idf_tools.py: when guessing IDF_PATH, set it in the enviroment
This allows the processes launched from idf_tools.py to use the value
of IDF_PATH. One such example is the installation of Python packages,
when requirements.txt uses IDF_PATH to refer to the esp-windows-curses
package.

Closes https://github.com/espressif/esp-idf/issues/4341
2019-11-18 16:22:25 +01:00
Ivan Grokhotkov
5b6b624e1f driver: fix gpio pin_bit_mask truncation in sdspi_host and others
Closes https://github.com/espressif/esp-idf/issues/4348
2019-11-18 13:42:22 +01:00
Roland Dobai
8a02feb671 tools: Don't use git work-tree in idf_tools.py
Closes https://github.com/espressif/esp-idf/issues/4355
2019-11-18 13:15:39 +01:00
Ivan Grokhotkov
93a8603c54 Merge branch 'feature/builtin_type_exceptions_test' into 'master'
C++: Throw builtin type exception test

See merge request espressif/esp-idf!6570
2019-11-18 19:34:05 +08:00
David Cermak
e1f982921a ws_client: fix handling timeouts by websocket client.
tcp-transport component did not support wait forever. this update uses value of -1 to request this state.
websocket client uses timeouts in RTOS ticks. fixed recalculation to ms (including special value of -1) to use correctly tcp-transport component

Closes https://github.com/espressif/esp-idf/issues/4316
2019-11-18 10:59:41 +00:00
Alexey Gerenkov
1626f827d3 docs: Updates OpenOCD configuration file names 2019-11-18 13:33:32 +03:00
Ivan Grokhotkov
a0aab66509 Merge branch 'bugfix/idf_as_lib_build_on_macos' into 'master'
examples: fix idf as library example build on macOS

See merge request espressif/esp-idf!6638
2019-11-18 17:55:23 +08:00
Ivan Grokhotkov
f59170fcb9 Merge branch 'bugfix/fatfs_missing_tests' into 'master'
fatfs: fix unit tests not included in the build

See merge request espressif/esp-idf!6720
2019-11-18 17:36:20 +08:00
Anton Maklakov
f04e45b340 soc: remove invalid esp32s2beta tests
Need to update them later, ref: IDF-1169
2019-11-18 16:05:37 +07:00
Angus Gratton
a032ce7cd7 ci: Add test configs for 32kHz crystals 2019-11-18 16:05:37 +07:00
Anton Maklakov
7b0be33a7a soc: fix unit tests not included in the build
Regression from 9eccd7c082
2019-11-18 15:58:49 +07:00
Krzysztof Budzynski
29b2235506 Merge branch 'doc/mdns_zh_CN' into 'master'
zh_CN translation of mdns service

See merge request espressif/esp-idf!4590
2019-11-18 16:42:20 +08:00
Wang Jia Lin
be43bfe0c1 Merge branch 'bugfix/ledc_ut_esp32s2beta' into 'master'
bugfix(LEDC): fix ledc CI issue for esp32s2beta

Closes IDF-1011

See merge request espressif/esp-idf!6530
2019-11-18 16:19:42 +08:00
xiongyu
b1a72866ca refactor(pcnt): add hal pcnt driver 2019-11-18 14:35:46 +08:00
Jiang Jiang Jian
79f578ca41 Merge branch 'bugfix/example_blufi_fix_the_send_ble_before_connect_bug' into 'master'
example/blufi: Fix the wrong wifi storage mode and check if ble is connected before sending a ble message.

Closes BCI-120

See merge request espressif/esp-idf!6708
2019-11-18 14:21:40 +08:00
Geng Yu Chao
34083c1463 example/blufi: Fix the wrong wifi storage mode and check if ble is connected before sending a ble message. 2019-11-18 14:21:40 +08:00
Jiang Jiang Jian
45944da8ae Merge branch 'bugfix/esp32s2beta_flash_cache' into 'master'
Bugfix/esp32s2beta flash cache

See merge request espressif/esp-idf!6561
2019-11-18 14:16:16 +08:00
Krzysztof Budzynski
70a93ca0c6 Merge branch 'bugfix/docs_adc_attenuation' into 'master'
docs: Replaced 'attenuaton' with 'attenuation'

See merge request espressif/esp-idf!6672
2019-11-18 12:10:56 +08:00
Krzysztof Budzynski
1487bd2edd docs: Replaced 'attenuaton' with 'attenuation' 2019-11-18 12:10:55 +08:00
Renz Christian Bagaporo
c4dc63c4d8 ci: add jobs for tests 2019-11-18 10:29:42 +08:00
Renz Christian Bagaporo
550c0ef234 vfs: use ccomp timer in performance test 2019-11-18 10:29:02 +08:00
Renz Christian Bagaporo
df26ab13e2 test_utils: implement performance timer 2019-11-18 10:29:01 +08:00
Ivan Grokhotkov
fb3d648e07 Merge branch 'feature/unit_example_test_no_submodules' into 'master'
ci: don't fetch all submodules in unit_test and example_test

See merge request espressif/esp-idf!6688
2019-11-18 09:32:49 +08:00
Jakob Hasse
cd730b94be C++: added unit tests for builtin type exceptions 2019-11-18 08:53:50 +08:00
baohongde
2e570e78c6 components/bt: Disable some unsupported security mask 2019-11-17 13:42:09 +08:00
wanglei
5e55ffc95a fix dummy issue in spi mem and make some spiflash api called from idf 2019-11-15 15:59:07 +00:00
wanglei
f3424afaab bugfix: fix spi flash read when wrap enabled 2019-11-15 15:59:07 +00:00
wanglei
7b2348baad fix bug that wrap mode not disabled in none-QIO mode 2019-11-15 15:59:07 +00:00
wanglei
8bea8dacbc esp32s2beta: fix some macro and add flash wrap size condition 2019-11-15 15:59:07 +00:00
Jiang Jiang Jian
70df578752 Merge branch 'bugfix/wifi_scan_example_redo' into 'master'
wifi: minor changes in scan example

See merge request espressif/esp-idf!6591
2019-11-15 23:56:17 +08:00
Hrudaynath Dhabe
504172e851 wifi: minor changes in scan example 2019-11-15 23:56:16 +08:00
Jiang Jiang Jian
9399dc4fd8 Merge branch 'bugfix/btdm_fix_the_ble_throuthput_server_crash_bug_gyc' into 'master'
example/ble_throughput fix the throughput server crash bug when running with throughput client

Closes BT-421

See merge request espressif/esp-idf!6649
2019-11-15 23:55:10 +08:00
Geng Yu Chao
4cd56b19d7 example/ble_throughput fix the throughput server crash bug when running with throughput client 2019-11-15 23:55:09 +08:00
Jiang Jiang Jian
a9c162664c Merge branch 'feature/get_remote_name' into 'master'
Feature/ Read Remote Device's Name

See merge request espressif/esp-idf!6562
2019-11-15 23:47:02 +08:00
Roland Dobai
84d5cc1c17 Generate source files for kconfiglib from the build system 2019-11-15 15:25:09 +00:00
Roland Dobai
98c629987f tools: Produce user friendly error during install when the server is down
Closes https://github.com/espressif/esp-idf/issues/4329
2019-11-15 15:21:39 +01:00
Ivan Grokhotkov
28b7f11f93 fatfs: fix unit tests not included in the build
Regression from 9baa7826.
2019-11-15 15:04:57 +01:00
Mahavir Jain
f53f450380 nvs_flash: build nvs_encr.cpp only if relevant config option is enabled 2019-11-15 15:58:31 +05:30
Mahavir Jain
ecf09382da uart: critical section compliant API in ISR context 2019-11-15 15:58:31 +05:30
Mahavir Jain
d0a37704a3 esp_timer: use freertos critical section compliant APIs
Some modules use esp_timer from interrupt context and hence
with vanilla FreeRTOS it should use correct critical section
API
2019-11-15 15:57:55 +05:30
Shubham Kulkarni
c741dd0535 Fixed warnings for components driver, esp32 and mbedtls 2019-11-15 08:51:16 +00:00
Ivan Grokhotkov
c8a37c296a ci: don't fetch all submodules in unit_test and example_test 2019-11-15 07:59:44 +00:00
Ivan Grokhotkov
59d818c387 Merge branch 'bugfix/mdns_task_include' into 'master'
mdns: add missing include of esp_task.h

See merge request espressif/esp-idf!6706
2019-11-15 15:50:31 +08:00
Mahavir Jain
7c1fceb810 Merge branch 'docs/fix_esp_local_control_formatting' into 'master'
docs/en: fix formatting for esp_local_control component

See merge request espressif/esp-idf!6678
2019-11-15 13:41:26 +08:00
Angus Gratton
83b468f707 Merge branch 'feature/idfpy_hidden_commands' into 'master'
idf.py: add support for subcommands hidden from help

See merge request espressif/esp-idf!6646
2019-11-15 12:41:43 +08:00
Jiang Jiang Jian
a9c1970c03 Merge branch 'bugfix/put_more_rx_code_to_iram' into 'master'
wifi: Put some rx code to iram

Closes WIFI-490 and WIFI-1041

See merge request espressif/esp-idf!6490
2019-11-15 10:58:22 +08:00
Ivan Grokhotkov
5884b80908 mdns: add missing include of esp_task.h 2019-11-14 18:02:26 +01:00
Ivan Grokhotkov
503c37e013 Merge branch 'bugfix/mdns_configure_task_params' into 'master'
mdns: add configuration values for task priority, affinity and internal service timeouts

See merge request espressif/esp-idf!6580
2019-11-14 21:30:50 +08:00
Ivan Grokhotkov
9e8fa4bb18 Merge branch 'feature/esp_netif_interface_update' into 'master'
tcpip_adapter refactor: ready for review

Closes IDF-39

See merge request espressif/esp-idf!5373
2019-11-14 21:27:53 +08:00
Jiang Jiang Jian
2c7f949257 Merge branch 'bugfix/fix_the_bug_in_espnow_example' into 'master'
espnow: fix the bug for calling esp_wifi_set_channel

See merge request espressif/esp-idf!6690
2019-11-14 19:26:27 +08:00
lly
093cc494b9 ble_mesh: fix ble mesh device with wrong name on iOS 2019-11-14 17:03:46 +08:00
Jiang Jiang Jian
e380c59c74 Merge branch 'feat/ble_mesh_4_1_new_features' into 'master'
ESP BLE Mesh 4.1 new features

Closes BLEMESH-1, BLEMESH-2, BLEMESH-3, BLEMESH-4, BLEMESH-39, and BLEMESH-43

See merge request espressif/esp-idf!6134
2019-11-14 16:47:49 +08:00
Angus Gratton
9efbe1bb47 Merge branch 'bugfix/support_worktree_on_cmake' into 'master'
cmake: support git worktree

See merge request espressif/esp-idf!6581
2019-11-14 16:00:47 +08:00
xiehang
b7334b0366 esp_wifi: Turn off wifi iram optimization by default, when using both Bluetooth and psram 2019-11-14 15:20:53 +08:00
baohongde
e248a4fe6e components/bt: Fix assert due to no free element from 2019-11-14 06:59:23 +00:00
morris
9691a755f6 zh_CN translation of mdns service 2019-11-14 13:28:04 +08:00
houwenxiang
30b2e02088 bugfix(LEDC):fix ledc CI issue for esp32s2beta. 2019-11-14 12:20:29 +08:00
weitianhua
3f0e851a39 Feature/ Read Remote Device's Name 2019-11-14 03:33:37 +00:00
Angus Gratton
17d0ada00a Merge branch 'bugfix/idfpy_before_flash_option' into 'master'
idf.py: Add --before flag to esptool.py call

See merge request espressif/esp-idf!6577
2019-11-14 11:13:48 +08:00
Alexey Gerenkov
30ff7198b8 apptrace: Renames Kconfig options 2019-11-13 15:24:01 +03:00
Alexey Gerenkov
5909d3676c esp32s2: Adds apptrace support
Closes IDF-510.
Closes IDF-1032.
2019-11-13 15:24:01 +03:00
xiehang
5e7f43f3d1 esp_wifi: Put some rx code to iram 2019-11-13 11:44:23 +00:00
David Cermak
76f612e14f ci: increased number of parallel jobs to have enough runners for unit
tests
2019-11-13 12:36:26 +01:00
David Cermak
e535376257 tools: updated generator of error codes to names to ignore tcpip_adapter
compatibility types since the error codes are reused in esp-netif and in
tcpip_adapter mapped to the same number.
2019-11-13 12:36:26 +01:00
David Cermak
9f2a45f15f esp_netif: add dhcp state transition unit tests for default wifi interfaces 2019-11-13 12:36:26 +01:00
David Cermak
f91d69efb2 esp_netif: rename DHCP flags for client and server 2019-11-13 12:36:26 +01:00
David Cermak
064bed710e esp_netif: fix esp_netif_stop() to stop DHCP client if configured 2019-11-13 12:36:26 +01:00
David Cermak
d0afdaaf24 esp_eth: moved starting link timer to eth driver start 2019-11-13 12:36:26 +01:00
David Cermak
4857e92e2c esp_mesh: creation of wifi network interfaces for esp-mesh examples moved to used common esp_wifi_default API 2019-11-13 12:36:26 +01:00
David Cermak
7f5cda1b82 tcpip_adapter: updated tcpip_adapter compatablity layer to include all
public API and keep 100% backward compatibility
update build of tcpip adapter when ethernet disabled
2019-11-13 12:36:25 +01:00
David Cermak
7ef385963c esp_netif: minor update of coding style based on clang-tidy
guidelines and fix some copyright notices
2019-11-13 12:36:25 +01:00
David Cermak
f839a1328c esp_netif: added locking for netif list management, unit tests to use unique if_keys, updated comments 2019-11-13 12:36:25 +01:00
David Cermak
6e0d274f58 esp_netif: example init code fixed to assert only variables, not
function calls so it won't be skipped if compiled without asserts
2019-11-13 12:36:25 +01:00
David Cermak
20add7da60 esp_netif: extract wifi_netif module as an abstraction to wifi universal interface defined by if handle and callback 2019-11-13 12:36:25 +01:00
David Cermak
359f6b3a21 esp_netif: add consistency checks for configs and interface key duplication 2019-11-13 12:36:25 +01:00
David Cermak
cf710a3cb1 esp_netif: include tcpip_adapter legacy header by default to provide *implicit* compatiblity 2019-11-13 12:36:25 +01:00
David Cermak
3f60837de2 esp_eth: make esp_eth_driver_start public API so application could start ethernet when used without esp-netif 2019-11-13 12:36:25 +01:00
David Cermak
549ee87912 esp_netif: moving default netifs to wifi, moved sta_list to a separate header -- note will fail unit tests 2019-11-13 12:36:25 +01:00
David Cermak
d471266b46 esp_netif: documentation udpated and grouped the esp-netif API
structure. Updated rst documenentation and diagram of esp-netif
cooperation with other components.
2019-11-13 12:36:25 +01:00
David Cermak
eb94d87935 esp_netif: address failures on tcpip-task ipc call, deinit lwip netif and ip address issues 2019-11-13 12:36:25 +01:00
David Cermak
3a19bf055d esp_netif and examples: using wifi driver handle, update examples and tests to pass the CI 2019-11-13 12:36:25 +01:00
David Cermak
4366347fd4 esp_event: fix petty include dependency issue 2019-11-13 12:36:25 +01:00
David Cermak
ba13275c6b esp_netif: update default DHCP IP addresses to be in line with old interface, added loopback implementation, explicit esp-netif init, sanity checks for parameters added 2019-11-13 12:36:25 +01:00
David Cermak
b834c99148 examples: modify other examples and tests to use esp_netif instead of tcpip_adapter 2019-11-13 12:36:25 +01:00
David Cermak
0eec84bc4f mesh_examples: use esp_netif instead of tcpip_adapter 2019-11-13 12:36:25 +01:00
David Cermak
7f4c8a0b4f ethernet_examples: use esp_netif instead of tcpip-adapter 2019-11-13 12:36:25 +01:00
David Cermak
19e24fe61e mdns: update mdns to use esp-netif for mdns supported services such as STA, AP, ETH
removes also include dependency on lwip to use esp_netif defined address fields and structures
2019-11-13 12:36:25 +01:00
David Cermak
c00123c77b provisioning: examples updated to use esp_netif instead of tcpip_adapter 2019-11-13 12:36:25 +01:00
David Cermak
204492bd78 examples: wifi getting started examples to use esp_netif_init() and
create default netif instances for station and AP
2019-11-13 12:36:25 +01:00
David Cermak
a49b934ef8 examples: protocol examples which use common connection component
updated to use esp_netif_init instead of tcpip_adapter in initialization code
2019-11-13 12:36:25 +01:00
David Cermak
21464465ea examples: common component initialization code to use new esp_netif
instead of tcpip_adapter
2019-11-13 12:36:25 +01:00
David Cermak
ffe043b1a8 esp_netif: Introduction of esp-netif component as a replacement of tcpip_adpter
- provides object oriented access to network intefaces
- not limited to default netifs
- more generic abstraction to network input output functions
- event handler registration removed from component responsibility
- backward compatibility layer for legacy tcpip_apapter APIs

Closes IDF-39
2019-11-13 12:36:25 +01:00
David Cermak
ec9f245dd3 examples: removed ip4addr_ntoa and used prefered IP2STR for displaying IP addresses 2019-11-13 12:36:25 +01:00
Ivan Grokhotkov
d57890cdff Merge branch 'bugfix/unicore_crash_in_xtaskresumeall' into 'master'
freertos: modify configASSERTs around scheduler state check

See merge request espressif/esp-idf!6685
2019-11-13 19:20:31 +08:00
zhangyanjiao
b9da410cbb espnow: fix the bug for calling esp_wifi_set_channel(), this function only can be called after Wi-Fi started and sniffer enabled. 2019-11-13 16:40:30 +08:00
Mahavir Jain
4ccac94816 freertos: modify configASSERTs around scheduler state check
Regression introduced in commit 79e74e5d5f

It is possible that some FreeRTOS APIs are invoked prior to
scheduler start condition (e.g. flash initialization in unicore mode).
In that condition these asserts should not trigger (scheduler state being yet to be started),
hence changes per this fix.
2019-11-13 10:44:09 +05:30
Renz Christian Bagaporo
77585bd14e spiffs: fix build issue on clean project
From issue:

I did some poking around in components/spiffs/project_include.cmake and
it looks like what is failing is it isn't getting an offset from
parttool.py. I think what the problem is that the parttool.py cannot
determine the offset of the storage partition as I can't run menuconfig
to set the custom partitions.

I have tested that this problem is solvable by manually setting the
custom partitions in sdkconfig and that is a workaround but there should
be at least a better error message in the configuration when it cannot
find the partition as this would also happen if the partition name was
misspelled.

Closes https://github.com/espressif/esp-idf/issues/4236
2019-11-13 12:31:50 +08:00
Marius Vikhammer
ed85046138 tcp_transport: added functionality for using ALPN with SSL
Closes IDF-1160
2019-11-13 11:33:13 +08:00
Alexey Gerenkov
5b83b198c6 gcov: Fixes libgcov and libapp_trace cross dependency linking issue
Closes IDF-834
2019-11-12 18:42:08 +03:00
Alexey Gerenkov
02e084e2b5 examples: Collects coverage info in component 2019-11-12 18:42:02 +03:00
Ivan Grokhotkov
eca812249b Merge branch 'bugfix/freemodbus_revert_uart_isr_in_ram_by_default' into 'master'
freemodbus: fix issue with CONFIG_UART_ISR_IN_IRAM set by default

See merge request espressif/esp-idf!6655
2019-11-12 22:16:56 +08:00
Alex Lisitsyn
cfdd5f0ef7 freemodbus: configure timer handler placement
place timer interrupt handler into flash by default;
add default settings for timer and UART interrupts to place them into IRAM into example defaults;
CONFIG_FMB_TIMER_PORT_ENABLED default = n, when enabled, the UART_ISR_IN_IRAM set to y
2019-11-12 22:16:55 +08:00
Ivan Grokhotkov
bfe5662387 Merge branch 'bugfix/common_example_uart_init' into 'master'
fix common example connect and stdin/stdout

See merge request espressif/esp-idf!6642
2019-11-12 22:10:50 +08:00
Mahavir Jain
ca4a8a61c4 Merge branch 'bugfix/CMake_esp_https_ota_dependencies' into 'master'
components/esp_https_ota: Changes in public requirement list for CMake

Closes IDFGH-2066

See merge request espressif/esp-idf!6558
2019-11-12 19:43:26 +08:00
Anton Maklakov
ef3016d0d3 Remove accidentally merged and stale files 2019-11-12 11:43:36 +07:00
Angus Gratton
b4653cf391 Merge branch 'bugfix/update_can_target_test' into 'master'
CAN: Reenable example tests, update job and environment labels.

See merge request espressif/esp-idf!6487
2019-11-12 11:09:50 +08:00
Angus Gratton
12de58bfac Merge branch 'bugfix/config_assert_thread_safety' into 'master'
freertos: Fix configASSERT thread safety

Closes IDFGH-2055

See merge request espressif/esp-idf!6612
2019-11-12 10:59:00 +08:00
David Cermak
2e0d6d0e6a uart: make uart_driver_install() more backward compatible, so if the interrupt handler configured to be in IRAM and not flagged in intr_alloc_flags argument, then the flag is gracefully updated rather then error return 2019-11-11 15:27:09 +00:00
David Cermak
208feef3c9 asio: fix asio test code to start the test after ip address received from common example code
Previously set to wait until IP address got from tcpip_adapter, but since common example connect code blocks until both IP4 and IPv6 address received it could happen that test code might have started connection to the ASIO counter-part while ESP32 still waiting for IPv6 address
2019-11-11 15:27:09 +00:00
Ivan Grokhotkov
8325a2952a Merge branch 'bugfix/wifi_set_assoc_ie' into 'master'
wpa_supplicant: Set assoc_ie_len based on generated RSN/WPA IE

Closes WIFI-1380

See merge request espressif/esp-idf!6636
2019-11-11 23:22:15 +08:00
Hrudaynath Dhabe
e543dbfe79 wpa_supplicant: Set assoc_ie_len based on generated RSN/WPA IE 2019-11-11 23:22:14 +08:00
Krzysztof Budzynski
53604dad25 Merge branch 'doc/add_chinese_translation_for_support_policy' into 'master'
add chinese translation for support period policy

See merge request espressif/esp-idf!6597
2019-11-11 10:40:30 +08:00
Hao Ning
806229492e add chinese translation for support period policy 2019-11-11 10:40:30 +08:00
Sergei Silnov
2dbad4fe7b idf.py: add support for subcommands hidden from help 2019-11-08 17:54:10 +01:00
David Cermak
c6f38f04f8 mdns: add configuration values for task priority, affinity and internal service timeouts
closes https://github.com/espressif/esp-idf/issues/4217
2019-11-08 16:29:40 +01:00
Angus Gratton
8b38d79dd3 Merge branch 'feature/windows_ccache_enable' into 'master'
tools: export IDF_CCACHE_ENABLE on Windows by default

Closes IDF-955

See merge request espressif/esp-idf!6607
2019-11-08 18:57:26 +08:00
Angus Gratton
ae777b026f Merge branch 'bugfix/cmake_uninit_vars_case_error' into 'master'
cmake: Fix some uninitialized variable issues

See merge request espressif/esp-idf!6632
2019-11-08 18:54:33 +08:00
Angus Gratton
83dbf9d6d6 Merge branch 'bugfix/partition_cmake_md5' into 'master'
cmake: fix partition_table cmake when using md5 checksum

See merge request espressif/esp-idf!5399
2019-11-08 18:51:59 +08:00
Angus Gratton
79d242edd3 Merge branch 'bugfix/py_requirements' into 'master'
Fix Python requirement for setuptools

See merge request espressif/esp-idf!6588
2019-11-08 18:03:20 +08:00
Angus Gratton
932758813a Merge branch 'bugfix/http_client_buffer_overflow' into 'master'
Fix HTTP client buffer overflow

Closes IDF-694

See merge request espressif/esp-idf!6599
2019-11-08 18:02:33 +08:00
Angus Gratton
65c67faa6a Merge branch 'bugfix/freemodbus_fix_nvs_access_failure' into 'master'
modbus master example fix nvs access failure

Closes IDF-1054, IDFGH-1840, and IDFGH-1943

See merge request espressif/esp-idf!6241
2019-11-08 16:55:42 +08:00
Alex Lisitsyn
1ab9e81729 freemodbus: fix nvs access failure
place timer handler functions into IRAM
update timer port handlers
fix communication issues
fix offset issue in example
add kconfig option to place handlers into IRAM
2019-11-08 16:55:42 +08:00
Renz Christian Bagaporo
705e4189db examples: fix idf as library example build on macOS
GCC prefixes underscore on symbol names on macOS, and so the set
undefined symbol `-u app_main` won't work. However, this is unecessary,
as the source file that defines it is specified directly to the
executable, and not through a static library.

Closes https://github.com/espressif/esp-idf/issues/4168
2019-11-08 16:04:05 +08:00
Angus Gratton
6f761dd62d cmake: Fix some uninitialized variable warnings 2019-11-08 12:50:28 +08:00
Angus Gratton
4352265fa0 cmake: Fix case error passing extra CMake args to sub-projects
Bug in commit f4ea7c5a where the wrong variable case was used when passing
through to sub-projects
2019-11-08 11:56:13 +08:00
lly
2bba9d7700 ble_mesh: miscellaneous modifications
1. Clean up client_common.c
2. Clean up esp_ble_mesh directory
3. Update Kconfig.in
4. Format esp_ble_mesh files
2019-11-08 11:10:52 +08:00
lly
30aa236219 ble_mesh: adapt ble mesh with nimble host 2019-11-08 11:10:52 +08:00
lly
dfcfe467c9 ble_mesh: update ble mesh examples 2019-11-08 11:10:52 +08:00
lly
547081cc3c ble_mesh: add events for configuration server model 2019-11-08 11:10:52 +08:00
lly
f906b7caf3 ble_mesh: add Generic/Sensor/Time and Scenes/Lighting Server models 2019-11-08 11:10:52 +08:00
lly
287f80ec01 ble_mesh: add proxy client functionality 2019-11-08 11:10:52 +08:00
lly
c6286529eb ble_mesh: add ble mesh friend node event 2019-11-08 11:10:52 +08:00
lly
fdfe59d369 ble_mesh: add low power node api and event 2019-11-08 11:10:52 +08:00
lly
afc00fb5f5 ble_mesh: add heartbeat message recv callback 2019-11-08 11:10:52 +08:00
lly
2511024e44 ble_mesh: modify health server model callbacks 2019-11-08 11:10:52 +08:00
lly
729af38346 ble_mesh: add separate advertising buffers for relay packets 2019-11-08 11:10:52 +08:00
Angus Gratton
ba72de2099 Merge branch 'bugfix/i2s-bootloader-random-disable' into 'master'
bugfix(bootloader): fix  bootloader_random_disable bug

Closes IDFGH-1747 and IDFGH-1739

See merge request espressif/esp-idf!6522
2019-11-08 11:04:15 +08:00
Wu Jian Gang
1a29ddbd33 cmake: fix partition_table cmake when using md5 checksum 2019-11-08 02:59:22 +00:00
Angus Gratton
75488f1806 Merge branch 'bugfix/cmake_secure_boot' into 'master'
secure boot: CMake bug fixes

See merge request espressif/esp-idf!6523
2019-11-08 10:58:04 +08:00
Ivan Grokhotkov
d459f7bfe0 Merge branch 'bugfix/dockerfile_set_idf_branch' into 'master'
tools/docker: use correct branch and commit of IDF when building

Closes IDF-1120

See merge request espressif/esp-idf!6584
2019-11-08 03:08:45 +08:00
Ivan Grokhotkov
44af11c1b1 Merge branch 'bugfix/nvs_flash_missing_tests' into 'master'
NVS: Added nvs tests, minor corrections

Closes IDF-1135

See merge request espressif/esp-idf!6621
2019-11-07 23:01:58 +08:00
Ivan Grokhotkov
dd7dd08bfb Merge branch 'bugfix/tinyfw_local_test' into 'master'
tiny-test-fw: restore the ability to run tests locally

See merge request espressif/esp-idf!6620
2019-11-07 21:27:58 +08:00
Angus Gratton
c37cb2b5dc Merge branch 'doc/lwip_apis' into 'master'
lw_ip: Add lw_IP API Guide

Closes IDF-35

See merge request espressif/esp-idf!6473
2019-11-07 19:32:38 +08:00
Angus Gratton
1d15ce9ab3 Merge branch 'bugfix/load_elf_example_test' into 'master'
CI: Don't download s2beta builds into example tests

See merge request espressif/esp-idf!6610
2019-11-07 18:46:16 +08:00
Angus Gratton
a771b94183 lwip: Add lwIP API Guide
Try to provide a full overview of lwIP features as implemented in esp-lwip and ESP-IDF
2019-11-07 18:12:47 +08:00
Roland Dobai
86fd13230e CI: Don't download esp32s2beta builds into example tests 2019-11-07 06:56:03 +00:00
Jakob Hasse
d8242fe976 nvs: Added nvs tests, minor corrections
* closes IDF-1135:
  same namespace was used in different tests which
  could lead to conflicts when re-running tests
* removes duplicated functions declarations
* correct argument order for test case macros
2019-11-07 10:23:47 +08:00
Ivan Grokhotkov
1f323ca107 Merge branch 'feature/cxx_rtti_support' into 'master'
C++: allow enabling RTTI, add example

Closes IDFGH-751

See merge request espressif/esp-idf!6342
2019-11-07 01:00:32 +08:00
Ivan Grokhotkov
8d527243d9 tools/docker: use correct branch and commit of IDF when building 2019-11-06 17:58:23 +01:00
Jiang Jiang Jian
bda386c51a Merge branch 'bugfix/fix_the_bug_for_API_CHECK_ENABLED' into 'master'
esp_wifi: fix the bug for API_CHECK_ENABLE

See merge request espressif/esp-idf!6583
2019-11-06 23:42:41 +08:00
Ivan Grokhotkov
6306ea5a92 tiny-test-fw: fix running tests which use IDFDUT class 2019-11-06 15:31:16 +01:00
Ivan Grokhotkov
18c9e306c2 examples/system: add C++ RTTI example 2019-11-06 15:30:44 +01:00
Ivan Grokhotkov
959ca74a29 C++: add an option to enable RTTI support
Closes https://github.com/espressif/esp-idf/issues/1684
2019-11-06 15:29:19 +01:00
zhangyanjiao
bf37f8a03c 1. modify esp_wifi.h to support esp_netif feature
2. fix the bug for API_CHECK_ENABLE
2019-11-06 12:48:02 +00:00
Ivan Grokhotkov
1f22910468 Merge branch 'bugfix/unused_myrand_test_rsa' into 'master'
rsa test: fix a warning

See merge request espressif/esp-idf!6617
2019-11-06 20:41:19 +08:00
Anton Maklakov
f8bfa69060 rsa test: fix a warning 2019-11-06 18:21:39 +07:00
Ivan Grokhotkov
10abced362 Merge branch 'feature/update_toolchain_esp-2019r2' into 'master'
Introduce esp-2019r2 toolchain for both ESP32 and ESP32s2 targets

See merge request espressif/esp-idf!6575
2019-11-06 16:10:51 +08:00
Angus Gratton
5b33d6cf94 Merge branch 'feature/mbedtls_add_faster_modexp' into 'master'
mbedtls: Add a new (X^Y) mod M implementation (HAC 14.94)

Closes IDF-965

See merge request espressif/esp-idf!6418
2019-11-06 15:51:28 +08:00
Angus Gratton
796dd96757 Merge branch 'feature/hwcrypto_perf_ut' into 'master'
mbedtls: enable HW SHA by default, add SHA performance test

See merge request espressif/esp-idf!6320
2019-11-06 12:16:23 +08:00
Angus Gratton
e34bb7460f secure boot: In Reflashable mode, make sure the bootloader digest updates
... whenever the bootloader.bin is updated
2019-11-06 12:13:24 +08:00
Darian Leung
79e74e5d5f freertos: Fix configASSERT thread safety
This commit fixes thread safety issues with configASSERT() calls
regarding the value of uxSchedulerSuspended. A false negative
occurs if a context switch to the opposite core occurs in between
the getting the core ID and the assesment.

Closes https://github.com/espressif/esp-idf/issues/4230
2019-11-05 21:58:02 +08:00
Ivan Grokhotkov
2026340752 clk.h: add extern C guards
Closes https://github.com/espressif/esp-idf/issues/4215
2019-11-05 14:56:16 +01:00
Gabriel Durante
5f0d257240 Added Cpp compatibility for components/spi_flash/include/esp_flash_spi_init.h
Merges https://github.com/espressif/esp-idf/pull/4260
2019-11-05 14:52:57 +01:00
Ivan Grokhotkov
a8e3ad6bd9 bootloader: revert support for booting dual-core apps on single-core bootloader 2019-11-05 14:42:43 +01:00
Ivan Grokhotkov
c75bdcb429 tools: export IDF_CCACHE_ENABLE on Windows by default 2019-11-05 11:45:27 +01:00
Sergei Silnov
ca79a5ecb3 idf.py: add python path to flash instructions
Closes https://github.com/espressif/esptool/issues/449
2019-11-05 11:07:03 +01:00
H.Ogino
7e5d30cda4 idf.py: add encoding option
Merges https://github.com/espressif/esp-idf/pull/4106

Signed-off-by: Sergei Silnov <sergei.silnov@espressif.com>
2019-11-05 10:36:37 +01:00
David Cermak
1d904fdd81 http_client: added comments to http header generation function 2019-11-05 09:53:29 +01:00
David Cermak
9c0844da3f http_client: possible buffer overflow fixed when determining last header item to be written
closes IDF-694
2019-11-05 09:44:06 +01:00
KonstantinKondrashov
e8d3b80e4b mbedtls: Add an UT for performance RSA key operations
(New) - Montgomery exponentiation: Z = X ^ Y mod M  (HAC 14.94)
keysize = 2048 bits
RSA key operation (performance): public [21894 us], private [199119 us]
RSA key operation (performance): public [18768 us], private [189051 us]
RSA key operation (performance): public [16242 us], private [190821 us]
keysize = 3072 bits
RSA key operation (performance): public [39762 us], private [437480 us]
RSA key operation (performance): public [36550 us], private [449422 us]
RSA key operation (performance): public [40536 us], private [443451 us]
keysize = 4096 bits
RSA key operation (performance): public [65671 us], private [885215 us]
RSA key operation (performance): public [60770 us], private [880936 us]
RSA key operation (performance): public [68951 us], private [872027 us]

(Old) - Sliding-window exponentiation: Z = X ^ Y mod M  (HAC 14.85)
keysize = 2048 bits
RSA key operation (performance): public [93206 us], private [280189 us]
RSA key operation (performance): public [93060 us], private [278893 us]
RSA key operation (performance): public [97520 us], private [283252 us]
keysize = 3072 bits
RSA key operation (performance): public [293614 us], private [858157 us]
RSA key operation (performance): public [289902 us], private [843701 us]
RSA key operation (performance): public [291495 us], private [845232 us]
keysize = 4096 bits
RSA key operation (performance): public [653192 us], private [1912126 us]
RSA key operation (performance): public [656661 us], private [1901792 us]
RSA key operation (performance): public [641390 us], private [1938911 us]
2019-11-05 16:33:11 +08:00
KonstantinKondrashov
5ed8388f6b mbedtls: Add Montgomery exponentiation implementation (HAC 14.94)
It gave us a better performance of RSA operations. (2~11 times)

The old modexp implementation (Z = X ^ Y mod M) loaded all the data into
the hw registers and was waiting for completion, but due to
the hardware RSA implementation, the calculations always started with 4096 bit,
which took a lot of time.
Measurement results (measurements were made for keys: 2048, 3072 and 4096 bits)
(Old) - Sliding-window exponentiation (HAC 14.85):
keysize = 2048 bits
RSA key operation (performance): public [93206 us], private [280189 us]
keysize = 3072 bits
RSA key operation (performance): public [293614 us], private [858157 us]
 keysize = 4096 bits
RSA key operation (performance): public [653192 us], private [1912126 us]

Instead (Old) - Sliding-window exponentiation (HAC 14.85) was implemented
(New) - Montgomery exponentiation (HAC 14.94) which showed
better performance on private and public keys.
keysize = 2048 bits
RSA key operation (performance): public [14504 us], private [149456 us]
keysize = 3072 bits
RSA key operation (performance): public [35073 us], private [392743 us]
keysize = 4096 bits
RSA key operation (performance): public [58650 us], private [787186 us]

For this reason, the old implementation was removed
and the MBEDTLS_HARDWARE_MPI option was turned on by default.

Why the MPI_INTERRUPT option is removed:
the old implementation used calculations on the hardware and
it took a lot of time (10ms - 500ms). And in order not to stand idle
while waiting for completion, an interrupt option was added.
This made it possible to carry out other tasks during the calculation,
and this one to block. The new method is free from such a drawback and
the maximum duration of one RSA HW operation does not exceed 70us (usually 2-70 μs).
This option is no longer needed.

Closes: IDF-965
2019-11-05 16:33:11 +08:00
Renz Christian Bagaporo
9d33ad5e25 cmake: support git worktree
Use rev-parse to get the HEAD directory instead of manually looking for
it. This method works in the main repository, worktrees and submodules.

Closes https://github.com/espressif/esp-idf/issues/4136
2019-11-05 15:32:35 +08:00
Angus Gratton
03d07741fd Merge branch 'bugfix/esp32s2beta_vfs_performance' into 'master'
VFS: Fix performance test for esp32s2beta

Closes IDF-1024

See merge request espressif/esp-idf!6549
2019-11-05 12:42:52 +08:00
Angus Gratton
302510cd80 Merge branch 'feature/add_env_tag_for_32khz_xtal_uts' into 'master'
soc(esp32&esp32s2beta): Add test_env for 32kHz XTAL unit tests

See merge request espressif/esp-idf!6555
2019-11-05 12:05:24 +08:00
Angus Gratton
ffdb57e04d Merge branch 'bugfix/http_client_message_complete_callback_invocation' into 'master'
Fix issue in http client regarding `message_complete` callback invocation

Closes IDFGH-2040

See merge request espressif/esp-idf!6413
2019-11-05 12:02:10 +08:00
Chen Zheng Wei
b4a02c57c2 bugfix(i2s_bootloader_random_disable): fix bug about i2s bootloader_random_disable
bootloader_random_disable disables the ADC incorrectly, causing the ADC to sometimes fail to work. Fix this bug

closes https://github.com/espressif/esp-idf/issues/3973
2019-11-05 10:36:53 +08:00
Angus Gratton
8b48a8e72e Merge branch 'feature/efuse_example' into 'master'
examples: Add an example efuse API usage and the group writing mode

Closes IDF-773

See merge request espressif/esp-idf!5810
2019-11-05 10:13:21 +08:00
Roland Dobai
70b6f5397f Fix Python requirement for setuptools 2019-11-04 16:18:37 +01:00
Angus Gratton
ad79772e7e Merge branch 'bugfix/cmake_sdkconfig_issues' into 'master'
cmake: fix sdkconfig related issues

Closes IDF-1086

See merge request espressif/esp-idf!6436
2019-11-04 18:30:49 +08:00
Angus Gratton
13ff57f133 Merge branch 'feature/ipc_runs_with_caller_priority' into 'master'
esp_common: IPC works with the priority of the caller's task

Closes IDF-78

See merge request espressif/esp-idf!6191
2019-11-04 18:29:14 +08:00
Angus Gratton
f80004a74e Merge branch 'feat/spi_flash_verify_encrypted_write' into 'master'
spi_flash: support to verify written encrypted data

Closes IDF-142

See merge request espressif/esp-idf!6467
2019-11-04 18:26:07 +08:00
Angus Gratton
c5ef1cae04 Merge branch 'feature/perfmon' into 'master'
Performance monitor component

See merge request espressif/esp-idf!4705
2019-11-04 18:25:14 +08:00
Angus Gratton
c6f1a32c5c Merge branch 'bugfix/add_swp_to_gitignore' into 'master'
.gitignore: added *.swp in gitignore

See merge request espressif/esp-idf!6563
2019-11-04 18:15:57 +08:00
Hrudaynath Dhabe
87ab9df398 .gitignore: added *.swp in gitignore 2019-11-04 18:15:57 +08:00
Angus Gratton
9ac55b5e55 Merge branch 'fix/ci_ut_psram_wroverb' into 'master'
ci: fix one ut issue when using Wrover-B module with newer ver of PSRAM

See merge request espressif/esp-idf!6553
2019-11-04 18:12:44 +08:00
Ivan Grokhotkov
71b73e61e1 mbedtls: Enable SHA hardware acceleration by default 2019-11-04 10:48:08 +01:00
Ivan Grokhotkov
589a1f216f mbedtls: add SHA performance test
Results with this revision:

SHA256 rate 2.599MB/sec Debug 240MHz SW
SHA256 rate 1.147MB/sec Release 80MHz SW
SHA256 rate 3.469MB/sec Release 240MHz SW
SHA256 rate 2.687MB/sec Release 240MHz SW + PSRAM workaround

SHA256 rate 9.433MB/sec Debug 240MHz HW rev1
SHA256 rate 3.727MB/sec Release 80MHz HW rev1
SHA256 rate 10.961MB/sec Release 240MHz HW rev1
SHA256 rate 9.966MB/sec Release 240MHz HW rev1 + PRAM workaround

SHA256 rate 10.974MB/sec Debug 240MHz HW rev3
SHA256 rate 4.362MB/sec Release 80MHz HW rev3
SHA256 rate 13.207MB/sec Release 240MHz HW rev3

Debug = Og, assertions enabled
Release = O2, assertions disabled
2019-11-04 10:48:08 +01:00
Anton Maklakov
c2db6a14c4 Introduce esp-2019r2 toolchain for both ESP32 and ESP32s2 targets
Adds support of POSIX libs like regex.h

closes https://github.com/espressif/esp-idf/issues/2407
closes https://github.com/espressif/esp-idf/issues/4257
ref https://github.com/espressif/esp-idf/issues/271

Also there are some changes in the toolchain's changelog
2019-11-04 16:14:57 +07:00
Angus Gratton
49193beb6d Merge branch 'bugfix/reenable_esp_event_tests' into 'master'
esp_event: reenable esp_event tests

See merge request espressif/esp-idf!6371
2019-11-04 15:07:34 +08:00
Angus Gratton
0e9c2cdc93 Merge branch 'bugfix/esp32s2beta_enable_protocol_examples' into 'master'
Bugfix/esp32s2beta enable protocol examples

Closes IDF-1027

See merge request espressif/esp-idf!6566
2019-11-04 14:46:57 +08:00
Mahavir Jain
e1a6846ac3 examples/ota: disable WiFi power save mode for optimal performance 2019-11-04 12:15:19 +05:30
Matt Phillips
a51fe89778 Update OTA Documentation to clarify grammar.
The sentence about CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE was worded strangely.
I updated it to better explain the functionality.

Closes https://github.com/espressif/esp-idf/pull/4228
2019-11-04 12:15:19 +05:30
Mahavir Jain
4dcffdb0a9 esp_http_client: fix issue where http parser was not invoking message_complete callback
https://github.com/espressif/esp-idf/issues/2625
https://github.com/espressif/esp-idf/issues/4209
2019-11-04 12:15:19 +05:30
Mahavir Jain
917a406c0a Logging improvements in OTA example and component 2019-11-04 12:15:19 +05:30
Mahavir Jain
de9549936d examples: fix handle passed to esp_https_ota_is_complete_data_received 2019-11-04 12:15:19 +05:30
Angus Gratton
b7c2c93ecc Merge branch 'bugfix/wifi_internal_memory' into 'master'
wifi: Include DMA reserved pool when allocating internal-only memory

Closes WIFI-883

See merge request espressif/esp-idf!6545
2019-11-04 13:55:49 +08:00
Krzysztof Budzynski
efb51d1075 Merge branch 'feature/ethernet-kit-v1.1' into 'master'
Provide Ethernet-Kit V1.1 Getting Started Guide

See merge request espressif/esp-idf!6259
2019-11-04 10:44:00 +08:00
Krzysztof Budzynski
0abb3b99c1 Update missing description of board A and B connectors. Add a note about incorrect GPIO pin labels on the silkscreen besides the function switch. 2019-11-04 10:44:00 +08:00
Renz Christian Bagaporo
2dd74d4b7a ci: remove semicolon for cmake build system test 2019-11-03 16:52:06 +08:00
Renz Christian Bagaporo
42d4f39a9a cmake: consider sdkconfig defaults value from environment 2019-11-03 16:43:58 +08:00
Renz Christian Bagaporo
b0bb53de06 ci: test multiple sdkconfig defaults 2019-11-03 16:43:58 +08:00
Renz Christian Bagaporo
bf1df9b5b5 cmake: do not check if sdkconfig exists 2019-11-03 16:43:58 +08:00
Renz Christian Bagaporo
d43cc4fa4b cmake: allow multiple sdkconfig defaults to be specified 2019-11-03 16:43:58 +08:00
Renz Christian Bagaporo
f356d54365 esp_event: revert changes in !5702 2019-11-03 16:19:30 +08:00
Michael (XIAO Xufeng)
748b79e94a ci: fix one ut issue when using Wrover-B module with newer ver of PSRAM
The workaround for PSRAM that will occupy an SPI bus is enabled only when:

1. used on 32MBit ver 0 PSRAM.
2. work at 80MHz.

The test used to only check 32MBit by the config option, but for PSRAM
on Wrover-B module seems to use a newer version of 32MBit PSRAM.  So it
expects the workaround to be enabled, but actually not.

This commit split the unit test into two parts:

1. check all SPI buses are available, for all configs except psram_hspi
and psram_vspi, run on regular runners (including Wrover and Wrover-B).
a hidden option is enabled so that the compiler knows it's not building
psram_hspi or psram_vspi.

2. check the specified bus are acquired, for config psram_hspi and
psram_vspi. This only run on special runner (legacy Wrover module).
2019-11-03 03:07:37 +00:00
Jiang Jiang Jian
363b573e60 Merge branch 'bugfix/fix_tkip_ccmp_replay_attack_detection_algorithm' into 'master'
esp_wifi: fix tkip/ccmp replay detection algorithm

Closes WIFI-1012

See merge request espressif/esp-idf!6388
2019-11-02 23:42:10 +08:00
liu zhifu
c9dfdc0566 esp_wifi: fix TKIP/CCMP replay attack detection algorithm 2019-11-02 14:49:21 +00:00
tatsutaigu
e6ad82a0b2 idf.py: Add --before flag to esptool.py call
Merges https://github.com/espressif/esp-idf/pull/4125
2019-11-01 20:00:56 +01:00
Ivan Grokhotkov
fc9eddad5c Merge branch 'bugfix/test_build_system_rsync' into 'master'
ci: fix regression in build system tests

See merge request espressif/esp-idf!6576
2019-11-01 23:55:23 +08:00
Ivan Grokhotkov
88b5a9c4d6 ci: fix regression in build system tests
On macOS, rsync --exclude option accepts absolute paths as well as
relative ones. On Linux, it doesn't, which results in endless recursive
copying of test_build_system directory.
2019-11-01 15:43:21 +01:00
Ivan Grokhotkov
28b10e633d Merge branch 'bugfix/esp32s2beta_uxTopUsedPriority' into 'master'
freertos: fix defining uxTopUsedPriority for esp32s2beta

See merge request espressif/esp-idf!6378
2019-11-01 18:51:00 +08:00
Jiang Jiang Jian
d7e9d87aef Merge branch 'bugfix/bugs_in_a2dp_task' into 'master'
components/bt: Not post message to a2dp ctrl queue from btc queue, just call it.

Closes BT-436

See merge request espressif/esp-idf!6019
2019-11-01 18:46:21 +08:00
Ivan Grokhotkov
9ffd444e52 Merge branch 'feature/ci_macos_build_system_test' into 'master'
ci: add CMake build system test for macOS

See merge request espressif/esp-idf!6552
2019-11-01 18:41:30 +08:00
Roland Dobai
84bbafb6a4 VFS: Fix performance test for esp32s2beta 2019-11-01 09:40:16 +00:00
Shubham Kulkarni
0dafdd2984 Merge branch 'bugfix/CMake_esp_https_ota_dependencies' into master
components/esp_https_ota: Changes in public requirement list for CMake and esp_ota_ops.h is included in esp_https_ota.c

bootloader_support is added in public requirements of CMake

bootloader_common.h is included in esp_https_ota.h

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

Closes IDFGH-2066
2019-11-01 12:50:17 +05:30
Jiang Jiang Jian
cb6e2fc858 Merge branch 'feature/wifi_pmk_caching' into 'master'
wifi: Add PMK caching feature for station WPA2-enterprise

Closes IDF-969

See merge request espressif/esp-idf!6156
2019-11-01 15:11:20 +08:00
Krzysztof Budzynski
1c306423ad Merge branch 'doc/ble_mesh_terminology_using_wrong_title' into 'master'
doc: fix wrong title of ble mesh terminology

See merge request espressif/esp-idf!6559
2019-11-01 14:40:43 +08:00
baohongde
90b18dd4f6 components/bt: Not post message to a2dp ctrl queue from btc queue, just call it. 2019-11-01 14:12:25 +08:00
KonstantinKondrashov
6071e2f3c7 esp_common: IPC refactor
- esp_ipc_call_and_wait() can work simultaneously on two CPUs.
- This will increase the priority for ipc_task
  if the current task also wants to use it.
- Added the ESP_IPC_USES_CALLERS_PRIORITY option
  to get back the old IPC behaviour.
2019-11-01 13:41:25 +08:00
Angus Gratton
592946a2cd Merge branch 'bugfix/esp32s2beta_vfs_uart' into 'master'
Fix VFS UART unit tests for esp32s2beta

Closes IDF-1018

See merge request espressif/esp-idf!6301
2019-11-01 13:39:16 +08:00
Jiang Jiang Jian
fd4da421e5 Merge branch 'bugfix/btdm_assert_deinit_a2dp_while_playing' into 'master'
components/bt: Fix assert when deinit A2DP while playing music

Closes BT-471

See merge request espressif/esp-idf!6533
2019-11-01 11:57:01 +08:00
Marius Vikhammer
500c247030 protocol examples: enable protocol examples for esp32sbeta
Closes IDF-1027
2019-11-01 11:14:10 +08:00
Marius Vikhammer
845003a1c3 ASIO: fixed undefined ref to atomic functions and enabled examples for CI (esp32s2beta)
Implemented the atomic functions needed to compile and link the asio examples on esp32s2beta.
2019-11-01 11:12:47 +08:00
Ivan Grokhotkov
3da93b0a5e Merge branch 'bugfix/win_s2_toolchain' into 'master'
tools: Fix toolchain installer for Windows and macOS

See merge request espressif/esp-idf!6548
2019-10-31 23:29:59 +08:00
Ivan Grokhotkov
daa9955e4a Merge branch 'feature/cxx_rtti_preparation_v3' into 'master'
C++:  re-add provisions for optional RTTI support (v3)

See merge request espressif/esp-idf!6556
2019-10-31 23:26:44 +08:00
Ivan Grokhotkov
e24dda5dfb Merge branch 'bugfix/freemodbus_fix_destroy_functions' into 'master'
freemodbus: fix a bug with destroy function of modbus controller and timer port

Closes IDFGH-2056

See merge request espressif/esp-idf!6493
2019-10-31 23:23:24 +08:00
Alex Lisitsyn
4bac558ab3 freemodbus: fix a bug with destroy function of modbus controller and fix port destroy functions
adds timer interrupt handle and free it in vMBXXXPortTimerClose() in master and slave timer port
assign modbus controller interface pointer to NULL in destroy function after free
2019-10-31 23:23:24 +08:00
Jiang Jiang Jian
02a756015d Merge branch 'feature/wifi_merge_libs_to_master' into 'master'
esp_wifi: merge esp32s2beta WiFi library and fix WiFi deinit memory leak bug

See merge request espressif/esp-idf!6531
2019-10-31 20:56:39 +08:00
Mahavir Jain
09f699bf37 docs/en: fix formatting for esp_local_control component 2019-10-31 17:24:16 +05:30
Hrudaynath Dhabe
4d3356be52 wifi: Add PMK caching feature for station WPA2-enterprise
4. Pmksa cache expiry after dot11RSNAConfigPMKLifetime timeout.
2019-10-31 10:51:30 +00:00
Sagar Bijwe
bd5d086475 wifi: Add PMK caching feature for station WPA2-enterprise
1) Added PMK caching module from wpa_supplicant.
2) Modified wpa_sm to
    a) Add entry to PMK cache when first time associated to an AP.
    b) Maintain entry across the associations.
    c) Clear current PMKSA when deauth happens.
    d) Search for an entry when re-associating to the same AP and
       set it as current PMKSA
    e) Wait for msg 1/4 from AP instead of starting EAP authentication.
    f) Check PMKID in msg 1 with current PMKSA/cache.
    g) Use the cached PMK to complete 4-way handshake.
3) Remove config_bss callback as it was redundant and used to cause
   problems for PMK caching flow.

Closes IDF-969
2019-10-31 10:51:30 +00:00
lly
7fde866d8c doc: fix wrong title of ble mesh terminology 2019-10-31 17:06:17 +08:00
Ivan Grokhotkov
c0c75478fa Merge branch 'feature/idfpy_extensions' into 'master'
idf.py: Support extensions for idf.py and move commands to separate files

Closes IDF-1041

See merge request espressif/esp-idf!6416
2019-10-31 15:47:59 +08:00
Ivan Grokhotkov
a29d996191 Merge branch 'bugfix/system_api' into 'master'
system api: Refactor to esp_common, small fixes

Closes IDFGH-2096

See merge request espressif/esp-idf!6544
2019-10-31 15:40:33 +08:00
Marius Vikhammer
bf1977e48e http_server: fix sdmmc related build error for esp32s2beta
ESP32S2 does not have sdmmc, disable SD host for esp32s2
2019-10-31 14:42:29 +08:00
Angus Gratton
937e2fac2d Merge branch 'bugfix/can_critical_section_compliance' into 'master'
CAN: Fix critical section compliance

Closes IDF-986

See merge request espressif/esp-idf!6536
2019-10-31 14:00:36 +08:00
KonstantinKondrashov
e3ff160733 soc/esp32: Add test_env for 32kHz XTAL unit tests 2019-10-31 13:23:47 +08:00
KonstantinKondrashov
f9e0e3557f soc/esp32s2beta: Add test_env for 32kHz XTAL unit tests 2019-10-31 13:23:47 +08:00
Anton Maklakov
c45fdf754f C++: prepare RTTI support
Ref. https://github.com/espressif/esp-idf/issues/1684

Also, for full RTTI support, libstdc++.a in the toolchain should be built
in both with RTTI and w/o RTTI options. Multilib with -fno-rtti
flag is used for that.

Note that this commit does not actually enable RTTI support.
The respective Kconfig option is hidden, and will be made visible when
the toolchain is updated.
2019-10-31 11:20:16 +07:00
Angus Gratton
1768473eb8 bt: Include DMA reserved pool when allocating internal-only memory
Fix for root cause of https://github.com/espressif/esp-idf/issues/3592
2019-10-31 15:19:17 +11:00
Anton Maklakov
d86ec0f367 Revert "C++: add provisions for optional RTTI support"
This reverts commit 499d087c91.
2019-10-31 10:12:16 +07:00
Ivan Grokhotkov
785cc69959 Merge branch 'bugfix/esp32s2beta_ut_sdkconfig_defaults' into 'master'
unit-test-app: fix chip-specific sdkconfig options

See merge request espressif/esp-idf!6063
2019-10-31 02:55:21 +08:00
Ivan Grokhotkov
9279b72a6c idf_tools.py: fix virtualenv issue for macOS with homebrew 2019-10-30 19:44:15 +01:00
Ivan Grokhotkov
f61fd8a664 tools: remove spaces from toolchain URLs 2019-10-30 19:44:15 +01:00
Ivan Grokhotkov
cfe9244a96 ci: add build system test on macOS 2019-10-30 19:44:15 +01:00
Ivan Grokhotkov
058d13c351 ci: fixes for CMake build system test on macOS 2019-10-30 18:59:38 +01:00
Roland Dobai
bdb08de875 tools: Fix toolchain installer for Windows 2019-10-30 15:43:25 +01:00
Roland Dobai
2a0285fdb4 Fix VFS UART unit tests for esp32s2beta 2019-10-30 13:45:12 +00:00
Ivan Grokhotkov
a088678dd4 unit-test-app: apply sdkconfig.defaults.esp32 for Make builds 2019-10-30 10:43:38 +01:00
Ivan Grokhotkov
92d4b86182 ci: add tests for sdkconfig.defaults.IDF_TARGET 2019-10-30 10:43:37 +01:00
Ivan Grokhotkov
64c41cfcad make: add support for sdkconfig.defaults.IDF_TARGET 2019-10-30 10:43:37 +01:00
Ivan Grokhotkov
142e49f4cc unit-test-app: fix chip-specific sdkconfig options
DEFAULT_CPU_FREQ and ULP_COPROC_ENABLED options have chip-specific
names, and should be set in a chip-specific sdkconfig.defaults file.
This commit also changes the default CPU frequency for ESP32S2 unit
tests to 240 MHz.
2019-10-30 10:41:30 +01:00
Sergei Silnov
5e6aae3e04 Fix typo and naming format for extensions 2019-10-30 10:34:17 +01:00
Sergei Silnov
1c798393e2 Add idf.py extensions and move core actions to separate files 2019-10-30 10:34:17 +01:00
Krzysztof Budzynski
8501a8119c Merge branch 'feature/esp-ble-mesh-documentation' into 'master'
Provide BLE Mesh documentation

See merge request espressif/esp-idf!6234
2019-10-30 17:01:19 +08:00
Krzysztof Budzynski
2c3548b65e Provide BLE Mesh documentation 2019-10-30 17:01:18 +08:00
KonstantinKondrashov
cf762d91c2 efuse: Add the batch writing mode
This mode should be used when burning several efuses at one time.
2019-10-30 15:43:40 +08:00
KonstantinKondrashov
d7fa288a6c examples: Add an example efuse API usage
Added: read, write operations for the common and custom efuse tables.
Writing is possible only for CONFIG_EFUSE_VIRTUAL.

Closes: IDF-773
2019-10-30 15:43:40 +08:00
Jiang Jiang Jian
9d5a7f8df6 Merge branch 'bugfix/btdm_possibly_unable_to_enter_sleep_after_woken_up' into 'master'
bugfix/btdm_possibly_unable_to_enter_sleep_after_woken_up

See merge request espressif/esp-idf!6219
2019-10-30 15:38:58 +08:00
Michael (XIAO Xufeng)
2660cb82ae spi_flash: support to verify written encrypted data
Also add unit test for encrypted_read
2019-10-30 05:49:50 +00:00
Angus Gratton
f48285de10 wifi: Include DMA reserved pool when allocating internal-only memory
Fix for root cause of https://github.com/espressif/esp-idf/issues/3592
2019-10-30 15:57:17 +11:00
Angus Gratton
02f6bc5438 Merge branch 'bugfix/ws_client_sending_race' into 'master'
websocket_client: fix locking in ws client task

Closes IDFGH-1973

See merge request espressif/esp-idf!6266
2019-10-30 12:33:59 +08:00
Angus Gratton
045fbd4574 Merge branch 'feature/kconfiglib_package' into 'master'
Update kconfiglib to upstream version and replace mconf-idf

Closes IDF-314, IDF-739, IDFGH-1857, and IDF-1050

See merge request espressif/esp-idf!6057
2019-10-30 12:13:56 +08:00
Angus Gratton
3bddf269ab Merge branch 'doc/review_api-ref_periph-sd_pullup' into 'master'
Review the file api-reference/peripherals/sd_pullup_requirements.rst

See merge request espressif/esp-idf!5793
2019-10-30 12:01:42 +08:00
Angus Gratton
fbbcade397 Merge branch 'bugfix/handler_unregister_itself' into 'master'
esp_event: fix handler unregistering itself

See merge request espressif/esp-idf!6274
2019-10-30 12:00:49 +08:00
Angus Gratton
d0256a8867 Merge branch 'refactor/lwip_port_layer' into 'master'
clean up TCPIP Stack  port layer

Closes IDFGH-1990 and IDFGH-2041

See merge request espressif/esp-idf!6230
2019-10-30 11:58:49 +08:00
Jiang Jiang Jian
9a602920bd Merge branch 'Bugfix/close_nonblocking_tcp_crash' into 'master'
fix bug for close nonblocking socket crash

Closes WIFI-1052

See merge request espressif/esp-idf!5963
2019-10-30 11:27:57 +08:00
Angus Gratton
4827723d76 system api: Move common parts into esp_common component
Also mark esp_base_mac_addr_set argument as 'const *'
2019-10-30 14:19:22 +11:00
Angus Gratton
912bd03a5c system api: Check if Base MAC is a unicast MAC before setting
Closes https://github.com/espressif/esp-idf/issues/4263
Closes IDFGH-2096
2019-10-30 13:52:41 +11:00
liu zhifu
b09624e89a esp_wifi: fix WiFi deinit memory leak 2019-10-30 10:12:15 +08:00
Ivan Grokhotkov
053e722574 Merge branch 'bugfix/gh_action_cron_pull_requests' into 'master'
gh_action: add cron job to sync remaining PRs

Closes IDFGH-1872

See merge request espressif/esp-idf!6445
2019-10-30 03:58:07 +08:00
Ivan Grokhotkov
d90dd48e48 Merge branch 'fix/flag_attr_static' into 'master'
esp_attr: Fix multiple definition linker error for operators for C++ build including FLAG_ATTR'ed enum.

Closes IDF-1091

See merge request espressif/esp-idf!6469
2019-10-30 03:56:14 +08:00
Ivan Grokhotkov
faa219acdb freertos: fix defining uxTopUsedPriority for esp32s2beta 2019-10-29 16:38:48 +01:00
Darian Leung
d2114d70a0 CAN: Fix critical section compliance
This commit makes the CAN driver ISR use the ISR version
of critical section.
2019-10-29 20:06:39 +08:00
baohongde
a099b6f7e4 components/bt: Fix assert when deinit A2DP while playing music 2019-10-29 19:47:50 +08:00
Xia Xiaotian
9afba2abf5 esp_wifi: merge esp32s2beta WiFi library to master branch 2019-10-29 19:41:33 +08:00
Kirill Chalov
22526c1701 Review the file api-reference/peripherals/sd_pullup_requirements.rst 2019-10-29 18:56:48 +08:00
xueyunfei
ee57f5d8f3 fix bug for close nonblocking tcp crash 2019-10-29 18:51:55 +08:00
Jiang Jiang Jian
6e00988608 Merge branch 'bugfix/fix_dhcp_timeout_issue' into 'master'
Bugfix/fix dhcp timeout issue

Closes WIFI-917

See merge request espressif/esp-idf!6300
2019-10-29 18:20:14 +08:00
Roland Dobai
01887f71e7 Update kconfiglib to upstream version and replace mconf-idf
Special thanks to @ulfalizer for the helpful suggestions regarding
kconfiglib.

"rsource" option is available for relative path includes
Closes https://github.com/espressif/esp-idf/issues/4064
2019-10-29 10:40:04 +01:00
Darian Leung
81ddd9e291 CAN: Reenable example tests
This commit updates the CAN example tests and updates the job
and environment labels in the target-test.yml
2019-10-29 17:25:49 +08:00
Krzysztof Budzynski
3b91c1f4b2 Merge branch 'docs/uart_pattern_detection_clarification' into 'master'
docs: Add extra clarification on use of uart pattern detection.

See merge request espressif/esp-idf!6498
2019-10-29 16:55:50 +08:00
Krzysztof Budzynski
14ed4800d1 docs: Add extra clarification on use of uart pattern detection.
Closes https://github.com/espressif/esp-idf/issues/4187
2019-10-29 16:55:49 +08:00
Angus Gratton
dc5a7c85ff Merge branch 'bugfix/child_cmake_uninitialized_vars' into 'master'
cmake: Set uninitialized variable warnings in ULP & bootloader subprojects

See merge request espressif/esp-idf!6302
2019-10-29 16:00:05 +08:00
Angus Gratton
7637feb6ef Merge branch 'bugfix/jump_time_54_sec' into 'master'
esp_timer: Fix time jumps back ~ 54sec

Closes IDFGH-396

See merge request espressif/esp-idf!5943
2019-10-29 14:38:15 +08:00
Angus Gratton
f4ea7c5a46 cmake: Set uninitialized variable warnings in ULP & bootloader subprojects
Fixes issue where PYTHON was not being expanded when running ulp_mapgen.py,
causing Windows launch setting to be used - reported here:
https://esp32.com/viewtopic.php?f=13&t=12640&p=50283#p50283
2019-10-29 05:38:39 +00:00
Angus Gratton
a45e998534 Merge branch 'doc/support_policy' into 'master'
docs: Add ESP-IDF support period policy

See merge request espressif/esp-idf!6369
2019-10-29 13:24:06 +08:00
Angus Gratton
8569d51651 Merge branch 'bugfix/fix_i2s_include_head_bug' into 'master'
Bugfix(I2S):  Fix i2s build error

See merge request espressif/esp-idf!6512
2019-10-29 13:19:00 +08:00
suda-morris
28eae0d467 lwip: cleanup lwip port layer
1. add sys_mbox_trypost_fromisr
2. define sys_msleep
3. simpify semaphore take
2019-10-29 13:11:14 +08:00
Josu Goñi
65d18eab93 Add config option for LWIP TCP_TMR_INTERVAL
Merges https://github.com/espressif/esp-idf/pull/4213
2019-10-29 13:11:14 +08:00
Thomas Schaub
9e2f44b3c2 lwip: add missing source file
Merges https://github.com/espressif/esp-idf/pull/4186
2019-10-29 13:11:14 +08:00
suda-morris
938069de75 gh_action: add cron job to sync remaining PRs 2019-10-29 13:10:00 +08:00
Angus Gratton
055cc251b7 Merge branch 'feature/esp32s2beta_merge' into 'master'
esp32s2beta: Merge support to master

Closes IDF-513, IDF-756, IDF-758, IDF-999, IDF-753, IDF-749, IDF-754, IDF-840, and IDF-755

See merge request espressif/esp-idf!6100
2019-10-29 13:02:01 +08:00
Mahavir Jain
d2e62a1602 Merge branch 'NimBLE/update_to_nimble-1.2.0_release' into 'master'
NimBLE: Update NimBLE submodule to latest `nimble-1.2.0-idf` release

See merge request espressif/esp-idf!6350
2019-10-29 12:52:05 +08:00
Prasad Alatkar
c5339779a7 NimBLE: Update NimBLE submodule to latest nimble-1.2.0-idf release 2019-10-29 12:52:05 +08:00
Mahavir Jain
67a2f558df Merge branch 'feature/esp_tls_add_wolfssl_and_segregate_files' into 'master'
feature/esp_tls :segregate esp_tls , seperate mbedtls api and add wolfssl support for esp32

See merge request espressif/esp-idf!6095
2019-10-29 12:49:40 +08:00
Angus Gratton
e8881352c5 secure boot: Fix bug where verification key was not embedded in app 2019-10-29 12:46:09 +11:00
Jiang Jiang Jian
21d49a7e0d Merge branch 'bugfix/coex_semaphore_take_in_isr_lock' into 'master'
fix bug that semaphore may schedule out in ISR locking

See merge request espressif/esp-idf!6425
2019-10-28 18:43:37 +08:00
Tian Hao
4987a5ad90 fix bug that semaphore may schedule out in Critical Section
1. Since BLE full-scan feature for BLE mesh change the controller code cause this problem,
it cause coex semaphore take in "interrupt disable", then it may cause task schedule
and cause crash in freertos
2. Fix newlib lock ISR context and critical section check
3. Fix bt controller ISR context and critical section check
2019-10-28 18:43:35 +08:00
Aditya Patwardhan
988f0c8feb ESP_TLS: Generalizing error messages for esp_tls
:Replace mbedtls specific error messages
2019-10-28 16:05:31 +05:30
Aditya Patwardhan
f7eaa5f946 ESP_TLS: Restructuring esp_tls
1)Segregating mbedtls API into seperate file and cleaned esp_tls.c
2)Added support for wolfssl for CMake and make
3)Added support for debug_wolfssl (with menuconfig option)
4)Added info on wolfssl in ESP-TLS docs
2019-10-28 16:05:22 +05:30
Angus Gratton
36cd75d7ed spi_flash tests: Fix exclusion of new API tests in legacy mode 2019-10-28 18:58:05 +11:00
Angus Gratton
894a3b4771 spi_flash: Remove duplicate spi_flash_rom_patch in CMakeLists.txt 2019-10-28 18:58:05 +11:00
Angus Gratton
eea0a6bc56 examples: Add ESP32 DUT class to ext_flash_fatfs example test 2019-10-28 18:58:05 +11:00
Angus Gratton
c6d22c9d65 esp32s2beta: Change default version to "A"
Fixes CI, and most customers should have version "A".
2019-10-28 18:58:05 +11:00
Angus Gratton
6e1aa985e7 ci: Increase INT_WDT_TIMEOUT_MS for PSRAM configs
This shouldn't be necessary, it's a workaround for a bug
in the config system.
2019-10-28 18:58:05 +11:00
Angus Gratton
1f62d4be74 esp32s2beta: Updated the beta chip version config to match the markings 2019-10-28 18:58:05 +11:00
Xia Xiaotian
5ffb42b4dd esp_wifi: support esp32s2beta A, B and marlin3 chip 2019-10-28 18:58:05 +11:00
Romain
5491365874 Fix build error semphr.h:74:3: error: #error "include FreeRTOS.h" must appear in source files before "include semphr.h"
FreeRTOS.h must always be included before semphr.h

Merges https://github.com/espressif/esp-idf/pull/4251
2019-10-28 12:21:26 +08:00
Jiang Jiang Jian
758db1e008 Merge branch 'bugfix/fix_mesh_proxy_adv_with_wrong_dev_name' into 'master'
ble_mesh: using bt device name in mesh proxy adv

Closes BLEMESH-51

See merge request espressif/esp-idf!6438
2019-10-26 20:45:10 +08:00
Jiang Jiang Jian
ea0f0b1700 Merge branch 'feature/btdm_add_api_to_set_channel_classification' into 'master'
Feature/btdm add api to set channel classification

Closes BT-450

See merge request espressif/esp-idf!6229
2019-10-26 20:42:58 +08:00
Jiang Jiang Jian
eef065374e Merge branch 'bugfix/btdm_disable_bt_gatt' into 'master'
components/bt: Disable BR/EDR GATT

Closes BT-456

See merge request espressif/esp-idf!6420
2019-10-26 20:42:37 +08:00
Jiang Jiang Jian
87e1dfa31e Merge branch 'bugfix/btdm_check_avrc_connected_error' into 'master'
components/bt: Fix error in checking AVRC connected

See merge request espressif/esp-idf!6415
2019-10-26 20:42:04 +08:00
Jiang Jiang Jian
a334ace26a Merge branch 'doc/handle_github_prs' into 'master'
address typos fix from PR

Closes IDFGH-2054

See merge request espressif/esp-idf!6481
2019-10-26 20:24:57 +08:00
Jiang Jiang Jian
e461668ea6 Merge branch 'bugfix/mdns_invalid_hostname_queries' into 'master'
mdns: fix crash for hostname queries

See merge request espressif/esp-idf!6480
2019-10-26 20:24:29 +08:00
ronghulin
66c0a107c8 lwip: fix DHCP timeout truncation bug
Change the DHCP timeout type from u16 to u32 to fix DHCP timeout value
truncation issue.
2019-10-25 21:07:37 +08:00
Renz Christian Bagaporo
1ed77e3a8d esp_event: remove extra line from source file 2019-10-25 13:14:05 +08:00
Angus Gratton
7ce75a42c7 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-25 15:13:52 +11:00
Marius Vikhammer
3d1170031b mdns: fix crash for hostname queries
Receiving TXT, PTR, SDPTR and SRV record type queries would crash the application if the hostname
 was used as instance name.

Closes https://github.com/espressif/esp-idf/issues/4224
2019-10-25 03:56:38 +00:00
baohongde
ed984cc9b5 components/bt: Add API and EVT for BLE set channels(BLE) 2019-10-25 11:39:35 +08:00
baohongde
eaf5f6a319 components/bt: Add API and EVT for set AFH channels(BR/EDR) 2019-10-25 11:39:22 +08:00
Renz Christian Bagaporo
521f436315 esp_event: test that handlers can unregister themselves 2019-10-25 11:39:16 +08:00
Renz Christian Bagaporo
3c253295eb esp_event: iterate loop nodes safely as well 2019-10-25 11:39:16 +08:00
Xentec
4c97906fc8 esp_event: fix crash when unregistering a handler instance in itself
When a handler instance is the last one in the list und unregisters
itself, the handler iterator will be invalidated by entering free'd
memory. Same applies for event base and id, if they become empty.

Merges https://github.com/espressif/esp-idf/pull/4139
2019-10-25 11:38:32 +08:00
Jiang Jiang Jian
f974811150 Merge branch 'feature/hf_ag' into 'master'
Feature: BT/HFP AG.

Closes BT-346 and BT-428

See merge request espressif/esp-idf!6306
2019-10-25 10:57:43 +08:00
wangmengyang
11aa4ef1ef components/bt: bugfix that bluetooth controller may not be able to enter sleep after end of wake up request 2019-10-25 02:52:12 +00:00
baohongde
d6201066a3 components/bt: Fix error in checking AVRC connected 2019-10-25 02:50:31 +00:00
baohongde
93f86b8a6d components/bt: Disable BR/EDR GATT 2019-10-25 02:49:51 +00:00
Angus Gratton
caa59da5de Merge branch 'bugfix/can_reset_mode_entry' into 'master'
can: Fix reset mode entry and exit calls

See merge request espressif/esp-idf!6442
2019-10-25 10:31:08 +08:00
Angus Gratton
36d440bd59 ci: Temporarily ignore CAN example test failures
Due to internal CI issue.
2019-10-25 12:49:42 +11:00
Darian Leung
434d1d29d1 can: Fix reset mode entry and exit calls
This commit fixes multiple bugs caused by incorrect calls to
can_enter_reset_mode() and can_exit_reset_mode. Example test
scripts also updated to match new runners.
2019-10-25 03:40:43 +08:00
Rebecca (Bex) Cran
bbb4e0e8f8 Fix typo (tree/three) in uart.rst
Merges https://github.com/espressif/esp-idf/pull/4237
2019-10-24 21:20:24 +08:00
Krzysztof Budzynski
bae5062175 Merge branch 'doc/review_hw-ref-toctree-issues' into 'master'
Make "H/W Reference" toctree symmetrical

See merge request espressif/esp-idf!6449
2019-10-24 16:56:12 +08:00
David Cermak
7c5011f411 websocket_client: fix locking mechanism in ws-client task and when sending data
closes https://github.com/espressif/esp-idf/issues/4169
2019-10-24 07:09:31 +00:00
Mahavir Jain
8661f5f2e7 Merge branch 'nimble/esp_ble_mesh_adv_fix' into 'master'
nimble: Miscellaneous changes

See merge request espressif/esp-idf!6471
2019-10-24 14:38:02 +08:00
Hrishikesh Dhayagude
a26dfe70aa nimble: Miscellaneous changes
1. Update NimBLE submodule as per changes in adv interval and stop port
2. Make changes in ESP BLE Mesh NimBLE host code for the same
2019-10-24 14:38:01 +08:00
Angus Gratton
3caa54e546 Merge branch 'feature/add_ping_example' into 'master'
add ping example

Closes WIFI-1196 and IDF-1068

See merge request espressif/esp-idf!6340
2019-10-24 11:37:38 +08:00
Angus Gratton
4322c863e2 Merge branch 'bugfix/docs_rst_fix_quotation' into 'master'
docs: quotation mark fix in recently added comment

See merge request espressif/esp-idf!6459
2019-10-24 11:18:50 +08:00
X-Ryl669
5780ac3207 esp_attr: Fix multiple definition linker error for operators for C++ build including FLAG_ATTR'ed enum.
Closes: https://github.com/espressif/esp-idf/pull/4021
Closes: https://github.com/espressif/esp-idf/issues/4016
2019-10-23 17:31:24 +08:00
Angus Gratton
ba74534efb Merge branch 'bugfix/esp_tls_check_buffer_size' into 'master'
esp-tls: Asserting maximum output buffer in tls-write.

See merge request espressif/esp-idf!6317
2019-10-23 14:45:28 +08:00
Angus Gratton
c474a7c56e Merge branch 'feature/wifi_redo_scan_example' into 'master'
esp_wifi: Additional code snippets in esp_wifi_scan_example

Closes WIFI-1248

See merge request espressif/esp-idf!6310
2019-10-23 14:12:33 +08:00
Hrudaynath Dhabe
019502a36e esp_wifi: Additional code snippets in esp_wifi_scan_example 2019-10-23 14:12:32 +08:00
Angus Gratton
9f93067649 Merge branch 'bugfix/select_with_sdmmc_mount' into 'master'
VFS: Fix bug which occurs when driver is installed during a select() call

Closes IDFGH-1259

See merge request espressif/esp-idf!6359
2019-10-23 14:05:49 +08:00
Angus Gratton
b525fa2c0a Merge branch 'doc/review_api-ref_periph-spi_master' into 'master'
Review the file api-reference/peripherals/spi_master.rst.

See merge request espressif/esp-idf!5540
2019-10-23 14:04:04 +08:00
Angus Gratton
04dbe663be Merge branch 'feature/heap_caps_get_size_free' into 'master'
add heap_caps_get_allocated_size

See merge request espressif/esp-idf!6375
2019-10-23 14:02:50 +08:00
Angus Gratton
740f334b4b Merge branch 'bugfix/fix_embed_files_docs_with_cmake' into 'master'
docs: cmake docs fixes

See merge request espressif/esp-idf!5391
2019-10-23 13:19:47 +08:00
Angus Gratton
5bec9fb010 Merge branch 'bugfix/random_en_dis_for_app' into 'master'
bootloader_support: Fix using shared CLK_EN and RST_EN regs for random

See merge request espressif/esp-idf!6198
2019-10-23 13:18:01 +08:00
Angus Gratton
b216e3b5c8 Merge branch 'feature/lwip_support_mdns_queries' into 'master'
lw-IP: support mdns queries

See merge request espressif/esp-idf!5242
2019-10-23 13:10:41 +08:00
Angus Gratton
bf1d32d008 Merge branch 'feature/esptool_v2.8' into 'master'
esptool: Bump to v2.8 release

See merge request espressif/esp-idf!6437
2019-10-23 06:03:00 +08:00
David Cermak
b1fbf97802 docs: quotation mark fix in recently added comment 2019-10-22 21:26:37 +02:00
KonstantinKondrashov
b125bb50ea esp_common: IPC works with the priority of the caller's task
Closes: IDF-78
2019-10-22 22:19:34 +08:00
Kirill Chalov
bdaf201bd0 Make "H/W Reference" toctree symmetrical
Update the toctree of "H/W Reference" to make its contents symmetrical for easier and more intuitive navigation.
2019-10-22 21:27:10 +08:00
Krzysztof Budzynski
d3ee6b6225 Merge branch 'doc/add_chinese_translation_for_flash_encryption' into 'master'
add chinese translation into flash encryption

See merge request espressif/esp-idf!6185
2019-10-22 19:37:28 +08:00
Hao Ning
9ecc34e086 add chinese translation into flash encryption 2019-10-22 19:37:28 +08:00
Krzysztof Budzynski
93223ae3f0 Merge branch 'docs/Update_CN_Getting_Started_Legacy_With_Changes_in_EN' into 'master'
Sync CN translation with EN updates regarding GNU make to cmake

See merge request espressif/esp-idf!6309
2019-10-22 17:57:38 +08:00
Natasha
56ce449e7f SYNC CN translation with the lastest EN translation, to make CMAKE the default system
update CN translation
2019-10-22 17:57:37 +08:00
David Cermak
f0c6bb431f ci: mqtt ssl test updated to output larger data in form of binary partition
Testing with predefined buffer sizes for MQTT as well as mbedTLS to
exercise fragmenting outgoing data on both layers. Example test compares
received partition with the actual binary file.
2019-10-22 08:49:42 +00:00
David Cermak
a9e63d947b esp-tls: Added support for fragmenting outgoing data in tls_write(), for cases of out data being larger than the maximum out buffer of underlying tls-stack. 2019-10-22 08:49:42 +00:00
lly
2350b15451 ble_mesh: using bt device name in mesh proxy adv 2019-10-22 15:04:19 +08:00
Angus Gratton
c60370b67f esptool: Update esptool version to match master 2019-10-22 16:44:16 +11:00
Angus Gratton
d1b2c490cd esptool: Bump to v2.8 release 2019-10-22 16:39:54 +11:00
suda-morris
7bdd5f639b doc: add api reference for icmp_echo 2019-10-22 04:38:09 +00:00
suda-morris
dc6acf0033 icmp: add example and unitest 2019-10-22 04:38:09 +00:00
suda-morris
fa32a4bd93 ping: refactor with new esp_ping_xxx APIs
This refactor is only for backwards compatible.
2019-10-22 04:38:09 +00:00
Andro Nooh
a77e69c408 lwip: add icmp echo example
It piggybacks on the console example to add ping support and CLI.

Merges https://github.com/espressif/esp-idf/pull/4093
2019-10-22 04:38:09 +00:00
Ivan Grokhotkov
6c3527e2e6 Merge branch 'bugfix/fix_args_to_spiffsgen_in_make_buildsystem' into 'master'
spiffs: fix issue with args to spiffsgen in make

See merge request espressif/esp-idf!6434
2019-10-22 12:36:49 +08:00
Renz Christian Bagaporo
746322b7d6 spiffs: fix issue with args to spiffsgen in make 2019-10-22 11:35:19 +08:00
Jiang Jiang Jian
59aa07d5d9 Merge branch 'bugfix/btdm_fix_lmp_sniff_req_timeout' into 'master'
components/bt: Fix LMP sniff req timeout

See merge request espressif/esp-idf!6351
2019-10-22 11:20:14 +08:00
Angus Gratton
8675a818f9 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-22 13:51:49 +11:00
Jiang Jiang Jian
4c3c109e60 Merge branch 'feature/nimble_host_esp_ble_mesh' into 'master'
components/bt: Add support of NimBLE host in ESP BLE Mesh

See merge request espressif/esp-idf!6358
2019-10-21 20:18:25 +08:00
Hrishikesh Dhayagude
f58d7d14c7 components/bt: Add support of NimBLE host in ESP BLE Mesh 2019-10-21 20:18:21 +08:00
Jiang Jiang Jian
5b0d262489 Merge branch 'bugfix/not_restoring_ble_mesh_cfg_val' into 'master'
ble_mesh: fix not restoring ble mesh cfg value

See merge request espressif/esp-idf!6275
2019-10-21 20:16:45 +08:00
Roland Dobai
8b56496efa VFS: Fix bug which occurs when driver is installed during a select() call
Closes https://github.com/espressif/esp-idf/issues/3554
2019-10-21 11:59:38 +02:00
zhanghu
341ef5e8b2 add heap_caps_get_size_free 2019-10-21 16:47:36 +08:00
Kirill Chalov
deda0091d9 Review the file api-reference/peripherals/spi_master.rst. 2019-10-21 16:13:16 +08:00
Angus Gratton
27a4802f92 Merge branch 'bugfix/remove_mbedtls_would_block' into 'master'
Remove check for would_block in mbedtls

See merge request espressif/esp-idf!6384
2019-10-21 15:33:59 +08:00
Angus Gratton
c4fddc8590 Merge branch 'support/heap_caps_total_size_api' into 'master'
Add api to get total heap size in bytes for given capability

See merge request espressif/esp-idf!6362
2019-10-21 14:55:58 +08:00
Kewal
d3020b217d Add api to get total heap size in bytes for given capability 2019-10-21 14:55:58 +08:00
Jiang Jiang Jian
bb38d181a1 Merge branch 'bugfix/vfs_fat_sdmmc_mount' into 'master'
Fix memory leak upon failure of esp_vfs_fat_sdmmc_mount()

Closes IDFGH-1969

See merge request espressif/esp-idf!6282
2019-10-21 10:33:37 +08:00
Ivan Grokhotkov
c7d8ef52ca Merge branch 'fix/esp_flash_no_qe' into 'master'
esp_flash: fix the QE write issue in high freq, and support UT for external chips

Closes IDF-888

See merge request espressif/esp-idf!5736
2019-10-20 13:59:30 +08:00
Ivan Grokhotkov
6373196a41 Merge branch 'bugfix/mdns_BCT_fix' into 'master'
mdns: fixes to have the BCT passing with latest IDF/lw-IP

See merge request espressif/esp-idf!6286
2019-10-19 17:10:02 +08:00
Mahavir Jain
4b7a50d584 Merge branch 'bugfix/spi_flash_read_changes_for_less_than_16_bytes' into 'master'
Bugfix/spi flash read changes for less than 16 bytes

Closes IDFGH-1798

See merge request espressif/esp-idf!6126
2019-10-19 14:56:43 +08:00
Ajita Chavan
56f73d7720 flash_ops: fix spi_flash_read with source buffer not from internal memory and size < 16
Closes https://github.com/espressif/esp-idf/issues/4010
2019-10-19 14:56:43 +08:00
Ivan Grokhotkov
1821873a1d Merge branch 'feature/follow_symlinks_in_spiffsgen' into 'master'
spiffs: follow symlinks in spiffsgen

See merge request espressif/esp-idf!6280
2019-10-18 18:49:35 +08:00
Ivan Grokhotkov
5ca7cbfcc4 Merge branch 'bugfix/ci_test_idf_monitor' into 'master'
CI: Adjust the test parameters of IDF Monitor tests

See merge request espressif/esp-idf!6377
2019-10-18 18:01:11 +08:00
Angus Gratton
5db1f5fdfb docs: Add ESP-IDF support period policy 2019-10-18 18:25:20 +11:00
Jiang Jiang Jian
fe94e63de3 Merge branch 'bugfix/modify_buffer_number_type_from_u8_to_u16' into 'master'
esp_wifi: modify WiFi buffer number type from uint8_t to uint16_t

See merge request espressif/esp-idf!6355
2019-10-18 14:24:20 +08:00
Renz Christian Bagaporo
d44e3d9f56 docs: cmake docs fixes 2019-10-18 12:51:46 +08:00
Kedar Sovani
87c3decc12 Remove check for would_block in mbedtls
Basically, in the portability layer, it is checked if the socket is
NON-block, and if not, then even the EAGAIN and EWOULDBLOCK errors are
diverted to a RECV error. This causes a problem for sockets with
receive timeouts set. When such a timeout is set, the condition for
NON_BLOCK isn't met and hence a hard error is returned.

Searching for EAGAIN and EWOULDBLOCK in lwip returns only 3 results
(accept, recvfrom, close) and all of them look to be genuine cases for
EWOULDBLOCK. So removing this check to make receive timeout with TLS
work.
2019-10-17 16:36:18 +05:30
Krzysztof Budzynski
acf114895d Merge branch 'doc/review_api-ref_periph-spi_slave' into 'master'
Doc/review api ref periph spi slave

See merge request espressif/esp-idf!5625
2019-10-17 18:13:09 +08:00
Angus Gratton
05180dfb4c Merge branch 'bugfix/mqtt_reference_latest_version' into 'master'
mqtt: updated to latest version to include latest fixes and features

See merge request espressif/esp-idf!6294
2019-10-17 18:01:58 +08:00
Ivan Grokhotkov
e8af0f264c Merge branch 'feature/cxx_rtti_preparation_v2' into 'master'
C++: add provisions for optional RTTI support (v2)

See merge request espressif/esp-idf!6341
2019-10-17 16:22:06 +08:00
Ivan Grokhotkov
42e59c317a Merge branch 'bugfix/mqtt_example_url_update' into 'master'
MQTT: update default broker URL for examples

Closes IDF-1052

See merge request espressif/esp-idf!6214
2019-10-17 16:12:29 +08:00
Angus Gratton
ae21d669b9 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-17 18:22:08 +11:00
Angus Gratton
0f1923ab22 Merge branch 'bugfix/o2_build_warnings' into 'master'
Fix -O2 build warnings

Closes IDFGH-1945 and IDFGH-1946

See merge request espressif/esp-idf!6311
2019-10-17 13:09:28 +08:00
Angus Gratton
5ee27aeec8 Merge branch 'feature/openeth_driver' into 'master'
ethernet: support OpenCores ethernet MAC

Closes IDF-891

See merge request espressif/esp-idf!6252
2019-10-17 13:05:27 +08:00
Mahavir Jain
84f5322d05 Merge branch 'nimble/update_no_of_conn' into 'master'
NimBLE: Set the default number of max connections to the controller's value

See merge request espressif/esp-idf!6353
2019-10-17 12:54:37 +08:00
Hrishikesh Dhayagude
10fd2ae653 NimBLE: Set the default number of max connections to the controller's value
Also, update the NimBLE submodule to remove unwanted logging stuff
2019-10-17 12:54:34 +08:00
Angus Gratton
89d2e2a5e3 Merge branch 'feature/example_netbios' into 'master'
add netbios support in restful server example

Closes IDF-1070

See merge request espressif/esp-idf!6346
2019-10-17 12:54:01 +08:00
Angus Gratton
b7fd8166d5 Merge branch 'bugfix/ws_opcodes_fix' into 'master'
ws_client: fix for not sending ping responses, updated to pass events also for...

See merge request espressif/esp-idf!6111
2019-10-17 12:36:08 +08:00
Angus Gratton
dd326447c1 Merge branch 'feature/can_support_low_bit_rates' into 'master'
can:  Support for lower bit rates for ESP32 ECO2 and ECO3

Closes IDF-1045

See merge request espressif/esp-idf!6363
2019-10-17 12:33:18 +08:00
Darian
820fd6447d can: Add support for lower bit rates
This commit adds support for lower bit rates in the CAN Driver for
ESP32 Rev 2 or later chips.
2019-10-17 12:33:17 +08:00
Angus Gratton
d3157910e0 ci: Fix "local variable referenced before assignment" if connecting to DUT fails 2019-10-17 14:38:49 +11:00
Angus Gratton
7016cb8864 Merge branch 'doc/add_doc_for_socket_error_usage' into 'master'
doc: add LW-IP socket error usage

See merge request espressif/esp-idf!5856
2019-10-17 06:17:34 +08:00
Xia Xiaotian
dfdf04644f Support WiFi both on esp32 and esp32s2beta 2019-10-17 09:12:37 +11:00
Roland Dobai
0744b6fadb CI: Adjust the test parameters of IDF Monitor 2019-10-16 12:38:47 +02:00
KonstantinKondrashov
007d01c10a esp_timer: Fix System time jumps back ~54secs
Closes: https://github.com/espressif/esp-idf/issues/2513
2019-10-16 18:33:14 +08:00
KonstantinKondrashov
d80fae2c88 esp32: Add UTs to check the System time does not jump back 2019-10-16 16:06:39 +08:00
Angus Gratton
65940cc0da Merge branch 'feature/log_system_time' into 'master'
log: Add menuconfig option to log system time rather than RTOS time

See merge request espressif/esp-idf!6103
2019-10-16 14:56:14 +08:00
Angus Gratton
633a8376db Merge branch 'bugfix/ethernet_unitest_crash' into 'master'
ethernet: fix crash in unit test

See merge request espressif/esp-idf!6284
2019-10-16 13:05:16 +08:00
Angus Gratton
d767475fd0 Merge branch 'bugfix/ws_buffer_overflow_fix' into 'master'
tcp_transport: fix possible buffer overflow in ws transport connect

Closes IDF-692

See merge request espressif/esp-idf!5887
2019-10-16 13:04:39 +08:00
Angus Gratton
50cb3ad622 ci: Update unit test jobs to match master 2019-10-16 15:16:46 +11:00
Ivan Grokhotkov
d0f615e6f8 Merge branch 'fix/tcp_server_example' into 'master'
Bugfix of tcp_server example.

Closes IDFGH-1306

See merge request espressif/esp-idf!5211
2019-10-15 23:04:47 +08:00
Kirill Chalov
2c7165f783 Review the file api-reference/peripherals/spi_slave.rst 2019-10-15 22:13:03 +08:00
Marius Vikhammer
c6934d6175 MQTT: update default broker URL for examples
The MQTT broker URL used as default in the examples has ceased operation. All examples and documention have been updated to point to the new domain mqtt.eclipse.org.
This also required an update of the python example test scripts to use TLS 1.2
2019-10-15 09:35:23 +00:00
Krzysztof Budzynski
2e6398affa Merge branch 'docs/Update_CN_hW_Reference_With_Changes_in_EN' into 'master'
Update board getting started guides to make cmake default

See merge request espressif/esp-idf!6295
2019-10-15 17:15:17 +08:00
Natasha
c70d234ee6 Update board getting started guides to make cmake default 2019-10-15 17:15:15 +08:00
David Cermak
07e0254f06 lwip: autoip: used Kconfig parameters instead of constants to be in line with previous esp-lwip port and to have the BCT passed 2019-10-15 07:07:00 +00:00
David Cermak
7f410a0bcb mdns: fix possible race condition when checking DHCP status on WIFI_EVENT_STA_CONNECTED event.
tcpip_adapter_dhcpc_get_status() returns the actual internal value of dhcp client without any locking or TCP/IP stack context call, so when CONNECTED event fired with default settings it started DHCP client in TCP/IP stack context and at the same time mdns event handler checking actual DHCP state, which could still be INIT (not STARTED). Purpose of this check is to enable PCB if DHCP was stopped before setting network interface up (typically static IP settings), so the solutin is to check against TCPIP_ADAPTER_DHCP_STOPPED state
2019-10-15 07:07:00 +00:00
David Cermak
f3cb91ef71 mdns: updated example test to exercise also hostnames resolved by lwip gethostbyname and getaddrinfo 2019-10-15 07:02:19 +00:00
David Cermak
81cd406683 lwip: support mdns queries 2019-10-15 07:02:19 +00:00
Angus Gratton
a89000855e esptool: Update submodule adding ESP32-S2 beta support 2019-10-15 16:55:39 +11:00
Angus Gratton
f5238d5e42 Merge branch 'feature/esp32s2beta' into feature/esp32s2beta_merge 2019-10-15 15:03:45 +11:00
Angus Gratton
496ede9bcd Merge branch 'master' into feature/esp32s2beta_merge 2019-10-15 14:59:27 +11:00
Ivan Grokhotkov
7e3676f307 Merge branch 'bugfix/debug_logs_cleanup' into 'master'
Bugfix/debug logs cleanup

See merge request espressif/esp-idf!6209
2019-10-14 23:37:51 +08:00
Hrudaynath Dhabe
ac0b4c184d wpa_supplicant: Make hexdump logs more compact
When running with wpa debug prints enabled data/key hexdumps are
printed to the log in a really verbose format (one byte per line).

Make these printouts more compact. 16 bytes per line.
2019-10-14 23:37:51 +08:00
Ivan Grokhotkov
1ab458b60b Merge branch 'bugfix/console_command_exit_error_check' into 'master'
console: fix wrong param passed to esp_err_to_name

See merge request espressif/esp-idf!6360
2019-10-14 23:10:01 +08:00
Jiang Jiang Jian
b76756b5ab Merge branch 'feature/idf_monitor_detect_port' into 'master'
idf_monitor: Autodetect port

Closes IDFGH-1995

See merge request espressif/esp-idf!6345
2019-10-14 22:19:56 +08:00
Jiang Jiang Jian
93bca1dc2b Merge branch 'hfp_bugfix' into 'master'
component/bt: Fix bugs in HFP feature

Closes BT-427

See merge request espressif/esp-idf!6197
2019-10-14 21:47:56 +08:00
Jiang Jiang Jian
8b777ace9f Merge branch 'bugfix/apps_esp_ble_mesh' into 'master'
ESP BLE Mesh: Minor fix - Print the address and the on/off value appropriately

See merge request espressif/esp-idf!6322
2019-10-14 21:42:36 +08:00
Hrishikesh Dhayagude
04325d2876 ESP BLE Mesh: Minor fix - Print the address and the on/off value appropriately
The new value should be printed in the set function and not the previous
one.
2019-10-14 21:42:35 +08:00
Jiang Jiang Jian
bf87d0949b Merge branch 'bugfix/btdm_osi_queue_gycfix_master' into 'master'
Component/bt : Added handling of osi memory calloc failure

See merge request espressif/esp-idf!6140
2019-10-14 21:35:41 +08:00
liu zhifu
d56e7ec037 esp_wifi: modify WiFi buffer number type from uint8_t to uint16_t
Modify WiFi receiving buffer number type from uint8_t to uint16_t to support
configuring more than 255 buffers.
2019-10-14 21:30:45 +08:00
Jiang Jiang Jian
b6a7b35b61 Merge branch 'bugfix/fix_sta_wpa2_enterprise_issue' into 'master'
esp_wifi: fix a station wpa2 enterprise issue

Closes WIFI-1042

See merge request espressif/esp-idf!6287
2019-10-14 21:27:05 +08:00
suda-morris
81e88764d5 console: fix wrong param passed to esp_err_to_name 2019-10-14 19:49:19 +08:00
Michael (XIAO Xufeng)
eb104aa16f esp_flash: fix the quad issue for some GD flash chips
The GD flash with product ID 40H, is already used in Wrover-nosufix modules.
2019-10-14 17:25:59 +08:00
Michael (XIAO Xufeng)
1e1d50376b esp_flash: add unit test for external flash and QE toggling
Tests for external flash chips used to controlled by macros, one bin for
one chip. And tests are done manually. This commit refactored the test
so that all 3 chips can all run in single test.
2019-10-14 17:25:58 +08:00
Michael (XIAO Xufeng)
15d311bb80 esp_flash: rename internal variables for better readability
chip_drv in HAL are renamed as host
2019-10-14 17:25:58 +08:00
Michael (XIAO Xufeng)
571864e8ae esp_flash: fix set qe bit and write command issues
There used to be dummy phase before out phase in common command
transactions. This corrupts the data.

The code before never actually operate (clear) the QE bit, once it finds
the QE bit is set. It's hard to check whether the QE set/disable
functions work well.

This commit:

1. Cancel the dummy phase

2. Set and clear the QE bit according to chip settings, allowing tests
   for QE bits. However for some chips (Winbond for example), it's not
   forced to clear the QE bit if not able to.

3. Also refactor to allow chip_generic and other chips to share the same
   code to read and write qe bit; let common command and read command share
   configure_host_io_mode.

4. Rename read mode to io mode since maybe we will write data with quad
   mode one day.
2019-10-14 17:25:58 +08:00
David Cermak
abf9345b85 ws_client: fix for not sending ping responses, updated to pass events also for PING and PONG messages, added interfaces to send both binary and text data
closes https://github.com/espressif/esp-idf/issues/3982
2019-10-14 11:05:27 +02:00
weitianhua
26b69f1363 New Clean Commit for AG.
Only Support single AG control block.
2019-10-14 07:54:09 +00:00
Angus Gratton
8fbece32a9 Merge branch 'bugfix/msys2_toolchain_path_note' into 'master'
docs: update windows msys2 installer notes to unzip all-in-one toolchain to path without spaces

See merge request espressif/esp-idf!6181
2019-10-14 15:31:49 +08:00
Angus Gratton
5ce95f2bfd Merge branch 'bugfix/ci_weekend_test_update' into 'master'
CI: weekend test fixes

See merge request espressif/esp-idf!6235
2019-10-14 15:30:33 +08:00
Angus Gratton
92a507c0aa Merge branch 'bugfix/ws_client_fix_event_blocking' into 'master'
ws_client: fixed posting to event loop with websocket timeout

See merge request espressif/esp-idf!5901
2019-10-14 15:17:34 +08:00
Angus Gratton
5d59895067 Merge branch 'bugfix/ws_client_fixed_path_query_uri' into 'master'
websocket_client: fix URI parsing to include also query part in websocket connection path

See merge request espressif/esp-idf!6201
2019-10-14 15:01:59 +08:00
Angus Gratton
d4edc6a40a Merge branch 'bugfix/mdns_answer_ip6_size' into 'master'
mdns: use constant size of AAAA answer instead of lw_IP struct size

Closes WIFI-771

See merge request espressif/esp-idf!6188
2019-10-14 14:59:16 +08:00
baohongde
e1d61d03de components/bt: Fix LMP sniff req timeout 2019-10-14 14:56:07 +08:00
David Cermak
555cc11a25 tcp_transport: fix possible buffer overflow in ws transport connect
closes IDF-692
2019-10-14 06:50:22 +00:00
suda-morris
84c72863e1 add netbios support in restful server example 2019-10-14 14:26:43 +08:00
David Cermak
640eac84fa mqtt: updated to latest version to include latest fixes, support for global CA store, extended error structure to receive mqtt specific errors. updated idf ssl example to use this error struct
https://github.com/espressif/esp-mqtt/issues/135
2019-10-14 06:26:14 +00:00
Roland Dobai
72040f2c44 idf_monitor: Autodetect port
Closes https://github.com/espressif/esp-idf/issues/4191
2019-10-14 08:06:43 +02:00
Angus Gratton
e2897f4d4a Merge branch 'doc/esp_ringbuf_acquire_complete' into 'master'
esp_ringbuf: add documents for SendAcquire and SendComplete

See merge request espressif/esp-idf!6165
2019-10-14 11:34:12 +08:00
Ivan Grokhotkov
c1ccfde6dd Merge branch 'docs/update_bootloader_chip_revision_print' into 'master'
bootloader_support: fix logging prints around chip revision

See merge request espressif/esp-idf!6324
2019-10-14 11:29:49 +08:00
Ivan Grokhotkov
31dac92e5f ethernet: support OpenCores ethernet MAC
OpenCores Ethernet MAC has a relatively simple interface, and is
already supported in QEMU. This makes it a good candidate for enabling
network support when running IDF apps in QEMU, compared to the
relatively more complex task of writing a QEMU model of ESP32 EMAC.

This driver is written with QEMU in mind: it does not implement or
handle things that aren't implemented or handled in the QEMU model:
error flags, error interrupts. The transmit part of the driver also
assumes that the TX operation is done immediately when the TX
descriptor is written (which is the case with QEMU), hence waiting for
the TX operation to complete is not necessary.

For simplicity, the driver assumes that the peripheral register
occupy the same memory range as the ESP32 EMAC registers, and the
same interrupt source number is used.
2019-10-13 17:05:26 +02:00
Ivan Grokhotkov
e763a3a96f ci: add test build with -O2 -NDEBUG, cleanup 2019-10-13 16:21:08 +02:00
Ivan Grokhotkov
6e423d5cf6 drivers/can: fix skipped function calls when assertions disabled
When CONFIG_FREERTOS_ASSERT_DISABLE is set, the function calls wrapped
inside the assertion macros would be removed from the code.

Closes https://github.com/espressif/esp-idf/issues/4143
2019-10-13 15:37:19 +02:00
Ivan Grokhotkov
0be585179e spiffs: fix warning when building at release optimization level
Closes https://github.com/espressif/esp-idf/issues/4144
2019-10-13 15:37:19 +02:00
Ivan Grokhotkov
499d087c91 C++: add provisions for optional RTTI support
Ref. https://github.com/espressif/esp-idf/issues/1684

This change allows RTTI to be enabled in menuconfig. For full RTTI
support, libstdc++.a in the toolchain should be built without
-fno-rtti, as it is done now.

Generally if libstdc++.a is built with RTTI, applications which do not
use RTTI (and build with -fno-rtti) could still include typeinfo
structures referenced from STL classes’ vtables. This change works
around this, by moving all typeinfo structures from libstdc++.a into
a non-loadable section, placed into a non-existent memory region
starting at address 0. This can be done because when the application
is compiled with -fno-rtti, typeinfo structures are not used at run
time. This way, typeinfo structures do not contribute to the
application binary size.

If the application is build with RTTI support, typeinfo structures are
linked into the application .rodata section as usual.

Note that this commit does not actually enable RTTI support.
The respective Kconfig option is hidden, and will be made visible when
the toolchain is updated.
2019-10-13 14:46:44 +02:00
Mahavir Jain
99659091fb bootloader_support: fix logging prints around chip revision 2019-10-11 14:35:22 +05:30
michael
37fdcc1eb5 esp_ringbuf: add documents for SendAcquire and SendComplete 2019-10-11 15:44:27 +08:00
Angus Gratton
420ee45279 Merge branch 'feature/handle_icy_uris' into 'master'
Modified http_parser to handle ICY uris.

See merge request espressif/esp-idf!6207
2019-10-11 14:06:16 +08:00
Angus Gratton
9f9cc717e3 Merge branch 'refactor/ethernet_remove_blocking_in_timer_callback' into 'master'
Ethernet: optimize and bugfix

Closes IDF-1051

See merge request espressif/esp-idf!6213
2019-10-11 13:07:38 +08:00
Vikram Dattu
742d4689dd Modified http_parser to handle ICY uris.
ICY URIs e.g `http://uk1.internet-radio.com/proxy/vombat?mp=/;` need to
be handled differently.

For basic use case, these URIs are similar to HTTP with exception that they reply with `ICY 200` etc in place of `HTTP/1.1 200`.

In http_parser, we now also parse ICY URIs to be able to handle these similar to HTTP.

Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2019-10-11 05:04:08 +00:00
Angus Gratton
d2ad0f0774 Merge branch 'test/add_wifi_init_unit_test_case' into 'master'
add wifi init unit test cases

Closes IDF-77

See merge request espressif/esp-idf!4200
2019-10-11 13:00:59 +08:00
Hu Chao Ru
fc018987eb add wifi init unit test cases 2019-10-11 13:00:57 +08:00
Angus Gratton
51b4e97e42 Merge branch 'fix/cmake_req_private_comp' into 'master'
cmake: Fix cmakelists to add required private components

See merge request espressif/esp-idf!5428
2019-10-11 12:58:45 +08:00
suda-morris
13c128fd31 Ethernet: optimize and bugfix
1. simplify deallocate in esp_eth_mac_new_esp32, esp_eth_mac_new_dm9051
2. remove blocking operation in os timer callback
3. check buffer size in ethernet receive function
2019-10-11 12:15:17 +08:00
ronghulin
4e1ccd8b6f doc: add LWIP socket error usage 2019-10-11 12:09:10 +08:00
suda-morris
f0bfd33a10 ethernet: fix crash in unit test 2019-10-11 02:14:12 +00:00
lly
35353de137 ble_mesh: fix not callback net_key when device is provisioned 2019-10-11 09:51:02 +08:00
liu zhifu
0e3cdce8f7 esp_wifi: fix the bug that wpa2 enterprise sta can connect open AP 2019-10-11 09:39:35 +08:00
Roland Dobai
19c644f7fd Fix memory leak upon failure of esp_vfs_fat_sdmmc_mount()
Closes https://github.com/espressif/esp-idf/issues/4165
2019-10-10 14:28:43 +00:00
Jiang Jiang Jian
25c55405d4 Merge branch 'bugfix/wifi_lib_ci' into 'master'
ci: fix ci issues of wifi lib

See merge request espressif/esp-idf!6288
2019-10-10 22:25:36 +08:00
Mahavir Jain
6499d36441 Merge branch 'NimBLE/fix_esp_nimble_hci_delay' into 'master'
NimBLE: Misc changes in NimBLE porting layer and menuconfig option

See merge request espressif/esp-idf!6243
2019-10-10 17:20:15 +08:00
Prasad Alatkar
19375a674e NimBLE: Misc changes in NimBLE porting layer and menuconfig option
- Minor fix to remove while loop & delay while transmitting data from
  host to controller.
- Add menuconfig option to enable predefined public-private keypair for
  debugging (Vol. 3, Part H, 2.3.5.6.1)
2019-10-10 17:20:15 +08:00
Krzysztof Budzynski
74e39c9cff Merge branch 'docs/Update_CN_Getting_Started_With_Changes_in_EN' into 'master'
Add translation for getting started guide - batch 1

See merge request espressif/esp-idf!6147
2019-10-10 16:52:07 +08:00
Natasha
b0f2bb2adc Add translation for getting started guide - batch 1 2019-10-10 16:52:07 +08:00
Angus Gratton
ae236c33a2 Merge branch 'bugfix/ut_adjtime' into 'master'
newlib: Fix UT - test time adjustment happens linearly

See merge request espressif/esp-idf!6245
2019-10-10 11:08:46 +08:00
Angus Gratton
6df8658b5b Merge branch 'bugfix/fixes_from_kconfiglib_update' into 'master'
Fix of menuconfig bug for MSYS2 and a couple of cosmetic changes

See merge request espressif/esp-idf!6255
2019-10-10 11:06:29 +08:00
Ivan Grokhotkov
f8a3da024a Merge branch 'bugfix/treat_unreg_components_as_unresolved' into 'master'
CMake: Treat unregistered components as unresolved

See merge request espressif/esp-idf!5700
2019-10-09 23:53:57 +08:00
Ivan Grokhotkov
fc9a63f0b7 Merge branch 'feature/cxx_coding_style' into 'master'
doc: Added basic C++ style guide

See merge request espressif/esp-idf!6216
2019-10-09 23:52:18 +08:00
Ivan Grokhotkov
751b60b171 Merge branch 'feature/add_psram_workaround_option' into 'master'
make psram workaround depend on chip revison

Closes IDF-1004

See merge request espressif/esp-idf!6113
2019-10-09 23:41:09 +08:00
MartinValik
b7bfcf3c93 Revised tcp_server example.
Fixed error caused by unnecessary reopening of listening socket.
Extracted packet retransmit logic to separate function.
Added robust implementation for sending data

Closes https://github.com/espressif/esp-idf/pull/3597
2019-10-09 14:34:28 +02:00
Mahavir Jain
262b1c9f65 Merge branch 'bugfix/coap_mbedtls_add_define_check_for_apln' into 'master'
ESP32/coap_mbedtls:add macro checks

See merge request espressif/esp-idf!6262
2019-10-09 16:46:46 +08:00
Aditya Patwardhan
3e9a054626 ESP32/coap_mbedtls:add macro checks
Closes https://github.com/espressif/esp-idf/issues/4156
2019-10-09 16:46:46 +08:00
chenyudong
c6129b81f2 ci: fix ci issues of wifi lib
sync esp_wifi.h to wifi lib
2019-10-09 15:07:19 +08:00
Krzysztof Budzynski
2d4761f548 Merge branch 'doc/zh_CN_repo_README' into 'master'
add zh_CN translation of README in esp-idf repo

Closes IDF-957

See merge request espressif/esp-idf!6217
2019-10-09 13:48:35 +08:00
Jakob Hasse
e33153f633 Added basic C++ style guide
* C++ style guide
* Changed headings to "Title Case"
2019-10-09 12:25:48 +08:00
Angus Gratton
27aaff798b Merge branch 'feature/esp32s2beta_merge_fix_bootloader_ld' into 'feature/esp32s2beta'
bootloader: Fix bootloader ld for esp32s2beta

See merge request espressif/esp-idf!6187
2019-10-09 12:21:25 +08:00
suda-morris
18183871de add zh_CN translation of README in esp-idf repo 2019-10-09 11:50:06 +08:00
Angus Gratton
9550607b33 Merge branch 'bugfix/alt_exit_idf_monitor' into 'master'
idf_monitor: Exit with CTRL+X in menu

Closes IDFGH-1971 and IDFGH-1930

See merge request espressif/esp-idf!6260
2019-10-09 09:39:51 +08:00
Renz Christian Bagaporo
a986283997 spiffs: follow symlinks in host test 2019-10-08 17:55:59 +08:00
Marcin Borowicz
6153a0ab62 spiffs: follow symlinks feature during partition in spiffsgen 2019-10-08 17:55:59 +08:00
lly
673f58fe03 ble_mesh: fix not restoring ble mesh cfg value 2019-10-08 16:34:05 +08:00
Ivan Grokhotkov
46a65a35d6 Merge branch 'bugfix/missing_build_targets_cmake' into 'master'
esptool_py: add missing phony build targets for CMake

Closes IDFGH-370

See merge request espressif/esp-idf!5838
2019-10-08 16:24:40 +08:00
Ivan Grokhotkov
416d14ca6b Merge branch 'feat/spi_internal_header' into 'master'
spi: move deprecated functions into internal header

See merge request espressif/esp-idf!5985
2019-10-08 16:19:46 +08:00
Ivan Grokhotkov
b61c3d5d0f Merge branch 'bugfix/examples_disconnect_before_restart' into 'master'
examples: disconnect from Wi-Fi before restart (and don't try to reconnect!)

See merge request espressif/esp-idf!6267
2019-10-08 16:16:25 +08:00
Per-Olov Jernberg
6435c9f3d5 idf_monitor: Exit with CTRL+X in menu
Currently, the only way of exiting the idf_monitor program is to hit the CTRL+] button, if your keyboard doesn't have that key unless you hit another modifier key, it's not super trivial to exit.

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

Closes https://github.com/espressif/esp-idf/pull/4167
Closes https://github.com/espressif/esp-idf/issues/4129
2019-10-08 08:15:51 +00:00
Ivan Grokhotkov
bf056c30d2 Merge branch 'bugfix/restful_server_make_flash' into 'master'
examples/restful_server: fix Makefile syntax for flashing SPIFFS

Closes IDFGH-1841

See merge request espressif/esp-idf!6263
2019-10-08 16:14:40 +08:00
Roland Dobai
56fcafc346 Fix cmake typo 2019-10-08 08:11:53 +00:00
Roland Dobai
d24086c529 tools: Fix idf.py menuconfig characters in MSYS2 2019-10-08 08:11:53 +00:00
Roland Dobai
d3ed17acd7 Cosmetic Kconfig fixes 2019-10-08 08:11:53 +00:00
KonstantinKondrashov
267ca19ae8 bootloader: Fix dram_seg 2019-10-08 16:07:53 +08:00
weitianhua
9f0a44f5c0 component/bt: Fix bugs in HFP feature 2019-10-08 07:07:45 +00:00
Angus Gratton
8c1f3cb6b2 Merge branch 'feature/esp32s2beta_isr_table' into 'feature/esp32s2beta'
soc: Add interrupt numbers mapping for esp32s2beta

See merge request espressif/esp-idf!6204
2019-10-08 12:45:26 +08:00
Angus Gratton
1fb461a24c Merge branch 'feature/esp32s2beta_fix_test_posix_timers_clock' into 'feature/esp32s2beta'
newlib: Fix test_posix_timers_clock for esp32s2beta

See merge request espressif/esp-idf!6170
2019-10-08 12:43:20 +08:00
Angus Gratton
4d7c955041 Merge branch 'bugfix/freertos_xTaskNotifyGive' into 'master'
freertos: remove semicolon in xTaskNotifyGive

See merge request espressif/esp-idf!6208
2019-10-08 12:21:40 +08:00
Michael (XIAO Xufeng)
afbe1ba878 spi: move deprecated functions into internal header
Resolves https://github.com/espressif/esp-idf/issues/4132
2019-10-08 11:51:39 +08:00
Angus Gratton
20456e697c Merge branch 'bugfix/rtc_wdt_timeout' into 'feature/esp32s2beta'
soc: Fix setting timeout for RTC_WDT

See merge request espressif/esp-idf!6172
2019-10-08 09:57:07 +08:00
GOPTIONS\pfrost
23e9224be6 log: Add menuconfig option to log system time rather than RTOS time
Merges https://github.com/espressif/esp-idf/pull/3958
2019-10-08 12:03:45 +11:00
Ivan Grokhotkov
5768102d4e esp_wifi: fix typo in comments (ESP_ERR_WIFI_NOT_STARTED) 2019-10-07 16:48:32 +02:00
Ivan Grokhotkov
28a440521e examples: gracefully shut down Wi-Fi before restart
This fixes the issue that if Wi-Fi is stopped from a shutdown handler,
the code in connect.c tries to reconnect, and fails because Wi-Fi is
already stopped.
Also make the error check in connect.c less strict.
2019-10-07 16:47:49 +02:00
David Cermak
271e6c4c9c websocket_client: fix URI parsing to include also query part in websocket connection path
closes https://github.com/espressif/esp-idf/issues/4090
2019-10-07 16:40:38 +02:00
Ivan Grokhotkov
f0563b3844 system_api: call shutdown handlers in reverse order
Similar to how destructors should be called in reverse order to the
constructors.
2019-10-07 16:36:18 +02:00
David Cermak
50505068c4 ws_client: fixed posting to event loop with websocket timeout
Executing event loop `esp_event_loop_run()` with timeout causes delays in receiving events from user code. Fixed by removing the timeout to post synchronously.

closes https://github.com/espressif/esp-idf/issues/3957
2019-10-07 16:34:51 +02:00
Ivan Grokhotkov
d77a7c23da Merge branch 'bugfix/ws_client_fixes' into 'master'
ws_client: various fixes

See merge request espressif/esp-idf!5879
2019-10-07 20:05:41 +08:00
Mahavir Jain
51ce458adb Merge branch 'bugfix/esp_tls_add_header_in_esp_tls_h' into 'master'
ESP32/esp_tls: include esp_err.h in esp_tls.h

See merge request espressif/esp-idf!6256
2019-10-07 19:47:33 +08:00
Aditya Patwardhan
9f86f969b2 ESP32/esp-tls: include esp_err.h in esp_tls.h
Closes https://github.com/espressif/esp-idf/issues/4100
2019-10-07 19:47:32 +08:00
Ivan Grokhotkov
75f2948e02 examples/restful_server: fix Makefile syntax for flashing SPIFFS
Closes https://github.com/espressif/esp-idf/issues/4050
2019-10-07 13:28:38 +02:00
KonstantinKondrashov
0c44f8ccbd esp32: Using periph_module_enable instead of the shared regs. 2019-10-07 06:47:00 +00:00
KonstantinKondrashov
807826f796 bootloader_support: Fix using shared CLK_EN and RST_EN regs for random
bootloader_random_enable() and bootloader_random_disable() functions
can be used in app.
This MR added the protection for shared CLK_EN and RST_EN registers.
2019-10-07 06:47:00 +00:00
Mahavir Jain
2f38a1a362 Merge branch 'bugfix/set_url_discards_username_password' into 'master'
fixes : set_url discards username and password

Closes IDFGH-1586

See merge request espressif/esp-idf!5694
2019-10-04 13:48:55 +08:00
ganeshlandge
9fd16c6a5f fixes : set_url discards username and password 2019-10-04 10:42:43 +05:30
Ivan Grokhotkov
cf7fe34cc2 ci: fix test assignment issue, rename env tag 2019-10-03 15:00:22 +02:00
Ivan Grokhotkov
a3cbc57c19 examples/flash_encryption: use ESP32 target in example test 2019-10-03 13:42:59 +02:00
Ivan Grokhotkov
569ad7545c esp_event, mdns: fixes for CONFIG_ETH_ENABLED=n 2019-10-03 10:52:53 +02:00
Ivan Grokhotkov
6bddcdac67 bootloader: move esp32 specific code from bootloader_common
Also implements bootloader_clock_get_rated_freq_mhz for esp32s2beta.

Closes IDF-758
2019-10-03 09:38:13 +02:00
David Cermak
de6ea396f1 ws_client: added subprotocol configuration option to websocket client
closes https://github.com/espressif/esp-idf/issues/3893
2019-10-03 07:33:32 +02:00
David Cermak
c0ba9e19fc ws_client: fixed path config issue when ws server configured using host and path instead of uri
closes https://github.com/espressif/esp-idf/issues/3892
2019-10-03 07:33:32 +02:00
David Cermak
adee25d90e ws_client: fixed transport config option when server address configured as host, port, transport rather then uri
closes https://github.com/espressif/esp-idf/issues/3891
2019-10-03 07:33:32 +02:00
David Cermak
ea955e1efc ws_client: fix ping-pong mechanism to use mask, support reception of zero-payload PONG and sending non-zero-payload PING
Closes https://github.com/espressif/esp-idf/issues/3890
Closes https://github.com/espressif/esp-idf/issues/4138
2019-10-03 07:32:17 +02:00
Ivan Grokhotkov
e4fda32726 Merge branch 'feature/uart_isr_iram' into 'master'
uart: add option to put ISR in IRAM

Closes IDF-893

See merge request espressif/esp-idf!5905
2019-10-03 01:21:56 +08:00
Ivan Grokhotkov
8da3c6d65b Merge branch 'bugfix/deprecated_sdkconfig_defaults' into 'master'
Handle deprecated values in sdkconfig.defaults

Closes IDF-1005

See merge request espressif/esp-idf!6203
2019-10-03 01:12:01 +08:00
Ivan Grokhotkov
5830f529d8 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-02 19:01:39 +02:00
suda-morris
f94711c316 uart: add option to put ISR in IRAM 2019-10-02 16:43:02 +00:00
Roland Dobai
15857d9cbb Handle deprecated values in sdkconfig.defaults
The issue was pointed out also in
https://github.com/espressif/esp-idf/issues/4092
2019-10-02 16:29:25 +00:00
David Cermak
784a0d21ea update mqtt weekend test to use mbedtls asymetric buffer 2019-10-02 16:22:50 +02:00
Ivan Grokhotkov
adbf0bff53 Merge branch 'bugfix/ext_flash_load_partitions' into 'master'
spi_flash: ensure partition table loaded when esp_partition_register_external is called

Closes IDFGH-1916

See merge request espressif/esp-idf!6244
2019-10-02 18:50:54 +08:00
Mahavir Jain
c2a9f0643e Merge branch 'bugfix/changes_in_idf_to_make_compatible_with_wolfssl' into 'master'
Bugfix/changes in idf to make compatible with wolfssl

See merge request espressif/esp-idf!6149
2019-10-02 14:05:10 +08:00
Mahavir Jain
3f9b0d8c2a nghttp: move config.h to private_include dirs 2019-10-01 11:19:44 +00:00
KonstantinKondrashov
737ab91742 newlib: Fix UT - test time adjustment happens linearly 2019-10-01 03:09:22 +08:00
Ivan Grokhotkov
391d7ee4c7 examples/ext_flash_fatfs: print out data partitions, add CI test 2019-09-30 17:53:14 +02:00
Ivan Grokhotkov
ccde8c7d2f spi_flash: load partition table before adding an external partition
esp_partition_register_external did not call load_partitions, so if
it was called before any call to esp_partition_find, then the main
partition table would never be loaded. Introduce new function,
ensure_partitions_loaded, and call it both from esp_partition_find and
esp_partition_register_external.

Closes https://github.com/espressif/esp-idf/issues/4116
2019-09-30 16:11:09 +02:00
Jiang Jiang Jian
1c1108d47b Merge branch 'bugfix/coex_fix_some_bugs' into 'master'
fix some coexist bugs

See merge request espressif/esp-idf!5200
2019-09-30 16:59:19 +08:00
David Cermak
b494ffaf5b ci: fix test build system when using template repository from a
different branch then master
2019-09-30 09:54:24 +02:00
David Cermak
d735f1d58d ci: fix weekend test confguration update per latest refactoring of
grouping tests
2019-09-30 09:51:41 +02:00
Mahavir Jain
87fb025b97 Merge branch 'NimBLE/add_mbedTLS_option_for_tinycrypt' into 'master'
NimBLE: Add optional mbedTLS support to NimBLE

See merge request espressif/esp-idf!6097
2019-09-30 14:15:43 +08:00
Prasad Alatkar
fe08f435dc NimBLE: Add optional mbedTLS support to NimBLE
- Additional menuconfig option to select either mbedTLS or Tinycrypt from NimBLE.
- Addition of `CMAC` and `ECP_RESTARTABLE` to mbedTLS menuconfig option and
  `esp_config.h`.
- Changes NimBLE `component.mk` and `CMakeLists.txt` to support mbedTLS option.
- Minor changes to `app_mesh.c` application.
2019-09-30 14:15:43 +08:00
Xia Xiaotian
63019689d6 Coexist: fix some coexist bugs
1. Fix high beacon and broadcast packets loss ratio of WiFi to make
   MDNS test pass.
2. Improve stability of WiFi performance with a little
   sacrifice of throughput.
3. Improve BLE advertising and connection performance with dynamic
   priority. It sacrifices a little WiFi throughput, but achieves balance
   between WiFi and Bluetooth.
2019-09-30 11:49:16 +08:00
Jiang Jiang Jian
ef5c3f3564 Merge branch 'bugfix/fix_wifi_stop_leads_to_watchdog' into 'master'
esp_wifi: fix the bug that WiFi stop leads task watchdog

Closes WIFI-526 and WIFI-746

See merge request espressif/esp-idf!5830
2019-09-30 10:53:37 +08:00
zhangyanjiao
53d57dd736 esp_wifi:
1. Fixed smartconfig ipc crash
2. Fix the WiFi init sequence bug
3. Fixed the bug that WiFi stop leads to task watchdog
2019-09-29 10:44:49 +08:00
Jiang Jiang Jian
9ef656fafd Merge branch 'bugfix/ble_mesh_client_invalid_addr_access' into 'master'
ble_mesh: fix client model invalid address access

See merge request espressif/esp-idf!6212
2019-09-29 10:23:51 +08:00
Jiang Jiang Jian
f44b4911ad Merge branch 'bugfix/fix_cache_disable_access_psram' into 'master'
esp_wifi: Put g_promis_buf to IRAM

See merge request espressif/esp-idf!6142
2019-09-29 10:08:17 +08:00
Ivan Grokhotkov
4dac7c7df8 Merge branch 'refactor/shrink_bootloader_bin_size' into 'master'
bootloader: shrink bin size

Closes IDF-1043

See merge request espressif/esp-idf!6194
2019-09-28 01:40:46 +08:00
Ivan Grokhotkov
c496268b10 Merge branch 'feature/load_elf' into 'master'
Support ELF files loadable with gdb

Closes IDF-335

See merge request espressif/esp-idf!5779
2019-09-27 19:36:25 +08:00
suda-morris
cbab3c34f8 bootloader: shrink bin size
1. write a bootloader version of "getting chip revision" function.
2. reduce wordy log.
2019-09-27 10:58:30 +08:00
Ivan Grokhotkov
9c4b4aec62 Merge branch 'feature/enable_ethernet_unit_test' into 'master'
enable Ethernet unit test

Closes IDF-959

See merge request espressif/esp-idf!6144
2019-09-26 21:28:13 +08:00
lly
7a450222f5 ble_mesh: fix client model invalid address access 2019-09-26 20:11:22 +08:00
David Cermak
5cde268cce docs: fix minor parameter description inconsistency for idf_component_set_property 2019-09-26 10:51:04 +02:00
suda-morris
e381cec35a freertos: remove semicolon in xTaskNotifyGive 2019-09-26 15:27:48 +08:00
xiehang
6fde73cdc4 esp_wifi: Put g_promis_buf to IRAM 2019-09-26 02:26:10 +00:00
KonstantinKondrashov
3e18681555 app_trace: Adds general support esp32s2beta chip 2019-09-26 01:03:06 +08:00
KonstantinKondrashov
c5c41eab46 soc: Add interrupt numbers mapping for esp32s2beta
Closes: IDF-999
2019-09-26 00:22:36 +08:00
Jiang Jiang Jian
3d8798f745 Merge branch 'bugfix/kconfig_corrections' into 'master'
Fix Kconfig issues discovered by upstream Kconfiglib

See merge request espressif/esp-idf!6183
2019-09-25 16:26:18 +08:00
Jiang Jiang Jian
ac0d2dc534 Merge branch 'bugfix/ble_mesh_queue_task_init_check' into 'master'
ble_mesh: check ble mesh queue and task init status

See merge request espressif/esp-idf!6192
2019-09-25 15:08:05 +08:00
suda-morris
7c8c9cbb68 ethernet: enable unit test 2019-09-25 11:58:16 +08:00
Jiang Jiang Jian
976423c8c3 Merge branch 'feature/bluedroid_min_encr_key_size' into 'master'
BT/Bluedroid : Add support to set min encryption key size requirement

See merge request espressif/esp-idf!6122
2019-09-25 11:56:48 +08:00
Prasad Alatkar
2c3648b619 BT/Bluedroid : Add support to set min encryption key requirement
- Modifies `smp_utils.c` to add check on encryption key size received from
  peer.
- Modifies `esp_ble_gap_set_security_param` API to add minimum encryption key
  size requirement.
2019-09-25 11:56:47 +08:00
Jiang Jiang Jian
a2b65e1649 Merge branch 'bugfix/btdm_loop_in_feature_req_ext' into 'master'
components/bt: Fix sending LMP_features_req_ext in a loop

See merge request espressif/esp-idf!6022
2019-09-25 11:51:53 +08:00
lly
0792a2fde8 ble_mesh: check ble mesh queue and task init status 2019-09-25 11:09:40 +08:00
David Cermak
e5e31c5d01 mdns: use constant size of AAAA answer in mdns packets instead of deriving from lwip struct size, since the struct could contain also zones
closes WIFI-771
2019-09-24 12:12:58 +02:00
Ivan Grokhotkov
b040386c5b Merge branch 'feature/idf_tools_installer_v2.1' into 'master'
IDF tools installer: extra fixes, bump version to v2.1

See merge request espressif/esp-idf!6176
2019-09-24 17:19:04 +08:00
Ivan Grokhotkov
847537c862 docs: update get-started to use Tools Installer v2.1 2019-09-24 10:39:27 +02:00
Roland Dobai
5a916ce126 Support ELF files loadable with gdb 2019-09-24 07:19:50 +00:00
Shivani Tipnis
38ccf5f28b cmake: Fix cmakelists to add required private components
Fixes: https://github.com/espressif/esp-idf/issues/3710
2019-09-24 10:46:26 +05:30
Ivan Grokhotkov
f7cae13d2a tools: bump windows tools installer version to v2.1
Includes the following changes:

80ad09f23 allow changing the installation path
(a fix for https://github.com/espressif/esp-idf/issues/3806)

9c5284e7b verify that IDF_PATH doesn't contain spaces

aaf3dcbda fix quoting of IDF_TOOLS_PATH
(a fix for https://github.com/espressif/esp-idf/issues/3807)

e6e179294 tools: update idf_exe to 1.0.1
76dc87e9a idf_exe: fix NULL pointer passed to WriteFile
(fixes for https://github.com/espressif/esp-idf/issues/3740)
2019-09-24 06:00:31 +02:00
Ivan Grokhotkov
c780abc6a6 tools: update Windows installer build script
Replace the outdated build_installer.sh with the steps used in CI,
call build_installer.sh from CI. Move the signing part into the new
script, sign_installer.sh.
2019-09-24 06:00:31 +02:00
Ivan Grokhotkov
3bbb758bc5 idf_tools.py: add workaround for PermissionError in os.rename
Closes https://github.com/espressif/esp-idf/issues/4063
Closes https://github.com/espressif/esp-idf/issues/3819
2019-09-24 06:00:31 +02:00
X-Ryl669
81ffc87371 idf_tools.py: pass --work-tree instead of -C option to git
Older versions of git do not support -C option. Use --work-tree option
instead.

Closes https://github.com/espressif/esp-idf/issues/4018
Merges https://github.com/espressif/esp-idf/pull/4019
2019-09-24 06:00:31 +02:00
Ivan Grokhotkov
6a9288bc73 Merge branch 'bugfix/IDF-306' into 'master'
Installer: support for WD exclusions (IDF Tools)

See merge request espressif/esp-idf!6062
2019-09-24 11:59:00 +08:00
Roland Dobai
833822c10b Fix Kconfig issues discovered by upstream Kconfiglib 2019-09-23 16:10:57 +02:00
Martin Vychodil
a3a130d0d6 Installer: support for WD exclusions (IDF Tools)
JIRA IDF-306
2019-09-23 14:42:32 +02:00
David Cermak
380801c6fa docs: update windows msys2 installer notes to unzip all-in-one toolchain to path without spaces 2019-09-23 12:00:00 +02:00
KonstantinKondrashov
c4da959fa7 soc: Fix setting timeout for RTC_WDT 2019-09-23 14:57:26 +08:00
Ivan Grokhotkov
8df2b046f4 Merge branch 'bugfix/gh_action_on_pull_request' into 'master'
gh_action: fix error on new pull request

Closes IDFGH-1824

See merge request espressif/esp-idf!6116
2019-09-23 12:54:21 +08:00
Ivan Grokhotkov
363e41eadf Merge branch 'bugfix/make_cxx_depend_on_pthread' into 'master'
cxx: force pthread to appear later in link line

See merge request espressif/esp-idf!6124
2019-09-23 12:42:50 +08:00
Ivan Grokhotkov
b6a8dfba44 examples/nimble: fix setting DUT class in example tests
Pass dut_class=ESP32DUT in the examples where this was missing.
2019-09-23 06:26:49 +02:00
Angus Gratton
f991f812ab unit test: Fix bug in idf.py ut-apply-config- targets
Bug was this sequence:

1. old sdkconfig file has some settings (maybe target=esp32s2beta)
2. idf.py builds a new sdkconfig.defaults file with full new settings
3. new settings includes something that conflicts with the old settings (for example,
CONFIG_IDF_TARGET=esp32 and BT_ENABLE=y)
4. confgen tries to apply the new "defaults" to the existing sdkconfig, settings end up a mix of both due to the conflicts

Fix is to generate the sdkconfig file directly.
2019-09-23 06:26:49 +02:00
Angus Gratton
b0bd4d0f14 Merge branch 'fix/esp_flash_adapter_in_iram' into 'master'
esp_flash: put adapter to legacy functions into IRAM to be back-compatible

See merge request espressif/esp-idf!6135
2019-09-20 18:21:58 +08:00
Angus Gratton
a68b400b9a Merge branch 'refactor/update_spi_ethernet_api' into 'master'
ethernet: update spi ethernet api

See merge request espressif/esp-idf!6123
2019-09-20 18:15:25 +08:00
Angus Gratton
f7d80ed9da Hello world example: Print ESP32-S2 Beta for esp32s2beta target 2019-09-20 17:07:34 +10:00
KonstantinKondrashov
db84ba868c efuse: Add support for esp32s2beta
Updated:
- CI test_esp32s2beta_efuse_table_on_host.
- efuse_table_gen.py.
- esp_efuse_table.csv file and generated headers files.
- splitted esp32 and esp32s2beta parts.
- unit tests and api efuse.
2019-09-20 16:59:46 +10:00
KonstantinKondrashov
6257828348 app_update: Add support esp32s2beta 2019-09-20 16:57:33 +10:00
KonstantinKondrashov
6f102125b4 bootloader: Add support esp32s2beta 2019-09-20 16:57:33 +10:00
KonstantinKondrashov
d06b2a3598 esp32s2beta: Add support esp32s2beta
Added reading MAC address
Closes: IDF-756
2019-09-20 16:57:27 +10:00
Jiang Jiang Jian
a469c179f8 Merge branch 'bugfix/fix_the_for_smartconfig_send_broadcast_to_phone' into 'master'
fix the bug that ESP32 sends broadcast to phone after smartconfig is done

Closes WIFI-1115

See merge request espressif/esp-idf!6071
2019-09-20 14:01:59 +08:00
KonstantinKondrashov
a25841bc9a newlib: Fix test_posix_timers_clock for esp32s2beta 2019-09-20 14:01:22 +08:00
Krzysztof Budzynski
4411701c2c Merge branch 'doc/add_Chinese_translation_for_documents_in_storage_folder_2st_batch' into 'master'
Add Chinese translation for the 2nd batch of the files in storage folder in api-reference

See merge request espressif/esp-idf!5737
2019-09-20 12:32:55 +08:00
Wang Fang
32adfdc307 Add Chinese translation for the 2nd batch of the files in storage folder in api-reference.
1. The translation should be first reviewed by technical reviewers;
2. and then by language reviewers.

For the translation for the first batch of files, please see !MR5620 and !MR5613
2019-09-20 12:32:55 +08:00
Angus Gratton
b5f74522a3 doc: Add page explaining ESP32-S2 status 2019-09-20 10:28:46 +10:00
Angus Gratton
adfc06a530 Merge branch 'master' into feature/esp32s2beta_merge 2019-09-20 10:28:37 +10:00
Angus Gratton
96474f33a6 Merge branch 'bugfix/gnu_make_windows_paths' into 'master'
build: In GNU Make, use "cygpath -m" to avoid backslashes

Closes IDF-961

See merge request espressif/esp-idf!6132
2019-09-19 19:34:01 +08:00
Angus Gratton
01a8e566b8 Merge branch 'bugfix/cmake_case_insenstive_filesystem' into 'master'
cmake: Account for IDF_PATH case mismatches on case insensitive filesystems

See merge request espressif/esp-idf!6137
2019-09-19 19:33:36 +08:00
Angus Gratton
83680bd96b Merge branch 'feature/esp32s2beta' into feature/esp32s2beta_merge 2019-09-19 21:08:20 +10:00
suda-morris
546ac64a9e ethernet: update spi-ethernet api 2019-09-19 09:41:21 +00:00
suda-morris
dc5b8a9a8f ethernet: test apps can build with ethernet disabled 2019-09-19 09:41:21 +00:00
Jiang Jiang Jian
d78831ab2b Merge branch 'bugfix/remove_v40_deprecations' into 'master'
Remove features deprecated before ESP-IDF V4.0

Closes IDF-507

See merge request espressif/esp-idf!5841
2019-09-19 16:07:01 +08:00
suda-morris
77eb32b710 make psram workaround depend on chip revison
Since ESP32 revision 3, the PSRAM workaround is not needed.
2019-09-19 13:20:34 +08:00
Angus Gratton
b48daafb0c Merge branch 'fix/nimble_example_test' into 'master'
nimble_example_test: Fix BlePeripehral Test thread stuck issue

See merge request espressif/esp-idf!5510
2019-09-19 11:11:08 +08:00
Angus Gratton
bcaaaa1632 Merge branch 'feature/esp32s2beta_wdt' into 'feature/esp32s2beta'
esp32s2beta: Re-enable interrupt WDT, RTC_WDT, Task wdt

See merge request espressif/esp-idf!5786
2019-09-19 11:10:58 +08:00
Angus Gratton
36ba5bc5ee cmake: Account for IDF_PATH case mismatches on case insensitive filesystems 2019-09-19 12:30:52 +10:00
gengyuchao
87995c5f75 bugfix:btmd fix the problem that fixed_queue_enqueue may give the wrong semaphore if list_append fail to calloc a new node 2019-09-18 17:43:35 +08:00
Jiang Jiang Jian
5051bb906a Merge branch 'bugfix/ble_mesh_get_timer_remaining_time' into 'master'
ble_mesh: fix ble mesh get timer remaining time

See merge request espressif/esp-idf!6060
2019-09-18 16:38:24 +08:00
Angus Gratton
d559ccb23c Merge branch 'bugfix/IDF-997' into 'master'
docs: Update eclipse setup doc with the IDF Eclipse Plugins github link

Closes IDF-997 and IDF-194

See merge request espressif/esp-idf!6105
2019-09-18 15:15:21 +08:00
michael
70d771eb2d esp_flash: put adapter to legacy functions into IRAM to be back-compatible 2019-09-18 15:07:47 +08:00
Krzysztof Budzynski
321af28ff2 Merge branch 'doc/Add_Chinese_translation_to_sdmmc_in_storage_folder' into 'master'
Add Chinese transaltion to sdmmc in storage folder

See merge request espressif/esp-idf!6029
2019-09-18 13:28:16 +08:00
Wang Fang
412a766a2a Add Chinese transaltion to sdmmc in storage folder
The translation should be first reviewed by technical reviewer Xiao Xufeng and then by Carrie

The translation for the other documents in storage folder can be found in MR5613, MR5620 and MR5737.
2019-09-18 13:28:16 +08:00
xiehang
e1496449b1 esp_wifi: Update wifi lib 2019-09-18 10:16:35 +10:00
suda-morris
58577db086 gh_action: fix error on new pull request
1. Disable the broken pull request sync temporarily
2. move python lint from travis to github action
2019-09-17 21:59:31 +08:00
Ivan Grokhotkov
d8ab12e2da Merge branch 'bugfix/fix_http_request' into 'master'
Fix http_request example

See merge request espressif/esp-idf!6064
2019-09-17 21:29:16 +08:00
Renz Christian Bagaporo
f1b5c326f4 cxx: force pthread to appear later in link line 2019-09-17 20:08:12 +08:00
Ivan Grokhotkov
3cd687b35a Merge branch 'fix/esp_flash_coredump' into 'master'
esp_flash: fix coredump issues

See merge request espressif/esp-idf!5917
2019-09-17 17:40:30 +08:00
Ivan Grokhotkov
bf68285689 Merge branch 'feature/compile_option_O0' into 'master'
build_system: add new compiler optimization levels

See merge request espressif/esp-idf!5686
2019-09-17 16:54:55 +08:00
Angus Gratton
d10107a50e idf_test: Disable tests for Wi-Fi auto reconnect
Disable one, remove IDF tag from the other
2019-09-17 18:41:09 +10:00
Angus Gratton
44c89c0e9f Merge branch 'bugfix/idf_py_dependent_tasks' into 'master'
idf.py: Fix execution order for dependent tasks

Closes IDF-901 and IDFGH-1710

See merge request espressif/esp-idf!5859
2019-09-17 16:26:25 +08:00
Kondal Kolipaka
41a1eebbd4 docs: Update eclipse setup doc with the IDF Eclipse Plugins github link 2019-09-17 13:42:32 +05:30
Angus Gratton
4df759ac81 Merge branch 'feature/add_chip_revision_to_image_header' into 'master'
app_image: add chip revision in image header

Closes IDF-811 and IDFGH-1778

See merge request espressif/esp-idf!5926
2019-09-17 12:52:00 +08:00
Angus Gratton
d371605315 build: In GNU Make, use "cygpath -m" to avoid backslashes
Fixes issues where backslashes in KCONFIG paths are later expanded as shell escape sequences.
2019-09-17 13:47:05 +10:00
Krzysztof Budzynski
7c85a2a987 Merge branch 'doc/add_Chinese_translation_for_touch_pad_in_api-reference' into 'master'
Add Chinese translation for touch_pad.rst in api-reference

See merge request espressif/esp-idf!5445
2019-09-17 11:22:30 +08:00
Wang Fang
fb0bf099a3 Add Chinese translation for touch_pad.rst in api-reference:
1. Add link to en/api-reference/peripherals/touch_pad.rst
2. Add Chinese translation to zh_CN/api-reference/peripherals/touch_pad.rst
2019-09-17 11:22:30 +08:00
Angus Gratton
96b96ae244 Merge branch 'bugfix/cmake_component_names' into 'master'
CMake: Component name related bugfixes

See merge request espressif/esp-idf!5921
2019-09-17 11:16:25 +08:00
Angus Gratton
d019f479d5 Merge branch 'feature/idf_py_version' into 'master'
idf.py: Add --version option

Closes IDF-702

See merge request espressif/esp-idf!5800
2019-09-17 08:31:59 +08:00
Sergei Silnov
1faa69a01b idf.py: Fix execution order for dependent tasks
Closes https://github.com/espressif/esp-idf/issues/3948

Add tests for idf.py
Move param check from cmake to idf_py test
Refactor task processing for idf.py
Add code comments
Fix an issue when options for dependent tasks are ignored
Add check for dupes in command list
2019-09-16 22:48:57 +08:00
Sergei Silnov
2d03af30ab Add idf.py --version option
Update docs on how to check IDF version
Show dependencies check information only in verbose mode
2019-09-16 20:32:26 +08:00
suda-morris
dd248ffc32 Add chip revision into image header
Check chip id and chip revision before boot app image

Closes https://github.com/espressif/esp-idf/issues/4000
2019-09-16 18:13:53 +08:00
lly
9ee5e3d8ed ble_mesh: fix duplicate memory free during receiving status message 2019-09-16 17:34:08 +08:00
lly
e1b04df763 ble_mesh: make unicast elem lookup O(1) 2019-09-16 14:55:41 +08:00
lly
5b53debb6f ble_mesh: use adv report flow control for ble mesh 2019-09-16 14:43:30 +08:00
Angus Gratton
6b7da96d5b ulp: Add header for common ULP definitions
Fixes problems with duplicate error codes in the two chip-specific ulp headers
2019-09-16 16:18:53 +10:00
Angus Gratton
438d513a95 Merge branch 'master' into feature/esp32s2beta_merge 2019-09-16 16:18:48 +10:00
Angus Gratton
a70c3367e8 Merge branch 'bugfix/fix_yaml_load_warnings' into 'master'
python: Fix yaml.load warnings

See merge request espressif/esp-idf!5404
2019-09-16 09:44:10 +08:00
Angus Gratton
0efdeb202e Merge branch 'fix/elf_sha256_esp32s2beta' into 'feature/esp32s2beta'
build_system/app_update: fix the linker script and re-enable elf-sha256

See merge request espressif/esp-idf!5972
2019-09-16 08:25:20 +08:00
Angus Gratton
66b0b8951f Merge branch 'bugfix/esp32s2beta_docs' into 'feature/esp32s2beta'
esp32s2beta: Fix docs build

See merge request espressif/esp-idf!6096
2019-09-16 08:19:59 +08:00
Michael (XIAO Xufeng)
9d30b04f68 coredump: use esp_flash api in coredump
Also put esp_flash functions into noflash region, when
ESP32_PANIC_HANDLER_IRAM and coredump are enabled. The option disables
the re-enabling of the CPU-cache when it's disabled during coredump.
This requires all the coredump functions including the flash API to be
in the D/IRAM.
2019-09-14 17:02:08 +08:00
Michael (XIAO Xufeng)
511820820e esp_flash: fix the coredump issue
During coredump, dangerous-area-checking should be disabled, and cache
disabling should be replaced by a safer version.

Dangerous-area-checking used to be in the HAL, but it seems to be more
fit to os functions. So it's moved to os functions. Interfaces are
provided to switch between os functions during coredump.
2019-09-14 17:01:36 +08:00
Michael (XIAO Xufeng)
6139864a4c esp_flash: fix coredump for legacy spi flash API
When legacy mode is used, the coredump still fails during linking
because "esp_flash_init_default_chip", "esp_flash_app_init" and
"esp_flash_default_chip " are not compiled and linked.

Instead of using ``if`` macros in callers, these functions are protected
by ``if`` macros in the header, and also not compiled in the sources.
"esp_flash_default_chip" variable is compiled with safe default value.
2019-09-14 16:56:31 +08:00
Sergei Silnov
c57dfbc0b8 python: Fix yaml.load warnings
Since pyyaml 5.1 yaml.load without specifing loader is deprecated
Details: https://msg.pyyaml.org/load

To keep code compatible with older versions of pyyaml
and keep best perfomance CLoader with fallback to Loader is used.
2019-09-13 10:29:38 +00:00
Sagar Bijwe
e255c48de7 Fix http_request example
1) WEB_PATH should path relative to document root of web server.
2) HTTP request should contain "Host" header of format "host:port".
3) Port number in the example should be configurable.
2019-09-13 09:21:29 +00:00
Shivani Tipnis
8ee727fb9a nimble_test: Fix nimble example test CI 2019-09-13 08:18:43 +00:00
Angus Gratton
c27fd32fbe Merge branch 'feat/esp_flash_support_encrypt' into 'master'
esp_flash: add support for encrypted read and write

See merge request espressif/esp-idf!6008
2019-09-13 14:52:01 +08:00
Angus Gratton
d6b39a8f9d Merge branch 'bugfix/use_local_kconfiglib' into 'master'
Use kconfiglib from $IDF_PATH/tools/kconfig_new

See merge request espressif/esp-idf!6078
2019-09-13 14:46:42 +08:00
Angus Gratton
ff5018d3ee Merge branch 'doc/add-extension-sphinx.ext.todo' into 'master'
Add extension "sphinx.ext.todo" for todo notes in rst files. Add info how to use it.

See merge request espressif/esp-idf!6084
2019-09-13 14:46:09 +08:00
Angus Gratton
146a0f8e14 Merge branch 'feature/idf_py_depeprecation_parameter_flag' into 'master'
idf.py: Add support for deprecation of command/options

See merge request espressif/esp-idf!5433
2019-09-13 14:30:27 +08:00
Angus Gratton
9d19f4fc8e driver docs: Fix some doxygen warnings 2019-09-13 14:30:06 +10:00
Angus Gratton
49698e15f3 docs: Don't build any docs for the esp32s2beta component
Re-enable failing CI for warnings in the docs build

This config hack can be removed once IDF-523 is implemented.
2019-09-13 14:08:21 +10:00
Angus Gratton
14730f049e Merge branch 'bugfix/do_not_use_absolute_paths_to_other_components' into 'master'
app_update: use build system api to get partition_table dir

See merge request espressif/esp-idf!6039
2019-09-13 07:51:22 +08:00
Jack
b0c893a20c Wi-Fi: remove wifi_fast_scan_threshold_t which is not suitable in name 2019-09-13 09:44:07 +10:00
Jack
95ec36afd4 dport: remove clock_en and reset bitname which is not suitable 2019-09-13 09:44:07 +10:00
Angus Gratton
33a186f630 soc: Remove deprecated LEDC struct register names (bit_num, div_num)
Deprecated since ESP-IDF V3.0
2019-09-13 09:44:07 +10:00
Angus Gratton
6195c69701 soc: remove deprecated io_mux PIN_PULLxxx_yyy macros
Deprecated before ESP-IDF V1.0!
2019-09-13 09:44:07 +10:00
Angus Gratton
c41b2b0415 mbedtls: Remove esp_aes_encrypt/decrypt
Deprecated in ESP-IDF V3.1

Anyone reading this should please include mbedtls/aes.h and use mbedTLS APIs,
not the ESP-specific APIs.
2019-09-13 09:44:07 +10:00
Angus Gratton
b022527da7 heap: Remove esp_heap_alloc_caps header
Deprecated in ESP-IDF V3.1
2019-09-13 09:44:07 +10:00
Angus Gratton
fb748bae7f fatfs: Remove esp_vfs_fat_unregister()
Deprecated in ESP-IDF V2.0
2019-09-13 09:44:07 +10:00
Angus Gratton
ba54a552c1 esp_wifi: Remove WIFI_PS_MODEM constant
Deprecated in ESP-IDF V3.1
2019-09-13 09:44:07 +10:00
Angus Gratton
d63181b5e9 esp_wifi: Remove deprecated auto connect API
Deprecated in ESP-IDF V3.1
2019-09-13 09:44:07 +10:00
Angus Gratton
2e067f5b57 ringbuf: Remove deprecated RingbufferType_t
Deprecated in ESP-IDF V3.1
2019-09-13 09:44:07 +10:00
Angus Gratton
dc7d6d592e wdt: Remove deprecated esp_task_wdt_feed() function
Deprecated in ESP-IDF V3.1
2019-09-13 09:44:07 +10:00
Angus Gratton
480bd0360f esp32/esp_common: Remove deprecated esp_efuse_read_mac() function
Deprecated since ESP-IDF V2.0
2019-09-13 09:44:07 +10:00
Angus Gratton
bdeaf138c4 esp32/esp_common: Remove deprecated system_* APIs
Mostly deprecated before ESP-IDF V1.0 & V2.0
2019-09-13 09:44:07 +10:00
Angus Gratton
a9a29b1f1e esp_adc_cal: Remove deprecated ADC calibration functions
Deprecated since ESP-IDF V3.1
2019-09-13 09:44:07 +10:00
Angus Gratton
fbc1d1c319 esp32: Remove deprecated system_deep_sleep function
Deprecated since ESP-IDF V3.0
2019-09-13 09:44:07 +10:00
Ivan Grokhotkov
88548a9b4d esp32/test: fix usage of deprecated fields 2019-09-13 09:44:07 +10:00
Angus Gratton
11c1da5276 soc/pm: Remove deprecated use of rtc_cpu_freq_t enum
Removes deprecated ways of setting/getting CPU freq, light sleep freqs.

Deprecated since ESP-IDF V3.2
2019-09-13 09:44:07 +10:00
Angus Gratton
f406d020d8 driver: Remove features deprecated pre-IDF V4.0 2019-09-13 09:44:07 +10:00
Angus Gratton
f44d99b509 app_update: Remove deprecated "make erase_ota" target
Deprecated in v3.2
2019-09-13 09:44:07 +10:00
Angus Gratton
62c06047da bootloader_support: Remove deprecated partition load/verify functions
Deprecated since v3.2
2019-09-13 09:44:07 +10:00
Angus Gratton
596ccc6793 bluetooth: Remove bt.h header (deprecated in v3.1-dev) 2019-09-13 09:44:07 +10:00
KonstantinKondrashov
e0f7fbc5fa bootloader: expand the space for iram_loader_seg
Fixed ld issue: overflowed iram_loader_seg
2019-09-13 00:39:37 +08:00
KonstantinKondrashov
d1173c8f09 esp32s2beta: task_wdt
Closes: IDF-753
2019-09-13 00:06:22 +08:00
KonstantinKondrashov
2644ddc3e1 esp32s2beta: Using rtc_wdt API 2019-09-13 00:06:22 +08:00
KonstantinKondrashov
d3637cd06b rtc_wdt: re-enable RTC_WDT 2019-09-13 00:03:52 +08:00
KonstantinKondrashov
3ffa33c84d esp32s2beta: re-enable int_wdt 2019-09-13 00:03:52 +08:00
Michael (XIAO Xufeng)
d7d5aebdee soc: fix memory map for esp32 and esp32s2beta 2019-09-12 16:17:52 +08:00
Jiang Jiang Jian
15356857b5 Merge branch 'bugfix/transport' into 'master'
fix(transport): Fix a bug of the connection whether be active or not.

See merge request espressif/esp-idf!5604
2019-09-12 13:55:48 +08:00
Liu Han
3ca07b3e70 fix(transport): Fix a bug of the connection whether be active or not by timeout option when the select function return a correct value. 2019-09-12 13:55:47 +08:00
Jiang Jiang Jian
7cdc7e193d Merge branch 'docs/wifi_update_concurrent_mode_info' into 'master'
docs: wifi: wifi_guide update for disconnection warning in case of invalid...

See merge request espressif/esp-idf!5861
2019-09-12 13:45:45 +08:00
Hrudaynath Dhabe
d740769916 docs: wifi: wifi_guide update for disconnection warning in case of invalid initiation in WIFI_MODE_APSTA.
Added warning to expect momentary disconnection of exSTA if channel of exAP is different than that of softAP and a prescribed solution.
2019-09-12 13:45:44 +08:00
Jiang Jiang Jian
850893b25b Merge branch 'bugfix/uart_select_free' into 'master'
VFS: Fix memory access after free() in UART select()

Closes IDFGH-1820

See merge request espressif/esp-idf!6045
2019-09-12 13:38:43 +08:00
Jiang Jiang Jian
9f145ff165 Merge branch 'feature/btdm_add_hf_nvrc_command' into 'master'
BT HFP: Add AT+NREC=0 command for disabling AG echo cancellation.

See merge request espressif/esp-idf!5974
2019-09-12 13:25:18 +08:00
Jiang Jiang Jian
d1e5d9c8c9 Merge branch 'bugfix/btdm_config_msbc' into 'master'
components/bt: Disable Wide Bond Speech when SCO data path is PCM

See merge request espressif/esp-idf!5978
2019-09-12 13:23:41 +08:00
Michael (XIAO Xufeng)
d008c47dac esp_flash: add support for encrypted read and write
Using legacy implementation.
2019-09-12 12:41:50 +08:00
Kirill Chalov
f0dc5f8dc2 Apply suggestion to docs/en/contribute/documenting-code.rst 2019-09-12 12:36:13 +08:00
Roland Dobai
1dcdc56a7f Use kconfiglib from $IDF_PATH/tools/kconfig_new 2019-09-11 14:30:31 +02:00
Michael (XIAO Xufeng)
df27a50866 app_update: re-enable elf-sha256 2019-09-11 18:29:11 +08:00
Kirill Chalov
7c491d2335 Allow the extension for adding todo notes to rst files. Add information on how to use this extension to the contribution section. 2019-09-11 17:15:00 +08:00
Jiang Jiang Jian
32f216441f Merge branch 'bugfix/esp32s2beta_cache_interrupt_panic' into 'feature/esp32s2beta'
cache_err_int: Add cache error interrupt panic

See merge request espressif/esp-idf!5559
2019-09-11 12:48:12 +08:00
Jiang Jiang Jian
7e81e3da89 Merge branch 'bugfix/esp32s2beta_cache_spiflash_test' into 'feature/esp32s2beta'
util-test: The cache and spi_flash tests passed

See merge request espressif/esp-idf!5363
2019-09-11 12:47:18 +08:00
Angus Gratton
15e0ee528e Merge branch 'bugfix/cmake_sdkconfig_path' into 'master'
fix bug for cmake build system

See merge request espressif/esp-idf!6052
2019-09-11 11:39:49 +08:00
jiangguangming
1b31191753 fix bug for cmake build system
The path of ${SDKCONFIG_H} does not exist, should be replaced by ${sdkconfig_header}.
2019-09-11 11:00:19 +08:00
zhangyanjiao
d885df946a fix the bug that ESP32 sends broadcast to phone after smartconfig done 2019-09-11 10:42:16 +08:00
michael
213f8cf7ef ci: forbid esp32s2beta tests from being built in make 2019-09-11 09:31:47 +08:00
Angus Gratton
2402d0952d Merge branch 'bugfix/flash_encryption_disable_plaintext' into 'master'
flash encryption: Always disable plaintext reflashes in Release mode

See merge request espressif/esp-idf!6051
2019-09-11 07:59:33 +08:00
Li Shuai
d48aac96a1 util-test: Fix the conflict target of esp32_test_logo between esp32s2beta and esp32 2019-09-10 20:49:36 +08:00
Jiang Jiang Jian
3b606aa21f Merge branch 'bugfix/wpa2_ent_eap_reauth_fail' into 'master'
wpa_supplicant: Fix EAP Re-authentication issue

See merge request espressif/esp-idf!5588
2019-09-10 20:14:22 +08:00
lly
5d1f84f69c ble_mesh: fix ble mesh get timer remaining time 2019-09-10 16:58:41 +08:00
Angus Gratton
49ca39d35c Merge branch 'bugfix/multi_heap_printf' into 'master'
heap: Fix printf usage in heap poisoning

See merge request espressif/esp-idf!6046
2019-09-10 13:26:27 +08:00
Angus Gratton
88c0e012df Merge branch 'doc/build_system_requirements' into 'master'
docs: Explain build system REQUIRES & PRIV_REQUIRES in more detail

See merge request espressif/esp-idf!5965
2019-09-10 13:10:03 +08:00
Roland Dobai
7cc225c85b VFS: Fix memory access after free() in UART select()
Closes https://github.com/espressif/esp-idf/issues/4030
2019-09-10 04:59:03 +00:00
Jiang Jiang Jian
b6455e1153 Merge branch 'bugfix/ble_mesh_related_bugfixes' into 'master'
Bugfix/ble mesh related bugfixes

See merge request espressif/esp-idf!5975
2019-09-10 09:46:26 +08:00
Angus Gratton
c052a38e2a bootloader: Link RTC clock functions to the iram_loader section
As flash encryption & secure boot needs these functions after the app is loaded.

Fixes regression introduced in fb72a6f629
2019-09-10 11:28:17 +10:00
Angus Gratton
5c5770dddb docs: Small cleanup of flash encryption docs 2019-09-10 11:28:11 +10:00
Angus Gratton
b547aef2a0 flash encryption: Ensure flash encryption can't be disabled if Secure Boot is on 2019-09-10 11:28:11 +10:00
Angus Gratton
b0710f9d0b docs: Explain build system REQUIRES & PRIV_REQUIRES in more detail
Including an example.
2019-09-10 09:48:46 +10:00
Darian Leung
e52c0d0da2 heap: Fix printf usage in heap poisoning
This commit fixes the bug where printf() is used in
verify_allocated_region() when ets_printf() should be used.
2019-09-09 21:56:39 +08:00
Krzysztof Budzynski
56231a998b Merge branch 'doc/review_api-ref_periph-sdspi_host' into 'master'
Review the file api-reference/peripherals/sdspi_host.rst

See merge request espressif/esp-idf!5732
2019-09-09 19:59:56 +08:00
Kirill Chalov
95552d4d13 Review the file api-reference/peripherals/sdspi_host.rst 2019-09-09 19:14:39 +08:00
lly
1a8f37b383 ble_mesh: update ble mesh examples sdkconfig.defaults 2019-09-09 17:15:16 +08:00
lly
d48c89b56a ble_mesh: fix ble mesh btc may caused memory leak 2019-09-09 17:15:16 +08:00
lly
8a41132507 ble_mesh: fix publication period timestamp initialization 2019-09-09 17:15:16 +08:00
lly
715cf7d578 ble_mesh: remove useless mesh_opcode 2019-09-09 17:15:16 +08:00
lly
8580a3211b ble_mesh: fix bt_mesh_net_resend() caused compiling error 2019-09-09 17:15:16 +08:00
lly
8a7ab6cb3d ble_mesh: fix adhering to the configured Friend Queue size 2019-09-09 17:15:16 +08:00
lly
29de1a9acf ble_mesh: remove useless code bt_mesh_trans_resend() 2019-09-09 17:15:16 +08:00
lly
386a5d649c ble_mesh: lpn remove msg from cache on rejection 2019-09-09 17:15:16 +08:00
lly
9a672caa7e ble_mesh: introduce a helper for send callback function 2019-09-09 17:15:16 +08:00
lly
05128c98ec ble_mesh: fix heartbeat sending on friendship established/lost 2019-09-09 17:15:16 +08:00
lly
9f80c24b74 ble_mesh: fix checking for active heartbeat publication 2019-09-09 17:15:16 +08:00
lly
b9c43cec19 ble_mesh: fix starting iv update when not on primary subnet 2019-09-09 17:15:16 +08:00
lly
3f6968e31b ble_mesh: fix canceling publication retransmit timer 2019-09-09 17:15:16 +08:00
lly
10bffaebf1 ble_mesh: fix resending segments on correct bearer 2019-09-09 17:15:16 +08:00
lly
e152df43f1 ble_mesh: fix not sending all segments through the Friend Queue 2019-09-09 17:15:16 +08:00
lly
f449cb7843 ble_mesh: fix canceled buffer memory leak 2019-09-09 17:15:16 +08:00
lly
2afc9b820d ble_mesh: remove some useless copy during ecdh calculation 2019-09-09 17:15:16 +08:00
lly
75b0f50aa0 ble_mesh: move heartbeat sending to transport layer 2019-09-09 17:15:16 +08:00
lly
edf0b9ee02 ble_mesh: fix provisioning send error handling 2019-09-09 17:15:16 +08:00
lly
1c06494293 ble_mesh: fix rejecting invalid remote public key 2019-09-09 17:15:16 +08:00
lly
3e47f3ec87 ble_mesh: add error checks for scan start/stop 2019-09-09 17:15:16 +08:00
lly
3e489d40ff ble_mesh: rename reset_link() to reset_adv_link() 2019-09-09 17:15:16 +08:00
lly
f2b0b00020 ble_mesh: fix public key mismatch error handling 2019-09-09 17:15:16 +08:00
lly
630e911958 ble_mesh: update protocol error timeout from zephyr 2019-09-09 17:15:16 +08:00
lly
716db01a7f ble_mesh: fix segmented message RPL behavior 2019-09-09 17:15:16 +08:00
lly
5f5f5cf305 ble_mesh: clear LPN sent_req on failure 2019-09-09 17:15:16 +08:00
lly
4bf4094e40 ble_mesh: update proxy sar operation from zephyr 2019-09-09 17:15:16 +08:00
lly
9c98a8d645 ble_mesh: fix postponing storage deadline indefinitely 2019-09-09 17:15:16 +08:00
lly
c44a3f1209 ble_mesh: fix RPL storage timeout handling 2019-09-09 17:15:16 +08:00
lly
9a7efd30ef ble_mesh: fix output MIC with additional data 2019-09-09 17:15:16 +08:00
lly
f3e7656c06 ble_mesh: remove non-standard relay opearation 2019-09-09 17:15:16 +08:00
lly
0c82a32524 ble_mesh: fix finding netkey/appkey/devkey for tx/rx msg 2019-09-09 17:15:16 +08:00
lly
b8cb769ce3 ble_mesh: fix failed to set device role caused mem leak 2019-09-09 17:15:16 +08:00
lly
624bf7e3a0 ble_mesh: ble mesh btc miscellaneous modifications 2019-09-09 17:15:16 +08:00
lly
1f96bf5906 ble_mesh: fix MESH/NODE/FRND/FN/BV-11-C related bug 2019-09-09 17:15:16 +08:00
lly
f25640e9e5 ble_mesh: fix MESH/NODE/CFG/GPXY/BV-02-C & MESH/NODE/CFG/NID/BV-02-C related bug 2019-09-09 17:15:16 +08:00
lly
014a35c1df ble_mesh: fix MESH/NODE/CFG/HBS/BV-01-C related bug 2019-09-09 17:15:16 +08:00
lly
b3bc60183d ble_mesh: rename ble mesh client model variables and functions 2019-09-09 17:15:16 +08:00
lly
5f6259a625 ble_mesh: reorganize ble mesh model files 2019-09-09 17:15:16 +08:00
lly
a788e7cd3d ble_mesh: sync zephyr v1.14.0 bt_hex() 2019-09-09 17:15:16 +08:00
lly
c648054e08 ble_mesh: fix provisioner prov auth bug 2019-09-09 17:15:16 +08:00
Li Shuai
d5a9b1a240 util-test: The cache and spi_flash tests passed 2019-09-09 16:59:29 +08:00
Li Shuai
fd15fd3da4 util-test: Copy the test in the esp32 directory to the esp32s2beta directory 2019-09-09 16:57:28 +08:00
Li Shuai
eb4c0ef8b2 cache_err_int: Modify cache error interrupt panic code format 2019-09-09 14:35:42 +08:00
Li Shuai
ce6c86672b cache_err_int: Add cache error interrupt panic 2019-09-09 14:35:42 +08:00
Angus Gratton
35147119f1 Merge branch 'feature/support_ut_esp32s2beta' into 'feature/esp32s2beta'
ci: support build and run UT for esp32s2beta

See merge request espressif/esp-idf!5702
2019-09-09 08:34:16 +08:00
Jiang Jiang Jian
2ca954ae0f Merge branch 'feature/esp32s2beta_memory_reorg' into 'feature/esp32s2beta'
Feature/esp32s2beta memory reorganize

See merge request espressif/esp-idf!6026
2019-09-08 23:03:31 +08:00
Mahavir Jain
f2eadc9378 Merge branch 'bugfix/mbedtls_client_only_config_build_failure' into 'master'
Fix build issues in coap library with mbedtls client only config

See merge request espressif/esp-idf!5955
2019-09-06 21:12:04 +08:00
Krzysztof Budzynski
a2f86200c7 Merge branch 'doc/add_Chinese_translation_to_README_files_in_components_and_tools_folders_1st_batch' into 'master'
Add Chinese translation for storage documents linked to README files in components and tools folders (1st batch)

See merge request espressif/esp-idf!5620
2019-09-06 20:18:20 +08:00
Wang Fang
bea507378e Add Chinese translation for README files in components and tools folders, including:
1. components/nvs_flash/nvs_partition_generator/README_CN.rst
2. components/wear_levelling/README_CN.rst
3. tools/mass_mfg/docs/README_CN.rst
2019-09-06 20:18:19 +08:00
Krzysztof Budzynski
67960020cd Merge branch 'doc/add_Chinese_translation_to_rst_files_in_storage_folder_1st_batch' into 'master'
Doc/add chinese translation to rst files in storage folder 1st batch

See merge request espressif/esp-idf!5613
2019-09-06 19:12:37 +08:00
Wang Fang
758abe6e01 Add Chinese translation for the rst documents in storage folder, including:
1. docs/zh_CN/api-reference/storage/fatfs.rst
2. docs/zh_CN/api-reference/storage/index.rst
3. docs/zh_CN/api-reference/storage/sdmmc.rst
4. docs/zh_CN/api-reference/storage/spiffs.rst
5. docs/zh_CN/api-reference/storage/wear-levelling.rst
2019-09-06 19:12:36 +08:00
Jon Shallow
430b737760 Fix libcoap building with various MbedTLS compile time options
components/coap/port/coap_mbedtls.c:

Add in additional compile time check wrappers for different MbedTLS
configurations.

components/coap/CMakeLists.txt:
components/coap/component.mk:
components/coap/port/coap_notls.c:
components/coap/port/include/coap_config_posix.h:

Add in the ability to compile and run if MbedTLS does not have any TLS
mode enabled.

examples/protocols/coap_client/main/coap_client_example_main.c:

Inform user that MbedTLS Client Mode is required for DTLS if not enabled,
and coaps:// has been requested.
[Lower libcoap library will still error and report this condition]

examples/protocols/coap_server/main/coap_server_example_main.c:

Inform user that MbedTLS Server Mode is required for DTLS if not enabled.
[Lower libcoap library will still error and report this condition]

Closes https://github.com/espressif/esp-idf/issues/3961
Closes https://github.com/espressif/esp-idf/issues/3971
Closes https://github.com/espressif/esp-idf/pull/3977
2019-09-06 16:13:52 +05:30
Andrew
4fdaeb6b6e cmake: Add new compiler optimization levels definitions
Rename and add multiple kconfig compiler options. New compiler options
COMPILER_OPTIMIZATION_PERF and COMPILER_OPTIMIZATION_NONE have been added.
Optimize "Debug" and "Release" options to "Default" and "Size" respectively.
This commit also does the following:

- The COMPILER_OPTIMIZATION_PERF option introduced multiple bug.
This commit fixes those bugs.
- build.yml also updated to test for the new optimization options.
2019-09-06 17:37:19 +08:00
Nachiket Kukade
5df2e6b19c wpa_supplicant: Fix EAP Re-authentication issue
EAP reauth frames are dropped at various stages due to current
implementation of WPA2 ENT states and EAP SM init/deinit logic.
Route EAPOL frames based on EAP pkt type and maintain EAP SM
to facilitate EAP re-authentication process.

The full fix for the change includes a fix from wifi library
(commit - 36f99df849214fbf9b0d15e58554632a568e05aa).
2019-09-06 14:59:05 +05:30
jiangguangming
4ef4b29c74 Reorganize the memory to maximize contiguous DRAM
1. Fix bug for variable sdkconfig_header in CMakeLists.txt
2. Modify the load address of bootloader
3. Modify the load address of application program
2019-09-06 16:18:42 +08:00
Angus Gratton
8b3e8f10cb Merge branch 'fix/add_parentheses_to_spi_swap_data_tx' into 'master'
spi: Put argument of macro SPI_SWAP_DATA_TX in parentheses

See merge request espressif/esp-idf!5982
2019-09-06 16:04:56 +08:00
Angus Gratton
cd68972e32 Merge branch 'bugfix/ethernet_rx_length_check' into 'master'
ethernet: bugfix and optimize

Closes IDF-864, IDF-865, IDF-866, and IDF-867

See merge request espressif/esp-idf!5944
2019-09-06 15:39:20 +08:00
Angus Gratton
a16280236f Merge branch 'feature/coredump_data_in_elf_format_cpu_cache_enable' into 'master'
espcoredump: Enable cpu cache in panic handler for core dump

See merge request espressif/esp-idf!5496
2019-09-06 15:37:56 +08:00
Alex Lisitsyn
7ff9538c48 espcoredump: fix issue with spi_flash access
spi_flash has been updated and its functions work from flash by default instead of IRAM that cause issue
add Kconfig value into espcoredump to enable spi_flash legacy mode (CONFIG_SPI_FLASH_USE_LEGACY_IMPL) when core dump is selected
fix spi_flash issues to work correctly with legacy mode when CONFIG_SPI_FLASH_USE_LEGACY_IMPL is used
2019-09-06 15:37:55 +08:00
Jiang Jiang Jian
fc62542e18 Merge branch 'bugfix/fix_the_bug_for_WPA_WPA2_PSK_connection_fail' into 'master'
fix the bug for WPA_WPA2_PSK connection fail

See merge request espressif/esp-idf!6009
2019-09-06 14:34:47 +08:00
Jiang Jiang Jian
84daad38c3 Merge branch 'bugfix/btdm_a2dp_sink_media_suspend_cmd_unack' into 'master'
bugfix/btdm_a2dp_sink_media_suspend_cmd_unack

See merge request espressif/esp-idf!5937
2019-09-06 14:29:45 +08:00
Jiang Jiang Jian
35874254b9 Merge branch 'bugfix/rom_miniz_notes' into 'master'
rom: Add warnings for miniz functions that won't work due to missing malloc

Closes IDFGH-1814

See merge request espressif/esp-idf!6012
2019-09-06 14:18:57 +08:00
baohongde
cb2e1f93d1 components/bt: Fix sending LMP_features_req_ext in a loop
Remove xtensa/xtruntime.h at the same time
2019-09-06 12:00:54 +08:00
Mahavir Jain
92d162175a Merge branch 'bugfix/http_header_parser_resolution' into 'master'
esp_http_server : Bugfix in parsing of empty header values

Closes IDFGH-1539

See merge request espressif/esp-idf!5663
2019-09-06 11:02:37 +08:00
Chinmay Chhajed
a6cc964a26 esp_http_server : Bugfix in parsing of empty header values
This MR is intended to fix incorrect parsing of HTTP requests when empty header values are present.

The issue is was due to asymmetric behavior of `http_parser` library, which in case of:

    non-empty header values : invokes callbacks with the pointer to the start of a value
    empty header values : invokes callbacks with pointer to the start of next header or section

Since HTTP server relies on this pointer (along with length of the value) to locate the end of a value, and replace the line terminators (CRLFs) with null characters, the second case needed to be handled correctly.

Closes IDFGH-1539

Closes https://github.com/espressif/esp-idf/issues/3803
2019-09-06 11:02:36 +08:00
Angus Gratton
f23b3fdbe4 rom: Add warnings for miniz functions that won't work due to missing malloc
Closes https://github.com/espressif/esp-idf/issues/4024
2019-09-06 11:01:34 +10:00
zhangyanjiao
45c72dd372 fix the bug that STA fails to connect WPA_WPA2_PSK Apple AP 2019-09-05 20:20:42 +08:00
jiangguangming
c057c141eb Fix bug for reserved memory regions
1. Release 16KB memory of reserved regions to heap
2. Modify the dram_seg address of bootloader to 0x3FFF8000, size is 16K
2019-09-05 19:00:14 +08:00
Li Shuai
bd29202520 1. Fix backtrace is incomplete
2. Optimization code style
2019-09-05 18:40:33 +08:00
wanglei
653d8b5bdd update cache and spiram related files and bug fixes
1. remove speed dependency of SPIRAM
2. support wrap mode of cache, flash and SPIRAM
3. fix some bugs on cache modes support
2019-09-05 14:14:49 +08:00
Jiang Jiang Jian
8d85792acc Merge branch 'bugfix/btdm_crash_in_sket_ist' into 'master'
Fix 2 bugs in r_ld_fm_sket_isr

See merge request espressif/esp-idf!5946
2019-09-05 12:01:35 +08:00
Jiang Jiang Jian
07bd6d49ca Merge branch 'bugfix/btdm_config_but_task_size_fail' into 'master'
Use CONFIG value instead of hard-coded value.

See merge request espressif/esp-idf!5961
2019-09-05 11:26:50 +08:00
Krzysztof Budzynski
ab7c7b7ac3 Merge branch 'doc/add_chinese_translation_for_timer_in_api-reference_folder' into 'master'
add chinese translation for timer.rst in api-reference folder

See merge request espressif/esp-idf!5692
2019-09-04 17:09:13 +08:00
Hao Ning
eb2ddbfe48 add chinese translation for timer.rst in api-reference folder 2019-09-04 17:09:13 +08:00
Xia Xiaotian
f9aaaa6c3a esp_wifi: synchronize WiFi header file with WiFi library 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
852ccd127a ci: switch to use cmake as build system for example test 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
63329b169b ci: limit example test to ESP32s 2019-09-04 10:53:25 +10:00
KonstantinKondrashov
7f270d4299 newlib: Fix UT - test time adjustment happens linearly
Obtaining accurate and adjustable time occurs closer to each other.
2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
76a3a5fb48 ci: disable unavailable tests for esp32s2beta 2019-09-04 10:53:25 +10:00
Angus Gratton
e44df658d5 spiram: Fix ESP32 SPIRAM when using SPIRAM_TYPE_AUTO, disable "AUTO" for ESP32-S2
Requirement to enable for ESP32-S2 captured in IDF-912.
2019-09-04 10:53:25 +10:00
Angus Gratton
0c88ef3232 driver: Fix UART interrupt handle read bug 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
eb158e9a22 ci: disable UTs for esp32s2beta without runners 2019-09-04 10:53:25 +10:00
Angus Gratton
c22965b22c freertos: Restore uxPortCompareSet() in ESP32 unicore & make compatible code for ESP32S2Beta
This macro is used in places which expect it to work even without dual core being on.

Still make "mux" functions in FreeRTOS into no-ops as the mux is not needed.
2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
e9901d15a1 rtc: fix memory map 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
eac802357a ci: support build esp32s2beta UT 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
3a9ae4acc6 ci: pass target from build stage to unit test 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
4558824150 IDFDUT: seperate into different classes
The DUT should be created as the correct sub classes. This can be done
in the config file (UT_xxx_x.yml) Filter
2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
1f580e3f0e idf.py add support for esp32s2beta 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
053f419ced stdatomic: support gcc built-in functions for esp32s2beta 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
55859f59cb support for esp32s2beta 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
43135dc348 spi: convenient LL macro 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
9f1c8f0c76 spi_flash: support esp32s2beta 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
b76d5d74d9 mbedtls: support esp32s2beta 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
3b39e60f97 driver: remove unused drivers for esp32s2beta 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
05739798c3 soc: s2beta support 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
9baa7826be fix unit test and examples for s2beta 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng)
5b6bd40bc6 idf_py: support new command set-target
Instead of using -DIDF_TARGET, this command is more intuitive:

1. Can limit the choice of targets
2. Easy to understand this is a destructive command
3. Easy to remember, and have an entry in the --help menu
2019-09-04 10:53:25 +10:00
Renz Christian Bagaporo
a4ee680bbf app_update: use build system api to get partition_table dir 2019-09-03 19:47:53 +08:00
Martin Thierer
3bb42d0736 spi: Put argument of macro SPI_SWAP_DATA_TX/RX in parentheses
Close https://github.com/espressif/esp-idf/pull/3996
2019-09-03 15:21:23 +08:00
Angus Gratton
b08dcefafb Merge branch 'bugfix/idf_py_ccache_options' into 'master'
idf.py: Add way to enable CCache by default, remove dead CCache options code

Closes IDF-948

See merge request espressif/esp-idf!5971
2019-09-03 12:56:20 +08:00
Angus Gratton
c5747027b4 Merge branch 'bugfix/cmake_bootloader_python' into 'master'
build system: Pass Python executable through to bootloader build

See merge request espressif/esp-idf!5956
2019-09-03 12:55:58 +08:00
suda-morris
14ffd355e6 ethernet: bugfix and optimize
1. check frame length before pass to stack
2. replace semaphore with task notify
2019-09-03 11:01:16 +08:00
baohongde
019067b6ac components/bt: Rename some macros 2019-09-03 10:23:05 +08:00
Zac Bond
f8212988c4 Use CONFIG value instead of hard-coded value.
Add intermediate defines.

Use CONFIG_BTU_TASK_STACK_SIZE instead of hard-coded value in Bluedroid component
2019-09-03 10:21:45 +08:00
Angus Gratton
5b9576e282 Merge branch 'bugfix/hide_component_internal_targets' into 'master'
cmake: hide component internal targets

See merge request espressif/esp-idf!5866
2019-09-03 09:24:34 +08:00
Angus Gratton
002104b262 Merge branch 'bugfix/err_code_collision' into 'master'
Fix error code collisions and re-enable CI check

Closes IDF-832

See merge request espressif/esp-idf!5923
2019-09-03 08:30:40 +08:00
Angus Gratton
9a7ab28cc2 idf.py: Add environment variable to enable ccache by default 2019-09-03 10:25:28 +10:00
Jiang Jiang Jian
9b070666e1 Merge branch 'bugfix/btdm_linking_fail_with_toolchain_8.2.0' into 'master'
components/bt: Fix linking fail with toolchain 8.2.0

See merge request espressif/esp-idf!5782
2019-09-02 22:21:59 +08:00
Jiang Jiang Jian
81cf2cf130 Merge branch 'bugfix/btdm_remove_unused_macro_in_menuconfig' into 'master'
components/bt: Remove unused macro in menuconfig

See merge request espressif/esp-idf!5950
2019-09-02 22:20:49 +08:00
baohongde
185f47ab7e components/bt: Disable Wide Bond Speech when SCO data path is PCM 2019-09-02 20:50:09 +08:00
nif
75578300f1 BT HFP: Add AT+NREC=0 command for disabling AG echo cancellation. 2019-09-02 09:28:38 +00:00
Jiang Jiang Jian
df5db07edf Merge branch 'doc/add_ble_mesh_example_description' into 'master'
ble_mesh: add ble mesh example description

See merge request espressif/esp-idf!5711
2019-09-02 14:28:58 +08:00
Jiang Jiang Jian
a4a95e6c67 Merge branch 'bugfix/coex_bb_reset_lock' into 'master'
fix bug that wifi start/stop may cause crash

See merge request espressif/esp-idf!5968
2019-09-02 14:25:50 +08:00
Jiang Jiang Jian
6fa20a4d33 Merge branch 'test/use_correct_config_for_nvs_compatible_case' into 'master'
test: fix nvs compatible case error:

See merge request espressif/esp-idf!5890
2019-09-02 12:40:38 +08:00
Jiang Jiang Jian
a2e0c6b1ab Merge branch 'test/fix_mesh_test_case' into 'master'
test: fix test case MESH_EST_2403

See merge request espressif/esp-idf!5813
2019-09-02 12:38:38 +08:00
lly
c310d40299 ble_mesh: add ble mesh example description 2019-09-02 12:15:03 +08:00
Angus Gratton
9134643807 idf.py: Remove dead code around ccache base dir 2019-09-02 10:56:43 +10:00
Angus Gratton
f4763a3e1a Merge branch 'bugfix/idf_py_fix_property_dict' into 'master'
idf.py: Fix PropertyDict implementation

See merge request espressif/esp-idf!5775
2019-09-02 08:51:13 +08:00
Angus Gratton
eca4b855d9 Merge branch 'bugfix/secure_boot_ecdsa_config' into 'master'
secure boot: Ensure mbedTLS enables ECDSA if signatures are checked in app

See merge request espressif/esp-idf!5960
2019-09-02 08:31:18 +08:00
Angus Gratton
6581f81a11 Merge branch 'doc/ncurses5_dependency_pr3236' into 'master'
docs: Explain ncurses5 for other distributions as well

Closes IDFGH-884

See merge request espressif/esp-idf!5966
2019-09-02 08:25:22 +08:00
Tian Hao
3af18c0422 fix some coex bugs
1. fix the bug that bb reset lock unhandled may cause assert in vPortCPUReleaseMutexIntsDisabledInternal
2. fix wifi mac reset may blocking then cause wdt timeout
3. fix bug wifi mac reset before coex init
2019-08-30 22:06:29 +08:00
Angus Gratton
a7e8d87d3e Merge branch 'bugfix/error_out_on_uninit_git' into 'master'
cmake: fix build failure when git repo is initialized but no first commit

Closes IDFGH-1676

See merge request espressif/esp-idf!5914
2019-08-30 16:27:28 +08:00
Angus Gratton
d1f2ea7cdf Merge branch 'bugfix/make_build_issue_if_build_dir_symlink' into 'master'
ldgen: fix build issue on make when build dir is a symlink

Closes IDFGH-1340

See merge request espressif/esp-idf!5915
2019-08-30 16:27:21 +08:00
Angus Gratton
879778a677 Merge branch 'refactor/move_smartconfig_ack_to_wifi' into 'master'
smartconfig: move smartconfig_ack to esp_wifi conponent

Closes IDFGH-1758

See merge request espressif/esp-idf!5881
2019-08-30 16:27:11 +08:00
Angus Gratton
ff5cb217fe Merge branch 'bugfix/unicore_config_prevent_ipc_code' into 'master'
ipc: prevent code getting pulled in for unicore configuration

See merge request espressif/esp-idf!5795
2019-08-30 16:26:47 +08:00
joedeveloper
70b1ff7bc6 docs: Explain ncurses5 for other distributions as well
Ran into ncurses5 dependency issue on popOS

stub section for covering libncurses 5 workarounds on distributions that need it, when only Arch was
mentioned it was too easy to skip over the section

Merges https://github.com/espressif/esp-idf/pull/3236
2019-08-30 18:16:30 +10:00
Angus Gratton
6123f78897 mbedtls: Make ECDHE-PSK config item depend on ECDHE 2019-08-30 15:01:53 +10:00
Angus Gratton
abd6d40796 secure boot: Ensure mbedTLS enables ECDSA if signatures are checked in app
and all ECDSA to be disabled if secure boot is not enabled

Previously if ECDSA disabled in config then secure_boot_signatures.c would
fail to build (whether or not secure boot was enabled).

To avoid breaking apps that might be using the signature scheme with custom OTA
without enabling secure boot signatures in config, this change just disables
this functionality if unavailable in mbedTLS config.

Possible fix for root cause of https://github.com/espressif/esp-idf/pull/3703
2019-08-30 14:56:11 +10:00
baohongde
d12503eb55 components/bt: Remove unused macro in menuconfig 2019-08-29 19:58:05 +08:00
Mahavir Jain
d6982e0401 Merge branch 'feature/enable_cfg_for_tls_asymmetric_content_length' into 'master'
mbedtls: keep asymmetric tls buffer length option enabled by default

See merge request espressif/esp-idf!5678
2019-08-29 19:45:06 +08:00
Angus Gratton
e3e21b7954 build system: Pass Python executable through to bootloader build
Fixes failures if the PYTHON cache setting doesn't match the
default of "python" on the PATH.
2019-08-29 18:53:18 +10:00
Roland Dobai
612db28b6f Fix error code collision and CI check 2019-08-29 08:14:08 +00:00
baohongde
b6fe44b520 Fix 2 bugs in r_ld_fm_sket_isr
1. When remove two elt in the 1st isr, then assert in then 2nd one.
2. When timestamp of first elt is equal to sket_clkn, then crash.
2019-08-29 11:27:57 +08:00
Jon Shallow
e7033716db LwIP: Make IP_PKTINFO support configurable
LwIP has support for IP_PKTINFO, but it cannot be activated as it is
not configurable. This fix adds in the ability to configure it.

Merges https://github.com/espressif/esp-idf/pull/3983
2019-08-29 11:20:56 +08:00
suda-morris
a36cc962a3 smartconfig: move smartconfig_ack to esp_wifi conponent 2019-08-29 10:39:30 +08:00
Angus Gratton
1c7aff809d Merge branch 'bugfix/test_esp_efuse_table_on_host' into 'master'
CI: Fix path in the Efuse table test

See merge request espressif/esp-idf!5924
2019-08-29 10:15:47 +08:00
Angus Gratton
31d818326d Merge branch 'docs/update_system_examples_readmes' into 'master'
examples: Update system examples README

See merge request espressif/esp-idf!5755
2019-08-29 10:12:19 +08:00
Angus Gratton
ec3510854f Merge branch 'bugfix/pass_esp_platform_to_early_expansion' into 'master'
CMake: Pass ESP_PLATFORM to early expansion

See merge request espressif/esp-idf!5932
2019-08-29 10:09:51 +08:00
Angus Gratton
1cd54d34f6 Merge branch 'bugfix/bootloader_factory_reset_with_wake_up_from_deep_sleep' into 'master'
bootloader: Blocking the Factory reset during wake up from deep sleep

Closes IDFGH-1536

See merge request espressif/esp-idf!5673
2019-08-29 09:35:08 +08:00
Angus Gratton
06898325e6 Merge branch 'bugfix/bootloader_efuse_build_regression' into 'master'
bootloader: add definition of esp_clk_apb_freq

Closes IDFGH-1734

See merge request espressif/esp-idf!5913
2019-08-29 08:35:48 +08:00
Jiang Jiang Jian
17dc04183a Merge branch 'bugfix/fix_the_bug_for_softap_set_authmode' into 'master'
wifi: fix the bug for softAP set authmode

Closes WIFI-449

See merge request espressif/esp-idf!5823
2019-08-28 19:05:00 +08:00
Darian Leung
de682a13b1 examples: Update system examples README
The following commit updates the first half of the the system
example README files. Some other changes were also made:

* Updated base_mac_address example
* Moved contents in GCOV README to GCOV docs
* Some *main.c file names updated
* Updated example README template
2019-08-28 16:19:40 +08:00
Mahavir Jain
ebe53416ad ipc: prevent code getting pulled in for unicore configuration 2019-08-28 12:47:08 +05:30
wangmengyang
30bc5953f2 bugfix that call of esp_a2d_media_ctrl(ESP_A2D_MEDIA_CTRL_SUSPEND) will not get an ACK from callback on A2DP sink
# Conflicts:
#	components/bootloader/subproject/components/micro-ecc/micro-ecc
2019-08-28 15:16:10 +08:00
Renz Christian Bagaporo
fe9edc3ebe docs: fix typo of build component aliases name 2019-08-28 14:52:09 +08:00
Mahavir Jain
5582878f8e mbedtls: keep asymmetric tls buffer length option enabled by default 2019-08-28 06:23:33 +00:00
Renz Christian Bagaporo
ba2ec73d59 cmake: fix build failure when git repo is initialized but no first commit
Closes https://github.com/espressif/esp-idf/issues/3920
2019-08-28 09:53:37 +08:00
Per Malmberg
31cdd38744 Make sure ESP_PLATFORM is defined when processing CMake files. 2019-08-28 09:44:06 +08:00
Angus Gratton
61442cdcbb Merge branch 'bugfix/tools_shebang' into 'master'
Tools: Fix shebang for MacOs

See merge request espressif/esp-idf!5906
2019-08-28 09:07:52 +08:00
Angus Gratton
a21ca2270a Merge branch 'feature/deep_sleep_fast_wake' into 'master'
bootloader: Reduce the time spent in image validation when waking from deep sleep

See merge request espressif/esp-idf!5140
2019-08-28 08:54:28 +08:00
Renz Christian Bagaporo
826568a120 cmake: introduce BUILD_COMPONENT_ALIASES
This commit makes it so that BUILD_COMPONENT holds only the component,
and a new property BUILD_COMPONENT_ALIASES hold the full name of the
component.

This also removes erroneous check for duplicate components, as this can
never happen:

(1) if two components have the same name but different prefixes,
the internal names are still unique between them

(2)if two components happen to have the same name and same prefix, the
latter would override the former
2019-08-27 20:40:29 +08:00
Jiang Jiang Jian
039f9d0a20 Merge branch 'bugfix/btdm_fix_ble_data_loss_and_send_same_pkt_twice' into 'master'
Component/bt: fix some BLE bugs

See merge request espressif/esp-idf!5896
2019-08-27 18:48:45 +08:00
Ivan Grokhotkov
fb72a6f629 bootloader: add definition of esp_clk_apb_freq
Commit 8cd04c80 has added a dependency of efuse component on
esp_clk_apb_freq, however there was no definition of this function in
the bootloader context.

Reported at https://esp32.com/viewtopic.php?f=13&t=12035
2019-08-27 12:01:11 +02:00
Roland Dobai
474f6d9d98 Fix path in the Efuse table test 2019-08-27 11:58:45 +02:00
Renz Christian Bagaporo
88320062b8 cmake: make build components available before immediately
Previous implementation only builds list of components included in the
build during component registration.

Since the build components is known as the requirements expansion is
ongoing, update the list here instead.
2019-08-27 15:24:31 +08:00
Renz Christian Bagaporo
c50a67567a ldgen: fix build issue on make when build dir is a symlink
Fixes an issue where build fails if the build directory is a symlink.
The issue is caused by the rule target and the final executable dependency
not matching.

Closes https://github.com/espressif/esp-idf/issues/3626
2019-08-27 13:53:31 +08:00
Ivan Grokhotkov
5643f627cd Merge branch 'feature/bat_scripts_to_ps1' into 'master'
Create Powershell versions of "install.bat" and "export.bat"

See merge request espressif/esp-idf!5816
2019-08-27 13:45:50 +08:00
Andrei Gramakov
79dd142ab8 tools: add install.ps1, export.ps1
Closes IDF-855
2019-08-27 13:45:50 +08:00
Ivan Grokhotkov
1b24b3663e fatfs: handle FR_INT_ERR as "filesystem corrupted"
FatFS library can sometimes return FR_INT_ERR if the filesystem is
corrupted. Propagate the error from VFS functions instead of
asserting, so that the application can handle the error. Also handle
the error during initialization of FatFS and format the filesystem if
it occurs.
2019-08-27 00:11:45 +02:00
Roland Dobai
f2a4131c24 Tools: Fix shebang for MacOs
Revert a change introduced in d296aad2a9
for intended compatibility with BSD which breaks the build on MacOs:
"clang: error: unknown argument: '-n'" for "echo".

BSD users will have to use some workaround since MacOs is a supported
OS of IDF and BSD is not.
2019-08-26 13:53:52 +02:00
Ivan Grokhotkov
aa087667df Merge branch 'bugfix/add_openocd_arm' into 'master'
Tools: Add OpenOCD for the ARM architecture

See merge request espressif/esp-idf!5878
2019-08-26 19:36:22 +08:00
Angus Gratton
8d8d4a57e1 Merge branch 'bugfix/reset_periph_modules' into 'master'
driver: Add a reset before enabling if a module is off

Closes IDF-188

See merge request espressif/esp-idf!4843
2019-08-26 16:38:23 +08:00
zhiweijian
f002d1c6aa Component/bt: fix dome BLE bugs
- fix data loss and send same pkt twice sometimes
- fix adv data error in air sometimes
- fix adv start/stop crash sometimes
2019-08-26 14:17:46 +08:00
Jiang Jiang Jian
f68cd62abd Merge branch 'bugfix/btdm_security_vulnerability_on_encryption_key_size' into 'master'
bugfix/btdm_security_vulnerability_on_encryption_key_size

See merge request espressif/esp-idf!5868
2019-08-26 14:08:22 +08:00
Angus Gratton
7ef58dbeb0 Merge branch 'bugfix/confgen_msys_path' into 'master'
Fix sdkconfig.rename paths for confgen.py in MSYS

Closes IDFGH-1712

See merge request espressif/esp-idf!5864
2019-08-26 09:35:33 +08:00
He Yin Ling
954a23be37 test: fix nvs compatible case error:
nvs compatible test case uses new test env and app. update test config
file.
2019-08-25 20:35:49 +08:00
KonstantinKondrashov
30953ba9c4 app_update: Fix UTs for FACTORY_RESET and APP_TEST 2019-08-23 10:21:06 +00:00
KonstantinKondrashov
69f45c3674 bootloader: Factory reset not for deep sleep
Closes: https://github.com/espressif/esp-idf/issues/3800

Closes: IDFGH-1536
2019-08-23 10:21:06 +00:00
Jiang Jiang Jian
8db44f67d7 Merge branch 'bugfix/wps_workaround_for_Telstra_AP' into 'master'
wps: Relax the check on older config methods in case of WPS2.0

See merge request espressif/esp-idf!5781
2019-08-23 17:32:46 +08:00
Dmitry
a0730fec2a Performance monitor component. The component contains APIs, example and
documentation.
2019-08-23 11:20:12 +03:00
Angus Gratton
99a58e5839 Merge branch 'doc/cbor_copyright' into 'master'
docs: Add TinyCBOR copyright line

See merge request espressif/esp-idf!5880
2019-08-23 15:49:10 +08:00
zhangyanjiao
ff96965a91 wifi: fix the bug for softAP set authmode 2019-08-23 14:37:08 +08:00
Mahavir Jain
141a287c8a Merge branch 'bugfix/fix_code_snippet_in_http_server_docs' into 'master'
Fixed syntax error in esp_http_server.rst

See merge request espressif/esp-idf!5844
2019-08-23 14:26:03 +08:00
Mahavir Jain
8e7c71a1a0 Merge branch 'bugfix/cmake_src_exclude_issue' into 'master'
cmake: fix issue with handling of EXCLUDE_SRCS

See merge request espressif/esp-idf!5869
2019-08-23 14:21:16 +08:00
morris
f06e6d80e7 Merge branch 'feature/esp32s2beta_for_bringup' into 'feature/esp32s2beta'
rtc: update from bringup branch

See merge request espressif/esp-idf!5733
2019-08-23 14:04:45 +08:00
Angus Gratton
ba647b9710 Merge branch 'bugfix/flash_encryption_regressions' into 'master'
fix flash encryption regressions, add tests

Closes IDFGH-1538, IDFGH-1661, and IDF-770

See merge request espressif/esp-idf!5634
2019-08-23 12:37:55 +08:00
Ivan Grokhotkov
12c9d9a564 spi_flash: remove duplicate definition of spi_flash_unlock
The other (static) definition is in flash_ops.c, all references are
also in flash_ops.c.
2019-08-23 12:37:55 +08:00
Angus Gratton
2f557d1a59 Merge branch 'bugfix/openocd_ulp_install_instructions' into 'master'
docs: ulp: update for IDF Tools installation method

Closes IDF-825

See merge request espressif/esp-idf!5860
2019-08-23 09:38:47 +08:00
wangmengyang
76b6902e96 components/bt: set the minimum encryption key size to be 7 octects for BR/EDR link for preventing KNOB attack
This patch is to address the CVE-2019-9506 vulnerability.
2019-08-23 08:26:15 +08:00
Angus Gratton
e28b6e59b6 docs: Add TinyCBOR copyright line 2019-08-23 09:20:08 +10:00
Angus Gratton
f4d03fe965 Merge branch 'feature/add_tinycbor_library' into 'master'
add tinycbor library and example

See merge request espressif/esp-idf!5794
2019-08-23 07:14:19 +08:00
Roland Dobai
8bf1ef2bfe Tools: Add OpenOCD for the ARM architecture 2019-08-22 16:51:04 +02:00
Ivan Grokhotkov
0d188c8917 Merge branch 'doc/update_ulp_install_translation' into 'bugfix/openocd_ulp_install_instructions'
update translation of ulp install instuctions

See merge request espressif/esp-idf!5862
2019-08-22 19:45:02 +08:00
Roland Dobai
8b8b2f12e4 Fix sdkconfig.rename paths for confgen.py in MSYS
Closes https://github.com/espressif/esp-idf/issues/3950
2019-08-22 11:48:19 +02:00
suda-morris
5a09de8245 cbor: add tinycbor library and example 2019-08-22 17:44:29 +08:00
Mahavir Jain
1248f17749 cmake: fix issue with handling of EXCLUDE_SRCS 2019-08-22 13:17:44 +05:30
fuzhibo
c9a911e4aa rtc: update from bringup branch 2019-08-22 15:03:18 +08:00
Angus Gratton
f85ba3516f Merge branch 'bugfix/fix_project_ver_issue' into 'master'
CMake: fix retrieving PROJECT_VER

See merge request espressif/esp-idf!5842
2019-08-22 10:47:06 +08:00
Renz Christian Bagaporo
72ddc940e0 cmake: hide internal targets
Use imported library, which does not create additional rules, but still
allows attaching arbitraty properties instead of custom targets. This
allows the targets to not appear in the target list of IDEs such as
CLion.
2019-08-22 09:39:24 +08:00
suda-morris
43b29e4f4d doc: update translation of ulp install instuctions 2019-08-21 21:52:48 +08:00
Jiang Jiang Jian
0a30468945 Merge branch 'feature/wifi_use_new_event_api' into 'master'
esp_wifi/event: wifi use new event api

Closes WIFI-696

See merge request espressif/esp-idf!5454
2019-08-21 21:12:28 +08:00
Ivan Grokhotkov
5ba9be9c2e docs: ulp: update for IDF Tools installation method
binutils-esp32ulp is installed automatically by install.sh/install.bat
or the IDF Tools Installer for Windows.
2019-08-21 14:45:33 +02:00
KonstantinKondrashov
c543aac91e bootloader: API for the fast wakeup and custom using RTC mem
Added "Reserve RTC FAST memory for custom purposes" option.
Added a boot counter.
2019-08-21 11:44:37 +00:00
KonstantinKondrashov
abffc3b11d docs: Add a description of the fast wakeup 2019-08-21 11:44:37 +00:00
KonstantinKondrashov
83db8d402b examples: Add the fast wakeup option for deep sleep examples
The CONFIG_BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP option is enabled
by default for the following examples:
 - system/deep_sleep,
 - system/ulp,
 - system/ulp_adc.
2019-08-21 11:44:37 +00:00
Tim Nordell
43393cf4d1 bootloader: Support for skipping validation upon wake from deep sleep
This saves time when waking up from deep sleep, but potentially decreases
the security of the system.  If the application able to modify itself
(especially areas that are loaded into RAM) in flash while running
without crashing or is modifies the cached bits of information about
what was last booted from the bootloader, this could cause security
issues if the user does a "deep sleep reset" since the full validation
is skipped.

Signed-off-by: Tim Nordell <tim.nordell@nimbelink.com>
2019-08-21 11:44:37 +00:00
Tim Nordell
82984f0539 bootloader: Do not obfuscate RAM if we are not doing image validation
No need to take this step if we are not doing image validation.  The
obfuscation only buys us a tiny bit of "security" anyways since the
main parts of flash are memory mapped, too.  This saves a little bit of
wake-up time when waking up from deep sleep when the
BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP option is set.

Signed-off-by: Tim Nordell <tim.nordell@nimbelink.com>
2019-08-21 11:44:37 +00:00
Tim Nordell
1e32fa2cf7 bootloader: Remove extraneous newlines from some debug statements
ESP_LOGD(...) provides its own new lines so remove these from these
debug strings.

Signed-off-by: Tim Nordell <tim.nordell@nimbelink.com>
2019-08-21 11:44:37 +00:00
Mahavir Jain
d9c02bc36c Merge branch 'nimble/misc_menuconfig_options' into 'master'
NimBLE: Add misc menuconfig options

See merge request espressif/esp-idf!5843
2019-08-21 19:28:47 +08:00
Prasad Alatkar
393eb1700d NimBLE: Add misc menuconfig options
- Add option to configure stack size of NimBLE host task, update NimBLE
  submodule for the same.
- Change max concurrent connections supported to 9 inline with controller.
2019-08-21 19:28:47 +08:00
Jiang Jiang Jian
14608cc0fb Merge branch 'Bugfix/nonblocking_udp_is_zero' into 'master'
fix bug for nonblocking udp is zero

Closes WIFI-756

See merge request espressif/esp-idf!5792
2019-08-21 16:44:11 +08:00
Angus Gratton
3aef62527a Merge branch 'update/cjson_v1_7_12' into 'master'
Update cJSON to v1.7.12

See merge request espressif/esp-idf!5776
2019-08-21 16:40:35 +08:00
Angus Gratton
fe376f9f04 Merge branch 'bugfix_kconfig_deps_missing' into 'master'
kconfig: Add -MP option so .d files include empty targets

See merge request espressif/esp-idf!5820
2019-08-21 16:19:59 +08:00
Angus Gratton
5a3bad6119 Merge branch 'feature/freebsd_build_system' into 'master'
build systems: Changes to work on FreeBSD

Closes IDFGH-1657

See merge request espressif/esp-idf!5821
2019-08-21 16:18:47 +08:00
Angus Gratton
319d44b1a6 Merge branch 'bugfix/esp_timer_null_checks' into 'master'
esp_timer: Add parameter NULL checks to public API

See merge request espressif/esp-idf!5804
2019-08-21 16:17:15 +08:00
Angus Gratton
38d61f83db Merge branch 'feature/esp32s2beta_update' into 'feature/esp32s2beta'
esp32s2beta: Merge master into esp32s2beta branch

See merge request espressif/esp-idf!5724
2019-08-21 15:20:28 +08:00
Michael
b7e73025fe Fixed syntax error in esp_http_server.rst
Changed the "const char[] name" into "const char name[]", so now the code doesn't produce the "expected identifier or '(' before '[' token" error.

Closes https://github.com/espressif/esp-idf/pull/3940
2019-08-21 12:31:46 +05:30
Renz Christian Bagaporo
4690152eca cmake: make default version 1 2019-08-21 12:46:38 +08:00
Renz Christian Bagaporo
3eecd43b31 cmake: fix issue with checking build process args 2019-08-21 12:20:46 +08:00
xueyunfei
36920b4062 fix bug for nonblocking udp is zero 2019-08-21 11:25:17 +08:00
Renz Christian Bagaporo
a1a2f33459 esptool_py: add missing phony build targets for CMake
Adds targets erase_flash and monitor for users not using idf.py.
Closes https://github.com/espressif/esp-idf/issues/2420.
2019-08-21 10:01:00 +08:00
Xia Xiaotian
80f1c13fd7 esp_wifi: update WiFi library to support esp32s2beta 2019-08-21 10:45:07 +10:00
Sergei Silnov
58418c790a idf.py: Add support for deprecation of command/options 2019-08-20 16:10:25 +02:00
Ivan Grokhotkov
02c7c3885e Merge branch 'bugfix/openocd_ulp_install_instructions' into 'master'
docs: jtag-debugging: update for IDF Tools installation method

Closes IDF-824

See merge request espressif/esp-idf!5803
2019-08-20 21:34:45 +08:00
suda-morris
7237e6fab7 docs: jtag-debugging: update translation 2019-08-20 14:49:48 +02:00
Ivan Grokhotkov
209fdc1e05 docs: jtag-debugging: update for IDF Tools installation method
- rely on OPENOCD_SCRIPTS variable in all cases, remove -s flags
- replace installation section with a reference to the Getting Started
  guides
- add Windows-specific commands in a few cases
2019-08-20 14:49:48 +02:00
Ivan Grokhotkov
636c6a9a30 Merge branch 'feature/ulp_macro_updates' into 'master'
ulp: updates for ULP macros (PRs from Github)

Closes IDFGH-1492

See merge request espressif/esp-idf!5801
2019-08-20 20:40:09 +08:00
Nachiket Kukade
19a1af88a5 wps: Relax the check on older config methods in case of WPS2.0
Some APs incorrectly advertize newer WPS2.0 config method bits
without setting bits for the corresponding older methods. This
results in failures during 8-way handshake. Add a workaround to
relax this check so that WPS handshake can proceed.
2019-08-20 09:58:41 +00:00
liu zhifu
003a9872b7 esp_wifi: wifi support new event mechanism
1. WiFi support new event mechanism
2. Update examples to use new event mechanism
2019-08-20 09:39:51 +00:00
Ivan Grokhotkov
5944f575cf Merge branch 'bugfix/newlib_time_test' into 'master'
newlib: Fix UT - test time adjustment happens linearly

See merge request espressif/esp-idf!5712
2019-08-20 16:24:30 +08:00
Angus Gratton
9d8c21d8fb Merge branch 'feature/esp32s2beta_rtc_vddsdio_get_config' into 'feature/esp32s2beta'
soc: Update rtc_vddsdio_get_config for esp32s2beta

See merge request espressif/esp-idf!5759
2019-08-20 13:14:07 +08:00
Angus Gratton
60eec0e969 Merge branch 'bugfix/set_mconf_idf_build_dir' into 'master'
cmake: set build dir for mconf-idf

See merge request espressif/esp-idf!5819
2019-08-20 13:10:36 +08:00
Angus Gratton
60d46f9795 Merge branch 'feat/idf_py_set_target' into 'master'
idf_py: support new command set-target

See merge request espressif/esp-idf!5785
2019-08-20 12:30:50 +08:00
Angus Gratton
0a0bb09585 Merge 'master' into feature/esp32s2beta_update 2019-08-20 13:55:23 +10:00
Krzysztof Budzynski
691b81ec25 Merge branch 'doc/bootloader_zh_CN' into 'master'
zh_CN translation of bootloader document

See merge request espressif/esp-idf!4746
2019-08-20 05:14:17 +08:00
Jiang Jiang Jian
23aef7d8d8 Merge branch 'cleanup/make_supp_headers_private' into 'master'
wpa_supplicant: Make internally used crypto headers private

Closes IDF-476

See merge request espressif/esp-idf!5666
2019-08-19 17:11:34 +08:00
Tomoyuki Sakurai
d296aad2a9 build systems: Changes to work on FreeBSD
Merges https://github.com/espressif/esp-idf/pull/2029
2019-08-19 15:33:55 +10:00
Angus Gratton
450a29e8ba Merge branch 'feature/cmake_check_mconf_version' into 'master'
cmake: check mconf-idf binary version

Closes IDF-835

See merge request espressif/esp-idf!5799
2019-08-19 13:08:33 +08:00
Angus Gratton
701ec9dae0 Merge branch 'feat/idf_monitor_event_queue_block' into 'master'
idf_monitor: fix the bug that idf_monitor not blocked when no log printed

See merge request espressif/esp-idf!5805
2019-08-19 13:06:31 +08:00
Angus Gratton
2085845c80 freertos: Have ESP32S2-Beta target select FREERTOS_UNICORE directly 2019-08-19 15:03:48 +10:00
Angus Gratton
685c9cc867 esp32sbeta: Add timer_ll.h 2019-08-19 15:03:48 +10:00
Angus Gratton
6990a7cd54 Merge branch 'master' into feature/esp32s2beta_update 2019-08-19 15:03:43 +10:00
suda-morris
ab406f8429 zh_CN translation of bootloader document 2019-08-19 11:37:59 +08:00
Angus Gratton
b1d67ad344 Merge branch 'bugfix/remove_transport_strcasestr' into 'master'
tcp_transport: replace transport_strcasestr with strcasestr

Closes IDF-548

See merge request espressif/esp-idf!5802
2019-08-19 10:36:32 +08:00
Angus Gratton
74be271f62 kconfig: Add -MP option so .d files include empty targets
Prevents make-level errors when switching IDF versions, as headers may be removed.

Similar to some mentioned here:
https://github.com/espressif/esp-idf/issues/712
2019-08-19 11:42:39 +10:00
Angus Gratton
b8997eb218 Merge branch 'bugfix/confserver_temporaryfile_windows' into 'master'
confserver: Fix NamedTemporaryFile use on Windows

See merge request espressif/esp-idf!5814
2019-08-19 08:23:02 +08:00
Nachiket Kukade
9ec363a25d wpa_supplicant: Make internally used crypto headers private
A lot of internally used crypto headers are publicly includeable
in user projects. This leads to bug reports when these headers
are incorrectly used or the API's are not used as intended.

Move all crypto headers into private crypto src folder, also move
crypto_ops into Supplicant to remove dependecy on crypto headers.

Closes IDF-476
2019-08-17 11:48:37 +00:00
Michael (XIAO Xufeng)
026ec388a6 idf_py: support new command set-target
Instead of using -DIDF_TARGET, this command is more intuitive:

1. Can limit the choice of targets
2. Easy to understand this is a destructive command
3. Easy to remember, and have an entry in the --help menu
2019-08-17 00:06:14 +08:00
Michael (XIAO Xufeng)
24f91617d7 idf_monitor: fix the bug that idf_monitor not blocked when no log printed
Inspired by @no1seman, @negativekelvin and @pglen on Github. (In post oder)

Resolves https://github.com/espressif/esp-idf/issues/3884
2019-08-16 17:56:51 +08:00
baohongde
38ae31ebc4 components/bt: Fix linking fail with toolchain 8.2.0 2019-08-16 09:54:18 +00:00
Renz Christian Bagaporo
ded0ac352d cmake: set build dir for mconf-idf
Fixes an issue where if idf_build_process is called in a CMake
subdirectory, menuconfig looks for the mconf-idf binary in the wrong
place (in the subdirectory build dir instead of root binary dir).
2019-08-16 17:46:50 +08:00
Angus Gratton
76453ccfa5 Merge branch 'bugfix/ledc_clock_mode' into 'master'
driver: ledc: Fix clock mode selection

See merge request espressif/esp-idf!5747
2019-08-16 17:39:16 +08:00
Angus Gratton
423fb9573b confserver: Fix NamedTemporaryFile use on Windows
Can't have the file open twice, so need to close and delete after reopening.
2019-08-16 19:24:37 +10:00
chenyudong
2116968d78 test: fix test case MESH_EST_2403 2019-08-16 09:15:31 +00:00
Angus Gratton
727ffbe908 esp_timer: Add parameter NULL checks to public API
Return ESP_ERR_INVALID_ARG if the handle is NULL, instead of crashing.

As reported via forum https://esp32.com/viewtopic.php?f=13&t=11721&p=47926#p47926
2019-08-16 13:00:21 +10:00
Angus Gratton
74c2eb3aff Merge branch 'fix/esp_flash_set_get_wp' into 'master'
esp_flash: fix the set/get write protection functions

See merge request espressif/esp-idf!5682
2019-08-16 06:14:48 +08:00
Ivan Grokhotkov
61a1a468bb tcp_transport: replace transport_strcasestr with strcasestr
esp32-2019r1 toolchain version includes 'strcasestr', so the version
provided in tcp_transport component is no longer needed.
2019-08-15 17:51:54 +02:00
Saket Dandawate
ccc95191ea ulp: Add aditional uint32_t object to ulp_insn_t
Used to get the encoded instruction from bit-field structs.

Merges https://github.com/espressif/esp-idf/pull/3759
2019-08-15 17:34:26 +02:00
boarchuz
28ca2d72b8 ulp: Correct misleading corrections of i2c comments
Merges https://github.com/espressif/esp-idf/pull/3580
2019-08-15 17:34:19 +02:00
boarchuz
68b3677daa ulp: Correct misleading i2c write mask comments
Merges https://github.com/espressif/esp-idf/pull/3580
2019-08-15 17:34:11 +02:00
boarchuz
88a69823cf ulp: Expand ULP macro functionality
Merges https://github.com/espressif/esp-idf/pull/3580
2019-08-15 17:34:11 +02:00
Ivan Grokhotkov
74fe282b73 cmake: check mconf-idf binary version
Print a warning if an outdated version of mconf-idf is found in
the PATH.
2019-08-15 17:25:26 +02:00
Mahavir Jain
3743d47ef0 Merge branch 'bugfix/add_error_check_in_ota_ops' into 'master'
esp_https_ota: Added error checking functionalities.

See merge request espressif/esp-idf!5672
2019-08-15 21:10:00 +08:00
Hrudaynath Dhabe
53e7beb95b esp_https_ota: Added error checking functionalities.
Current implimentation of esp_http_ota does not perform any error-checking in the data writing phase calls `esp_ota_get_next_update_partition()` irrespetive of the received state of the image. A few additional error checking mechanism have now been added inside the esp_https_ota which returns the control in case an invalid header is received and a wrapper to the function `esp_http_client_is_complete_data_received()` of `esp_http_client` has been added.
2019-08-15 21:10:00 +08:00
Ivan Grokhotkov
5863509804 Merge branch 'bugfix/vfs_concurrent_select' into 'master'
VFS: Support concurrent VFS select calls & improve the documentation

Closes IDFGH-1072

See merge request espressif/esp-idf!5538
2019-08-15 19:57:30 +08:00
Angus Gratton
6007ef4b08 Merge branch 'feature/cmake_build_internals_docs' into 'master'
Docs: Enchance build system internals docs

See merge request espressif/esp-idf!5753
2019-08-15 16:22:50 +08:00
Angus Gratton
848465da90 driver: Check ledc config result in PCNT tests 2019-08-15 06:53:46 +00:00
Angus Gratton
1dd2f3e07b driver: ledc: Fix low/high speed parameter setting
Fix regression introduced in 2e8c85d8ff
2019-08-15 06:53:46 +00:00
Renz Christian Bagaporo
6b16928fbc docs: build system internals 2019-08-15 14:25:47 +08:00
Angus Gratton
a50ae86707 Merge branch 'bugfix/mbedtls_add_source_files_to_appropriate_library' into 'master'
mbedtls: add source files to appropriate library

See merge request espressif/esp-idf!5761
2019-08-15 13:32:20 +08:00
Renz Christian Bagaporo
6875080b9b mbedtls: add source files to appropriate library 2019-08-15 12:43:45 +08:00
Angus Gratton
fce0a25b7c Merge branch 'docs/order_toctree_alphabetically' into 'master'
docs: Alphbetically sort toctree

See merge request espressif/esp-idf!5770
2019-08-15 12:41:54 +08:00
Angus Gratton
b6b7ea4f10 Merge branch 'bugfix/fix_flash_read_error_in_dio_mode' into 'master'
bugfix(flash): add spi dio address bitlen configure in psram init

See merge request espressif/esp-idf!5783
2019-08-15 11:28:19 +08:00
Angus Gratton
98280dd764 Merge branch 'bugfix/protocomm_nimble' into 'master'
NimBLE: Fix bug in `protocomm_nimble` characteristic access callback

See merge request espressif/esp-idf!5752
2019-08-15 10:50:30 +08:00
Prasad Alatkar
4c7b83defc NimBLE: Fix bug in protocomm_nimble chararcteristic access callback
Fixes bug in `protocomm_nimble` while writing to characteristic with length greater than MTU value.
2019-08-15 10:50:30 +08:00
Angus Gratton
0781868c36 Merge branch 'bugfix/mdns_send_bye_service_instance' into 'master'
mdns: fix missing bye packet if services removed with mdns_service_remove_all() or mdns_free()

See merge request espressif/esp-idf!5308
2019-08-15 10:50:17 +08:00
Angus Gratton
ee6b1399aa Merge branch 'feature/exclude_rom_from_example_header_files' into 'master'
exclude rom headers in examples

Closes IDF-557

See merge request espressif/esp-idf!5051
2019-08-15 10:50:01 +08:00
chenjianqiang
74e2e46402 bugfix(flash): add spi dio address bitlen configure in psram init 2019-08-14 20:57:30 +08:00
Angus Gratton
367ecc2d60 Merge branch 'refactor/timerg_in_test' into 'master'
timer_group: refactoring to avoid direct register access in the ISR

See merge request espressif/esp-idf!5656
2019-08-14 15:32:16 +08:00
Angus Gratton
2fcbc6aaa5 esp_eth: KConfig formatting fix 2019-08-14 16:50:30 +10:00
Angus Gratton
f8b1ef1b14 ci: kconfig rules: Allow any file starting with KConfig.* to be sourced 2019-08-14 16:50:30 +10:00
David Cermak
a001998d52 mdns: fix missing bye packet if services removed with mdns_service_remove_all() or mdns_free()
Closes https://github.com/espressif/esp-idf/issues/3660
2019-08-14 05:54:54 +00:00
Angus Gratton
70794a0776 Merge branch 'feature/ver-4.1' into 'master'
global: bump version to 4.1

See merge request espressif/esp-idf!5771
2019-08-14 09:01:48 +08:00
Angus Gratton
f72dc5b271 Update cJSON to v1.7.12
Fixes potential DoS in cJSON_Minify, see https://github.com/DaveGamble/cJSON/issues/354
2019-08-14 10:03:27 +10:00
KonstantinKondrashov
62ee29250e soc: Update rtc_vddsdio_get_config for esp32s2beta
Closes: IDF-749
2019-08-13 20:04:49 +08:00
Sergei Silnov
5b9e38fe4e idf.py: Fix PropertyDict implementation 2019-08-13 11:35:51 +02:00
Ivan Grokhotkov
0a74227cfa bump version to 4.1 2019-08-13 10:09:52 +02:00
Darian Leung
75adefe437 docs: Alphbetically sort toctree
This commit sorts the entries of variuos toctrees
alphabetically. Indentation was also fixed. The order
of some toctrees were not modified if the existing
order had some form of suggested reading order.
2019-08-13 16:04:12 +08:00
Angus Gratton
278c2f1aea Merge branch 'feature/esp32s2beta' into feature/esp32s2beta_update 2019-08-13 17:16:44 +10:00
Angus Gratton
a3a67a4452 nvs_flash: Include xtensa component when building NVS tests on hosts
esp_attr.h moved to xtensa component in 61ce868396
2019-08-13 17:16:12 +10:00
Angus Gratton
85c2df060d examples: Mark flash encryption & external flash examples as ESP32 only for now 2019-08-13 17:14:16 +10:00
Angus Gratton
e32d27e7e8 esp_eth: Add CONFIG_ETH_ENABLED flag to enable/disable ethernet at build time
Always enabled by default, as SPI/Ethernet support is enabled by default.
2019-08-13 17:14:16 +10:00
Angus Gratton
f58d2ea34d esp32s2: Add SUPPORTED_TARGETS for remaining bluetooth examples 2019-08-13 17:14:16 +10:00
Xia Xiaotian
bcff8afbba esp_wifi: update esp32s2beta WiFi library 2019-08-13 17:14:16 +10:00
Angus Gratton
9a2e29e068 esp32s2beta: Invert RSA_CONSTANT_TIME_DISABLE_REG to RSA_CONSTANT_TIME_REG 2019-08-13 17:14:16 +10:00
Angus Gratton
9a3606781f ci: Lower limit for number of examples (S2 Beta has 81 right now) 2019-08-13 17:14:16 +10:00
Angus Gratton
8111b222c8 bt: Update to match master 2019-08-13 17:14:16 +10:00
Angus Gratton
18c5cfadae Fix function prototypes 2019-08-13 17:14:16 +10:00
Angus Gratton
c47e1756f8 examples: Rename deprecate CONFIG_CONSOLE_UART_NUM macro 2019-08-13 17:14:16 +10:00
Angus Gratton
4002c6060a lwip: Enable ethernet for both ESP32 & ESP32-S2Beta (SPI ethernet) 2019-08-13 17:14:16 +10:00
Angus Gratton
eb7ad6ca17 bootloader: Fix SPI dummy clock settings for ESP32S2-beta 2019-08-13 17:14:16 +10:00
Angus Gratton
d5f5fadbee bootloader: Include FreeRTOS component for the FREERTOS_UNICORE header, only 2019-08-13 17:14:16 +10:00
Angus Gratton
309376f51a spi_flash: Force legacy mode for ESP32-S2
Can be removed once IDF-763 is merged
2019-08-13 17:14:16 +10:00
Angus Gratton
dc9170966b freertos: Force UNICORE mode on ESP32S2 2019-08-13 17:14:16 +10:00
Angus Gratton
80a4a11808 Merge branch 'bugfix/fix_mbedtls_net_sockets_error_handling' into 'master'
mbedtls: use `errno` instead of `SO_ERROR` for getting socket errors

See merge request espressif/esp-idf!5727
2019-08-13 14:38:28 +08:00
Angus Gratton
0c00aae906 Merge branch 'feature/migrate_gh_action_to_yaml' into 'master'
gh_action: converted main.workflow to Actions V2 yml files

See merge request espressif/esp-idf!5758
2019-08-13 14:10:54 +08:00
Angus Gratton
aa2a972261 Merge branch 'bugfix/fix_encrypted_project_flash_arg_file_gen' into 'master'
CMake: fix encrypted project flash arg file generation

See merge request espressif/esp-idf!5741
2019-08-13 13:45:57 +08:00
Angus Gratton
e887190895 Merge branch 'feature/dport_eco_revision2' into 'master'
make dport workaround depend on chip revision

Closes IDF-809 and IDF-813

See merge request espressif/esp-idf!5606
2019-08-13 12:13:22 +08:00
Angus Gratton
f03a398512 Merge branch 'bugfix/doc_pip_requirements' into 'master'
Add -r flag to pip install command from file

Closes IDFGH-1670 and IDFGH-1622

See merge request espressif/esp-idf!5760
2019-08-13 11:42:35 +08:00
suda-morris
b1497f2187 exclude rom headers in examples
1. avoid including rom headers directly in examples
2. add common API interface for CRC calculation in esp_common component
2019-08-13 11:10:22 +08:00
suda-morris
f86e82cb63 efuse: update the scheme of getting chip revision 2019-08-13 10:59:02 +08:00
Angus Gratton
5e39718c22 Merge branch 'bugfix/component_set_properties' into 'master'
CMake: Set component properties

See merge request espressif/esp-idf!5738
2019-08-13 10:23:30 +08:00
Jiang Jiang Jian
65b9032dba Merge branch 'bugfix/reuse_pmk_without_set_config' into 'master'
wifi: Avoid recalculating PMK when esp_wifi_set_config is not called

Closes IDFGH-1520

See merge request espressif/esp-idf!5745
2019-08-12 23:33:45 +08:00
Luke Bayes
0addc0aef1 Added -r flag to pip install command from file
Closes https://github.com/espressif/esp-idf/pull/3874
Closes https://github.com/espressif/esp-idf/issues/3915
2019-08-12 16:03:28 +02:00
suda-morris
b64551718c gh_action: converted main.workflow to Actions V2 yml files 2019-08-12 19:45:48 +08:00
Angus Gratton
872ba98cc9 Merge branch 'feature/esp32s2beta_crosscore_int' into 'feature/esp32s2beta'
esp32s2beta: crosscore_int simplify for esp32s2beta

See merge request espressif/esp-idf!5668
2019-08-12 15:23:56 +08:00
Angus Gratton
212e7be28c Merge branch 'bugfix/core_id_arg' into 'master'
doc: Add clarifications Xtensa Core ID and "Core ID" used in FreeRTOS are different

Closes IDFGH-407

See merge request espressif/esp-idf!5661
2019-08-12 15:16:51 +08:00
Angus Gratton
9af30c4ff9 Merge branch 'ci/disable_nimble_tests' into 'master'
ci: Temporarily disable NimBLE tests in CI

See merge request espressif/esp-idf!5749
2019-08-12 15:14:23 +08:00
Angus Gratton
8f74271d5d esp_rom: Fail immediately if the wrong SoC's header file is included 2019-08-12 16:57:40 +10:00
Angus Gratton
2f56116db2 Cleanup of previous merge commit 2019-08-12 16:57:40 +10:00
Angus Gratton
e8bdfe07ae Merge branch 'feature/tls_psk_authentication' into 'master'
esp_tls: add psk verification mode

Closes IDFGH-992

See merge request espressif/esp-idf!5095
2019-08-12 12:45:34 +08:00
Angus Gratton
b0ef3cdc9f Merge branch 'bugfix/check_include_dirs' into 'master'
CMake: Check if component include dirs are directories

See merge request espressif/esp-idf!5701
2019-08-12 12:45:11 +08:00
Angus Gratton
4fe74b8f64 freertos: Rename CORE_ID_PRO/CORE_ID_APP macros to CORE_ID_REGVAL_xxx
Old values remain for compatibility.

As suggested in https://github.com/espressif/esp-idf/issues/2567
2019-08-12 11:12:34 +10:00
Angus Gratton
a40e164988 doc: Add clarifications Xtensa Core ID and "Core ID" used in FreeRTOS are different
Closes https://github.com/espressif/esp-idf/issues/2567
2019-08-12 11:11:28 +10:00
Angus Gratton
8658b1633c ci: Temporarily disable NimBLE tests in CI 2019-08-12 09:38:44 +10:00
Angus Gratton
dedf346ccb Merge branch 'bugfix/hwcrypt_fault_inj' into 'master'
hwcrypto: Add more AES & SHA fault injection checks

Closes IDF-786

See merge request espressif/esp-idf!5050
2019-08-11 15:02:25 +08:00
Angus Gratton
aa3c988c17 sha: Add fault injection checks reading hash digest state
Vulnerability reported by LimitedResults under Espressif Bug Bounty Program.
2019-08-11 11:16:33 +10:00
Angus Gratton
caea2889c8 aes: Add fault injection checks when writing key to hardware
Vulnerability reported by LimitedResults under Espressif Bug Bounty Program.
2019-08-11 11:16:33 +10:00
Renz Christian Bagaporo
87ebdaa74e cmake: set component properties 2019-08-09 20:51:20 +08:00
Sagar Bijwe
b1f657fc65 wifi: Avoid recalculating PMK when esp_wifi_set_config is not called
Scenarios where this fix is applicable.
1) Every time the system is powered-on/restarted without calling
   esp_wifi_set_config.
2) esp_wifi_init()/connect()/stop()/deinit() is called multiple
   times without esp_wifi_set_config.

Closes IDFGH-1520
2019-08-09 16:28:33 +05:30
Konstantin Kondrashov
9a669bfbb9 rmt/driver: Add module reset before enabling 2019-08-09 17:09:56 +08:00
Konstantin Kondrashov
a418b603d0 pcnt/driver: Add module reset before enabling 2019-08-09 17:09:56 +08:00
Konstantin Kondrashov
5c560e0cd1 sdmmc_host/driver: Add module reset before enabling 2019-08-09 17:09:56 +08:00
Konstantin Kondrashov
437228e947 i2s/driver: Add module reset before enabling 2019-08-09 17:09:56 +08:00
Konstantin Kondrashov
d064cd485c can/driver: Add module reset before enabling 2019-08-09 17:09:56 +08:00
Konstantin Kondrashov
c082d13075 uart/driver: Add module reset before enabling
This commit prevents infinite restarts caused due to an interrupt flag
was left uncleared.

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

Closes: IDF-188
2019-08-09 17:09:56 +08:00
Renz Christian Bagaporo
e3c236d2fe cmake: fix encrypted project flash arg file generation 2019-08-09 16:35:31 +08:00
Jiang Jiang Jian
2b71eff25f Merge branch 'bugfix/efuse_write_config' into 'master'
efuse: set timing configuration before writing

See merge request espressif/esp-idf!4750
2019-08-09 14:25:45 +08:00
Angus Gratton
01f7e7cc16 Merge branch 'bugfix/confgen_sdkconfig_renames' into 'master'
tools: Support sdkconfig.rename files from outside IDF in confgen.py

Closes IDF-659

See merge request espressif/esp-idf!5551
2019-08-09 14:21:19 +08:00
Angus Gratton
d6b641949c Merge branch 'bugfix/httpd_sess_close' into 'master'
httpd_sess_close: Check for session validity before closing

See merge request espressif/esp-idf!5705
2019-08-09 14:20:51 +08:00
Michael (XIAO Xufeng)
d850a0bd1c esp_attr: add flag_attr to support enums used as flags 2019-08-09 13:46:32 +08:00
Michael (XIAO Xufeng)
264ffbeb14 timer_group: use the LL 2019-08-09 13:46:31 +08:00
Michael (XIAO Xufeng)
feea477023 timer_group: add LL functions for WDT 2019-08-09 13:46:30 +08:00
Michael (XIAO Xufeng)
c02981a99b timer_group: support interrupt LL and some utility functions in ISR 2019-08-09 13:46:30 +08:00
chenjianqiang
a97fe5615f feat(timer): refator timer group driver (partly pick) 2019-08-09 13:46:29 +08:00
Michael (XIAO Xufeng)
b413a240cb esp_attr: support force_inline 2019-08-09 13:46:28 +08:00
Angus Gratton
cb0f724e39 Merge branch 'feature/repl_suppl_crypto_by_mbedtls' into 'master'
wpa_supplicant: Port more crypto functions to use mbedtls

Closes WIFI-1590

See merge request espressif/esp-idf!5684
2019-08-09 12:52:03 +08:00
Angus Gratton
d6422229cf Merge branch 'bugfix/docs/white-space' into 'master'
🐛 Fix the white space bug in docs

Closes IDFGH-809

See merge request espressif/esp-idf!5693
2019-08-09 10:07:22 +08:00
Soumesh Banerjee
d47288d9db 🐛 Fix the white space bug in docs
Fix only the visual rendering the issue for selection of text still remains and have to be solved by updating the html generator
Closes #3208
2019-08-09 10:07:22 +08:00
Renz Christian Bagaporo
4dd2b9edb1 components: fix incorrect include dir args 2019-08-09 08:40:17 +08:00
Renz Christian Bagaporo
08de39c226 cmake: check include directories 2019-08-09 08:40:17 +08:00
Michael (XIAO Xufeng)
e947522f38 esp_flash: improve the comments a bit 2019-08-08 23:18:01 +08:00
Michael (XIAO Xufeng)
e5704ab1a8 esp_flash: fix the set/get write protection functions
Add support for get write protection support, fixed the duplicated
set_write_protection link.

All the write_protection check in the top layer are removed. The lower
levels (chip) should ensure to disable write protection before the
operation start.
2019-08-08 23:18:00 +08:00
Mahavir Jain
ab6ad844b1 mbedtls: use errno instead of SO_ERROR for getting socket errors
As per upgrade notes of lwIP v2.1.0:
socket API: according to the standard, SO_ERROR now only returns asynchronous errors.
All other/normal/synchronous errors are (and always were) available via 'errno'.
LWIP_SOCKET_SET_ERRNO has been removed - 'errno' is always set - and required!

Refer: https://www.nongnu.org/lwip/2_1_x/upgrading.html

Fixes https://github.com/espressif/esp-azure/issues/51
2019-08-08 12:17:32 +00:00
Angus Gratton
77bd32a503 Merge branch 'bugfix/libsodium_test_timeouts' into 'master'
test: Set timeout of libsodium ed25519_convert test to 60s

See merge request espressif/esp-idf!5552
2019-08-08 15:02:51 +08:00
Angus Gratton
c1e3e1cd9a Merge branch 'bugfix/fix_ledc_clock_select_bug' into 'master'
driver(ledc): fixed ledc clock selection bug

See merge request espressif/esp-idf!3612
2019-08-08 13:56:21 +08:00
Angus Gratton
cbb45b4559 Merge branch 'bugfix/config_panic_gdbstub_build_issue' into 'master'
esp32_gdbstub: fix build error with esp32-2019r1 toolchain

See merge request espressif/esp-idf!5709
2019-08-08 13:53:40 +08:00
Angus Gratton
04ae56806c Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 15:26:58 +10:00
KonstantinKondrashov
24bd75955f newlib: Fix UT - test time adjustment happens linearly
Obtaining accurate and adjustable time occurs closer to each other.
2019-08-08 12:38:33 +08:00
Angus Gratton
24d26fccde Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 13:44:24 +10:00
Angus Gratton
14b8ea3b87 Merge branch 'feat/sdio_slave_efuse_default_3v3' into 'master'
sdio_slave: updates the document about DAT2 pin, also the version value read from CCCR registers

See merge request espressif/esp-idf!4733
2019-08-08 10:41:14 +08:00
Jiang Jiang Jian
562218d4db Merge branch 'feature/lwip_prefer_allocate_memory_in_psram' into 'master'
Try to allocate some memories in SPIRAM first. If failed, try to allocate in internal RAM then

See merge request espressif/esp-idf!5695
2019-08-07 21:00:14 +08:00
Michael (XIAO Xufeng)
3fd896fe64 sdio_slave: update version read from CCCR to 2.0 2019-08-07 17:10:34 +08:00
Michael (XIAO Xufeng)
07166a6b18 sdio_slave: rewrite the doc and highlight efuse-burning as the default option for 3.3V modules 2019-08-07 17:10:34 +08:00
Sagar Bijwe
80a5bd8e54 wpa_supplicant: Port more crypto functions to use mbedtls
Use mbedtls PBKDF2 and SHA1 for faster calculations during four-way
handshake.

Closes WIFI-1590
2019-08-07 07:23:28 +00:00
morris
1877a9fcd8 Merge branch 'feature/esp32s2beta_rtc_driver' into 'feature/esp32s2beta'
Feature/esp32s2beta rtc driver

See merge request espressif/esp-idf!5243
2019-08-07 14:43:17 +08:00
Mahavir Jain
5203a15439 esp32_gdbstub: fix build error with esp32-2019r1 toolchain
Fixes https://github.com/espressif/esp-idf/issues/3866
2019-08-07 11:56:13 +05:30
Angus Gratton
51d811a71c Merge branch 'bugfix/idf_tool_default_encoding' into 'master'
idf_tool: fix UnicodeDecodeError

Closes IDFGH-1584

See merge request espressif/esp-idf!5323
2019-08-07 13:24:54 +08:00
David Cermak
f3d6a34e7d esp_tls: enable psk verification mode, added mqtt example using psk authentication 2019-08-07 14:27:40 +10:00
fuzhibo
572084821b add Comment for touchpad 2019-08-07 11:39:17 +08:00
Piyush Shah
c93cab858e httpd_sess_close: Check for session validity before closing
If httpd_sess_trigger_close() gets called twice for the same socket,
the first httpd_sess_close() cb closes the correct socket, but the second
invocation closes the wrong socket which was just accepted and added to
the socket db. Checking for the lru counter will help identify this as the
counter is set only for requests actually served.
2019-08-06 19:31:57 +05:30
kooho
2e8c85d8ff driver(ledc): fixed ledc clock selection bug. 2019-08-06 16:11:18 +08:00
Mahavir Jain
d260ee6955 Merge branch 'feature/coap_mbedtls_support' into 'master'
Add DTLS support to libcoap using MbedTLS

See merge request espressif/esp-idf!5560
2019-08-06 14:23:54 +08:00
Mahavir Jain
a8bfe59bd1 coap: refactor examples, stylistic cleanups, move certs to independent dir 2019-08-06 10:37:41 +05:30
Mahavir Jain
10c3b42f71 coap: kconfig cleanup, have component specific configuration for common options 2019-08-06 10:37:40 +05:30
Mahavir Jain
852c176a40 coap: add mbedtls in depedency list for CMake build 2019-08-06 10:37:40 +05:30
Jon Shallow
1aaec808da Add DTLS support to libcoap using MbedTLS
This update supports DTLS, TLS is a future TODO

components/coap/CMakeLists.txt:
components/coap/component.mk:

Add in the new files that have to be built
Replace libcoap/src/coap_notls.c with libcoap/src/coap_mbedtls.c

components/coap/libcoap:

Update the version to include the current version for supporting MbedTLS

components/coap/port/coap_debug.c:
components/coap/port/coap_mbedtls.c:
components/coap/port/include/coap/coap_dtls.h:

New port files for DTLS

components/coap/port/include/coap_config_posix.h:

Include building with MbedTLS

examples/protocols/coap_client/README.md:
examples/protocols/coap_client/main/CMakeLists.txt:
examples/protocols/coap_client/main/Kconfig.projbuild:
examples/protocols/coap_client/main/coap_client_example_main.c:
examples/protocols/coap_client/main/component.mk:

Update CoAP client to support DTLS

examples/protocols/coap_client/main/coap_ca.pem
examples/protocols/coap_client/main/coap_client.crt
examples/protocols/coap_client/main/coap_client.key

New PKI Certs for CoAP client (copied from wpa2_enterprise example)

examples/protocols/coap_server/README.md:
examples/protocols/coap_server/main/CMakeLists.txt:
examples/protocols/coap_server/main/Kconfig.projbuild:
examples/protocols/coap_server/main/coap_server_example_main.c:
examples/protocols/coap_server/main/component.mk:

Update CoAP server to support DTLS
Change "no data" to "Hello World!" to prevent confusion

examples/protocols/coap_server/main/coap_ca.pem
examples/protocols/coap_server/main/coap_server.crt
examples/protocols/coap_server/main/coap_server.key

New PKI Certs for CoAP server (copied from wpa2_enterprise example)

Closes https://github.com/espressif/esp-idf/pull/3345
Closes https://github.com/espressif/esp-idf/issues/1379
2019-08-06 10:37:40 +05:30
Angus Gratton
39f090a4f1 Merge branch 'deprecate/spi_common_claim_macros' into 'master'
spi_common: remove deprecated spi_common_periph_claim macros

See merge request espressif/esp-idf!5677
2019-08-06 11:16:17 +08:00
Renz Christian Bagaporo
4df98b5489 cmake: treat unregistered components as unresolved 2019-08-06 11:14:44 +08:00
morris
5a0e5c04d4 Merge branch 'feature/esp32s2beta_i2s_driver' into 'feature/esp32s2beta'
Driver(I2S)/ Update I2S driver for esp32s2beta

See merge request espressif/esp-idf!5245
2019-08-06 10:35:42 +08:00
suda-morris
3753283ef3 idf_tool: fix unicode decode error
Closes https://github.com/espressif/esp-idf/issues/3841
2019-08-06 10:31:34 +08:00
xueyunfei
40e808c63b Try to allocate some LWIP memories in SPIRAM first. If failed, try to allocate in internal RAM then 2019-08-06 10:23:27 +08:00
Krzysztof Budzynski
6517c5033a Merge branch 'bugfix/docs_broken_links' into 'master'
Fix broken links in 'Getting Started' gudes

See merge request espressif/esp-idf!5685
2019-08-05 21:28:50 +08:00
Krzysztof Budzynski
06fb6213c5 Merge branch 'doc/add_Chinese_translation_for_modules-and-boards_in_hw-reference' into 'master'
Add Chinese translation for modules-and-boards.rst in hw-reference folder.

See merge request espressif/esp-idf!5520
2019-08-05 21:25:15 +08:00
Wang Fang
8d8ea6f698 Add Chinese translation for modules-and-boards.rst in hw-reference folder.
Note: Also modify the table in en version
2019-08-05 21:25:15 +08:00
Jiang Jiang Jian
2d36e42b5f Merge branch 'bugfix/fix_wifi_bugs_for_authmode_and_multi_ssid' into 'master'
wifi: fix wifi bugs for authmode and multi ssid

Closes WIFI-558, WIFI-560, WIFI-449, WIFI-567, and WIFI-597

See merge request espressif/esp-idf!5387
2019-08-05 21:18:27 +08:00
Michael (XIAO Xufeng)
26fc858ea4 spi_common: remove deprecated spi_common_periph_claim macros 2019-08-05 09:26:47 +00:00
Roland Dobai
2211039b6d docs: Correct and extend the documentation about VFS select() 2019-08-05 11:17:43 +02:00
Roland Dobai
91ce5db172 VFS: Support concurrent VFS select calls
Closes https://github.com/espressif/esp-idf/issues/3392
2019-08-05 11:17:41 +02:00
fuzhibo
fbb0687b97 1.update touch driver; 2.update adc/dac driver; 3.add temp sensor driver; 2019-08-05 16:21:18 +08:00
fuzhibo
bf79e9d70a Driver: gpio and rtcio dirver update 2019-08-05 16:21:18 +08:00
fuzhibo
b055bff580 1.update touch driver; 2.update adc/dac driver; 3.add temp sensor driver; 2019-08-05 16:21:18 +08:00
fuzhibo
83e00cf643 Driver: gpio and rtcio dirver update 2019-08-05 16:21:18 +08:00
kooho
2139ca668d Update I2S driver for esp32s2beta. 2019-08-05 16:05:16 +08:00
morris
60db9e1a34 Merge branch 'feature/esp32s2beta_pcnt_timer_group_driver' into 'feature/esp32s2beta'
Driver(LEDC,PCNT, TIMER_GROUP): Update PCNT,Timer_Group driver for esp32s2beta

See merge request espressif/esp-idf!5239
2019-08-05 15:51:27 +08:00
Angus Gratton
e215a4d2c2 Merge branch 'feature/esp32s2beta_cpu_start_clean' into 'feature/esp32s2beta'
esp32s2beta: Simplify cpu_start.c remove code linked with CPU1

See merge request espressif/esp-idf!5691
2019-08-05 12:38:31 +08:00
Angus Gratton
ac5508efd5 Merge branch 'feature/idf_monitor_key_piority' into 'master'
idf_monitor: improve the responding of console commands

See merge request espressif/esp-idf!5585
2019-08-05 09:55:45 +08:00
Angus Gratton
7ef5fa8a0a Merge branch 'feature/transport_support_der_certs' into 'master'
tcp transport ssl DER-support

See merge request espressif/esp-idf!5627
2019-08-05 09:52:08 +08:00
Angus Gratton
b23718995a Merge branch 'bugfix/strict_prototypes' into 'master'
Enable strict prototypes checks

Closes IDFGH-757

See merge request espressif/esp-idf!4546
2019-08-05 09:38:39 +08:00
Angus Gratton
faeca72e24 Merge branch 'bugfix/update_example_docs_build_instructions_to_cmake' into 'master'
examples: change default build instructions in docs to CMake

See merge request espressif/esp-idf!5681
2019-08-05 08:08:53 +08:00
Jiang Jiang Jian
05094a9474 Merge branch 'bugfix/btdm_sleep_twice' into 'master'
bugfix btdm sleep twice after wakeup request

See merge request espressif/esp-idf!5637
2019-08-04 15:51:04 +08:00
Tian Hao
a9dfae66ea bugfix btdm sleep twice after wakeup request
This problem may cause HCI send command timeout.

When host call VHCI api to do btdm_wakeup_request, then controller
wakeup process will be handled in ISR and controller task context.
As host task priority is lower than controller task and ISR,
it will cause an incorrect behavior that before VHCI take the
rx_flow_on_semaphore, controller sleep again, then VHCI cannot take
the semaphore and has to wait the automatic wakeup.
2019-08-04 07:17:13 +00:00
KonstantinKondrashov
b3575ad012 esp32s2beta: crosscore_int simplify for esp32s2beta
Closes: IDF-754
2019-08-03 15:29:02 +08:00
KonstantinKondrashov
f9068a10a9 esp32s2beta: Simplify cpu_start.c remove code linked with CPU1
Closes: IDF-840
2019-08-03 15:06:39 +08:00
Mahavir Jain
66440e5975 Merge branch 'feature/file_length_validation' into 'master'
esp_http_client: Add support to check the binary length of the recieved stream...

See merge request espressif/esp-idf!5635
2019-08-02 19:18:44 +08:00
Hrudaynath Dhabe
d4091f7cda esp_http_client: Add support to check the binary length of the recieved stream and compare it with the size mentioned in the header.
While downloading OTA firmware, if their is a Origin Respnse Timeout or the binary is only partially downloaded, OTA failure is observed. Checking binary size can also be helpful for simple http client applications.

Closes https://github.com/espressif/esp-idf/issues/3004
2019-08-02 19:18:44 +08:00
Mahavir Jain
e7dba7d7bc examples: change default build instructions in docs to CMake 2019-08-02 16:32:46 +05:30
Mahavir Jain
90a6855d01 Merge branch 'move/ble_example' into 'master'
examples/bluetooth: Move the demos to the appropriate locations

See merge request espressif/esp-idf!5667
2019-08-02 18:01:58 +08:00
Hrishikesh Dhayagude
146f120f79 examples/bluetooth: Move the demos to the appropriate locations 2019-08-02 18:01:58 +08:00
Krzysztof
164fd5ad29 More link corrections 2019-08-02 17:58:08 +08:00
Ivan Grokhotkov
90e1b7616c Merge branch 'bugfix/example_ext_flash_dio' into 'master'
examples: ext_flash_fatfs: use DIO mode by default

See merge request espressif/esp-idf!5645
2019-08-02 17:53:54 +08:00
Krzysztof
d163b9e615 Fix broken links in 'Getting Started' gudes 2019-08-02 17:09:33 +08:00
Angus Gratton
74ab6375cd Merge branch 'bugfix/gitignore_cmake_files' into 'master'
CMake: Added git ignore for cache files generated by cmake (PR)

See merge request espressif/esp-idf!5675
2019-08-02 15:52:06 +08:00
David Cermak
25dd5e39af esp-tls: Naming variables refering to certificates and keys in a neutral way to suggest that both PEM and DER format could be used, added comments descibing important details about using these formats 2019-08-02 09:25:16 +02:00
Henning Fleddermann
546b625433 add _der variants for esp_transport_ssl_set_(client_cert|client_key|cert_data)
Signed-off-by: David Cermak <cermak@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/3783
2019-08-02 09:25:16 +02:00
Henning Fleddermann
73624e8560 modify comments on esp_tls_cfg, to clarify that other formats besides PEM (such as DER) might be used as well depending on mbedtls-support
Signed-off-by: David Cermak <cermak@espressif.com>
2019-08-02 09:25:16 +02:00
zhangyanjiao
02e5266778 modify WIFI_CONN_0101 case for wrong authmode of AP 2019-08-02 10:22:46 +08:00
zhangyanjiao
9f9d876799 wifi: fix wifi bugs for authmode and multi ssid 2019-08-02 10:22:20 +08:00
Jiang Jiang Jian
096b741a23 Merge branch 'bugfix/fix_the_wrong_comment_in_esp_wifi_types.h' into 'master'
fix the wrong comment in esp_wifi_types.h

See merge request espressif/esp-idf!5676
2019-08-01 21:15:52 +08:00
zhangyanjiao
017a60a69d fix the wrong comment in esp_wifi_types.h 2019-08-01 12:24:08 +00:00
RevoluPowered
e639d5cb84 CMake: Added git ignore for cache files generated by cmake
Merges https://github.com/espressif/esp-idf/pull/3639
2019-08-01 17:59:54 +08:00
Anton Maklakov
ec94ee80f7 Fix a build issue with replacing init_spi_flash() in the host tests 2019-08-01 16:28:56 +07:00
Anton Maklakov
12403e39b4 tools: Fix the build examples script to run locally 2019-08-01 16:28:56 +07:00
Anton Maklakov
75c0066f93 Fix remaining -Wstrict-prototypes warnings 2019-08-01 16:28:56 +07:00
Anton Maklakov
1beb0869e1 NimBLE: Update submodule to fix -Wstrict-prototypes warnings 2019-08-01 16:28:56 +07:00
Michael Zimmermann
c2764f6fe8 mdns: mdns_service_remove_all doesn't take an argument
Merges https://github.com/espressif/esp-idf/pull/2937
2019-08-01 16:28:56 +07:00
Michael Zimmermann
d4c098f5a9 brownout: fix rtc_brownout_isr_handler signature
Merges https://github.com/espressif/esp-idf/pull/2937
2019-08-01 16:28:56 +07:00
Ivan Grokhotkov
e8191912c8 Add -Wstrict-prototypes check in CI 2019-08-01 16:28:56 +07:00
Michael Zimmermann
74a459dd3d make code conform to Wstrict-prototypes
Merges https://github.com/espressif/esp-idf/pull/2937
2019-08-01 16:28:56 +07:00
Anton Maklakov
afbaf74007 tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
Anton Maklakov
50629eec27 tools: Add a script to fix up empty prototypes 2019-08-01 16:28:55 +07:00
Angus Gratton
4d97dacf56 Merge branch 'bugfix/fix_i2s_channels_swapped_issue' into 'master'
Bugfix(i2s): fixed i2s left/right channels swapped issue

Closes IDFGH-1447

See merge request espressif/esp-idf!5669
2019-08-01 16:53:37 +08:00
Angus Gratton
54eecde90a Merge branch 'bugfix/minor_cleanup_lwip_duplicate_files' into 'master'
lw_ip: remove duplicate (and stale) changelog and version files

See merge request espressif/esp-idf!5657
2019-08-01 12:13:55 +08:00
Michael (XIAO Xufeng)
a2155ff52d idf_monitor: improve the responding of console commands 2019-08-01 11:55:42 +08:00
redchenjs
ff325e84b6 Bugfix(i2s): fixed i2s left/right channels swapped issue.
The right channel data is in the high position, so the I2S_TX_MSB_RIGHT & I2S_RX_MSB_RIGHT bits should be set.

Merges https://github.com/espressif/esp-idf/pull/3717

closes https://github.com/espressif/esp-idf/issues/3399
2019-07-31 17:58:23 +08:00
kooho
f98e7bbccf Update LEDC, PCNT,Timer_Group driver for esp32s2beta. 2019-07-31 16:03:22 +08:00
Angus Gratton
df4926b723 Merge branch 'bugfix/bt_example_typos' into 'master'
Minor: Fix some typos in Bluetooth examples

See merge request espressif/esp-idf!5662
2019-07-31 15:33:03 +08:00
Hrishikesh Dhayagude
c0491fc6f1 Minor: Fix some typos in Bluetooth examples 2019-07-31 15:33:03 +08:00
Mahavir Jain
15e0a32786 lwip: remove duplicate (and stale) changelog and version files 2019-07-30 16:49:53 +05:30
Angus Gratton
eae6f5a1d6 Merge branch 'feature/esp32s2beta_rmt_driver' into 'feature/esp32s2beta'
Driver(RMT): Update RMT driver for esp32s2beta

See merge request espressif/esp-idf!5227
2019-07-30 18:21:59 +08:00
Angus Gratton
aea5561941 Merge branch 'feature/esp32s2beta_update_uart_driver' into 'feature/esp32s2beta'
feat(uart): update uart driver for esp32s2beta

See merge request espressif/esp-idf!5257
2019-07-30 18:05:54 +08:00
Angus Gratton
3b42e173e9 Merge branch 'maint/update_tool_openocd-v0.10.0-esp32-20190708' into 'master'
tools: Update recommended OpenOCD version to v0.10.0-esp32-20190708

See merge request espressif/esp-idf!5565
2019-07-30 12:51:05 +08:00
Ivan Grokhotkov
16b300bd7a Merge branch 'bugfix/fix_the_bug_in_wifi_doc' into 'master'
docs: fix the bug in wifi doc

Closes IDFGH-1590

See merge request espressif/esp-idf!5647
2019-07-30 09:42:23 +08:00
Angus Gratton
b071fbdd81 Merge branch 'test/rtc_noinit_wdt_test' into 'master'
esp32: verify that RTC_NOINIT_ATTR vars are preserved after WDT reset

See merge request espressif/esp-idf!4936
2019-07-30 09:42:15 +08:00
Angus Gratton
8dbe1f024e Merge branch 'bugfix/pthread_fixes' into 'master'
pthread fixes

Closes IDFGH-1437

See merge request espressif/esp-idf!5646
2019-07-30 09:41:31 +08:00
Angus Gratton
b803c7328a Merge branch 'bugfix/btdm_some_unallocated_memory' into 'master'
Bugfix/btdm some unallocated memory

See merge request espressif/esp-idf!5629
2019-07-30 09:41:09 +08:00
Angus Gratton
d005d95119 Merge branch 'bugfix/gpio_intr_enable_bug' into 'master'
bugfix(GPIO):  Fixed the  GPIO  interrupt  enable  bug

Closes IDFGH-495

See merge request espressif/esp-idf!5571
2019-07-30 09:35:42 +08:00
Angus Gratton
6fe853a2c7 Merge branch 'bugfix/ws_client_fix_static_analysis_warnings' into 'master'
ws_client: fix double delete issue in ws client initialization

See merge request espressif/esp-idf!5309
2019-07-29 19:25:30 +08:00
Angus Gratton
e9b77d3a69 Merge branch 'feature/move_gettimeofday_in_clock_gettime' into 'master'
newlib: Move _gettimeofday_r call in clock_gettime

Closes IDFGH-1525

See merge request espressif/esp-idf!5562
2019-07-29 19:25:11 +08:00
Angus Gratton
f0442e744d Merge branch 'fix/esp_flash_compatible_with_rom' into 'master'
esp_flash: fix a compatibility issue working with the ROM

See merge request espressif/esp-idf!5462
2019-07-29 19:18:20 +08:00
Angus Gratton
477c7bb789 Merge branch 'feature/idf_tools_installer_ci' into 'master'
Build Windows tools installer in CI

Closes IDF-201

See merge request espressif/esp-idf!5583
2019-07-29 19:16:18 +08:00
kooho
64f81aefae bugfix(GPIO): Fixed the bug that GPIO enables interrupts on one core,
but registers interrupt service routines on another core

closes https://github.com/espressif/esp-idf/issues/2808
closes https://github.com/espressif/esp-idf/issues/2845
2019-07-29 11:09:07 +00:00
Ivan Grokhotkov
022223f570 Merge branch 'feat/sdmmc_io_cis_parse' into 'master'
sdmmc_io: support to print CIS information

See merge request espressif/esp-idf!5515
2019-07-29 19:05:30 +08:00
Ivan Grokhotkov
82af11813f Merge branch 'bugfix/export_macos' into 'master'
tools: export.sh: fix ESP-IDF path detection on macos

See merge request espressif/esp-idf!5644
2019-07-29 19:01:50 +08:00
Ivan Grokhotkov
b4e850a4b1 Merge branch 'bugfix/make_link_libc_psram' into 'master'
esp32: also add -mfix-esp32-psram-cache-issue to LDFLAGS

See merge request espressif/esp-idf!5643
2019-07-29 19:01:12 +08:00
Ivan Grokhotkov
b1bb90a596 Merge branch 'bugfix/partition_tables_update_note' into 'master'
global: update note in the partition tables

See merge request espressif/esp-idf!5636
2019-07-29 19:00:44 +08:00
Angus Gratton
f6857f634f Merge branch 'nimble/submodule_update_fix' into 'master'
NimBLE: Update submodule to fix bug in delete bond procedure

See merge request espressif/esp-idf!5605
2019-07-29 19:00:21 +08:00
Prasad Alatkar
1f0d682406 NimBLE: Update submodule to fix bug in delete bond procedure
- Fixes bug in `get_nvs_db_attribute` related to getting correct index while
  deleting bond in NVS.
- MR raised on esp-nimble branch: https://gitlab.espressif.cn:6688/espressif/esp-nimble/merge_requests/12
2019-07-29 19:00:21 +08:00
Ivan Grokhotkov
3f49d71258 Merge branch 'feature/esp32s2beta_gdbstub' into 'feature/esp32s2beta'
esp32s2beta: add gdbstub support

See merge request espressif/esp-idf!5568
2019-07-29 19:00:18 +08:00
Ivan Grokhotkov
b7125303a2 Merge branch 'bugfix/examples_stale_options' into 'master'
examples: remove non-existent options from sdkconfig.defaults

See merge request espressif/esp-idf!5633
2019-07-29 19:00:04 +08:00
zhangyanjiao
62bb107b31 docs: fix the bug in wifi doc 2019-07-29 14:55:17 +08:00
Ivan Grokhotkov
6cff19adb6 ci: add jobs to build idf_exe, cmdlinerunner, tools installer 2019-07-29 06:13:52 +02:00
Michael (XIAO Xufeng)
fa555e3109 esp_flash: fix a compatibility issue working with the ROM
The esp_flash API has a side effects: it modifies the clock control
registers, and this makes the clock inconsistent with the ROM variable
`g_rom_spiflash_dummy_len_plus`.

This commit helps the ROM to get the correct dummy cycles required by
the latest clock settings. Every device on the SPI1 bus will update the
ROM variable when it modifies the clock registers.
2019-07-29 03:00:09 +00:00
Angus Gratton
14c7f8e150 Merge branch 'bugfix/ws_transport_revert_masked_after_sending' into 'master'
tcp_transport: websocket layer modifies in-buffer data (for masked transports)....

See merge request espressif/esp-idf!5546
2019-07-29 11:00:05 +08:00
Ivan Grokhotkov
3c63f49591 examples: remove non-existent options from sdkconfig.defaults 2019-07-29 04:57:38 +02:00
Angus Gratton
bfb0f83b32 Merge branch 'bugfix/dis_interrupts_up_to_6_level_for_dport_wa' into 'master'
esp32: Dis interrupts up to 5 lvl for DPORT

Closes IDF-728

See merge request espressif/esp-idf!5344
2019-07-29 10:57:20 +08:00
Angus Gratton
62780234a3 Merge branch 'bugfix/get-started-legacy-links' into 'master'
docs: getting-started: fix broken links

See merge request espressif/esp-idf!5549
2019-07-29 10:56:01 +08:00
Ivan Grokhotkov
e9de7b1df3 pthread: remove ESP32_ prefix from Kconfig options
pthread implementation is not chip-specific, so this prefix is not
needed.
2019-07-29 04:43:49 +02:00
Ivan Grokhotkov
661769527c pthread: force linking pthread implementation from IDF
Force linking pthread implementation from IDF, instead of the weak
functions provided by gthread library. Previously this would either
work or not depending on the linking order.

Thanks @bpietsch for suggesting the fix.

Closes https://github.com/espressif/esp-idf/issues/3709
2019-07-29 04:43:49 +02:00
Angus Gratton
434dd2d7a1 Merge branch 'bugfix/add_flash_config_in_app_startup' into 'master'
bugfix(flash): add flash config in app startup

See merge request espressif/esp-idf!5459
2019-07-29 10:42:27 +08:00
Michael (XIAO Xufeng)
b98b4c3886 sdmmc_io: support to print CIS information
Currently only ESP slaves can be parsed correctly.
2019-07-29 10:41:17 +08:00
Angus Gratton
53d1d211e7 Merge branch 'feature/gcc_reorder_blocks' into 'master'
build system: add -freorder-blocks option for release config

See merge request espressif/esp-idf!3990
2019-07-29 10:16:49 +08:00
Ivan Grokhotkov
8d35744a33 examples: ext_flash_fatfs: use DIO mode by default
DIO works with the same connections as Fast Read, so use it by
default. Also correct the note in README.md which says that DIO
requires additional pins.
2019-07-28 10:14:04 +02:00
Ivan Grokhotkov
3f9fc97de7 tools: export.sh: fix ESP-IDF path detection on macos
The argument passed to the function is in $1; $0 contains `-bash`.
Before this fix, IDF_PATH would be set to $PWD instead of the correct
path.
2019-07-28 10:04:36 +02:00
Ivan Grokhotkov
98c179ed47 esp32: also add -mfix-esp32-psram-cache-issue to LDFLAGS
xtensa-esp32-elf-gcc selects among the multilib configurations based
on the presence of -mfix-esp32-psram-cache-issue flag. Pass this flag
in LDFLAGS so that the correct libraries are linked.

Reported in https://github.com/espressif/esp-idf/issues/3624
2019-07-28 08:05:56 +02:00
Ivan Grokhotkov
3e17c69e4f tools: idf_tools.py: allow downloading for a different platform 2019-07-28 07:27:00 +02:00
Dmitry Plotnikov
7cb3a57b9c build_system: add -freorder-blocks option for release config 2019-07-27 09:28:19 +00:00
Angus Gratton
c4e5c62cda Merge branch 'bugfix/malloc_warnings_rtc' into 'master'
rtc: fix minor malloc issues found by static analyzer

See merge request espressif/esp-idf!5144
2019-07-27 17:27:24 +08:00
Angus Gratton
1b6010bedf Merge branch 'bugfix/mdns_fix_discard_packet_on_invalid_name' into 'master'
mdns: fix ignoring mdns packet if contained an invalid name entries in question field

See merge request espressif/esp-idf!5307
2019-07-27 17:25:25 +08:00
Ivan Grokhotkov
26800ed71e global: update note in the partition tables
The build system automatically determines offsets of partitions from
the partition table, so no manual changes are needed. Instead, add a
note that partition offsets may need to be updated when increasing
the bootloader size.
2019-07-27 10:28:16 +02:00
Mahavir Jain
75f64a01cd Merge branch 'bugfix/esp_event_add_missing_include' into 'master'
esp_event: add missing header include

See merge request espressif/esp-idf!5630
2019-07-26 18:30:34 +08:00
Ivan Grokhotkov
84982ae2ee Merge branch 'feature/ext_flash_example' into 'master'
examples: add FATFS in external Flash example

See merge request espressif/esp-idf!5579
2019-07-26 16:30:37 +08:00
Mahavir Jain
a8535767e4 esp_event: add missing header include
Required header was indirectly getting resolved through lwip includes,
apparently does not work if application is not using lwip networking stack.
2019-07-26 13:58:26 +05:30
baohongde
f77a5851bb component/bt: Fix BLE SMP free without init 2019-07-26 14:40:03 +08:00
baohongde
2d1d747cbb component/bt: Avoid A2DP demo to use unallocated memory 2019-07-26 14:40:02 +08:00
baohongde
d1f774bc0a component/bt: Avoid PLC to use unallocated memory
Closes https://github.com/espressif/esp-idf/pull/3799
2019-07-26 14:39:50 +08:00
Ivan Grokhotkov
89ee7b5dfb examples: add FATFS in external Flash example
Demonstrates the usage of the new spi_bus_add_flash_device,
esp_flash_init, esp_partition_register_external functions.
2019-07-26 08:19:42 +02:00
Jiang Jiang Jian
b0456cc926 Merge branch 'bugfix/mesh_scan_done_crash' into 'master'
Bugfix: mesh scan done crash caused by uint8_t overflow

See merge request espressif/esp-idf!5590
2019-07-25 18:01:47 +08:00
Ivan Grokhotkov
842432fb65 Merge branch 'bugfix/dont_rerun_reconfig_on_tests' into 'master'
Don't re-run reconfig on tests executed with same parameters

Closes IDF-732

See merge request espressif/esp-idf!5335
2019-07-25 12:24:03 +08:00
Ivan Grokhotkov
c19106876c Merge branch 'bugfix/tools_installer_fixes' into 'master'
tools: fixes for idf_tools.py and Windows tools installer

Closes IDFGH-1545 and IDFGH-1544

See merge request espressif/esp-idf!5595
2019-07-25 12:20:28 +08:00
Jiang Jiang Jian
308d03456d Merge branch 'bugfix/fix_WiFi_stack_can_freeze' into 'master'
esp_wifi: ESP32_WIFI_RX_BA_WIN should be less than ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM

Closes IDFGH-1383

See merge request espressif/esp-idf!5576
2019-07-25 10:42:54 +08:00
xiehang
dd26caf779 esp_wifi: ESP32_WIFI_RX_BA_WIN should be less than ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM 2019-07-24 18:03:33 +08:00
chenyudong
a7ddb03274 mesh: fix scan done crash caused by uint8_t overflow 2019-07-24 15:54:50 +08:00
Ivan Grokhotkov
80ad09f230 tools: installer: allow changing installation path
Installation path can now be changed in a subsequent install,
without uninstalling and logging out.
The default value of the installation path is set to
IDF_TOOLS_PATH environment variable, if it was already set by the
previous installation, or by the user.

Closes https://github.com/espressif/esp-idf/issues/3806
2019-07-24 06:44:30 +02:00
Angus Gratton
3450d9e531 Merge branch 'bugfix/ethernet_apll_clock_config' into 'master'
fix ethernet apll clock config and other optimization

Closes IDFGH-1432, IDFGH-1503, and IDFGH-1504

See merge request espressif/esp-idf!5499
2019-07-24 11:28:10 +08:00
Sergei Silnov
e36a76d940 idf_ext.py: don't rerun reconfig for tests when possible 2019-07-23 16:15:33 +02:00
Krzysztof Budzynski
09fe556faa Merge branch 'doc/resolve-pdf-building-issues' into 'master'
Doc/resolve pdf building issues

See merge request espressif/esp-idf!5566
2019-07-23 17:45:42 +08:00
Kirill Chalov
639687f92b Replace gif images on EN and zh_CN index pages with identical png images for successful building of PDFs on ReadTheDocs. 2019-07-23 17:45:41 +08:00
Ivan Grokhotkov
1271008dd8 tools: tools.json: don't require ulp-binutils and openocd on x86 Linux
Fixes https://esp32.com/viewtopic.php?f=13&t=11540
2019-07-23 06:57:36 +02:00
Ivan Grokhotkov
b70ac4deb7 tools: idf_tools.py: improve error message when no downloads found
...for the given platform.
Previously would raise AssertionError.
2019-07-23 06:55:30 +02:00
Ivan Grokhotkov
f38c1c18a8 tools: install.bat: bail out if idf_tools.py call fails
Makes installation errors easier to spot.
2019-07-23 06:20:52 +02:00
Jiang Jiang Jian
78aef41ef6 Merge branch 'test/check_lib_reversion' into 'master'
test: move wifi library check to esp32-wifi-lib ci

See merge request espressif/esp-idf!5483
2019-07-23 12:02:37 +08:00
suda-morris
018de8101f ethernet: can build without enable esp32 emac
Closes https://github.com/espressif/esp-idf/issues/3770
2019-07-22 21:07:02 +08:00
Tomer Shefler
97ad2bcb86 ethernet: support giving 50mhz rmii clock with both 40mhz and 26 mhz rtc xtal
Merges https://github.com/espressif/esp-idf/pull/3769
Closes https://github.com/espressif/esp-idf/pull/3704
2019-07-22 21:07:02 +08:00
suda-morris
cfbf8c5d07 ethernet: task yield at the end of isr handler 2019-07-22 21:07:02 +08:00
suda-morris
af78311975 ethernet: malloc hal together with driver context 2019-07-22 21:07:02 +08:00
Ivan Grokhotkov
9c5284e7b5 tools: installer: verify that IDF_PATH doesn't contain spaces 2019-07-22 09:29:49 +02:00
Ivan Grokhotkov
aaf3dcbda0 tools: installer: fix quoting of IDF_TOOLS_PATH
IDF_TOOLS_PATH may contain spaces, so needs to be properly quoted.

Closes https://github.com/espressif/esp-idf/issues/3807
2019-07-22 09:29:49 +02:00
Angus Gratton
606c6c867c Merge branch 'bugfix/mqtt_minor_fixes' into 'master'
mqtt: bugfixes: crash on disconnect if not connected, fixed static analysis warning

See merge request espressif/esp-idf!5223
2019-07-22 15:21:39 +08:00
Ivan Grokhotkov
4dc247f5ec Merge branch 'bugfix/IDF-790' into 'master'
tools: added realpath_int() for MacOS script path resolution

Closes IDF-790

See merge request espressif/esp-idf!5548
2019-07-22 11:56:28 +08:00
Jiang Jiang Jian
fcb668ec9c Merge branch 'bugfix/btdm_AVRC_command_fail_while_playing' into 'master'
components/bt: Fix AVRCP command will not be executed while playing music

See merge request espressif/esp-idf!5458
2019-07-22 11:45:19 +08:00
Krzysztof Budzynski
7436535fbe Merge branch 'doc/add_Chinese_translation_to_api-reference_network_esp_smartconfig' into 'master'
Add Chinese translation to api-reference/network/esp_smartconfig.rst

See merge request espressif/esp-idf!5302
2019-07-19 19:04:44 +08:00
Wang Ning
d767e0edc7 Add Chinese translation to api-reference/network/esp_smartconfig.rst 2019-07-19 19:04:44 +08:00
Krzysztof Budzynski
75f5e443c6 Merge branch 'doc/review_api-ref_periph-timer' into 'master'
Review the file api-reference/peripherals/timer.rst

See merge request espressif/esp-idf!5291
2019-07-19 15:06:52 +08:00
Kirill Chalov
75d7ca4b60 Review the file api-reference/peripherals/timer.rst 2019-07-19 15:06:52 +08:00
Mahavir Jain
ad966d9375 Merge branch 'config/nimble_params' into 'master'
NimBLE: Give an option to configuration no of bonds and CCCD's to save through menuconfig

See merge request espressif/esp-idf!5563
2019-07-19 14:34:57 +08:00
Hrishikesh Dhayagude
c75240a939 NimBLE: Give an option to configuration no of bonds and CCCD's to save through menuconfig 2019-07-19 14:34:57 +08:00
chenyudong
18df3dd5ed test: move wifi library check to esp32-wifi-lib ci 2019-07-19 13:12:57 +08:00
Jiang Jiang Jian
ceea278501 Merge branch 'bugfix/fix_some_supplicant_bugs' into 'master'
esp_wifi/supplicant: fix some supplicant bugs

Closes IDFGH-1455 and IDF-774

See merge request espressif/esp-idf!5511
2019-07-19 10:46:39 +08:00
Krzysztof Budzynski
4be0fdb24c Merge branch 'doc/review_api-ref_periph-ledc' into 'master'
Doc/review api ref periph ledc

See merge request espressif/esp-idf!5342
2019-07-18 20:33:27 +08:00
Ivan Grokhotkov
0a11604686 Merge branch 'feature/dockerfile' into 'master'
tools: add Dockerfile

Closes IDFGH-1304 and IDF-590

See merge request espressif/esp-idf!5432
2019-07-18 19:52:38 +08:00
Martin Vychodil
54b16b7f5a tools: added realpath_int() for MacOS script path resolution
JIRA IDF-790
2019-07-18 13:36:11 +02:00
chenjianqiang
e43513b610 bugfix(uart): uniform AT_CMD char configuration 2019-07-18 19:24:13 +08:00
liu zhifu
f3f08fa713 esp_wifi/supplicant: fix some supplicant bugs
Closes IDFGH-1455
Closes IDF-774
2019-07-18 17:36:19 +08:00
Jiang Jiang Jian
f27527dd78 Merge branch 'bugfix/phy_change_for_WiFi_scan_BLE_scan_watchdog' into 'master'
phy change for WiFi scan BLE scan watchdog

Closes WIFI-681

See merge request espressif/esp-idf!5539
2019-07-18 17:31:00 +08:00
Kirill Chalov
d8b3676797 Review the file api-reference/peripherals/ledc.rst 2019-07-18 16:38:59 +08:00
David Cermak
6289a26596 mqtt: referenced esp-mqtt master to close disconnection issues and fix static analysis warnings
closes https://github.com/espressif/esp-idf/issues/3619 including mqtt commit 7223302deb
closes https://github.com/espressif/esp-idf/issues/3215 including mqtt commit caf5007b99
2019-07-18 10:34:10 +02:00
David Cermak
ffca1825e6 lwip fuzzer: supplied dummy dns server entry to work with internal packet processing functionwhich is exercised in fuzzer tests, disable CTYPE as recent newlib is not compatible with AFL 2019-07-18 10:34:03 +02:00
Michael (XIAO Xufeng)
00b33a8e14 vfs_uart: refactor to have static context structure 2019-07-18 15:57:00 +08:00
chenjianqiang
91ae40e2ff uart: multichip support 2019-07-18 15:57:00 +08:00
chenjianqiang
4cc962353c feat(uart): update uart driver for esp32s2beta 2019-07-18 15:57:00 +08:00
Ivan Grokhotkov
d742bc85a5 gdbstub: fix CONFIG_ESP_CONSOLE_UART_NUM option name 2019-07-18 09:33:40 +02:00
chenjianqiang
d77c74770a bugfix(flash): add flash config in app startup
We fixed some flash bugs in bootloader, but for the users used the old
vrsion bootloader, they can not fix these bugs via OTA, the solution is
add these updates in app startup.

These updates include:
1. SPI flash gpio matrix and drive strength configuration
2. SPI flash clock configuration
3. SPI flash read dummy configuration
4. SPI flash cs timing configuration
5. Update flash id of g_rom_flashchip
2019-07-18 14:40:59 +08:00
Ivan Grokhotkov
83277fe0f2 docs: add tools section and IDF docker image page 2019-07-18 06:18:04 +00:00
Ivan Grokhotkov
024176c509 ci: build IDF docker image in CI 2019-07-18 06:18:04 +00:00
Ivan Grokhotkov
dd443f61e8 tools: add Dockerfile 2019-07-18 06:18:04 +00:00
Angus Gratton
e1ef0faccd esptool: Bump to v2.7
https://github.com/espressif/esptool/releases/tag/v2.7
2019-07-18 15:09:17 +10:00
Ivan Grokhotkov
8cd04c80f6 efuse: set timing configuration before writing 2019-07-18 15:08:56 +10:00
zhangyanjiao
69504bd9c5 phy change for WiFi scan BLE scan watchdog 2019-07-18 11:00:18 +08:00
David Cermak
c6c6cd7179 rtc: fix minor malloc issues found by static analyzer 2019-07-17 14:45:17 +00:00
Ivan Grokhotkov
f9f13a86a7 esp32s2beta: add gdbstub support 2019-07-17 16:27:11 +02:00
Ivan Grokhotkov
7d21ece78b gdbstub: move to a separate component, support multiple targets 2019-07-17 16:01:03 +02:00
Alexey Gerenkov
e9faf132b4 tools: Update recommended OpenOCD version to v0.10.0-esp32-20190708 2019-07-17 13:11:24 +00:00
Jiang Jiang Jian
785e711561 Merge branch 'bugfix/mesh_stop_block' into 'master'
mesh: fix esp_mesh_stop blocking issue

Closes WIFI-313

See merge request espressif/esp-idf!5475
2019-07-17 20:36:51 +08:00
raldone01
7982ed9a7d newlib: Move _gettimeofday_r call in clock_gettime
Signed-off-by: KonstantinKondrashov <konstantin@espressif.com>
Merges: https://github.com/espressif/esp-idf/pull/3789
2019-07-17 16:52:40 +08:00
Angus Gratton
c29e353142 Merge branch 'bugfix/app_update_tests' into 'master'
app_update: Add [timeout=90] for UTs

See merge request espressif/esp-idf!5553
2019-07-17 16:41:06 +08:00
Ivan Grokhotkov
e431bfd6c2 docs: getting-started: correct style of "macOS" name 2019-07-17 08:31:35 +02:00
Ivan Grokhotkov
7feea26404 docs: getting-started: fix broken links 2019-07-17 08:30:53 +02:00
Jiang Jiang Jian
a544c0e4da Merge branch 'bugfix/optimize_wifi_rx' into 'master'
esp_wifi: optimize wifi rx

See merge request espressif/esp-idf!5501
2019-07-17 12:40:09 +08:00
chenyudong
4dd75184e4 mesh: fix esp_mesh_stop not return 2019-07-17 11:02:21 +08:00
KonstantinKondrashov
17791d5384 app_update: Add [timeout=90] 2019-07-17 10:28:50 +08:00
Angus Gratton
4a0733c33c test: Set timeout of libsodium ed25519_convert test to 60s
Test takes 28s-29s to run in some configs, can fail in CI.
2019-07-17 12:24:29 +10:00
Roland Dobai
bd21960955 tools: Support sdkconfig.rename files from outside IDF in confgen.py 2019-07-16 20:18:19 +02:00
Jiang Jiang Jian
eab3edf3d4 Merge branch 'fix_bug_for_ipv6_example' into 'master'
Modify IPv6 functionality compatible with lwip2.1.2

See merge request espressif/esp-idf!5495
2019-07-17 00:09:17 +08:00
liu zhifu
45dd6175cd esp_wifi: optimize wifi rx 2019-07-16 17:59:04 +08:00
Jiang Jiang Jian
d7e659df27 Merge branch 'bugfix/fix_wifi_stop_bug' into 'master'
esp_wifi: fix wifi stop

See merge request espressif/esp-idf!5479
2019-07-16 17:55:19 +08:00
baohongde
f048be924c components/bt: Fix AVRCP command will not be executed while playing music 2019-07-16 08:50:36 +00:00
xueyunfei
f29ff2c552 Modify IPv6 functionality compatible with lwip2.1.2 2019-07-16 16:22:11 +08:00
David Cermak
8fc02e860a tcp_tansport: websocket layer modifies in-buffer data (for masked transports). This fix reverts the data back to original rather then making a copy.
Closes https://github.com/espressif/esp-idf/issues/3774
2019-07-16 09:47:18 +02:00
Angus Gratton
596209de69 Merge branch 'feature/update_mbedtls_config_approach' into 'master'
Modify esp_config include approach

See merge request espressif/esp-idf!5382
2019-07-16 15:32:03 +08:00
Angus Gratton
4732e22e64 Merge branch 'bugfix/fix_mcpwm_example_memory_bug' into 'master'
Bugfix(example) : Fixed the bug that the malloc memory size is smaller than the actual required.

Closes IDFGH-1490

See merge request espressif/esp-idf!5509
2019-07-16 14:51:35 +08:00
liu zhifu
b7d6aa74dd esp_wifi: fix WiFi stop bug
Fix the bug that WiFi stop causes esp_wifi_internal_reg_rxcb() fails.
2019-07-16 14:09:47 +08:00
Konstantin Kondrashov
69a313b6ae esp32: Add UTs for DPORT and Hi-interrupt 2019-07-16 05:54:45 +00:00
Konstantin Kondrashov
632b016028 esp32: Dis interrupts up to 5 lvl for DPORT
Disable interrupts for both DPORT workarounds up to 5 lvl.

Closes: https://esp32.com/viewtopic.php?f=2&t=10981&sid=d125cec233070ed4d2c5410bf5d3d74a
Closes: IDF-728
2019-07-16 05:54:45 +00:00
Angus Gratton
a6b39f0c64 Merge branch 'bugfix/wifi_prov_mgr_event_end_missing' into 'master'
Bugfix wifi_prov_mgr : Added missing esp_event_post() for WIFI_PROV_END events

See merge request espressif/esp-idf!5522
2019-07-16 13:53:08 +08:00
Angus Gratton
56afdedf7c Merge branch 'bugfix/do_not_require_new_target_link_library_signature' into 'master'
CMake: Do not force use of new target_link_libraries signature

See merge request espressif/esp-idf!5471
2019-07-16 13:36:35 +08:00
morris
413a98b151 Merge branch 'feature/esp32s2beta_dport' into 'feature/esp32s2beta'
dport_access: simplify for esp32s2beta

See merge request espressif/esp-idf!5417
2019-07-16 13:32:48 +08:00
Jiang Jiang Jian
caf3a43c07 Merge branch 'bugfix/fix_smartconfig_crash_when_no_ap_is_found' into 'master'
esp_wifi: smartconfig crash when no ap is found

Closes IDFGH-1292

See merge request espressif/esp-idf!5505
2019-07-15 21:21:09 +08:00
David Cermak
9b507c45c8 ws_client: fix double delete issue in ws client initialization 2019-07-15 13:15:07 +02:00
KonstantinKondrashov
ffaee97e81 soc/esp32s2beta: Exclude DPORT check 2019-07-15 06:51:03 +00:00
KonstantinKondrashov
d4ca0e186d esp32s2beta: dport_access simplify
Closes: IDF-755
2019-07-15 06:51:03 +00:00
liu zhifu
034440b85d esp_wifi: fix smartconfig crash when no AP is found
Fix the bug that smartconfig crashes when no AP is found during smartconfig scan.
2019-07-15 12:44:03 +08:00
Jiang Jiang Jian
fdab15dc76 Merge branch 'bugfix/modify_wifi_country_struct' into 'master'
esp32: make wifi_country_t in idf consistent with VNC

See merge request espressif/esp-idf!5463
2019-07-15 12:41:59 +08:00
Angus Gratton
6ae352c3a0 Merge branch 'bugfix/fix_regression_with_setting_component_dir_in_early_expansion' into 'master'
cmake: set COMPONENT_DIR in early expansion

Closes IDFGH-1506

See merge request espressif/esp-idf!5518
2019-07-15 11:05:21 +08:00
Angus Gratton
17e637afa3 Merge branch 'bugfix/docs_update_openssl_command' into 'master'
mqtt: update example documentation on generating a certificate for ssl authentication to hosts

See merge request espressif/esp-idf!5220
2019-07-15 10:53:37 +08:00
Angus Gratton
bd0a5d4c8b Merge branch 'feature/esptool_py_use_component_properties' into 'master'
esptool_py: use component property to simplify arg file generation

See merge request espressif/esp-idf!5312
2019-07-15 10:52:15 +08:00
David Cermak
3eda52f6cd mqtt: update example documentation on generating a certificate for ssl authentication to hosts
Closes https://github.com/espressif/esp-idf/issues/3593
2019-07-14 16:05:50 +02:00
Jiang Jiang Jian
5588b22796 Merge branch 'bugfix/fix_wps_memory_leak' into 'master'
WPS: fix wps memory leak

Closes WIFI-630 and WIFI-644

See merge request espressif/esp-idf!5314
2019-07-14 17:19:16 +08:00
xiehang
8f2d13d9db WiFi: Modify the wifi_country struct in VNC to keep it consistent with IDF.
1, Modfy wifi_country struct
    2, Add md5 check esp_wifi_types.h
    3, Add md5 check esp_wifi.h
2019-07-14 15:10:11 +08:00
Jiang Jiang Jian
3d95b63686 Merge branch 'doc/heap_thread_safety' into 'master'
docs: Add notes about thread safety and using heap from ISRs

Closes IDFGH-1502

See merge request espressif/esp-idf!5516
2019-07-14 14:48:14 +08:00
Jiang Jiang Jian
fdece759d8 Merge branch 'bugfix/fix_the_watchdog_during_WiFi_scan_BLE_scan' into 'master'
fix the watchdog bug during WiFi scan and BLE scan

See merge request espressif/esp-idf!5521
2019-07-14 14:40:33 +08:00
Anurag Kar
0e07b85d2f wifi_prov_mgr : Added missing esp_event_post() for WIFI_PROV_END events 2019-07-13 15:48:23 +05:30
zhangyanjiao
d1bf08d4ad coexist: fix the watchdog bug during WiFi scan and BLE scan 2019-07-12 20:23:59 +08:00
Renz Christian Bagaporo
d3e814fe19 cmake: set COMPONENT_DIR in early expansion
Gives same treatment to COMPONENT_DIR as COMPONENT_PATH in
https://gitlab.espressif.cn:6688/espressif/esp-idf/merge_requests/4557

Closes https://github.com/espressif/esp-idf/issues/3771
2019-07-12 16:22:18 +08:00
hemal.gujarathi
1dec976fba Update esp_config and add new feature
Closes https://github.com/espressif/esp-idf/issues/3372
2019-07-12 11:42:48 +05:30
Ramesh
8795f1ac86 Fixed the bug that the malloc memory size is smaller than the actual required.
Merges https://github.com/espressif/esp-idf/pull/3757
2019-07-12 09:51:41 +08:00
Angus Gratton
0f27c38855 docs: Add notes about thread safety and using heap from ISRs
Closes https://github.com/espressif/esp-idf/issues/3768
2019-07-12 11:09:00 +10:00
Angus Gratton
0114af25da Merge branch 'feature/vfs_pread' into 'master'
VFS: Implement pread() and pwrite()

Closes IDFGH-1211

See merge request espressif/esp-idf!5422
2019-07-11 19:33:33 +08:00
houwenxiang
6a8fe5cf79 Update RMT driver for esp32s2beta 2019-07-11 19:15:05 +08:00
morris
cbc153786d Merge branch 'feature/esp32s2beta_update_i2c_driver' into 'feature/esp32s2beta'
feat(i2c): update i2c driver for esp32s2beta

See merge request espressif/esp-idf!5256
2019-07-11 17:30:06 +08:00
xiehang
6c865a84ff 1, Fix wps memory leak.
2, Add a queue to save wps rx eapol frame.
  3, Add data lock protect wpa2_sig_cnt.
  4, Add a queue to save wpa2 rx rapol frame.
2019-07-11 08:57:31 +00:00
Angus Gratton
577d2c5e2b Merge branch 'bugfix/parttool_baud' into 'master'
partition_table: Add baud option to parttool and otatool

Closes IDFGH-1483

See merge request espressif/esp-idf!5494
2019-07-11 14:53:54 +08:00
Roland Dobai
41062bea99 VFS: Implement pread() and pwrite()
Closes https://github.com/espressif/esp-idf/issues/3515
2019-07-11 06:20:21 +00:00
Ivan Grokhotkov
1ea68e6093 Merge branch 'feature/build_example_make_on_trigger' into 'master'
ci: don't build examples with Make in regular jobs

See merge request espressif/esp-idf!5498
2019-07-11 13:59:15 +08:00
Ivan Grokhotkov
65582291ad Merge branch 'bugfix/unit_test_app_size' into 'master'
unit-test-app: split default, release, single_core configs

See merge request espressif/esp-idf!5497
2019-07-11 13:27:30 +08:00
Jiang Jiang Jian
9b5a3ca9fc Merge branch 'feature/cleanup_fast_crypto_files' into 'master'
wpa_supplicant: Cleanup fast_xxx modules that use duplicate code

See merge request espressif/esp-idf!5190
2019-07-11 10:26:45 +08:00
He Yin Ling
663ed11509 unit-test-app: use stripped config name in test case ID:
We could split cases of same config into multiple binaries as we have limited rom space. So we should regard those configs like `default` and `default_2` as the same config.
2019-07-11 10:01:05 +08:00
Ivan Grokhotkov
edd7f90b77 ci: don't build examples with Make on pushes
Still build the examples with make on:
- triggered pipelines
- master, release branches, tags
- scheduled and manual (web) pipelines
2019-07-10 17:16:53 +02:00
Ivan Grokhotkov
56e3f2780d ci: add unit test job 2019-07-10 22:44:11 +08:00
Ivan Grokhotkov
41b6811f45 unit-test-app: split default, release, single_core configs 2019-07-10 22:44:11 +08:00
Roland Dobai
3552ca4d6a app_update: Add the baud option into otatool 2019-07-10 15:09:46 +02:00
Roland Dobai
3f47269211 app_update: Fix argument of ParttoolTarget 2019-07-10 15:09:46 +02:00
Søren Christian Madsen
aa0c5f03be Add --baud option to parttool
Closes https://github.com/espressif/esp-idf/pull/3753
2019-07-10 15:09:46 +02:00
Nachiket Kukade
900df44546 wpa_supplicant: Cleanup fast_xxx modules that use duplicate code
wpa_supplicant is using MbedTLS API's for crypto algorithms. For
calling them a duplicate set of modules is maintained prepended
with 'fast_'. Remove these and use flag USE_MBEDTLS_CRYPTO
instead to separate modules calling MbedTLS API's from native
implementation.
2019-07-10 14:53:20 +05:30
Ivan Grokhotkov
847e00d17b Merge branch 'bugfix/idf_exe_crash' into 'master'
tools: fix idf.py.exe crash on Windows 7

Closes IDFGH-1471

See merge request espressif/esp-idf!5484
2019-07-10 16:20:13 +08:00
Jiang Jiang Jian
fbc8e35577 Merge branch 'bugfix/btdm_compile_error_with_new_toolchain' into 'master'
components/bt: Fix compile error with new toolchain

See merge request espressif/esp-idf!5444
2019-07-10 15:28:49 +08:00
chenjianqiang
667113cf94 feat(i2c): update i2c driver for esp32s2beta 2019-07-10 11:41:36 +08:00
Angus Gratton
6a3c5905ed Merge branch 'bugfix/docs_recover_some_build_time' into 'master'
docs: Remove building of zipped HTML docs from build process and consequently...

See merge request espressif/esp-idf!5467
2019-07-10 10:06:32 +08:00
Angus Gratton
058ef98c33 Merge branch 'feature/cmake_default_build_system' into 'master'
cmake: Make CMake the default build system

Closes IDF-198 and IDF-325

See merge request espressif/esp-idf!5328
2019-07-10 08:16:39 +08:00
Angus Gratton
409181361f Merge branch 'bugfix/fix_flash_read_error_in_dio_26MHz_mode' into 'master'
bugfix(flash): fix flash read error in DIO/26MHz mode

See merge request espressif/esp-idf!5381
2019-07-10 08:13:35 +08:00
Ivan Grokhotkov
e6e1792946 tools: update idf_exe to 1.0.1 2019-07-09 14:15:09 +02:00
Ivan Grokhotkov
15bcb79712 idf_exe: bump version to 1.0.1 2019-07-09 14:15:09 +02:00
Ivan Grokhotkov
76dc87e9ad idf_exe: fix NULL pointer passed to WriteFile
For an unknown reason, passing NULL pointer instead of &written worked
on Windows 10 and on Windows 7 when stdout is not redirected.

Closes https://github.com/espressif/esp-idf/issues/3740
2019-07-09 14:15:09 +02:00
Ivan Grokhotkov
896d675248 idf_tools.py: add another platform string to handle Windows x86 2019-07-09 14:11:19 +02:00
Angus Gratton
6410f7a259 cmake: Fix some bugs building mconf-idf from scratch
- Makefile didn't quite work with out-of-tree build unless there was already an in-tree build done.
- CMake needs to delete some of the in-tree build artifacts or they're used instead of the correct
 files.
2019-07-09 20:02:44 +08:00
Jiang Jiang Jian
c8f5f47d5d Merge branch 'bugfix/fix_uart_wait_done_bug' into 'master'
Driver(UART):  Fixed two UART issues

Closes IDFGH-1348

See merge request espressif/esp-idf!5340
2019-07-09 18:39:02 +08:00
Angus Gratton
80e9faaf1c docs: Move Legacy Get Started guide to the Related Documents section 2019-07-09 20:35:34 +10:00
baohongde
f8c107fbe3 components/bt: Fix compile error with new toolchain
Closes https://github.com/espressif/esp-idf/issues/3331
Closes https://github.com/espressif/esp-idf/issues/3734
2019-07-09 17:50:43 +08:00
Angus Gratton
9583c8d037 docs: Rephrase the warning about not requiring MSYS2 on Windows 2019-07-09 14:32:26 +10:00
Angus Gratton
05ac8cfb6d docs: Update description for Eclipse+Cmake support not ready yet 2019-07-09 14:32:26 +10:00
Angus Gratton
222146845c docs: Make CMake build system default, mark GNU Make as legacy option
All `-cmake` suffixes are removed
Where a GNU Make option is renamed, the `-legacy` suffix is used
2019-07-09 14:32:26 +10:00
Jiang Jiang Jian
27a6f84e7f Merge branch 'bugfix/eth2ap_example' into 'master'
temporarily work around for fixing eth2ap

Closes IDFGH-1458 and IDFGH-1456

See merge request espressif/esp-idf!5441
2019-07-09 12:20:44 +08:00
Jiang Jiang Jian
ce9600ec81 Merge branch 'docs/rename_partition_addr_param_pr3750' into 'master'
esp_partition_erase_range(): rename parameter "start_addr" to "offset"

See merge request espressif/esp-idf!5469
2019-07-09 12:18:38 +08:00
Renz Christian Bagaporo
2a5b02097b cmake: do not force use of new signature for target_link_libraries 2019-07-08 19:43:57 +08:00
Mahavir Jain
74140b0cfb Merge branch 'feature/cmake_proto_build' into 'master'
cmake : Add CMakeLists.txt and update READMEs for re-compilation of proto files

Closes IDF-725

See merge request espressif/esp-idf!5442
2019-07-08 19:13:32 +08:00
Angus Gratton
62ed221daf docs: Functional renaming commit for CMake-as-default
Rename all the files which will be edited substantially in the next commit, without changing their
contents

Docs will not build for this ocmmit.

This is done so that git doesn't decide we renamed xxx-cmake -> xxx-legacy in the next commit, which
is what it will infer otherwise (and makes rebasing more of a pain than it should be)
2019-07-08 17:31:27 +10:00
Angus Gratton
86dbe9299a docs: Load page redirects from a file instead of inline in config 2019-07-08 17:31:27 +10:00
Angus Gratton
47bbb107a8 build system: Use CMake-based build system as default when describing commands 2019-07-08 17:31:27 +10:00
Martin Thierer
d6c2dad101 esp_partition_erase_range(): rename parameter "start_addr" to "offset"
The name "start_addr" (which goes straight into the docs) implies
it's an absolute address while in fact it's an offset into the
partition like what's used in all the other esp_partition_*
functions.

So in order to avoid confusion make the name consistent with the
parameter names used for the other partition functions and call it
"offset".

Merges https://github.com/espressif/esp-idf/pull/3750
2019-07-08 17:29:05 +10:00
Angus Gratton
f6ad7f564d Merge branch 'bugfix/otadata_operations_do_not_use_esptool_configs' into 'master'
Fix Make otadata operations do not use esptool configs

Closes IDFGH-686

See merge request espressif/esp-idf!4636
2019-07-08 15:19:30 +08:00
Angus Gratton
c25fe765a9 Merge branch 'feature/esp_http_client_tx_buf_size' into 'master'
esp_http_client: separate buffer_size config option for transmit

See merge request espressif/esp-idf!5337
2019-07-08 15:15:14 +08:00
suda-morris
e0360bf156 temporarily work around for fixing eth2ap
Closes https://github.com/espressif/esp-idf/issues/3726
Closes https://github.com/espressif/esp-idf/issues/3728
2019-07-08 15:05:09 +08:00
Krzysztof
363f3e8311 docs: Remove building of zipped HTML docs from build process and consequently from Downloads as many users don't use that. We are still providing PDF documentation for people who prefer viewing docs off-line. Removal of this build step is expected to save almost 10 minutes of build time and resolve issue of build failures because of hitting 40 min build time limit on Read The Docs. 2019-07-08 13:19:56 +08:00
Angus Gratton
c3cc096af0 Merge branch 'ci/cmake_examples_multichip_support' into 'master'
ci: multichip build support for examples

See merge request espressif/esp-idf!5384
2019-07-08 12:29:25 +08:00
kooho
09a63cca51 bugfix(UART): fixed two UART issues:
1. uart_wait_tx_done works incorrect when sending a byte of data.
2. uart_set_rx_timeout sets an incorrect rx timeout value when ref_tick is enabled

closes https://github.com/espressif/esp-idf/issues/3631
2019-07-08 12:27:14 +08:00
Jiang Jiang Jian
0f50af0a12 Merge branch 'bugfix/supplicant_security_fixes' into 'master'
wpa_supplicant: Fix sprintf security bugs.

Closes WIFI-624

See merge request espressif/esp-idf!5295
2019-07-08 11:13:20 +08:00
Jiang Jiang Jian
1587770cbb Merge branch 'bugfix/improve_spi_timing_for_flash' into 'master'
bugfix(flash): improve spi cs timing settings for flash

See merge request espressif/esp-idf!4964
2019-07-08 11:11:03 +08:00
chenjianqiang
266baa8839 bugfix(flash): fix flash read error in DIO/26MHz mode 2019-07-08 01:50:07 +00:00
Angus Gratton
1935a5a93c Merge branch 'bugfix/gcov_example_report_cmake_target' into 'master'
gcov_example: Adds cmake target to generate report

Closes IDF-727

See merge request espressif/esp-idf!5403
2019-07-08 09:30:11 +08:00
Angus Gratton
ee1743af70 Merge branch 'bugfix/confgen_break' into 'master'
tools: Fix indentation in confgen.py

See merge request espressif/esp-idf!5460
2019-07-08 09:29:09 +08:00
Angus Gratton
0f147e0a32 Merge branch 'ci/support_build_helloworld_esp32s2beta' into 'feature/esp32s2beta'
ci: support to build esp32s2beta simple examples

See merge request espressif/esp-idf!5383
2019-07-08 09:16:07 +08:00
Michael (XIAO Xufeng)
25ab8380c8 ci: support to build esp32s2beta simple examples 2019-07-08 09:16:06 +08:00
Angus Gratton
d67b9403e8 Merge branch 'feature/tcp_transport_pass_errors_stage1' into 'master'
esp-tls: capturing specific errors to be available in tcp_transport and then in application code

See merge request espressif/esp-idf!4782
2019-07-08 08:51:29 +08:00
Mahavir Jain
0a65cf73fa Merge branch 'feature/prov_mgr_event_loop' into 'master'
Wi-Fi Provisioning : Add support for esp_event

See merge request espressif/esp-idf!4857
2019-07-07 13:40:18 +08:00
Jiang Jiang Jian
274d7fe12a Merge branch 'feature/lwip_2.1.2_idf' into 'master'
lwip_2.1.2 for idf_4.0

See merge request espressif/esp-idf!5374
2019-07-07 13:33:41 +08:00
xueyunfei
fa02598b5c lwip_2.1.2 for idf_4.0 2019-07-07 01:51:45 +00:00
Jiang Jiang Jian
138c941fad Merge branch 'mesh/use_event_library' into 'master'
Mesh/use event library

See merge request espressif/esp-idf!4800
2019-07-06 21:55:21 +08:00
Roland Dobai
f3d6219c46 tools: Fix indentation in confgen.py 2019-07-06 09:17:31 +02:00
Sagar Bijwe
ae46f04997 wpa_supplicant: Fix sprintf security bugs.
Revert back to using os_snprintf instead of sprintf.

Closes WIFI-624
2019-07-06 04:22:53 +00:00
chenjianqiang
d6c40c7c1d bugfix(flash): improve spi cs timing settings for flash
cs setup time is recomemded to be 1.5T, and cs hold time is recommended to be 2.5T.
(cs_setup = 1, cs_setup_time = 0; cs_hold = 1, cs_hold_time = 1)
2019-07-05 21:21:17 +08:00
qiyuexia
068a2dcb32 mesh: update mesh events demonstration 2019-07-05 21:14:33 +08:00
qiyuexia
a272e7204d mesh: use new event library 2019-07-05 21:14:30 +08:00
Jiang Jiang Jian
783ddd1e05 Merge branch 'cleanup/remove_redundant_tags_file' into 'master'
wpa_supplicant: Remove tags file which was added by mistake

See merge request espressif/esp-idf!5457
2019-07-05 21:11:41 +08:00
Oleg Antonyan
bd4591b053 esp_http_client: separate buffer_size config option for transmit
Merges https://github.com/espressif/esp-idf/pull/3528

Signed-off-by: Jitin George <jitin@espressif.com>
2019-07-05 13:04:35 +00:00
Jiang Jiang Jian
f16f4297cd Merge branch 'doc/power_management_update_with_bt_changes' into 'master'
doc/power_management_update_with_bt_changes

See merge request espressif/esp-idf!5170
2019-07-05 21:03:52 +08:00
Jiang Jiang Jian
27628ef133 Merge branch 'doc/add_ble_mesh_doxyfile' into 'master'
ble_mesh: add Doxyfile for core apis & model apis

See merge request espressif/esp-idf!5401
2019-07-05 20:55:39 +08:00
Anurag Kar
98cf38ca9c cmake : Add CMakeLists.txt and update READMEs for re-compilation of proto files 2019-07-05 18:20:15 +05:30
Jiang Jiang Jian
c849f7bfb6 Merge branch 'mesh/bugfix_0628_master' into 'master'
mesh: bugfix

Closes WIFI-628, WIFI-638, WIFI-635, WIFI-582, WIFI-130, WIFI-622, WIFI-579, WIFI-428, and WIFI-451

See merge request espressif/esp-idf!5437
2019-07-05 20:48:03 +08:00
Alexey Gerenkov
2926cd09a2 gcov_example: Adds cmake target to generate report
Closes IDF-727
2019-07-05 12:44:35 +00:00
Jiang Jiang Jian
534062dd3b Merge branch 'bugfix/btdm_fix_rxwinsz_assert_in_wifi_ble_coex' into 'master'
component/bt: fix rxwinsz assert in ble and wifi coex

See merge request espressif/esp-idf!5434
2019-07-05 20:27:33 +08:00
Mahavir Jain
46c8497f01 Merge branch 'bugfix/prov_tool_desc_readme' into 'master'
esp_prov : Minor refactoring in argument dependent logic and other changes

See merge request espressif/esp-idf!5430
2019-07-05 17:18:32 +08:00
Michael (XIAO Xufeng)
181fd70a9a ci: multichip build support for examples 2019-07-05 17:06:25 +08:00
Nachiket Kukade
773ddcf0ff wpa_supplicant: Remove tags file which was added by mistake
Merge request idf/esp-idf!5219 added a ctags 'tags' file to
the repository by mistake. Remove it.
2019-07-05 14:23:21 +05:30
Anurag Kar
703e98eb98 wifi_prov_mgr : Updated the set of WIFI_REASON_ codes used for setting WIFI_PROV_STA_AUTH_ERROR 2019-07-05 08:41:27 +00:00
Anurag Kar
9f1033862d wifi_prov_mgr : Free memory allocated by cJSON_Print 2019-07-05 08:41:27 +00:00
Anurag Kar
a13cc7da7a Provisioning : Manager example updated to use esp_event_loop feature 2019-07-05 08:41:27 +00:00
Anurag Kar
0e8bd1699d Wi-Fi Provisioning : Manager docs updated with information about esp_event_loop support 2019-07-05 08:41:27 +00:00
Anurag Kar
69ade757e2 Wi-Fi Provisioning : Manager now uses esp_event to catch system events and emit provisioning events to the default event loop
List of changes:
* Deprecated public API wifi_prov_mgr_event_handler() and added private function wifi_prov_mgr_event_handler_internal(), registered with the default event loop for catching WIFI and IP system events
2019-07-05 08:41:27 +00:00
Anton Maklakov
f79813ff86 Merge branch 'feature/tools_script_to_switch_submodules' into 'master'
tools: Fix up relative submodule URLs for forks

See merge request espressif/esp-idf!5421
2019-07-05 16:16:58 +08:00
Angus Gratton
d64d97743f Merge branch 'bugfix/efuse_secure_version_emulate' into 'master'
efuse: Fix mode EFUSE_SECURE_VERSION_EMULATE

See merge request espressif/esp-idf!5446
2019-07-05 16:05:26 +08:00
Angus Gratton
c24c5cf164 Merge branch 'feature/gdbstub_multi_target' into 'master'
gdbstub multi-target support

Closes IDF-466

See merge request espressif/esp-idf!5246
2019-07-05 14:33:54 +08:00
qiyuexia
c516819ba6 mesh: bugfix
1. resend eb which are pending in g_ic.tx_buf due to channel switch.
2. add lock for mgmg/xon/bcast to protect send from user flush.
3. softap: add check if secondary offset is correct when start softap.
4. softap: in inactive timer handler, add check if child bss is removed to avoid removing it again.
5. disable A-MPDU for non-root.
6. fix reusing a freed eb.
7. fix when node becomes root, it does not record assoc value to nvs.
8. discard unnecessary forwarded group packets.
9. fix toDS state is not updated in time.
10. fix s_sta_cnx_times is not cleared when deinit causes root sends ADD annoucement.
11. root: increase beacon timeout time from 6 seconds to 15 seconds to delay initiation of reconnection.
12. add esp_mesh_get_tsf_time to return TSF time.
13. send the whole routing table multi-times.
14. clear candidate settings if not receive candidate beacon within 8 seconds.
2019-07-05 13:17:43 +08:00
Anton Maklakov
c9cf0afb6e tools: Add a script for switching to real submodules in forks 2019-07-05 11:12:06 +07:00
Anton Maklakov
b54762597a Avoid 'redirecting to' warnings when cloning 2019-07-05 11:12:06 +07:00
nif
e72a09ee27 Make submodules work in forks
Merges https://github.com/espressif/esp-idf/pull/3721
2019-07-05 11:12:06 +07:00
Angus Gratton
7ef42f2596 Merge branch 'fix/nvs_util_key_len' into 'master'
nvs_util: Add check for key len in input csv file

See merge request espressif/esp-idf!5392
2019-07-05 10:34:55 +08:00
Renz Christian Bagaporo
94e0569c2b make, cmake: pass config esptool args for otatool invocation
Closes https://github.com/espressif/esp-idf/issues/3135
2019-07-05 02:26:00 +00:00
Renz Christian Bagaporo
2360d882d9 parttool, otatool: accept esptool args 2019-07-05 02:26:00 +00:00
Angus Gratton
8be982f60c Merge branch 'feature/mfg_util_optimise' into 'master'
mfg_util: Optimise by adding subparser changes w.r.t similar changes in nvs util changes

See merge request espressif/esp-idf!5336
2019-07-05 10:08:10 +08:00
Shivani Tipnis
cc75721f9c mfg_util: Optimise by adding subparser changes w.r.t similar changes in nvs util changes 2019-07-05 01:13:27 +00:00
Shivani Tipnis
84b2fa4c1c nvs_util: Add check for key len in input csv file
Closes https://github.com/espressif/esp-idf/issues/3113
2019-07-05 01:12:41 +00:00
Angus Gratton
30819a8151 Merge branch 'bugfix/tcp_transport_use_without_list' into 'master'
tcp transport: fix minor memory leak when ssl transport used separately

See merge request espressif/esp-idf!5206
2019-07-05 09:11:10 +08:00
Angus Gratton
fda1887260 Merge branch 'feature/nimble_example_tests' into 'master'
Add NimBLE bleprph,blecent,blehr example tests

See merge request espressif/esp-idf!4420
2019-07-05 08:14:05 +08:00
Shivani Tipnis
bfd1eeefa2 Add NimBLE bleprph,blecent,blehr example tests 2019-07-05 08:14:04 +08:00
David Cermak
d1433564ec ws_client: removed dependency on internal tcp_transport header 2019-07-04 20:55:10 +02:00
David Cermak
dc16b8243f esp_http_client: added example test case to verify error code received when connecting to non-existent url 2019-07-04 20:55:10 +02:00
David Cermak
a001eb39bf http_client: disconnect event to read last occurred error in esp-tls 2019-07-04 20:55:10 +02:00
David Cermak
587739391c esp-tls: extending error handle to contain error descriptors with last mbedtls failure and latest certificate verification result flags, reworked tcp_transport to use this error handle 2019-07-04 20:55:10 +02:00
David Cermak
2972f96982 esp-tls: capturing specific errors to be available in tcp_transport and then in application code 2019-07-04 20:55:10 +02:00
Ivan Grokhotkov
cd89182458 Merge branch 'bugfix/confgen_avoid_write_to_conf' into 'master'
tools: avoid using directly _write_to_conf from Kconfiglib

Closes IDFGH-1246

See merge request espressif/esp-idf!5423
2019-07-04 22:36:23 +08:00
Ivan Grokhotkov
564dbabf49 Merge branch 'bugfix/confgen_hex_value' into 'master'
tools: Fix hex parsing in confgen.py

Closes IDFGH-1273

See merge request espressif/esp-idf!5439
2019-07-04 22:35:54 +08:00
Ivan Grokhotkov
87c35c71b9 Merge branch 'bugfix/fix_tools_idf_tools_exception_with_python3' into 'master'
CI: fix CI tools exception with python3

Closes IDF-769

See merge request espressif/esp-idf!5443
2019-07-04 22:35:31 +08:00
KonstantinKondrashov
09ee721932 efuse: Fix mode EFUSE_SECURE_VERSION_EMULATE 2019-07-04 13:34:35 +00:00
Ivan Grokhotkov
8bed3a3dd2 Merge branch 'feature/support_spi_ethernet' into 'master'
ethernet: support dm9051

Closes IDFGH-1443 and IDFGH-1439

See merge request espressif/esp-idf!5345
2019-07-04 21:30:52 +08:00
Jiang Jiang Jian
f4f59964a3 Merge branch 'feature/wifi_refactor_smartconfig_to_esp_event' into 'master'
esp_wifi: refactor smartconfig callback to use esp event

Closes IDF-268

See merge request espressif/esp-idf!4806
2019-07-04 21:16:57 +08:00
zhiweijian
6029ef1b58 component/bt: fix rxwinsz assert in ble and wifi coex 2019-07-04 19:44:59 +08:00
suda-morris
cb42c29252 ethernet: support dm9051
1. move resource allocation from xxx_init to xxx_new
2. fix enabling tx checksum insertion by mistake
3. iperf example: enlarge max arguments
4. add examples for spi-ethernet

Closes https://github.com/espressif/esp-idf/issues/3715
Closes https://github.com/espressif/esp-idf/issues/3711
2019-07-04 19:38:13 +08:00
Jiang Jiang Jian
a831fe596b Merge branch 'bugfix/btdm_conn_fail_with_some_speaker' into 'master'
components/bt: Fix connect fail with some speakers

See merge request espressif/esp-idf!5358
2019-07-04 19:23:19 +08:00
XiaXiaotian
29d1d2bd38 esp_wifi: refactor smartconfig callback to use esp event 2019-07-04 18:00:04 +08:00
Anurag Kar
61923d37b6 esp_prov : Minor refactoring in argument dependent logic
Other changes:
* Command line argument name and descriptions updated and formatted
* Some exception messages updated for clarity
* READMEs updated for tool and all provisioning examples
* Minor update in example test scripts due to change in esp_prov.get_transport() API
* Transport_HTTP now forces connect on initialization
2019-07-04 15:02:07 +05:30
Max Holtzberg
edbcb5b295 esp_transport_destroy: Fix memory leak
if tcp_transport component was used separately (e.g. using tranpsort_ssl.h directly without building list of transport) then it leaks memory on unitialization

Merges https://github.com/espressif/esp-idf/pull/3541
Closes https://github.com/espressif/esp-idf/issues/3531

Signed-off-by: David Cermak <cermak@espressif.com>
2019-07-04 11:07:41 +02:00
David Cermak
412dc95168 tcp_transport: added basic unit tests for init/destroy transports in lists or when used separately 2019-07-04 11:07:41 +02:00
Roland Dobai
510042160d tools: avoid using directly _write_to_conf from kconfiglib
Closes https://github.com/espressif/esp-idf/issues/3543
2019-07-04 10:35:34 +02:00
Roland Dobai
3bd4003e98 tools: Fix hex parsing in confgen.py
Closes https://github.com/espressif/esp-idf/issues/3568
2019-07-04 10:35:03 +02:00
He Yin Ling
a626061f3c tools: fix exception in checkout ref script:
decode bytes before searching with RegEx
2019-07-04 16:31:35 +08:00
wangmengyang
50af558df9 update pm document with changes in bluetooth that supports automatic light sleep in case that external 32.768KHz crystal is used as the sleep clock
If bluetooth modem sleep is enabled and "External 32kHz crystal" is used as bluetooth sleep clock, the power management lock "ESP_PM_NO_LIGHT_SLEEP" in bluetooth is released for the periods of time when Bluetooth enters modem sleep. In this case automatic light sleep is allowed.
2019-07-04 07:14:02 +00:00
He Yin Ling
9ecd0436f5 tools: fix idf_tools.py exception with python3
use `subprocess.Popen` when catch TypeError:

```
Traceback (most recent call last):
  File "tools/idf_tools.py", line 1249, in <module>
    main(sys.argv[1:])
  File "tools/idf_tools.py", line 1245, in main
    action_func(args)
  File "tools/idf_tools.py", line 1038, in action_install
    tool_obj.find_installed_versions()
  File "tools/idf_tools.py", line 468, in find_installed_versions
    ver_str = self.check_version()
  File "tools/idf_tools.py", line 426, in check_version
    version_cmd_result = run_cmd_check_output(cmd, None, extra_paths)
  File "tools/idf_tools.py", line 176, in run_cmd_check_output
    result = subprocess.run(cmd, capture_output=True, check=True, input=input_text)
  File "/opt/pyenv/pyenv-1.2.6/versions/3.5.5/lib/python3.5/subprocess.py", line 383, in run
    with Popen(*popenargs, **kwargs) as process:
TypeError: __init__() got an unexpected keyword argument 'capture_output'
```
2019-07-04 15:06:00 +08:00
Krzysztof Budzynski
c94339c559 Merge branch 'doc/fatal_errors_zh_CN' into 'master'
zh_CN translation of fatal-errors

See merge request espressif/esp-idf!4418
2019-07-04 15:00:16 +08:00
suda-morris
471f4b2f0e zh_CN translation of fatal_error 2019-07-04 14:01:53 +08:00
Angus Gratton
533c080bc1 Merge branch 'bugfix/cmake_mconf_build' into 'master'
cmake: Fix some bugs building mconf-idf from scratch

See merge request espressif/esp-idf!5413
2019-07-04 13:38:20 +08:00
Krzysztof Budzynski
0794a26f7b Merge branch 'doc/merge_make-related_documents' into 'master'
Merge make-related documents:

See merge request espressif/esp-idf!5304
2019-07-04 13:16:18 +08:00
Wang Fang
b24341a664 Merge make-related documents:
1. Moved get-started files, 7 documents in total, from get-started-cmake folder to hw-reference folder;
2. Deleted get-started files, 7 documents in total, in get-started folder;
3. Updated links in get-started-cmake/index.rst and in get-started/index.rst;
4. Modified descriptions for build system in these files.
2019-07-04 13:16:18 +08:00
Ivan Grokhotkov
b293518ec7 Merge branch 'feature/optimize_ci_config_file' into 'master'
CI: use features from latest Gitlab in CI config file

See merge request idf/esp-idf!4896
2019-07-04 10:56:45 +08:00
Mahavir Jain
28f1cdf5ed Merge branch 'feature/local_ctrl_no_sec' into 'master'
ESP Local Ctrl Feature Added

See merge request idf/esp-idf!5348
2019-07-04 00:45:29 +08:00
Anurag Kar
b75f8b1b20 ESP Local Control Feature Added
List of changes:
* New component esp_local_ctrl added
* Example added under examples/protocols/esp_local_ctrl
* Documentation added under protocols/esp_local_ctrl
* Demo client side app esp_local_ctrl.py added under examples/protocols/esp_local_ctrl/scripts
* protocomm_ble : protocomm_ble_config_t given struct name for allowing forward declaration
* esp_prov/transport_softap renamed to transport_http
* transport_http module supports verification of server certificate
* transport_http module performs name resolution before connection
2019-07-03 21:31:04 +05:30
lly
ff40911a51 ble_mesh: add Doxyfile for core apis & model apis 2019-07-03 17:58:09 +08:00
Angus Gratton
c5c853a8ca Merge branch 'bugfix/vfs_kconfig' into 'master'
VFS: Fix Kconfig prefix

See merge request idf/esp-idf!5431
2019-07-03 17:21:33 +08:00
Ivan Grokhotkov
a1ae89f8e2 Merge branch 'bugfix/bt_config_option_test' into 'master'
Fix the irrelevant characters added to test the config options

See merge request idf/esp-idf!5436
2019-07-03 17:17:15 +08:00
Hrishikesh Dhayagude
daa71d5e18 Fix the irrelevant characters added to test the config options 2019-07-03 17:17:14 +08:00
He Yin Ling
e390dd3eab CI: use include to split large CI config file 2019-07-03 16:59:50 +08:00
He Yin Ling
6eca80a989 CI: try to use the correct branch of other projects used in CI:
1. revision defined in bot message
2. branch name (or tag name) of current IDF
3. CI_MERGE_REQUEST_TARGET_BRANCH_NAME
4. branch name parsed from `git describe`
5. default branch
2019-07-03 16:53:34 +08:00
He Yin Ling
81dd9d4e27 CI: use parallel attribute in CI config file 2019-07-03 16:53:34 +08:00
Ivan Grokhotkov
47da3d3334 Merge branch 'bugfix/idf_py_reconfigure_for_ccache_flag' into 'master'
idf.py: Run reconfigure on ccache option change.make --no-ccache default

See merge request idf/esp-idf!5429
2019-07-03 16:51:12 +08:00
Jiang Jiang Jian
1e7ffbf943 Merge branch 'bugfix/uuid_value' into 'master'
Correct UUID value for ESP_GATT_UUID_ENVIRONMENTAL_SENSING_SVC

See merge request idf/esp-idf!5409
2019-07-03 16:49:30 +08:00
Hrishikesh Dhayagude
46a268dc78 Correct UUID value for ESP_GATT_UUID_ENVIRONMENTAL_SENSING_SVC 2019-07-03 16:49:30 +08:00
Angus Gratton
2639d5b6c3 cmake: Fix some bugs building mconf-idf from scratch
- Makefile didn't quite work with out-of-tree build unless there was already an in-tree build done.
- CMake needs to delete some of the in-tree build artifacts or they're used instead of the correct
 files.
2019-07-03 18:40:55 +10:00
Krzysztof Budzynski
916df0df14 Merge branch 'bugfix/from_github' into 'master'
docs: PRs from GitHub containing documentation bug fixes and corrections

See merge request idf/esp-idf!5367
2019-07-03 16:26:55 +08:00
Jiang Jiang Jian
4e7a6d4762 Merge branch 'bugfix/btdm_wrong_bt_lib' into 'master'
components/bt: Fix Wrong bt lib from commit "Bluetooth component refactoring"

See merge request idf/esp-idf!5420
2019-07-03 15:33:55 +08:00
baohongde
60a3f3e09d components/bt: Fix Wrong bt lib from commit "Bluetooth component refactoring" 2019-07-03 04:44:04 +00:00
Angus Gratton
3ff01d60a4 Merge branch 'fix/sdio_slave_reset_infloop_leak' into 'master'
sdio_slave: fix the send_flush infinite loop issue

See merge request idf/esp-idf!5365
2019-07-03 08:36:26 +08:00
Roland Dobai
43eb58da99 VFS: Fix Kconfig prefix 2019-07-02 17:17:18 +02:00
Ivan Grokhotkov
6895ea1624 Merge branch 'feature/ext_flash_partition' into 'master'
Support for partitions in external flash

See merge request idf/esp-idf!5277
2019-07-02 22:18:14 +08:00
Ivan Grokhotkov
56a624e305 ci: add unit test job 2019-07-02 15:21:34 +02:00
Krzysztof
5aa019fce6 Replace hardcoded links with link roles 2019-07-02 21:01:52 +08:00
Wojciech Szczurek
82b3779b2b Fix broken link to components/wifi_provisioning/proto
Merges https://github.com/espressif/esp-idf/pull/3668
2019-07-02 21:00:38 +08:00
Sergei Silnov
b7ca18edcd idf.py Run reconfigure on ccache option change.make --no-ccache default 2019-07-02 13:37:55 +02:00
Krzysztof
660eb84da7 Correct links
Closes https://github.com/espressif/esp-idf/issues/3723
2019-07-02 18:22:33 +08:00
Krzysztof
8d251d7369 Implement review comments 2019-07-02 18:22:33 +08:00
Stefan Venz
82ba58db22 Fix reference in jtag debugging section
Merges https://github.com/espressif/esp-idf/pull/3617

Signed-off-by: Stefan Venz <stefan.venz@protonmail.com>
2019-07-02 17:49:49 +08:00
fakefred
d1ceaf81ae example/wifi/scan: fix README grammar
Merges https://github.com/espressif/esp-idf/pull/3678
2019-07-02 17:49:49 +08:00
boarchuz
b0168310db Typo correction
Merges https://github.com/espressif/esp-idf/pull/3604
2019-07-02 17:49:49 +08:00
Ivan Grokhotkov
66e0b2f9df gdbstub: move to a separate component, support multiple targets 2019-07-02 11:06:25 +02:00
Ivan Grokhotkov
c730c9e397 nvs: minor host test fixes
Fixes the tests to pass when some files already exist.
Fixes clean target.
Moves CONFIG_NVS_ENCRYPTION definition into sdkconfig.h.
2019-07-02 10:26:06 +02:00
Ivan Grokhotkov
1c17558e6e spi_flash: use same argument types in .h and .c files
Fixes compilations on targets where size_t != uint32_t
2019-07-02 10:26:06 +02:00
Ivan Grokhotkov
ec427a5b43 spi_flash: support for partitions in external flash 2019-07-02 10:26:06 +02:00
Ivan Grokhotkov
ebcb08ec89 host tests: correct definition of CONFIG_SPI_FLASH_USE_LEGACY_IMPL 2019-07-02 10:10:49 +02:00
Ivan Grokhotkov
240192f9fa Merge branch 'bugfix/sec_boot_ota_fail' into 'master'
Bugfix: ota fails with secure boot on for image size greater than 3.2MB

See merge request idf/esp-idf!5263
2019-07-02 14:44:36 +08:00
Jiang Jiang Jian
be5e7e1c6d Merge branch 'feature/nimble-provisioning' into 'master'
NimBLE-Provisioning: Add NimBLE support to existing BLE variant of unified provisioning

See merge request idf/esp-idf!5319
2019-07-02 14:20:11 +08:00
Prasad Alatkar
388b350f0d NimBLE-provisioning: Add NimBLE support to unified provisioning framework
- Adds NimBLE stack support to existing BLE variant of unified provisioning.
- Uses scan response to send device name, 128 bit custom UUIDs based on service
  UUID.
- Minimal changes to `app_prov.c`, component.mk, CMakeLists.txt and
  `protocomm_ble.h` to accomodate NimBLE stack for provisioning.
2019-07-02 14:20:10 +08:00
Jiang Jiang Jian
e6623c4a7b Merge branch 'bugfix/esp_timer_delete_from_cb' into 'master'
esp_timer: handle esp_timer_delete in timer task

Closes IDFGH-1143

See merge request idf/esp-idf!5037
2019-07-02 14:16:26 +08:00
Angus Gratton
4d4fef6da7 Merge branch 'nimble/update_submodule' into 'master'
NimBLE: Update nimble submodule

See merge request idf/esp-idf!5419
2019-07-02 11:26:24 +08:00
Prasad Alatkar
396258380a NimBLE: update nimble submodule
- Update submodule to fix https://jira.espressif.com:8443/browse/BT-192.
- Upstream PR: https://github.com/apache/mynewt-nimble/pull/427
2019-07-02 11:26:24 +08:00
Angus Gratton
55b823cd13 Merge branch 'feature/ringbuffer_support_allocate_memory' into 'master'
ringbuffer: support allocate memory in the ringbuffer before actually send

See merge request idf/esp-idf!5252
2019-07-02 08:41:26 +08:00
Ivan Grokhotkov
18bea96bf5 esp32: verify that RTC_NOINIT_ATTR vars are preserved after WDT reset
Related to https://github.com/espressif/esp-idf/issues/2973
2019-07-01 20:55:10 +00:00
Ivan Grokhotkov
16014079f9 Merge branch 'bugfix/add_extern_c_for_sntp' into 'master'
lwip/sntp: Added extern "C"

See merge request idf/esp-idf!5398
2019-07-02 04:45:30 +08:00
Vikram Dattu
4b42f535ed Add mmu pages available check in non-secure image hash check path.
Made MMU pages available check in `esp_image_format.c`
This now makes it possible to map and process bootoader image as well in chunks when image doesn't fit completely into available free pages.

Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2019-07-01 20:04:15 +00:00
Vikram Dattu
da77dcb0be Changed log level for spi_master
There are lot of prints of `Allocate TX buffer for DMA`
Changed these from `ESP_LOGI` to `ESP_LOGD`

Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2019-07-01 20:04:15 +00:00
Vikram Dattu
eb99b27f2e Bugfix: ota fails with secure boot on for image size greater than 3.2MB
When an OTA image size is larger than 50 MMU pages (approx. 3.2 MB), secure_boot_generate fails while trying to map it into memory:
https://gitlab.espressif.cn:6688/idf/esp-idf/blob/master/components/bootloader_support/src/esp32/secure_boot.c#L72
Instead of trying to map the whole image, secure boot code should split the image into chunks and map them one by one, like it is done in esp_image_format.c:
https://gitlab.espressif.cn:6688/idf/esp-idf/blob/master/components/bootloader_support/src/esp_image_format.c#L372

Closes https://jira.espressif.com:8443/browse/IDF-709

Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2019-07-01 20:04:15 +00:00
Ivan Grokhotkov
bca4afb466 Merge branch 'feature/idf_tools_dir_user_facing' into 'master'
IDF Tools directory: user facing changes

Closes IDF-61

See merge request idf/esp-idf!4808
2019-07-02 01:47:16 +08:00
Ivan Grokhotkov
22dfac7405 mconf-idf: update to v4.6.0.0-idf-20190603 2019-07-01 18:08:02 +02:00
Ivan Grokhotkov
4f5f30d37d tools: add fallback tools.json for IDF v3.x 2019-07-01 18:08:02 +02:00
Ivan Grokhotkov
6f5c7a21ac docs: update CMake getting started guide to use install.bat and export.bat 2019-07-01 18:08:02 +02:00
Ivan Grokhotkov
04d24c750a tools: new installer for Windows 2019-07-01 18:08:02 +02:00
Ivan Grokhotkov
12b6da0388 tools: {install,export}.{bat,sh} tools 2019-07-01 14:51:44 +02:00
Ivan Grokhotkov
3d866694c9 tools.json: add idf.py.exe 2019-07-01 14:51:44 +02:00
Ivan Grokhotkov
916c0c5754 idf.py.exe wrapper program for Windows 2019-07-01 14:51:43 +02:00
Ivan Grokhotkov
1a2bf4d8ff idf_tools: print additional info when download verification fails 2019-07-01 14:51:43 +02:00
Jiang Jiang Jian
a831db7ec0 Merge branch 'bugfix/fix_nimble_flake_issue' into 'master'
Fix failure in flake8 due to incorrect NimBLE path

See merge request idf/esp-idf!5415
2019-07-01 19:22:55 +08:00
Hrishikesh Dhayagude
a32534497c Fix failure in flake8 due to incorrect NimBLE path 2019-07-01 19:22:55 +08:00
Jiang Jiang Jian
d4276f2242 Merge branch 'enhancement/move_bt_examples' into 'master'
Bluetooth examples restructuring

See merge request idf/esp-idf!4025
2019-07-01 19:21:57 +08:00
Hrishikesh Dhayagude
cba69dd088 Bluetooth examples restructuring
The existing Bluetooth examples are split as:

1. examples/bluetooth/bluedroid - Bluedroid Host (BT + BLE) examples
   a. examples/bluetooth/bluedroid/classic_bt - Classic BT examples
   b. examples/bluetooth/bluedroid/ble - BLE examples
   c. examples/bluetooth/bluedroid/coex - Classic BT and BLE coex examples
   d. examples/bluetooth/bluedroid/hci - VHCI and HCI UART examples
      i. Rename ble_adv to controller_vhci_ble_adv and move it in hci folder
2. examples/bluetooth/nimble - NimBLE BLE Host + NimBLE Mesh examples
3. examples/bluetooth/esp_ble_mesh - ESP BLE Mesh examples
4. Update documentation references
2019-07-01 19:21:57 +08:00
Angus Gratton
f8d2188e93 Merge branch 'bugfix/win_flash_app_cmd' into 'master'
tools: Accept CTRL-T + A for app-flash in idf_monitor

Closes IDF-736

See merge request idf/esp-idf!5376
2019-07-01 15:51:44 +08:00
Angus Gratton
9ef37270f6 Merge branch 'bugfix/make_ccache_opt_in' into 'master'
cmake: make use of ccache opt-in

See merge request idf/esp-idf!5368
2019-07-01 15:48:31 +08:00
Angus Gratton
e7064df8e7 Merge branch 'bugfix/confgen_windows_command_line' into 'master'
cmake kconfig: Pass environment variables to confgen.py via a file

Closes IDF-711

See merge request idf/esp-idf!5356
2019-07-01 15:26:11 +08:00
Angus Gratton
4ce00a4829 esp32s2beta: Change esp32-s2 wifi library URL to GitHub 2019-07-01 16:53:28 +10:00
Angus Gratton
f1e07663c4 cmake: Use environment variables file for all config binaries 2019-07-01 15:54:27 +10:00
Angus Gratton
26db058339 cmake kconfig: Pass environment variables to confgen.py via a file
Works around "command line too long" errors when using Windows
and CMake < 3.11

Closes IDF-711
2019-07-01 15:54:10 +10:00
Michael (XIAO Xufeng)
687908b1e9 ringbuffer: support to allocate memory on the ringbuffer before send 2019-07-01 11:41:50 +08:00
Michael (XIAO Xufeng)
c5150d16b2 ringbuffer: seperate acquire from send 2019-07-01 11:40:45 +08:00
Angus Gratton
0c8192f3be Merge branch 'feature/mconf_simple_expand' into 'master'
mconf-idf: Use same 'simple expand' logic, same as kconfig-frontends

See merge request idf/esp-idf!5390
2019-07-01 10:33:35 +08:00
Angus Gratton
bd69998516 mconf-idf: Use same 'simple expand' logic, same as kconfig-frontends
Previously, wordexp() was used. However for providing Windows builds
of mconf-idf we can't use wordexp() so we use this simplified
environment variable expansion code instead.

The reasoning here is to make the behaviour consistent across Windows
(CMake vs GNU Make), Linux & macOS mconf.
2019-07-01 00:38:55 +00:00
Jiang Jiang Jian
70474ae844 Merge branch 'feature/btdm_avrcp_volume' into 'master'
components/bt: Add AVRCP feature about volume

See merge request idf/esp-idf!5209
2019-06-30 16:40:10 +08:00
Jiang Jiang Jian
f1b8723996 Merge branch 'refactor/new_bt_component' into 'master'
Bluetooth component refactoring

See merge request idf/esp-idf!5366
2019-06-30 16:39:01 +08:00
Hrishikesh Dhayagude
21165edf41 Bluetooth component refactoring 2019-06-30 16:39:00 +08:00
Jiang Jiang Jian
66e333e352 Merge branch 'feature/move_supplicant_to_idf_new' into 'master'
supplicant/wifi: move supplicant to idf

Closes IDFGH-1233 and WIFI-392

See merge request idf/esp-idf!5219
2019-06-30 14:02:22 +08:00
baohongde
30d7002731 components/bt: Add AVRCP feature about volume 2019-06-30 03:46:15 +00:00
Jiang Jiang Jian
e2b88207b4 Merge branch 'feature/esp32s2beta_wifi' into 'feature/esp32s2beta'
run WiFi on ESP32SBETA

See merge request idf/esp-idf!5293
2019-06-30 00:40:34 +08:00
Deng Xin
c139683024 supplicant/esp_wifi: move supplicant to idf
Move supplicant to idf and do following refactoring:
1. Make the folder structure consitent with supplicant upstream
2. Remove duplicated header files and minimize the public header files
3. Refactor for WiFi/supplicant interfaces
2019-06-29 22:46:52 +08:00
Renz Christian Bagaporo
72a5762525 cmake: make use of ccache opt-in 2019-06-29 00:22:57 +00:00
Ivan Grokhotkov
39a5fbdfee Merge branch 'bugfix/idf_py_fix_subcommand_options' into 'master'
idf.py: Fix subcommand options

Closes IDF-740

See merge request idf/esp-idf!5386
2019-06-29 00:15:13 +08:00
Ivan Grokhotkov
dcd5e9cf08 Merge branch 'bugfix/ci_fix_mirror-submodule-update' into 'master'
tools: Keep script behaviour

See merge request idf/esp-idf!5362
2019-06-28 23:57:14 +08:00
Renz Christian Bagaporo
4848dfa710 esptool_py: use component property to simplify arg file generation
esptool_py used to create its own custom target to attach properties to.
This commit uses component properties instead, and the APIs used to set
and retrieve those properties in order to simplify generation of
argument files to esptool.py.
2019-06-28 18:14:25 +08:00
Angus Gratton
c165335554 Merge branch 'bugfix/make_V_flag' into 'master'
gnu make: Make V= behaviour consistent with V=0

Closes IDFGH-1175

See merge request idf/esp-idf!5334
2019-06-28 16:39:44 +08:00
Sergei Silnov
56db269fb5 idf.py: Fix subcommand options 2019-06-28 10:07:38 +02:00
Angus Gratton
265d7dc4e5 Merge branch 'bugfix/fix_secure_boot_support' into 'master'
Fixes to secure boot support in CMake

See merge request idf/esp-idf!4977
2019-06-28 15:38:59 +08:00
Angus Gratton
d9ca915fa4 Merge branch 'bugfix/cmake_project_vars_not_set_by_redefinition' into 'master'
cmake: set variables set by project call

See merge request idf/esp-idf!5187
2019-06-28 15:31:10 +08:00
Kerry Jones
28d79e242f lwip/sntp: Added extern "C"
so that sntp_set_time_sync_notification_cb can be used from c++

Signed-off-by: Konstantin Kondrashov <konstantin@espressif.com>

Merges: https://github.com/espressif/esp-idf/pull/3700
2019-06-28 14:51:28 +08:00
Angus Gratton
d96379ba0f Merge branch 'feature/nvs_util_decryption' into 'master'
nvs_util: Add NVS decryption feature + Optimisations

See merge request idf/esp-idf!5003
2019-06-28 13:07:24 +08:00
Xia Xiaotian
99ef587a05 run WiFi on ESP32SBETA 2019-06-28 11:34:49 +08:00
Jiang Jiang Jian
936720d3ef Merge branch 'feature/add_limitation_for_max_tx_power' into 'master'
esp_wifi: add limitation for setting maximum WiFi TX power

See merge request idf/esp-idf!5331
2019-06-28 11:18:11 +08:00
Anton Maklakov
e5de1991d4 tools: Keep script behaviour 2019-06-28 10:05:31 +07:00
Renz Christian Bagaporo
67909fe2a0 ci: test fail on build time works 2019-06-28 10:54:21 +08:00
Renz Christian Bagaporo
e4a4063e4c cmake: fix issue with fail at build time
Fix issue that next build retry does not succeed once the requirement is
satisfied.
2019-06-28 10:54:21 +08:00
Renz Christian Bagaporo
60a77bea7d docs: remove secure boot and flash encryption from CMake pending features 2019-06-28 10:54:21 +08:00
Renz Christian Bagaporo
3ae69484fe esptool_py: do not generate flasher arg files on bootloader build 2019-06-28 10:54:21 +08:00
Renz Christian Bagaporo
9edc867c62 bootloader: fix secure boot issues
Do not include bootloader in flash target when secure boot is enabled.
Emit signing warning on all cases where signed apps are enabled (secure
boot and signed images)
Follow convention of capital letters for SECURE_BOOT_SIGNING_KEY variable, since it is
relevant to other components, not just bootloader.
Pass signing key and verification key via config, not requiring
bootloader to know parent app dir.
Misc. variables name corrections
2019-06-28 10:54:21 +08:00
Renz Christian Bagaporo
179259f195 components: restore dependency of extra bins on flash target 2019-06-28 10:50:52 +08:00
Renz Christian Bagaporo
f332e0c1d6 partition_table: move establishing dependencies to respective components
partition_table: move establishing dependencies to respective components
2019-06-28 10:50:52 +08:00
Renz Christian Bagaporo
6a18eaeaf5 esptool_py: fix issue with variable for esptool args
elf2image-only arguments are being added to esptool args meant for
flashing
2019-06-28 10:50:52 +08:00
Renz Christian Bagaporo
2adf313838 bootloader_support: move embedding key after component registration
Bootloader build requires verification key to be embedded in the binary.
Under specific configs, this key is generated during build time from the
signing key. Move the key generation to after the component
registration, since non scriptable commands are used in the process
(during early expansion)
2019-06-28 10:50:52 +08:00
Ivan Grokhotkov
13d9c483b3 Merge branch 'bugfix/i2s_apll_clock_fix' into 'master'
driver/i2s: fix apll_clock_rate for different sample rates

See merge request idf/esp-idf!5159
2019-06-28 03:49:11 +08:00
Ivan Grokhotkov
d7d91225d3 Merge branch 'feature/refactor_etherent_driver' into 'master'
add esp_eth component

Closes IDF-324, IDF-637, and IDFGH-1139

See merge request idf/esp-idf!5111
2019-06-28 03:44:44 +08:00
Angus Gratton
131978d707 Merge branch 'feature/esp_flash_init_functions' into 'master'
esp_flash: add initialization interface for SPI devices

See merge request idf/esp-idf!5306
2019-06-27 20:59:44 +08:00
Ivan Grokhotkov
1352ada4e0 Merge branch 'bugfix/bootloader_header_cxx_guards' into 'master'
bootloader_support: Add C++ header guards

See merge request idf/esp-idf!5349
2019-06-27 19:31:56 +08:00
Roland Dobai
f56b7d4a1d tools: Accept CTRL-T + A for app-flash in idf_monitor
"CTRL-A" cannot be captured in Windows command line, so "A" can be used
instead.
2019-06-27 12:21:09 +02:00
liu zhifu
5d855fcdef esp_wifi: add limitation for setting maximum WiFi TX power
Limit the WiFi TX power range to 10dBm ~ 20.5 dBm
2019-06-27 17:28:59 +08:00
Mahavir Jain
5a12be5162 Merge branch 'bugfix/pc_ble_prep_buf_memcpy' into 'master'
protocomm_ble : Bugfix for unbound memcpy on prepare write buffer

Closes IDFGH-1350

See merge request idf/esp-idf!5284
2019-06-27 16:48:11 +08:00
Jiang Jiang Jian
45364fe54e Merge branch 'bugfix/btdm_fail_to_config_url_in_eir' into 'master'
components/bt: Fix fail to config URL in EIR

See merge request idf/esp-idf!5352
2019-06-27 14:27:35 +08:00
Shivani Tipnis
3636e75792 nvs_util: Add NVS decryption feature 2019-06-27 11:51:58 +05:30
Michael (XIAO Xufeng)
d6bd24ca67 esp_flash: add initialization interface for SPI devices 2019-06-27 13:27:27 +08:00
Michael (XIAO Xufeng)
65c0d354e4 spi_common: add interface to get whether the bus is on IOMUX 2019-06-27 13:27:27 +08:00
Michael (XIAO Xufeng)
b76ab9142d spi_common: deprecate some public APIs 2019-06-27 13:27:26 +08:00
Michael (XIAO Xufeng)
28b2e113ca spi_master: move the spi_bus_init function into common header 2019-06-27 13:27:26 +08:00
Michael (XIAO Xufeng)
9805902482 sdio_slave: fix the send_flush infinite loop issue
Also add some helper functions.
2019-06-27 13:24:22 +08:00
Angus Gratton
e6d229d301 Merge branch 'feature/ringbuffer_static_allocation' into 'master'
Ringbuffers: Add static allocation, refactor, and update API reference

Closes IDFGH-639 and IDFGH-902

See merge request idf/esp-idf!4426
2019-06-27 13:20:01 +08:00
Angus Gratton
80abb531b5 Merge branch 'feature/remove_mbedtls_cmake_workarounds' into 'master'
mbedtls: remove component CMake file workarounds

Closes #78

See merge request idf/esp-idf!5341
2019-06-27 13:19:42 +08:00
Angus Gratton
8726676a82 Merge branch 'feature/idf_py_add_positional_args_to_subcommands' into 'master'
idf.py: Make subcommand arguments more flexible

See merge request idf/esp-idf!5198
2019-06-27 13:18:59 +08:00
Angus Gratton
5d0eb95130 Merge branch 'bugfix/cmake_esptool_args_path' into 'master'
esptool+cmake: Fix path generation for args.in2 file

Closes IDFGH-1409

See merge request idf/esp-idf!5353
2019-06-27 13:12:26 +08:00
Angus Gratton
83ba2e082c esptool+cmake: Fix path generation for args.in2 file
Path was accidentally generated as build/<absolute path to input file> which creates unexpected path structure on Linux/macOS and breaks Windows (as can't have a directory named "C:".

Regression in e8582e9aa4

Closes https://github.com/espressif/esp-idf/issues/3687
Closes IDFGH-1409
2019-06-27 14:19:03 +10:00
Jiang Jiang Jian
bbafd50662 Merge branch 'bugfix/bt_typo' into 'master'
Fix typo from the commit "Reduce the size of DRAM"

See merge request idf/esp-idf!5347
2019-06-27 10:48:47 +08:00
Hrishikesh Dhayagude
917589e784 Fix typo from the commit "Reduce the size of DRAM" 2019-06-27 10:48:47 +08:00
Krzysztof Budzynski
6ad2a948cc Merge branch 'doc/add_Chinese_translation_for_power_management_in_api_references' into 'master'
Add Chinese translation to api-reference/system/power-management.rst

See merge request idf/esp-idf!5265
2019-06-26 20:42:57 +08:00
Wang Fang
32954e5f90 Add Chinese translation to api-reference/system/power-management.rst
1. Add translation to docs/zh_CN/api-reference/system/power_management.rst
2. Add a link to docs/en/api-reference/system/power_management.rst
2019-06-26 20:42:56 +08:00
Krzysztof Budzynski
74e4554a74 Merge branch 'doc/add_Chinese_translation_for_external-ram_in_api-guides' into 'master'
Add Chinese translation for exteral-ram.rst in api-guides:

See merge request idf/esp-idf!5078
2019-06-26 19:59:21 +08:00
Wang Fang
9fbb27b194 Add Chinese translation for exteral-ram.rst in api-guides:
- The draft should be first reviewed by Technical Reviewers;
- Then by Language Reviewer.
2019-06-26 19:59:21 +08:00
Jiang Jiang Jian
4fc411e744 Merge branch 'bugfix/btdm_fix_hci_enhance_conn_complete_evt_unpack_error' into 'master'
component/bt: fix hci enhance connection complete event unpack error

See merge request idf/esp-idf!4889
2019-06-26 16:45:39 +08:00
Michael (XIAO Xufeng)
1c69db44c9 Merge branch 'feature/support_spi_driver_esp32s2beta' into 'feature/esp32s2beta'
spi: support new chip esp32s2beta

See merge request idf/esp-idf!5224
2019-06-26 16:45:02 +08:00
Renz Christian Bagaporo
0872efa4ef mbedtls: remove component CMake file workarounds 2019-06-26 08:41:02 +00:00
Darian Leung
8a597b865f esp_ringbuf: Add static allocation, refactor, and update API reference
This commit updates does the following:
    - xRingbufferCreateStatic() added to allow ringbuffers via to be statically
      allocated. Docs and unit tests update accordingly. Closes #3064

    - Fix doc typos, closes #3248. Updated API reference regarding to mention
      item size limits of no-split buffers when calling
      xRingbufferGetCurFreeSize() or xRingbufferGetMaxItemSize(), closes #3117.

    - Remove the following deprecated types/functions for v4.0
        - xRingbufferIsNextItemWrapped()
        - xRingbufferAddToQueueSetWrite()
        - xRingbufferRemoveFromQueueSetWrite()
2019-06-26 16:04:38 +08:00
Jiang Jiang Jian
291e25baa6 Merge branch 'bugfix/btdm_add_readme_for_BLE_demos' into 'master'
Component/bt: add readme doc for BLE demos

See merge request idf/esp-idf!4890
2019-06-26 16:04:28 +08:00
Sergei Silnov
aecd0f9ae4 Add subcomand options that become global 2019-06-26 10:00:21 +02:00
Sergei Silnov
afc30b09bc idf.py: Add positional arguments to subcommands 2019-06-26 10:00:21 +02:00
Angus Gratton
8dc8dd5689 Merge branch 'feature/sntp_update_delay' into 'master'
sntp/l_ip: Add SNTP_UPDATE_DELAY option in Kconfig

Closes IDFGH-337

See merge request idf/esp-idf!5271
2019-06-26 15:54:25 +08:00
Jiang Jiang Jian
bd89b69daa Merge branch 'feature/btdm_add_ble_ancs_demo' into 'master'
Component/bt: add ble ancs demo

See merge request idf/esp-idf!4688
2019-06-26 15:50:06 +08:00
Angus Gratton
22ed1ec43a Merge branch 'feature/fatfs_r013cp4' into 'master'
FatFS: update to R0.13c patch 4

Closes IDF-698, IDFGH-1012, and IDFGH-1017

See merge request idf/esp-idf!5297
2019-06-26 15:15:41 +08:00
Mahavir Jain
ad62b2b8c0 Merge branch 'feature/prov_wifi_scan_list' into 'master'
Wi-Fi Provisioning  : Feature Wi-Fi Scan List

See merge request idf/esp-idf!4855
2019-06-26 14:53:04 +08:00
baohongde
84e9e243d0 components/bt: Fix connect fail with some speakers 2019-06-26 14:50:13 +08:00
Jiang Jiang Jian
1a34d65e4c Merge branch 'bugfix/btdm_intr_wdt_after_controller_disable_then_enable' into 'master'
bugfix/btdm_intr_wdt_after_controller_disable_then_enable

See merge request idf/esp-idf!5301
2019-06-26 14:05:48 +08:00
Anurag Kar
9c0ee28670 wifi_provisioning : Added Wi-Fi Scan list feature to Provisioning Manager
List of changes in components/wifi_provisioning:
* Manager version is now v1.1
* .proto files and protocomm handler added for sending Wi-Fi scan command and receiving scan results
* Implemented handlers for wifi_scan protocomm endpoint
* Update manager context data structure to hold scan state and results
* scheme_softap now runs Wi-Fi in APSTA mode
* Wi-Fi is started in AP mode when provisioning is started. This is necessary for scan list to work
* Docs updates with information about new wifi_scan endpoint

List of changes in tools/esp_prov:
* Added functions for sending and receiving protobuf messages compatible with wifi_scan protocomm endpoint
* Added feature to display/refresh scan results and accept user selection at runtime
* New functions:
  * get_version() : only returns the protocol version string
  * has_capability() : check is a capability is present according to proto-ver response
* wifi_scan feature is provided only if the `wifi_scan` capability is present

Other changes:
* Replace recursive mutex with plain mutex
* assert on return value of mutex give / take calls
* replace all calls with macros ACQUIRE_LOCK and RELEASE_LOCK
* some checks added in scanning related private APIs
* free and nullify scanning context and state if service is stopped while ongoing scan
2019-06-26 05:24:20 +00:00
baohongde
79ba509384 components/bt: Fix fail to config URL in EIR 2019-06-26 11:58:41 +08:00
suda-morris
90c4827bd2 add esp_eth component 2019-06-26 10:19:23 +08:00
Angus Gratton
12f4541f19 Merge branch 'bugfix/stdoutflush' into 'master'
Stdoutflush: Flushing stdout to avoid issues with 64k char limits

See merge request idf/esp-idf!4698
2019-06-26 10:07:41 +08:00
Angus Gratton
c8570ffa6d bootloader_support: Add C++ header guards
As reported on forum https://esp32.com/viewtopic.php?f=13&t=11173&p=45470
2019-06-26 11:26:56 +10:00
Angus Gratton
2c26eb2213 Merge branch 'feature/flash_encryption' into 'master'
Change flash encryption workflow to development / release

See merge request idf/esp-idf!4125
2019-06-26 09:04:03 +08:00
Angus Gratton
ba94bbf1f8 Merge branch 'bugfix/esp_https_ota_heap_failure' into 'master'
HTTPS OTA: Removed unnecessary free()

See merge request idf/esp-idf!5048
2019-06-26 09:03:16 +08:00
Angus Gratton
af430adb34 Merge branch 'feature/esp_tls_server' into 'master'
esp_tls: Add support for server side SSL/TLS connection

See merge request idf/esp-idf!5091
2019-06-26 09:03:08 +08:00
Kondal Kolipaka
9550176f83 Addressing PR comments 2019-06-26 00:42:13 +00:00
Kondal Kolipaka
bc48a9c92f Stdoutflush: Flushing stdout to avoid issues with 64k char limits 2019-06-26 00:42:13 +00:00
Angus Gratton
c404f8b6e9 Merge branch 'feature/upgrade_mbedtls_to_v2.16.1' into 'master'
mbedtls: upgrade to v2.16.2 release

Closes IDF-664

See merge request idf/esp-idf!5130
2019-06-26 08:40:43 +08:00
Angus Gratton
2b521bba1c Merge branch 'feature/ci_relative_submodules' into 'master'
ci: Use relative submodules and a new cleaning working tree feature

See merge request idf/esp-idf!4877
2019-06-26 08:34:42 +08:00
Jitin George
cdecb67d66 example/https_server: Add default sdkconfig 2019-06-25 23:43:35 +00:00
Jitin George
a8ebde227f esp_https_server: Add support for esp-tls server APIs 2019-06-25 23:43:35 +00:00
Jitin George
8950f94ec7 esp_tls: Add support for server side SSL/TLS connection
Currently, esp-tls supports creation of SSL/TLS connection on the client side.

This commit includes support for creating SSL/TLS connection on the server side.
2019-06-25 23:43:35 +00:00
Jitin George
a2b5a93881 example/simple_ota_example: Fix python formatting and KConfig 2019-06-25 23:41:33 +00:00
Jitin George
83a4e4656f example/simple_ota_example: Add support for skipping OTA server certificate CN field 2019-06-25 23:41:33 +00:00
Jitin George
ab6dd36243 esp_http_client: Add support to disable validation of certificate's CN field 2019-06-25 23:41:33 +00:00
Jitin George
c536c8fa5f tcp_transport: Add API to allow skipping of certificate CN validation 2019-06-25 23:41:33 +00:00
Jitin George
9fa23bc599 example/simple_ota_example: Add example test 2019-06-25 23:41:33 +00:00
Gregory Eslinger
7fbedb1ba3 esp_https_ota: Removed unnecessary free()
Closes https://github.com/espressif/esp-idf/issues/3504

Merges https://github.com/espressif/esp-idf/pull/3513

Signed-off-by: Jitin George <jitin@espressif.com>
2019-06-25 23:41:33 +00:00
Hemal Gujarathi
a68c7c21e1 Improve flash encryption documentation and add Development & Release modes
This MR improves existing flash encryption document to provide simplified steps
Adds two new modes for user: Development & Release
Adds a simple example
Supports encrypted write through make command
2019-06-25 23:41:18 +00:00
Anurag Kar
eb5cc203f9 protocomm_ble : Bugfix for unbound memcpy on prepare write buffer
Closes https://github.com/espressif/esp-idf/issues/3633
2019-06-25 19:58:19 +00:00
Anton Maklakov
008ad9af47 ci: Use relative submodule URLs over IDF. Correct CI accordindly
Clean up `before_script`s

    Update `check_submodule_sync`

    Remove tools/ci/mirror* stuff
2019-06-25 22:24:45 +07:00
Anton Maklakov
3b3b891282 ci: Remove unused IS_PRIVATE and IS_PUBLIC environment 2019-06-25 22:24:45 +07:00
He Yin Ling
beaefd3359 Merge branch 'feature/add_nimble_ssc' into 'master'
test: modify test cases for bluedroid

See merge request idf/esp-idf!5208
2019-06-25 23:14:32 +08:00
Chen Sheng
f14563a47d test: modify test cases for bluedroid 2019-06-25 23:14:32 +08:00
Ivan Grokhotkov
dbe3221969 fatfs: reduce rawflash tests run time
Don't flash fatfs.img on every test run. Comparing the content is
faster than flashing.
2019-06-25 23:07:07 +08:00
Ivan Grokhotkov
8f6606141a fatfs: create separate ffsystem.c for host side testing 2019-06-25 23:07:07 +08:00
Ivan Grokhotkov
66bdeca603 fatfs: update diskio and vfs for FatFS changes
- do to not rely on integer.h types
- ffsystem.c does not define ff_memcalloc, replace with ff_memalloc +
  memset.
2019-06-25 23:05:16 +08:00
Ivan Grokhotkov
7724df407a fatfs: update to R0.13c patch 4
Breaking change: integer.h does not exist in FatFS anymore
2019-06-25 23:05:16 +08:00
Ivan Grokhotkov
e181a40c9f fatfs: separate IDF-specific files from the original FatFS code
This is a breaking change: applications which used diskio.h to
call ff_diskio_register, will now need to include diskio_impl.h.
Including diskio.h will include the original diskio.h header from
FatFS library.
2019-06-25 23:05:16 +08:00
Ivan Grokhotkov
4ea12d432e Merge branch 'bugfix/fix_ble_examples_build' into 'master'
Fix build issues

See merge request idf/esp-idf!5343
2019-06-25 23:04:34 +08:00
Renz Christian Bagaporo
82858050b6 ci: sort list of flake8 submodule excludes 2019-06-25 20:18:36 +08:00
Renz Christian Bagaporo
94b88654a3 ci: exclude nimble submodule from python style check 2019-06-25 20:12:35 +08:00
morris
5e7552cb67 Merge branch 'bugfix/esp32s2beta_fix_compile_error_related_esp_rom_spiflash' into 'feature/esp32s2beta'
bugfix(esp_rom): add two APIs into esp32beta.rom.spiflash.ld to fix compile error

See merge request idf/esp-idf!5318
2019-06-25 16:58:50 +08:00
Renz Christian Bagaporo
31ec634730 bt: fix build issue
Source files and include directories were appended to variables
used by the previous component registration command.
2019-06-25 16:53:37 +08:00
Angus Gratton
f55ace596b Merge branch 'fix/update_curr_page_state' into 'master'
nvs_util: Set previous page state to full before creating new page

See merge request idf/esp-idf!5325
2019-06-25 14:21:25 +08:00
Angus Gratton
9bca2f878a Merge branch 'feature/gcc_8_msys_update_simple' into 'master'
update MSYS package for esp32-2019r1 toolchain

See merge request idf/esp-idf!5199
2019-06-25 14:14:08 +08:00
Angus Gratton
a54a3fc92e Merge branch 'bugfix/idfpy_print_filter' into 'master'
tools: Port the filtering option of IDF Monitor to the idf.py toolchain

Closes IDF-543

See merge request idf/esp-idf!4416
2019-06-25 13:36:03 +08:00
Angus Gratton
9a412d3a08 Merge branch 'feature/use_new_component_registration_apis' into 'master'
Use new component registration API

See merge request idf/esp-idf!4898
2019-06-25 10:24:11 +08:00
Angus Gratton
9d573c65dc Merge branch 'bugfix/legacy_header_bootloader_build' into 'master'
bootloader: pass legacy header config variable to subproject

See merge request idf/esp-idf!4966
2019-06-25 10:23:33 +08:00
Angus Gratton
391eba07e4 Merge branch 'bugfix/kconfig_source_comment' into 'master'
tools: Fix Kconfig checker for comments and source after help

See merge request idf/esp-idf!5275
2019-06-25 10:22:12 +08:00
Angus Gratton
9845a41315 Merge branch 'feature/nimble' into 'master'
Port NimBLE Host Stack on ESP-IDF

See merge request idf/esp-idf!5182
2019-06-25 09:03:58 +08:00
Hrishikesh Dhayagude
342f6a7829 Port NimBLE Host Stack on ESP-IDF 2019-06-25 09:03:58 +08:00
Shivani Tipnis
1f9f39fe46 nvs_util: Set previous page state to full before creating new page 2019-06-24 13:53:51 +00:00
Krzysztof Budzynski
dff5254085 Merge branch 'doc/review_api-ref_periph-sdmmc-host' into 'master'
Review the file api-reference/peripherals/sdmmc_host.rst

See merge request idf/esp-idf!5261
2019-06-24 21:46:12 +08:00
Kirill Chalov
4db4402bed Review the file api-reference/peripherals/sdmmc_host.rst 2019-06-24 21:46:11 +08:00
Angus Gratton
396131433a Merge branch 'feature/idf_size_json' into 'master'
idf_size: Support JSON output

Closes IDF-264

See merge request idf/esp-idf!4987
2019-06-24 19:06:12 +08:00
Angus Gratton
a60b1428d5 gnu make: Make V= behaviour consistent with V=0
Previously, V=0 would print some verbose lines but not most of them.

This meant that it was impossible to disable all verbose output
when BATCH_BUILD=1

Closes https://github.com/espressif/esp-idf/issues/3488
2019-06-24 21:01:12 +10:00
Angus Gratton
5cb71b5213 Merge branch 'feature/add_doc_about_app_desc_t' into 'master'
docs: Add description about the app image

Closes IDF-597

See merge request idf/esp-idf!4912
2019-06-24 18:40:02 +08:00
zhiweijian
6559f935ce component/bt: fix unpack hci enhance connection complete event error 2019-06-24 07:05:01 +00:00
Jiang Jiang Jian
f4eb3ddfee Merge branch 'feature/ble_mesh_feature' into 'master'
component/ble_mesh: Add BLE Mesh Stack onto ESP-IDF

See merge request idf/esp-idf!4079
2019-06-24 14:31:23 +08:00
Mahavir Jain
adfe16d928 mbedtls: upgrade to v2.16.2 release
For detailed release notes please refer to:
https://github.com/ARMmbed/mbedtls/releases/tag/mbedtls-2.16.2
2019-06-24 06:02:59 +00:00
Konstantin Kondrashov
12a7d39ed6 docs: Add description 2019-06-24 12:33:33 +08:00
Island
fc3253163e component/ble_mesh: ESP BLE Mesh release
1. BLE Mesh Core

* Provisioning: Node Role
    * Advertising and GATT bearer
    * Authentication OOB

* Provisioning: Provisioner Role
    * Advertising and GATT bearer
    * Authentication OOB

* Networking
    * Relay
    * Segmentation and Reassembly
    * Key Refresh
    * IV Update

* Proxy Support

* Multiple Client Models Run Simultaneously
    * Support multiple client models send packets to different nodes simultaneously
    * No blocking between client model and server

* NVS Storage
    * Store Provisioning Data of BLE Mesh Nodes in Flash

2. BLE Mesh Applications

* BLE Mesh Node & Provisioner
    * Node Example
    * Provisioner Example
    * Node + Generic OnOff Client Example

* Fast Provisioning
    * Vendor Fast Prov Server Model
    * Vendor Fast Prov Client Model
    * Examples

* Wi-Fi & BLE Mesh Coexistence
    * Example

* BLE Mesh Console Commands
    * Example

3. BLE Mesh Models

* Foundation Models
    * Configuration Server Model
    * Configuration Client Model
    * Health Server Model
    * Health Client Model

* Generic Client Models
    * Generic OnOff Client
    * Generic Level Client
    * Generic Location Client
    * Generic Default Transition Timer Client
    * Generic Power OnOff Client
    * Generic Power Level Client
    * Generic Battery Client
    * Generic Property Client

* Generic Server Models
    * Generic OnOff Server (Example)

* Lighting Client Models
    * Light Lightness Client
    * Light CTL Client
    * Light HSL Client
    * Light xyL Client
    * Light LC Client

* Sensor Client Model
    * Sensor Client

* Time and Scenes Client Models
    * Time Client
    * Scene Client
    * Scheduler Client
2019-06-24 11:31:24 +08:00
Jiang Jiang Jian
2b808fc19a Merge branch 'feature/btdm_add_gattc_gatts_coex_example' into 'master'
Component/bt: add gattc and gatts coex example

See merge request idf/esp-idf!5087
2019-06-24 11:23:30 +08:00
Jiang Jiang Jian
1b12e6e97d Merge branch 'refactor/bluedroid' into 'master'
Refactor/bluedroid

See merge request idf/esp-idf!4027
2019-06-24 11:07:53 +08:00
Krzysztof Budzynski
61ccb538fd Merge branch 'doc/review_ext_ram' into 'master'
Review the file api-guides/external-ram.rst

See merge request idf/esp-idf!5156
2019-06-24 08:24:45 +08:00
Kirill Chalov
32c3730c33 Review the file api-guides/external-ram.rst 2019-06-24 08:24:44 +08:00
Krzysztof Budzynski
19e89d0e2f Merge branch 'doc/review_modules-and-boards' into 'master'
Review the file hw-reference/modules-and-boards.rst

See merge request idf/esp-idf!5157
2019-06-24 08:22:43 +08:00
Kirill Chalov
752c7c32d4 Review the file hw-reference/modules-and-boards.rst 2019-06-24 08:22:43 +08:00
Michael (XIAO Xufeng)
fcf4502c6b spi_example: fix the example to pass in esp32s2beta 2019-06-23 12:17:27 +08:00
Michael (XIAO Xufeng)
17378fd4c2 spi: support new chip esp32s2beta 2019-06-23 12:17:27 +08:00
Michael (XIAO Xufeng)
93ef3980e7 spi: fix cmakelists missing 2019-06-22 19:09:06 +08:00
Michael (XIAO Xufeng)
eacae2e982 spi_slave: fix a example issue caused by word alignment 2019-06-22 19:09:00 +08:00
Michael (XIAO Xufeng)
9b13a04abf spi: multichip support
move hardcoded numbers, etc. into soc files.
create headers for shared types which needs to be documented.

(MINOR CHANGE)
2019-06-22 19:08:47 +08:00
chenjianqiang
fd8b526f7c add two APIs into esp32beta.rom.spiflash.ld to fix compile error
When config flash mode as QIO mode, the error that esp_rom_spiflash_wait_idle
and esp_rom_spiflash_config_readmode are undefined happens when compile, so
add these two APIs to fix the error.
2019-06-21 21:50:48 +08:00
Krzysztof Budzynski
b31ab65fa5 Merge branch 'doc/review_api-ref_periph-touchpad' into 'master'
Review the file api-reference/peripherals/touch_pad.rst

See merge request idf/esp-idf!5259
2019-06-21 20:43:18 +08:00
Kirill Chalov
1096ee4b57 Review the file api-reference/peripherals/touch_pad.rst 2019-06-21 20:43:17 +08:00
Renz Christian Bagaporo
9b350f9ecc cmake: some formatting fixes
Do not include bootloader in flash target when secure boot is enabled.
Emit signing warning on all cases where signed apps are enabled (secure
boot and signed images)
Follow convention of capital letters for SECURE_BOOT_SIGNING_KEY
variable, since it is
relevant to other components, not just bootloader.
Pass signing key and verification key via config, not requiring
bootloader to know parent app dir.
Misc. variables name corrections
2019-06-21 19:53:29 +08:00
Renz Christian Bagaporo
047cf71c01 tools: update make converter to use new component registration api 2019-06-21 19:53:29 +08:00
Renz Christian Bagaporo
e9bc46db71 tools: use new component registration api for unit test app 2019-06-21 19:53:29 +08:00
Renz Christian Bagaporo
6771eead80 examples: use new component registration api 2019-06-21 19:53:29 +08:00
Renz Christian Bagaporo
9eccd7c082 components: use new component registration api 2019-06-21 19:53:29 +08:00
Renz Christian Bagaporo
e8582e9aa4 esptool_py: use passed offset and image when template is given
esptool_py defines command `esptool_py_flash_project_args` that
generates arg file for esptool.py. Two of the arguments are the offset
and image, which are not being used when a template file is given.
This commit makes variables OFFSET and IMAGE available to the template
file, which will holds the value of the offset and image arguments to
`esptool_py_flash_project_args`.
2019-06-21 19:48:41 +08:00
Konstantin Kondrashov
0ed590640e bootloader: Move some structs to separated file
Moved structures which describe the app image to separated file.

Closes: IDF-597
2019-06-21 18:43:27 +08:00
Angus Gratton
d1da76e369 Merge branch 'bugfix/misc_cmake_changes' into 'master'
Follow up CMake changes/fixes

See merge request idf/esp-idf!5267
2019-06-21 13:27:55 +08:00
Angus Gratton
934a1a3223 Merge branch 'feature/add_ability_to_specify_spiffsgen_dependencies' into 'master'
Add ability to specify dependencies for spiffsgen

See merge request idf/esp-idf!4933
2019-06-21 13:27:35 +08:00
Angus Gratton
bd9590502c Merge branch 'bugfix/spi_flash_remove_include_chain_in_host_drv' into 'master'
esp_flash: support C++ and improve the document

See merge request idf/esp-idf!5287
2019-06-21 13:12:09 +08:00
Angus Gratton
8aa6fb241d Merge branch 'bugfix/malloc_warnings_mdns' into 'master'
mdns: fix static analysis warnings

See merge request idf/esp-idf!5143
2019-06-21 13:10:06 +08:00
baohongde
149e07911d components/bt: Optimization and bugfix of previous commits 2019-06-21 11:55:45 +08:00
Angus Gratton
e2b8f4c6ae Merge branch 'feature/docs_for_updated_idf_argparsing' into 'master'
docs: Update order of arguments for idf.py and add click linux package

Closes IDF-501

See merge request idf/esp-idf!5166
2019-06-21 11:42:59 +08:00
Renz Christian Bagaporo
c65038fd74 spiffs,make: change spiffsgen build API 2019-06-21 10:58:40 +08:00
Renz Christian Bagaporo
e0a652f164 spiffs: add ability to specify dependencies when dirs themselves are generated 2019-06-21 10:48:34 +08:00
Angus Gratton
c2a9785fa9 Merge branch 'feature/netif_custom_name' into 'master'
Allow setting netif hostname via lw/ip component config menu item (IDFGH-1342)

See merge request idf/esp-idf!5262
2019-06-21 08:41:59 +08:00
Angus Gratton
e56d4eff9a Merge branch 'feature/example_ethernet2wifi_ap' into 'master'
add ethernet to wifi-ap example

See merge request idf/esp-idf!5053
2019-06-21 08:31:44 +08:00
Ajita Chavan
070b86eee5 i2s: test case for variation in apll clock rate 2019-06-20 16:40:58 +00:00
redchenjs
430d9c6fba i2s: fix a bug when calculating i2s apll parameters
Closes https://github.com/espressif/esp-idf/issues/2634
Closes https://github.com/espressif/esp-idf/issues/3380
Fixes https://github.com/espressif/esp-idf/issues/3407
2019-06-20 16:40:58 +00:00
suda-morris
813c9dcf22 ethernet: add eth2ap example
This example illustrates how to do Layer2 packet forwarding bussiness between Wi-Fi and Ethernet.
2019-06-20 22:12:56 +08:00
He Yin Ling
53fd406f53 Merge branch 'test/fix_some_error_wifi_cases' into 'master'
test: fix some wifi case issues

See merge request idf/esp-idf!5226
2019-06-20 22:05:16 +08:00
David Cermak
4bd4c7caf3 mdns: fix ignoring mdns packet with some invalid name entries in question field
In case of invalid name entry, only this entry is invalidated and parsing continues as other query entries could contain questions to be responded to
2019-06-20 14:25:12 +02:00
Angus Gratton
126b687c75 Merge branch 'refactor/vfs_uart_multichip_support' into 'master'
vfs_uart & uart: add multichip support

See merge request idf/esp-idf!5298
2019-06-20 18:31:24 +08:00
wangmengyang
f2e6ba8701 component/bt: clear BT/BLE interrupts after controller_disable to overwrite the default non-zero value of intcntl registers 2019-06-20 17:40:55 +08:00
baohongde
8024fcb296 components/bt: Add more functions for memory debug. 2019-06-20 17:12:04 +08:00
Tian Hao
2ad65bb434 Support timeout of fixed_queue and osi_thread
1. remove fixed_queue_try_dequeue and fixed_queue_try_enqueue,
2. add timeout parameter for fixed_queue_enqueue and fixed_queue_dequeue
3. replace where call fixed_queue_try_dequeue/enqueue to fixed_queue_dequeue/enqueue(..., timeout = 0)
4. replace where call fixed queue_enqueue/dequeue to fixed_queue_enqueue/dequeue( ..., timeout = FIXED_QUEUE_MAX_TIMEOUT)
5. modify the blocking_type of osi_thread_post to timeout.
2019-06-20 17:12:04 +08:00
baohongde
9863565a6f components/bt: Optimization and bugfix of previous commit 2019-06-20 17:06:23 +08:00
baohongde
07fef85a23 components/bt: Separation of BT and BLE 2019-06-20 17:06:23 +08:00
Angus Gratton
90008e3fd6 Merge branch 'feature/spi_driver_support_multi_chip' into 'master'
spi: multichip support

See merge request idf/esp-idf!5234
2019-06-20 16:45:06 +08:00
Ivan Grokhotkov
a9157aaba9 Merge branch 'bugfix/ut_ci_test_fail_because_failed_to_reset' into 'master'
ci: fix random unit test CI failure

See merge request idf/esp-idf!5264
2019-06-20 16:08:51 +08:00
Renz Christian Bagaporo
11924d76cb cmake: clarify build trimming docs
How idf_build_component and the COMPONENTS argument to idf_build_process
interact is not clear/misleading. Clarify their interaction in the docs.

Closes: https://github.com/espressif/esp-idf/issues/3630
2019-06-20 16:02:22 +08:00
Renz Christian Bagaporo
7a19894aec esptool_py: better display logs when generating binary
Since OUTPUT argument of custom command does not currently support
generator expressions, the project image is only generated as a side
effect. The primary generated file is a timestamp file. Unfortunately as a consequence
the output logs when the
binary is about to be generated is not as helpful anymore.

Set a custom comment that is more descriptive of what is happening,
and provide more feedback as to what has been generated.
2019-06-20 16:02:22 +08:00
Renz Christian Bagaporo
64d37f5cb9 cmake: fix issues with build process
Fix issue when COMPONENTS are is not specified for idf_build_process,
no component is included in the build.
2019-06-20 16:02:22 +08:00
Renz Christian Bagaporo
2fff500a1c cmake: export IDF_TARGET to menuconfig
Pass value of IDF_TARGET to menuconfig invocation.
2019-06-20 16:02:22 +08:00
Renz Christian Bagaporo
8424822150 cmake: set CONFIG_DIR build property
Add CONFIG_DIR as a build property, so that components don't have to
derive it from one of the generated config files.
2019-06-20 16:02:22 +08:00
baohongde
485c896740 components/bt: Combine A2DP sink task and A2DP source task into btc task 2019-06-20 16:00:55 +08:00
baohongde
930c304a57 components/bt: Combine two hci task into one 2019-06-20 16:00:55 +08:00
baohongde
5fd4cbb9d2 component/bt: Add functions for heap memory debug 2019-06-20 16:00:55 +08:00
baohongde
bd9fed4400 component/bt: reduce the size of DRAM
DRAM.data:   506B -->  196B
DRAM.bss : 26857B --> 2170B
2019-06-20 16:00:55 +08:00
Roland Dobai
0150982ae3 tools: Fix Kconfig checker for comments and source after help 2019-06-20 09:48:04 +02:00
Angus Gratton
4397627b5b Merge branch 'feature/ws_client' into 'master'
esp_websocket_client

See merge request idf/esp-idf!3420
2019-06-20 15:37:40 +08:00
Tuan
2a2d932cfe esp_websocket_client: Add websocket client component
Closes https://github.com/espressif/esp-idf/issues/2829
2019-06-20 15:37:40 +08:00
Angus Gratton
092179207e Merge branch 'bugfix/spi_concurrency' into 'master'
spi: fix a possible concurrency issue (port to master)

See merge request idf/esp-idf!5191
2019-06-20 15:32:02 +08:00
morris
b395279196 Merge branch 'feature/esp32s2beta_fix_rtcio' into 'feature/esp32s2beta'
fix rtc bug in esp32s2beta

See merge request idf/esp-idf!5294
2019-06-20 13:42:37 +08:00
Michael (XIAO Xufeng)
be8bf31e48 Merge branch 'feature/support_gpio_atomic_cmakelists_esp32s2beta' into 'feature/esp32s2beta'
support atomic in esp32s2beta branch

See merge request idf/esp-idf!5268
2019-06-20 13:39:55 +08:00
Michael (XIAO Xufeng)
0bbeb502a8 atomic: support for esp32s2beta 2019-06-20 12:06:52 +08:00
Michael (XIAO Xufeng)
ea1dcf7fe4 gpio: fix missing cmakelists for esp32s2beta 2019-06-20 12:06:51 +08:00
Michael (XIAO Xufeng)
37cb673cd7 esp_flash: update the document to the latest API 2019-06-20 11:50:23 +08:00
baohongde
21cce564ba component/bt: Macor from sdkconfig.h is used only in bt_user_config.h 2019-06-20 11:41:17 +08:00
Michael (XIAO Xufeng)
b5c3ac0ec2 vfs_uart: refactor to have static context structure 2019-06-20 11:32:24 +08:00
chenjianqiang
cf2ba210ef uart: multichip support 2019-06-20 11:32:22 +08:00
fuzhibo
f5a21845fd fix rtc bug in esp32s2beta 2019-06-20 11:26:21 +08:00
Ivan Grokhotkov
026533cd72 esp_flash: fix C++ compilation and some typos 2019-06-20 10:55:13 +08:00
Michael (XIAO Xufeng)
caf121e4b6 esp_flash: break the inappropriate include chain in spi_flash_host_drv.h 2019-06-20 10:55:12 +08:00
Michael (XIAO Xufeng)
2eff8f7742 spi_slave: fix a example issue caused by word alignment 2019-06-20 10:38:52 +08:00
Michael (XIAO Xufeng)
5c9dc44c49 spi: multichip support
move hardcoded numbers, etc. into soc files.
create headers for shared types which needs to be documented.

(MINOR CHANGE)
2019-06-20 10:38:52 +08:00
Angus Gratton
b2ae2601fd Merge branch 'feat/backtrace_in_ut' into 'master'
esp32: Refactor backtraces to be iterative, add printing backtrace at runtime and when UT fails

Closes IDF-93

See merge request idf/esp-idf!3825
2019-06-20 09:28:34 +08:00
Anton Maklakov
58986992e8 Merge branch 'bugfix/ci_confserver_timeout_again' into 'master'
ci: Adjust spawn settings in test_confserver

See merge request idf/esp-idf!5225
2019-06-19 22:56:45 +08:00
Anton Maklakov
442b57b3ee ci: Adjust more 'spawn' settings in test_confserver 2019-06-19 20:50:53 +07:00
baohongde
faf23df19a component/bt : modify OSI thread of bluedroid
abstract of OSI thread to make bluedroid more compatible with different OS.
2019-06-19 21:20:04 +08:00
zhiweijian
71eece07a0 Component/bt: add ble ancs demo 2019-06-19 19:36:55 +08:00
Darian Leung
037c079e9a esp32: Refactor backtrace and add esp_backtrace_print()
This commit refactors backtracing within the panic handler so that a common
function esp_backtrace_get_next_frame() is used iteratively to traverse a
callstack.

A esp_backtrace_print() function has also be added that allows the printing
of a backtrace at runtime. The esp_backtrace_print() function allows unity to
print the backtrace of failed test cases and jump back to the main test menu
without the need reset the chip. esp_backtrace_print() can also be used as a
debugging function by users.

- esp_stack_ptr_is_sane() moved to soc_memory_layout.h
- removed uncessary includes of "esp_debug_helpers.h"
2019-06-19 18:30:18 +08:00
zhiweijian
f78eea97fe Component/bt: add gattc and gatts coex example 2019-06-19 17:30:06 +08:00
morris
3e5997e4a0 Merge branch 'feature/esp32s2beta_can_build_helloworld_for_esp32' into 'feature/esp32s2beta'
fix some build error when building hello-world for esp32

See merge request idf/esp-idf!5235
2019-06-19 17:02:09 +08:00
suda-morris
3f7a571c90 fix errors when ci testing for esp32 2019-06-19 15:31:47 +08:00
suda-morris
b1a7f7fcdb disable ci test: docs building and submodule sync
This commit needs reverting before esp32s2 is ready to release
2019-06-19 15:28:50 +08:00
Jiang Jiang Jian
28e0a17e0a Merge branch 'bugfix/btdm_make_failed_due_to_macro' into 'master'
components/bt: Fix make errors due to macro usage error

See merge request idf/esp-idf!5105
2019-06-19 14:44:02 +08:00
Angus Gratton
484eb7cd07 Merge branch 'feature/mdns_unit_tests' into 'master'
mdns: add initial unit tests

See merge request idf/esp-idf!5088
2019-06-19 14:43:51 +08:00
Anton Maklakov
dfae8ce26e Merge branch 'bugfix/ci_remove_dup_UT' into 'master'
ci: fix a duplicate job the CI.

See merge request idf/esp-idf!5276
2019-06-19 10:59:43 +08:00
Dmitry
aebcbd98bf ci: fix a duplicate job the CI. 2019-06-19 00:22:23 +07:00
Ivan Grokhotkov
920cabb382 Merge branch 'feature/spi_ext_flash' into 'master'
spi_flash: support working on differnt buses and frequency

See merge request idf/esp-idf!4096
2019-06-19 00:14:39 +08:00
Ivan Grokhotkov
ce5653c257 Merge branch 'doc/openocd_build2win_update' into 'master'
Updated building-openocd-windows.rst instruction

See merge request idf/esp-idf!5049
2019-06-19 00:14:22 +08:00
Jiang Jiang Jian
ceb00f7a41 Merge branch 'bugfix/btdm_add_svc_inst_id_param_for_create_tab_event' into 'master'
Component/bt: add svc_inst_id param for create service table event

See merge request idf/esp-idf!4958
2019-06-18 21:19:41 +08:00
Jiang Jiang Jian
979dc1b0b8 Merge branch 'feature/btdm_add_new_api_get_conn_params' into 'master'
Component/bt: add new api to get connection parameters

See merge request idf/esp-idf!5057
2019-06-18 21:10:53 +08:00
Angus Gratton
bcb662c3cd Merge branch 'bugfix/log_free_level_entry' into 'master'
log: fix minor memory leak when cleaning list of log levels

Closes IDF-710

See merge request idf/esp-idf!5260
2019-06-18 15:34:39 +08:00
Michael (XIAO Xufeng)
1036a091fe spi_flash: support working on differnt buses and frequency 2019-06-18 06:32:52 +00:00
Angus Gratton
ce4de867d6 spi_flash: New low-level flash API 2019-06-18 06:32:52 +00:00
Angus Gratton
21b04e7798 Merge branch 'bugfix/phy_init_data_mistake' into 'master'
esp_wifi: fix wrong path of phy_init_data

Closes IDFGH-1168

See merge request idf/esp-idf!5201
2019-06-18 14:13:01 +08:00
He Yin Ling
304e7119ce ci: fix random unit test CI failure:
we use `-` command to check if DUT reset pass. If we input `-` command
during DUT bootup, DUT could only receive `\n` and print test cases.
Print test cases could take long time and lead to reset check timeout.
Now we will add delay after reset, and enlarge reset check timeout to
solve this problem.
2019-06-18 12:22:00 +08:00
suda-morris
c5c716e9d7 esp_wifi: fix wrong path of phy_init_data
Closes https://github.com/espressif/esp-idf/issues/3482
2019-06-18 11:29:09 +08:00
Angus Gratton
e031719178 Merge branch 'bugfix/mbedtls_mpi_exp_mod' into 'master'
mbedtls: Fix mbedtls_mpi_exp_mod() set n and s values

Closes IDFGH-1313

See merge request idf/esp-idf!5222
2019-06-18 11:17:37 +08:00
Angus Gratton
6b7c5dc37e Merge branch 'feature/clang_static_analysis' into 'master'
add clang static analysis jobs

Closes IDF-91

See merge request idf/esp-idf!3752
2019-06-18 08:42:00 +08:00
Konstantin Kondrashov
b107b832ca sntp/lwip: Add SNTP_UPDATE_DELAY option in Kconfig
Closes: https://github.com/espressif/esp-idf/issues/2277
Closes: IDFGH-337
2019-06-17 18:04:10 +08:00
Angus Gratton
7ec9f9ee74 Merge branch 'bugfix/strncpy_issue_in_wifi_example' into 'master'
replace strncpy with strlcpy in wifi examples for safety's sake

Closes IDF-695

See merge request idf/esp-idf!5192
2019-06-17 15:38:23 +08:00
Konstantin Kondrashov
bc8c8c68dd mbedtls: Add UTs for modexp 2019-06-17 07:19:54 +00:00
Konstantin Kondrashov
0a040345cc mbedtls: Fix Z->s in mbedtls_mpi_exp_mod()
Z->s should never be zero, only 1 or -1.
Added additional checks for X, Y and M args to correctly set Z->s.

Closes: https://github.com/espressif/esp-idf/issues/1681
Closes: https://github.com/espressif/esp-idf/issues/3603
Closes: IDFGH-1313
2019-06-17 07:19:54 +00:00
zhiweijian
4d8a46b376 component/bt: add readme doc for BLE demos
- Closes:https://github.com/espressif/esp-idf/issues/3341
2019-06-17 07:05:41 +00:00
zhiweijian
483e82caf8 Component/bt: modify some logs level 2019-06-17 07:05:41 +00:00
zhiweijian
8f2490cc6f Component/bt: add svc_inst_id param for create service table event
- add svc_inst_id param for create service table event
  - Closes https://github.com/espressif/esp-idf/issues/3256
2019-06-17 07:05:31 +00:00
zhiweijian
76b3a64b76 Component/bt: add new api to get connection parameters 2019-06-17 07:04:34 +00:00
Krzysztof Budzynski
0521296264 Merge branch 'doc/review_api-ref_storage' into 'master'
Doc/review api ref storage

See merge request idf/esp-idf!5074
2019-06-17 14:23:52 +08:00
Kirill Chalov
4faf2de035 Doc/review api ref storage 2019-06-17 14:23:52 +08:00
suda-morris
1b54dc214c Merge branch 'feature/esp32s2beta_gpio_rtcio_driver' into feature/esp32s2beta 2019-06-17 14:19:56 +08:00
suda-morris
d156f0fc0f replace strncpy with strlcpy in wifi examples for safety's sake 2019-06-17 11:25:50 +08:00
Angus Gratton
e20b37aff9 Merge branch 'bugfix/prov_examples_strlcpy' into 'master'
Wi-Fi Provisioning : Bugfix in copying Wi-Fi SSID and Passphrase

Closes IDF-693

See merge request idf/esp-idf!5180
2019-06-17 10:29:05 +08:00
Michael (XIAO Xufeng)
1138133a78 spi: fix a possible concurrency issue 2019-06-17 00:16:01 +00:00
grumpy-dude
8a3cf8ca77 Allow configuration of local netif hostname via new LWIP component configuration menu item
Signed-off-by: Sagar Bijwe <sagar@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/3627
2019-06-15 16:09:51 +05:30
David Cermak
c4f3afd4b5 ci: add clang static analysis jobs
Clang tidy 9.0.0 is to perform static analysis of IDF sources. All component sources are analysed with default sdkconfig configuration, based on examples/get-started/hello_world project (compilation commands are extracted from default build commands for this project). Configuration of static analysis is defined in tools/ci/static-analysis-rules.yml

Closes https://github.com/espressif/esp-idf/issues/145
2019-06-14 20:24:36 +02:00
Sergei Silnov
8e43cd4d69 Add click package to linux setup instructions 2019-06-14 19:51:39 +02:00
Sergei Silnov
a77f01ec9d Update order of arguments for idf.py in docs 2019-06-14 19:51:39 +02:00
Roland Dobai
da978bc5a1 tools: Port the filtering option of IDF Monitor to the idf.py toolchain 2019-06-14 17:45:20 +02:00
fuzhibo
29ea0dec76 Driver: gpio and rtcio dirver update 2019-06-14 20:27:26 +08:00
David Cermak
353de1487f log: fix minor memory leak when cleaning list of log levels 2019-06-14 13:55:46 +02:00
suda-morris
dc24988268 Merge branch 'feature/esp32s2beta_fix_rom_ld' into feature/esp32s2beta 2019-06-14 16:59:21 +08:00
Jiang Jiang Jian
d4d162640f Merge branch 'bugfix/dns_bug' into 'master'
LDNS: fix the crash  under static IP address

Closes WIFI-487

See merge request idf/esp-idf!5069
2019-06-14 15:06:05 +08:00
Angus Gratton
df0b8db400 Merge branch 'feature/allow_multiple_fragment_definitions_for_library_v4.0' into 'master'
Allow multiple mapping fragments to map same library

See merge request idf/esp-idf!4713
2019-06-14 14:07:59 +08:00
Wang Jia Lin
e2d1c6234f Merge branch 'bugfix/improve_flash_dio_read_timing' into 'master'
bugfix(flash): fix flash dio read mode configuration error on SPI0

See merge request idf/esp-idf!5086
2019-06-14 12:10:46 +08:00
xueyunfei
d18ed01b81 lwip:fix bugfix/dns_bug 2019-06-14 03:52:31 +00:00
Angus Gratton
c5e89897ef Merge branch 'bugfix/malloc_warnings_can' into 'master'
can: suppress clang tidy warning about nullptr dereference

See merge request idf/esp-idf!5145
2019-06-14 09:58:14 +08:00
David Cermak
d127849d80 can: suppress clang tidy warning about nullptr dereference 2019-06-13 16:23:20 +02:00
Ivan Grokhotkov
58df1d93bc Merge branch 'bugfix/ci_sort_executable_list' into 'master'
ci: keep executables list sorted to pass tests

See merge request idf/esp-idf!5231
2019-06-13 21:39:06 +08:00
Ivan Grokhotkov
7c723e121c esp_rom: update ld scripts to export strong symbols
Similar to commits for esp32 target: e84b26f5, 8c2f2867, 5719cd6f
2019-06-13 19:34:40 +08:00
Ivan Grokhotkov
cfba50811d spi_flash: fix unit tests compilation 2019-06-13 19:34:40 +08:00
Ivan Grokhotkov
08557be5df Merge branch 'fix/bootloader_region_overlap_update' into 'master'
bootloader: remove duplicate region overlap logic

See merge request idf/esp-idf!5128
2019-06-13 16:07:05 +08:00
Jiang Jiang Jian
7871983370 Merge branch 'optimize/igmp_mld6_timer' into 'master'
optimize: IGMP and MLD6 timer optimization config added

See merge request idf/esp-idf!4776
2019-06-13 15:31:26 +08:00
Jiang Jiang Jian
4e09eaf8e2 Merge branch 'feature/btdm_config_eir' into 'master'
components/bt: Add API to config EIR data

See merge request idf/esp-idf!5038
2019-06-13 14:55:23 +08:00
Jiang Jiang Jian
b1bf41be22 Merge branch 'bugfix/btdm_coex_assert_in_lc_lmppdu' into 'master'
components/bt: Fix assert due to alloc LMP TX buffer failed

See merge request idf/esp-idf!5134
2019-06-13 13:58:43 +08:00
Anton Maklakov
a98141cc0a ci: keep executables list sorted to pass tests 2019-06-13 12:42:53 +07:00
suda-morris
8cd58625d0 Merge branch 'feature/esp32s2beta_todos_to_warnings' into feature/esp32s2beta 2019-06-13 13:42:36 +08:00
He Yin Ling
2deb267be5 test: fix some wifi case issues:
* remove heap size check cases as we have bg tasks allocate memory
* fix wifi connect to open ap issue
2019-06-13 11:14:39 +08:00
Angus Gratton
78b7b137ad Merge branch 'feature/otatool_parttool_python_api' into 'master'
otatool, parttool Python API

See merge request idf/esp-idf!5077
2019-06-13 10:31:29 +08:00
Angus Gratton
60d28bb72f Merge branch 'bugfix/spiflash_kconfig' into 'master'
spi_flash: Fix Kconfig indentation

Closes IDFGH-1307

See merge request idf/esp-idf!5195
2019-06-13 10:18:14 +08:00
Angus Gratton
2dcf33d7b5 Merge branch 'doc/partition_table_app_test' into 'master'
partition table: Update documentation about "test" partition type

See merge request idf/esp-idf!5125
2019-06-13 10:16:51 +08:00
Angus Gratton
3cc384fbe9 Merge branch 'bugfix/malloc_warnings_transport' into 'master'
tcp_transport: fix minor memory leak found by static analyzer

Closes IDF-681

See merge request idf/esp-idf!5141
2019-06-13 10:11:36 +08:00
Angus Gratton
9909206b16 Merge branch 'bugfix/malloc_warnings_event_loop' into 'master'
esp_event: fix possible malloc free issues found by static analyzer

See merge request idf/esp-idf!5142
2019-06-13 10:10:26 +08:00
Angus Gratton
1094b83bcb Merge branch 'bugfix/rest_server_strlcpy' into 'master'
Example restful_server : Minor fix in copying file system base path

Closes IDF-691

See merge request idf/esp-idf!5181
2019-06-13 09:47:32 +08:00
Angus Gratton
eac356ef4a Merge branch 'feature/idf_version_header' into 'master'
esp_common: add esp_idf_version.h header to define IDF version

Closes IDF-253

See merge request idf/esp-idf!4596
2019-06-13 09:41:35 +08:00
Angus Gratton
1be207adb4 Merge branch 'bugfix/idfpy_msys_powershell' into 'master'
idf.py: Don't expect "_" env. variable to be available from PowerShell

Closes #79

See merge request idf/esp-idf!5119
2019-06-13 09:23:43 +08:00
Ivan Grokhotkov
7680f520f9 unit-test-app: disable CONFIG_MBEDTLS_HARDWARE_MPI for esp32s2beta 2019-06-13 01:43:38 +08:00
Ivan Grokhotkov
51a7df196d esp32s2beta: fix soc_memory_layout
1. use SOC_RESERVE_MEMORY_REGION
2. reserve part of the DRAM which is mapped to same banks as IRAM
2019-06-13 01:34:54 +08:00
Krzysztof Budzynski
26215bc1ad Merge branch 'doc/translate_idf_about' into 'master'
Doc/translate idf about

See merge request idf/esp-idf!5168
2019-06-12 19:17:04 +08:00
Natasha
2dec7787c1 Doc/translate idf about 2019-06-12 19:17:04 +08:00
Ivan Grokhotkov
70b2c86fff Merge branch 'bugfix/gcc8_toolchain_links' into 'master'
docs: fix generation of toolchain links

Closes IDFGH-1319

See merge request idf/esp-idf!5194
2019-06-12 18:40:02 +08:00
Ivan Grokhotkov
ca932f80f4 esp_debug_helpers: add missing include 2019-06-12 17:13:44 +08:00
Ivan Grokhotkov
04d1ce944d freertos: pass unit tests compilation 2019-06-12 17:13:29 +08:00
Ivan Grokhotkov
25a383c521 test_utils: update for esp32s2beta 2019-06-12 16:10:11 +08:00
Ivan Grokhotkov
aeb62b5337 esp_wifi: no libraries for esp32s2beta yet 2019-06-12 16:09:52 +08:00
Ivan Grokhotkov
dcaae4a5fc esp32s2beta: convert some todos to warnings 2019-06-12 15:53:57 +08:00
Jiang Jiang Jian
5ae151308b Merge branch 'bugfix/fix_some_wps_bugs' into 'master'
wps: add  overlap event

Closes WIFI-517

See merge request idf/esp-idf!5022
2019-06-12 14:35:52 +08:00
David Cermak
e6801912c5 mdns: added initial suite of api unit tests 2019-06-12 08:18:25 +02:00
Roland Dobai
7971845fd4 idf.py: Don't expect "_" env. variable to be available from PowerShell 2019-06-12 08:04:28 +02:00
Roland Dobai
22d070e0af spi_flash: Rename long Kconfig options 2019-06-12 08:03:07 +02:00
Roland Dobai
842384a0d3 spi_flash: Fix Kconfig indentation
Closes https://github.com/espressif/esp-idf/issues/3598
2019-06-12 08:03:07 +02:00
Ivan Grokhotkov
8cfa574ad6 Merge branch 'bugfix/ci_test_confserver_timeout' into 'master'
ci: Adjust the test_confserver timeout to 2 seconds

See merge request idf/esp-idf!5184
2019-06-12 13:48:19 +08:00
Anurag Kar
a012025deb Example restful_server : Minor fix in copying file system base path 2019-06-12 05:43:17 +00:00
Anurag Kar
a8d19e6638 Provisioning Examples : Bugfix in copying Wi-Fi SSID and Passphrase 2019-06-12 05:42:46 +00:00
Anurag Kar
a75be3413e Wi-Fi Provisioning : Bugfix in copying SSID and Passphrase
These changes guarantee that the SSID and Passphrase received via protocomm are NULL terminated and size limited to their standard lengths.

List of changes:
* Corrected length of passphrase field in wifi_prov_config_set_data_t structure
* Performing length checks on SSID, passphrase and bssid, when populating wifi_prov_config_set_data_t structure with received credentials
2019-06-12 05:42:46 +00:00
Sachin Parekh
ae675973be optimize: IGMP and MLD6 timers on demand config added
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-06-12 05:10:32 +00:00
Renz Christian Bagaporo
7edef74347 cmake: set variables set by project call
ESP-IDF overrides project() definition for user convenience. This
redefinition lacks setting the variables documented at
the project command documentation
https://cmake.org/cmake/help/v3.5/command/project.html in the parent
scope.

This commit sets those variables.

Closes https://github.com/espressif/esp-idf/issues/3611.
2019-06-12 11:01:59 +08:00
Renz Christian Bagaporo
8ee90ee2f1 ldgen: allow multiple mapping fragments to map same library 2019-06-12 10:48:54 +08:00
Renz Christian Bagaporo
87aa341e97 ldgen: mapping rules should be grouped by archive 2019-06-12 10:48:54 +08:00
Angus Gratton
065eb918fd Merge branch 'bugfix/even_more_cmake_fixes' into 'master'
Even more CMake fixes

See merge request idf/esp-idf!5097
2019-06-12 08:08:04 +08:00
Ivan Grokhotkov
0e6ffd08b7 docs: update msys environment links for esp32-2019r1 toolchain 2019-06-11 22:22:14 +08:00
Ivan Grokhotkov
67148e37a6 tools/windows: update toolchain URL in MSYS build script 2019-06-11 22:21:44 +08:00
Ivan Grokhotkov
517c61a4ec docs: fix generation of toolchain links
Closes https://github.com/espressif/esp-idf/issues/3609
2019-06-11 19:46:56 +08:00
Ivan Grokhotkov
8886e3fbc3 Merge branch 'bugfix/esp_event_fix_placement_issue_on_make' into 'master'
esp_event: fix missed placement on make builds

See merge request idf/esp-idf!5179
2019-06-11 19:32:45 +08:00
Renz Christian Bagaporo
54ef60f26b component: revert some of the dependency corrections
!4452 and !4897 made some ill-advised corrections to dependency info;
revert those in this MR. Handling pre-built binaries as imported
libraries is retained, however.
2019-06-11 18:09:26 +08:00
Renz Christian Bagaporo
3882e48e8a cmake: use new signature form of target_link_library to link components
!4452 used setting LINK_LIBRARIES and INTERFACE_LINK_LIBRARIES to link
components built under ESP-IDF build system. However, LINK_LIBRARIES does
not produce behavior same as linking PRIVATE. This MR uses the new
signature for target_link_libraries directly instead. This also moves
setting dependencies during component registration rather than after all
components have been processed.

The consequence is that internally, components have to use the new
signature form as well. This does not affect linking the components to
external targets, such as with idf_as_lib example. This only affects
linking additional libraries to ESP-IDF libraries outside component processing (after
idf_build_process), which is not even possible for CMake<v3.13 as
target_link_libraries is not valid for targets not created in current
directory. See https://cmake.org/cmake/help/v3.13/policy/CMP0079.html#policy:CMP0079
2019-06-11 18:09:26 +08:00
Renz Christian Bagaporo
6365658d3f cmake: revert using EXCLUDE_FROM_ALL when adding component subdirectories
Reverting (for now) the change in !4452 to use EXCLUDE_FROM_ALL.
Apparently this also affects custom targets with ALL option specified,
not causing them to be built with the project.

This is apparently a bug which has a merged fix:
https://gitlab.kitware.com/cmake/cmake/merge_requests/2816
2019-06-11 18:09:26 +08:00
Renz Christian Bagaporo
f0f861ccd9 ldgen: use user input filename for processed template
Previously ldgen determines the output file name on its own. This commit
makes it so that user can dictate what the output file name will be
for the processed template, if the user needs it for something else.
2019-06-11 18:09:26 +08:00
Renz Christian Bagaporo
70dfcb35d4 mbedtls: component CMakeLists.txt corrections
Since !4452 the common component requirements automatically get
privately linked to libraries built under ESP-IDF build system (this
includes targets from third-party libraries). This removes a variable
that was used for that purpose before !4452.

Since the internal target names were changed, the compile definition for
warning on using deprecated functions is not being passed. Since using
the internal name is unreliable, prefer passing this compile definition
from the test itself.
2019-06-11 18:09:26 +08:00
Renz Christian Bagaporo
297b2c5a39 cmake: evaluate component requirements in one go
!4452 simplified early expansion by using an early expansion script that
only does one thing: get the public and private requirements for each
component, albeit one by one. This was also dependent on parsing
the command output of the expansion script.  This commit makes it so that a list of all
components to be processed to passed to the expansion script, generating a cmake
file that sets each component requirements in one go.

This also makes sure that only components that registered themselves get
included in the final build list.
2019-06-11 18:09:26 +08:00
Renz Christian Bagaporo
33dd7011be cmake: expand build components before generating config
!4452 had config generation first before building the component list
to be used in the build. This proved to be detrimental when a new target
is added as config generation would consider configs from both targets.
2019-06-11 18:09:26 +08:00
Angus Gratton
767455dbeb Merge branch 'bugfix/check_for_new_cmakecache_vars' into 'master'
idf.py: Add check for new cmake cache values

Closes IDF-658

See merge request idf/esp-idf!5106
2019-06-11 14:16:14 +08:00
Angus Gratton
1b5c05e54c Merge branch 'bugfix/confgen_compat_defs' into 'master'
confgen.py: don't output compatibility definitions for options which are not defined

See merge request idf/esp-idf!5162
2019-06-11 14:13:20 +08:00
Andrey Gramakov
f59c3e7e3e Updated building-openocd-windows.rst instruction 2019-06-11 09:00:31 +03:00
Renz Christian Bagaporo
3836aa9ae6 partition_table,app_update: use config partition table offset 2019-06-11 13:17:14 +08:00
Renz Christian Bagaporo
7f7a9272f0 examples: create example for both Python and CLI otatool interfaces 2019-06-11 13:17:14 +08:00
Renz Christian Bagaporo
5d41322412 examples: create example for both Python and CLI parttool interfaces 2019-06-11 13:17:14 +08:00
Renz Christian Bagaporo
1de627e68a app_update: implement Python API for otatool 2019-06-11 13:17:14 +08:00
Renz Christian Bagaporo
63bd57c1d7 partition_table: implement Python API for parttool
Closes https://github.com/espressif/esp-idf/issues/1494
2019-06-11 13:17:14 +08:00
suda-morris
4a79d750a5 clean up build warnings 2019-06-11 13:07:37 +08:00
Angus Gratton
a37ad24137 cmake: Always pass IDF_TARGET into mconf, avoid error about uninitialized environment variable 2019-06-11 13:07:37 +08:00
Angus Gratton
ddbd09eb15 esp32/esp32s2beta: Extract common SPIRAM options into esp_commmon component 2019-06-11 13:07:37 +08:00
Angus Gratton
06e31e243c esp32s2beta: Fix kconfig errors found by Roland 2019-06-11 13:07:37 +08:00
Angus Gratton
8d949c3c9d esp32s2beta: Apply new Kconfig names to esp32s2beta
Still using ESP32_xxx prefix on all chips: CORE_DUMP, APP_TRACE

Still using the same config prefix and duplicate names in esp32 & esp32s2beta: SPIRAM, PM
2019-06-11 13:07:37 +08:00
suda-morris
82c27a39f2 can build and run hello-world app 2019-06-11 13:07:37 +08:00
Ivan Grokhotkov
73b30af2b3 confgen.py: don't output compatibility definitions for options which are not defined
For example, if a renamed option CONFIG_NEW is a bool with value "n", kconfiglib will not generate a define for it in the Kconfig file. The define (#define CONFIG_NEW 1) will only be generated if the option is "y" or "m".
However the compatibility definition was always generated: #define CONFIG_OLD CONFIG_NEW. This broke the #ifdef checks which depended on the old option names.
2019-06-11 13:07:37 +08:00
Ivan Grokhotkov
7dcc5f4d15 idf.py: pass correct toolchain prefix to the monitor 2019-06-11 13:07:37 +08:00
Ivan Grokhotkov
fa6622aa33 Kconfig: change default toolchain prefix for esp32s2beta to "esp32s2" 2019-06-11 13:07:37 +08:00
Angus Gratton
047aca97e8 esp32s2beta: Fix heap memory regions when SPIRAM is disabled 2019-06-11 13:07:37 +08:00
Angus Gratton
b2e8d30414 esp32s2beta: esptool support 2019-06-11 13:07:37 +08:00
suda-morris
84b2f9f14d build and link hello-world for esp32s2beta 2019-06-11 13:07:37 +08:00
suda-morris
61ce868396 make bootloader_support support esp32s2beta 2019-06-11 13:07:02 +08:00
suda-morris
b146104885 add esp32s2beta component 2019-06-11 13:06:32 +08:00
suda-morris
91508ca27f add esp32s2beta in soc component 2019-06-11 13:06:32 +08:00
suda-morris
cc98b9ef60 add rom for esp32s2beta 2019-06-11 13:06:32 +08:00
suda-morris
f14a6cf51b Ethernet peripheral will depend on IDF_TARGET
esp32 has EMAC controller, but esp32s2 doesn't
2019-06-11 13:06:32 +08:00
suda-morris
12f00d9a5e make bootloader support esp32s2beta 2019-06-11 13:06:32 +08:00
suda-morris
2f4c5c51f4 update esp32 component 2019-06-11 13:06:32 +08:00
suda-morris
c926f7515e add toolchain setting for esp32s2 2019-06-11 13:06:32 +08:00
suda-morris
e9a2eae639 add IDF_TARGET_XXX in main Kconfig 2019-06-11 13:06:32 +08:00
suda-morris
b82e0d49a8 make app_trace support esp32c 2019-06-11 13:06:32 +08:00
Angus Gratton
02f1e9fc20 Merge branch 'feature/prov_mgr' into 'master'
Wi-Fi Provisioning Manager

See merge request idf/esp-idf!4805
2019-06-11 09:46:50 +08:00
Angus Gratton
d0ed0d3f9c Merge branch 'fix/mfg_util' into 'master'
mfg_util: Fix incorrect number of csv files creation for multiple values with REPEAT tags

See merge request idf/esp-idf!5044
2019-06-11 09:22:07 +08:00
Angus Gratton
2331597ed2 Merge branch 'bugfix/ticks_to_wait_for_uart_and_i2c' into 'master'
driver: Fix ticks_to_wait for uart and i2c

Closes IDFGH-964

See merge request idf/esp-idf!5021
2019-06-11 08:41:44 +08:00
Angus Gratton
406979e74f Merge branch 'feature/console_nvs_iterators' into 'master'
Feature/nvs iterators

Closes IDF-92

See merge request idf/esp-idf!3846
2019-06-11 08:36:13 +08:00
Angus Gratton
e08b787d79 ci: Adjust the test_confserver timeout to 2 seconds
On a VM, it seems like 500ms is sometimes a very short time...
2019-06-11 10:16:15 +10:00
Angus Gratton
c9bf3a3b17 Merge branch 'bugfix/remove_secure_boot_test_mode' into 'master'
remove secure boot test mode

See merge request idf/esp-idf!5059
2019-06-11 07:25:07 +08:00
Krzysztof Budzynski
9192827eec Merge branch 'doc/update_translation_for_get-started-cmake' into 'master'
Update Chinese translation of .rst files in get-started-guide according to the...

See merge request idf/esp-idf!4935
2019-06-11 02:09:27 +08:00
Wang Fang
e281164540 Update Chinese translation of .rst files in get-started-guide according to the changes made in English files in these months. 2019-06-11 02:09:26 +08:00
Krzysztof Budzynski
9a013a91f1 Merge branch 'doc/add_ulp_cmake_translation' into 'master'
Doc/add ulp cmake translation

See merge request idf/esp-idf!4163
2019-06-11 01:48:37 +08:00
Wang Fang
a37ec9bae6 add translation for ulp cmake
fix formatting

update translation

update translation

formatting
2019-06-11 01:48:36 +08:00
MartinValik
5268960235 Added support for NVS iterators
Closes https://github.com/espressif/esp-idf/issues/129
2019-06-10 16:42:39 +02:00
David Cermak
c34de4cba6 mdns: fix static analysis warnings 2019-06-10 13:21:07 +00:00
David Cermak
bd537083d9 esp_event: fix possible malloc free issues found by static analyzer 2019-06-10 13:10:34 +00:00
David Cermak
243e0b229f tcp_transport: fix minor memory leak found by static analyzer
Closes https://github.com/espressif/esp-idf/issues/3602
2019-06-10 14:28:42 +02:00
Ivan Grokhotkov
bde1c30c5b Merge branch 'bugfix/cmake_check_crosstool_ng_version' into 'master'
cmake: fix crosstool-NG version check regex

See merge request idf/esp-idf!5163
2019-06-10 20:23:57 +08:00
Shivani Tipnis
b0bfe937aa mfg_util: Fix unnecessary csv files creation for values with REPEAT tags 2019-06-10 12:08:58 +00:00
Renz Christian Bagaporo
af3a2f3aba esp_event: fix placement issue when building with make
The CMake build uses the linker fragment file to place functions in IRAM
on certain configurations. This commit does that for Make as well.
2019-06-10 19:38:55 +08:00
Sergei Silnov
2557442ae9 cmake: fix crosstool-NG version check regex 2019-06-10 09:51:40 +00:00
Anurag Kar
a92ace034f esp_prov : Support new JSON format of version string while maintaining backward compatibility
Other changes:
* Version check only happens if command line argument is specified
* Minor bugfix in processing apply_config response
2019-06-10 15:13:50 +05:30
Anurag Kar
f90d3f6d93 Provisioning : Added Wi-Fi Provisioning Manager example and test script 2019-06-10 15:13:50 +05:30
Anurag Kar
471a0e93a7 wifi_provisioning : Docs updated with information about new provisioning manager 2019-06-10 15:13:50 +05:30
Anurag Kar
4ef6c85f0c wifi_provisioning : Wi-Fi Provisioning Manager added 2019-06-10 15:13:50 +05:30
baohongde
f3aab7d536 components/bt: Fix assert due to alloc LMP TX buffer failed 2019-06-10 15:14:23 +08:00
Ivan Grokhotkov
2c55fae6cf Merge branch 'bugfix/cmake_ndebug' into 'master'
cmake: fix setting NDEBUG definition

Closes IDFGH-1305

See merge request idf/esp-idf!5165
2019-06-10 15:07:41 +08:00
Ivan Grokhotkov
912c75372c confgen.py: don't output compatibility definitions for options which are not defined
For example, if a renamed option CONFIG_NEW is a bool with value “n”,
kconfiglib will not generate a define for it in the Kconfig file. The
define (#define CONFIG_NEW 1) will only be generated if the option is
“y” or “m”. However the compatibility definition was always
generated: #define CONFIG_OLD CONFIG_NEW. This broke the #ifdef
checks which depended on the old option names.

This commit wraps each compatibility definition:

    #ifdef CONFIG_NEW
    #define CONFIG_OLD CONFIG_NEW
    #endif

so that the CONFIG_OLD definition is only generated if CONFIG_NEW is
defined.
2019-06-10 06:56:07 +00:00
Ivan Grokhotkov
d1127dd684 Merge branch 'bugfix/cmake_build_system_test' into 'master'
ci: fix idf.py syntax in new build system tests

See merge request idf/esp-idf!5167
2019-06-10 13:54:36 +08:00
Mahavir Jain
bb4ca8c508 Merge branch 'feature/config_option_for_mbedtls_debug_level' into 'master'
mbedtls: add config option for setting debug level

See merge request idf/esp-idf!5154
2019-06-10 11:44:40 +08:00
Mahavir Jain
e701f96bf5 Merge branch 'bugfix/stack_protection_crash_due_to_incorrect_cflag' into 'master'
esp_common: fix stack protection crash due to incorrect CFLAG

See merge request idf/esp-idf!5155
2019-06-10 11:43:31 +08:00
Ivan Grokhotkov
b2bfa8ed95 ci: fix idf.py syntax in new build system tests 2019-06-07 22:03:15 +08:00
Ivan Grokhotkov
6b8c31a198 cmake: fix setting NDEBUG definition
Closes https://github.com/espressif/esp-idf/issues/3596
2019-06-07 21:23:42 +08:00
Ivan Grokhotkov
54c70dc284 Merge branch 'bugfix/target_test_no_setup_tools' into 'master'
ci: don't do idf_tools.py install in target_test stage

See merge request idf/esp-idf!5158
2019-06-07 21:04:41 +08:00
Angus Gratton
50d2e6b69b Merge branch 'bugfix/cmake_extra_component_dirs' into 'master'
CI: additional CMake build system tests wrt EXTRA_COMPONENT_DIRS

See merge request idf/esp-idf!5104
2019-06-07 07:49:30 +08:00
Angus Gratton
5f5428233e partition table: Update documentation about "test" partition type
Reported from forum: https://esp32.com/viewtopic.php?f=13&t=10777&p=44164#p44164
2019-06-07 09:45:40 +10:00
Angus Gratton
a0382de0ea Merge branch 'bugfix/psram_io_struct_uninitialized' into 'master'
Make sure the psram_io struct is initialized

See merge request idf/esp-idf!5147
2019-06-07 07:36:16 +08:00
Ivan Grokhotkov
57f7c77aff ci: don't do idf_tools.py install in target_test stage 2019-06-07 01:17:29 +08:00
Ivan Grokhotkov
4b0b2c6fda Merge branch 'feature/action_specific_flags' into 'master'
idf.py: add support for action specific options

Closes IDF-501, IDFGH-1276, and IDFGH-1275

See merge request idf/esp-idf!5029
2019-06-07 00:44:09 +08:00
Mahavir Jain
f80cce7bb9 esp_common: fix stack protection crash due to incorrect CFLAG 2019-06-06 18:52:32 +05:30
Mahavir Jain
0a5dfd3717 mbedtls: add config option for setting debug level
Closes https://github.com/espressif/esp-idf/issues/3521
2019-06-06 18:28:19 +05:30
Krzysztof Budzynski
095def2111 Merge branch 'feature/docs_get-started_ESP32-Ethernet-Kit' into 'master'
Provide getting started guide for 'ESP32-Ethernet-Kit' board

See merge request idf/esp-idf!4981
2019-06-06 18:04:26 +08:00
Angus Gratton
345748b7bb Merge branch 'feature/fixed_static_dram_size_pr3222' into 'master'
esp32: Allow fixed static RAM size and DRAM heap size

Closes IDFGH-780

See merge request idf/esp-idf!5043
2019-06-06 17:11:46 +08:00
Jeroen Domburg
2b7da2a245 Make unknown psram package version more obvious 2019-06-06 16:57:01 +08:00
Gautier Seidel
542e544faa esp32: Allow fixed static RAM size and DRAM heap size
Merges https://github.com/espressif/esp-idf/pull/3222
2019-06-06 18:23:04 +10:00
liying
e47047075f add translation for ESP32-Ethernet-Kit Getting Started Guide 2019-06-06 15:55:00 +08:00
Krzysztof
4e95b1ad21 Provide getting started guide for 'ESP32-Ethernet-Kit' board 2019-06-06 15:45:45 +08:00
Angus Gratton
19f176eb71 Merge branch 'feature/net_test_suite' into 'master'
execute net test suite for esp32 network stack in ci as weekend tests

Closes IDF-210

See merge request idf/esp-idf!3439
2019-06-06 15:25:03 +08:00
Ivan Grokhotkov
1de7b8d5d3 Merge branch 'bugfix/idf_tools_noninteractive' into 'master'
tools, ci: Use non-interactive mode for idf_tools in CI

See merge request idf/esp-idf!5129
2019-06-06 14:58:58 +08:00
xiehang
2503af2464 wps: add overlap event
modify some header files to be consistent with vnc
2019-06-06 13:16:20 +08:00
Jeroen Domburg
ed17cbbb8a Make sure the psram_io struct is initialized
Closes https://github.com/espressif/esp-idf/issues/3591
2019-06-06 09:05:49 +08:00
Jiang Jiang Jian
3d2b11347d Merge branch 'bugfix/support_tcp_window_scale' into 'master'
esp_wifi/tcpip: support TCP window scale

See merge request idf/esp-idf!5102
2019-06-05 20:08:18 +08:00
Sergei Silnov
7a6ff35a2a idf.py: Add check for new cmake cache values 2019-06-05 11:43:53 +02:00
Jiang Jiang Jian
d95cedd782 Merge branch 'bugfix/keep_sco_data_path_on_hci_reset' into 'master'
Bugfix/keep_sco_data_path_on_hci_reset

See merge request idf/esp-idf!4949
2019-06-05 17:10:21 +08:00
Anton Maklakov
dcc9459690 tools, ci: Use non-interactive mode for idf_tools in CI 2019-06-05 15:56:03 +07:00
Michael (XIAO Xufeng)
c8d967417c bootloader: remove duplicate region overlap logic
(MINOR CHANGE)
2019-06-05 14:43:23 +08:00
Angus Gratton
4988b26e38 Merge branch 'feature/gcc_8' into 'master'
Switch GCC to 8.2 (esp32-2019r1 toolchain release)

Closes IDF-103

See merge request idf/esp-idf!5068
2019-06-05 12:53:01 +08:00
Angus Gratton
826ff7186a Merge branch 'feature/mqtt_support_event_loop' into 'master'
MQTT: Support for esp event loop

See merge request idf/esp-idf!4815
2019-06-05 11:04:16 +08:00
Konstantin Kondrashov
ed22949847 driver: Add uart and i2c UTs to check ticks_to_wait in some functions 2019-06-05 10:38:23 +08:00
Ivan Grokhotkov
962e35c011 docs/idf_monitor: remove the mention of addr2line bug
Related to https://github.com/espressif/esp-idf/issues/2149.
Since the new toolchain includes the updated version of binutils,
remove the mention of this bug.
2019-06-04 23:43:29 +08:00
Ivan Grokhotkov
ca323fbaad update toolchain to esp32-2019r1 release
Closes https://github.com/espressif/esp-idf/issues/1445 (std::to_string)
Closes https://github.com/espressif/esp-idf/issues/1876 (std::chrono_steady_clock)
Closes https://github.com/espressif/esp-idf/issues/1995 (std::timed_mutex)
Closes https://github.com/espressif/esp-idf/issues/2149 (addr2line)
Closes https://github.com/espressif/esp-idf/issues/2308 (lsiu/lsip)
Closes https://github.com/espressif/esp-idf/issues/2449 (c++17)
Closes https://github.com/espressif/esp-idf/issues/3258 (objdump)
2019-06-04 23:43:29 +08:00
Ivan Grokhotkov
6af7697820 ci: use the toolchain from tools.json 2019-06-04 23:37:46 +08:00
baohongde
48e32113de component/bt: Allow configuration of default SCO_DATA_PATH in bluetooth controller 2019-06-04 16:31:21 +08:00
Jiang Jiang Jian
5274739fff Merge branch 'bugfix/btdm_a2dp_src_pkt_overflow' into 'master'
component/bt: fix some performance issues in A2DP source data flow control

See merge request idf/esp-idf!4932
2019-06-04 16:07:31 +08:00
David Cermak
684514b3d6 ci: added standard set of network suite for lwip as a part of weekend test 2019-06-04 08:27:53 +02:00
liu zhifu
d1e7d04f9b esp_wifi/lwip: support TCP window scale
Support enable/disable TCP Window scale feature via menuconfig
2019-06-04 14:09:04 +08:00
David Cermak
1ae0dfe7ef mqtt: added support for esp event loop, updating examples to register and use event loop handler 2019-06-04 07:41:27 +02:00
Renz Christian Bagaporo
c308d7bed6 ci: additional Cmake tests for EXTRA_COMPONENT_DIRS
Tests from
https://gitlab.espressif.cn:6688/idf/esp-idf/merge_requests/4253
2019-06-04 13:37:19 +08:00
Angus Gratton
9dd1b2ffb6 Merge branch 'bugfix/httpd_open_fn' into 'master'
HTTP Server : Close new session immediately if `open_fn` fails

Closes IDFGH-1165

See merge request idf/esp-idf!5019
2019-06-04 13:29:14 +08:00
Angus Gratton
045aaf6fb0 Merge branch 'feature/add_xxx_periph_h' into 'master'
soc: Add xxx_periph.h for all modules

Closes IDF-192

See merge request idf/esp-idf!4952
2019-06-04 13:24:14 +08:00
Angus Gratton
c338cbceb1 Merge branch 'bugfix/cmake_wifi_ut_md5' into 'master'
esp_wifi: fix MD5 unit tests with CMake

See merge request idf/esp-idf!5090
2019-06-04 13:23:06 +08:00
Angus Gratton
7f0ac87033 Merge branch 'bugfix/set_default_eth_handler' into 'master'
esp_event: fix bug in set_default_eth_handler

See merge request idf/esp-idf!5103
2019-06-04 13:06:55 +08:00
Konstantin Kondrashov
355f209dba uart: Fix ticks_to_wait when 0 or expired
Closes: https://github.com/espressif/esp-idf/issues/3301

Closes: IDFGH-964
2019-06-04 11:50:54 +08:00
Konstantin Kondrashov
22a30e2740 i2c: Fix ticks_to_wait when 0 or time expired
Closes: https://github.com/espressif/esp-idf/issues/3301

Closes: IDFGH-964
2019-06-04 11:50:54 +08:00
Angus Gratton
db6a30b446 Merge branch 'bugfix/libgcc_fpu_functions' into 'master'
esp32: Use FPU for floating point divide, power, complex multiplications

See merge request idf/esp-idf!5005
2019-06-04 08:41:58 +08:00
Angus Gratton
a83b4cfc1c Merge branch 'bugfix/cmake_menuconfig' into 'master'
Tools: Fix CMake menuconfig used with combination of MSYS and CMD

Closes IDFGH-1248

See merge request idf/esp-idf!5089
2019-06-04 07:06:40 +08:00
Ivan Grokhotkov
0dc6e869c6 Merge branch 'bugfix/event_minor_leak' into 'master'
esp_event: fix minor memory leak when overwriting already registered handler

See merge request idf/esp-idf!5108
2019-06-03 22:37:06 +08:00
Jiang Jiang Jian
34b308eb79 Merge branch 'bugfix/wpa2_ent_vulnerability' into 'master'
esp_wifi: wpa2 enterprise vulnerability

See merge request idf/esp-idf!4992
2019-06-03 21:57:59 +08:00
Ivan Grokhotkov
a1b66e8984 Merge branch 'bugfix/set_ccount_overflow' into 'master'
clk: Fix the overflow when setting ccount

See merge request idf/esp-idf!4309
2019-06-03 19:50:04 +08:00
baohongde
89e2b48a18 components/bt: Add API to config EIR data 2019-06-03 19:29:54 +08:00
Sergei Silnov
20156f9702 idf.py: Add support for action specific options
Changes argument parsing mechanism from argparse to a new one, that provides better support for extensions and options that are only applicable to specific subcommands,

Breaking changes:

1. All global options should go before subcommands, i.e. `idf.py build -C ~/some/project` will not work anymore, only `idf.py -C ~/some/project build` is acceptable
2. To provide multiple values to an option like `--define-cache-entry` it's necessary to repeat option many times, i.e. `idf.py -D entry1 entry2 entry3` will not work, right way is: `idf.py -D entry1 -D entry2 -D entry3`
At the moment there are 3 options like this:  `--define-cache-entry` in base list and `--test-components` and `--test-exclude-components` in the unit test extensions
3. Drops `defconfig` and `bootloader-clean` subcommands

Closes https://github.com/espressif/esp-idf/issues/3570
Closes https://github.com/espressif/esp-idf/issues/3571
2019-06-03 13:07:02 +02:00
Wu Jian Gang
4d3762a8df clk: Fix the overflow when setting ccount
The multiplication will be overflow when using 160 or 240 MHz, this can lead the inaccuracy of log time stamp in startup.
2019-06-03 11:04:47 +00:00
Ivan Grokhotkov
fa36433199 Merge branch 'feature/multiple_github_prs' into 'master'
Fixes from github PRs

See merge request idf/esp-idf!5040
2019-06-03 18:50:46 +08:00
Konstantin Kondrashov
399d2d2605 all: Using xxx_periph.h
Using xxx_periph.h in whole IDF instead of xxx_reg.h, xxx_struct.h, xxx_channel.h ... .

Cleaned up header files from unnecessary headers (releated to soc/... headers).
2019-06-03 14:15:08 +08:00
Konstantin Kondrashov
3ddab0b8f3 soc: Add xxx_periph.h for all modules
The "xxx_periph" header file includes all SOC-level definitions for that peripheral.

Closes: IDF-192
2019-06-03 13:56:54 +08:00
Angus Gratton
2f471cb046 Merge branch 'bugfix/pc_ble_example_uuid' into 'master'
protocomm_ble : Example updated to use custom 128bit service UUID

See merge request idf/esp-idf!5100
2019-06-03 13:23:46 +08:00
Angus Gratton
8b890bdaf3 Merge branch 'bugfix/protocomm_sec_mult_inst' into 'master'
Protocomm : Session security now supports multiple instances of the same type

See merge request idf/esp-idf!4756
2019-06-03 11:46:24 +08:00
Angus Gratton
92c5f17be0 Merge branch 'bugfix/protocomm_minor' into 'master'
Protocomm : Minor fixes

See merge request idf/esp-idf!5094
2019-06-03 09:48:03 +08:00
wangmengyang
bc6b80e7c2 add missing source files to CMakeLists for HFP 2019-05-31 18:54:19 +08:00
Jiang Jiang Jian
b859584f91 Merge branch 'feature/btdm_modem_sleep_with_32K_XTAL_under_light_sleep' into 'master'
Feature/btdm modem sleep with 32 k xtal under light sleep

See merge request idf/esp-idf!4744
2019-05-31 18:51:10 +08:00
Angus Gratton
1cf1f7e723 Merge branch 'bugfix/docs_rtd_failure_on_missing_submodule' into 'master'
docs: Add mqtt submodule to RTD build configuration. Now any submodule included in...

See merge request idf/esp-idf!5096
2019-05-31 16:26:45 +08:00
Angus Gratton
30d9ee56fb Merge branch 'feature/config_spi_pins_based_on_efuse_value' into 'master'
feat(psram): config SPI psram pins based on efuse value

See merge request idf/esp-idf!4950
2019-05-31 16:15:56 +08:00
suda-morris
c187f1ef6b esp_event: fix bug in set_default_eth_handler 2019-05-31 16:00:15 +08:00
David Cermak
37c91133ff esp_event: fix minor memory leak when overwriting alredy registered handler 2019-05-31 08:31:06 +02:00
David Cermak
a38b50a8a9 esp_event: extend register/unregister test case to cover overwriting existing handler works as expected 2019-05-31 08:31:06 +02:00
liu zhifu
8009320fb4 esp_wifi: fix wpa2 enterprise vulnerability issues
Fix following wpa2 enterprise vulnerability issues:
1. The station can complete 4-way handshake after EAP-FAIL is received
2. The station crashes if EAP-SUCCESS is received before PMK is setup
2019-05-30 21:19:26 +08:00
baohongde
13908160fb components/bt: Fix make errors due to macro usage error 2019-05-30 20:19:43 +08:00
Ivan Grokhotkov
8cc90bfbb1 esp_wifi: fix MD5 unit tests with CMake 2019-05-30 11:42:12 +08:00
Krzysztof Budzynski
b68f5b4f8c Merge branch 'feature/kconfig_format_docs' into 'master'
docs: Kconfig formatting rules and backward compatibility of options

See merge request idf/esp-idf!5052
2019-05-30 10:11:56 +08:00
Angus Gratton
0b70dfc27f Add floating point performance test 2019-05-30 10:09:24 +10:00
Roland Dobai
5b15686e29 docs: Kconfig formatting rules and backward compatibility of options 2019-05-29 14:56:23 +02:00
Roland Dobai
5034a57605 Tools: Fix CMake menuconfig used with combination of MSYS and CMD 2019-05-29 14:35:57 +02:00
Christian
4f8d5d25c4 Delete unneeded code fragments from GPIO-example
Closes https://github.com/espressif/esp-idf/pull/2822
2019-05-29 18:02:18 +05:30
technosf
9ade9f68b3 Update i2c.rst
I2C mode is set during configuration, not the 'op(eration) mode'

Closes https://github.com/espressif/esp-idf/pull/3452
2019-05-29 18:02:18 +05:30
Roosted7
1c56e33d1c Improve Linux cmake getting started documentation
Closes https://github.com/espressif/esp-idf/pull/3347
2019-05-29 18:02:18 +05:30
Ozan Müyesseroğlu
9495b7a7a6 Minor fix on Scheduler Suspension subtitle
Closes https://github.com/espressif/esp-idf/pull/3343
2019-05-29 18:02:18 +05:30
Alois Mbutura
4b1f8ef3a2 Correct seconds calculation from TLM data field
The SEC_CNT field in the eddystone TLM frame represents the number of centiseconds
elapsed since reboot. A divisor of 10 has been placed within the code to derive seconds from SEC_CNT.

Closes https://github.com/espressif/esp-idf/pull/3300
2019-05-29 18:02:18 +05:30
Alois Mbutura
b6ad457904 Update esp_eddystone_api.h
Change incorrect bitshifts in big_endian_read_32() function.
This was giving wrong values of of the 4 byte fieldswithin the eddystone TLM message, namely 'ADV_CNT' and 'SEC_CNT'
2019-05-29 18:02:18 +05:30
Mark Stevens
485df5e6c5 Fixed inconcsistent file name
Closes https://github.com/espressif/esp-idf/pull/3270
2019-05-29 18:02:18 +05:30
lenhart
920d35b5d0 Update i2c documentation
Description for i2c_slave_read_buffer had leftover from copying from write fct. data
pointer description described the wrong way (writing into internal buffer)

Closes https://github.com/espressif/esp-idf/pull/3268
2019-05-29 18:02:18 +05:30
Oleg Antonyan
4430456b64 Change SPI_USE_RXDATA->SPI_TRANS_USE_RXDATA and SPI_USE_TXDATA->SPI_TRANS_USE_TXDATA on documentation
Closes https://github.com/espressif/esp-idf/pull/2802
2019-05-29 18:02:18 +05:30
Stephen Bird
058c6afd3c Add option to disable server side SSL session tickets as well as client
Closes https://github.com/espressif/esp-idf/pull/2570
2019-05-29 18:02:18 +05:30
Krzysztof Budzynski
5f62d8be79 Merge branch 'docs/update_idf_monitor' into 'master'
Docs/update idf monitor

See merge request idf/esp-idf!5084
2019-05-29 18:11:41 +08:00
Natasha
96db6f906a Docs/update idf monitor 2019-05-29 18:11:40 +08:00
Anurag Kar
1831a375ec protocomm_ble : Example updated to use custom 128bit service UUID
Also removed old hardcoded UUIDs from README of esp_prov
2019-05-29 13:53:08 +05:30
Angus Gratton
31b854e17d Merge branch 'feature/do_not_use_link_groups' into 'master'
Do not use link groups

See merge request idf/esp-idf!4897
2019-05-29 15:18:31 +08:00
Angus Gratton
05be37c87c idf_size: Support JSON output
Pass -DOUTPUT_JSON=1 to get JSON formatted output from CMake targets
2019-05-29 17:11:53 +10:00
Jiang Jiang Jian
da13efc17a Merge branch 'feature/btdm_msbc_codec' into 'master'
Wide Band Speech for HFP

See merge request idf/esp-idf!4854
2019-05-29 14:39:21 +08:00
Angus Gratton
73b90387cb Merge branch 'bugfix/reset_log_uart_port' into 'master'
esp32: Add reset CONSOLE_UART port

See merge request idf/esp-idf!5011
2019-05-29 14:28:37 +08:00
Krzysztof Budzynski
9ac5a464cd Merge branch 'doc/review_pwr_management' into 'master'
Doc/review power management

See merge request idf/esp-idf!4674
2019-05-29 12:59:53 +08:00
Kirill Chalov
588f059159 Doc/review power management 2019-05-29 12:59:52 +08:00
Angus Gratton
c7a0d5e063 Fix bug in the floating point unit test code 2019-05-29 10:14:31 +10:00
Angus Gratton
d9a5c8f387 esp32: Use FPU for floating point divide, power, complex multiplications
* Linker was choosing ROM symbols for these, which use integer soft-float
  operations and are much slower.
* _divsf3() moved to IRAM to avoid regressions with any code that does
  integer float division in IRAM interrupt handlers (+88 bytes IRAM)
* Thanks to michal for reporting:
  https://esp32.com/viewtopic.php?f=14&t=10540&p=43367
2019-05-29 10:14:31 +10:00
Angus Gratton
154fc74f76 Merge branch 'bugfix/nvs_typedef_naming_pr3239' into 'master'
nvs: Append _t to nvs_handle & nvs_open_mode types

Closes IDFGH-891

See merge request idf/esp-idf!4783
2019-05-29 08:14:00 +08:00
Angus Gratton
80fb837b29 Merge branch 'bugfix/kconfig_checker_message' into 'master'
Tools: Produce a clearer message for Kconfig prefix errors

See merge request idf/esp-idf!5054
2019-05-29 08:10:31 +08:00
Angus Gratton
9d0ca60398 Merge branch 'bugfix/mqtt_improved_receive' into 'master'
MQTT improved receive and minor updates to weekend tests

See merge request idf/esp-idf!4947
2019-05-29 08:07:17 +08:00
chenjianqiang
db138ae19b feat(psram): config SPI psram pins based on efuse value 2019-05-28 21:25:16 +08:00
Krzysztof
1031f77262 docs: Add mqtt submodule to RTD build configuration. Now any submodule included in documentation build by Doxygen should be included in this file 2019-05-28 20:11:21 +08:00
wangmengyang
f678a6289d reduce the minimum delay uncertainty of esp_timer for Bluetooth modem sleep from 1.8ms to 0.5ms for lower power consumption 2019-05-28 19:56:31 +08:00
wangmengyang
ff2c583a0d component/bt: Add option to configure BLE SCA through menuconfig and use a fixed value of clock cycle to estimate sleep duration for external 32kHz oscillator 2019-05-28 19:56:26 +08:00
Anurag Kar
5384338341 Protocomm : Minor fixes
List of changes:
* protocomm_httpd : Reset session_id static variable on start and stop
* security1 : Typo in checking failed dynamic allocation
2019-05-28 14:41:49 +05:30
Anurag Kar
9c6bec203d HTTP Server : Close new session immediately if open_fn fails
open_fn() was introduced in the context of HTTPS server, as a configurable callback function that is called by the HTTP server, on every newly created socket. It is responsible of allocating resources for per session transport security.

Earlier, if open_fn were to fail, the newly created socket would be closed by the server but the corresponding entry, for the now invalid socket, will remain in the internal socket database until that invalid socket is detected due to error when calling select(). Because of this delayed closing of sockets, the HTTPS server would quickly face shortage of available sessions when a lot of SSL handshake errors are happening (this typically occurs when a browser finds that the server certificate is self signed). This changes in this MR fix this issue by clearing up the socket from internal database, right after open_fn fails.

Closes https://github.com/espressif/esp-idf/issues/3479
2019-05-28 08:49:02 +00:00
chenjianqiang
d68f1907ef bugfix(flash): improve flash dio read timing
When flash work in DIO Mode, in order to ensure the fast read mode of flash
is a fixed value, we merged the mode bits into address part, and the fast
read mode value is 0 (the default value).
2019-05-28 14:51:04 +08:00
Angus Gratton
550b1897c8 Merge branch 'feature/idf_tools_dir_2' into 'master'
IDF tools metadata file and IDF_TOOLS_PATH support

See merge request idf/esp-idf!4411
2019-05-28 13:39:47 +08:00
Renz Christian Bagaporo
b3b6ce2eea docs: remove reference of using link groups 2019-05-28 13:01:43 +08:00
Angus Gratton
22514c1dd9 cmake: For gcc8 use linker to find paths to libc, libm, libstdc++, etc
Removes the need to know/guess the paths to these libraries. Once we are gcc 8 only, we
can remove -nostdlib and no additional arguments are needed for system libraries.

The catch is: any time IDF overrides a symbol in the toolchain sysroot, we need
an undefined linker marker to make sure this symbol is seen by linker.
2019-05-28 12:54:37 +08:00
Renz Christian Bagaporo
2c12080049 components: correct dependency information for linking without link groups 2019-05-28 10:51:02 +08:00
Renz Christian Bagaporo
83ce35d638 cmake: do not use link groups 2019-05-28 10:51:02 +08:00
David Cermak
7963ac65af mqtt_tests: add weekend test for sending and receiving empty payload messages, update config options per new naming convetions 2019-05-27 21:57:18 +02:00
David Cermak
38d15cbd63 mdns tests: adapt mdns fuzzer test to compile with event loop library 2019-05-27 16:31:25 +02:00
David Cermak
d19b20388f lwip tests: adapt fuzzer test mocks to comply with 4.0 refactoring 2019-05-27 16:31:24 +02:00
David Cermak
db121a56e1 tcp_transport: modified ws_read to read payload directly to the read buffer and separately from header bytes
Previous version read all data to the buffer including header which reduced maximum payload read. This version uses a local array to receive header and reads payload bytes to the buffer
2019-05-27 16:31:24 +02:00
wangmengyang
7403e8e11c component/bt: remove the pm_lock that prevents light sleep in case that external 32kHz crystal is used as Bluetooth low power clock 2019-05-27 17:47:33 +08:00
Angus Gratton
801f5d6e82 Merge branch 'bugfix/more_cmake_fixes' into 'master'
More CMake fixes

See merge request idf/esp-idf!5060
2019-05-27 15:48:25 +08:00
Angus Gratton
b2e54a9cc6 ci: Add IDF_DEPRECATED macro for things we only deprecate in our CI passes 2019-05-27 17:43:38 +10:00
Angus Gratton
02f2e63662 Merge branch 'feature/use_cmake_function_call_for_embedding_ulp' into 'master'
Use function call for embedding ULP binaries

See merge request idf/esp-idf!4242
2019-05-27 13:14:09 +08:00
Krzysztof Budzynski
c61a0bba4e Merge branch 'docs/translate-getting-started-guides-wrover' into 'master'
Add translation for ESP32-WROVER-KIT Getting Started Guides

See merge request idf/esp-idf!4672
2019-05-27 07:53:20 +08:00
Natasha
440c42693d Add translation for ESP32-WROVER-KIT Getting Started Guides 2019-05-27 07:53:20 +08:00
Jiang Jiang Jian
0685a2e9f6 Merge branch 'bugfix/fix_no_disconnect_event_when_rx_disassoc_after_send_auth' into 'master'
wifi: fix the bug no disconnect event when STA recv disassoc after sending auth

Closes WIFI-431, WIFI-507, and IDFGH-1160

See merge request idf/esp-idf!4833
2019-05-24 19:56:50 +08:00
baohongde
fcf4886172 components/bt: Support EV3 packet type 2019-05-24 17:36:10 +08:00
baohongde
dd906a91a5 components/bt: Enable mSBC and add decoder and encoder 2019-05-24 17:36:10 +08:00
baohongde
20758443df components/bt: Add packet loss concealment (PLC) for HFP 2019-05-24 17:33:52 +08:00
baohongde
e10d5aaddc component/bt: modify the SBC decoder to support mSBC mode 2019-05-24 17:33:52 +08:00
wangmengyang
7c28611a3d component/bt: modify the SBC encoder to support mSBC mode 2019-05-24 17:33:52 +08:00
baohongde
f15323b453 component/bt: remove SBC frame scramling 2019-05-24 17:33:52 +08:00
Ivan Grokhotkov
8f7e01baed tools: add metadata file and idf_tools.py 2019-05-24 17:04:23 +08:00
Ivan Grokhotkov
8d1a9c07a0 tools/check_python_dependencies: make aware of IDF_TOOLS_PATH 2019-05-24 17:04:23 +08:00
Ivan Grokhotkov
8d136a103b idf.py: allow overriding the program name 2019-05-24 17:04:23 +08:00
Ivan Grokhotkov
74247ed7f5 ci: keep executables list formatted 2019-05-24 17:04:23 +08:00
zhangyanjiao
22a991bb29 wifi bugfixs:
1. fix the bug no disconnect event when STA recv disassoc after sending auth
2. fix the bug full scan send multi events when recv deauth/disassoc

Closes https://github.com/espressif/esp-idf/issues/3474
2019-05-24 11:23:16 +08:00
Anton Maklakov
fd70355d5d Merge branch 'bugfix/idfpy_confserver' into 'master'
Fix cmake confserver target

See merge request idf/esp-idf!5047
2019-05-23 19:54:04 +08:00
Renz Christian Bagaporo
25b539d4fc cmake: make project includes know gcc version as well 2019-05-23 18:39:31 +08:00
Renz Christian Bagaporo
74c6c926ea nghttp: move HAVE_CONFIG_H compile definition to component 2019-05-23 18:39:31 +08:00
Renz Christian Bagaporo
f125a9aaf4 cmake: restore creation of kconfig_menus.json 2019-05-23 18:39:31 +08:00
Jiang Jiang Jian
49edb193ec Merge branch 'bugfix/fix_some_wifi_bugs_0508' into 'master'
esp_wifi: fix some wifi bugs 0508

Closes WIFI-310, WIFI-384, WIFI-526, and FCS-176

See merge request idf/esp-idf!4957
2019-05-23 17:55:03 +08:00
hemal.gujarathi
865b24144e remove secure boot test mode 2019-05-23 14:13:08 +05:30
Roland Dobai
a52451258e Fix cmake confserver target 2019-05-23 08:29:05 +02:00
Angus Gratton
c879aff6f5 Merge branch 'bugfix/cmake_git_describe' into 'master'
cmake: Project & IDF git revisions: Show un-annotated tags and -dirty flag

See merge request idf/esp-idf!5042
2019-05-23 12:36:49 +08:00
Angus Gratton
95dcfecedc cmake: Project & IDF git revisions: Show un-annotated tags and -dirty flag
Adds --tags and --dirty flags to cmake git_describe() calls, and not
pass the HEAD commit hash (incompatible with --dirty)

Makes IDF_VER output the same as in Make build system

Thanks to @william-ferguson-au for reporting this:
https://github.com/espressif/esp-idf/issues/3378#event-2355460974
2019-05-23 13:46:23 +10:00
Ivan Grokhotkov
0cb6b8be01 Merge branch 'feature/example_ota_over_ethernet' into 'master'
update ota example to support both Wi-Fi and Ethernet

Closes IDFGH-427

See merge request idf/esp-idf!4801
2019-05-23 11:27:26 +08:00
liu zhifu
197e0ae147 esp_wifi: fix some WiFi bugs
Fix following WiFi bugs:
1. Make smartconfig thread-safe
2. Fix WiFi stop/deinit memory leak
3. Refactor for WiFi init/deinit/ioctl etc
4. Add declaration for esp_wifi_internal_ioctl()
5. Fix the bug that WiFi stop leads to task watchdog
2019-05-22 22:18:05 +08:00
Roland Dobai
d97d3c2bc7 Tools: Produce a clearer message for Kconfig prefix errors 2019-05-22 15:48:30 +02:00
Jiang Jiang Jian
81ca1c0139 Merge branch 'bugfix/fix_softap_crash_when_sta_reset' into 'master'
wifi: fix softap crash when sta reset

Closes WIFI-509

See merge request idf/esp-idf!4995
2019-05-22 21:00:40 +08:00
suda-morris
1886d8d4ef update ota examples to support both Wi-Fi and Ethernet 2019-05-22 17:56:10 +08:00
Jeroen Domburg
0e7442bb7a Merge branch 'feature/spi_slave_support_hal' into 'master'
spi_slave: add HAL support

See merge request idf/esp-idf!4830
2019-05-22 13:42:11 +08:00
Ivan Grokhotkov
1466f37a9b Merge branch 'bugfix/esp_event_unregistration_issue' into 'master'
esp_event: fix issue with post data preparation

Closes #76

See merge request idf/esp-idf!5007
2019-05-22 12:26:47 +08:00
Renz Christian Bagaporo
8ed07d0bb2 esp_event: check that event data is prepared properly 2019-05-22 11:30:27 +08:00
Renz Christian Bagaporo
136e5bc32d esp_event: style fixes 2019-05-22 11:29:56 +08:00
Renz Christian Bagaporo
4042902402 esp_event: always alloc data when not posting from isr 2019-05-22 11:29:17 +08:00
Renz Christian Bagaporo
f21b8bbf55 esp_event: fix issue with post data preparation
Fixes an issue with post instance data preparation. Currently, there is
no way to check if event data has really been set during handler
execution preparation. When data is not allocated from the heap, user
could have passed 0x0 which can lead to failed checks.

This also implements using the already allocated data memory for posting
events from non-ISR functions when data size is less than the capacity.
2019-05-22 11:28:39 +08:00
Angus Gratton
e8ade3c68d Merge branch 'feature/Kconfig_rename' into 'master'
Rename Kconfig options

Closes IDF-265

See merge request idf/esp-idf!4883
2019-05-22 11:08:36 +08:00
GOPTIONS\pfrost
897bb55482 nvs: Append _t to nvs_handle & nvs_open_mode types
Merges https://github.com/espressif/esp-idf/pull/3239/
2019-05-22 02:53:28 +00:00
Renz Christian Bagaporo
32027805d4 docs: update instructions on how to embed ulp binaries 2019-05-21 20:00:06 +08:00
Renz Christian Bagaporo
443850b1a8 example: update ulp example to use cmake function 2019-05-21 20:00:06 +08:00
Renz Christian Bagaporo
4483724df8 ulp: use cmake function to embed ulp binaries 2019-05-21 20:00:06 +08:00
Renz Christian Bagaporo
e1db12993b bootloader: pass legacy header config variable to subproject 2019-05-21 17:03:45 +08:00
Ivan Grokhotkov
e1a3dc50de Merge branch 'bugfix/cmake_changes_fixes' into 'master'
CMake: various bugfixes

See merge request idf/esp-idf!5030
2019-05-21 15:53:15 +08:00
Roland Dobai
151f757912 Rename Kconfig options (examples) 2019-05-21 09:32:55 +02:00
Roland Dobai
1ad2283641 Rename Kconfig options (components/bootloader) 2019-05-21 09:32:55 +02:00
Roland Dobai
997b29a9ca Rename Kconfig options (components/esptool_py) 2019-05-21 09:32:55 +02:00
Roland Dobai
6c0a7a66f3 Rename Kconfig options (components/app_trace) 2019-05-21 09:32:55 +02:00
Roland Dobai
a1bddb923b Rename Kconfig options (components/bt) 2019-05-21 09:09:01 +02:00
Roland Dobai
24a2e5a17e Rename Kconfig options (components/tcpip_adapter) 2019-05-21 09:09:01 +02:00
Roland Dobai
d61d58e78d Rename Kconfig options (components/pthread) 2019-05-21 09:09:01 +02:00
Roland Dobai
0ae53691ba Rename Kconfig options (components/esp32) 2019-05-21 09:09:01 +02:00
Roland Dobai
d4af5e6fff Rename Kconfig options (components/ethernet) 2019-05-21 09:09:01 +02:00
Roland Dobai
b8111ab1d5 Rename Kconfig options (components/esp_wifi) 2019-05-21 09:09:01 +02:00
Roland Dobai
92950db44e Rename Kconfig options (components/lwip) 2019-05-21 09:09:01 +02:00
Roland Dobai
e9f1011b1b Rename Kconfig options (components/driver) 2019-05-21 09:09:01 +02:00
Roland Dobai
bf626f2aba Rename Kconfig options (components/esp_event) 2019-05-21 09:09:01 +02:00
Roland Dobai
976d2a4b7f Rename Kconfig options (components/freemodbus) 2019-05-21 09:09:01 +02:00
Roland Dobai
64c2aa15aa Rename Kconfig options (components/freertos) 2019-05-21 09:09:01 +02:00
Roland Dobai
c5000c83d2 Rename Kconfig options (root) 2019-05-21 09:09:01 +02:00
Roland Dobai
1af263ebb2 tools: Check syntax also of Kconfig.in files 2019-05-21 09:09:01 +02:00
Roland Dobai
979e1e32cb tools: Ignore sdkconfig.rename files from the example directory 2019-05-21 09:09:01 +02:00
Roland Dobai
67e7cd8a0f tools: Kconfig checker ignores test files 2019-05-21 09:09:01 +02:00
Roland Dobai
254c1c1085 Confgen: link config options to parent choices in the docs 2019-05-21 09:09:01 +02:00
Roland Dobai
30ca5c7a88 Confgen: Fix prefix removal to work for exact match only 2019-05-21 09:09:01 +02:00
Angus Gratton
3bf56cdd17 Merge branch 'bugfix/ws_read_fragmented_header' into 'master'
Fix reading http header if received in multiple chunks

See merge request idf/esp-idf!4996
2019-05-21 14:56:34 +08:00
Konstantin Kondrashov
be6f5563b4 esp32: Add reset uart
Fixed the case when the first part of log was missed
this was happened when:
 * CONFIG_CONSOLE_UART_CUSTOM option is selected (UART1)
 * The selected CONSOLE_UART port is used also for the console component
 * in code esp_restart() or abort() functions were called.
2019-05-21 06:18:28 +00:00
Angus Gratton
ba51e9fb5c Merge branch 'bugfix/aes_fault_inj' into 'master'
mbedtls: Add simple fault injection check for hardware AES peripheral

See merge request idf/esp-idf!5023
2019-05-21 13:44:32 +08:00
Ivan Grokhotkov
0ccb7541f5 Merge branch 'feature/nvs_check_item_modified' into 'master'
nvs: Check if an item is modified before writing out an identical copy

See merge request idf/esp-idf!4934
2019-05-21 10:54:21 +08:00
Ivan Grokhotkov
6b08e8b449 esp_timer: handle esp_timer_delete in timer task
Closes https://github.com/espressif/esp-idf/issues/3458
2019-05-21 10:48:28 +08:00
Angus Gratton
af98ca6b46 hwcrypto: Add AES fault injection check
Hardware AES-CBC performance changes:

Release config 11.0MB/sec -> 10.8MB/sec
Debug config 9.4MB/sec -> 9.8MB/sec

(Unrolling the loop to optimize the check improves
performance at -Og, even with the fault check.)
2019-05-21 12:41:42 +10:00
Angus Gratton
c9edb7c8a9 mbedtls: Add AES-CBC performance test
Hardware AES engine gets 11.0MB/sec on Release config
Software AES is around 2.3MB/sec on Release config
2019-05-21 12:41:40 +10:00
Angus Gratton
ef05ccf666 Merge branch 'feature/download_fonts_only_if_missing' into 'master'
Download font file only is not exists in target location

See merge request idf/esp-idf!4979
2019-05-21 09:51:39 +08:00
Krzysztof Budzynski
52cf8c39aa Download font file only is not exists in target location 2019-05-21 09:51:39 +08:00
David Cermak
d41d70b8ef tcp_transport: reading http header in a chunked mode until header terminator received (or timeout) to correctly receive all header if fragmented
Closes https://github.com/espressif/esp-idf/issues/3461
2019-05-20 16:40:03 +02:00
xiehang
2273646bda wifi: fix softap crash when sta reset 2019-05-20 19:57:50 +08:00
Renz Christian Bagaporo
b4ad6c1426 cmake: refactor quick check given component dirs 2019-05-20 19:24:17 +08:00
Renz Christian Bagaporo
e1726a91ce cmake: project includes should know about ESP_PLATFORM variable 2019-05-20 18:24:34 +08:00
Renz Christian Bagaporo
e3eb945fd2 cmake: restore use of GNU extensions from libc 2019-05-20 18:24:34 +08:00
Renz Christian Bagaporo
5175a152d9 cmake: exclude dot-dirs from added components 2019-05-20 18:24:34 +08:00
Renz Christian Bagaporo
078c69e689 cmake: remove redundant variable setting 2019-05-20 18:24:34 +08:00
Michael (XIAO Xufeng)
33db6d608e spi_slave: add HAL support 2019-05-20 07:34:34 +00:00
Angus Gratton
595d702e97 Merge branch 'feature/update_esp_tls_config' into 'master'
esp-tls: Add support to add CN from config and validate PEM buffers

See merge request idf/esp-idf!4929
2019-05-20 14:00:37 +08:00
Angus Gratton
c8a2760741 Merge branch 'bugfix/windows_detection_on_make' into 'master'
Windows detection on Makefiles cleanup

See merge request idf/esp-idf!4945
2019-05-20 13:59:05 +08:00
Angus Gratton
8c6ff874af Merge branch 'bugfix/custom_log_uart_rx_pin' into 'master'
bootloader_support: Fix UART RXD pin for console output (CUSTOM option)

Closes IDFGH-505

See merge request idf/esp-idf!5009
2019-05-20 13:58:37 +08:00
Angus Gratton
826acbc3de Merge branch 'bugfix/custom_bootloader_subproject_build' into 'master'
CMake: Fix custom bootloader does not override original

See merge request idf/esp-idf!5000
2019-05-20 13:58:03 +08:00
Ivan Grokhotkov
6ca07eca68 esp_common: add version definitions in code and build system
Closes https://github.com/espressif/esp-idf/issues/2482
Closes IDF-253
2019-05-20 13:14:56 +08:00
Angus Gratton
113e02aa3a Merge branch 'bugfix/idf_py_fixes' into 'master'
idf.py fixes from GitHub

Closes IDFGH-1005 and IDFGH-1006

See merge request idf/esp-idf!5012
2019-05-20 12:22:19 +08:00
Ivan Grokhotkov
2b301f53e4 Merge branch 'bugfix/fix_build_make_macos' into 'master'
make: fix build failure on macos with GNU make <= 3.81

See merge request idf/esp-idf!5010
2019-05-20 10:44:49 +08:00
Jitin George
d1c6bbf42e esp-tls: Add support to add CN from config and validate PEM buffers 2019-05-17 20:06:44 +05:30
Renz Christian Bagaporo
1cf6964386 ci: check that custom bootloader overrides original 2019-05-17 15:17:54 +08:00
Renz Christian Bagaporo
927007fdd2 cmake: fix custom bootloader issue
Issue is that when users creates a custom bootloader from
$IDF_PATH/components/bootloader. Parent project build uses the copy but
bootloader subproject build uses the original still. The issue is solved
by passing the custom bootloader as extra component directory so
bootloader build knows to use the new copy (itself) in the build.
2019-05-17 15:17:32 +08:00
Angus Gratton
5c0ce79f59 idf.py: Fix encoding issue with serial port names on Windows
Closes https://github.com/espressif/esp-idf/issues/3334
2019-05-17 14:25:53 +08:00
Angus Gratton
907471ce41 Merge branch 'feature/cmake_changes_for_4.0' into 'master'
CMake for 4.0

See merge request idf/esp-idf!4452
2019-05-17 14:21:48 +08:00
Angus Gratton
f91d969c13 idf.py: Use mingw32-make for version check
Closes https://github.com/espressif/esp-idf/issues/3333
2019-05-16 21:20:10 +08:00
David Cermak
8f91d730da make: fix build failure on macos with GNU make <= 3.81
Closes https://github.com/espressif/esp-idf/issues/3459
2019-05-16 14:09:43 +02:00
Angus Gratton
6cdfde094d Merge branch 'bugfix/protocomm_ble_128bit_uuid' into 'master'
protocomm_ble : Fix support for custom service UUIDs

See merge request idf/esp-idf!4978
2019-05-16 19:55:47 +08:00
Konstantin Kondrashov
98c77cebb2 bootloader_support: Fix UART RXD pin for console output (CUSTOM option)
The RXD pin is assigned as input (fix for custom uart option).

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

Closes: IDFGH-505
2019-05-16 11:18:56 +00:00
Krzysztof Budzynski
ad3b820e70 Merge branch 'bugfix/docs_build_failure_on_rtd' into 'master'
Fixed Breathe version to avoid docs build failure on ReadTheDocs server....

See merge request idf/esp-idf!4928
2019-05-15 21:27:40 +08:00
Krzysztof Budzynski
dc3f7824dc Merge branch 'doc/add_translation_for_api-reference_index.rst' into 'master'
Add Chinese translation for index.rst files and esp_wifi.rst file in api-reference following Kirill's English review

See merge request idf/esp-idf!4943
2019-05-15 21:05:45 +08:00
Wang Fang
2864d6deb3 Add Chinese translation for index.rst files and esp_wifi.rst file in api-reference following Kirill's English review, including:
-network/index.rst
-network/esp_wifi.rst
-peripherals/index.rst
-provisioning/index.rst
2019-05-15 21:05:44 +08:00
Krzysztof
27fe2006de Fixed Breathe version to avoid docs build failure on ReadTheDocs server. Provided RTD project configuration file to be able to select python version for specific to esp-idf release. 2019-05-15 20:40:48 +08:00
Anurag Kar
015922f8d9 esp_prov : Runtime discovery of Service UUID and endpoint name mapping
List of changes:
* Retrieve UUID property from Bluez device object before connecting to retrieve UUID contained in advertisement
* Read Characteristic User Descriptions attribute of each UUID for mapping endpoint names
* To support older implementations with hardcoded Name-UUID map, revert to fallback mode in order if advertisement data has no UUID field
2019-05-15 12:27:03 +00:00
Anurag Kar
120bd3a456 protocomm_ble : Fixed custom service UUID support
List of changes:
* Use 128 bit characteristic UUIDs when creating GATT table entries
* Change primary service attribute value to 128 bit custom service UUID
* Use raw advertisement data to convey flags and 128 bit primary service UUID
* Use raw scan response to send device name as complete local name
* Increase maximum device name length in relation to maximum scan response length
* Set Characteristic User Description attributes for each characteristic to convey protocomm endpoint names
2019-05-15 12:27:03 +00:00
Angus Gratton
f9043c43c9 Merge branch 'bugfix/win_py_case_insensitive' into 'master'
idf.py: Add more case-insensitive support on Win

See merge request idf/esp-idf!4991
2019-05-15 14:16:52 +08:00
Angus Gratton
208e1ecc29 Merge branch 'bugfix/mdns_docs_usage' into 'master'
mdns: documentation: fixed inconsistent enum in example of reading mdns results

See merge request idf/esp-idf!4997
2019-05-15 12:57:24 +08:00
Angus Gratton
1b4c7d30e5 Merge branch 'bugfix/esp_efuse_fields_unused_variable' into 'master'
efuse: Fix unused variable warning when NDEBUG

Closes IDFGH-1114

See merge request idf/esp-idf!4955
2019-05-15 12:48:28 +08:00
Angus Gratton
3f7bd872ac Merge branch 'refactor/power_management' into 'master'
power_management: Using port*_CRITICAL_ISR to be consistent with FreeRTOS

See merge request idf/esp-idf!4412
2019-05-15 12:27:58 +08:00
David Cermak
786f5641f7 mdns: documentation: fixed inconsistent enum in example of reading mdns results 2019-05-14 16:41:07 +02:00
Angus Gratton
0458bacc4e Merge branch 'bugfix/httpd_log_purge' into 'master'
esp_http_server : Logging of purged data to monitor made configurable

Closes IDFGH-1034

See merge request idf/esp-idf!4941
2019-05-14 18:07:51 +08:00
Renz Christian Bagaporo
7493bd2e28 cmake: add command to get config value 2019-05-14 18:01:14 +08:00
Renz Christian Bagaporo
de9bb5a160 cmake: fix scope issues 2019-05-14 18:01:14 +08:00
Renz Christian Bagaporo
477fa49fc0 examples: update idf_as_lib example to use new api 2019-05-14 18:01:14 +08:00
Renz Christian Bagaporo
c564d1730f esp_common: append gc sections link flag 2019-05-14 18:01:14 +08:00
Renz Christian Bagaporo
d214bb912f examples: update with build system changes 2019-05-14 18:01:14 +08:00
Anton Maklakov
eb867aeff3 idf.py: Add more case-insensitive support 2019-05-14 11:45:39 +07:00
Renz Christian Bagaporo
ffec9d4947 components: update with build system changes 2019-05-13 19:59:17 +08:00
Renz Christian Bagaporo
ee92352bf8 docs: update with build system changes 2019-05-13 19:57:39 +08:00
Angus Gratton
99f8a811fd cmake: Warn if something which looks like a component directory isn't
Otherwise, fails build at the add_subdirectory stage
2019-05-13 19:57:39 +08:00
Angus Gratton
3cf56ea6b6 cmake: Fix menuconfig target
need to load mconf path as build property
2019-05-13 19:57:39 +08:00
Renz Christian Bagaporo
c6dc47b3e2 cmake: build system changes 2019-05-13 19:57:39 +08:00
Sachin Parekh
e6a714480d unit-test-app: freertos_compliance config added
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
d803465ec6 ref_clock: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
a190b527ac power_management: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
db8041a67f intr_alloc: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
f3db0b5a4a crosscore_init: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
5979086379 timer: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
7f37824eb7 rtc_module: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
da41885e85 rmt: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
e9898b1280 periph_ctrl: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
5c6b9adf11 freertos: port*_CRITICAL_SAFE API added
port*_CRITICAL_SAFE API calls port*_CRITICAL or port*_CRITICAL_ISR
depending on the context (Non-ISR or ISR respectively).

FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE Kconfig option added

Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Angus Gratton
56078159d4 Merge branch 'bugfix/xTaskIncrementTick' into 'master'
freertos: Fix xTaskIncrementTick for unwind the Tick for CPU1

Closes IDF-183

See merge request idf/esp-idf!4792
2019-05-13 12:34:54 +08:00
Angus Gratton
6488e8a8b5 Merge branch 'feature/example_restful_server' into 'master'
add http restful server example

Closes IDF-584

See merge request idf/esp-idf!4829
2019-05-13 12:33:21 +08:00
Angus Gratton
ecd3db0795 Merge branch 'feature/sha_rewrite_rom_functions' into 'master'
esp32: Rewrite esp_sha() function with mbedtls APIs

See merge request idf/esp-idf!4236
2019-05-13 12:32:45 +08:00
Konstantin Kondrashov
bbdeff1da1 esp32: Rewrite esp_sha function
It removes using a STALL_OTHER_CPU while sha operations.
It improves performance with SHA.
2019-05-13 12:32:45 +08:00
Angus Gratton
014de712ab Merge branch 'feature/update_cjson_lib_to_1.7.11' into 'master'
cJSON: update to v1.7.11

Closes IDFGH-1004

See merge request idf/esp-idf!4881
2019-05-13 12:31:19 +08:00
Krzysztof Budzynski
01b738055b Merge branch 'docs/translate-getting-started-guides-pico' into 'master'
Add translation for ESP32-PICO-KIT Getting Started Guides

See merge request idf/esp-idf!4640
2019-05-13 11:19:52 +08:00
Natasha
975a9c49f0 Add translation for ESP32-PICO-KIT Getting Started Guides 2019-05-13 11:19:52 +08:00
Krzysztof Budzynski
6fd535c985 Merge branch 'docs/translate_idf_versions' into 'master'
Add translation for version file

See merge request idf/esp-idf!4917
2019-05-10 19:17:49 +08:00
Natasha
0caabec88f Add translation for version file 2019-05-10 19:17:49 +08:00
Anurag Kar
6bf423d1e1 esp_http_server : Logging of purged data to monitor made configurable
List of changes:
* Kconfig option HTTPD_LOG_PURGE_DATA enables logging of purged data
* Kconfig option HTTPD_PURGE_BUF_LEN sets purge buffer length
* Purged data is logged in hex

Closes https://github.com/espressif/esp-idf/issues/3359
2019-05-10 14:25:39 +05:30
Jiang Jiang Jian
1c46caf70c Merge branch 'bugfix/modify_TCP_MSS_range' into 'master'
Change the default value of TCP_MSS to 1440 and TCP_MSS Range : [536 1460]

See merge request idf/esp-idf!4968
2019-05-10 13:52:16 +08:00
suda-morris
11c17ab5b6 add RESTful API server example 2019-05-10 13:21:14 +08:00
Angus Gratton
ce45e7806b Merge branch 'feature/add_promiscuous_control_for_ethernet' into 'master'
add promiscuous mode control for Ethernet

See merge request idf/esp-idf!4953
2019-05-10 12:51:15 +08:00
Angus Gratton
b6a24bbd25 Merge branch 'feature/esp-https-ota-basic-auth' into 'master'
esp_https_ota: component refactoring, bugfixes and feature additions

See merge request idf/esp-idf!4245
2019-05-10 12:39:14 +08:00
Angus Gratton
b991aa1ecb Merge branch 'bugfix/fix_minor_gh_issues' into 'master'
mdns: minor fixes mainly from GitHub

Closes #77

See merge request idf/esp-idf!4930
2019-05-10 12:31:30 +08:00
Angus Gratton
073573aa5d Merge branch 'bugfix/issue_with_encryption_flag_for_partition' into 'master'
partition: Fix "encrypted" read/write when encryption is disabled

See merge request idf/esp-idf!4927
2019-05-10 10:51:21 +08:00
Angus Gratton
8720a13d0f Merge branch 'bugfix/spiffsgen_path_on_windows' into 'master'
Fix issue with spiffsgen path when creating image in Windows

Closes IDFGH-1095

See merge request idf/esp-idf!4931
2019-05-10 10:23:28 +08:00
Angus Gratton
b4979f9c2a Merge branch 'bugfix/restore_ccache_use' into 'master'
CMake : Restore ccache use

Closes IDFGH-673

See merge request idf/esp-idf!4944
2019-05-10 10:16:04 +08:00
xiehang
403f588fd0 Change the default value of TCP_MSS to 1440 and TCP_MSS Range : [536 1460] 2019-05-09 19:49:59 +08:00
Ivan Grokhotkov
c2aef48a57 Merge branch 'bugfix/pass_IDF_TARGET_to_bootloader_build' into 'master'
pass IDF_TARGET variable to bootloader build process

See merge request idf/esp-idf!4963
2019-05-09 19:45:20 +08:00
xiehang
67dd55eae8 Change the default value of TCP_MSS to 1440 and TCP_MSS Range : [576 1460] 2019-05-09 17:59:25 +08:00
suda-morris
63e4677c55 pass IDF_TARGET variable to bootloader build process 2019-05-09 14:19:02 +08:00
Ivan Grokhotkov
eeca0804e6 Merge branch 'bugfix/https_doc_api' into 'master'
esp_http_server : Minor clarification in httpd_req_get_url_query_str() API documentation

Closes IDFGH-1052

See merge request idf/esp-idf!4942
2019-05-09 11:23:01 +08:00
Ivan Grokhotkov
c549581b7c Merge branch 'bugfix/err_to_name_include' into 'master'
Fixes for error code generator

Closes IDFGH-1103

See merge request idf/esp-idf!4946
2019-05-09 11:21:52 +08:00
suda-morris
15070ea648 add promiscuous mode control in emac driver
1. add promiscuous mode control in emac driver
2. fix minor bugs in IP101 driver
2019-05-08 17:15:21 +08:00
V.Dudnik
7822484aaa efuse: Fix unused variable warning when NDEBUG
Merges: https://github.com/espressif/esp-idf/pull/3429
Closes: https://github.com/espressif/esp-idf/issues/3432
2019-05-08 09:14:24 +08:00
Renz Christian Bagaporo
afe57d6ff4 ci: check that build uses ccache when present 2019-05-07 12:00:41 +08:00
Roland Dobai
bfe5b13905 tools/gen_esp_err_to_name.py: Don't include already included headers 2019-05-06 15:08:37 +02:00
Roland Dobai
20bd142077 Fix paths to the new esp_common in the ESP error code generator 2019-05-06 15:07:27 +02:00
Hagen Fritsch
051b5c45c5 Fix includes in esp_err_to_name.c.in.
esp_err_t provided by esp_err.h and thus is required and not optional.
While the python script adds the header, it wraps it with an __has_include
directive that is not supported on all compilers (notably GCC 4.8).

Closes https://github.com/espressif/esp-idf/pull/3424
2019-05-06 14:52:13 +02:00
Renz Christian Bagaporo
0ad13cd40f ldgen,make: simplify os check 2019-05-06 20:31:05 +08:00
Renz Christian Bagaporo
459dd29444 cmake: restore ccache use when present
Closes https://github.com/espressif/esp-idf/issues/3116
2019-05-06 20:04:07 +08:00
Krzysztof Budzynski
417cac6654 Merge branch 'bugfix/blockdiag_seqdiag_cn_fonts' into 'master'
Introduce separate fonts used by blockdiag, sequdiag, actdiag, nwdiag, rackdiag…

See merge request idf/esp-idf!4646
2019-05-06 18:09:21 +08:00
Anurag Kar
5e1c19d73d esp_http_server : Minor clarification in httpd_req_get_url_query_str() API documentation
Closes https://github.com/espressif/esp-idf/issues/3374
2019-05-06 14:32:24 +05:30
suda-morris
e0097bc740 cJSON: update to v1.7.11
Closes https://github.com/espressif/esp-idf/issues/3332
2019-05-06 14:07:54 +08:00
Krzysztof
754a454402 Introduce separate fonts used by blockdiag, sequdiag, actdiag, nwdiag, rackdiag and packetdiag for Chinese and English version of documentation 2019-05-06 13:19:58 +08:00
Krzysztof
394d89e7da Correct diagram layout to make text descriptions fit into blocks 2019-05-06 13:19:58 +08:00
Angus Gratton
df61612f8f Merge branch 'bugifx/httpd_reuseaddr' into 'master'
esp_http_server : Allow binding to same address and port upon restarting server without delay

Closes IDFGH-1060

See merge request idf/esp-idf!4903
2019-05-06 08:45:09 +08:00
V.Dudnik
f3f4e58313 project_config_mk: fix if condition 2019-05-05 19:12:33 +03:00
V.Dudnik
867ea68d5a fix spiffsgen.py wrong path delimiter on windows 2019-05-05 17:50:15 +08:00
wangmengyang
38ec1b9a86 component/bt: fix some performance issues in A2DP source data flow control
1. modify the limit of frames to send to avoid dropping packet on A2DP source due to TX data queue overflow
2. reduce the A2DP source data queue size in order to achieve faster control respnonse
2019-05-05 11:42:27 +08:00
Ivan Grokhotkov
1ca60c46f1 Merge branch 'bugfix/kconfig_no_split_headers' into 'master'
kconfig: Don't create "split" directory structures under build/include/config

Closes IDFGH-962

See merge request idf/esp-idf!4768
2019-05-05 11:31:34 +08:00
Ivan Grokhotkov
6faaeafcdd Merge branch 'bugfix/http_file_server' into 'master'
File Server Example : Check longer than allowed filenames when converting from URIs to filepaths

See merge request idf/esp-idf!4886
2019-05-05 11:24:52 +08:00
David Cermak
af48977f21 mdns: fixed mdns crashing on reception of txt packet without a corresponding service
closes #2866
2019-05-03 16:37:43 +02:00
David Cermak
c050a75616 mdns: use const char* for mdns txt items types to remove warning when assigning 2019-05-03 16:31:32 +02:00
David Cermak
a851aac255 mdns: updated doxygen comments documenting mdns api
Closes https://github.com/espressif/esp-idf/issues/1718
2019-05-03 16:29:12 +02:00
David Cermak
eddd5c4f2c mdns: update mdns_out_question_s to be in line with mdns_parsed_question_s struct
Closes  https://github.com/espressif/esp-idf/issues/1568
2019-05-03 14:54:59 +02:00
Tim Nordell
7892cf6a03 partition: Fix "encrypted" read/write when encryption is disabled
According to the documentation[1][2] for partitions, setting the encrypted
flag for partitions should be a no-op when system level encryption isn't
enabled.  The current implementation, however, does not actually match
the documentation and it ends up with an unreadable partition via the
partition API if a partition flag is marked as encrypted without
system-level encryption enabled.  (This is because the writes go through
the encryption block, and reads do not go through the encryption block
when this situation occurs causing unreadable data to the application
running.) This fixes up the read-back of the partition table to match
whether or not the partition is currently encrypted under the hood.

This should not affect the bootloader's code for reading/writing encrypted
partitions as the bootloader directly invokes the spi_flash_write*(...)
APIs.

[1] https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/partition-tables.html#flags
[2] https://docs.espressif.com/projects/esp-idf/en/latest/security/flash-encryption.html#encrypted-partition-flag

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

Signed-off-by: Tim Nordell <tim.nordell@nimbelink.com>
2019-05-03 15:03:04 +05:30
Angus Gratton
ef49c41e15 Merge branch 'bugfix/esp_http_client_event_name' into 'master'
esp-http-client: Fix incorrect event name HTTP_EVENT_HEADER_SENT

See merge request idf/esp-idf!4921
2019-05-03 14:57:09 +08:00
Angus Gratton
9563931c3a Merge branch 'fix/nvs_console' into 'master'
nvs_console: Fix type comparison

See merge request idf/esp-idf!4920
2019-05-03 14:47:27 +08:00
Angus Gratton
22a89c50e8 Merge branch 'bugfix/win_fullclean_symlink' into 'master'
idf.py: Detect symlinks on Windows during fullclean

Closes IDFGH-1055

See merge request idf/esp-idf!4915
2019-05-03 12:10:04 +08:00
Jitin George
4e6d39f009 esp-http-client: Fix incorrect event name HTTP_EVENT_HEADER_SENT
Closes https://github.com/espressif/esp-idf/issues/3095
2019-05-02 16:15:59 +05:30
Shivani Tipnis
893c1d82f7 nvs_console: Fix type comparison
Closes https://github.com/espressif/esp-idf/issues/3320
2019-05-02 15:31:57 +05:30
Roland Dobai
6ccdca5114 idf.py: Detect symlinks on Windows during fullclean
Closes https://github.com/espressif/esp-idf/issues/3377
2019-05-02 10:03:11 +02:00
Jitin George
64e3ab364e examples/system/ota/advanced_https_ota: Add example for newly introduced APIs in esp_https_ota component 2019-05-02 12:29:29 +05:30
Anurag Kar
ffad8b27a3 esp_http_server : Allow binding to same address and port upon restarting server without delay
Issue : Restarting the server without 30sec delay between httpd_stop() and httpd_start() causes EADDRINUSE error
Resolution : Use setsockopt() to enable SO_REUSEADDR on listener socket

Closes https://github.com/espressif/esp-idf/issues/3381
2019-05-02 05:29:38 +00:00
Angus Gratton
c5f58d11e8 Merge branch 'bugfix/missing_ldgen_libraries_file_on_windows' into 'master'
make: fix missing rule for creating ldgen_libraries file

See merge request idf/esp-idf!4907

Closes https://github.com/espressif/esp-idf/issues/3394
2019-05-01 13:08:23 +08:00
Tim Nordell
c3fa2497b9 nvs: Check if an item is modified before writing out an identical copy
This prevents wear and tear on the flash, and it also is faster in some
cases since the read-out of flash is a cheaper operation than the erasure
of flash.  Some library modules (such as the esp_wifi) write out to NVS
upon every initialization without checking first that the existing value
is the same, and this speeds up initialization of modules that make
these design choices and moves it into a centralized place.

The comparison functions are based on the read-out functions of the same
name, and changes out the memcpy(...) operations for memcmp(...)
operations.

Signed-off-by: Tim Nordell <tim.nordell@nimbelink.com>
2019-04-30 11:39:58 -05:00
Ivan Grokhotkov
db86b31ef4 Merge branch 'fix/spi_master_dio_qio_hal' into 'master'
spi_master: fix the dual/quad io issue

See merge request idf/esp-idf!4894
2019-04-30 16:14:53 +08:00
Ivan Grokhotkov
f94f158cf5 Merge branch 'bugfix/move_spiffsgen_example_to_storage' into 'master'
spiffsgen follow-ups

See merge request idf/esp-idf!4893
2019-04-30 13:48:54 +08:00
Renz Christian Bagaporo
4cc8b92d22 make: fix missing rule for creating ldgen_libraries file 2019-04-30 11:54:01 +08:00
Jitin George
f49e91f744 esp_https_ota: Add support for URL redirection, basic auth and more control with new APIs
Bugfixes:
- Fix http url redirection issue
- Fix basic/digest auth issue with http url

Features:
- Add support for adding custom http header
- Add support for reading firmware image header
- Add support for monitoring upgrade status
  - This requires breaking down esp_https_ota API such that it allows finer application level control
  - For simpler use-cases previous API is still supported

Closes https://github.com/espressif/esp-idf/issues/3218
Closes https://github.com/espressif/esp-idf/issues/2921
2019-04-29 18:58:07 +05:30
Anurag Kar
59afbe4eed File Server Example : Check longer than allowed filenames when converting from URIs to filepaths
This change prevents buffer overflows in case of really long file paths.

Other changes:
* Remove query (?) and fragment (#) component from URI when converting to file path
* /index.html and favicon.ico can be overridden by files with same name and path in SPIFFS
* README.md updated
2019-04-29 12:19:59 +05:30
Jitin George
86e1fc564e esp_http_client: Add API for adding authorization info
There was existing support for adding authorization info in esp_http_client
but it was functional only while using `esp_http_client_perform` API. This commit just moves
existing authorization addition logic into publicly exposed API.
2019-04-29 11:44:37 +05:30
Krzysztof Budzynski
ba1ff1692b Merge branch 'doc/review_api-reference_indexes' into 'master'
Doc/review api reference indexes

See merge request idf/esp-idf!4876
2019-04-29 10:53:42 +08:00
Kirill Chalov
b672002a5f Doc/review api reference indexes 2019-04-29 10:53:42 +08:00
Angus Gratton
eb3791faba Merge branch 'bugfix/udp_multicast_example_errors' into 'master'
udp_multicast_example: better handling wrong addresses

Closes IDFGH-979

See merge request idf/esp-idf!4784
2019-04-29 09:21:07 +08:00
Angus Gratton
1ed3be9c79 Merge branch 'feature/use_libraries_directly_with_ldgen' into 'master'
Pass libraries as arguments to ldgen directly

See merge request idf/esp-idf!4887
2019-04-29 08:49:42 +08:00
Angus Gratton
3694ed30eb Merge branch 'bugfix/ldgen_fails_when_wifi_ram_opt_off' into 'master'
ldgen: do not generate rules when no condition is true

See merge request idf/esp-idf!4757
2019-04-29 08:44:13 +08:00
michael
0b523c2300 spi_master: fix the dual/quad io issue
introduced in f871cc5ffa

The issue is caused by

1. The hal didn't pass the io_mode to LL.
2. The setup_device function overwrite the trans-specific settings.
2019-04-27 01:36:47 +08:00
Renz Christian Bagaporo
4a288c9f30 example: use mbedtls to compute hash in spiffsgen example 2019-04-26 22:37:41 +08:00
Renz Christian Bagaporo
fa21b5f33b spiffs: move spiffsgen example with other storage related examples 2019-04-26 22:37:41 +08:00
Konstantin Kondrashov
643d0f2164 freertos/test: Add unit tests for xTaskIncrementTick 2019-04-26 22:36:12 +08:00
Renz Christian Bagaporo
b1ecd75d83 ldgen: pass component libraries directly 2019-04-26 20:06:53 +08:00
Ivan Grokhotkov
ca6cff7637 Merge branch 'bugfix/fix_build_cmake_example_failing' into 'master'
Fix false positive errors with CMake example builds

See merge request idf/esp-idf!4608
2019-04-26 18:20:53 +08:00
Angus Gratton
fe2565f5d7 Merge branch 'feature/make_bootloader_support_target_dependent' into 'master'
make bootloader_support depend on IDF_TARGET

See merge request idf/esp-idf!4798
2019-04-26 15:36:48 +08:00
Angus Gratton
6890326504 Merge branch 'test/always_deploy_test_result_on_master' into 'master'
CI: always deploy test result to Jira on master

See merge request idf/esp-idf!4840
2019-04-26 14:34:57 +08:00
Angus Gratton
df9113e0e1 Merge branch 'feature/kconfig_backward_comp' into 'master'
Rename deprecated Kconfig options in a backward compatible way

Closes IDF-155

See merge request idf/esp-idf!4551
2019-04-26 10:09:29 +08:00
Angus Gratton
207e87932b Merge branch 'fix/fix_soc_dram_low_addr' into 'master'
fix the dram low addr defined in the soc.h header

See merge request idf/esp-idf!4882
2019-04-26 08:43:22 +08:00
Jiang Jiang Jian
b5bbd42b9a Merge branch 'bugfix/btdm_abort_if_deinit_spp_without_init' into 'master'
components/bt: Fix abort if call esp_spp_deinit without calling esp_spp_init

See merge request idf/esp-idf!4859
2019-04-25 20:38:37 +08:00
Jiang Jiang Jian
9c7fb51d7d Merge branch 'feature/btdm_add_ble_link_timeout_config' into 'master'
Component/bt: add ble link timeout config in menuconfig

See merge request idf/esp-idf!4786
2019-04-25 20:04:53 +08:00
Ivan Grokhotkov
89798b328b Merge branch 'bugfix/select_init_sem' into 'master'
VFS: Allocate socket select semaphore outside ISR

See merge request idf/esp-idf!4591
2019-04-25 19:10:08 +08:00
Michael (XIAO Xufeng)
9a00b7706e fix the dram low addr defined in the soc.h header 2019-04-25 17:29:48 +08:00
Jiang Jiang Jian
7724a2e1a0 Merge branch 'bugfix/wifi_fix_wps_fail_when_ap_is_encrypted' into 'master'
esp_wifi: fix the bug that WPS fails when AP is encrypted

Closes IDF-623

See merge request idf/esp-idf!4827
2019-04-25 17:05:48 +08:00
Konstantin Kondrashov
8e434c1bf0 freertos: Fix xTaskIncrementTick for unwind the Tick for CPU1
xTaskIncrementTick have to unwind uxPendedTicks on CPU1 and CPU0.

Use case: If an erase operation was run on the CPU1 then it leads
to starving other tasks which waiting time. Waited tasks just skipped.

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

Closes: IDF-183
2019-04-25 13:03:01 +08:00
Roland Dobai
23ee93ea76 Rename deprecated Kconfig options in a backward compatible way 2019-04-24 12:53:02 +02:00
Renz Christian Bagaporo
2522268c20 ldgen: do not generate rules when no condition is true
Closes https://github.com/espressif/esp-idf/issues/3295
2019-04-24 18:25:24 +08:00
Angus Gratton
cf9f2aa466 Merge branch 'feature/set_redirection' into 'master'
Add a `esp_http_client_set_redirection` function

See merge request idf/esp-idf!4856
2019-04-24 15:50:53 +08:00
XiaXiaotian
e1f743c8eb esp_wifi: fix the bug that WPS fails when AP is encrypted 2019-04-24 13:57:14 +08:00
baohongde
db6b210a5f components/bt: Fix abort if call esp_spp_deinit without calling esp_spp_init 2019-04-24 11:17:54 +08:00
Angus Gratton
e1592c8c81 Merge branch 'bugfix/docs_tutorials' into 'master'
Docs update

See merge request idf/esp-idf!4150
2019-04-24 08:36:20 +08:00
Vikram Dattu
e0d796bf33 Add a esp_http_client_set_redirection function When using direct operations instead of esp_http_client_perform, we need a way to set redirection URL when we get 30x response codes. Added the function for the same. User can now check status code and call esp_http_client_set_redirection function to enable redirection. Related change in adf: https://gitlab.espressif.cn:6688/adf/esp-adf-internal/merge_requests/187
Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2019-04-23 19:29:49 +05:30
Krzysztof Budzynski
a0f0c19e15 Merge branch 'doc/review_versions' into 'master'
Review the versions.rst document.

See merge request idf/esp-idf!4753
2019-04-23 17:22:41 +08:00
Kirill Chalov
b89ff9e6db Review the versions.rst document. 2019-04-23 06:03:33 +00:00
Angus Gratton
8513b8ead4 Merge branch 'bugfix/pyparsing' into 'master'
Temporarily fix incompatibility with pyparsing 2.4.0

See merge request idf/esp-idf!4809
2019-04-23 10:35:50 +08:00
Jiang Jiang Jian
1718a93119 Merge branch 'bugfix/scan_fail_when_no_ap_found' into 'master'
fix the bug when scan fail after STA failed to connect to a nonexistent AP

Closes WIFI-76

See merge request idf/esp-idf!4630
2019-04-23 10:20:43 +08:00
Jiang Jiang Jian
823395dea6 Merge branch 'bugfix/fix_iperf_exit_error' into 'master'
examples: fix iperf exit error

Closes XIAOMI-62

See merge request idf/esp-idf!4788
2019-04-22 19:47:10 +08:00
zhiweijian
0ae4eb4f09 Component/bt: add ble link timeout config in menuconfig
- add ble link timeout config in menuconfig
- disable background connection when call gatts_open
2019-04-22 09:16:19 +00:00
xiehang
5e15840ac1 examples: fix iperf exit error 2019-04-22 12:14:21 +08:00
zhangyanjiao
513353c641 wifi: fix the bug when scan fail after STA failed to connect to a nonexistent AP 2019-04-22 11:59:40 +08:00
Ivan Grokhotkov
47988e90ea Merge branch 'feature/esp_event_loop_examples_provisioning' into 'master'
examples/provisioning: use esp_event library for event handling

Closes IDF-55

See merge request idf/esp-idf!4030
2019-04-22 07:48:48 +08:00
He Yin Ling
50ecd6c3b6 CI: always deploy test result to Jira on master 2019-04-21 13:14:28 +08:00
He Yin Ling
7ca556a3ca Merge branch 'feature/jira_test_management' into 'master'
test: jira test management

See merge request idf/esp-idf!4751
2019-04-21 10:37:01 +08:00
He Yin Ling
9549ae4c12 test: sync integration test cases 2019-04-19 16:44:00 +08:00
He Yin Ling
af4daf6a22 test: include chip in test case ID 2019-04-19 14:39:44 +08:00
He Yin Ling
b7d26ddfe3 CI: add job to sync test to Jira 2019-04-19 14:39:44 +08:00
He Yin Ling
4b526ec0c4 test: let CI import integration test report 2019-04-19 14:39:44 +08:00
He Yin Ling
ad0d8a4767 test: save throughput result to junit report 2019-04-19 14:39:44 +08:00
He Yin Ling
b75400294a test: collect unit-test performance items and save to report 2019-04-19 14:39:44 +08:00
He Yin Ling
0462620a23 tiny-test-fw: support save performance to junit report:
1. support get performance from DUT
2. update performance to `testcase.stdout` in JunitReport
2019-04-19 12:17:13 +08:00
Angus Gratton
4b9a38d883 Merge branch 'feature/freemodbus_master_support_upd_arch' into 'master'
examples: freemodbus port common master and slave interface implementation

See merge request idf/esp-idf!3707
2019-04-18 12:42:05 +08:00
He Yin Ling
dd9de16100 Merge branch 'test/modify_mesh_ci_master' into 'master'
test: update mesh test cases for ci test

See merge request idf/esp-idf!4647
2019-04-18 11:28:50 +08:00
Ivan Grokhotkov
912c8e31fc Merge branch 'bugfix/pm_isr_exit_lock' into 'master'
pm: prevent interrupt nesting during esp_pm_impl_isr_hook

See merge request idf/esp-idf!4775
2019-04-18 11:16:26 +08:00
Angus Gratton
a20d02b7f1 Merge branch 'feature/remove_dependency_to_soc' into 'master'
global: remove dependency to soc everywhere except driver and kernel components

See merge request idf/esp-idf!4678
2019-04-18 08:08:41 +08:00
Jiang Jiang Jian
66c5fb5e5a Merge branch 'bugfix/fix_signal_test_bug' into 'master'
esp_wifi: fix a bug caused by signal test code

See merge request idf/esp-idf!4810
2019-04-17 22:06:43 +08:00
Ivan Grokhotkov
9cb08ebe4c Merge branch 'feature/add_cloud_frameworks_doc' into 'master'
Add documentation for Cloud Frameworks

See merge request idf/esp-idf!4547
2019-04-17 20:24:55 +08:00
Jitin George
3cbb378948 docs: Add cloud frameworks doc 2019-04-17 10:29:05 +00:00
chenyudong
801e2cdaa3 test: update mesh test cases for ci
add mesh cases in files:
TC_IT_MESH_EST.yml, TC_IT_MESH_COMM.yml and TC_IT_MESH_MISC.yml
2019-04-17 17:05:33 +08:00
liu zhifu
4c50e51305 esp_wifi: fix a bug caused by signal test code
Fix a bug caused by signal test code.
2019-04-17 16:32:15 +08:00
Anton Maklakov
3bb7dba995 Merge branch 'bugfix/use_libc_gnu_extensions' into 'master'
build: Add a standard way to use GNU extensions from libc

See merge request idf/esp-idf!4769
2019-04-17 16:22:37 +08:00
Roland Dobai
08adc39102 Temporarily fix incompatibility with pyparsing 2.4.0 2019-04-17 09:57:42 +02:00
Ivan Grokhotkov
48109e1f5d Merge branch 'bugfix/adjtime_ut' into 'master'
newlib: Fix adjtime

See merge request idf/esp-idf!4676
2019-04-17 15:15:31 +08:00
Ivan Grokhotkov
d31ee806be pm: prevent interrupt nesting during esp_pm_impl_isr_hook
Follows the approach proposed in https://github.com/espressif/esp-idf/pull/3110,
but masks the interrupts during the entire ISR hook, not only during
leave_idle. Interrupt nesting during update_ccompare may also cause
issues.

Closes https://github.com/espressif/esp-idf/issues/3057
2019-04-17 07:13:52 +00:00
Ivan Grokhotkov
92989b5718 Merge branch 'bugfix/esp_tls_closing_fd0' into 'master'
esp_tls: fix incorrect closing of fd 0 on connection failure

See merge request idf/esp-idf!4726
2019-04-17 15:10:20 +08:00
Ivan Grokhotkov
8edc995ad6 Merge branch 'bugfix/pr_3250' into 'master'
Fix: Lost username when setting new URL with a path.

Closes IDFGH-904

See merge request idf/esp-idf!4755
2019-04-17 15:08:26 +08:00
Ivan Grokhotkov
327963e0cc Merge branch 'bugfix/ut_leaks_tags' into 'master'
test: clean up "leaks" tags from most unit tests

See merge request idf/esp-idf!4779
2019-04-17 14:52:34 +08:00
gfrodo
269c4c74d2 udp_multicast_example: better handling wrong addresses
inet_aton returns 0 on failure, but socket_add_ipv4_multicast_group has to return negative values for failures
getaddrinfo sets res to zero of address could not resolved, but doesn't necessarily return an
error. res is now checked for zero before dereferencing

Merges https://github.com/espressif/esp-idf/pull/2814
2019-04-17 06:52:23 +00:00
Anton Maklakov
410f5c3f7d build: Add a standard way to use GNU extensions from libc, since we have a general configured newlib in the toolchain 2019-04-17 12:08:36 +07:00
Anton Maklakov
853dd3ff7a Merge branch 'bugfix/gcc8_compat' into 'master'
Remove warning (gcc8)

See merge request idf/esp-idf!4795
2019-04-17 13:02:47 +08:00
Anton Maklakov
453a33ce79 mdns example: Remove a warned unused constant 2019-04-17 11:21:53 +07:00
Jiang Jiang Jian
3a9e24d7b4 Merge branch 'bugfix/fix_set_config_bug_for_bssid_set' into 'master'
wifi: fix the set config bug for bssid_set

Closes WIFI-419

See merge request idf/esp-idf!4785
2019-04-16 20:27:09 +08:00
Ivan Grokhotkov
bb4f5617ab test: clean up "leaks" tags from most unit tests 2019-04-16 20:07:40 +08:00
suda-morris
3f2d6a0891 make bootloader_support depend on IDF_TARGET
1. move chip-specific code(e.g. encryption) into IDF_TARGET directory
2. splict app-only code to idf directory which won't be compiled into bootloader
2019-04-16 17:37:56 +08:00
Alex Lisitsyn
449d2a6367 freemodbus: Fix bug with incorrect coils read mask
Contains two different component folders per each implementation (serial_master and serial_slave) with concrete ports.
Added common public api for master and slave and common interface for master and slave implementation.
Add support of cmake system (added cmake files).
Added sdkconfig.defaults files for slave and master modbus examples.
Updated make file and KConfig for freemodbus component
Update according to review and fix doxygen warnings
Fix Doxyfile to pass documentation build
Update headers and change interface file names as per review comments
Merge  branch feature/freemodbus_move_rs485_mode_control
Update after review:
The stack modbus folder updated to support master and slave ports together and moved into freemodbus/modbus
Stack and port files updated to remove duplicated simbols
Make file, KConfig and CMakeLists.txt updated to compile master and slave stacks, common interface and concrete implementations of ports
Stack callback functions execute callbacks using interface pointer from concrete port implementation
User can instantiate any of concrete port using common API (only one concrete port at a time) and it does not require to select port by KConfig
Port pins and mode configuration moved into example files from port files to allow user select pins and port mode (customer request)
Changes tested using pymodbus, ModbusPoll and communication between two boards
Updated DoxyFile according to public include path
Fix maximum instance size for slave (merge from master of customer issue)
Fix critical section issue TW#28622 (change spin lock based critical section to semaphore)
Move serial port files into component port folder for master and slave accordingly
Fix example issue showed in the log when IO slave is not configured correctly
Fix conflicts while merging from origin/master
Fix errors handling in modbus controller interface + some final corrections according to review
Update maximum allowed number of slaves in the network segment
Fix bug with incorrect coils read mask

Closes https://github.com/espressif/esp-idf/issues/858
2019-04-16 10:21:20 +02:00
Anurag Kar
86e9acc2c9 Protocomm : Added new APIs for opening and closing secure sessions
New APIs:
* protocomm_open_session()
* protocomm_close_session()

This allows external applications using protocomm to manually create and close sessions.

These internally call the new_transport_session() and close_transport_session() APIs implemented by the security scheme in use.

Updated unit tests with usage of new APIs
2019-04-16 13:50:01 +05:30
Anurag Kar
cccf829366 Protocomm : Session security now supports multiple instances of the same type
List of changes:
* Security APIs accept handle to instance created during initialization
* Protocomm internally stores the security instance handle and calls security APIs with this handle as first parameter
2019-04-16 13:47:13 +05:30
Roland Dobai
74dd9b4f5f esp_http_client: fix CI issues & return value 2019-04-16 09:03:14 +02:00
Nguyễn Hồng Quân
4a6c5032f4 Fix: Lost username when setting new URL with a path.
Closes https://github.com/espressif/esp-idf/pull/3250
2019-04-16 08:58:36 +02:00
Michael (XIAO Xufeng)
562af8f65e global: move the soc component out of the common list
This MR removes the common dependency from every IDF components to the SOC component.

Currently, in the ``idf_functions.cmake`` script, we include the header path of SOC component by default for all components.
But for better code organization (or maybe also benifits to the compiling speed), we may remove the dependency to SOC components for most components except the driver and kernel related components.

In CMAKE, we have two kinds of header visibilities (set by include path visibility):

(Assume component A --(depends on)--> B, B is the current component)

1. public (``COMPONENT_ADD_INCLUDEDIRS``): means this path is visible to other depending components (A) (visible to A and B)
2. private (``COMPONENT_PRIV_INCLUDEDIRS``): means this path is only visible to source files inside the component (visible to B only)

and we have two kinds of depending ways:

(Assume component A --(depends on)--> B --(depends on)--> C, B is the current component)

1. public (```COMPONENT_REQUIRES```): means B can access to public include path of C. All other components rely on you (A) will also be available for the public headers. (visible to A, B)
2. private (``COMPONENT_PRIV_REQUIRES``): means B can access to public include path of C, but don't propagate this relation to other components (A). (visible to B)

1. remove the common requirement in ``idf_functions.cmake``, this makes the SOC components invisible to all other components by default.
2. if a component (for example, DRIVER) really needs the dependency to SOC, add a private dependency to SOC for it.
3. some other components that don't really depends on the SOC may still meet some errors saying "can't find header soc/...", this is because it's depended component (DRIVER) incorrectly include the header of SOC in its public headers. Moving all this kind of #include into source files, or private headers
4. Fix the include requirements for some file which miss sufficient #include directives. (Previously they include some headers by the long long long header include link)

This is a breaking change. Previous code may depends on the long include chain.
You may need to include the following headers for some files after this commit:

- soc/soc.h
- soc/soc_memory_layout.h
- driver/gpio.h
- esp_sleep.h

The major broken include chain includes:

1. esp_system.h no longer includes esp_sleep.h. The latter includes driver/gpio.h and driver/touch_pad.h.
2. ets_sys.h no longer includes soc/soc.h
3. freertos/portmacro.h no longer includes soc/soc_memory_layout.h

some peripheral headers no longer includes their hw related headers, e.g. rom/gpio.h no longer includes soc/gpio_pins.h and soc/gpio_reg.h

BREAKING CHANGE
2019-04-16 13:21:15 +08:00
zhangyanjiao
7097e5b0d0 wifi: fix the set config bug for bssid_set 2019-04-16 10:57:00 +08:00
Angus Gratton
936ee2884b Merge branch 'bugfix/esp_efuse_get_pkg_ver' into 'master'
efuse: Fix excess data coming from uninitialized variable

Closes IDFGH-976

See merge request idf/esp-idf!4778
2019-04-16 08:10:53 +08:00
Angus Gratton
652302bd06 Merge branch 'feature/sntp_cb_function' into 'master'
sntp: Add some modes for time synchronization

Closes IDF-236

See merge request idf/esp-idf!4472
2019-04-16 07:28:04 +08:00
GOPTIONS\pfrost
0e69a7efc2 efuse: Fix excess data coming from uninitialized variable
Fixed esp_efuse_get_pkg_ver() function

Closes: https://github.com/espressif/esp-idf/pull/3309
Closes: IDFGH-976
2019-04-15 12:32:26 +00:00
Ivan Grokhotkov
1c21bc5c81 Merge branch 'bugfix/freemodbus_fix_incorrect_read_coil_event' into 'master'
freemodbus: fix incorrectly set coils read event in modbus controller

See merge request idf/esp-idf!4749
2019-04-15 19:41:49 +08:00
Jiang Jiang Jian
603d293365 Merge branch 'feature/btdm_AVRCP_TG' into 'master'
component/bt: implement AVRCP Target APIs

See merge request idf/esp-idf!3899
2019-04-15 18:53:51 +08:00
Anurag Kar
15be5e47a1 softap_prov_test : example script updated to accomodate for changes in logs 2019-04-15 10:19:29 +00:00
Anurag Kar
d784fbb314 examples/provisioning : Call esp_wifi_init() only in main function before starting provisioning
Removed all other instances of call to esp_wifi_init(), because every time this is called it
will override its previously set default event handler and hence cause numerous warnings.

Also, call nvs_flash_init() only once, that is before calling esp_wifi_init() in main function
2019-04-15 10:19:29 +00:00
Anurag Kar
3608f9bde4 examples/provisioning : use esp_event library to handle WiFi/IP events 2019-04-15 10:19:29 +00:00
Konstantin Kondrashov
7e5be1b58c sntp/lwip: Add some modes for time synchronization
Closes: IDF-236
Closes: https://github.com/espressif/esp-idf/pull/1668
2019-04-15 18:11:47 +08:00
Jiang Jiang Jian
8b2128ce07 Merge branch 'feature/add_support_for_signal_test' into 'master'
esp_wifi:  add support for signal test

Closes WIFI-324

See merge request idf/esp-idf!4717
2019-04-15 17:45:01 +08:00
Ivan Grokhotkov
d359d4c77c Merge branch 'bugfix/fix_deprecated_warning_with_dfs_init_auto_config' into 'master'
cpu_start: fix warnings with CONFIG_PM_DFS_INIT_AUTO option

See merge request idf/esp-idf!4761
2019-04-15 15:57:49 +08:00
Ivan Grokhotkov
95a1683158 Merge branch 'feature/esp_event_loop_examples_protocols' into 'master'
examples/protocols: move Wi-Fi connection code into helper component, support Ethernet

See merge request idf/esp-idf!3766
2019-04-15 15:54:22 +08:00
Jitin George
77645472ae esp_tls: fix incorrect closing of fd 0 on connection failure
Closes https://github.com/espressif/esp-idf/issues/3149
2019-04-15 10:59:50 +05:30
Angus Gratton
9a5e93c286 kconfig: Don't create "split" directory structures under build/include/config
Reported in https://github.com/espressif/esp-idf/issues/3299

If a config item contains a reserved filename in Windows like _CON_ then an invalid
directory is created.

We don't rely on this feature all, so disable it.
2019-04-15 05:28:46 +00:00
Ivan Grokhotkov
f935294c48 Merge branch 'doc/move_WiFi_Kconfig' into 'master'
move WiFi-specific Kconfig to esp-wifi component

See merge request idf/esp-idf!4736
2019-04-15 12:00:59 +08:00
Ivan Grokhotkov
9628c60a1d examples/protocols/mdns: use common network component 2019-04-15 03:32:05 +00:00
Ivan Grokhotkov
aa4a7804ec examples/protocols/asio: use common network component 2019-04-15 03:32:05 +00:00
Ivan Grokhotkov
ee3035257a examples/protocols/coap: use common network component 2019-04-15 03:32:05 +00:00
Ivan Grokhotkov
fbc407f088 examples/protocols/esp_http_client: use common network component 2019-04-15 03:32:05 +00:00
Ivan Grokhotkov
e1d1f10e8a examples/protocols/http(s,2)_request: use common network component 2019-04-15 03:32:05 +00:00
Ivan Grokhotkov
a5b0f5d6ed examples/protocols/http(s)_server: use common network component 2019-04-15 03:32:05 +00:00
Ivan Grokhotkov
6548afcf49 examples/protocols/mqtt: use common network component 2019-04-15 03:32:05 +00:00
Ivan Grokhotkov
a46d94250d examples/protocols/openssl: use common network component 2019-04-15 03:32:05 +00:00
Ivan Grokhotkov
e0f3f62cdf examples/protocols/sntp: use common network component 2019-04-15 03:32:05 +00:00
Ivan Grokhotkov
28cf1c83df examples/protocols/sockets: use common network component 2019-04-15 03:32:05 +00:00
Ivan Grokhotkov
b3a235945e ci: don’t look for project CMakeLists in common_components 2019-04-15 03:32:05 +00:00
Ivan Grokhotkov
22bef90bd3 examples: add component for protocol examples network functionality 2019-04-15 03:32:05 +00:00
aleks
eebbced5b6 freemodbus: fix incorrectly set coils read event
incorrect set of the MB_EVENT_COILS_WR event is changed while read coils in mbcontroller.c file
added read/write handling for appropriate registers in freemodbus.c example file

Closes https://github.com/espressif/esp-idf/issues/3289
2019-04-15 03:30:31 +00:00
Mahavir Jain
f4328e5346 cpu_start: fix warnings with CONFIG_PM_DFS_INIT_AUTO option
Closes https://github.com/espressif/esp-idf/issues/3297
2019-04-15 03:08:26 +00:00
liu zhifu
2e129ca31d esp_wifi: add support for signal test
Add support for WiFi signal test
2019-04-15 10:14:31 +08:00
Angus Gratton
f871cc5ffa Merge branch 'feat/spi_hal_support' into 'master'
spi_master: refactor and add HAL support

See merge request idf/esp-idf!4159
2019-04-15 07:57:11 +08:00
Jiang Jiang Jian
a9efefdc73 Merge branch 'bugfix/rename_ldgen_common_module' into 'master'
ldgen: rename common module

See merge request idf/esp-idf!4758
2019-04-14 11:20:22 +08:00
Renz Christian Bagaporo
7150ac61cd ldgen: rename common module 2019-04-13 08:59:32 +08:00
Jiang Jiang Jian
6a323a6d7c Merge branch 'feature/wifi_refactor_softap_power_save' into 'master'
refactor softap power save

Closes WIFI-415 and IDF-81

See merge request idf/esp-idf!1905
2019-04-12 23:48:11 +08:00
Jiang Jiang Jian
0e1a39f813 Merge branch 'bugfix/nvs_fix_erase_any' into 'master'
nvs_flash: Multi-page blob erased using nvs_erase_key should be cleaned properly

See merge request idf/esp-idf!4634
2019-04-12 23:04:10 +08:00
Jiang Jiang Jian
ab672a5ee7 Merge branch 'bugfix/btdm_fix_memory_leak_when_set_txpwr' into 'master'
component/bt: fix memory leak when settig tx power

See merge request idf/esp-idf!4712
2019-04-12 23:00:44 +08:00
Jiang Jiang Jian
91eb59f543 Merge branch 'bugfix/improve_spi_timing_for_psram_and_flash' into 'master'
bugfix(psram): improve spi cs timing settings for psram

See merge request idf/esp-idf!4641
2019-04-12 22:57:04 +08:00
Ivan Grokhotkov
7728f8755e Merge branch 'feat/example_sdio_over_spi' into 'master'
sdio: support SDIO over spi

See merge request idf/esp-idf!3069
2019-04-12 16:12:57 +08:00
Angus Gratton
65664f8e99 Merge branch 'feature/move_aws_iot_to_independent_repository' into 'master'
aws_iot: moving AWS IoT to independent repository

See merge request idf/esp-idf!4624
2019-04-12 16:06:38 +08:00
Ivan Grokhotkov
0b186bc4e3 Merge branch 'feature/esp_event_loop_examples_wifi' into 'master'
examples/wifi,ethernet,system: use esp_event library for event handling

See merge request idf/esp-idf!3765
2019-04-12 13:55:15 +08:00
Ivan Grokhotkov
0bca9d20d8 Merge branch 'feature/esp_event_loop_library_compat_base' into 'master'
Implement Wi-Fi, Ethernet, IP event handling based on esp_event library

Closes IDF-37 and IDF-267

See merge request idf/esp-idf!3635
2019-04-12 13:54:18 +08:00
Mahavir Jain
1cfa09d4e8 aws_iot: moving AWS IoT to independent repository
Like other cloud frameworks, AWS IoT will also be supported through
independent repository, https://github.com/espressif/esp-aws-iot
2019-04-12 05:36:05 +00:00
Angus Gratton
f2ce4fc81b Merge branch 'bugfix/enb_secboot_post_flash_enc' into 'master'
Enable secure boot only after encrypting flash

Closes IDF-234

See merge request idf/esp-idf!4709
2019-04-12 13:33:50 +08:00
Angus Gratton
e259f3eb70 Merge branch 'feature/unit_test_tag_leaks' into 'master'
Add support a [leaks] tag for UT

Closes IDF-143

See merge request idf/esp-idf!4333
2019-04-12 09:31:23 +08:00
Konstantin Kondrashov
5021129e71 Add support a [leaks] tag for UT 2019-04-12 09:31:23 +08:00
Michael (XIAO Xufeng)
9985c33a46 sdio: support SDIO over spi in the example 2019-04-12 02:24:29 +08:00
michael
8a364b4bdf sdmmc: support SDIO over SPI 2019-04-12 02:24:28 +08:00
XiaXiaotian
b576bf25a7 refactor softap power save
1. Softap support multicast and broadcast saving and flushing
    when the associated stations enable IEEE80211 legacy power
    save(which is called modem sleep in ESP32).
    2. Improve the frame saving and flushing mechanism of softap power
    save.
2019-04-11 20:16:58 +08:00
Krzysztof Budzynski
3ec7bec6a7 Merge branch 'doc/review_system_log-index' into 'master'
Review log.rst and index.rst files in api-reference/system

See merge request idf/esp-idf!4738
2019-04-11 15:33:39 +08:00
Kirill Chalov
a01ec59f74 Review log.rst and index.rst files in api-reference/system 2019-04-11 15:33:38 +08:00
Andrey Gramakov
a50fc4f015 Final formulation of the sentence in a Command Line chapter 2019-04-11 09:27:52 +03:00
Andrey Gramakov
c3324d5645 Added some words about a non-obvious point at the Command Line section 2019-04-11 09:27:51 +03:00
suda-morris
c0df805ded make esp_wifi component depend on CONFIG_NO_BLOBS
If CONFIG_NO_BLOBS is enabled, esp_wifi won't link wifi library.
2019-04-11 14:07:52 +08:00
suda-morris
958c2792e3 move WiFi-specific Kconfig to esp-wifi component
1. separate Kconfig from esp32 component
2. modify component.mk for esp_wifi a little bit to make it depend on IDF_TARGET
2019-04-11 12:33:15 +08:00
Ivan Grokhotkov
b4056560c0 examples/wifi: use esp_event library to handle events 2019-04-11 12:32:03 +08:00
Ivan Grokhotkov
11355c4162 examples/system: use esp_event library to handle events 2019-04-11 12:32:03 +08:00
Ivan Grokhotkov
2a48db0f48 examples/ethernet: use esp_event library to handle events 2019-04-11 12:32:03 +08:00
Ivan Grokhotkov
70eda3d221 Merge branch 'feature/gcc8_use_bundled_newlib' into 'master'
Use newlib headers and libraries from toolchain when compiling with GCC 8.2

See merge request idf/esp-idf!4450
2019-04-11 12:19:29 +08:00
Ivan Grokhotkov
25784ba87a wifi: don’t disable event handling for SoftAP
Events are needed to initialise the tcpip_adapter and start the DHCP server
2019-04-11 12:05:27 +08:00
Ivan Grokhotkov
74cd8dac9d esp_event: don’t warn if no handlers are present for specific event 2019-04-11 12:05:27 +08:00
Ivan Grokhotkov
198d7d4754 tcpip_adapter: unregister shutdown handlers, don’t fail on repeated registration 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
b1a722b2ca system_api: return error on repeated registration of shutdown handler 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
bd309a133f system_api: add esp_unregister_shutdown_handler 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
b94fcb192e event: re-add wifi disconnect reason logging (e621e0af) 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
6890ea09cd docs: add event handling API guide 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
a2d59525e5 mdns: use esp_event library to handle events 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
b1d1e37f87 event loop: re-implement based on esp_event library
Includes ds2ds unit test fix, iperf example test fix
2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
1872e34115 tcpip_adapter: add event declarations 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
c001553027 ethernet: add event declarations 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
8b57fe9515 wifi: add event declarations 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
e37b0ad648 esp_event: move trailing semicolons out of defines 2019-04-11 12:04:58 +08:00
Jiang Jiang Jian
76b39403ad Merge branch 'bugfix/wifi_spike_power' into 'master'
esp32: fix the issue that the spike transmit power of WiFi is higher than configured when WiFi and Bluetooth coexist

See merge request idf/esp-idf!4611
2019-04-11 11:49:26 +08:00
Angus Gratton
0b59b6069e Merge branch 'feature/post_events_from_isr' into 'master'
Support posting events from ISR

See merge request idf/esp-idf!4283
2019-04-11 09:15:13 +08:00
Anton Maklakov
a567b6c1f6 pthread: Use a definition only if we have the old toolchain 2019-04-10 21:07:10 +07:00
Anurag Kar
62b0d51c02 Enable secure boot only after encrypting flash
This prevents a device from being bricked in case when both secure boot & flash encryption are enabled and encryption gets interrupted during first boot. After interruption, all partitions on the device need to be reflashed (including the bootloader).

List of changes:
* Secure boot key generation and bootloader digest generation logic, implemented inside function esp_secure_boot_permanently_enable(), has been pulled out into new API esp_secure_boot_generate_digest(). The enabling of R/W protection of secure boot key on EFUSE still happens inside esp_secure_boot_permanently_enable()
* Now esp_secure_boot_permanently_enable() is called only after flash encryption process completes
* esp_secure_boot_generate_digest() is called before flash encryption process starts
2019-04-10 18:17:58 +05:30
negativekelvin
9a319772e1 nvs_flash: Multi-page blob erased using nvs_erase_key should be cleaned properly
Earlier eraseItem function in Storage class would do lazy cleanup of
multi-page blobs if called using type "ANY" instead of "BLOB". It used to
just delete BLOB data and index would remain as is. Any subsequent read
would delete index entry as well. This however would return a valid
length without error if nvs_get_blob API was just used for finding
length and not reading the complete blob. This change fixes this issue.

Closes https://github.com/espressif/esp-idf/issues/3255
2019-04-10 11:45:29 +00:00
Renz Christian Bagaporo
659f1a1253 esp_event: test posting from interrupt handler 2019-04-10 18:06:05 +08:00
Renz Christian Bagaporo
2b914f2d22 esp_event: allow posting events from ISRs 2019-04-10 18:06:05 +08:00
Renz Christian Bagaporo
c43a83596b ci: add unit test job 2019-04-10 18:06:05 +08:00
baohongde
72eb170c4f components/bt: Fix errors caused by rebase 2019-04-10 17:59:23 +08:00
wangmengyang
61bd453c15 component/bt: implement AVRCP Target APIs
1. Add more notification events to the enum according to the event list in AVRCP specification.
2. Add API and callback events for basic AVRCP target functionalities to do init, deinit, callback-registration, connection status indication.
3. Implement API to set/get supported PASSTHROUGH command on local AVRCP TG, implement callback events for remote passthrough command indication.
4. Implement API to set/get supported notification eventIDs on local AVRCP TG, implement API to send event notifications to remote CT. \
   Currently supported event in TG only includes ESP_AVRC_RN_VOLUME_CHANGE(0xd), which can be extended in later commits.
5. Implement callback events for SetAbsoluteVolume command indication on TG.
6. Add limitation of event_ids supported in RegisterNotification command in CT. The supported event_ids include: \
   ESP_AVRC_RN_PLAY_STATUS_CHANGE(0x1), ESP_AVRC_RN_TRACK_CHANGE(0x2), ESP_AVRC_RN_PLAY_POS_CHANGE(0x5), ESP_AVRC_RN_VOLUME_CHANGE(0xd).
7. Add feature bit mask in parameter of callback event ESP_AVRC_CT_REMOTE_FEATURES_EVT for peer feature information got from SDP.
8. Add API and callback event to AVRCP CT to retrieve remote TG's supported notification event capabilities.
9. Modify data type for parameter of callback event ESP_AVRC_CT_CHANGE_NOTIFY_EVT.
10. Change AVRCP version from 1.3 to 1.4 for compatibility cause in using AbsoluteVolume feature.
11. Modify local AVRCP device to be category 1 as CT and category 2 as TG that applies to bluetooth headphones or speakers.
12. Update the use of AVRCP APIs and events in the two examples: a2dp_sink and a2dp_gatts_coex, which include the demo of volume control and notification.
2019-04-10 16:34:13 +08:00
Angus Gratton
a9425cd045 Merge branch 'bugfix/http_client_redirection' into 'master'
Fix url redirection issue

See merge request idf/esp-idf!4623
2019-04-10 14:48:22 +08:00
Anton Maklakov
2e6c8cdce3 esp32: disable -Wframe-address
Since the behavior is well defined on Xtensa with Window ABI we can
suppress a frame-address warning. Also fix the CMAKE_C*_FLAGS parsing.
2019-04-10 13:52:30 +08:00
Ivan Grokhotkov
5719cd6fac newlib: when compiling with GCC8, use newlib headers and libraries from toolchain 2019-04-10 13:52:30 +08:00
Ivan Grokhotkov
05aab5c0b9 newlib: force including IDF locks implementation 2019-04-10 13:52:30 +08:00
Ivan Grokhotkov
898b4bdf4d newlib: when compiling with GCC8, use newlib headers and libraries from toolchain 2019-04-10 13:52:30 +08:00
Ivan Grokhotkov
8c2f2867d8 esp_rom: don’t include locale functions when compiling with newlib 3 2019-04-10 13:52:30 +08:00
Ivan Grokhotkov
e84b26f531 esp_rom: export newlib functions as strong symbols 2019-04-10 13:52:30 +08:00
Ivan Grokhotkov
31b4fc8eb8 pthread: add dummy implementation of pthread_setcancelstate
Used by new versions of newlib in stdio functions.
2019-04-10 13:48:57 +08:00
Ivan Grokhotkov
d15e18aa5d newlib: fixes for compatibility with newlib 3.0 2019-04-10 13:48:57 +08:00
Ivan Grokhotkov
4770acf1cb newlib: add missing tzset() to the time test 2019-04-10 13:48:57 +08:00
Anton Maklakov
5a203a5371 sysview: fix test case for compatibility with new binutils
Since the ‘addr2line’ works correctly in the new version of binutils,
line numbers are different.
2019-04-10 13:48:57 +08:00
Ivan Grokhotkov
7027d2dfe8 spi_master: compile as C11 due to use of stdatomic.h
stdatomic.h is available both in newlib and GCC include directories.
Normally (if you invoke the compiler without any flags) GCC include
directories are first on the list, so GCC’s stdatomic.h is used. In
IDF, we used to pass newlib include path as an extra include
directory, so newlib’s stdint.h got included instead.

Newlib 2.2.0 stdatomic implementation is compatible with -std=gnu99
but incompatible with -std=gnu11. And GCC doesn’t support atomic_load
with -std=gnu99 (it’s a C11 feature). So when we used atomic_load
with -std=gnu99, it worked due to newlib’s header.

Since we are no longer going to be including newlib headers into IDF,
GCC stdatomic will be used instead. Hence, add -std=gnu11 for source
files which use atomic features.
2019-04-10 13:48:57 +08:00
Vikram Dattu
a875505546 Fix url redirection issue.
Operation:
In `esp_http_client_set_url`, we check for if old_host is same as new_host.
Delete and open new connection if host is different.

Issue:
We just pointed `client->connection_info.host` to `old_host` and reassigned it.
This made old_host and new_host always point to same location and hence, using old_host with new request.

Fix:
Made a separate copy for old_host using strdup.

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

Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2019-04-10 05:40:16 +00:00
Angus Gratton
c064e00842 Merge branch 'bugfix/make_bootloader_depends_on_target' into 'master'
make bootloader depend on IDF_TARGET

See merge request idf/esp-idf!4704
2019-04-10 13:07:52 +08:00
Konstantin Kondrashov
62a9eacced newlib: Fix adjtime
Fixed adjtime function: While using the adjtime() function,
the time correction accumulated an error
when reading the time frequently (using gettimeofday).
2019-04-10 04:33:44 +00:00
XiaXiaotian
c580eecf89 esp32_wifi: fix the issue that the spike transmit power of WiFi is higher
than configured when WiFi and Bluetooth coexist
2019-04-10 10:19:55 +08:00
Jiang Jiang Jian
83d2ff07c6 Merge branch 'bugfix/increase_block_scan_timeout_value' into 'master'
esp_wifi: increase block scan timeout value

Closes WIFI-396

See merge request idf/esp-idf!4695
2019-04-09 20:45:21 +08:00
Wangjialin
448d32bc53 bugfix(psram): improve spi cs timing settings for psram
1. remove redundant SPI clock settings, use rom functions to set clock.
2. remove redundant SPI cs setup and hold settings.
3. for old 32Mbit psram, cs hold time must only be 0.5T due to the special driving mode.(cs_setup = 0; cs_hold = 0)
4. for new 64Mbit psram, cs hold time is recommended to be 2.5T. (cs_setup = 1, cs_setup_time = 0;cs_hold = 1, cs_hold_time = 1)
2019-04-09 11:24:10 +08:00
Angus Gratton
2cf4a69f9b Merge branch 'bugfix/ws_transport_crash_on_connect_fail' into 'master'
transport_ws: Stop connecting when the parent's connect call has failed

See merge request idf/esp-idf!4701
2019-04-09 10:19:47 +08:00
Angus Gratton
911e503a36 Merge branch 'bugfix/prov_fix_conn_id' into 'master'
Unified Provisioning: Miscellaneous fixes in BLE

See merge request idf/esp-idf!4691
2019-04-09 09:28:18 +08:00
liu zhifu
005f95e3f3 esp_wifi: increase WiFi block scan timeout value
Increase WiFi block scan internal timeout value.
2019-04-09 09:24:34 +08:00
Angus Gratton
49d04250e9 Merge branch 'fix/mfg_util_todo_leftback' into 'master'
mfg_util: Remove to-do line leftback

See merge request idf/esp-idf!4707
2019-04-09 09:18:44 +08:00
Angus Gratton
8e91677701 Merge branch 'bugfix/bootloader_flash_crypt_cnt_ff' into 'master'
flash encryption: reduce FLASH_CRYPT_CNT bit width to 7 bits

See merge request idf/esp-idf!4642
2019-04-09 08:10:06 +08:00
Jiang Jiang Jian
daee3dfa5f Merge branch 'bugfix/wifi_fix_no_tbtt_after_rx_wrong_beacon' into 'master'
esp_wifi: fix the bug that no TBTT will be generated anymore after receiving wrong beacon when WiFi and BT coexist.

Closes IDF-589

See merge request idf/esp-idf!4716
2019-04-08 19:38:23 +08:00
suda-morris
78034879a8 make bootloader depend on IDF_TARGET 2019-04-08 11:08:06 +08:00
XiaXiaotian
5d43ec64bd esp_wifi: fix the bug that no TBTT will be generated anymore after receiving
wrong beacon when WiFi and BT coexist.
2019-04-08 10:36:29 +08:00
Hrishikesh Dhayagude
a717825b7e Unified Provisioning: Miscellaneous fixes in BLE
1. Pass the correct conn_id to protocomm_req_handle
In transport_simple_ble_write(), passing param->exec_write.conn_id would
be invalid. Instead param->write.conn_id should be passed
Similar change in transport_simple_ble_exec_write() to use
param->exec_write.conn_id

2. simple_ble_start() assumes that the mode is BLE only and enables
Bluetooth controller accordingly. For, cases having BT + BLE like Alexa
(Provisioning over BLE + Audio over classic BT), this assumption should
be removed.
2019-04-05 14:27:24 +05:30
Angus Gratton
041c784ff8 Merge branch 'feature/common_fragment_grammar' into 'master'
ldgen: Common fragment grammar

See merge request idf/esp-idf!4576
2019-04-05 07:19:22 +08:00
Bas Verhoeven
16ee5663ad transport_ws: Stop connecting when the parent's connect call has failed
Merges https://github.com/espressif/esp-idf/pull/3164
2019-04-04 16:14:42 +02:00
Jiang Jiang Jian
791209d0eb Merge branch 'bugfix/coex_bt_disconn' into 'master'
components/coex: Fix BT disconnecting due to too many reset BB

See merge request idf/esp-idf!4675
2019-04-04 20:53:04 +08:00
zhiweijian
6e4a89ffce component/bt: fix memory leak when settig tx power 2019-04-04 19:49:23 +08:00
Jiang Jiang Jian
3ab9d00219 Merge branch 'bugfix/btdm_fix_warning_when_disable_logs' into 'master'
components/bt: Fix warning when disable debug logs or in release mode and improve the code structure

See merge request idf/esp-idf!4618
2019-04-04 18:45:25 +08:00
Jiang Jiang Jian
e7f85f1987 Merge branch 'bugfix/btdm_disconn_with_apple_device' into 'master'
components/bt: Fix disconnect with apple device

See merge request idf/esp-idf!4665
2019-04-04 18:44:53 +08:00
Renz Christian Bagaporo
c81ebbf38e ldgen: add backward-compatibility with previous mapping fragment style 2019-04-04 16:33:56 +08:00
Renz Christian Bagaporo
94bc240a5e docs: update linker script generation docs 2019-04-04 16:33:56 +08:00
Shivani Tipnis
3996316524 mfg_util: Remove todo line leftback 2019-04-04 13:59:52 +05:30
Renz Christian Bagaporo
90ee405afd ldgen: update component linker fragment files 2019-04-04 15:57:34 +08:00
Renz Christian Bagaporo
7900178b7c ldgen: update tests for common fragment parsing 2019-04-04 15:56:46 +08:00
Renz Christian Bagaporo
7dcef2c33c ldgen: implement common fragment parsing 2019-04-04 15:56:14 +08:00
Krzysztof Budzynski
e349329d86 Merge branch 'doc/fix-an-important-typo-in-Getting-Started-Guide' into 'master'
Fixed a typo that cannot wait

See merge request idf/esp-idf!4685
2019-04-04 15:40:56 +08:00
Angus Gratton
34e89c46de Merge branch 'update/mfg_util' into 'master'
mfg_util: Add changes to mfg_util as per changes in nvs_util

See merge request idf/esp-idf!3573
2019-04-04 14:40:33 +08:00
Angus Gratton
63261ec2d7 Merge branch 'bugfix/httpd_accept_conn' into 'master'
esp_http_server : Only accept new connections if server has capacity to handle more

Closes IDFGH-749

See merge request idf/esp-idf!4655
2019-04-04 14:26:49 +08:00
Angus Gratton
5136b76798 Merge branch 'feature/micro-ecc-only-in-bootloader' into 'master'
Use micro_ecc library only in bootloader

See merge request idf/esp-idf!4082
2019-04-04 14:26:48 +08:00
Angus Gratton
d6394818b0 Merge branch 'feature/misc_adjustment_of_esp32' into 'master'
misc adjustment of esp32 component

Closes IDF-36

See merge request idf/esp-idf!4627
2019-04-04 11:16:46 +08:00
Angus Gratton
203af5c0a5 Merge branch 'bugfix/soc_register_struct_names' into 'master'
soc:Added names to anonymous register structs

See merge request idf/esp-idf!4668
2019-04-04 07:42:24 +08:00
Anurag Kar
9542063236 esp_http_server : Test added to check limit on max_open_sockets config option 2019-04-03 13:34:12 +00:00
Anurag Kar
7e676c1055 esp_http_server : Only accept new connections if server has capacity to handle more
This fix prevents HTTP server from accepting new connections when the total count of connected
sockets has reached the max_open_sockets limit set during configuration. The pending connections
are kept in backlog until atleast one of the connected sockets is closed. The maximum number of
connection requests that can kept in backlog is specified as backlog_conn configuration option.
Note that this modification has no effect when LRU purge is enabled.

Also added sanity check on setting for max_open_sockets during configuration.

Solution suggested by jimparis https://github.com/espressif/esp-idf/issues/3183#issue-421234265

Closes https://github.com/espressif/esp-idf/issues/3183
2019-04-03 13:34:12 +00:00
baohongde
88efcdbe35 components/coex: Fix BT disconnecting due to too many reset BB
Update coex version to 1.1.6
2019-04-03 20:42:03 +08:00
morris
f5b03c9ea3 misc adjustment of esp32 component 2019-04-03 19:57:46 +08:00
liying
1cee7d4746 Fix a very important typo that cannot wait 2019-04-03 18:34:34 +08:00
baohongde
a332bca0c7 components/bt: Fix disconnect with apple device
1. Fix disconnect with apple device
    2. Fix hci_refresh_enc_key_cmd will be ignored
    3. Fix hci_refresh_enc_key_cmd will crash

    Closes https://github.com/espressif/esp-idf/issues/3140
2019-04-03 17:22:01 +08:00
Shivani Tipnis
a88b40483d mfg_util: Add changes to mfg_util as per changes in nvs_util
revert changeson this file

Update README for mfg util

Update to correct coding style of script
2019-04-03 11:31:49 +05:30
Angus Gratton
30e3e26834 Merge branch 'feature/support_comments_in_csv' into 'master'
nvs_util: Add support to include comments in csv file

See merge request idf/esp-idf!4656
2019-04-03 11:12:51 +08:00
huub
4aac441e46 soc:Added names to anonymous register structs
For typedef volatile struct in components/soc/esp32/include/soc

Merges https://github.com/espressif/esp-idf/pull/3199
2019-04-03 03:09:44 +00:00
Angus Gratton
4b4cd7fb51 efuse/flash encryption: Reduce FLASH_CRYPT_CNT to a 7 bit efuse field
8th bit is not used by hardware.

As reported https://esp32.com/viewtopic.php?f=2&t=7800&p=40895#p40894
2019-04-03 14:07:20 +11:00
Krzysztof Budzynski
dd6e8db7ec Merge branch 'doc/translate_404_page' into 'master'
Add translation for 404 page

See merge request idf/esp-idf!4635
2019-04-02 17:49:43 +08:00
Jiang Jiang Jian
53daf930c3 Merge branch 'bugfix/fix_some_sta_certification_issues' into 'master'
esp32: fix some STA certification issues

Closes WIFI-295, WIFI-299, WIFI-305, WIFI-306, WIFI-358, WIFI-367, and WIFI-368

See merge request idf/esp-idf!4434
2019-04-02 14:32:26 +08:00
Angus Gratton
3af14a065d Merge branch 'bugfix/undefined_partition_table_bin_warning' into 'master'
make: fix undefined variables warning for PARTITION_TABLE_BIN

Closes IDFGH-685

See merge request idf/esp-idf!4633
2019-04-02 11:49:58 +08:00
Ivan Grokhotkov
43d3e75125 Merge branch 'feature/derive_esp_wifi_from_esp32' into 'master'
derive esp_wifi from esp32 component

See merge request idf/esp-idf!4602
2019-04-02 10:13:15 +08:00
Angus Gratton
ae585b6615 Merge branch 'bugfix/external_rtc_start_fail' into 'master'
Bugfix/external rtc start fail

See merge request idf/esp-idf!4374
2019-04-02 09:42:27 +08:00
Ivan Grokhotkov
fd91818074 Merge branch 'feature/sysview_heap_tracing' into 'master'
SystemView based heap and log tracing

See merge request idf/esp-idf!3952
2019-04-02 09:07:55 +08:00
Alexey Gerenkov
3914f17d26 apptrace: Adds test for logtrace_proc script 2019-04-01 19:31:45 +03:00
Alexey Gerenkov
296c9549a4 sys_view: Adds heap & log tracing example 2019-04-01 19:31:45 +03:00
Alexey Gerenkov
d2db2ef03c docs: Adds host-based heap tracing description 2019-04-01 19:31:45 +03:00
Alexey Gerenkov
8c6a924cdf sys_view: Adds processing scripts for heap & log traces 2019-04-01 19:31:45 +03:00
Alexey Gerenkov
5ef3a64c00 sys_view: Adds heap tracing API 2019-04-01 19:31:27 +03:00
Jiang Jiang Jian
2f8b6cfc77 Merge branch 'feature/btdm_add_mesh_adv_type_and_srv_uuid_for_dup_scan_except' into 'master'
Component/bt: add mesh beacon adv and svc uuid for duplicate scan exceptional list

See merge request idf/esp-idf!4592
2019-04-01 21:49:18 +08:00
Liu Zhi Fu
b82872102e esp32: fix some STA certification issues
Fix following STA WFA certification issues:
1. STA HT2040 coexist
2. Disallow WEP/TKIP with HT rates
3. WPA2 improvement
4. Minor refactor for WiFi internal global variable auth_type
2019-04-01 21:39:47 +08:00
Alexey Gerenkov
335576013e heap: Separate standalone and common part of tracing module 2019-04-01 15:56:15 +03:00
Alexey Gerenkov
2d52ac48f9 apptrace: Adds checks for user arguments in apptrace API 2019-04-01 15:56:14 +03:00
Alexey Gerenkov
c0f37a324e apptrace: Fixes tracing xQueueGiveFromISR 2019-04-01 15:56:13 +03:00
Ivan Grokhotkov
d52ecb71d6 Merge branch 'feature/spiffs_image_generator' into 'master'
SPIFFS Image Generator

See merge request idf/esp-idf!4156
2019-04-01 20:08:40 +08:00
morris
79bb5de426 derive esp_wifi from esp32 component 2019-04-01 20:04:52 +08:00
Shivani Tipnis
66e38e9bac nvs_util: Add support to include comments in csv file
Closes https://github.com/espressif/esp-idf/issues/2965
2019-04-01 16:52:43 +05:30
Anton Maklakov
fd28549dfa ci: Fix the cleaning stale submodule script to support difference in sub-pathes 2019-04-01 15:47:01 +05:30
Mahavir Jain
816fe38f3a app_update: remove redundant (additional) check for signature verification
Call `esp_image_verify` takes care of validating image signature.
2019-04-01 15:47:01 +05:30
Mahavir Jain
fcff80ecf8 fix cmake build for bootloader 2019-04-01 15:47:01 +05:30
Mahavir Jain
202f689baa bootloader: use mbedTLS for secure boot verification in firmware 2019-04-01 15:46:52 +05:30
Mahavir Jain
369e170ebc micro-ecc: move into booloader directory 2019-04-01 15:45:26 +05:30
Jiang Jiang Jian
5b2247df2d Merge branch 'bugfix/increase_block_scan_time' into 'master'
wifi: increase the block scan time

Closes WIFI-378 and WIFI-379

See merge request idf/esp-idf!4645
2019-04-01 17:24:04 +08:00
Angus Gratton
8914f6f9cd Merge branch 'bugfix/http_server_lf_term_hdr' into 'master'
HTTP Server : Fix for tolerating LF terminated headers

Closes IDFGH-748

See merge request idf/esp-idf!4588
2019-04-01 13:25:24 +08:00
zhangyanjiao
b13ceaf468 wifi: increase the block scan time because of changing channel will take at 30nm when BT/WiFi coexist 2019-04-01 03:12:20 +00:00
Ivan Grokhotkov
7cbd863d04 Merge branch 'bugfix/coap_gcc8_format_error' into 'master'
coap: fix format error with GCC 8, define WITH_POSIX in the port header

See merge request idf/esp-idf!4639
2019-03-29 23:50:52 +08:00
Krzysztof Budzynski
005c5196e9 Merge branch 'doc/review_get_st_wrover_kit_rm' into 'master'
Delete a file which accidentally ended up in the idf's root derictory. Its…

See merge request idf/esp-idf!4632
2019-03-29 01:52:43 +08:00
liying
e2ce0860f6 Updated 404 page not found pages, both Chinese and English versions. 2019-03-28 19:06:43 +08:00
Michael (XIAO Xufeng)
af2fc96ee1 spi_master: refactor and add HAL support 2019-03-28 17:14:50 +08:00
Ivan Grokhotkov
624725d6e0 coap: define WITH_POSIX in coap_config.h instead of globally 2019-03-28 16:29:13 +08:00
Ivan Grokhotkov
8016448fb1 coap: silence format truncation warning (appears with GCC 8) 2019-03-28 16:28:25 +08:00
Krzysztof Budzynski
76da10a665 Merge branch 'docs/translate-getting-started-guides-devkitc2' into 'master'
Add translation for Devkitc guides and index files

See merge request idf/esp-idf!4522
2019-03-28 15:34:17 +08:00
Angus Gratton
6fcfdd3d6a Merge branch 'update/nvs_partition_util' into 'master'
Update for creation of unique filename for encryption keys

See merge request idf/esp-idf!3808
2019-03-28 15:07:44 +08:00
zhiweijian
0acc2f59e5 Component/bt: add mesh beacon adv and svc uuid for duplicate scan exceptional list 2019-03-28 06:09:19 +00:00
Ivan Grokhotkov
85fb54a501 Merge branch 'feature/separate_xtensa_from_esp32' into 'master'
separate xtensa from esp32

See merge request idf/esp-idf!4625
2019-03-28 14:04:03 +08:00
Shivani Tipnis
cd8c42600c nvs_util: Add support for creation of unique encryption keys 2019-03-28 05:06:12 +00:00
Angus Gratton
1db51e18b9 Merge branch 'bugfix/restore_deleted_factory_offset' into 'master'
partition_table: restore needed factory offset variable

See merge request idf/esp-idf!4601
2019-03-28 12:03:27 +08:00
liying
957301f293 add translation for devkitc guides and index files 2019-03-27 17:41:36 +00:00
Krzysztof Budzynski
f14d61966d Merge branch 'feature/docs_provide_404_page' into 'master'
docs: Introduced custom 404 page in readthedocs documentation to replace…

See merge request idf/esp-idf!4541
2019-03-28 01:38:31 +08:00
Krzysztof Budzynski
cb87e786a5 docs: Introduced custom 404 page in readthedocs documentation to replace… 2019-03-28 01:38:31 +08:00
Renz Christian Bagaporo
7112b9492e make: fix undefined variables warning for PARTITION_TABLE_BIN
Closes https://github.com/espressif/esp-idf/issues/3136
2019-03-27 21:02:55 +08:00
morris
dbdb299bb1 create xtensa component
1. move xtensa specific files out of esp32 component
2. merge xtensa-debug-module component into xtensa
2019-03-27 20:24:28 +08:00
Anton Maklakov
da90966828 Merge branch 'feature/mqtt_weekend_tests' into 'master'
introducing weekend tests for mqtt and fuzzer test (mdns, LWIP)

Closes IDF-540

See merge request idf/esp-idf!4230
2019-03-27 19:12:33 +08:00
Kirill Chalov
ade05b4802 Delete a file which accidentally ended up in the idf's root derictory. Its original copy is safe and sound where it should be and is up to date. 2019-03-27 18:09:13 +08:00
Ivan Grokhotkov
18946a5421 Merge branch 'feature/common_parts_into_esp_common' into 'master'
move common include files from esp32 into esp_common

See merge request idf/esp-idf!4515
2019-03-27 17:00:58 +08:00
Jiang Jiang Jian
21f6b4d6c3 Merge branch 'bugfix/modify_wifi_reason_code' into 'master'
wifi: modify wifi reason code

Closes WIFI-268 and WIFI-388

See merge request idf/esp-idf!4604
2019-03-27 16:50:35 +08:00
Jiang Jiang Jian
fe793eb574 Merge branch 'bugfix/btdm_modify_HCI_GET_CMD_BUF' into 'master'
Component/bt: modify HCI_GET_CMD_BUF

See merge request idf/esp-idf!4465
2019-03-27 14:23:52 +08:00
Jiang Jiang Jian
fc6b413667 Merge branch 'bugfix/btdm_add_new_param_for_update_whitelist_api' into 'master'
Component/bt: add new param for update_whitelist API

See merge request idf/esp-idf!4493
2019-03-27 14:23:12 +08:00
Renz Christian Bagaporo
db95996453 docs: Add documentation for spiffsgen 2019-03-27 09:09:47 +08:00
Renz Christian Bagaporo
09d7383180 example: Add SPIFFS image generation from build system example 2019-03-27 09:09:47 +08:00
Ivan Grokhotkov
a1218478a1 Merge branch 'feature/move_hwcrypto_to_mbedtls' into 'master'
move hwcrypto from esp32 to mbedtls

See merge request idf/esp-idf!4610
2019-03-27 09:07:52 +08:00
Anurag Kar
94bd4e0a26 HTTP Server : Added example tests for verifying parser behavior on arbitrary HTTP terminations (LF, CRLF, etc.) 2019-03-26 14:21:40 +05:30
Anurag Kar
990af312d1 HTTP Server : Fix for tolerating LF terminated headers
List of changes:
* When parsing requests, count termination from LF characters only
* Correct memcpy() length parameter in httpd_unrecv() (pointed out by jimparis in GitHub issue thread)
* Use ssize_t to store results of length subtractions during parsing
* Modify some comments to reduce ambiguity

Closes https://github.com/espressif/esp-idf/issues/3182
2019-03-26 14:21:40 +05:30
morris
709a320f33 move hwcrypto from esp32 to mbedtls 2019-03-26 16:24:22 +08:00
Krzysztof Budzynski
e2ed49cdc3 Merge branch 'doc/review_get_st_wrover_kit' into 'master'
Doc/review get st wrover kit

See merge request idf/esp-idf!4579
2019-03-26 16:12:42 +08:00
Kirill Chalov
a1c39e4a53 Doc/review get st wrover kit 2019-03-26 16:12:42 +08:00
Krzysztof Budzynski
54c6bf0b9b Merge branch 'doc/review_get_st_pico' into 'master'
Doc/review get st pico

See merge request idf/esp-idf!4603
2019-03-26 16:11:11 +08:00
Kirill Chalov
bae824439e Doc/review get st pico 2019-03-26 16:11:11 +08:00
baohongde
59d77660ef components/bt: Fix warning when disable debug logs or in release mode and improve the code structure 2019-03-26 14:37:37 +08:00
morris
a2f07b0806 move common include files from esp32 into esp_common 2019-03-26 11:57:03 +08:00
Ivan Grokhotkov
9f3b550ff4 Merge branch 'bugfix/from_github' into 'master'
Bugfixes from GitHub

See merge request idf/esp-idf!4607
2019-03-26 11:17:46 +08:00
zhangyanjiao
ebe7190f01 wifi: modify wifi reason code 2019-03-26 11:16:47 +08:00
Renz Christian Bagaporo
4d9c3a262d cmake,make: Support SPIFFS image generation from build systems 2019-03-25 12:51:52 +08:00
Renz Christian Bagaporo
ca06f73a51 spiffs: Add host test for generated spiffs image 2019-03-25 12:51:52 +08:00
Renz Christian Bagaporo
8ba10bf3dc spiffs: Implement spiffs image generation 2019-03-25 12:51:52 +08:00
Tim Nordell
eb5abca23d nvs_flash: Fix typo in README.rst
Merges https://github.com/espressif/esp-idf/pull/3216

This should read "except for the new key-value pair" instead of
"expect for the new key-value pair".

Signed-off-by: Tim Nordell <tim.nordell@nimbelink.com>
2019-03-24 19:56:10 +01:00
955aa2e4e0 Update README.md
Merges https://github.com/espressif/esp-idf/pull/3104
2019-03-24 19:54:00 +01:00
Dan
eb83924e95 Fix math: 8192 = 2 ** 13
Merges https://github.com/espressif/esp-idf/pull/3133
2019-03-24 19:54:00 +01:00
Renz Christian Bagaporo
3a4354c770 ci: fix cmake example build fail 2019-03-24 16:51:48 +08:00
Roland Dobai
2df9fb057d VFS: Allocate socket select semaphore outside ISR 2019-03-22 13:47:32 +00:00
zhiweijian
c0bdea6aae Component/bt: add new param for update_whitelist() 2019-03-22 12:22:51 +00:00
David Cermak
bc60bbbeaf fuzzer tests: update of mdns and lwip host compilation for fuzzer testing
Closes IDF-540
2019-03-22 11:37:26 +01:00
David Cermak
997883be1e ci: assign fuzzer tests to be executed as weekend tests 2019-03-22 11:37:26 +01:00
David Cermak
5141e0ec24 tcp_transport: ws fix on reception of longer data than receive buffer 2019-03-22 11:37:26 +01:00
David Cermak
f05228be36 tiny-test-fw: update sdkconfig python dictionary to contain values without trailing newlines 2019-03-22 11:37:26 +01:00
David Cermak
1465f53f49 mqtt tests: adding weekend test for mqtt library to exercise publishing/receiving different data and references esp-mqtt commits to pass these tests
testing conditions:
transports (tcp, ssl, ws..)
qos (0, 1, 2)
short repeated messages (packed packets)
oversized messages (fragmented packets)
publish from a different thread

Closes https://github.com/espressif/esp-idf/issues/2870 by means of including commit 815623dfe5a0e41fa0e51ab4e336feb3eaa5ba15 from esp-mqtt
Closes https://github.com/espressif/esp-idf/issues/2975 by means of including commit 752953dc3be007cca4255b66a35d3087e61f6a54 from esp-mqtt
Closes https://github.com/espressif/esp-idf/issues/2850 by means of including commits df455d2a5fe562dd1b8351da99a1d6d82b66eff3 17fd713bced4f2d00df7ed664ed82a7d108ab317 from esp-mqtt
2019-03-22 11:37:26 +01:00
Renz Christian Bagaporo
7e93d4986c partition_table: restore needed factory offset variable 2019-03-22 15:24:23 +08:00
Ivan Grokhotkov
69b58f1e9c Merge branch 'bugfix/tinydtls_mirror' into 'master'
ci: add mirror for tinydtls submodule

See merge request idf/esp-idf!4597
2019-03-22 15:22:14 +08:00
Ivan Grokhotkov
24bd5f3267 ci: add mirror for tinydtls submodule 2019-03-22 14:27:08 +08:00
Jiang Jiang Jian
c2d1f83bce Merge branch 'mesh/decouple_addition' into 'master'
wifi: decouple mesh functions from net80211

See merge request idf/esp-idf!4393
2019-03-22 12:57:03 +08:00
Angus Gratton
1be147c457 Merge branch 'feature/allow_components_to_declare_images_to_flash' into 'master'
Allow components to present their own images to flash

See merge request idf/esp-idf!4148
2019-03-22 11:14:37 +08:00
Ivan Grokhotkov
426bb08552 Merge branch 'feature/move_common_src_to_esp_common' into 'master'
move common source files from esp32 to esp_common

See merge request idf/esp-idf!4589
2019-03-22 11:12:05 +08:00
morris
fcedf442ce move common source files from esp32 to esp_common 2019-03-22 10:35:03 +08:00
Angus Gratton
80dd3ae749 Merge branch 'bugfix/cmake_component_path' into 'master'
cmake: Set COMPONENT_PATH during early expansion of dependencies

Closes IDFGH-787

See merge request idf/esp-idf!4557
2019-03-22 07:13:11 +08:00
Ivan Grokhotkov
940a1f6e79 Merge branch 'feature/separate_rom_from_esp32' into 'master'
separate rom from esp32 component to esp_rom

Closes IDF-542

See merge request idf/esp-idf!4500
2019-03-21 22:10:45 +08:00
Ivan Grokhotkov
3a779380a7 Merge branch 'feature/semihost_vfs' into 'master'
Adds semihosting VFS driver

Closes IDF-367

See merge request idf/esp-idf!4145
2019-03-21 22:03:06 +08:00
Ivan Grokhotkov
58314feff9 Merge branch 'feature/http_server_pinned_to_core_support' into 'master'
HTTP Server: Added ability to select core

See merge request idf/esp-idf!4586
2019-03-21 19:19:13 +08:00
Ivan Grokhotkov
ffa8bed7c8 Merge branch 'bugfix/nvs_util_write_single_page_big_blob_data' into 'master'
nvs_util: Fix to support write operation of multiple single page big blob data

See merge request idf/esp-idf!4268
2019-03-21 19:10:29 +08:00
Ivan Grokhotkov
eee89118d9 Merge branch 'feature/idf_monitor_save_log' into 'master'
tools: Create log files from IDF Monitor

Closes IDF-364

See merge request idf/esp-idf!4414
2019-03-21 19:06:31 +08:00
Ivan Grokhotkov
bf5e3de955 Merge branch 'doc/app_trace_zh_CN' into 'master'
zh_CN translation of app_trace

See merge request idf/esp-idf!4087
2019-03-21 18:58:32 +08:00
morris
c159984264 separate rom from esp32 component to esp_rom
1. separate rom include files and linkscript to esp_rom
2. modefiy "include rom/xxx.h" to "include esp32/rom/xxx.h"
3. Forward compatible
4. update mqtt
2019-03-21 18:51:45 +08:00
Ivan Grokhotkov
4fc548112e Merge branch 'bugfix/ldgen_type_1_fails_on_windows' into 'master'
Fix library path parsing in windows

Closes IDFGH-733

See merge request idf/esp-idf!4516
2019-03-21 18:38:51 +08:00
Ivan Grokhotkov
33d555dbdd Merge branch 'doc/http_server_zh_CN' into 'master'
zh_CN translation of HTTP Server API reference

See merge request idf/esp-idf!4548
2019-03-21 18:37:15 +08:00
Ivan Grokhotkov
77e7af4e90 Merge branch 'feature/update_libcoap_4.2.0' into 'master'
Update component/coap to libcoap version release-4.2.0

See merge request idf/esp-idf!4499
2019-03-21 18:35:20 +08:00
Ivan Grokhotkov
106dc05903 Merge branch 'feature/specify_includes_belonging_esp32' into 'master'
move esp32 chip specific includes to esp32/xxx.h

See merge request idf/esp-idf!4534
2019-03-21 18:34:08 +08:00
Ivan Grokhotkov
57e1b5dad8 Merge branch 'bugfix/newlib_fcntl_r_signature' into 'master'
vfs: change fcntl argument to int (instead of va_list), add weak fcntl

See merge request idf/esp-idf!4549
2019-03-21 18:30:34 +08:00
Ivan Grokhotkov
ce07a1057c Merge branch 'feature/make-debug-verbose-usable' into 'master'
logs: Make verbose and debug logging cleaner

Closes IDFGH-782

See merge request idf/esp-idf!4578
2019-03-21 18:29:50 +08:00
Ivan Grokhotkov
743fa44544 Merge branch 'bugfix/esp_debug_includes' into 'master'
mbedtls: Fix esp_debug not including its dependencies

See merge request idf/esp-idf!4581
2019-03-21 18:28:39 +08:00
Ivan Grokhotkov
47b5c5bc90 Merge branch 'bugfix/fixes_from_github' into 'master'
Fixes from Github

See merge request idf/esp-idf!4510
2019-03-21 18:27:53 +08:00
Balazs Racz
efcd10ea31 Fix missing declaration of __bswap64 in endian.h
Merges https://github.com/espressif/esp-idf/pull/2983
2019-03-21 15:08:11 +08:00
raldone01
fc880e2429 Fixed a small spelling mistake
Merges https://github.com/espressif/esp-idf/pull/3089
2019-03-21 15:08:11 +08:00
Per Malmberg
36c73e6d70 Easier use of -Wsign-conversion warnings needs changes.
Merges https://github.com/espressif/esp-idf/pull/3129
2019-03-21 15:08:04 +08:00
Hanh Tran
e5e41e0a5e Fix comment typos in WiFi types header
Merges https://github.com/espressif/esp-idf/pull/3145
2019-03-21 15:06:24 +08:00
Conrad Meyer
85653acfb4 check-lxdialog.sh: Support libintl on FreeBSD
To unbreak "make menuconfig."

Merges https://github.com/espressif/esp-idf/pull/3168
2019-03-21 15:06:24 +08:00
Sarena Meas
e24ac7a346 Add another auto-generated file to .gitignore.
* Update tools/kconfig/.gitignore for auto-generated file *.o.

Merges https://github.com/espressif/esp-idf/pull/3073
2019-03-21 15:06:24 +08:00
Akbar Hashim
6f5f40dae4 updated buffer size too small for popular carrier in India Airtel -> airtelgprs.com
Merges https://github.com/espressif/esp-idf/pull/3010
2019-03-21 15:06:24 +08:00
fivdi
178c9d15de Fix comments in ULP MOVE instruction examples
Merges https://github.com/espressif/esp-idf/pull/2992
2019-03-21 15:06:24 +08:00
Ivan Grokhotkov
d43e3e7fc6 Merge branch 'feature/ci_use_custom_toolchain' into 'master'
ci: Add an ability to use custom toolchain for testing

See merge request idf/esp-idf!4561
2019-03-21 14:51:12 +08:00
Anuj Deshpande
13cf867023 logs: Make verbose and debug logging cleaner
* Closes #3193
* Closes IDFGH-782

The logs that are deleted in this commit make debug and verbose mode
unusable.
2019-03-21 11:54:04 +05:30
Angus Gratton
25043c4d56 Merge branch 'feature/merge_flash_data_type-flash_partitions' into 'master'
merge esp_flash_data_types into esp_flash_partitions

See merge request idf/esp-idf!4504
2019-03-21 13:40:40 +08:00
Ivan Grokhotkov
6d4a7b1a7e Merge branch 'bugfix/cmake_soc_test' into 'master'
soc: fix compiling unit tests with CMake

Closes IDF-499

See merge request idf/esp-idf!4545
2019-03-21 13:34:58 +08:00
Gregory Eslinger
7f1047847a HTTP Server: Added ability to select core
The task that runs the HTTP server can now be pinned to a particular core by setting `core_id`
in the HTTP server configuration.  By default, the core is set to `tskNO_AFFINITY`, meaning
it can run on any core.

Merges https://github.com/espressif/esp-idf/pull/3190
2019-03-21 11:22:58 +08:00
Anton Maklakov
7cec2e8342 ci: Add an ability to use custom toolchain for testing 2019-03-21 09:50:26 +07:00
Angus Gratton
c1e5e19d0b Merge branch 'bugfix/heap_caps_int_overflows' into 'master'
heap: Add integer overflow checks on MALLOC_CAP_32BIT & MALLOC_CAP_EXEC

See merge request idf/esp-idf!4451
2019-03-21 09:47:38 +08:00
Angus Gratton
112c54e043 Merge branch 'doc/ota_readme_cert_cn' into 'master'
ota example: Mention the certificate needs CN set correctly

See merge request idf/esp-idf!4441
2019-03-21 09:26:12 +08:00
Angus Gratton
b7ee11231d mbedtls: Fix esp_debug not including its dependencies
As reported on forum: https://esp32.com/viewtopic.php?f=13&t=9782&p=40464#p40464
2019-03-21 10:48:55 +11:00
Krzysztof Budzynski
2994d25f27 Merge branch 'bugfix/sphinx_build_failure_on_rtd' into 'master'
docs: Upgraded sphinx package version to prevent build failures on readthedocs…

See merge request idf/esp-idf!4552
2019-03-21 02:14:36 +08:00
Jiang Jiang Jian
bd103f3743 Merge branch 'feature/btdm_add_api_to_clean_gattc_cache' into 'master'
Component/bt: add api to clean gattc cache

See merge request idf/esp-idf!3951
2019-03-20 22:05:00 +08:00
Jiang Jiang Jian
c1600f28d1 Merge branch 'bugfix/btdm_fix_no_adv_report_when_scaning_with_sleep_enable' into 'master'
Component/bt: fix no adv report when scanning with sleep enable

See merge request idf/esp-idf!4535
2019-03-20 21:36:23 +08:00
Jiang Jiang Jian
c5fb88c2e2 Merge branch 'bugfix/btdm_fix_build_warning_when_bluedroid_disable_log' into 'master'
Component/bt: fix build warning when bluedroid disable log

See merge request idf/esp-idf!4524
2019-03-20 21:09:59 +08:00
zhiweijian
7f606d0c2b Component/bt: modify HCI_GET_CMD_BUF 2019-03-20 19:35:06 +08:00
maojianxin
95301c16bd Fix external start fail 2019-03-20 18:34:01 +08:00
Zhang Jun Yi
5ba87240b5 soc/rtc: Bypass touchpad current to external 32k crystal oscillator 2019-03-20 18:34:01 +08:00
Alexey Gerenkov
b5ac319160 vfs: Adds example for semihosting VFS driver 2019-03-20 12:52:52 +03:00
morris
9efd7d3d34 zh_CN translation of HTTP Server API reference 2019-03-20 16:45:16 +08:00
Shivani Tipnis
60b5cdde20 nvs_util: Fix to support write of multiple singlepage big blob data
Closes https://github.com/espressif/esp-idf/issues/3011
2019-03-20 08:15:36 +00:00
chenyudong
b2b0f75fbb Decouple Wifi and ESP-Mesh to reduce bin size
Do not link mesh code when mesh is not used
2019-03-20 15:17:03 +08:00
Jiang Jiang Jian
d31a137f9c Merge branch 'bugfix/mesh_memory_leak' into 'master'
mesh: fix memory leak and group send

See merge request idf/esp-idf!4438
2019-03-20 14:57:05 +08:00
Angus Gratton
34d118d445 Merge branch 'feature/optimized_gpio_intr_service' into 'master'
driver: Add optimization by speed in ISR functions for gpio, rmt, pcnt

Closes IDF-328

See merge request idf/esp-idf!4241
2019-03-20 14:19:17 +08:00
Jiang Jiang Jian
dc5ff1d633 Merge branch 'bugfix/btdm_fix_blufi_prepare_write_crash' into 'master'
Component/bt: fix blufi prepare write crash

See merge request idf/esp-idf!4447
2019-03-20 11:46:15 +08:00
Anton Maklakov
886d8a6f28 Merge branch 'bugfix/newlib_misc_cleanups' into 'master'
newlib: minor cleanup

See merge request idf/esp-idf!4550
2019-03-20 11:08:20 +08:00
Ivan Grokhotkov
fe92829971 Merge branch 'feature/separate_eventloop_from_esp32' into 'master'
separate legacy esp_event from esp32 component to esp_event

See merge request idf/esp-idf!4539
2019-03-20 09:59:17 +08:00
Angus Gratton
abdc9f50d8 cmake: Set COMPONENT_PATH during early expansion of dependencies
Works around bug where components/soc/CMakeLists.txt was testing "EXISTS
${COMPONENT_PATH}/${SOC_NAME}" and this test could pass during early
expansion if COMPONENT_PATH was empty and a directory /esp32 exists
on Windows.

Closes https://github.com/espressif/esp-idf/issues/3195
2019-03-20 10:45:45 +11:00
Angus Gratton
b7b5c3a8c7 Merge branch 'bugfix/error_in_bootloader_loadprohibited' into 'master'
esp_tool: Exclude elf-sha256 from bootloader

Closes IDFGH-690

See merge request idf/esp-idf!4520
2019-03-20 07:28:09 +08:00
krzychb
57b2d5ae56 docs: Upgraded sphinx package version to prevent build failures on readthedocs site. Upgraded versions of other packages that are used during documentation build. 2019-03-19 17:04:58 +01:00
Ivan Grokhotkov
1d0bffb20a lwip, wpa_supplicant: use endianness macros from libc if possible 2019-03-19 22:15:32 +08:00
Ivan Grokhotkov
068b700786 newlib: remove usage of pre-ANSI defines 2019-03-19 22:15:26 +08:00
Ivan Grokhotkov
ac612b5422 newlib: enable timeradd, timersub, and similar macros
This uses a hack (temporarily defining __rtems__ from a wrapper header
file) to include timeradd, timersub, and similar macros, without
modifying newlib headers.
2019-03-19 22:15:12 +08:00
Ivan Grokhotkov
76d4b0150d Revert "feat(time): enable the macro timeradd, timersub, timerclear, etc."
This reverts commit 8f994b9dce.
2019-03-19 22:15:06 +08:00
Ivan Grokhotkov
48b1433772 vfs: change fcntl argument to int (instead of va_list), add weak fcntl 2019-03-19 21:44:17 +08:00
Ivan Grokhotkov
060cf9d6b4 Merge branch 'power_management/i2s+i2c' into 'master'
Power management/i2s+i2c

See merge request idf/esp-idf!4338
2019-03-19 17:27:59 +08:00
Ivan Grokhotkov
9a5fc6228b Merge branch 'bugfix/fix_minor_make_build_system_issue' into 'master'
make: use `shell` command to extract version string

See merge request idf/esp-idf!4526
2019-03-19 17:24:30 +08:00
Ivan Grokhotkov
f19ecbbbfa Merge branch 'test/detect_exception_in_idf_dut' into 'master'
tiny-test-fw: support detect exception in IDFDUT

See merge request idf/esp-idf!4527
2019-03-19 17:23:55 +08:00
Konstantin Kondrashov
0514a65cc9 esptool: Only insert SHA256 if overwriting zero data 2019-03-19 13:29:07 +08:00
Konstantin Kondrashov
98db4d2eb6 esp_tool: Exclude elf-sha256 from bootloader
Closes: IDFGH-690
2019-03-19 12:54:25 +08:00
Ivan Grokhotkov
73851e0b5c soc: fix compiling unit tests with CMake
soc unit tests have not been included when compiling with CMake,
because ../${SOC_NAME}/test was not evaluated relative to the
CMakeLists.txt directory.

Also call register_components() regardless of the presence of test
directory for particular target.
2019-03-19 11:42:51 +08:00
He Yin Ling
0a3975e80d test: handle exception by unit test script:
unit test script will detect exception, we don't need to let test fail
when exception happened.
2019-03-19 11:24:08 +08:00
He Yin Ling
b85e9e5cda tiny-test-fw: support translate backtrace in IDFDUT 2019-03-19 11:24:08 +08:00
He Yin Ling
f11eba7802 tiny-test-fw: support detect exception in IDFDUT 2019-03-19 11:24:08 +08:00
Ivan Grokhotkov
8fbb63c2a7 Merge branch 'bugfix/i2c_driver_release_opt' into 'master'
driver/i2c: write i2c command structure to hardware in one operation

See merge request idf/esp-idf!4538
2019-03-19 10:59:21 +08:00
Roland Dobai
2a419fa599 tools: Create log files from IDF Monitor 2019-03-18 19:33:20 +01:00
Jitin George
ab4b57e03d example:coap_server: Change app task stack size 2019-03-18 12:33:52 +00:00
Jitin George
fecd7a16d4 example:coap_client: Change app task stack size 2019-03-18 12:33:52 +00:00
Jon Shallow
bc9d1a65d7 Update component/coap to libcoap version release-4.2.0
This takes the code up to the latest released version of libcoap.

As there have been API changes, coap_client and coap_server in
examples/protocols have been updated to use the new APIs.

Further information on the new libcoap APIs can be found at
https://libcoap.net/doc/reference/4.2.0/

coap_client has been updated to handle BLOCK2 responses from
"coap://californium.eclipse.org"
coap_client has been modified to only send out one request (and wait for
the response)

coap_server has been updated to support Observe subscriptions, and well as
adding in PUT and DELETE handlers to work on the Espressif resource

coap_server and coap_client have had their stack sizes increased.

port/coap_io.c has been added, a copy of libcoap/src/coap_io.c with support
added for systems that do not have RFC 3542 section 20 support.

port/coap_io_socket.c has been removed as a lot of the code is now
replicated in different libcoap files.

Once this PR is place, then adding in DTLS will be a lot simpler (as a
separate PR)

Signed-off-by: Jitin George <jitin@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/3148
2019-03-18 12:33:52 +00:00
morris
fd9bc30aca separate legacy esp_event from esp32 component to esp_event 2019-03-18 19:58:04 +08:00
Ivan Grokhotkov
f0a82d7185 driver/i2c: write i2c command structure to hardware in one operation
GCC compiler can generate 8-bit stores when modifying bitfields of
volatile structs (https://github.com/espressif/esp-idf/issues/597).
In the specific case of I2C driver, this resulted in byte_num field
to be written using s8i. However the peripheral requires 32-bit
writes, and ignores 8-bit writes. This change modifies the code to
compose the 32-bit command register value first, and then write the
complete value to the hardware.
2019-03-18 18:23:50 +08:00
Ivan Grokhotkov
96aa08a0ff Merge branch 'bugfix/coredump_fixes' into 'master'
espcoredump fixes for GCC 8.2

See merge request idf/esp-idf!4528
2019-03-18 18:23:25 +08:00
morris
956c25dedd move esp32 chip specific includes to esp32/xxx.h 2019-03-18 17:14:05 +08:00
morris
fae39dc326 merge esp_flash_data_types into esp_flash_partitions 2019-03-18 08:51:55 +00:00
zhiweijian
a628577f64 Component/bt: fix no adv report when scaning with sleep enable 2019-03-18 16:35:50 +08:00
Sachin Parekh
4de5ae7468 PM: I2S and I2C added in the Power Management docs
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-03-18 08:21:21 +00:00
Sachin Parekh
7fc6445035 I2S: Enable Power Management locks
Acquires PM_APB_FREQ_MAX lock when carrying any transaction on I2S if
Power Management Framework is enabled.

Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-03-18 08:21:21 +00:00
Sachin Parekh
d0234ad24a I2C: Enable Power Management locks
Acquires PM_APB_FREQ_MAX lock when carrying any transaction on I2C if
Power Management Framework is enabled.

Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-03-18 08:21:21 +00:00
chenyudong
7d96b3442a mesh: fix memory leak and group send
fix a bug in group send
fix esp_mesh_set_router when router_t not initialized
fix mesh memory leak with invalid option
2019-03-18 14:43:21 +08:00
Jiang Jiang Jian
f1e9078cb0 Merge branch 'bugfix/fix_the_bug_cal_PMK_too_long' into 'master'
wifi: fix the bug that calculate PMK too long

Closes IDFGH-524

See merge request idf/esp-idf!4349
2019-03-18 14:26:48 +08:00
zhiweijian
1940ee0910 Component/bt: fix build warning when bluedroid disable log 2019-03-18 14:18:12 +08:00
Ivan Grokhotkov
63dabd1a17 espcoredump: fix test with esp32-2018r1 toolchain 2019-03-18 12:47:29 +08:00
Ivan Grokhotkov
6221f5a819 espcoredump: fix test compilation error with GCC 8 2019-03-18 12:47:22 +08:00
Angus Gratton
2dd3344342 heap: Add integer overflow checks on MALLOC_CAP_32BIT & MALLOC_CAP_EXEC 2019-03-18 01:41:58 +00:00
Renz Christian Bagaporo
9ce7ffb440 ldgen: fix library path parsing in windows
Closes https://github.com/espressif/esp-idf/issues/3173
2019-03-18 03:47:38 +08:00
Renz Christian Bagaporo
234de8de55 cmake: Allow components to present their own images to flash 2019-03-18 03:45:22 +08:00
Mahavir Jain
e4d97bef3d make: use shell command to extract version string 2019-03-17 21:33:22 +08:00
Jiang Jiang Jian
5beb2802e0 Merge branch 'bugfix/bluetooth_fix_API_esp_bt_gap_set_scan_mode' into 'master'
Modify esp_bt_gap_set_scan_mode() to be able to set connection modes as well as discoverable modes

See merge request idf/esp-idf!2208
2019-03-17 14:19:11 +08:00
Jiang Jiang Jian
8e4b82548a Merge branch 'bugfix/suppress_dhcpserver_debug_output' into 'master'
dhcpserver: suppress send_nak debug output

Closes IDFGH-557

See merge request idf/esp-idf!4491
2019-03-17 14:12:58 +08:00
Angus Gratton
f6665cf90b Merge branch 'bugfix/esp_prov_ble_rw_except' into 'master'
esp_prov : Catch DBus exception when reading/writing to BLE GATT characteristic

See merge request idf/esp-idf!4503
2019-03-15 21:10:53 +08:00
zhangyanjiao
6408ef9e7c wifi: fix the bug that when call set_config before connecting to an encrypted AP, PMK will be recalculated
Closes https://github.com/espressif/esp-idf/issues/2880
2019-03-15 16:28:58 +08:00
Jiang Jiang Jian
b1a81e8167 Merge branch 'bugfix/bb_watchdog_reset' into 'master'
esp32: add WiFi baseband watchdog reset

See merge request idf/esp-idf!4409
2019-03-15 16:12:30 +08:00
Angus Gratton
6400714d9b Merge branch 'feature/confserver_v2' into 'master'
confserver: Add v2 confserver protocol with separate visibility info

See merge request idf/esp-idf!4162
2019-03-15 14:49:05 +08:00
Angus Gratton
cc9b06d4da Merge branch 'bugfix/esp_sha_signing_sha256' into 'master'
secure boot: Fix esp_sha INT WDT, switch to using mbedTLS API

Closes IDFGH-681

See merge request idf/esp-idf!4440
2019-03-15 14:35:38 +08:00
Angus Gratton
87881b76ad Merge branch 'bugfix/make_gcc_version_evaluation' into 'master'
make: Ensure that component_project_vars.mk not generated before config

See merge request idf/esp-idf!4474
2019-03-15 14:30:48 +08:00
Ivan Grokhotkov
b4d87191ef Merge branch 'bugfix/esp-http-client-event-fixes' into 'master'
Minor bugfixes in esp_http_client and tcp_transport

See merge request idf/esp-idf!4467
2019-03-15 11:45:40 +08:00
Ivan Grokhotkov
416b756ea4 Merge branch 'bugfix/name_conflict_esp32_project_ld' into 'master'
esp32: Rename esp32.common.ld to esp32.project.ld to avoid build errors when downgrading

See merge request idf/esp-idf!4484
2019-03-15 11:42:20 +08:00
Angus Gratton
a44f43c2ea confserver: Send an error response if JSON request is malformatted 2019-03-15 14:31:45 +11:00
Angus Gratton
6897dab2de confserver: In protocol V2, a "load" should only send back changes not all items 2019-03-15 14:31:45 +11:00
Angus Gratton
02802a5113 confserver: Add support for new V2 protocol
V2 adds:
* Independent result for visibility (showing/hiding menus)
* Includes adding IDs for all items (menus & symbols) in kconfig_menus.json

Still backwards compatible with V1, with some small changes (menu items now listed in results).

Also added some protocol docs, changed the "listening on stdin" message to come after any kconfiglib warnings
2019-03-15 14:31:45 +11:00
Angus Gratton
f02ceb747e Merge branch 'bugfix/idf_py_windows_relpath' into 'master'
idf.py: Fix Windows issue if project and IDF are on different drives

Closes IDFGH-478

See merge request idf/esp-idf!4404
2019-03-15 09:36:25 +08:00
Anurag Kar
048cd2a887 esp_prov : Catch DBus exception when reading/writing to BLE GATT characteristic
This is useful in the context of provisioning when server initiates disconnection if secure session establishment fails.
2019-03-14 18:33:34 +05:30
Jiang Jiang Jian
b8f23fbd42 Merge branch 'bugfix/ble_assert_8192' into 'master'
fix the bug assert(8192 0) in rwble.c 234

See merge request idf/esp-idf!4461
2019-03-14 20:24:33 +08:00
Jitin George
9b0e6e3b49 esp_http_client: Fix header sent event bug 2019-03-14 14:31:28 +05:30
Jitin George
d943c8de94 tcp_transport: Fix case sensitive header comparison
Closes https://github.com/espressif/esp-idf/issues/3106
2019-03-14 14:31:28 +05:30
Ivan Grokhotkov
ce6b73ca5f Merge branch 'bugfix/console_allow_buffered' into 'master'
console example: use buffered stdout by default

See merge request idf/esp-idf!4476
2019-03-14 15:40:42 +08:00
Ivan Grokhotkov
1b3373543f Merge branch 'feature/trim_idf_ver_to_fit_32bit_field' into 'master'
tools/test_build_system: Trim IDF_VER to fit a 32-bit field

Closes IDFGH-682

See merge request idf/esp-idf!4477
2019-03-14 15:39:20 +08:00
Tian Hao
b39bd0615c fix the bug assert(8192 0) in rwble.c 234 2019-03-14 15:38:23 +08:00
Angus Gratton
7c69f6172b Merge branch 'bugfix/spi_flash_mmap_stale_data_issue' into 'master'
spi_flash: fix stale read issue for memory mapped partition

See merge request idf/esp-idf!4437
2019-03-14 14:56:12 +08:00
zhangyanjiao
fa2998d70b dhcpserver: suppress send_nak debug output
Closes https://github.com/espressif/esp-idf/issues/2924
2019-03-14 14:00:35 +08:00
Angus Gratton
12bdf8e45b esp32: Chunk input blocks for esp_sha() function performance, add perf test 2019-03-14 05:56:06 +00:00
Angus Gratton
1cc726b2a3 secure boot: Use mbedtls_sha256() not esp_sha()
Latter is probably compiled into most firmwares already, saves some size.

Ref https://github.com/espressif/esp-idf/issues/3127
2019-03-14 05:56:06 +00:00
Angus Gratton
6a6fbde83d esp32 hwcrypto: Prevent esp_sha() from disabling interrupts for extended period
* Closes https://github.com/espressif/esp-idf/issues/3127
* Closes IDFGH-681

Also reported at https://esp32.com/viewtopic.php?f=13&t=9506
2019-03-14 05:56:06 +00:00
Angus Gratton
981585df95 Merge branch 'feature/github_sync_prs_jira' into 'master'
github: Sync PRs to JIRA as well

See merge request idf/esp-idf!4487
2019-03-14 13:53:10 +08:00
Angus Gratton
d6a2590e40 Merge branch 'ci/print_error_label_check' into 'master'
ci: Print an error in the log if the label check fails

See merge request idf/esp-idf!4485
2019-03-14 11:37:20 +08:00
Angus Gratton
d0739861e8 github: Sync PRs to JIRA as well
Currently the GitHub sync half-syncs these (as it will create a JIRA issue as soon as the first
comment is made on the PR).
2019-03-14 14:29:46 +11:00
Angus Gratton
31ca6e399b Merge branch 'bugfix/mdns_add_remove_multiple_srv_master' into 'master'
mdns: fix possible crash if tx packet contained answer to removed service

Closes IDF-498 and IDF-504

See merge request idf/esp-idf!4348
2019-03-14 08:10:23 +08:00
Angus Gratton
f552977309 make: Ensure that component_project_vars.mk not generated before config
* Fix the situation where component_project_vars.mk is generated before config exists
* Does not fix situation where config is changed and component_project_vars.mk contents should be
  changed. This may still require a rebuild.
2019-03-14 10:57:36 +11:00
Angus Gratton
3bfb0d86e3 ci: Print an error in the log if the label check fails
One less step for a developer to figure out why this failed.
2019-03-14 10:15:49 +11:00
Angus Gratton
974796fa6c Merge branch 'bugfix/remove_malloc_ble_prov' into 'master'
Protocomm BLE: Make changes in handling BLE read/write requests

See merge request idf/esp-idf!4444
2019-03-14 07:08:50 +08:00
Angus Gratton
a79c5b8271 esp32: Rename esp32.common.ld to esp32.project.ld to avoid build errors when downgrading
Linker script generator produces build/esp32/esp32.common.ld from
components/esp32/ld/esp32.common.ld.in

This works fine until IDF is downgraded to V3.1 which uses components/esp32/ld/esp32.common.ld and
doesn't track build/esp32/esp32.common.ld at all.

At this point, the linker runs in the build/esp32 directory and "-T esp32.common.ld" picks up the
linker script generated .ld file, which causes mis-builds.

As reported on forums: https://esp32.com/viewtopic.php?f=13&t=9684&p=40105
2019-03-14 09:59:31 +11:00
Krzysztof Budzynski
16b2fd2dce Merge branch 'doc/review_get_started' into 'master'
Update IDF getting started sections for make and cmake as well as IDF monitor…

See merge request idf/esp-idf!4331
2019-03-14 00:10:26 +08:00
Kirill Chalov
49cca9288f Update IDF getting started sections for make and cmake as well as IDF monitor… 2019-03-14 00:10:26 +08:00
Konstantin Kondrashov
b1b5849c4c rmt/driver: Sped the rmt_driver_isr_default ISR
Used __builtin_ctz function to sped ISR.
2019-03-13 13:50:43 +00:00
Konstantin Kondrashov
3307735bc0 pcnt/driver: Sped the pcnt_intr_service ISR
Used __builtin_ctz function to sped ISR.
2019-03-13 13:50:43 +00:00
Pieter du Preez
b8dc48ab18 gpio/driver: Sped the gpio_intr_service ISR up by 1.5 uSeconds (+-50% faster).
Removed as much branching (if statements) from the
gpio_intr_service ISR, as possible and split the while loop into
two. Also forced writing the two status*_w1tc variables only once,
instead of every time after calling the external function hooks.

The measurements below, was done using the following tools:

Toolchain version: crosstool-ng-1.22.0-80-g6c4433a
Compiler version: 5.2.0

Here follows a comparison of the gpio_intr_service ISR's
execution time, using a DS1054 oscilloscope. All the time spent
calling external functions, via the function pointers
gpio_isr_func[gpio_num].fn, were disregarded.

With OPTIMIZATION_FLAGS = -Og, 1.34 uSeconds faster:

3.22 uSec (with this patch)
4.56 uSec (with commit 71c90ac4)

100 - (100 * 4.56 / 3.22) = 42% faster

With OPTIMIZATION_FLAGS = -Os, 1.65 uSeconds faster:

2.89 uSec (with this patch)
4.54 uSec (with commit 71c90ac4)

100 - (100 * 4.54 / 2.89) = 57% faster

Signed-off-by: Konstantin Kondrashov <konstantin@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/2861
2019-03-13 13:50:43 +00:00
KonstantinKondrashov
126d6b2de2 tools/test_build_system: Add tests with long IDF_VER 2019-03-13 20:43:33 +08:00
Ivan Grokhotkov
d34ca0b897 Merge branch 'test/fix_some_ut_not_assigned' into 'master'
test: fix some ut case not assigned

See merge request idf/esp-idf!4449
2019-03-13 20:42:24 +08:00
Ivan Grokhotkov
945bd36884 examples: don't enable buffering on stdout in console examples
newlib uses significantly more stack space when printing to an
unbuffered stream. To reduce the amount of stack space required to
use the console, don’t disable buffering. linenoise should support
unbuffered stdout instead.
2019-03-13 20:32:37 +08:00
Ivan Grokhotkov
fa57fb3c1c console/linenoise: support buffered stdout 2019-03-13 20:17:25 +08:00
Konstantin Kondrashov
f8ca296438 cmake: Trim IDF_VER to fit a 32-bit field 2019-03-13 20:04:43 +08:00
Konstantin Kondrashov
53208f6324 make: Trim IDF_VER to fit a 32-bit field
Closes: https://github.com/espressif/esp-idf/issues/3131
2019-03-13 20:01:28 +08:00
zhiweijian
296fbca2e7 Component/bt: fix blufi prepare write crash 2019-03-13 17:57:25 +08:00
David Cermak
265e983a45 mdns: fix possible crash when probing on particular interface with duplicated service instances due to naming conflicts on network
Issue: MDNS server initially sends probing packets to resolve naming confilicts with already registered service instances. In case of a conflict, instance name is altered and probing restarts. Original instance however wasnnot removed from the structure and upon service removal only one entry was removed and a dangling service might have been kept in the structure to bring about a crash.
Resolution: Keep only one instance of a service in the probing structure.

Closes IDF-498
2019-03-13 10:22:41 +01:00
David Cermak
c87f0cb6ca mdns: enable pcbs before starting service thread to avoid updating pcb's internal variables from concurent tasks
possible race condition: user task runs mdns_init, which enables pcbs while mdns-task already created could execute enable/disable of the same pcbs if an appropriate system event received
2019-03-13 10:22:41 +01:00
David Cermak
48b5501c25 mdns: fix possible deadlock on mdns deinit calling mdns_free()
mnds_free() initiates stop and delete timer tasks, which after locking the mutex could lead to a dead lock in case timer task executed before deleting the task, as it would wait indefinitelly for unlocking the mutex. This condition is fixed by calling _mdns_stop_timer without locking the mutex, because there's no need to protect any data when stopping and deleting the timer task

Closes https://github.com/espressif/esp-idf/issues/1696
2019-03-13 10:22:41 +01:00
David Cermak
021dc5d453 mdsn: fix race condition in updating packet data from user task when failed to allocate or queue a new service
Issue: mdns_service_add API allocates and queues an action to be processed in mdns task context; when allocation or queueing fails, allocated structure needs to be freed. Function _mdns_free_service did not only fee all the structures, but also updates packet data.
Resolution: Moved removal of packet data outside of _mdns_free_service function.
2019-03-13 10:22:41 +01:00
David Cermak
67051a286b mdns: fix possible crash when packet scheduled to transmit contained service which might have been already removed
packets scheduled to transmit are pushed to action queue and removed from tx_queue_head structure, which is searched for all remaining services and while service is removed, then service questions/asnwers are also removed from this structure. This update fixes possible crash when packet is pushed to action queue, and when service is removed, its answers are removed from tx_queue_head, but not from action queue. this could lead to a crash when the packet is poped from action queue containing questions/answers to already removed (freed) service

Closes IDF-504
2019-03-13 10:22:41 +01:00
Jiang Jiang Jian
75287eb569 Merge branch 'feature/btdm_add_adv_report_flow_control' into 'master'
Component/bt: add BLE adv report flow control

See merge request idf/esp-idf!4423
2019-03-13 16:58:07 +08:00
zhiweijian
d5e78e79d3 Component/bt: add api to clean gattc cache 2019-03-13 15:23:33 +08:00
Ivan Grokhotkov
7541d23523 Merge branch 'feat/spi_master_variable_dummy' into 'master'
spi_master: add support for variable dummy length in a same device

See merge request idf/esp-idf!4360
2019-03-13 15:15:58 +08:00
Ivan Grokhotkov
e77540b695 Merge branch 'test/spi_sio_test' into 'master'
spi: add test for sio mode

See merge request idf/esp-idf!3416
2019-03-13 15:15:43 +08:00
Angus Gratton
5107f9f9b2 Merge branch 'bugfix/confgen_expr_value' into 'master'
confgen: Fix bug with JSON metadata conditional range generation

See merge request idf/esp-idf!4402
2019-03-13 13:54:17 +08:00
Hrishikesh Dhayagude
d9ce0bb705 Modify esp_bt_gap_set_scan_mode() to be able to set connection modes as well as discoverable modes
The current API is insufficient to allow the users to set different combinations of connection and discoverable mode

Users should be able to choose the device modes independently:
1. Connectable-
  i. Non-connectable mode
  ii. Connectable mode

2. Discoverable-
  i. Non-discoverable mode
  ii. Limited discoverable mode
  iii. General discoverable mode
2019-03-13 11:24:00 +05:30
Mahavir Jain
16adb9d62a spi_flash: add test case for stale read issue on memory mapped partition 2019-03-13 05:38:01 +00:00
Mahavir Jain
2752654043 spi_flash: fix stale read issue for memory mapped partition
On flash program operation (either erase or write), if corresponding address has
cache mapping present then cache is explicitly flushed (for both pro and app cpu)

Closes https://github.com/espressif/esp-idf/issues/2146
2019-03-13 05:38:01 +00:00
Angus Gratton
fa5bc5d58b Merge branch 'bugfix/ssid_passwords_null_terminated' into 'master'
wifi: Specify that SSID & Password fields should be NULL terminated strings

See merge request idf/esp-idf!4468
2019-03-13 13:29:09 +08:00
Angus Gratton
710bcbd447 Merge branch 'feature/freertos_check_mutex_owner' into 'master'
freertos: check that mutex is released by owner task

See merge request idf/esp-idf!4012
2019-03-13 13:15:34 +08:00
Angus Gratton
961e433395 Merge branch 'bugfix/spi_flash_exclude_encrypted' into 'master'
esp_partition: disable encrypted reads/writes if flash encryption is disabled

See merge request idf/esp-idf!4099
2019-03-13 13:15:24 +08:00
Angus Gratton
f44dcf4878 Merge branch 'bugfix/macros_trailing_semicolon' into 'master'
Remove trialing semicolon from function-like macros

See merge request idf/esp-idf!4397
2019-03-13 13:15:12 +08:00
Angus Gratton
e18c7cb98d Merge branch 'bugfix/mdns_incorrect_semaphore_use' into 'master'
mdns: use binary semaphore instead of mutex when searching

See merge request idf/esp-idf!4464
2019-03-13 13:11:45 +08:00
Angus Gratton
8120efc6ed Merge branch 'bugfix/modify_dhcpserver_and_tcpip_adapter' into 'master'
modify the behavior for dhcpserver and tcpip_adapter

Closes IDFGH-557 and IDFGH-563

See merge request idf/esp-idf!4453
2019-03-13 12:54:55 +08:00
Liu Zhi Fu
674d234283 esp32: add WiFi baseband watchdog reset
When WiFi enter into a special status (11b weak mode), then reset
Wifi baseband to recover to normal mode.
2019-03-13 11:09:30 +08:00
Angus Gratton
79d37b75f3 wifi: Specify that SSID & Password fields should be NULL terminated strings
Closes https://github.com/espressif/esp-idf/issues/1176
2019-03-13 11:44:41 +11:00
Angus Gratton
76fd26c9fb Merge branch 'bugfix/build_fails_when_editor_assoc_with_py_scripts' into 'master'
Fix issues with CMake builds when python scripts are associated with an editor

See merge request idf/esp-idf!4459
2019-03-13 07:47:27 +08:00
Angus Gratton
b6ddebb861 Merge branch 'bugfix/blink-increase-task-size' into 'master'
examples: Increase task size for blink demo

See merge request idf/esp-idf!4342
2019-03-13 07:44:48 +08:00
Renz Christian Bagaporo
5fb1c1ad3e ci: test full build never runs '/usr/bin/env python' or similar 2019-03-12 17:26:54 +08:00
Ivan Grokhotkov
eef0b5090a mdns: use binary semaphore instead of mutex when searching
mdns_search_once_t::lock is used to synchronize tasks (taken by one
task and given by the other) so it should not be a mutex.
Convert to semaphore, and rename to indicate its purpose.
2019-03-12 09:33:06 +01:00
Renz Christian Bagaporo
d0b2d5ec95 cmake: Fix for Python files executed directly, not via PYTHON variable
A problem if the Python interpreter used for idf.py (or set via PYTHON
variable) didn't match
"/usr/bin/env python" (or the associated executable for .py files, on
Windows).

Closes https://github.com/espressif/esp-idf/issues/3160
Possibly also fix for https://github.com/espressif/esp-idf/issues/2936

Adds build system test to catch any future direct execution of Python in
the standard build process.
2019-03-12 13:31:44 +08:00
zhiweijian
d5f15a45ca Component/bt: add BLE adv report flow control 2019-03-12 11:10:26 +08:00
Angus Gratton
86c9b63546 Merge branch 'feature/sync_issues_to_jira' into 'master'
github: Add workflow file to sync issues to JIRA

See merge request idf/esp-idf!4443
2019-03-12 06:31:48 +08:00
Angus Gratton
2f83aea8f3 Merge branch 'bugfix/freemodbus_remove_critical_section' into 'master'
freemodbus: Fix remove critical_sections

See merge request idf/esp-idf!4289
2019-03-12 06:30:50 +08:00
Ivan Grokhotkov
1bc1fb7005 ci: add one more unit test job 2019-03-11 14:40:54 +00:00
Ivan Grokhotkov
37144dfa07 mdns: use binary semaphore instead of mutex when searching
mdns_search_once_t::lock is used to synchronize tasks (taken by one
task and given by the other) so it should not be a mutex.
Convert to semaphore, and rename to indicate its purpose.
2019-03-11 14:40:54 +00:00
Ivan Grokhotkov
d539183b40 esp32: use binary semaphore instead of mutex in dport tests 2019-03-11 14:40:54 +00:00
Ivan Grokhotkov
13523c95b4 freertos: check that mutex is released by owner task
Mutex type semaphores should be acquired and released by the same task.
Add a check to xQueueGenericSend for this condition.
2019-03-11 14:40:54 +00:00
Hrishikesh Dhayagude
ce065f1a4f Protocomm BLE: Make changes in handling BLE read/write requests
1. Remove unwanted malloc during BLE send response
2. Populate the missing parameters in the response - handle, offset, auth_req
2019-03-11 19:39:26 +05:30
Ivan Grokhotkov
fc4823c885 Merge branch 'bugfix/coredump_improvements_refactoring_delete_include' into 'master'
esp32: coredump refactoring fix bug (remove duplicated include)

See merge request idf/esp-idf!4328
2019-03-11 19:00:39 +08:00
He Yin Ling
ee7dd2c128 test: fix some ut case not assigned:
we didn't remove UT case file correctly for cmake build. even we use
artifact from make jobs, cmake case file will be used to assign test.
2019-03-11 09:44:47 +00:00
Angus Gratton
79ca95ddf6 Merge branch 'doc/jtag_debug_zh_CN' into 'master'
zh_CN translation of JTAG debugging

See merge request idf/esp-idf!3709
2019-03-11 16:35:04 +08:00
Angus Gratton
9679be19c5 Merge branch 'bugfix/efuse_virtual_mode' into 'master'
efuse: When Virtual eFuses are enabled, seed the virtual values as part of startup code

Closes WIFI-338

See merge request idf/esp-idf!4454
2019-03-11 16:33:32 +08:00
Angus Gratton
048b405296 Merge branch 'bugfix/doc_ubuntu_packages' into 'master'
docs: Update package dependencies

Closes IDFGH-360

See merge request idf/esp-idf!4406
2019-03-11 15:53:57 +08:00
Angus Gratton
4a575d5449 idf.py: Fix Windows issue if project and IDF are on different drives
Closes https://github.com/espressif/esp-idf/issues/2753
2019-03-11 04:31:13 +00:00
Angus Gratton
de7daa14a9 Merge branch 'bugfix/msys_cancel_idfpy' into 'master'
tools: re-run idf.py in MSYS with winpty

Closes #67

See merge request idf/esp-idf!4341
2019-03-11 12:27:36 +08:00
Angus Gratton
af1ea9b1b9 efuse: When Virtual eFuses are enabled, seed the virtual values as part of startup code 2019-03-11 15:20:40 +11:00
zhangyanjiao
27cc0d1f91 modify the behavior for dhcpserver and tcpip_adapter:
1. dhcp_server: suppress send_offer debug output
2. tcpip_adapter: zero-initialize system_event_t structures
3. tcpip_adapter: pass client IP address along with SYSTEM_EVENT_AP_STAIPASSIGNED

Closes https://github.com/espressif/esp-idf/issues/2924
Closes https://github.com/espressif/esp-idf/issues/2949
2019-03-11 12:11:05 +08:00
He Yin Ling
f42ae05d1e Merge branch 'test/fix_unit_test_job_pass_even_no_test_executed' into 'master'
test: fix CI UT job pass even ut app bootup fail

See merge request idf/esp-idf!4208
2019-03-11 10:19:15 +08:00
He Yin Ling
8f3fe52b5a test: temp disable spi master slave mode test 2019-03-10 06:21:37 +00:00
He Yin Ling
1a9f019d2a unit-test-app: increase factory partition size 2019-03-10 06:21:37 +00:00
He Yin Ling
323a790f01 test: fix CI UT job pass even ut app bootup fail 2019-03-10 06:21:37 +00:00
Alexey Gerenkov
4fc14e8eb6 vfs: Adds semihosting VFS driver 2019-03-08 15:08:10 +03:00
Jiang Jiang Jian
09e72776dc Merge branch 'bugfix/autoip_memoey_leak_debug' into 'master'
fix the bug in auto Ip memory leak

See merge request idf/esp-idf!4395
2019-03-08 19:54:25 +08:00
aleks
13e1c0b32f esp32: coredump header (fix linker.lf)
remove duplicated include from components/esp32/incliude/esp_core_dump.h
espcoredump/incliude/esp_core_dump.h:
fix signature of the functions esp_core_dump_to_uart() and esp_core_dump_to_uart();
add espcoredump into COMPONENT_PRIV_REQUIRES list
fix linker.lf file
2019-03-08 09:49:37 +00:00
Angus Gratton
d0e3564603 github: Add workflow file to sync issues to JIRA 2019-03-08 18:39:30 +11:00
Angus Gratton
8d62b0d173 ota example: Mention the certificate needs CN set correctly 2019-03-08 18:32:55 +11:00
Angus Gratton
bba89e1514 Merge branch 'bugfix/console_join_example' into 'master'
console: fix wrong timeout settiing in join command

Closes IDF-168

See merge request idf/esp-idf!4366
2019-03-08 12:02:57 +08:00
Angus Gratton
3a410d6a3d Merge branch 'bugfix/httpd_sess_ctx' into 'master'
esp_http_server: Provide apps an option to let http_server ignore sess_ctx changes

See merge request idf/esp-idf!4417
2019-03-08 06:55:44 +08:00
Roland Dobai
ef250ced1b tools: re-run idf.py in MSYS with winpty
This is done in order to cancel subprocesses on keyboard interrupt
(CTRL+C).
2019-03-07 14:47:19 +01:00
Roland Dobai
f0194f2a5e docs: Update package dependencies
Closes https://github.com/espressif/esp-idf/issues/2384
2019-03-07 14:46:59 +01:00
aleks
aaa1cb6eec freemodbus: change critical sections to semaphore mutex
revert changes made in mbrtu.c, mbascii.c
change critical section type to semaphore mutex instead of spin lock

Closes: https://github.com/espressif/esp-idf/issues/3009
2019-03-07 09:59:40 +01:00
Konstantin Kondrashov
1ef7d093e1 freemodbus: Fix remove critical_sections
Closes: https://github.com/espressif/esp-idf/issues/3009
2019-03-07 08:00:45 +00:00
Ivan Grokhotkov
5f3bd38d3d Merge branch 'bugfix/cmakeSpaceProcessForCOMPONENT_SRCS' into 'master'
add spaces2list for COMPONENT_SRCS

See merge request idf/esp-idf!4427
2019-03-07 15:11:51 +08:00
Anton Maklakov
5156645348 Merge branch 'bugfix/ci_submodule_paths' into 'master'
CI - Fix the parsing of submodule paths

See merge request idf/esp-idf!4429
2019-03-07 13:58:04 +08:00
morris
9297b07a97 cmake: add spaces2list for COMPONENT_SRCS
According to ESP-IDF Cmake build system document, COMPONENT_SRCS should support using spaces to sperate source files.

Closes https://github.com/espressif/esp-idf/issues/3130
2019-03-06 20:55:38 +08:00
Anton Maklakov
88ec05cba2 ci: Fix the parsing of submodule paths 2019-03-06 19:37:34 +08:00
morris
378f8f72f0 console: fix wrong timeout settiing in join command
1. Fix wrong timeout setting in join command, also alter the default timeout value to 10 seconds
2. Don't clear the CONNECTED_BIT when connected to AP.
2019-03-06 18:25:10 +08:00
Ivan Grokhotkov
ea0a1c3030 Merge branch 'bugfix/docs_PROJECT_VER' into 'master'
Updated documentation concerning 'PROJECT_VER' and 'PROJECT_NAME'.

See merge request idf/esp-idf!4410
2019-03-06 17:29:10 +08:00
xiehang
b88b9f4e03 fix the bug in auto Ip memory leak
Closes https://jira.espressif.com:8443/browse/WIFI-266
2019-03-06 14:44:06 +08:00
Jiang Jiang Jian
c1e50c8a27 Merge branch 'bugfix/btdm_fix_iOS_and_win10_compatibility_error_for_HID' into 'master'
Component/bt: fix iOS and win10 compatibility error  for HID

See merge request idf/esp-idf!4396
2019-03-06 14:11:38 +08:00
Ivan Grokhotkov
42c906140e Merge branch 'bugfix/level5_intr_alloc' into 'master'
esp32: esp_intr_alloc: Fixed issue with level 5 not being called

Closes IDFGH-616

See merge request idf/esp-idf!4405
2019-03-06 11:18:36 +08:00
Ivan Grokhotkov
d474018725 Merge branch 'feature/gdbstub_task_list' into 'master'
Add support for listing tasks to gdb in gdbstub

Closes IDFGH-498

See merge request idf/esp-idf!4357
2019-03-06 11:12:46 +08:00
Ivan Grokhotkov
ff020c3a18 Merge branch 'docs/correct_typos_in_interrupt_handling_docs' into 'master'
docs: fix typo and link in high level interrupt documentation

See merge request idf/esp-idf!4419
2019-03-06 11:11:43 +08:00
krzychb
88b153fcf7 Fixed fancy quotes 2019-03-05 19:21:50 +01:00
krzychb
e243ee972d Updated documentation concerning 'PROJECT_VER' and 'PROJECT_NAME'.
Closes https://github.com/espressif/esp-idf/issues/3115.
2019-03-05 19:21:50 +01:00
Jiang Jiang Jian
0f927791be Merge branch 'bugfix/coex_decouple_wifi_and_bt_code_with_coexist' into 'master'
Decouple WiFi and BT with coexist to reduce bin size

Closes IDF-469

See merge request idf/esp-idf!4363
2019-03-05 15:14:16 +08:00
Ivan Grokhotkov
ddd08a6e13 Merge branch 'doc/add_build_system_cmake_translation' into 'master'
zh_CN translation of build system (cmake version)

See merge request idf/esp-idf!4122
2019-03-05 15:02:48 +08:00
Wang Fang
19939e5b60 zh_CN translation of build system (cmake version) 2019-03-05 15:02:48 +08:00
Angus Gratton
48d3a5804d Merge branch 'bugfix/simple_ota_example' into 'master'
bugfix(simple_ota_example): Compatible with V3.1 and V3.2,because the NVS format is different

See merge request idf/esp-idf!3983
2019-03-05 13:05:53 +08:00
Mahavir Jain
2a9d2d5be9 docs: fix typo and link in high level interrupt documentation 2019-03-05 10:27:35 +05:30
Ivan Grokhotkov
c22e572ad0 gdbstub: minor cleanup
1. Add Kconfig options to control task listing support.
2. Convert magic values (-1, -2) to named constants.
3. Convert spaces to tabs to match the rest of the file.
4. Rename getAllTasksHandle to getTaskInfo to reflect its purpose.
5. Add some curly braces for single line statements.
2019-03-05 12:11:45 +08:00
X-Ryl669
b797f05558 Add support for listing tasks to gdb in gdbstub
…and changing the active task and fetching each task's stack

Merges https://github.com/espressif/esp-idf/pull/2828
2019-03-05 12:00:22 +08:00
Angus Gratton
e053fdafc6 Merge branch 'doc/linker_script_generation_zh_CN' into 'master'
zh_CN translation of linker script generation

See merge request idf/esp-idf!4226
2019-03-05 11:02:31 +08:00
XiaXiaotian
b9b401ee39 Decouple WiFi and BT with coexist to reduce bin size
1. Do not link WiFi code when only BT or BLE is used and WiFi is not
used.

2. Do not link coexist code when CONFIG_SW_COEXIST_ENABLE is disabled.
2019-03-05 10:38:14 +08:00
Jiang Jiang Jian
bf2c46674d Merge branch 'bugfix/fix_some_wifi_bugs_0301' into 'master'
esp32: fix some WiFi bugs

See merge request idf/esp-idf!4399
2019-03-05 10:35:22 +08:00
Krzysztof Budzynski
89ae5908d6 Merge branch 'feature/upgrade_sphinx_and_breathe' into 'master'
docs: Preparation for upgrade of Sphinx and Breathe packages to versions 1.8.4 and 4.11.1. Updated check of Sphinx warnings to account for the filename instead of the whole path, that for the same errors may be different between English and Chinese docs.

See merge request idf/esp-idf!4282
2019-03-05 03:42:34 +08:00
Piyush Shah
f28f4016cb esp_http_server: Provide apps an option to let http_server ignore sess_ctx changes
By default, if a URI handler changes the http session context,
the webserver internally clears the older context after the handler
returns. However, if applications want to change this behavior and
manage the allocation/de-allocation/freeing themselves and let the
server handle only the "socket close" case, this commit provides such
an option.
2019-03-05 00:21:03 +05:30
Ivan Grokhotkov
dace2d6bc5 Merge branch 'bugfix/uart_fix_critical_section_api_from_isr' into 'master'
uart: use correct critical section API from ISR context

See merge request idf/esp-idf!4301
2019-03-04 16:24:22 +08:00
Ivan Grokhotkov
b3ee815ec1 Merge branch 'feature/esp_http_client_global_ca_store' into 'master'
esp_http_client: add support for using certs from global ca store

See merge request idf/esp-idf!4302
2019-03-04 16:24:07 +08:00
Christian Hoene
025deab4d2 esp32: esp_intr_alloc: Fixed issue with level 5 not being called
Closes https://github.com/espressif/esp-idf/issues/3039
Merges https://github.com/espressif/esp-idf/issues/3040
2019-03-01 17:11:51 +11:00
Angus Gratton
673441aba0 confgen: Fix bug with JSON metadata conditional range generation
When generating JSON metadata for ranges where there are conditional ranges (ie different allowed range
depending on another config setting), the JSON metadata would always have the last named range as
the expression was not evaluated properly.

Thanks to ulfalizer on GitHub for pointing this out.

Closes https://github.com/espressif/esp-idf/issues/2195
2019-03-01 15:38:23 +11:00
Liu Zhi Fu
2f547ca7c8 esp32: fix some WiFi bugs
Fix following WiFi bugs:
1. Fix the bug that STA incorrectly deletes BA when receiving DelBA request
2. Add out of memory check
3. Fix the bug that STA incorrectly receives packets when scanning in connected status
2019-03-01 11:25:36 +08:00
Jiang Jiang Jian
ebdcbe8c60 Merge branch 'doc/crc_apis_usage' into 'master'
Add CRC APIs usage

See merge request idf/esp-idf!4351
2019-03-01 10:03:03 +08:00
Darian Leung
59d1ecc78b esp32: Remove trialing semicolon from function-like macros
This commit removes trailing semicolons following a while(0) from
function-like macros in IDF. This will force those macros to be called
with a semicolon when called.
2019-02-28 21:58:47 +08:00
Ivan Grokhotkov
6c49f19247 Merge branch 'test/spi_param_wiring_doc' into 'master'
spi test: describe the wiring of param test in the comments

See merge request idf/esp-idf!4394
2019-02-28 21:00:41 +08:00
zhiweijian
d71df18d92 Component/bt: fix iOS and win10 compatibility error for HID 2019-02-28 20:39:12 +08:00
michael
12a6664afa spi test: describe the wiring of param test in the comments 2019-02-28 19:43:58 +08:00
Jiang Jiang Jian
d82c80a07b Merge branch 'bugfix/wifi_modify_wifi_kconfig' into 'master'
esp32: modify WiFi Kconfig in order to achieve better compatility and performance

See merge request idf/esp-idf!4164
2019-02-28 18:21:16 +08:00
Angus Gratton
2a23233ebe Merge branch 'feature/efuse_manager' into 'master'
Feature/efuse manager

See merge request idf/esp-idf!2819
2019-02-28 17:47:22 +08:00
XiaXiaotian
ae69a8adc0 esp32: modify WiFi Kconfig in order to achieve better compatility
and performance
2019-02-28 16:57:56 +08:00
Konstantin Kondrashov
509e1264b9 efuse: Fix to pass CI tests 2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
c9cd06c886 efuse: Reduce the size of esp_efuse_desc_t to 4 bytes 2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
1d7b901aeb efuse: Add MAX_BLK_LEN define for changing len of field
Added docs, improved efuse_table_gen.py, and minor fixes

Checking the generated files for compliance with the coding scheme.
2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
95b6273c7c efuse: Fix docs and script 2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
cc094ba789 efuse: Fix python coding style
Set python's scripts attribute chmod
Add compatibility with Python3 for efuse_table_gen.py
2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
a5fa3b6965 CI: Add host tests 2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
303d17792a efuse: Add a write/read protection 2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
b8141f3ad8 efuse: Fix make/cmake build systems and docs 2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
9822055851 efuse: Add support coding scheme to script
Added support using BLK1 and BLK2 in custom table.
Added change size key in BLK1 and BLK2 if coding scheme was changed.
2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
693a5c209b efuse: Add API efuse
Added support 3/4 coding scheme
2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
91676b8620 build_system: Add support efuse 2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
ba903e7618 docs: Add efuse 2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
d82023bf06 soc: Add support efuse 2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
ed179ade8d esp32: Add using efuse component 2019-02-28 07:31:29 +00:00
Konstantin Kondrashov
7626145e6d bootloader: Add support efuse component 2019-02-28 07:31:29 +00:00
Anuj Deshpande
94594af13f examples: Move blink code to main task 2019-02-28 12:12:24 +05:30
Jiang Jiang Jian
c05a39de02 Merge branch 'bugfix/fix_scan_bugs_and_alloc_eb_fail' into 'master'
wifi: fix scan bugs and alloc eb fail

See merge request idf/esp-idf!4373
2019-02-28 13:34:51 +08:00
Ivan Grokhotkov
f746b0d761 Merge branch 'bugfix/pthread_thread_size' into 'master'
pthread: Transform the units of the stack size to the FreeRTOS domain

Closes IDFGH-603

See merge request idf/esp-idf!4375
2019-02-28 10:24:34 +08:00
Angus Gratton
ea9b8c3745 Merge branch 'feature/sniffer_app_trace' into 'master'
capture WiFi packets to host via JTAG

See merge request idf/esp-idf!4203
2019-02-28 07:38:52 +08:00
Angus Gratton
19fd436e88 Merge branch 'esp_http_server/lru_counter_for_timestamp' into 'master'
esp_http_server/lru_counter_for_timestamp:Added LRU counter for timer

See merge request idf/esp-idf!4205
2019-02-28 07:04:21 +08:00
krzychb
e1e8c36492 docs: Preparation for upgrade of Sphinx and Breathe packages to versions 1.8.4 and 4.11.1. Updated check of Sphinx warnings to account for the filename instead of the whole path, that for the same errors may be different between English and Chinese docs. 2019-02-27 22:11:59 +01:00
Roland Dobai
314c77609e pthread: Transform the units of the stack size to the FreeRTOS domain
Closes https://github.com/espressif/esp-idf/issues/3015
2019-02-27 12:21:23 +01:00
zhangyanjiao
4ea4d4744c wifi:
1. make menuconfig can set the WiFi mgmt short buffer num
2. fix several scan bugs
2019-02-27 18:31:32 +08:00
Jeroen Domburg
a52ba8df7d Merge branch 'bugfix/make_get_coreid_volatile' into 'master'
freertos: Make xPortGetCoreID() volatile

See merge request idf/esp-idf!4359
2019-02-27 17:58:57 +08:00
Jiang Jiang Jian
484d8ab7ed Merge branch 'bugfix/btdm_fix_remove_bonded_device_warnning' into 'master'
Component/bt: fix remove bonded device warnning

See merge request idf/esp-idf!3704
2019-02-27 17:54:37 +08:00
Jiang Jiang Jian
9a1bbcfa1a Merge branch 'bugfix/ble_reconn_rescan_readv_crash' into 'master'
component/bt : fix bug that there's low ratio crash when BLE do re-connect/re-scan/re-adv

See merge request idf/esp-idf!4324
2019-02-27 17:37:46 +08:00
Mahavir Jain
27e00cf7aa esp_http_client: add support for using certs from global ca store
Closes https://github.com/espressif/esp-idf/issues/3062
2019-02-27 14:19:06 +05:30
Jiang Jiang Jian
ebca3e27b1 Merge branch 'bugfix/lack_of_break_in_tcp_client' into 'master'
fix the bug in tcp_client

See merge request idf/esp-idf!4330
2019-02-27 16:44:00 +08:00
Mahavir Jain
e9652e8ef3 uart: use correct critical section API (portENTER_CRITICAL_ISR) from ISR context 2019-02-27 08:36:47 +00:00
Angus Gratton
42f64e9a93 Merge branch 'bugfix/tw28146_make_wifi_iram_optimization_configurable' into 'master'
esp32: make WiFi IRAM optimization configurable

See merge request idf/esp-idf!4037
2019-02-27 16:33:05 +08:00
Angus Gratton
590825824d Merge branch 'feature/embed_elf_sha256' into 'master'
build system: include SHA256 hash of ELF file into app_desc structure

See merge request idf/esp-idf!4093
2019-02-27 16:31:47 +08:00
morris
ae6d19b4fb sniffer: capture packets to host via JTAG
Based on app-trace component, it's able to send sniffer packets to host via JTAG interface.
2019-02-27 16:20:13 +08:00
Ivan Grokhotkov
37b55a5eb5 esp32: print ELF file SHA256 in panic handler 2019-02-27 13:30:25 +08:00
Ivan Grokhotkov
ea52a19c00 build system: include SHA256 hash of ELF file into app_desc structure 2019-02-27 13:30:25 +08:00
Angus Gratton
a8b2e982e1 Merge branch 'example/freertos_real_time_stats' into 'master'
freertos: Add real time stats example

See merge request idf/esp-idf!4334
2019-02-27 13:22:59 +08:00
Angus Gratton
80f02cd0ea Merge branch 'bugfix/bootloader_freq_check_runtime' into 'master'
bootloader: check previously used clock frequency at run time

See merge request idf/esp-idf!3827
2019-02-27 13:22:47 +08:00
Angus Gratton
fab11e1cec Merge branch 'bugfix/cmake_psram_fix_flag' into 'master'
cmake: Fix psram workaround compiler flag application

See merge request idf/esp-idf!4335
2019-02-27 13:20:21 +08:00
Ivan Grokhotkov
1bc831f074 Merge branch 'bugfix/esp_timer_monotonic_test' into 'master'
esp_timer: fix occasional failures in "esp_timer_get_time returns monotonic values" test

See merge request idf/esp-idf!4340
2019-02-27 11:08:53 +08:00
michael
b812520b19 spi_master: add support for variable dummy length in a same device
Resolves https://github.com/espressif/esp-idf/issues/2741
2019-02-27 02:13:33 +08:00
Darian Leung
3576e54d79 freertos: Make xPortGetCoreID() volatile
When xPortGetCoreID() is called twice within a function,
it might only be called once after compilation. This
commit makes the inline assembly of the function volatile.

Closes #3093
2019-02-26 20:59:49 +08:00
Liu Zhi Fu
711173b3d6 esp32: make WiFi IRAM optimization configurable
With this feature, the WiFi IRAM optimization can be disabled/enabled via menuconfig.
2019-02-26 19:55:57 +08:00
jack
299e4ca716 Add CRC APIs usage 2019-02-26 18:12:14 +08:00
xiehang
1e8b8d91a5 fix the bug in tcp_client
Closes https://github.com/espressif/esp-idf/issues/3058
2019-02-26 09:28:17 +00:00
Ivan Grokhotkov
8cc6226051 soc: define named constants for DPORT_CPUPERIOD_SEL values 2019-02-26 17:07:59 +08:00
Ivan Grokhotkov
178e5b25e6 bootloader: check previously used clock frequency at run time
In the situation when bootloader was compiled for 240MHz, and app was
compiled for 160MHz, and the chip is a revision 0 chip, the
bootloader will assume that the application has also been running at
240MHz. This will cause the chip to lock up later. Modify this to use
a run time check of DPORT_CPUPERIOD_SEL, which indicates which of the
PLL frequencies was used.

Closes https://github.com/espressif/esp-idf/issues/2731.
2019-02-26 17:02:34 +08:00
Ivan Grokhotkov
dda0208614 soc/rtc_clk: don’t clear DPORT_CPUPERIOD_SEL when switching to XTAL
This is not necessary since RTC_CNTL_SOC_CLK_SEL is set before this.
2019-02-26 17:02:34 +08:00
Darian Leung
3e25d441a5 freertos: Add real time stats example
The following commit adds a real time stats example demonstrating how to
obtain task CPU usage statistics over a period of time, as opposed to the current
run time stats in FreeRTOS which measures task CPU usage as a percentage of
total system run time.
2019-02-26 14:34:53 +08:00
Ivan Grokhotkov
140b6e3893 Merge branch 'bugfix/nvs_hash_blocks_eager_cleanup' into 'master'
nvs: do eager cleanup of HashListBlocks

See merge request idf/esp-idf!4337
2019-02-26 12:28:10 +08:00
Angus Gratton
da390618c2 cmake: Fix psram workaround compiler flag application
Previously, this compiler flag was not being applied
regardless of CONFIG_SPIRAM_CACHE_WORKAROUND setting.

Explanation: add_compile_options() only applies to
source files added after the function is run, or in
subdirectories added after the function is run. In
this case, no new source files were being added after
this function was run.
2019-02-26 04:07:51 +00:00
Angus Gratton
3952d25a99 Merge branch 'feature/add_api_get_rmt_idle_level' into 'master'
feature(rmt):  fixed some RMT related issues.

See merge request idf/esp-idf!3864
2019-02-26 11:57:10 +08:00
Angus Gratton
ca72c3e97b Merge branch 'bugfix/fix_dig_gpio_unable_hold_bug' into 'master'
bugfix(gpio):  fixed digital gpio unable hold bug during deep-sleep.

See merge request idf/esp-idf!3877
2019-02-26 11:56:27 +08:00
Angus Gratton
280d39aedd Merge branch 'bugfix/i2s_pdm_adc_use_apll' into 'master'
bugfix(i2s): allow to use apll in pdm/adc/dac mode

See merge request idf/esp-idf!3800
2019-02-26 11:47:49 +08:00
Angus Gratton
b966ef9fcd Merge branch 'bugfix/update_ledc_register_and_fix_fade_scale' into 'master'
Bugfix (ledc):  Fixed ledc fade scale  bug

See merge request idf/esp-idf!4109
2019-02-26 11:46:28 +08:00
Angus Gratton
a4edeee51b Merge branch 'bugfix/btdm_fix_comment_error' into 'master'
Component/bt: fix comment error

See merge request idf/esp-idf!3769
2019-02-26 11:45:26 +08:00
Angus Gratton
28f5ca2371 Merge branch 'bugfix/idf_monitor_test' into 'master'
CI: Test IDF Monitor after it is ready to receive data

See merge request idf/esp-idf!4055
2019-02-26 11:12:58 +08:00
Angus Gratton
f614f5bfa9 Merge branch 'feature/http_server_err_handling' into 'master'
http_server : Add feature for invoking user configurable handlers during server errors

See merge request idf/esp-idf!4229
2019-02-26 11:12:06 +08:00
morris
94e5fba46b doc: zh_CN translation of linker script generation
Translate linker-script-generation to zh_CN.
2019-02-26 10:22:30 +08:00
Ivan Grokhotkov
d3724dc35d esp_timer: fix occasional failures in "monotonic values" test
1. ref_clock used in unit tests occasionally produces time off by ~100
microseconds shortly after being started. Add a delay to let
ref_clock stabilise, until the cause is found.

2. Reduce roundoff error accumulation which would occasionally cause
the test to fail, by choosing an overflow value which can be divided
by APB frequency.

3. Move time sampling part of the test into an IRAM function to
reduce variations due to cache behavior.

4. Remove calculation of "standard deviation" in the test, as what was
calculated was not actually standard deviation, and it did not add any
useful information.
2019-02-26 02:01:29 +00:00
Ivan Grokhotkov
dae40f4ff1 nvs: add a blob fragmentation test case
Ref. TW12937
2019-02-26 01:58:20 +00:00
Ivan Grokhotkov
02a76abb8b nvs: do eager cleanup of HashListBlocks
Previously when HashList was removing items, HashListBlocks were
removed lazily. This resulted in empty HashListBlocks dangling around
in full pages, even when all items have been erased. These blocks
would only be deleted when NVS was re-initialized
(nvs_flash_deinit/nvs_flash_init).

This change does eager cleanup instead, based on the code from
@negativekelvin offered in
https://github.com/espressif/esp-idf/issues/1642#issuecomment-367227994.

Closes https://github.com/espressif/esp-idf/issues/1642.
2019-02-26 01:58:20 +00:00
Ivan Grokhotkov
3240f7ff11 Merge branch 'feature/poll' into 'master'
VFS: Implement poll() based on select()

See merge request idf/esp-idf!4315
2019-02-26 08:11:22 +08:00
Supreet Deshpande
4c8e997289 esp_http_server/lru_counter_for_timestamp:Added LRU counter for timer
Replaced the os timer in http server by LRU counter. The timestamp is
unnecessary for LRU.
2019-02-25 10:08:15 +00:00
Roland Dobai
7c959904b5 tools: Test IDF Monitor after it is ready to receive data 2019-02-25 10:35:09 +01:00
Roland Dobai
aa9d302814 VFS: Implement poll() based on select()
Closes https://github.com/espressif/esp-idf/issues/2945
2019-02-25 10:34:27 +01:00
Anurag Kar
1af5d0d87c https_server : Missing uri_match_fn paramater added to default config 2019-02-25 09:13:39 +00:00
Anurag Kar
b26f6662f1 http_server examples : Updated tests and examples to demonstrate usage of httpd_register_err_handler() and accommodate for changes in default error handler behavior 2019-02-25 09:13:39 +00:00
Anurag Kar
28412d8cb6 http_server : Added feature for invoking user configurable handlers during server errors
Added APIs :
  * httpd_resp_send_err()        : for sending HTTP error responses for error codes given by httpd_err_code_t. It uses TCP_NODELAY option to ensure that HTTP error responses reach the client before socket is closed.
  * httpd_register_err_handler() : for registering HTTP error handler functions of type httpd_err_handler_func_t.

The default behavior, on encountering errors during processing of HTTP requests, is now to send HTTP error response (if possible) and close the underlying socket. User configurable handlers can be used to override this behavior for each error individually (except for 500 Internal Server Error).

Also fixed some typos.

Closes https://github.com/espressif/esp-idf/issues/3005
2019-02-25 09:13:39 +00:00
Ivan Grokhotkov
5ec58c316d Merge branch 'bugfix/multiple_can_bugs' into 'master'
CAN: Add functions to clear queues and fix multiple bugs

See merge request idf/esp-idf!4279
2019-02-25 15:43:56 +08:00
Angus Gratton
7cdd19fb69 Merge branch 'ci/retry_submodule_sync' into 'master'
ci: Retry submodule sync 2 more times before failing

See merge request idf/esp-idf!4323
2019-02-25 14:11:51 +08:00
Angus Gratton
3ac43708e5 ci: Only use "github_sync" tagged runners to talk to GitHub 2019-02-25 02:38:27 +00:00
Angus Gratton
cced2cb147 ci: Retry submodule sync 2 more times before failing 2019-02-25 02:38:27 +00:00
Ivan Grokhotkov
1aa8e8d38e Merge branch 'bugfix/make_extra_component_dirs' into 'master'
make: fix issues related to EXTRA_COMPONENT_DIRS

See merge request idf/esp-idf!4253
2019-02-22 16:00:31 +08:00
Ivan Grokhotkov
6e88822807 Merge branch 'bugfix/kconfig_flex_arg' into 'master'
kconfig: fix compatibility with very old versions of flex

See merge request idf/esp-idf!4263
2019-02-22 15:49:11 +08:00
Tian Hao
d877ca4438 component/bt : fix bug that there's low ratio crash when BLE do re-connect/re-scan/re-adv
fix 3 bugs:
1. do BLE connect (both of slave and master), it mgiht cause crash due to there's much interrupts happens effect ble code running, for example, wifi run on the same core as bluetooth controller and wifi run throughtput test.
2. do BLE scan stop or adv stop or connection stop, it might cause ASSERT or crash due to memory corrupted in controller memory poll.
3. minor bug fix, not really effect bluetooth.
2019-02-22 06:24:03 +00:00
Ivan Grokhotkov
6264557854 Merge branch 'bugfix/psram_move_qsort_setlocale_flash' into 'master'
psram: Move qsort and setlocale to flash

See merge request idf/esp-idf!4321
2019-02-22 12:30:04 +08:00
Angus Gratton
7f28bce42e newlib: When using psram, link setlocale() to flash not IRAM 2019-02-22 03:28:41 +00:00
Angus Gratton
bd97b139eb newlib: When using psram, link qsort to flash not IRAM 2019-02-22 03:28:41 +00:00
Ivan Grokhotkov
f4bc6be1d4 Merge branch 'bugfix/remove_lddeps_resolution' into 'master'
Remove lddeps resolution for linker script generator template

See merge request idf/esp-idf!4326
2019-02-22 11:28:10 +08:00
Renz Christian Bagaporo
24284b3afd ldgen: remove resolution of template includes 2019-02-22 08:25:56 +08:00
Ivan Grokhotkov
4ae2c4c282 Merge branch 'feature/coredump_improvements_refactoring' into 'master'
coredump: improvements, refactoring (separate FLASH and UART functionality)

See merge request idf/esp-idf!4207
2019-02-21 11:04:19 +08:00
Angus Gratton
5b945cb611 Merge branch 'bugfix/mdns_service_memory_leak' into 'master'
mdns: fix memory leak when query for service plus various other fixes

See merge request idf/esp-idf!4270
2019-02-21 06:03:48 +08:00
Angus Gratton
40a55823a9 Merge branch 'feature/anti_rollback_efuse' into 'master'
Support anti-rollback

See merge request idf/esp-idf!3682
2019-02-20 16:11:00 +08:00
Angus Gratton
91f97d121f Merge branch 'revert-23a03cf6' into 'master'
Revert "Merge branch 'bugfix/external_rtc_start_fail' into 'master'"

See merge request idf/esp-idf!4292
2019-02-20 15:09:35 +08:00
Angus Gratton
52565ce1a1 Merge branch 'bugfix/btdm_fix_connection_params_update_issues' into 'master'
component/bt: fix connection params issues

See merge request idf/esp-idf!4276
2019-02-20 14:18:11 +08:00
Angus Gratton
062893c5da Merge branch 'bugfix/doc_master_branch_clone_note' into 'master'
doc: Fix invalid 'This command will clone master' note in docs

See merge request idf/esp-idf!4240
2019-02-20 08:31:05 +08:00
Jiang Jiang Jian
c960bcb5e6 Merge branch 'bugfix/coex_lc_protect' into 'master'
component/esp32 : fix coexist lc protect cause memory corrupted

See merge request idf/esp-idf!4265
2019-02-20 02:11:37 +08:00
Tian Hao
64b7b0f94c Reduce part of IRAM consumption in wifi libnet80211.a
It might be a little effect of WIFI max TX throughput if the limitation is cache hit rate
2019-02-19 15:43:56 +08:00
Angus Gratton
5b182eefc1 Merge branch 'bugfix/spiram_linker_wildcards' into 'master'
newlib: Provide library name for ROM libc object files linked as PSRAM workarounds

See merge request idf/esp-idf!4152
2019-02-19 13:28:10 +08:00
Ivan Grokhotkov
dc133f9fc4 Revert "Merge branch 'bugfix/external_rtc_start_fail' into 'master'"
This reverts merge request !2441
2019-02-19 12:39:47 +08:00
Angus Gratton
0c44e5bfb3 doc: Fix invalid 'This command will clone master' note in docs
Was accidentally considering the extra_note text as a tuple, resulted in
corrupt ..note section.
2019-02-19 04:05:39 +00:00
Tian Hao
2cf4c02be9 component/esp32 : fix coexist lc protect cause memory corrupted
The bug will cause memory corrupted (the largest range is from 0x3ffc0000 ~ 0x3ffc8000),
some strange error will happen, like IllegalInstruction, LoadProhibited and .etc.
2019-02-19 03:28:47 +00:00
Angus Gratton
298fa2168a Merge branch 'bugfix/freertos_unused_xSize' into 'master'
freertos: Fix unused variable warning

See merge request idf/esp-idf!4281
2019-02-19 10:48:04 +08:00
Angus Gratton
6538acc94f Merge branch 'bugfix/wdt_compability_app_with_old_bootloader' into 'master'
esp32: Fix wdt settings in esp_restart_noos

See merge request idf/esp-idf!4098
2019-02-19 10:42:33 +08:00
Angus Gratton
8cd2534213 Merge branch 'bugfix/nvs_key_part_check_err' into 'master'
nvs_flash: Detect key partition as uninitialised even if encrypted by bootloader

See merge request idf/esp-idf!4224
2019-02-19 10:22:04 +08:00
Angus Gratton
ff0bd4a13a Merge branch 'feature/docs_add-ons_and_extensions' into 'master'
docs: This is a quick reference of more than a dozen and-ons and extensions prepared over the last two years to add contents, improve look & feel and cut on maintenance of the ESP-IDF documentation.

See merge request idf/esp-idf!4244
2019-02-19 06:06:31 +08:00
Angus Gratton
0b4b5cd419 Merge branch 'feature/get_started_steps' into 'master'
Introduced installation steps to improve navigation through the installation…

See merge request idf/esp-idf!4234
2019-02-19 06:04:54 +08:00
Darian Leung
099b83af67 CAN: Add functions to clear queues and fix multiple bugs
This commits adds the functions can_clear_transmit_queue() and
can_clear_receive_queue(). Closes #2906

The following bug are fixed:

- CAN_IO_UNUSED is now explicitly cast to enum type. Closes #2825
- Fix multiple documentation errors. Closes #2898, Closes #2794
- can_reconfigure_alerts() returns incorrect current_alerts. Closes #3028
- Add missing header file. Closes #3065
2019-02-18 21:31:33 +08:00
zwj
faf9126ed4 component/bt: fix connection params update issues 2019-02-18 19:52:16 +08:00
Angus Gratton
bcc21d2262 Merge branch 'feature/wifi_provisioning_handler_ctx' into 'master'
Provisioning : Various fixes in protocomm and wifi_provisioning components

See merge request idf/esp-idf!4188
2019-02-18 08:06:12 +08:00
krzychb
ed0db52f74 docs: This is a quick reference of more than a dozen and-ons and extensions prepared over the last two years to add contents, improve look & feel and cut on maintenance of the ESP-IDF documentation. 2019-02-17 20:32:50 +01:00
krzychb
43c6e77c2f Introduced installation steps to improve navigation through the installation process. Included some updates from GNU make section. 2019-02-17 20:24:17 +01:00
Ivan Grokhotkov
781acfea51 Merge branch 'fix/spi_on_readonly_pins' into 'master'
spi: fix the bug of connecting SPI peripheral to read-only pins

See merge request idf/esp-idf!4246
2019-02-17 13:03:28 +08:00
Michael (XIAO Xufeng)
86bcd56109 spi: fix the bug of connecting SPI peripheral to read-only pins
The requirements of pin capabilites is different for spi master and
slave.  The master needs CS, SCLK, MOSI to be output-able, while slave
needs MISO to be output-able.

Previous code is for master only.

This commit allows to place other 3 pins than MISO on input-only pins
for slaves. Refactoring for spi_common is also included.

Resolves https://github.com/espressif/esp-idf/issues/2455
2019-02-16 20:03:14 +08:00
Jiang Jiang Jian
2ce401c664 Merge branch 'bugfix/btdm_crash_when_inquiry_cancel' into 'master'
Bugfix/btdm crash when inquiry cancel

See merge request idf/esp-idf!4142
2019-02-16 16:27:49 +08:00
Darian Leung
7a174f99a3 freertos: Fix unused variable warning
This commit fixes an unused variable warning when
configASSERT is undefined.
2019-02-16 01:42:00 +08:00
David Cermak
8462751f95 mdns: fix memory leak in pbuf if tcpipadapter failed to get netif 2019-02-15 15:59:11 +01:00
David Cermak
fbef5297fc mdns example: fix print result for IPv6 addresses 2019-02-15 15:54:18 +01:00
David Cermak
1a027734af mdns: fix malfuctional query_txt
when running a query for a single txt, result entries were not created and attached to result structure. this issue was introduced when fixing memory leak in txt structure, which worked correctly for PTR queries, but caused trouble for TXT query.
2019-02-15 13:46:51 +01:00
David Cermak
206b47c03a mdns: fix possible crash when mdns_free called while action queue not empty 2019-02-15 13:23:21 +01:00
Anurag Kar
f4f3b6088a provisioning examples : typos fixed and minor change in timer callback execution
Note : Examples have been updated to prevent invocation of bluedroid/wifi APIs from inside timer callback when stopping provisioning. Workaround is to spawn new task from inside the timer callback.
2019-02-15 10:45:34 +00:00
Anurag Kar
f3a6c63920 protocomm : typos fixed and descriptions corrected 2019-02-15 10:45:34 +00:00
Anurag Kar
6b6ae224d9 protocomm unit_tests : test cases updated
Changes:
* Version endpoint test added
* Memory leak test updated to include corner case exceptions in protocomm
2019-02-15 10:45:34 +00:00
Anurag Kar
f4cba0c295 protocomm security : memory leaks fixed
List of changes:
* Corner case exceptions are properly handled to ensure release of memory occupied by security infrastructure
* fixed erroneous cleanup of security instance by protocomm_console
2019-02-15 10:45:34 +00:00
Anurag Kar
a1d37c833c protocomm : version endpoint behavior simplified
List of changes:
* Version endpoint now sends the set version string instead of verifying the incoming version string. This simplifies fetching version info from the provisioning application.
* esp_prov script updated to expect version string as response.
2019-02-15 10:45:34 +00:00
Anurag Kar
59b10709d1 wifi_provisioning : context pointer added to wifi_config_t structure and related examples/docs updated
Closes https://github.com/espressif/esp-idf/issues/2874
2019-02-15 10:45:34 +00:00
Anurag Kar
776c23da4a provisioning framework : 'extern C' directives added for C++ support 2019-02-15 10:45:34 +00:00
Ivan Grokhotkov
df71c733df Merge branch 'doc/cleanup_apptrace2host_example' into 'master'
cleanup app_trace_to_host example

See merge request idf/esp-idf!4160
2019-02-15 17:06:57 +08:00
David Cermak
9a4da97fb4 mdns: fix memory leak when query for service receives multiple ptr entries for one instance
fixes redmine issue 27300
2019-02-15 07:56:03 +01:00
Angus Gratton
eb4d48815f Merge branch 'feature/protocomm_httpd_changes' into 'master'
Feature/protocomm httpd changes

See merge request idf/esp-idf!4227
2019-02-15 14:21:44 +08:00
Angus Gratton
3300adde21 Merge branch 'feature/lwip_add_linker_fragment' into 'master'
add linker fragment for lwip

See merge request idf/esp-idf!4255
2019-02-15 13:55:25 +08:00
Jiang Jiang Jian
2c7f603a83 Merge branch 'bugfix/fix_some_wifi_bugs_0131' into 'master'
esp32: fix some wifi bugs

See merge request idf/esp-idf!4216
2019-02-15 12:14:41 +08:00
Angus Gratton
1867da48af Merge branch 'bugfix/cmake_unit_test_fail' into 'master'
Use flasher_args.json for flashing CMake CI unit test

See merge request idf/esp-idf!4225
2019-02-15 08:55:14 +08:00
Angus Gratton
81cde3b44f Merge branch 'test/disable_sdio_example_ci' into 'master'
sdio: temporarily disable the sdio example ci, since the runners have some power issue

See merge request idf/esp-idf!4264
2019-02-15 08:54:06 +08:00
Ivan Grokhotkov
91f5bb3850 Merge branch 'bugfix/default_event_loop_example_failure' into 'master'
Fix failures in running esp_event example test

Closes #64

See merge request idf/esp-idf!4252
2019-02-15 08:50:18 +08:00
Angus Gratton
301e3e0d55 Merge branch 'docs/translate-cmake-notes' into 'master'
Translate notes regarding CMake-based build system

See merge request idf/esp-idf!4231
2019-02-15 08:19:05 +08:00
Angus Gratton
923b5dc369 Merge branch 'bugfix/relink_on_included_linker_script_change' into 'master'
Re-link when linker script included from template file are modified

See merge request idf/esp-idf!4001
2019-02-15 08:16:04 +08:00
Renz Christian Bagaporo
6b7f4bc72f make: remove unecessary inclusion of ldgen.mk 2019-02-14 18:58:48 +08:00
Renz Christian Bagaporo
50e860fe8c ci: test relink on template included file change 2019-02-14 18:58:48 +08:00
Renz Christian Bagaporo
acd0be8239 cmake,make: add dependencies on template included scripts 2019-02-14 18:58:48 +08:00
Renz Christian Bagaporo
022a1da4e9 ldgen: create python script to find linker script includes 2019-02-14 18:58:48 +08:00
Konstantin Kondrashov
e916cf52a3 bootloader: Add support of anti-rollback
Added:
* set a secure version in app/bootloader.
* description anti-rollback to ota part
* emulate the secure_version write and read operations
* efuse_em partition.
* a description about a rollback for native_ota_example.

Closes: TW26335
2019-02-14 18:51:43 +08:00
Renz Christian Bagaporo
bb552dd19c ci: use flasher_args.json for cmake ci run 2019-02-14 08:33:46 +00:00
Renz Christian Bagaporo
c6b07eec54 ci: copy flasher_args.json to unit test output folder 2019-02-14 08:33:46 +00:00
Michael (XIAO Xufeng)
c465053195 sdio: temporarily disable the sdio example ci, since the runners have
some power issue
2019-02-14 15:51:24 +08:00
Renz Christian Bagaporo
86c4950d2f examples: fix specified location for event loop example test 2019-02-14 14:06:04 +08:00
Renz Christian Bagaporo
a0310e35d7 example: fix expected logging output order for esp_event example 2019-02-14 14:06:04 +08:00
morris
302ca0022f lwip: add linker fragment
Add linker fragment file for lwip component.
2019-02-14 12:42:06 +08:00
Ivan Grokhotkov
fed0f846a4 kconfig: fix compatibility with very old versions of flex
See 4e762e4918

Closes https://github.com/espressif/esp-idf/issues/2703
2019-02-14 11:17:48 +08:00
Angus Gratton
23a03cf6ad Merge branch 'bugfix/external_rtc_start_fail' into 'master'
soc/rtc: bypass touchpad8 and touchpad9 current to external 32k crystal oscillator

See merge request idf/esp-idf!2441
2019-02-14 10:40:48 +08:00
Ivan Grokhotkov
7df598a062 make: fix issues related to EXTRA_COMPONENT_DIRS
1. When one of the COMPONENT_DIRS points to a component directory
(i.e. a directory containing component.mk, not a directory of multiple
components), and there is a subdirectory in it which also contains
a component, the subdirectory was mistakenly added to the list of
components and compiled.

For example:

    main/
        component.mk
        main.c
        test/
            component.mk
            test_main.c

Would compile test_main.c and link libtest.a.

2. When one of the COMPONENT_DIRS points to a component directory, and
the parent directory contained a directory with the same name as
another component, that directory would be mistakenly added to the
COMPONENT_PATHS.

For example:

    esp/
        esp-idf/
        esp32/
            (random stuff)
        mycomponent/
            component.mk
            mycomponent.c
        myproject/
            main/
            Makefile

and Makefile sets EXTRA_COMPONENT_DIRS=$(realpath ../mycomponent),
then "esp32" directory which is at the same level as mycomponent
was added to COMPONENT_PATHS.

3. If EXTRA_COMPONENT_DIRS pointed to a directory with a list of
components, and one of the subdirectories was not a component, but
had the same name as another component, than that directory would be
mistakenly added to COMPONENT_PATHS instead of the real esp32
component directory.

For example:

    my_components/
        my_component/
            component.mk
            my_component.c
        esp32/
            (some random stuff)

and EXTRA_COMPONENT_DIRS would point to my_components/, then "esp32"
directory would be added to COMPONENT_PATHS instead of the real esp32
component directory.
2019-02-13 16:34:50 +08:00
liying
149a5a0d49 translate cmake notes 2019-02-13 05:58:44 +00:00
Angus Gratton
3aa5a1e5a2 Merge branch 'feature/himem_readme' into 'master'
Proper README.md for himem example

See merge request idf/esp-idf!3599
2019-02-13 11:26:39 +08:00
maojianxin
0676941332 soc/rtc: fix RTC_TOUCH_TRIG_EN or RTC_ULP_TRIG_EN should keep RTC_PERIPH power on 2019-02-13 10:30:37 +08:00
Zhang Jun Yi
c5b4512a27 soc/rtc: Bypass touchpad current to external 32k crystal oscillator 2019-02-13 10:15:45 +08:00
Jeroen Domburg
72cca0f2a3 Proper README.md for himem example 2019-02-12 19:36:06 +08:00
aleks
6ab722e478 coredump:fix test artifacts
Move existing core dump files into espcoredump component folder
Add KConfig, linker.lf, make and CMakeList.txt for new component
Existing functionality separated into core_dump_common, core_dump_flash, core_dump_uart
Update test_core_dump.c and make files to link it as unit test
Update according to review:
Move target and RTOS related functionality into separated file (core_dump_port.c).
Fix test logs and test elf files
2019-02-12 10:22:33 +00:00
aleks
10fe158f67 coredump: improvements refactoring
Move existing core dump files into espcoredump component folder
Add KConfig, linker.lf, make and CMakeList.txt for new component
Existing functionality separated into core_dump_common, core_dump_flash, core_dump_uart
Update test_core_dump.c and make files to link it as unit test
Update according to review:
Move target and RTOS related functionality into separated file (core_dump_port.c).
2019-02-12 10:22:33 +00:00
Angus Gratton
4fd418dfe7 Merge branch 'feature/sysview_max_tasks_configuration' into 'master'
sys_view: expose max tasks configuration parameter

See merge request idf/esp-idf!4239
2019-02-12 07:37:34 +08:00
Mahavir Jain
e00bac2bd5 sys_view: expose max tasks configuration parameter 2019-02-05 18:18:24 +05:30
Angus Gratton
985e1c4c7f Merge branch 'bugfix/invoke_ota_operations_on_windows' into 'master'
Fix permission denied error on Windows for otatool, parttool

See merge request idf/esp-idf!4086
2019-02-05 09:15:22 +08:00
Angus Gratton
4e770aec61 Merge branch 'feature/predictable_event_dispatch_via_duplication' into 'master'
Predictable event handler dispatch

See merge request idf/esp-idf!3932
2019-02-05 08:47:03 +08:00
Angus Gratton
7922e25a04 Merge branch 'bugfix/mdns_notask_timer_crash' into 'master'
mdns: fix crash after init if no memory for task

See merge request idf/esp-idf!4171
2019-02-05 08:41:51 +08:00
Piyush Shah
3804c458c7 softap_prov: Changes in the example code as per changes to protocomm_httpd
Signed-off-by: Piyush Shah <piyush@espressif.com>
2019-02-04 18:22:43 +05:30
Piyush Shah
759b90a5e1 protocomm_httpd: Allow applications to pass HTTPD handle
This will be useful if a webserver is already running and the application
does not want protocomm to start a new instance.

Signed-off-by: Piyush Shah <piyush@espressif.com>
2019-02-04 18:22:05 +05:30
Angus Gratton
a2b47fd314 Merge branch 'bugfix/win_kconfig_backslash' into 'master'
tools: Fix Windows related Kconfig issues

See merge request idf/esp-idf!4206
2019-02-04 14:27:38 +08:00
Jiang Jiang Jian
d4d3ccf6d9 Merge branch 'bugfix/btdm_add_handle_in_gatts_conf_event_for_indication' into 'master'
Component/bt: add handle in gatts conf event for indication

See merge request idf/esp-idf!4024
2019-02-01 21:33:39 +08:00
Jiang Jiang Jian
abea9e4c02 Merge branch 'bugfix/btdm_fix_write_char_crash_after_disconnection' into 'master'
Component/bt: fix write char crash after disconnection

See merge request idf/esp-idf!4209
2019-02-01 21:27:29 +08:00
Roland Dobai
80cb4a1a18 tools: Don't use backslashes in Kconfigs and ignore long lines to avoid errors
Closes https://github.com/espressif/esp-idf/issues/3012
2019-02-01 11:33:41 +01:00
Roland Dobai
bcd584a63f tools: check for incorrect case used in Kconfig filenames 2019-02-01 11:33:41 +01:00
Roland Dobai
d1dd3ab0d3 tools: Recognize backslashes in Kconfigs with CR+LF line endings 2019-02-01 11:33:41 +01:00
Sagar Bijwe
d32128440d nvs_flash: Detect key partition as uninitialised even if encrypted by bootloader
Currently, only erase operation performed by the application leads
to detection of NVS key partition as uninitialised. This change
adds additional checks for detecting partition as uninitialised,
when device boots first time right after encryption by bootloader.
2019-02-01 13:28:13 +05:30
Liu Zhi Fu
de79835251 esp32: fix some WiFi bugs
Fix following WiFi bugs:
1. Fix a crash bug which is caused by WiFi static TX buffer alloc/free.
2. Fix the bug that iphone fails to connect to ESP32 AP by enabling AP BAR receiving.
3. Fix the bug that ESP32 station fails to connect some APs, such as Xiaomi hotspot etc,
   after reset.
2019-02-01 11:51:05 +08:00
Jiang Jiang Jian
d7a7a6835b Merge branch 'mesh/malloc_routing_table' into 'master'
mesh: modify to malloc routing table

See merge request idf/esp-idf!4213
2019-02-01 10:02:14 +08:00
morris
ed84bcee7b cleanup app_trace_to_host example
1. Cleanup the README of app_trace_to_host example based on the template.
2. Remove unused header files in the example.
3. Fix typos in public header file.
2019-01-31 21:28:52 +08:00
zhiweijian
06a2e20b15 Component/bt: fix comment error 2019-01-31 20:47:36 +08:00
zhiweijian
b51a0fcea5 Component/bt: fix write char crash after disconnection 2019-01-31 12:18:54 +00:00
qiyuexia
02d3170cce mesh: modify to malloc routing table 2019-01-31 17:46:11 +08:00
Anton Maklakov
2790d4a049 Merge branch 'bugfix/mdns_test_cleanup' into 'master'
mdns tests: execute test services only when running example in ci

See merge request idf/esp-idf!4174
2019-01-31 14:46:10 +08:00
He Yin Ling
83f370630e Merge branch 'feature/add_ipv6_related_change' into 'master'
modify test case to support ipv6

See merge request idf/esp-idf!2253
2019-01-31 14:31:16 +08:00
baohongde
e87d05d81f components/bt: Add precautions for esp_vhci_host_send_packet 2019-01-31 11:47:58 +08:00
baohongde
27235e023f components/bt: Fix crash when inquiry stop 2019-01-31 11:47:41 +08:00
Ivan Grokhotkov
131885d547 Merge branch 'bugfix/event_loop_library_memory_leak' into 'master'
Fix event loop library memory leak

See merge request idf/esp-idf!4201
2019-01-31 11:02:20 +08:00
Angus Gratton
4b2feb316a Merge branch 'feature/optionally_disable_https_from_ota_component' into 'master'
esp_https_ota: few feature enhancements

See merge request idf/esp-idf!4057
2019-01-31 09:11:35 +08:00
Renz Christian Bagaporo
e9a765d0fd docs: add notes on handler dispatch order 2019-01-30 20:59:47 +08:00
Renz Christian Bagaporo
a3664ad654 esp_event: test that dispath order follows regisration order 2019-01-30 20:59:47 +08:00
Renz Christian Bagaporo
a10901f44b esp_event: dispatch order follows registration order 2019-01-30 20:59:47 +08:00
michael
2dc3c61114 test: add unit test for spi sio mode 2019-01-30 20:57:26 +08:00
michael
305354d0a2 test: change spi test host to macros 2019-01-30 20:57:25 +08:00
Mahavir Jain
b912d0fa9d esp_https_ota: add support for configurable ota buffer size
Closes https://github.com/espressif/esp-idf/issues/2998
2019-01-30 18:11:09 +05:30
Mahavir Jain
d894e133ad esp_https_ota: add config option to (optionally) allow http 2019-01-30 18:11:05 +05:30
Renz Christian Bagaporo
2160abd3e4 esp_event: detect leaks in unit test 2019-01-30 18:49:21 +08:00
Renz Christian Bagaporo
34310908cf esp_event: fix post data type inconsistency 2019-01-30 18:11:13 +08:00
Renz Christian Bagaporo
280894af7f esp_event: fix memory leaks
Closes https://github.com/espressif/esp-idf/issues/2886
2019-01-30 18:11:13 +08:00
David Cermak
74cc7a065f mdns tests: execute test services only when running example in ci
Test services may cause confussion (and did cause some GitHub/forum issues). This update runs test services only when example executed in ci. Also host name is a simple config entry if executed outside of ci.
2019-01-30 09:55:52 +00:00
Jiang Jiang Jian
a0416e9351 Merge branch 'bugfix/tw28445_wps_thread_safe' into 'master'
Bugfix/tw28445 wps thread safe

See merge request idf/esp-idf!4175
2019-01-30 17:50:25 +08:00
Ivan Grokhotkov
58b5394266 Merge branch 'bugfix/git_describe_always_for_cmake' into 'master'
tools: Add --always option to git describe for Cmake

See merge request idf/esp-idf!4107
2019-01-30 17:48:11 +08:00
Ivan Grokhotkov
024c568c73 Merge branch 'bugfix/cmake_stack_protector' into 'master'
esp32: disable stack protector for startup code (CMake)

See merge request idf/esp-idf!4198
2019-01-30 16:28:40 +08:00
David Cermak
a47768dc4e mdns: fix crash after init if no memory for task
mdns init first starts timer task, then starts service task. if service task failed to be created, timer task needs to be stopped too.
fixed https://ezredmine.espressif.cn:8765/issues/28466
2019-01-30 08:17:37 +01:00
Ivan Grokhotkov
05a28ef4e7 Merge branch 'bugfix/aws_iot_examples_cmake_build' into 'master'
examples: aws_iot: fix cmake build issue which used to pick dummy certificates

See merge request idf/esp-idf!4180
2019-01-30 14:27:51 +08:00
zhuying
61839fc4a5 esp-idf | revise app_trace EN version 2019-01-30 11:39:23 +08:00
morris
fb2ebb19c6 translate app_trace to zh_CN 2019-01-30 11:35:15 +08:00
zhuying
5b938199ab doc(esp-idf) | JTAG debugging EN update 2019-01-30 11:34:04 +08:00
morris
7ffd0f95d2 doc/jtag_debug: translation of jtag debugging
translate JTAG Debugging to zh_CN
2019-01-30 11:34:04 +08:00
Angus Gratton
aa4a5668b0 Merge branch 'bugfix/add_missing_links_to_translation' into 'master'
Included missing links between English and Chinese documentation, where…

See merge request idf/esp-idf!4176
2019-01-30 11:32:15 +08:00
Angus Gratton
35a53453f1 Merge branch 'bugfix/doc_updates_from_github' into 'master'
Documenation updates from github

See merge request idf/esp-idf!4120
2019-01-30 09:34:28 +08:00
Angus Gratton
784fc51931 Merge branch 'bugfix/mdns_crash_free_strdup' into 'master'
mdns: fixed crash on free undefined ptr if strdup is skipped

See merge request idf/esp-idf!4173
2019-01-30 09:33:12 +08:00
Angus Gratton
0a2b54d2e3 Merge branch 'bugfix/correct_kconfigs' into 'master'
Correct Kconfigs according to the coding style

See merge request idf/esp-idf!4172
2019-01-30 09:24:22 +08:00
Angus Gratton
6b80955ac7 Merge branch 'update/esptool_repo_sync' into 'master'
ci: Remove ALLOW_TO_SYNC_FROM_PUBLIC from esptool mirror repo

See merge request idf/esp-idf!4194
2019-01-30 09:21:59 +08:00
Roland Dobai
4d156fd734 tools: replace absolute URLs in Kconfig docs 2019-01-29 16:27:02 +01:00
Angus Gratton
a672e4f44b Merge branch 'bugfix/disable_kconfig_redundant_config_warnings_on_merge' into 'master'
Disable warnings on redundant config merge

See merge request idf/esp-idf!4168
2019-01-29 22:03:05 +08:00
Roland Dobai
37126d3451 Correct Kconfigs according to the coding style 2019-01-29 13:37:01 +01:00
Ivan Grokhotkov
7fb3218a33 Merge branch 'feature/eth_support_ip101g' into 'master'
support new Ethernet PHY (IP101)

See merge request idf/esp-idf!4187
2019-01-29 17:50:40 +08:00
Ivan Grokhotkov
70b14bf615 esp32: disable stack protector for startup code (CMake)
Files where stack protector is initialized should not be compiled with
stack protector enabled. This was done for Make but missing for CMake.

Fixes https://github.com/espressif/esp-idf/issues/2990.
2019-01-29 17:41:00 +08:00
Liu Zhi Fu
fd57c4ee67 esp32: fix WPS thread-safe
Fix WPS thread-safe bug
2019-01-29 17:30:21 +08:00
Jiang Jiang Jian
bf1955aac8 Merge branch 'bugfix/coex_update_phy_to_fix_interrupt_wdt' into 'master'
esp32: update libphy.a to fix interrupt watchdog when WiFi and BT run at the same time and both enable modem sleep

See merge request idf/esp-idf!4191
2019-01-29 17:12:10 +08:00
David Cermak
e0a8044a16 mdns: fixed crash on free undefined ptr after skipped strdup
Shortcircuit evaluation may cause skip of _mdns_strdup_check of any further question field, which after clear_rx_packet freed undefined memory.
Fixes https://ezredmine.espressif.cn:8765/issues/28465
2019-01-29 10:10:38 +01:00
morris
7528dc0f20 ethernet: support new PHY (IP101)
1. Add support for new PHY IP101.
2. Re-enable GPIO0 output mode.
3. Clean up some docs.
2019-01-29 14:08:35 +08:00
Ivan Grokhotkov
4725364e04 Merge branch 'feat/spi_slave_timing' into 'master'
feat(spi_slave): fine tune the timing of SPI slave

See merge request idf/esp-idf!3925
2019-01-29 14:03:55 +08:00
Angus Gratton
392e820c5e ci: Remove ALLOW_TO_SYNC_FROM_PUBLIC from esptool mirror repo 2019-01-29 15:06:11 +11:00
Renz Christian Bagaporo
00e53f447a confgen: disable config override warnings 2019-01-29 11:17:02 +08:00
Renz Christian Bagaporo
178bbfad43 kconfiglib: allow disabling of config override warnings
Patches ESP-IDF copy of kconfiglib.py with modifications in commit
b65baa47f69ae4c3993876a7edf0da0075aa70ff from kconfiglib repository.
2019-01-29 11:16:25 +08:00
XiaXiaotian
a2cec1f636 esp32: update libphy.a to fix interrupt watchdog when WiFi and BT run at
the same time and both enable modem sleep
2019-01-29 10:55:45 +08:00
Mahavir Jain
8c1c3d51a9 ci: remove IDF_CI_BUILD variable, no active users 2019-01-28 14:39:36 +05:30
Ivan Grokhotkov
44b97b7fe7 Merge branch 'bugfix/backtrace_from_interrupts' into 'master'
Make backtrace work across interrupts

See merge request idf/esp-idf!4084
2019-01-28 16:40:12 +08:00
zhiweijian
b2a515c347 Component/bt: add handle in gatts conf event for indication 2019-01-28 07:12:22 +00:00
Darian Leung
96af064209 freertos: Make backtrace work across interrupts
This commit adds the ability for backtracing to trace from the itnerrupt to the
task stack, and across nested interrupts. Test cases have also been added.
2019-01-28 14:34:26 +08:00
Jiang Jiang Jian
9896f45c79 Merge branch 'mesh/bugfix_0124' into 'master'
mesh: udpate libs

See merge request idf/esp-idf!4155
2019-01-28 14:06:00 +08:00
Mahavir Jain
1286b93c81 examples: aws_iot: fix cmake build issue which used to pick dummy certificates
For CI build now `sdkconfig.ci` file is used which builds examples assuming certificate
stored on SDCard.
2019-01-28 10:45:34 +05:30
Ivan Grokhotkov
a97765c4b3 Merge branch 'feature/modem_pppos' into 'master'
support cellular modem && refactor PPPoS client example

See merge request idf/esp-idf!3778
2019-01-28 11:59:41 +08:00
Anton Maklakov
1332d3ba9c docs: Correct priorities in the PATH string
Fixes https://github.com/espressif/esp-idf/pull/2944
2019-01-28 11:28:55 +08:00
krzychb
f675334ebb Included missing links between English and Chinese documentation, where translation into Chinese is available 2019-01-27 19:01:34 +01:00
huchaoru
932f2707ee modify test case to support ipv6 2019-01-26 13:02:04 +00:00
michael
41e58bc419 spi: add new test for timing and mode
New unit tests added
------------------------

**Local:** Local test uses the GPIO matrix to connect the master and the
slave on the same board. When the master needs the iomux, the master
uses the GPIOs of its own, the slave connect to the pins by GPIO matrix;
When the slave needs the iomux, the slave uses the GPIOs of its own, the
master connects to the pins by GPIO matrix.

- Provide a new unit test which performs freq scanning in mode 0. It
scans frequency of 1M, 8M, 9M and all frequency steps up to the maximum
frequency allowed.

**M & S**: Master & slave tests performs the test with two boards. The
master and slave use iomux or gpio matrix according to the config.

- Provide a new unit test which performs freq scanning in mode 0. It
scans frequency of 1M, 8M, 9M and all frequency steps up to the maximum
frequency allowed.

- Provide a new unit test which performs mode test with significant
frequencies. It tests mode 0,1,2,3 with low frequency, and the maximum
frequency allowed.
2019-01-26 00:10:41 +08:00
Michael (XIAO Xufeng)
155006243e spi_master: fix the timing a little so that can assign delay half clock manually 2019-01-26 00:10:41 +08:00
michael
58955a79a2 spi_slave: improve the timing configuration
SPI Slave
===========

- Correct the configuration of mode 0~3 using new config in the TRM
- Split the workaround for DMA in mode 0/2 out of normal config, to make it clear.
- Update timing and speed document for the SPI slave.

Resolves https://github.com/espressif/esp-idf/issues/1346, https://github.com/espressif/esp-idf/issues/2393
2019-01-26 00:10:41 +08:00
michael
d9c5016e08 test: add new test framework for different configurations
Paremeterized Test Framework
-----------------------------

The SPI has a lot of parameters, which works in the same process.
This framework provides a way to easily test different parameter sets.
The framework can work in two different ways:

- local test: which requires only one board to perform the test - master
& slave test: which generates two sub test items which uses the same
config set to cooperate to perform the test.

The user defines a (pair if master/slave) set of init/deinit/loop
functions. Then the test framework will call init once, then call loop
several times with different configurations, then call deinit.

Then a unit test can be appended by add a parameter group, and pass it into
a macro.
2019-01-26 00:10:41 +08:00
Renz Christian Bagaporo
5a4fe0bac8 confgen: disable redundant assignment warning 2019-01-25 18:35:58 +08:00
Renz Christian Bagaporo
d6b5f43ea0 kconfiglib: allow disabling of redundant definition warnings
Patches ESP-IDF copy of kconfiglib.py with modifications in commit
94c63de77c7a3422347e59e168b05174d0b9e84d from kconfiglib repository.
2019-01-25 18:35:58 +08:00
Jiang Jiang Jian
5c88c5996d Merge branch 'bugfix/ble_active_scan_not_wait_scan_rsp' into 'master'
component/bt: add a option to make report adv data and scan response individually

See merge request idf/esp-idf!4131
2019-01-25 11:53:06 +08:00
suda-morris
b47fda98f3 update translation of establish-serial-connection 2019-01-24 19:50:55 +08:00
krzychb
7fa8eb91dd Small updates of wording 2019-01-24 19:50:55 +08:00
ShellAddicted
aa364961d0 docs(en): dialout-linux added specific command for Arch linux the correct group is 'uucp'
Merges https://github.com/espressif/esp-idf/pull/2940
2019-01-24 19:50:55 +08:00
qiyueixa
8c675a52a7 mesh: udpate libs
1. during parent selection, when scanning a MAP without ext-assoc IE, it will be handled as it has the same router BSSID as itself.
2. for MAP, when its client leaves, always post SYSTEM_EVENT_AP_STADISCONNECTED to mesh layer regardless of whether the client has passed the encrypted authentication or not.
2019-01-24 15:15:09 +08:00
Ivan Grokhotkov
2eabed161a Merge branch 'feature/merge_multiple_github_prs' into 'master'
Multiple Github PRs

See merge request idf/esp-idf!4146
2019-01-24 15:14:47 +08:00
Tian Hao
6c8a8664aa component/bt: add a option to make report adv data and scan response individually
Originally, when doing BLE active scan, Bluedroid will not report adv to
application layer until receive scan response. This option is used to
disable the behavior. When enable this option, Bluedroid will report
adv data or scan response to application layer immediately.
2019-01-24 14:30:02 +08:00
Angus Gratton
66ffc9d29e Merge branch 'doc/add_esp_ble_test_case' into 'master'
add esp ble compatibility test case

See merge request idf/esp-idf!3989
2019-01-24 14:29:31 +08:00
Wang Fang
ef07bc44ec add esp ble compatibility test case 2019-01-24 14:29:31 +08:00
Angus Gratton
386b29e5f8 Merge branch 'bugfix/reduce_nvs_init_time' into 'master'
nvs_flash: Improve nvs_flash_init_partition() speed

See merge request idf/esp-idf!4097
2019-01-24 14:17:57 +08:00
Jiang Jiang Jian
2dadc7d549 Merge branch 'bugfix/sha_ownership' into 'master'
hwcrypto sha: Allow SHA contexts to be shared between tasks

See merge request idf/esp-idf!4010
2019-01-24 14:07:23 +08:00
Ivan Grokhotkov
d96f6d6b12 Merge branch 'feature/efuse_add_voltage_level' into 'master'
feature(efuse): add support for setting core voltage in high performance cases

See merge request idf/esp-idf!4124
2019-01-24 13:03:25 +08:00
KonstantinKondrashov
00c1a40006 app_update: Fix a handling of version as string 2019-01-24 12:13:38 +08:00
KonstantinKondrashov
3d1e064e1a tools: Add unit tests 2019-01-24 12:13:38 +08:00
KonstantinKondrashov
187f9945bc tools: Add --always option to git describe for Cmake
Fixed differences in getting of the project version for Make and Cmake.
2019-01-24 12:06:55 +08:00
Angus Gratton
58acac883d Merge branch 'bugfix/regenerate_sdkconfig_fails' into 'master'
Fix issues with regenerating sdkconfig on modification

Closes #58

See merge request idf/esp-idf!4115
2019-01-24 11:56:52 +08:00
Angus Gratton
7f307423c1 newlib: Provide library name for ROM libc object files linked as PSRAM workarounds
Works around bug reported on forums where any source file ending in *lock.c or *creat.c
was being linked to IRAM.

https://esp32.com/viewtopic.php?f=13&t=8909&p=37362#p37362

Also moves all related functionality to newlib component.
2019-01-24 11:30:05 +08:00
Pieter du Preez
496bfe3842 Initialized some uninitialized variables in rtc_clk.c and ringbuf.c.
The following 2 compiler warnings are only reproducible when setting:
   OPTIMIZATION_FLAGS = -Ofast

esp-idf/components/soc/esp32/rtc_clk.c:
In function 'rtc_clk_cpu_freq_get':
esp-idf/components/soc/esp32/rtc_clk.c:506:12:
error: 'freq' may be used uninitialized in this function
[-Werror=maybe-uninitialized]
	return freq;

esp-idf/components/esp_ringbuf/ringbuf.c:
In function 'xRingbufferReceiveSplitFromISR':
esp-idf/components/esp_ringbuf/ringbuf.c:934:26:
error: 'pvTempTailItem' may be used uninitialized in this function
[-Werror=maybe-uninitialized]
	*ppvTailItem = pvTempTailItem;

Closes https://github.com/espressif/esp-idf/pull/2878
2019-01-23 16:47:23 +05:30
rustyx
053219283d Handle esp_tls_conn_read disconnection in ssl_read. Fixes #2805
Closes https://github.com/espressif/esp-idf/pull/2967
2019-01-23 16:47:23 +05:30
Damian Reboredo
41e71c2f53 fix esp_http_client_open
client->post_len was not bein set therefore content-length was 0

Closes https://github.com/espressif/esp-idf/pull/2917
2019-01-23 16:47:23 +05:30
Michael Reutman
fdd865f22d Fix typo in error message in esp_bluedroid_init
Closes https://github.com/espressif/esp-idf/pull/2835
2019-01-23 16:47:23 +05:30
Michael Reutman
02da4154a1 Add static qualifier to s_light_sleep_wakeup variable to prevent it from being global.
Closes https://github.com/espressif/esp-idf/pull/2793
2019-01-23 16:47:23 +05:30
Anders Kalør
8b72dc9fb0 esp_http_client: Add support for mutual authentication
Closes https://github.com/espressif/esp-idf/pull/2688
2019-01-23 16:47:23 +05:30
morris
2e1f98f8f5 modem: support modem facility and PPPoS
1. add support for ESP32 DTE
2. add support for SIM800/BG96 DCE
3. add PPPoS setup procedure
4. add support for SMS
5. add mqtt example after PPP connection established
2019-01-23 18:53:32 +08:00
Ivan Grokhotkov
07645955a2 Merge branch 'bugfix/bootloader_map_size' into 'master'
bootloader: fix incorrect mapping size

See merge request idf/esp-idf!3175
2019-01-23 16:56:58 +08:00
Jiang Jiang Jian
06c3665740 Merge branch 'bugfix/wifi_fix_invalid_csi_data_index' into 'master'
esp32: fix invalid channel state information(CSI) data index

See merge request idf/esp-idf!4048
2019-01-23 14:58:49 +08:00
Ivan Grokhotkov
f2b7dd4263 Merge branch 'feature/support_global_der_ca_store' into 'master'
Add esp_tls_init_global_ca_store function to esp-tls, called from esp_tls_set_global_ca_store

See merge request idf/esp-idf!3795
2019-01-23 13:30:49 +08:00
Angus Gratton
f141b29328 hwcrypto sha: Use spinlocks instead of semaphores for small state changes
Significant performance improvement and smaller RAM footprint.
2019-01-23 04:59:44 +00:00
Angus Gratton
f3277cf2dc hwcrypto sha: Allow SHA contexts to be shared between tasks
Previously, hardware SHA engine "locks" were mutex semaphores. This meant that the task which
started a particular SHA session (in hardware) needed to finalise that session, or an invalid
FreeRTOS state was created.

Replace with binary semaphore which can be shared between tasks.

Includes a unit test, but unit test doesn't crash even without this fix
(some other unknown condition is required).
2019-01-23 04:59:44 +00:00
Gautier Seidel
b4c4f8514b nvs_flash: Improve nvs_flash_init_partition() speed
Signed-off-by: Sagar Bijwe <sagar@espressif.com>
2019-01-23 04:53:36 +00:00
Angus Gratton
52b27890de Merge branch 'bugfix/examples_http_file_server_readme' into 'master'
HTTP File Server : Fix README of example

See merge request idf/esp-idf!4112
2019-01-23 09:06:46 +08:00
XiaXiaotian
f3b72ef6aa esp32: fix invalid channel state information(CSI) data index
Due to a hardware limitation in ESP32, the first four bytes of some
    CSI data is invalid, not the last four bytes.

    Correct a mistake of CSI sub-carrier index in documentation.
2019-01-22 20:11:05 +08:00
Ivan Grokhotkov
b65a088791 tinyfw: update to support new esptool argument 2019-01-22 18:40:25 +08:00
Wangjialin
78bea94d8a feature: add support for setting core voltage in high performance cases.
1. add definitions of EFUSE_RD_VOL_LEVEL_HP_INV in efuse_reg.h
2. modify the core voltage according to the record in efuse in high performance cases.
2019-01-22 12:13:58 +08:00
Ivan Grokhotkov
1ce83f4ef5 Merge branch 'bugfix/http_server_uri_template' into 'master'
esp_http_server : Remove casual use of 'template' keyword

See merge request idf/esp-idf!4123
2019-01-22 11:45:45 +08:00
Angus Gratton
87769f4433 Merge branch 'bugfix/cmake_env_var_for_kconfig' into 'master'
CMake: Make IDF_PATH available to Kconfiglib when not explicitly set.

See merge request idf/esp-idf!4100
2019-01-22 11:11:18 +08:00
Sagar Bijwe
05220d9cda CMake: Make IDF_PATH available to Kconfiglib when not explicitly set.
When IDF_PATH is not set by the user, cmake infers the same through
other means and sets it as an environment variable. However, some
sub-invocation of cmake may not see this variable as it is not set
in the parent. This change adds a custom command for exporting IDF_PATH
just before invoking ldgen so that IDF_PATH can be used in Kconfig
without any errors.
2019-01-21 17:02:31 +05:30
Ivan Grokhotkov
d9f0d83466 Merge branch 'bugfix/esp-http-client-incorrect-path' into 'master'
esp_http_client: Fix config member path's incorrect setting issue

See merge request idf/esp-idf!4078
2019-01-21 19:08:24 +08:00
Jitin George
4a667ee12c esp_http_client: Fix config member path's incorrect setting issue 2019-01-21 19:08:24 +08:00
Anurag Kar
cfebbae3ef esp_http_server : Remove casual use of 'template' keyword
Closes https://github.com/espressif/esp-idf/issues/2956
2019-01-21 16:13:01 +05:30
Angus Gratton
a9d91e00bc Update esptool.py to v2.6 2019-01-19 14:44:55 +08:00
Ivan Grokhotkov
96d0f7f5e2 bootloader: account for load address when mapping cache pages
Bootloader used to calculate the number of cache pages assuming that
load address was aligned, while in reality load address for DROM and
IROM was offset by 0x20 bytes from the start of 64kB page. This
caused the bootloader to map one less page if the size of the image
was 0x4..0x1c less than a multiple of 64kB.

Reported in https://esp32.com/viewtopic.php?f=13&t=6952.
2019-01-19 14:44:55 +08:00
Ivan Grokhotkov
182e917d78 bootloader: fix IROM and DROM swapped in log messages 2019-01-19 14:44:55 +08:00
Jiang Jiang Jian
5d7d4ba4f3 Merge branch 'bugfix/phy_rtc_cache_disabled' into 'master'
Fix PHY/RTC functions called in ISR, but stored in flash

See merge request idf/esp-idf!4108
2019-01-18 10:53:52 +08:00
Tian Hao
423fbf0006 Fix some bugs in phy
1. fix bug PHY/RTC functions called in ISR (update phy to v4007)
2. add UnitTest to test it
3. disable/enable agc to mac deinit/init
2019-01-16 22:41:17 +08:00
Jiang Jiang Jian
83447cae90 Merge branch 'mesh/cs_root_conflict' into 'master'
detect and fix root conflicts when router BSSID is not set

See merge request idf/esp-idf!3869
2019-01-16 21:16:56 +08:00
KonstantinKondrashov
bf925869fe tool: Add unit test for Kconfig gen 2019-01-16 08:16:09 +08:00
Renz Christian Bagaporo
1177427aac docs: remove invalid arg in confgen invocation on docs generation 2019-01-16 08:16:09 +08:00
Renz Christian Bagaporo
08f472ad1e cmake: only generate sdkconfig on top level project 2019-01-16 08:16:09 +08:00
Renz Christian Bagaporo
61329f60c3 confgen: base config creation on output type args 2019-01-16 08:16:09 +08:00
qiyueixa
e1ac7ed922 test: modify the reason code from 204 to 15 in WIFI_CONN_0904
1. remove the step of testing station connect using a wrong password.
2019-01-15 22:37:49 +08:00
Wang Jia Lin
a62cbfec9a Merge branch 'bugfix/fix_psram_eid' into 'master'
bugfix(psram): fix psram size acquisition method, support esp32-pico chips

See merge request idf/esp-idf!3750
2019-01-15 17:44:51 +08:00
Anurag Kar
c2fb45b6ef http file_server : Fix README of example 2019-01-15 12:58:55 +05:30
qiyuexia
a05fdd9c10 mesh: update libs
1. detect and fix root conflicts when router BSSID is not set.
2. when root can not connect to the router due to NO_MORE_STAS(reason code:5), root will stop re-connection and perform MESH_NWK_LOOK_FOR_NETWORK.
3. wifi: fix the disconnection caused by receiving a deauth frame from non-parent node during scanning.
4. fix routing table redundant issue.
5. modify the max routes limitation from 300 to 1000.
6. wifi: fix ap does not deauth sta which has not completed the 4-way handshake.
2019-01-15 14:26:05 +08:00
Angus Gratton
dbca85f962 Merge branch 'bugfix/examples_http_file_server_kconfig' into 'master'
HTTP File Server : Fix kconfig of example

See merge request idf/esp-idf!4110
2019-01-15 11:59:35 +08:00
Anurag Kar
72d2d2845d http_file_server : fix kconfig of example 2019-01-15 07:27:22 +05:30
Ivan Grokhotkov
1ee729336f Merge branch 'feature/http_server_wildcard_uri' into 'master'
Wildcard URI matching for http_server

See merge request idf/esp-idf!3973
2019-01-14 19:44:54 +08:00
Ivan Grokhotkov
1ad8b96fed Merge branch 'bugfix/mqtt_tests_local_broker' into 'master'
MQTT tests: connect to local broker when running in CI to make the tests more reliable

See merge request idf/esp-idf!3926
2019-01-14 16:29:43 +08:00
Paul Reimer
a1204f8b16 Add esp_tls_init_global_ca_store function to esp-tls, called from esp_tls_set_global_ca_store
Signed-off-by: Chirag Atal <chirag.atal@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/2654
2019-01-14 08:25:56 +00:00
Anurag Kar
5127aa1976 HTTP Server : File server example added
This example demonstrates the capability of wildcard URI matching
allowing for a full fledged file server to be created using esp_http_server.
2019-01-14 12:03:54 +05:30
Anurag Kar
21878d1bbf HTTP Server : Unit test added for httpd_uri_match_wildcard() function as given in https://github.com/espressif/esp-idf/pull/2581#issuecomment-430788473 2019-01-14 08:59:55 +05:30
Anurag Kar
416c55e7f0 HTTP Server : Add uri_match_fn field in config structure which accepts custom URI matching functions of type httpd_uri_match_func_t and defaults to basic string compare when set to NULL.
Move static uri_matches() function to httpd_uri_match_wildcard() under esp_http_server.h and make it optional.
2019-01-14 08:59:55 +05:30
Anurag Kar
107f52c4fc HTTP Server : Add helper APIs for sending string content
Note : In future consider deprecating usage of -1 for setting
buffer length equal to string length in APIs httpd_resp_send()
and httpd_resp_send_chunk()
2019-01-14 08:36:18 +05:30
Renz Christian Bagaporo
62f1f9f87a otatool, parttool: Fix permission denied error on Windows 2019-01-14 06:05:39 +08:00
Jiang Jiang Jian
b173cf2817 Merge branch 'bugfix/wifi_fix_incorrect_tx_complete_state' into 'master'
esp32: fix the incorrect tx complete state issue

See merge request idf/esp-idf!4083
2019-01-12 19:54:51 +08:00
Liu Zhi Fu
4b234b0805 esp32: fix the incorrect tx complete state issue 2019-01-12 09:39:59 +08:00
Jiang Jiang Jian
c22e04f5b3 Merge branch 'bugfix/fix_ba_hardware_index_deleting_issue' into 'master'
esp32: fix wrongly deleting hardware BA index bug

See merge request idf/esp-idf!4101
2019-01-12 09:37:03 +08:00
Wangjialin
d518a19d95 driver(ledc): fix ledc fade API and update the register header file
1. fix error when fading is too fast
2. fix error when setting duty and update immediately
3. update register header file to be in accord with TRM

closes https://github.com/espressif/esp-idf/issues/2903
2019-01-12 00:56:38 +08:00
David Cermak
b13a536041 mqtt tests: connect to local broker when running in CI to make the tests more reliable 2019-01-11 15:30:15 +01:00
Ivan Grokhotkov
72b3c6d6b8 Merge branch 'feature/check_kconfig' into 'master'
Check the style of Kconfig files

See merge request idf/esp-idf!3971
2019-01-11 21:14:27 +08:00
Ivan Grokhotkov
1e93c4e48b Merge branch 'feature/freemodbus_mb_inst_config' into 'master'
examples: freemodbus port serial slave increase MB_INST_MAX_SIZE

See merge request idf/esp-idf!4080
2019-01-11 20:14:46 +08:00
Roland Dobai
00eefe0ef3 Check & correct Kconfig files 2019-01-11 13:05:55 +01:00
aleks
e3a786f2cf examples: change max register area size to maximum value
esp-idf/components/freemodbus/modbus_controller/modbus_controller.c: The MB_INST_MAX_SIZE is changed to max value=(65535*2);
Update support for coils read into freemodbus.c;

TW#28143
Closes https://github.com/espressif/esp-idf/issues/2884
2019-01-11 09:49:11 +01:00
Liu Zhi Fu
85f018edbc esp32: fix wrongly deleting hardware BA index bug
Fix the bug that hardware BA index will be wrongly removed in
WiFi mode WIFI_MODE_APSTA.
2019-01-11 16:31:01 +08:00
Ivan Grokhotkov
065b99f28b Merge branch 'bugfix/unix_makefile_build_on_windows' into 'master'
CMake: Fix build error when using Windows command line and MinGW generator

See merge request idf/esp-idf!3997
2019-01-11 16:09:28 +08:00
Ivan Grokhotkov
ad5d81df04 Merge branch 'feature/mqtt_before_connect_event' into 'master'
MQTT support for fragmented and packed messages

See merge request idf/esp-idf!3743
2019-01-11 15:38:23 +08:00
Ivan Grokhotkov
1da00b3555 Merge branch 'bugfix/Cmake_support_dhcp_state' into 'master'
Added Cmake support for dhcp_state

See merge request idf/esp-idf!3804
2019-01-11 15:23:40 +08:00
Ivan Grokhotkov
a3e3d00cf0 Merge branch 'test/unit_test_multi_devices_case_pass_param_by_signals' into 'master'
unit-test-app: support passing parameter with signals

See merge request idf/esp-idf!3960
2019-01-11 15:23:19 +08:00
Ivan Grokhotkov
cdbe1d4d5b Merge branch 'bugfix/mdns_udp_send_protected' into 'master'
mdns networking udp send protected

See merge request idf/esp-idf!3969
2019-01-11 15:20:09 +08:00
Ivan Grokhotkov
aa0c82b9cf Merge branch 'bugfix/vfs_ut_performance' into 'master'
VFS: move all functions into RAM which are called in the performance test

See merge request idf/esp-idf!4047
2019-01-11 14:09:02 +08:00
Ivan Grokhotkov
da15be6dd0 Merge branch 'bugfix/fatfs_perf_test' into 'master'
fatfs: bypass newlib buffering in performance test

See merge request idf/esp-idf!4076
2019-01-11 14:05:58 +08:00
Ivan Grokhotkov
082b13eb35 Merge branch 'feature/console_nvs' into 'master'
Added support for NVS in console example

See merge request idf/esp-idf!3633
2019-01-11 09:51:50 +08:00
Martin Válik
602d102403 Added support for NVS in console example 2019-01-11 09:51:50 +08:00
Ivan Grokhotkov
bf35ef1ce7 esp_partition: disable encrypted reads/writes if flash encryption is disabled
Saves 400 bytes of IRAM.
2019-01-10 21:51:09 +08:00
Konstantin Kondrashov
82c5e648ad esp32: Fix wdt settings in esp_restart_noos
Fixed compatibility the new apps with the old bootloaders.

Closes: https://github.com/espressif/esp-idf/issues/2927
2019-01-10 20:22:26 +08:00
He Yin Ling
431653bba8 unit-test: fix 2 issues in unit test script:
1. Gitlab will only regard failure (not error) as failed case. Use log
failure instead of log error, to display all error msg in test result
2. fix failed case not recognized by test script when failed during
reset DUT
2019-01-10 09:51:17 +00:00
He Yin Ling
7c59207351 test: add test to check wifi conneciton between sta and softap 2019-01-10 09:51:17 +00:00
He Yin Ling
783cb692e8 unit-test-app: support passing parameter with signals 2019-01-10 09:51:17 +00:00
Ivan Grokhotkov
65d01336d3 Merge branch 'bugfix/python_virtualenv_detection' into 'master'
python:  Add check if current python is inside virtual environment

See merge request idf/esp-idf!4088
2019-01-10 15:52:54 +08:00
MartinValik
e3428adf87 Added Cmake support for dhcp_state 2019-01-10 07:51:54 +00:00
Jiang Jiang Jian
097597b978 Merge branch 'bugfix/wifi_defragmentation_only_for_data_frame' into 'master'
esp32: do defragmentation only for data and management frame

See merge request idf/esp-idf!4072
2019-01-09 15:54:05 +08:00
chenjianqiang
bd8733f74f feature(psram): add psram support for esp32-pico chip
1. esp32-pico use standard spi driver to access psram
2. for esp32-pico, flash and psram share the clock
3. for esp32-pico, psram cs io can be overwrite via menuconfig
2019-01-09 10:49:07 +08:00
Jiang Jiang Jian
e931fe9f57 Merge branch 'bugfix/fix_mbox_thread_safe_issue' into 'master'
tcpip: fix mbox thread-safe issue

See merge request idf/esp-idf!4002
2019-01-09 10:20:50 +08:00
Sergei Silnov
0f61930872 python: Add check if current python is inside virtual environment 2019-01-08 12:21:33 +01:00
Ivan Grokhotkov
456efd3d57 Merge branch 'bugfix/timer_delete_dispatch_race' into 'master'
esp_timer: fix race between deleting the timer and executing the callback

See merge request idf/esp-idf!3992
2019-01-08 14:06:46 +08:00
XiaXiaotian
1a492f0715 esp32: do defragmentation only for data and management frame
Check frame type before defragmentation. Only data and management frame can do
    defragmentation.
2019-01-07 20:38:16 +08:00
Ivan Grokhotkov
ea89b8c557 Merge branch 'bugfix/esp-http-client-fixes' into 'master'
Minor Bugfixes in esp_http_client, tcp_transport and simple_ota_example

See merge request idf/esp-idf!4023
2019-01-07 16:33:41 +08:00
Jitin George
e2ae69f6fb Minor Bugfixes in esp_http_client, tcp_transport and simple_ota_example 2019-01-07 16:33:41 +08:00
Liu Zhi Fu
6933c103e5 lwip: fix mbox thread-safe issue
Fix a mbox free thread-safe issue that can lead to crash in sys_arch_mbox_fetch.
2019-01-07 13:38:11 +08:00
Jiang Jiang Jian
0700cde229 Merge branch 'bugfix/tw26890_update_wifi_api_guide' into 'master'
Bugfix/tw26890 update wifi api guide

See merge request idf/esp-idf!3630
2019-01-07 13:03:20 +08:00
Ondřej Hruška
91d6b3b989 Implement wildcard URI matching for http_server 2019-01-06 03:07:13 +05:30
Ivan Grokhotkov
5339c56bc5 fatfs: bypass newlib buffering in performance test 2019-01-05 14:13:49 +08:00
Wu Jian Gang
577f8d8527 Merge branch 'bugfix/fix_the_country_code_bug' into 'master'
wifi: fix the bug that STA can scan the channel out of the country regdomain range

See merge request idf/esp-idf!4065
2019-01-04 11:57:29 +08:00
Roland Dobai
c8e8044293 VFS: move all functions into RAM which are called in the performance test 2019-01-03 19:56:19 +01:00
David Cermak
f7d4a4be6a mdns: fix networking running udp_sendif from lwip thread 2019-01-03 14:28:29 +01:00
zhangyanjiao
2d5e9d765f wifi: fix the bug that STA can scan the channel out of the country regdomain range 2019-01-03 17:55:06 +08:00
David Cermak
bed26be427 tcp_transport: modification of ws to read headers first in order to read the exact payload
closes https://github.com/espressif/esp-mqtt/issues/69
2019-01-03 09:22:40 +01:00
David Cermak
13bf307c85 mqtt: support for BEFORE_CONNECT event in idf
Updated examples to use new event id, idf to use mqtt with fixed retained, oversized messages
2019-01-03 09:22:24 +01:00
Ivan Grokhotkov
227f8daef3 esp_timer: do not allow deleting timers while callbacks are dispatched
timer_process_alarm function of esp_timer holds a spinlock for the
entire duration of its operation, except for the time when timer
callback function is called. It is possible that when
timer_process_alarm releases the spinlock, a higher priority task may
run and delete the timer. Then the execution will return to
timer_process_alarm, and this will either cause a crash, or undesired
execution of callback after the timer has been stopped or deleted.

To solve this problem, add a mutex which will prevent deletion of timers
while callbacks are being dispatched.
2019-01-03 07:14:53 +00:00
Angus Gratton
3c94b6e10a Merge branch 'test/fix_failed_to_download_in_example_test' into 'master'
test: fix failed to download in example test

See merge request idf/esp-idf!4061
2019-01-03 15:14:22 +08:00
Liu Zhi Fu
c1022ac22b docs: udpate wifi document
Update WiFi document
2019-01-03 13:46:16 +08:00
He Yin Ling
86cc434ff1 test: get bin path from dut.app.flash_files instead of dut.download_config 2019-01-03 09:57:47 +08:00
Angus Gratton
a9bd658225 Merge branch 'doc/wifi_disclaimer' into 'master'
doc: wifi: Remove disclaimers

See merge request idf/esp-idf!4059
2019-01-03 07:45:26 +08:00
Ivan Grokhotkov
52d33e8cbd Merge branch 'bugfix/esp_attr_sdkconfig' into 'master'
esp32: esp_attr.h should include sdkconfig.h

See merge request idf/esp-idf!4058
2019-01-03 03:07:52 +08:00
Ivan Grokhotkov
aba555b349 Merge branch 'bugfix/pthread_detach' into 'master'
Bugfix in pthread_detach() implementation

See merge request idf/esp-idf!4038
2019-01-03 03:05:16 +08:00
He Yin Ling
1c54630eaa test: fix failed to download in example test:
1. example test uses auto detect flash size. we need to call
`detect_flash_size` before write flash
2. fix incorrect baudrate used: when using WROVER-Kits, it's likely that download with baudrate 921600
will fail. If we don't reset serial setting in decorator, 921600 will
become the default baudrate. This causes all the subsequent
communication fails
3. do hw reset after used esptool function
2019-01-02 20:49:03 +08:00
Angus Gratton
a027cab718 Merge branch 'bugfix/check_dependencies_msys' into 'master'
tools: Be more helpful to MSYS32 users with package installation

See merge request idf/esp-idf!3998
2019-01-02 16:47:31 +08:00
Roland Dobai
aca6e7b66a tools: Be more helpful to MSYS32 users with package installation 2019-01-02 07:53:57 +01:00
Angus Gratton
9f09431f07 doc: wifi: Remove disclaimers 2019-01-02 17:43:11 +11:00
Angus Gratton
4a42827c4a esp32: esp_attr.h should include sdkconfig.h
Reported on forum https://esp32.com/viewtopic.php?f=13&t=8669#p36395
2019-01-02 17:04:53 +11:00
Jiang Jiang Jian
c4963fc329 Merge branch 'bugfix/btdm_miscellaneous_modifications' into 'master'
component/bt: some miscellaneous modifications for BLE

See merge request idf/esp-idf!4032
2019-01-02 14:04:44 +08:00
Angus Gratton
6578673ed4 Merge branch 'feature/esp_platform_cmake_pr2601' into 'master'
cmake: Add ESP_PLATFORM in CMake build (PR 2601)

See merge request idf/esp-idf!3823
2019-01-02 14:03:52 +08:00
Jiang Jiang Jian
1de94b7b45 Merge branch 'bugfix/btdm_debug_numeric_comparison_mode' into 'master'
component/bt: modify the BLE example to make it run with "numeric comparison" mode

See merge request idf/esp-idf!3500
2019-01-02 14:02:58 +08:00
Angus Gratton
3fdb623ac5 Merge branch 'bugfix/fix_ci_example_test_not_executed' into 'master'
ci: init submodule in assign_test job

See merge request idf/esp-idf!4046
2019-01-02 13:59:47 +08:00
Angus Gratton
25ab173799 Merge branch 'bugfix/https_server_cpp_support' into 'master'
esp_https_server : add extern C directive for C++ support

See merge request idf/esp-idf!4054
2019-01-02 13:58:37 +08:00
Jiang Jiang Jian
9874bcc8e7 Merge branch 'bugfix/remove_gatts_warning' into 'master'
components/bt: Remove warnings in btc_gatts_arg_deep_copy() that are confusing

See merge request idf/esp-idf!4008
2019-01-02 12:00:10 +08:00
Jiang Jiang Jian
264a76c52a Merge branch 'feature/coex_unforce_wifi_if_no_data_buffered_in_beacon' into 'master'
esp32: unforce wifi if receiving beacon with no data buffered in dream state and reduce force receiving broadcast data time

See merge request idf/esp-idf!3963
2019-01-02 11:56:15 +08:00
Anurag Kar
a6f18bda47 https_server : add extern C directive and other minor changes for C++ support
Closes https://github.com/espressif/esp-idf/issues/2887
2018-12-31 15:12:42 +05:30
Jiang Jiang Jian
6ae12d20ab Merge branch 'doc/btdm_modem_sleep_EVED_mode' into 'master'
doc/btdm_modem_sleep_EVED_mode

See merge request idf/esp-idf!4017
2018-12-29 10:27:28 +08:00
Jiang Jiang Jian
529ba78c8c Merge branch 'bugfix/lwip_add_hostname_option_in_dhcp_discover' into 'master'
add hostname option in dhcp discover

See merge request idf/esp-idf!3937
2018-12-28 20:26:11 +08:00
He Yin Ling
610d829ec1 ci: init submodule in assign_test job:
esptool is used by example test, we need to init submodule
2018-12-28 17:40:21 +08:00
Anurag Kar
f5e8e05282 pthread tests : test case added for detach functionality 2018-12-28 14:41:24 +05:30
XiaXiaotian
36c956070b esp32: unforce wifi if receiving beacon with no data buffered in dream
state and reduce force receiving broadcast data time

    1. If receiving beacon which indicates that there is no data buffered,
    do not force to receive WiFi data.
    2. If receiving beacon which indicates that there is broadcast data
    buffered, reduce the time to force receiving broadcast data.
2018-12-28 17:09:45 +08:00
Jiang Jiang Jian
97eecfa1b2 Merge branch 'mesh/bugfix_v3.3_cont' into 'master'
mesh: bugfix

See merge request idf/esp-idf!4009
2018-12-28 14:08:18 +08:00
Anurag Kar
d816578e3a bugfix/pthread : pthread_detach implementation fixed to correctly delete pthread object when invoked after task completion 2018-12-27 18:47:46 +05:30
Tree
68626ed494 component/bt: some miscellaneous modifications for BLE 2018-12-26 20:36:33 +08:00
qiyueixa
e3833999ea mesh: update libs
1. when no parent is found, send probe request via broadcast.
2. fix memory leak caused by the remove announcement being sent is not released when esp_mesh_stop() is called.
3. fix modify IE encrypt after mesh is started.
4. ignore esp_mesh_connect() if mesh automatic reconnection is enabled.
5. fix reason is cleared before vote is done.
2018-12-26 16:10:55 +08:00
Ivan Grokhotkov
1023ff73fb Merge branch 'bugfix/confserver_on_windows' into 'master'
Fix unable to start confserver on windows

See merge request idf/esp-idf!4022
2018-12-25 21:00:39 +08:00
Renz Christian Bagaporo
50fa7c5a89 cmake: fix unable to start confserver on windows 2018-12-23 19:52:58 +08:00
wangmengyang
74eae4b50e component/bt: add more information and description for bluetooth modem sleep
Add remark that "EVED" mode for bluetooth modem sleep is only used for internal test
2018-12-21 19:30:20 +08:00
Angus Gratton
db8bc3eea7 Merge branch 'doc/cmake_branch' into 'master'
Make CMake Getting Started guides version-aware

See merge request idf/esp-idf!3984
2018-12-21 17:36:48 +08:00
Jiang Jiang Jian
1f794cfff1 Merge branch 'mesh/bugfix_v3.3' into 'master'
wifi: fix STAs can not detect disconnection from AP when encrypt transmission is used

See merge request idf/esp-idf!3907
2018-12-21 17:27:11 +08:00
Angus Gratton
88150cb9bb docs: Make Getting Started (CMake) guides version-aware
Also clean up some changes in Chinese CMake guide which were not propagated from the English guide.
2018-12-21 19:13:20 +11:00
Angus Gratton
39dc1b4ff3 doc: cmake: Add description of ESP_PLATFORM variable
Ref: https://github.com/espressif/esp-idf/pull/2601
2018-12-21 19:00:12 +11:00
Angus Gratton
4782aafc4c cmake: Fail CMake if expand_requirements.cmake fails 2018-12-21 18:59:28 +11:00
Angus Gratton
849088d467 cmake: Add ESP_PLATFORM in idf_set_variables() as well
(Handles case where idf.py is not being used.)

Ref https://github.com/espressif/esp-idf/pull/2601
2018-12-21 18:59:28 +11:00
Per Malmberg
25333b59c2 Add ESP_PLATFORM to build environment.
Merges https://github.com/espressif/esp-idf/pull/2601
2018-12-21 18:59:28 +11:00
Ivan Grokhotkov
88dc626fd7 Merge branch 'feature/example_defconfig_ci' into 'master'
ci, examples: use sdkconfig.ci as an extra defaults file, if present

See merge request idf/esp-idf!3934
2018-12-21 12:14:57 +08:00
Ivan Grokhotkov
71c90ac456 Merge branch 'feature/freemodbus_move_rs485_mode_control' into 'master'
examples: freemodbus port serial slave move uart mode settings into example

See merge request idf/esp-idf!3870
2018-12-21 12:13:28 +08:00
Ivan Grokhotkov
1cb65b3e5f Merge branch 'bugfix/bbpll_wakeup_reset_2' into 'master'
soc/rtc: reset another BBPLL related register

See merge request idf/esp-idf!3947
2018-12-21 12:09:18 +08:00
Ivan Grokhotkov
75ef4b2242 Merge branch 'bugfix/ext_ram_bss_align' into 'master'
Fix crash if ext_ram_bss is unaligned length

See merge request idf/esp-idf!4000
2018-12-21 12:06:58 +08:00
Ivan Grokhotkov
cd29cffa20 Merge branch 'bugfix/mdns_crash_when_query' into 'master'
mdns issues when query

See merge request idf/esp-idf!3910
2018-12-21 11:57:56 +08:00
Angus Gratton
16854e1f40 Merge branch 'bugfix/cmake_list_component_config_alphabetically' into 'master'
List menuconfig component config items alphabetically via component name

See merge request idf/esp-idf!3939
2018-12-21 07:50:31 +08:00
Angus Gratton
78487123bf Merge branch 'feature/cut_len_for_header_struct' into 'master'
build: Add trimming PROJECT_VER and PROJECT_NAME vars

See merge request idf/esp-idf!3927
2018-12-21 07:45:22 +08:00
Angus Gratton
aafaf155a8 Merge branch 'bugfix/py_imp_deprecated' into 'master'
Fix Python3 deprecation warning for the imp module & run multi-device tests only under Python 2

See merge request idf/esp-idf!3972
2018-12-21 07:44:22 +08:00
Renz Christian Bagaporo
7254476acb docs: list kconfig components alphabetically via component name 2018-12-20 19:57:46 +08:00
Roland Dobai
0ad452e7b7 ci: Multi-device tests cannot run under Python 3 2018-12-20 12:44:33 +01:00
Roland Dobai
4ca2b149e5 examples, tools: Fix Python3 deprecation warning for the imp module 2018-12-20 12:44:33 +01:00
Renz Christian Bagaporo
16c88bf320 cmake: list items in component config via alphabetical component name 2018-12-20 19:08:00 +08:00
Renz Christian Bagaporo
d3799c8682 mbedtls: fix unix makefile build on windows command line 2018-12-20 18:23:55 +08:00
Hrishikesh Dhayagude
11a5fb8ab6 components/bt: Remove warnings in btc_gatts_arg_deep_copy() that are confusing
Fixes: https://github.com/espressif/esp-idf/issues/2811

The warning print "NULL value" is only kept for event
BTC_GATTS_ACT_SET_ATTR_VALUE as this can be useful in case user forgets
to set attribute value

Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-12-20 14:20:56 +05:30
Jiang Jiang Jian
65142bc59e Merge branch 'bugfix/btdm_configure_ssp_in_menuconfig' into 'master'
components/bt: Configure SSP in menuconfig and fix two bugs

See merge request idf/esp-idf!3892
2018-12-20 15:31:08 +08:00
Ivan Grokhotkov
e2fbee9f9f Merge branch 'docs/watchpoints_config_gdbinit' into 'master'
docs: Adds watchpoints limit configuration to example gdbinit

See merge request idf/esp-idf!3502
2018-12-20 15:13:56 +08:00
Jiang Jiang Jian
f8910cecce Merge branch 'bugfix/btdm_fix_crash_adv_scan_coex' into 'master'
component/bt: fix crash when adv and scan coex and optimize duplicate scan

See merge request idf/esp-idf!3975
2018-12-20 14:59:20 +08:00
Alexey Gerenkov
3dcc0ae908 docs: Adds watchpoints limit configuration to example gdbinit
Closes https://github.com/espressif/esp-idf/issues/2335
2018-12-20 06:09:23 +00:00
qiyueixa
ed8c5a18cb mesh: update libs
1. fix STAs can not detect disconnection from AP when encrypt transmission is used.
2. fix can not find hidden APs.
3. for root, modify the active scan time to 120ms.
4. remove all rc when clear parent Wi-Fi configuration.
5. fix error in checking Wi-Fi commit ID.
2018-12-20 12:11:30 +08:00
baohongde
d601ed8023 components/bt: Fix two bugs about pairing
1. Fix Legacy Pairing failed without remote device name
2. Fix discovery no device after disabling SSP
2018-12-20 11:10:52 +08:00
baohongde
9c48528fcc components/bt: Configure SSP in menuconfig 2018-12-20 11:10:27 +08:00
Angus Gratton
7b13308549 Merge branch 'feature/pystyle_tools' into 'master'
tools: Fix the Python coding style

See merge request idf/esp-idf!3901
2018-12-20 10:36:01 +08:00
Angus Gratton
e1a1c7f17c psram: Use 8-bit type for _ext_ram_bss_start/_ext_ram_bss_end
Fixes pointer arithmetic when printing size of remaining heap
2018-12-20 01:40:05 +00:00
Angus Gratton
b1f3586f7e multi_heap: Fix bug when start of heap is unaligned
Alignment was accounted for in one place only.

TW27954
2018-12-20 01:40:05 +00:00
Angus Gratton
db243d092c linker external bss: Align end of ext bss to word boundary
TW27954
2018-12-20 01:40:05 +00:00
Angus Gratton
ee7b660163 Merge branch 'bugfix/windows_install_prerequisites_idf_path' into 'master'
windows_install_prerequisites: Fix bug if IDF_PATH is not set

See merge request idf/esp-idf!3874
2018-12-20 09:19:03 +08:00
Jiang Jiang Jian
14d7a63459 Merge branch 'bugfix/wifi_rx_fail' into 'master'
wifi: fix wifi rx fails

See merge request idf/esp-idf!3976
2018-12-19 19:12:36 +08:00
Roland Dobai
bfa9610f58 tools: Fix the Python coding style 2018-12-19 11:56:24 +01:00
aleks
5379c941b8 examples: freemodbus port serial slave move uart mode settings into example
Update freemodbus component file esp-idf/components/freemodbus/port/portserial.c to remove UART mode settings;
Move UART mode settings into esp-idf/examples/protocols/modbus_slave/main/freemodbus.c
Move UART pin settings from Component config into example Kconfig.projbuild file
Move setup of UART port pins from freemodbus component into example file

TW#27721
Closes https://github.com/espressif/esp-idf/issues/2784#issuecomment-443600157
2018-12-19 08:03:18 +00:00
Angus Gratton
d453cce1b3 Merge branch 'bugfix/individual_custom_sections' into 'master'
linker: When using section type attributes, create unique sections

See merge request idf/esp-idf!3920
2018-12-19 15:18:26 +08:00
Angus Gratton
fe71ec413d Merge branch 'feature/app_rollback_example' into 'master'
example: App rollback example

See merge request idf/esp-idf!3561
2018-12-19 14:41:54 +08:00
Angus Gratton
ad200227d2 Merge branch 'feature/add_rollback_flags' into 'master'
bootloader/app_update: Add a support of an app rollback.

See merge request idf/esp-idf!3547
2018-12-19 14:28:11 +08:00
Angus Gratton
769bd4a4af linker: When using section type attributes, create unique sections
* Prevents section type conflict errors if (say) const & non-const data
  is put into the same section (ie with DRAM_ATTR)

* Allows linker --gc-sections to remove unused custom sections
2018-12-19 04:42:04 +00:00
Angus Gratton
6dba472678 Merge branch 'bugfix/unit_test_keep_serial_port_open' into 'master'
unit test: Keep serial port open when running esptool

See merge request idf/esp-idf!3889
2018-12-19 07:06:17 +08:00
qiyueixa
2b83460814 wifi: fix wifi rx fails
1. add MAC reset.
2. update libphy.a from 4000 to 4006.
2018-12-18 23:39:54 +08:00
kooho
919a36b6b5 driver(gpio): fixed digital gpio unable hold bug during deep-sleep. 2018-12-18 17:04:12 +08:00
Konstantin Kondrashov
51133083f6 app_update: Add EXCLUDE option
Added two options for PROJECT_NAME and PROJECT_VER variables to exclude them from the firmware image.

Closes: https://github.com/espressif/esp-idf/issues/2803
2018-12-18 15:58:47 +08:00
Konstantin Kondrashov
7b68e346fa build: Fix a warning from git describe
Fixed a fatal message when run `git describe`.
2018-12-18 15:58:22 +08:00
Wang Jia Lin
f58f39e2f0 Merge branch 'bugfix/clear_intr_status_when_init_hwtimer' into 'master'
bugfix(timer_group):  fixed bug that init hw_timer caused cresh after system soft reset

See merge request idf/esp-idf!3945
2018-12-18 15:21:23 +08:00
Angus Gratton
ca3641cdd5 Merge branch 'bugfix/fix_aws_iot_example_root_ca' into 'master'
examples: update default root-ca for aws_iot demos

See merge request idf/esp-idf!3929
2018-12-18 14:47:44 +08:00
InfiniteYuan1
0fa31d3e31 bugfix(simple_ota): Compatible with V3.1 and V3.2 2018-12-18 14:41:12 +08:00
Mahavir Jain
9a9a319207 examples: update default root-ca for aws_iot demos 2018-12-18 11:05:16 +05:30
Paul Abbott
be567d3eb5 driver(rmt): Fixed some RMT related issues.
1. Add missing get function to RMT API: rmt_get_idle_level().
2. Suppress error message from rmt_wait_tx_done() if wait_time==0 (allows for polling).
3. Remove the blank lines between parameter lists.

Merges https://github.com/espressif/esp-idf/pull/2666
2018-12-18 13:32:39 +08:00
Angus Gratton
42dcdecce2 Merge branch 'doc/network' into 'master'
docs: Rearrange wifi & ethernet docs under "Networking", add tcpip_adapter docs

See merge request idf/esp-idf!3890
2018-12-18 13:15:05 +08:00
kooho
e22c0cce45 driver(timer_group): fixed bug that init hw_timer caused cresh after system soft reset
closes https://github.com/espressif/esp-idf/issues/2756
2018-12-18 13:10:15 +08:00
Angus Gratton
3d03c2b7fd doc zh_CN: Remove redundant --branch feature/cmake
Forgot to remove when updating the English version.

Closes https://github.com/espressif/esp-idf/issues/2834
2018-12-18 15:51:37 +11:00
Jiang Jiang Jian
1607812fef Merge branch 'bugfix/btdm_fix_receive_adv_pkt_when_duplicate_scan_enabled' into 'master'
Component/bt: fix receive adv pkt when enable duplicate scan

See merge request idf/esp-idf!3783
2018-12-18 11:44:38 +08:00
Jiang Jiang Jian
fd520a94d7 Merge branch 'bugfix/tw27963_fix_wifi_stop_bug' into 'master'
esp32: fix WiFi stop bug in WiFi/BT coexist mode

See merge request idf/esp-idf!3979
2018-12-18 11:40:28 +08:00
Jiang Jiang Jian
9eb2287729 Merge branch 'bugfix/btdm_prevent_light_sleep' into 'master'
bugfix/btdm_prevent_light_sleep

See merge request idf/esp-idf!3980
2018-12-18 11:34:50 +08:00
Angus Gratton
b3249d56f3 unit tests: Fix retrying with a new baud rate in IDFDUT.start_app() 2018-12-18 14:09:29 +11:00
Angus Gratton
f6e857c2b9 unit tests: Keep serial port open when running esptool
* Call esptool directly not via subprocess
* Use the same serial port instance for listener thread and esptool
* Includes some refactoring for encapsulation of App vs DUT members
2018-12-18 14:09:29 +11:00
Angus Gratton
0a27cfa850 unit_test.py: Allow importing tiny-test-fw from IDF_PATH as well as TEST_FW_PATH 2018-12-18 14:09:05 +11:00
Angus Gratton
9a08e49ca9 tcpip_adapter: Rename DHCP option types to include DHCP in the type name 2018-12-18 14:07:43 +11:00
Angus Gratton
ede47ed33a tcpip_adapter: Update header descriptions, constify some parameters 2018-12-18 14:07:43 +11:00
Angus Gratton
b240a181b7 docs: Add option to redirect documentation pages which have moved 2018-12-18 14:07:43 +11:00
Angus Gratton
d8b625a32c Merge branch 'feature/pystyle_components' into 'master'
components: Correct the Python coding style

See merge request idf/esp-idf!3882
2018-12-18 11:03:03 +08:00
Angus Gratton
15a7ad78f7 Merge branch 'feature/rename_main_instructions' into 'master'
Add instructions on how to rename main component

See merge request idf/esp-idf!3933
2018-12-18 08:08:20 +08:00
Angus Gratton
972cf1b416 Merge branch 'bugfix/ldgen_make_build_regression' into 'master'
Fix 'command not found' error when building on linux with make

See merge request idf/esp-idf!3977
2018-12-18 06:41:23 +08:00
Liu Zhi Fu
b3380b79d1 esp32: fix WiFi stop bug in WiFi/BT coexist mode
This fix includes following changes:
1. Fix the bug that esp_restart()/esp_wifi_stop() sometimes fails in WiFi/BT coexist mode.
2. Add a timer for WiFi stop and stop WiFi forcibly once the timer expires.
2018-12-17 20:33:31 +08:00
wangmengyang
561021e7f7 component/bt: use a pm_lock to prevent light sleep when bluetooth is enabled due to current imcompatibility 2018-12-17 19:54:57 +08:00
David Cermak
6bb68a5a75 mdns: fixed static memory leak 2018-12-17 12:09:23 +01:00
David Cermak
c8cb4cd3c8 mdns: check all mallocs for failure and add default hook to log error with free heap
solves crash about _mdns_result_txt_create when stress test
2018-12-17 12:09:11 +01:00
zhiweijian
05e84cad1e Component/bt: fix receive adv pkt when enable duplicate scan 2018-12-17 15:49:04 +08:00
Roland Dobai
e1e6c1ae0a components: Correct the Python coding style 2018-12-17 07:52:38 +01:00
Renz Christian Bagaporo
911d2352ac ci: detect command not found build errors 2018-12-17 14:04:49 +08:00
Renz Christian Bagaporo
af5cff0589 cmake: fix regression with linux make builds
Closes https://github.com/espressif/esp-idf/issues/2839
2018-12-17 14:04:49 +08:00
Angus Gratton
c69907a54b Merge branch 'bugfix/ota_magic_byte_issue' into 'master'
bugfix/ota_magic_byte_issue: Fixes OTA magic byte error

See merge request idf/esp-idf!3936
2018-12-17 13:19:44 +08:00
Angus Gratton
778b7b1f5f Merge branch 'bugfix/does_my_chip_have_vref_in_efuse' into 'master'
Update information on ADC's eFuse Vref. Inspired by https://esp32.com/viewtopic.php?f=12&t=6832.

See merge request idf/esp-idf!3931
2018-12-17 13:18:32 +08:00
Krzysztof Budzynski
e53f701577 Update information on ADC's eFuse Vref. Inspired by https://esp32.com/viewtopic.php?f=12&t=6832. 2018-12-17 13:18:32 +08:00
Angus Gratton
480fb72b46 Merge branch 'bugfix/prov_example_tests' into 'master'
Fix provisioning example tests

See merge request idf/esp-idf!3667
2018-12-17 13:06:44 +08:00
Supreet Deshpande
1d4bb7cc4d bugfix/ota_magic_byte_issue: Fix indent and replace constant by macro
Replace 0xE9 by ESP_IMAGE_HEADER_MAGIC.
2018-12-17 09:56:18 +05:30
Ivan Grokhotkov
3f850f1888 Merge branch 'doc/translation_establish-serial-connection_wangfang' into 'master'
Doc/translation establish serial connection wangfang

See merge request idf/esp-idf!3731
2018-12-17 11:49:35 +08:00
Wang Fang
e7bc89774d Doc/translation establish serial connection wangfang 2018-12-17 11:49:35 +08:00
zwj
90a451c181 fix crash when adv and scan coex and optimize duplicate scan 2018-12-17 11:40:50 +08:00
Angus Gratton
6a4955ef74 doc: Rearrange wifi & ethernet docs into a common "network" doc 2018-12-17 14:18:09 +11:00
Jiang Jiang Jian
5436be94b6 Merge branch 'bugfix/btdm_assert_ble_65536' into 'master'
fix bug that there's very low ratio to cause BLE assert(65536, 0) in rwble.c at line 222

See merge request idf/esp-idf!3966
2018-12-14 20:29:04 +08:00
Ivan Grokhotkov
da2116f55c Merge branch 'bugfix/build_system_test_fixes_windows' into 'master'
Various fixes for build tests on Windows

See merge request idf/esp-idf!3944
2018-12-14 20:19:51 +08:00
Tian Hao
1a4fa06125 fix bug that there's very low ratio to cause BLE assert(65536, 0) in rwble.c at line 222 2018-12-14 17:38:52 +08:00
Jiang Jiang Jian
6cb37ecc57 Merge branch 'bugfix/btdm_modem_sleep_cowork_with_DFS' into 'master'
bugfix/btdm_modem_sleep_cowork_with_DFS

See merge request idf/esp-idf!3797
2018-12-14 14:03:56 +08:00
wangmengyang
b4299433bd component/bt: add DRAM_ATTR attribute to global variables(bss segment) in bt.c which can be accessed in ISR 2018-12-14 11:29:00 +08:00
Jiang Jiang Jian
bc30569842 Merge branch 'bufix/btdm_fix_save_key_when_auth_mode_without_bond' into 'master'
Component/bt: fix save keys when auth mode without bond

See merge request idf/esp-idf!3782
2018-12-14 10:35:14 +08:00
Renz Christian Bagaporo
d3938c8a66 ldgen: fix issue when not built in msys2
Closes https://github.com/espressif/esp-idf/issues/2812
2018-12-13 20:44:29 +08:00
Renz Christian Bagaporo
72cd1ac43f mbedtls: fix issue with non idf.py build on windows 2018-12-13 20:44:29 +08:00
Renz Christian Bagaporo
5d6e21795b tools: fix makefile converter windows path issue 2018-12-13 18:20:51 +08:00
Renz Christian Bagaporo
5511541d20 ci: fix build test with IDF_PATH unset on Windows 2018-12-13 18:20:51 +08:00
Jiang Jiang Jian
58a200e70c Merge branch 'bugfix/btdm_fix_auth_mode_error_when_reconnection_in_smp' into 'master'
Component/bt: fix auth_mode error when reconnection in SMP

See merge request idf/esp-idf!3856
2018-12-13 17:04:12 +08:00
zhiweijian
7c6211fe45 Component/bt: fix save keys when auth mode without bond 2018-12-13 15:43:31 +08:00
Jiang Jiang Jian
dc194b565d Merge branch 'docs/btdm_ble_ibeacon_example' into 'master'
docs: refactor BLE iBeacon demo readme

See merge request idf/esp-idf!2905
2018-12-13 15:31:30 +08:00
Jiang Jiang Jian
ded4efced1 Merge branch 'doc/add_coap_readme' into 'master'
doc: add CoAP README.md

See merge request idf/esp-idf!2643
2018-12-13 15:22:50 +08:00
Xia Xiaotian
c03f84cecf add hostname option in dhcp discover
Hostname option has been removed from dhcp discover since IDFv3.2.
But it remains in dhcp request due to which ESP32 can not get IPv4 address
from some APs. Re-add hostname option to dhcp discover to solve this issue.
2018-12-13 07:05:46 +00:00
Jiang Jiang Jian
d75ab3208f Merge branch 'test/add_case_to_detect_ds2ds_issue' into 'master'
test: add case to detect ds2ds issue

See merge request idf/esp-idf!3834
2018-12-13 14:49:30 +08:00
Anurag Kar
66a9762b2a esp_prov : python coding style fixed as per conventions 2018-12-13 11:03:43 +05:30
Anurag Kar
5e0d222188 esp_prov : Added config option for enabling exception throw from within APIs
Example tests updated to enable exception throwing feature of esp_prov
2018-12-13 11:01:33 +05:30
Anurag Kar
3fe8065b7f provisioning : tweak example test timeouts to reduce failures 2018-12-13 11:01:33 +05:30
Anton Maklakov
647145a734 Merge branch 'bugfix/gcc8_compatibility' into 'master'
Support for GCC8 compatibility - 2

See merge request idf/esp-idf!3677
2018-12-13 12:57:00 +08:00
Anton Maklakov
f88f06710e example: Avoid a fallthrough 2018-12-13 12:29:27 +08:00
Anton Maklakov
240c343805 cmake: Put a variable to the cache to have access one in other cmake files 2018-12-13 12:29:27 +08:00
Anton Maklakov
eb13758d1a example: Fix unused identifier warnings 2018-12-13 12:29:27 +08:00
Anton Maklakov
5e6509232e example: Fix a truncation warning 2018-12-13 12:29:27 +08:00
Jiang Jiang Jian
bfd22a24da Merge branch 'bugfix/btdm_fix_accept_specified_sec_auth' into 'master'
Component/bt: fix accept specified sec auth error

See merge request idf/esp-idf!3770
2018-12-13 11:19:53 +08:00
Anton Maklakov
df20a39faf Merge branch 'bugfix/idf_monitor_without_toolchain' into 'master'
tools: Print useful error message from idf_monitor when toolchain isn't available

See merge request idf/esp-idf!3862
2018-12-12 16:20:14 +08:00
Roland Dobai
b0a43f07d9 tools: Print useful error message from idf_monitor when toolchain isn't available 2018-12-12 08:22:45 +01:00
Ivan Grokhotkov
0cf8d1380e soc/rtc: reset another BBPLL related register
Follow-up to b21ffc8a: an additional register needs to be reset.

Ref. https://github.com/espressif/esp-idf/issues/2711
2018-12-12 12:24:48 +08:00
David Cermak
a6b2b73f03 mdns: resolve memory leak when txt record received multiple times 2018-12-11 21:59:44 +01:00
David Cermak
31163f02d5 mdns: skip sending search when finished, not properly locked timer task 2018-12-11 21:56:01 +01:00
wangmengyang
59f34461d7 component/bt: bugfix of bluetooth modem sleep not being able to work with Dynamic Frequency Scaling
1. start an esp_timer on entering sleep to acquire pm_lock before wake up from modem sleep
2. decrease the clock division of XTAL fed to bluetooth low power clock from 32us to 2us period to allow to work under 240MHz Max CPU frequency
3. decrease the minimum sleep duration threshold to allow shorter bluetooth modem sleep period, especially for BLE with short connection interval
4. reconfigure bluetooth baseband(BT-BB) settings after PHY/RF init upon waking up from modem sleep to avoid packet RX/TX performance degradation
2018-12-11 16:49:01 +08:00
Konstantin Kondrashov
cf6b79581b example: Add a support of an app rollback 2018-12-11 11:58:42 +08:00
Konstantin Kondrashov
dde1fd9b94 bootloader: Add support flags for rollback app
Added
* Set actual ota_seq if both ota are init or incorrect.
* Description of rollback
* UT tests

Closes TW15459
2018-12-11 11:54:21 +08:00
Konstantin Kondrashov
c0f5e58bdc build: Add trimming PROJECT_VER and PROJECT_NAME vars 2018-12-11 11:23:53 +08:00
Ivan Grokhotkov
1e20664952 Merge branch 'bugfix/issues_from_github' into 'master'
Docs: Minor PRs from GitHub

See merge request idf/esp-idf!3930
2018-12-11 11:22:33 +08:00
Noeël Moeskops
19cf1bb7db Typo fix in mqtt.rst.
changed 'defalut' to 'default'

Merges https://github.com/espressif/esp-idf/pull/2780
2018-12-10 19:13:01 +01:00
Stephen Bird
bb4936b4d5 Add missing dependency.
Merges https://github.com/espressif/esp-idf/pull/2781
2018-12-10 19:12:46 +01:00
Supreet Deshpande
55d5ee1e79 bugfix/ota_magic_byte_issue: Fixes OTA magic byte error
On enabling flash encryption, OTA fails with magic byte error in the second chunk
if the http data is split into two or more chunks and first chunk is less than 16.
2018-12-10 17:16:38 +05:30
Ivan Grokhotkov
230147a169 Merge branch 'bugfix/nvs_test_compile_err' into 'master'
nvs_flash: Fix compilation of host testcases when g++-8.x is used.

See merge request idf/esp-idf!3699
2018-12-10 17:42:43 +08:00
Ivan Grokhotkov
7ecdb1bb27 ci, examples: use sdkconfig.ci as an extra defaults file, if present
- Allows placing CI-specific settings into sdkconfig.ci file
- Allows substituting environment variables in sdkconfig.ci
2018-12-10 16:29:24 +08:00
Anton Maklakov
4d898b4655 Merge branch 'bugfix/extra_cflags' into 'master'
cmake: add EXTRA_CFLAGS and clean warnings

See merge request idf/esp-idf!3805
2018-12-10 13:28:12 +08:00
Anton Maklakov
81bf07ed4d test: Fix some unused identifier warnings 2018-12-10 12:34:16 +08:00
Anton Maklakov
0652a4b714 ci: Use more pedantic checking for examples and ut 2018-12-10 12:34:16 +08:00
Anton Maklakov
ac18b1024a cmake: Add support for EXTRA_CFLAGS and EXTRA_CXXFLAGS 2018-12-10 12:34:16 +08:00
Renz Christian Bagaporo
fd44580e52 docs: add section on renaming main component 2018-12-10 12:30:08 +08:00
Ivan Grokhotkov
26a6b3b243 Merge branch 'feature/unity_set_test_from_gdb' into 'master'
unity: add a hook to run test from gdb session

See merge request idf/esp-idf!3916
2018-12-10 12:25:39 +08:00
Ivan Grokhotkov
23b6d40c53 Merge branch 'feature/illegal_instruction_panic_info' into 'master'
panic: dump some instruction memory on IllegalInstruction exception

See merge request idf/esp-idf!3924
2018-12-10 12:24:26 +08:00
Wang Jia Lin
d2729840e0 Merge branch 'doc/i2s_example_doc_improve' into 'master'
doc(i2s): update README.md file of i2s related examples.

See merge request idf/esp-idf!2664
2018-12-10 11:23:11 +08:00
hou wen xiang
67d95c609b doc(i2s): update README.md file of i2s related examples. 2018-12-10 10:33:41 +08:00
Sagar Bijwe
fc37dc1944 nvs_flash: Fix compilation of host testcases when g++-8.x is used.
When std::bind is used, it requires inclusion of <functional> header.
This was not mandatory with earlier versions of g++ (4.x), may be because they
had experimental support for c++11.
2018-12-07 09:40:45 +00:00
Ivan Grokhotkov
04c511c9b5 panic: dump some instruction memory on IllegalInstruction exception 2018-12-07 16:50:00 +08:00
Ivan Grokhotkov
646d36c728 Merge branch 'feature/nmea-parser' into 'master'
NMEA0183 Parser

See merge request idf/esp-idf!3866
2018-12-07 14:32:04 +08:00
Ivan Grokhotkov
6c868c4bee Merge branch 'bugfix/bbpll_wakeup_reset' into 'master'
soc/rtc: reset BBPLL config when enabling it

See merge request idf/esp-idf!3911
2018-12-07 14:21:59 +08:00
Ivan Grokhotkov
8b885fb935 Merge branch 'docs/add_note_for_ulp_set_wakeup_period' into 'master'
ulp: add note regarding limitation of ulp_set_wakeup_period in deep sleep mode

See merge request idf/esp-idf!3796
2018-12-07 14:07:14 +08:00
Ivan Grokhotkov
def2a13297 Merge branch 'bugfix/app_version' into 'master'
app_update: Fix esp_app_desc unused var for Cmake

See merge request idf/esp-idf!3891
2018-12-07 14:06:17 +08:00
Ivan Grokhotkov
423d7b9a65 Merge branch 'bugfix/sysview_cache_err' into 'master'
app_trace: linker fragment fixes

See merge request idf/esp-idf!3835
2018-12-07 14:04:28 +08:00
Ivan Grokhotkov
893cb83343 Merge branch 'bugfix/vfs_unregister_nested' into 'master'
vfs: fix unregister removing top level VFS instead of nested

See merge request idf/esp-idf!3917
2018-12-07 14:03:34 +08:00
Ivan Grokhotkov
4e77efc36b Merge branch 'bugfix/clang_compatibility' into 'master'
clang compatibility fixes

See merge request idf/esp-idf!3912
2018-12-07 14:03:05 +08:00
Jiang Jiang Jian
b1630084d1 Merge branch 'bugfix/btdm_assert_ble_32768' into 'master'
fix bug that there's very low ratio to cause BLE assert(32768, 0) in rwble.c at line 222

See merge request idf/esp-idf!3915
2018-12-07 13:54:11 +08:00
Konstantin Kondrashov
d4cb14bc65 app_update: Fix esp_app_desc unused var for Cmake 2018-12-07 12:04:40 +08:00
morris
8b7b5821c7 example: add nmea0183 parser example
Add NMEA0183 Parser example to illustrate how to use uart event driver together with esp event library to get GPS information.
2018-12-07 10:57:34 +08:00
Angus Gratton
aae955d1ae Merge branch 'docs/mesh_channel_switch' into 'master'
docs: Add documentation about ESP-MESH channel switching and self organized behavior

See merge request idf/esp-idf!3854
2018-12-07 09:24:51 +08:00
Angus Gratton
560e92b101 Merge branch 'feature/pystyle_examples' into 'master'
examples: Fix Python coding style

See merge request idf/esp-idf!3881
2018-12-07 09:12:56 +08:00
Anton Maklakov
e224b8a43a Merge branch 'bugfix/ci_tag_for_cmake_linter' into 'master'
ci: A small CI stabilizing fix

See merge request idf/esp-idf!3801
2018-12-07 02:39:51 +08:00
Anton Maklakov
3c8a2a099a ci: Fix the choice of runner for the CMake verification, and change .check_job_template tag to host_test 2018-12-07 00:52:20 +08:00
Anton Maklakov
812a49bd0d Merge branch 'bugfix/shell_exit' into 'master'
scripts: Fix shell exit

See merge request idf/esp-idf!3908
2018-12-07 00:49:52 +08:00
Ivan Grokhotkov
61beb16225 vfs: fix unregister removing top level VFS instead of nested
Credits @neoniousTR.

Fixes https://github.com/espressif/esp-idf/pull/2770
2018-12-06 19:43:49 +08:00
Ivan Grokhotkov
a646ea7993 unity: add a hook to run test from gdb session 2018-12-06 19:37:51 +08:00
Tian Hao
357f2264e6 fix bug that there's very low ratio to cause BLE assert(32768, 0) in rwble.c at line 222 2018-12-06 16:54:14 +08:00
Roland Dobai
57c54f96f1 examples: Fix Python coding style 2018-12-06 09:34:33 +01:00
Ivan Grokhotkov
3150920cb4 heap: __builtin_return_address argument has to be a literal value
Clang does not accept const int as an argument of __builtin_return_address.

Ref LLVM-14
2018-12-06 16:14:14 +08:00
Ivan Grokhotkov
94f2dd27d4 examples/console: don’t use raw string literals in C code
Raw string literals are a C++ feature, and GCC supports them for C as
an extension. Clang doesn’t support them.

Ref LLVM-11
2018-12-06 16:14:14 +08:00
Ivan Grokhotkov
271a2e8e97 console, ulp: don’t use nested functions
These are not supported by clang

Ref LLVM-12
2018-12-06 16:12:47 +08:00
Wang Jia Lin
a36d714d1a Merge branch 'doc/adc_example_doc_improve' into 'master'
doc(adc): Update README.md file of adc example.

See merge request idf/esp-idf!2665
2018-12-06 15:22:50 +08:00
Wang Jia Lin
cbaa4ade42 Merge branch 'doc/pcnt_example_doc_improve' into 'master'
doc(pcnt): Update pcnt example README.md file.

See merge request idf/esp-idf!2666
2018-12-06 15:20:46 +08:00
Ivan Grokhotkov
b21ffc8a0c soc/rtc: reset BBPLL configuration after enabling it
A workaround to reset BBPLL configuration after light sleep. Fixes the
issue that Wi-Fi can not receive packets after waking up from light
sleep.

Ref. https://github.com/espressif/esp-idf/issues/2711
2018-12-06 14:43:24 +08:00
Angus Gratton
8c7a6be627 Merge branch 'bugfix/ldgen_make_escaping' into 'master'
make/ldgen: Fix generation of ldgen.section_infos file when shell is bash

See merge request idf/esp-idf!3893
2018-12-06 13:27:36 +08:00
Angus Gratton
54532c6189 build example tests: Use portable "sed -i" form 2018-12-06 15:28:18 +11:00
Angus Gratton
8ab2f20c3a ldgen make: Use "sed -E" for extended POSIX regular expression syntax w/ BSD sed 2018-12-06 15:28:18 +11:00
hou wen xiang
8e9359b4fd doc(adc): Update README.md file of adc example. 2018-12-06 12:20:29 +08:00
hou wen xiang
062c64fca0 doc(pcnt): Update pcnt example README.md file. 2018-12-06 12:16:45 +08:00
Angus Gratton
ef4a4105f4 make/ldgen: Fix generation of ldgen.section_infos file when shell is bash
bash doesn't escape by default from "echo", so use "printf"

Closes https://github.com/espressif/esp-idf/pull/2797
Closes https://github.com/espressif/esp-idf/issues/2796
2018-12-06 10:20:35 +11:00
Angus Gratton
ff71ea9202 Merge branch 'bugfix/win_path_print' into 'master'
tools: correct printed path on MS Win

See merge request idf/esp-idf!3853
2018-12-06 07:18:32 +08:00
Anton Maklakov
34109c4171 scripts: Fix shell exit. Really exit from current process, not from child process 2018-12-05 21:25:16 +08:00
Angus Gratton
97a3617a27 Merge branch 'bugfix/docs_pystyle' into 'master'
docs: Correct Python coding style

See merge request idf/esp-idf!3859
2018-12-05 17:43:20 +08:00
Angus Gratton
f1b4c18c2a Merge branch 'bugfix/idfpy_monitor_msys' into 'master'
tools: fix idf.py monitor for MSYS

Closes #51

See merge request idf/esp-idf!3839
2018-12-05 17:39:36 +08:00
Jiang Jiang Jian
d3b3f1e4a3 Merge branch 'bugfix/ethernet_enable_second_failure' into 'master'
fix ethernet phy init timeout

See merge request idf/esp-idf!3879
2018-12-05 16:12:19 +08:00
Angus Gratton
9f8587360c ldgen: Fix crash if --sections argument not supplied 2018-12-05 18:29:28 +11:00
Roland Dobai
b56ed1a99e docs: Correct Python coding style 2018-12-05 08:22:33 +01:00
Roland Dobai
4749b118bc tools: fix idf.py monitor for MSYS 2018-12-05 07:52:25 +01:00
Jiang Jiang Jian
eb27686416 Merge branch 'bugfix/btdm_bugs_caused_by_coex' into 'master'
component/bt and esp32:  fix two bluetooth bugs that caused by coexist module

See merge request idf/esp-idf!3860
2018-12-05 14:17:14 +08:00
Ivan Grokhotkov
e92e028679 Merge branch 'feature/sdio_example_gpio_doc' into 'master'
Enhanced readability in README.md (port from Github PR)

See merge request idf/esp-idf!3883
2018-12-05 13:46:33 +08:00
Ivan Grokhotkov
37975c186d Merge branch 'feature/pthread_name_affinity_config' into 'master'
pthread: make affinity and task name configurable

See merge request idf/esp-idf!3878
2018-12-05 13:46:05 +08:00
Ivan Grokhotkov
e04fd42176 Merge branch 'feature/refactoring_ota_part' into 'master'
bootloader/app_update: Refactoring otadata part

See merge request idf/esp-idf!3544
2018-12-05 12:59:34 +08:00
Angus Gratton
d50af8bd53 Merge branch 'bugfix/no_tests_for_unit_test_example' into 'master'
cmake: fix error in converting project variables to namespaced ones

See merge request idf/esp-idf!3887
2018-12-05 12:58:42 +08:00
Angus Gratton
36be9b36dd Merge branch 'bugfix/fix_menuconfig_for_windows' into 'master'
Fix various errors for menuconfig on Windows

Closes #50

See merge request idf/esp-idf!3848
2018-12-05 11:34:49 +08:00
Konstantin Kondrashov
f9522a0eb6 bootloader app_update: Refactoring otadata part 2018-12-05 11:20:03 +08:00
Ivan Grokhotkov
8a7b46aa90 Merge branch 'feature/anti_rollback_exp' into 'master'
esp32: Add firmware version to app

See merge request idf/esp-idf!3461
2018-12-05 11:10:04 +08:00
Renz Christian Bagaporo
b11238df4d ci: add test for setting EXTRA_COMPONENT_DIRS 2018-12-05 10:51:10 +08:00
Renz Christian Bagaporo
0d5660fbde cmake: fix error in converting project variables to namespaced ones
Closes https://github.com/espressif/esp-idf/issues/2764
2018-12-05 10:51:10 +08:00
Angus Gratton
794155f975 Merge branch 'doc/security_features_small_fixes' into 'master'
doc: Small secure boot & flash encryption corrections

See merge request idf/esp-idf!3876
2018-12-05 09:03:30 +08:00
Angus Gratton
a2d0fbb9ab docs: flash encryption: Fix description of behaviour when all bits of FLASH_CRYPT_CNT are set
Correct behaviour is described in section 25.3.3 Flash Decryption Block of the ESP32 TRM
2018-12-05 11:15:00 +11:00
Angus Gratton
441e2d5011 Merge branch 'bugfix/register_structs_stdint' into 'master'
soc: Add "#include <stdint.h>" to all register structs

See merge request idf/esp-idf!3875
2018-12-05 08:05:56 +08:00
Anton Maklakov
deaecf164d make: fix unexpected operator warning 2018-12-05 07:54:59 +08:00
Renz Christian Bagaporo
d411175e47 mbedtls, cmake: set host as unix when building in msys 2018-12-05 07:54:59 +08:00
Renz Christian Bagaporo
50d7067391 cmake: fix mconf path for existing mconf
Fixes https://github.com/espressif/esp-idf/issues/2771
Fixes https://github.com/espressif/esp-idf/issues/2722
2018-12-05 07:54:59 +08:00
ThisNameIsNotAllowed
b12c58224d Enhanced readability in README.md
Changed text based GPIO-list to some table based version.
This should enhance the readability.

Resolves https://github.com/espressif/esp-idf/pull/2749
2018-12-04 21:20:32 +08:00
zhiweijian
5c5799fa51 Component/bt: fix auth_mode error when reconnection in SMP 2018-12-04 18:05:25 +08:00
morris
dc043109d7 ethernet: phy init timeout
When ethernet enable again after disable it before, phy init will report timeout.
The cause of this problem is that the enabling of emac clock is too late, and should be placed before phy init.
2018-12-04 17:13:48 +08:00
Jeroen Domburg
d6ee27e313 Merge branch 'feat/spi_check_length_buffer' into 'master'
spi: add checks for slave buffer valid and master length

See merge request idf/esp-idf!3744
2018-12-04 11:48:32 +08:00
Angus Gratton
2b557523ba Merge branch 'bugfix/generic_cmake_gc_sections' into 'master'
generic cmake: Always use gc-sections when linking IDF libraries

See merge request idf/esp-idf!3873
2018-12-04 11:01:51 +08:00
Angus Gratton
2946b5f384 Merge branch 'bugfix/ldgen_cmd_args_too_long' into 'master'
Fix issue with generating linker script using Windows command line

See merge request idf/esp-idf!3865
2018-12-04 10:42:58 +08:00
Angus Gratton
ac1d1aa3c8 doc: secure boot: Explain output of digest_secure_bootloader command
Mentioned on forum https://esp32.com/viewtopic.php?f=13&t=8162&start=10#p34714
2018-12-04 12:34:59 +11:00
Angus Gratton
b45b0f2348 doc: security: Use less ambiguous language about using bot flash encryption & secure boot together 2018-12-04 12:34:38 +11:00
Angus Gratton
7f32995a4c soc: Add "#include <stdint.h>" to all register structs
Closes https://github.com/espressif/esp-idf/issues/2239

TW24912
2018-12-04 11:17:38 +11:00
Angus Gratton
4c8c88af22 windows_install_prerequisites: Fix bug if IDF_PATH is not set
if IDF_PATH is empty, [ -n ] test passes needs to be [ -n "" ]

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

TW27714
2018-12-04 11:02:49 +11:00
Angus Gratton
89826e8f47 generic cmake: Always use gc-sections when linking IDF libraries
Required for some IDF binary libraries

Reported on forum: https://esp32.com/viewtopic.php?f=13&t=7535&p=34863#p34852

TW27733
2018-12-04 10:47:00 +11:00
Tian Hao
a9429ee5da component/bt and esp32: fix two bluetooth bugs that caused by coexist module
1. Fix interrupt watchdog timeout in bluetooth "btdm_bb_isr"
    2. Fix BLE assert(512) or assert(1536)  in rwble.c at line 222
    3. Update librtc.a to fix BLE assert(512) in rwble.c at line 222

    The #1 and #2 occurs random.
    The #3 bug occurs in certain scenario:
    	1. If Wifi start softap and BLE is working
    	2. If wifi start station, but do not use normal station operation, such
    		as just use espnow, while BLE is working
    	3. Any other scenario, that wifi works without use software coexist
    		operation, while BLE is working(such as do advertising and ...)

    4. update libcoexist.a version to v1.1.2
2018-12-03 19:41:43 +08:00
Konstantin Kondrashov
3b9cb25fe1 esp32: Add firmware version to app
Added a new structure esp_app_desc_t. It has info about firmware:
version, secure_version, project_name, time/date build and IDF version.
Added the ability to add a custom structure with a description of the firmware.

The esp_app_desc_t is located in fixed place in start of ROM secotor. It is located after structures esp_image_header_t and esp_image_segment_header_t.

app_version is filed from PROJECT_VER variable (if set in custom make file) or PROJECT_PATH/version.txt or git repo (git describe).

Add API to get app_desc from partition.
2018-12-03 16:52:04 +08:00
Mahavir Jain
588ecaae09 ulp: add note regarding limitation of ulp_set_wakeup_period in deep sleep mode 2018-12-03 11:41:10 +05:30
Renz Christian Bagaporo
a7a1c32a8e cmake, make: fix long cmd line args for ldgen 2018-12-03 12:26:38 +08:00
Angus Gratton
3bc970c5f4 Merge branch 'bugfix/partitions_tools_style_check' into 'master'
Remove parttool exemption from style check

See merge request idf/esp-idf!3847
2018-12-03 12:25:39 +08:00
Darian Leung
674f0b1ebd doc: Add mesh channel switching and self organized networking documentation 2018-12-03 11:57:32 +08:00
Angus Gratton
80e6def4b8 Merge branch 'ci/combine_unit_test_and_integration_test' into 'master'
ci: combine unit_test and integration_test stage

See merge request idf/esp-idf!3792
2018-12-03 11:39:26 +08:00
Angus Gratton
554cf77963 Merge branch 'bugfix/convert_to_cmake' into 'master'
Fix minor issue with convert_to_cmake script

See merge request idf/esp-idf!3666
2018-12-03 11:39:12 +08:00
Angus Gratton
fffa98647b Merge branch 'feature/docs_more_on_shared_pins_of_esp-wrover-kit' into 'master'
Extended information on using pins of ESP-WROVER-KIT that are shared among…

See merge request idf/esp-idf!3841
2018-12-03 07:02:40 +08:00
Angus Gratton
7fa98593bc Merge branch 'feature/docs_hw_reference_cn' into 'master'
Provided translation of 'Hardware Reference' into Chinese

See merge request idf/esp-idf!3555
2018-12-03 07:02:33 +08:00
Krzysztof Budzynski
340e7f3b2f Provided translation of 'Hardware Reference' into Chinese 2018-12-03 07:02:33 +08:00
Jiang Jiang Jian
6bd497f9ed Merge branch 'feature/btdm_ble_full_scan_support' into 'master'
component/bt: Added the ble full scan supported feature.

See merge request idf/esp-idf!3820
2018-11-30 21:53:21 +08:00
Jiang Jiang Jian
e07c5a22f2 Merge branch 'doc/RF_calibration' into 'master'
doc: add documentation for RF calibration

See merge request idf/esp-idf!3828
2018-11-30 21:50:29 +08:00
Jiang Jiang Jian
1cffc90e58 Merge branch 'feature/optimize_wifi_log' into 'master'
wifi: add code for setting wifi log level and module

See merge request idf/esp-idf!3710
2018-11-30 21:42:57 +08:00
Darian Leung
f0e8c068d2 docs: Fix mesh doc line wrapping
This commit fixes mesh doc line wrapping by making every
paragraph into a single line.
2018-11-30 21:13:28 +08:00
yulong
0f3eb977cd component/bt: Added the ble full scan supported feature.
1. Add the full scan swith in the menuconfig;
2. Change the bt lib in order to support ble full scan
2018-11-30 20:48:42 +08:00
Roland Dobai
f7281c75c7 tools: correct the coding style of check_python_dependencies.py 2018-11-30 13:43:28 +01:00
Roland Dobai
98bc172f58 tools: correct printed path on MS Win 2018-11-30 13:43:28 +01:00
Renz Christian Bagaporo
a3b581bd8c parttool: remove exemption from style check 2018-11-30 16:39:55 +08:00
Xia Xiaotian
59761b0fcb doc: add documentation for RF calibration
Add an API to erase phy namespace of NVS
2018-11-30 16:26:56 +08:00
zhangyanjiao
e621e0af8b wifi: add code for setting wifi log level and module 2018-11-30 15:24:22 +08:00
Angus Gratton
7458c1c1e2 Merge branch 'feature/ulp-assembler-version-check' into 'master'
Check assembler version

See merge request idf/esp-idf!3156
2018-11-30 14:57:01 +08:00
Angus Gratton
ed21457afc Merge branch 'doc/ledc_example_doc_improve' into 'master'
doc(ledc): Update LEDC example README.md file

See merge request idf/esp-idf!2673
2018-11-30 14:48:25 +08:00
Angus Gratton
a34a27010b Merge branch 'feature/partition_tools' into 'master'
Partition level tools

See merge request idf/esp-idf!3355
2018-11-30 14:15:51 +08:00
Angus Gratton
c22512d27f Merge branch 'bugfix/ldgen_error_messages' into 'master'
ldgen: Improve error output when linker input is invalid

See merge request idf/esp-idf!3824
2018-11-30 11:15:23 +08:00
Ivan Grokhotkov
ba844caa8a app_trace: fix linker fragment not included in Make build 2018-11-30 11:05:43 +08:00
Ivan Grokhotkov
46a948dafa app_trace: require timer driver to be in IRAM
Closes https://github.com/espressif/esp-idf/issues/2760
2018-11-30 11:05:43 +08:00
Angus Gratton
f845af840f Merge branch 'bugfix/build_fail_on_idf_as_lib' into 'master'
cmake: fix error on building idf as lib when env IDF_PATH is not set

See merge request idf/esp-idf!3832
2018-11-30 10:59:18 +08:00
Angus Gratton
4027a7f2c2 Merge branch 'bugfix/i2c_master_clear_bus' into 'master'
fix i2c_master_clear_bus && add i2c_tool example test

See merge request idf/esp-idf!3509
2018-11-30 10:53:39 +08:00
Angus Gratton
afe4c76b6b Merge branch 'doc/heap_basics' into 'master'
docs: Add some more explanation about heap, memory types

See merge request idf/esp-idf!3810
2018-11-30 10:24:51 +08:00
morris
9163e454f1 example_test: using try block to pass the python style check 2018-11-30 10:13:58 +08:00
Wangjialin
924daf7b84 bugfix(i2c): reduce speed of I2C master bus reset routine and release SDA
closes https://github.com/espressif/esp-idf/issues/2494
closes https://github.com/espressif/esp-idf/pull/2493
closes https://github.com/espressif/esp-idf/pull/2496

1. Change bus reset to handle interrupted READ sequences.
2. Slow down I2C to 100khz during reset
3. If a SLAVE device was in a read operation when the bus was interrupted, the SLAVE device is controlling SDA.The only bit during the 9 clock cycles of a byte READ the MASTER(ESP32) is guaranteed control over, is during the ACK bit period.
If the SLAVE is sending a stream of ZERO bytes, it will only release SDA during the ACK bit period. The master(ESP32) cannot generate a STOP unless SDA is HIGH. So, this reset code synchronizes the bit stream with, Either, the ACK bit, Or a 1 bit.
2018-11-30 10:08:28 +08:00
chuck todd
e55f9c1e98 1. Slow down I2C to 100khz During Reset
I am stealing this delay coding from @jeremyherbert #2493 pr.

2. Change Bus Reset to handle interrupted READ sequences.

The current code does not handle interrupted READ cycles.

 If a SLAVE device was in a read operation when the bus was interrupted, the SLAVE device is controlling SDA.

The only bit during the 9 clock cycles of a byte READ the MASTER(ESP32) is guaranteed control over, is during the ACK bit period.

If the SLAVE is sending a stream of ZERO bytes, it will only release SDA during the ACK bit period. The master(ESP32) cannot generate a STOP unless SDA is HIGH.

So, this reset code synchronizes the bit stream with, Either, the ACK bit, Or a 1 bit.

3. fix typo

correct `sda_id` to `sda_io` in `i2c_master_clear_bus()` @ryan-ma found it.  This typo was generated when I manually edited this patch on GitHub, I should have done a Copy/Paste operation!
2018-11-30 10:08:28 +08:00
jeremy
34c1d25c7f reduce speed of i2c master bus reset routine and release sda 2018-11-30 10:08:28 +08:00
morris
2b165f99c4 i2c_tool: add i2c_tool example test
1. add example test for i2c-tools
2. make command line arguments number configurable
2018-11-30 10:08:28 +08:00
Angus Gratton
98f9a3c316 Merge branch 'bugfix/flake8' into 'master'
Make the flake8 configuration work regardless of installed plugins

See merge request idf/esp-idf!3838
2018-11-30 09:32:43 +08:00
morris
8dc66d3f0f doc: translate part of build-system
Translate the make_size part in build system.
2018-11-30 12:29:38 +11:00
Angus Gratton
a3a1cc080e docs: Add some more explanation about heap, memory types 2018-11-30 12:29:38 +11:00
krzychb
29b1f86f16 Extended information on using pins of ESP-WROVER-KIT that are shared among peripherals. Inspired by https://esp32.com/viewtopic.php?f=12&t=6856. 2018-11-29 16:56:49 +01:00
He Yin Ling
b0154cbf58 unit-test-app: fix the RegEx to detect test case:
tags are not correctly parsed if eol do not contain `\r`
2018-11-29 23:06:16 +08:00
He Yin Ling
5ae3a11c8d tiny-test-fw: fix exception when expect RegEx:
match.groups() could return None. We can't do decode on None object.
2018-11-29 23:06:16 +08:00
He Yin Ling
582e89eca3 test: add test case to receive ds2ds packet 2018-11-29 23:06:16 +08:00
Ivan Grokhotkov
499fdbd33d Merge branch 'feature/fatfs_alloc_extram_option' into 'master'
fatfs: add option to prefer ext. RAM for internal buffers

See merge request idf/esp-idf!3821
2018-11-29 22:59:01 +08:00
He Yin Ling
edff003e72 Merge branch 'test/driver_i2c' into 'master'
add i2c case

See merge request idf/esp-idf!1937
2018-11-29 22:53:06 +08:00
Roland Dobai
a26580d0e8 Make the flake8 configuration work regardless of installed plugins 2018-11-29 15:26:39 +01:00
Ivan Grokhotkov
bbeb62547e fatfs: add option to prefer ext. RAM for internal buffers 2018-11-29 19:26:46 +08:00
Mahavir Jain
907b1a9032 mbedtls: align CMake build with corresponding component.mk 2018-11-29 16:23:06 +05:30
houchenyao
147447b13e test: components/driver: i2c case 2018-11-29 18:27:58 +08:00
Mahavir Jain
a3785792eb tools/ci: add test case for convert_to_cmake script
Following issue was already fixed with earlier commit-id f4cfca4353
Here additional build test case is added and marking issue as closed.

Closes: https://github.com/espressif/esp-idf/issues/2660
2018-11-29 15:15:13 +05:30
Ivan Grokhotkov
56e4c6e5a3 Merge branch 'bugfix/menuconfig_fails_on_cmake' into 'master'
Fix menuconfig fail on cmake

Closes #48

See merge request idf/esp-idf!3826
2018-11-29 16:10:21 +08:00
Renz Christian Bagaporo
ba6058ba58 cmake: fix error on building idf as lib when env IDF_PATH is not set 2018-11-29 15:40:16 +08:00
He Yin Ling
add7c49a26 Merge branch 'test/driver_i2s' into 'master'
component/driver:add i2s case

See merge request idf/esp-idf!2117
2018-11-29 14:41:09 +08:00
Renz Christian Bagaporo
da1f3ea12a kconfig: pass env variable to menuconfig invocation 2018-11-29 13:22:10 +08:00
Renz Christian Bagaporo
a2f63c09bf make, ldgen: remove uncessary passed target env variable 2018-11-29 13:21:31 +08:00
Renz Christian Bagaporo
f6375952bb kconfig: specify full path of built mconf 2018-11-29 13:16:13 +08:00
Wang Jia Lin
62cc522f36 Merge branch 'feature/rmt_add_api_get_free_channel' into 'master'
feature(rmt):   Add API get rmt channel's status.

See merge request idf/esp-idf!2440
2018-11-29 11:59:39 +08:00
houchenyao
44fdca94e9 test: components/driver: i2s case 2018-11-29 11:32:40 +08:00
Angus Gratton
073dbe6d1d Merge branch 'bugfix/idf_monitor_tests' into 'master'
Adjust the timeout of the idf_monitor tests

See merge request idf/esp-idf!3802
2018-11-29 11:03:25 +08:00
Angus Gratton
759185b16c Merge branch 'bugfix/bt_ut_build_all' into 'master'
Fix unit test cmake build for BT

See merge request idf/esp-idf!3767
2018-11-29 09:52:55 +08:00
Angus Gratton
d4a5682e7d ldgen: Improve error output when linker input is invalid, don't create output file until end of process 2018-11-29 12:41:35 +11:00
Ivan Grokhotkov
21b3919369 Merge branch 'bugfix/vfs_open_write_close_perf_test' into 'master'
Fix VFS unit test failure ("Open & write & close through VFS passes performance test")

Closes #44

See merge request idf/esp-idf!3759
2018-11-29 09:40:54 +08:00
Ivan Grokhotkov
1d2673eda5 Merge branch 'bugfix/uart_select_buffer' into 'master'
VFS: select() on UART should return immediately when data is buffered

See merge request idf/esp-idf!3803
2018-11-29 09:30:19 +08:00
Per Malmberg
71f57931bd #2743 - Implemented ability to core affinity and thread name for pthreads and thus also for std::thread. 2018-11-28 20:43:09 +01:00
Roland Dobai
738c56e84a Fix VFS_OPEN_WRITE_CLOSE_TIME unit test issue
Closes idf/esp-idf#44
2018-11-28 20:36:08 +01:00
Ivan Grokhotkov
2c7fc07aae Merge branch 'bugfix/various_ldgen_fixes' into 'master'
Fix multiple ldgen issues

Closes #47

See merge request idf/esp-idf!3799
2018-11-29 01:46:02 +08:00
Ivan Grokhotkov
98884b4f6c Merge branch 'bugfix/sysview_trace_taskid' into 'master'
freertos: fix task ID sent to the trace

See merge request idf/esp-idf!3807
2018-11-29 01:45:36 +08:00
Jiang Jiang Jian
7312294648 Merge branch 'bugfix/btdm_rf_reg' into 'master'
fix bug to unsupport rf reg access from hci cmd

See merge request idf/esp-idf!3787
2018-11-28 21:21:20 +08:00
Jiang Jiang Jian
a134141320 Merge branch 'mesh/feature_channel_switch' into 'master'
mesh: add channel switch function

See merge request idf/esp-idf!3772
2018-11-28 20:11:38 +08:00
Renz Christian Bagaporo
b926764385 examples: add otatool and parttool examples 2018-11-28 17:28:20 +08:00
chenjianqiang
a0beff99d2 bugfix(psram): fix psram size acquisition method
1. Use BIT[7:5] of EID to determine psram size
2. Add ID support for 16Mbit psram
3. Remove module reset on SPI1
4. Confirmed with the vendor that only the old 32Mbit psram need special clock timing. For other psram chips, we should use standard QPI mode.
2018-11-28 17:05:37 +08:00
Wang Jia Lin
cc5673435b Merge branch 'bugfix/fix_uart_read_bug_when_using_dual_core' into 'master'
bugfix(uart): fix uart read error bug when using dual core.

See merge request idf/esp-idf!3521
2018-11-28 16:17:13 +08:00
Renz Christian Bagaporo
5e08698039 make: use otatool and parttool for build 2018-11-28 15:57:20 +08:00
Renz Christian Bagaporo
bceec35d0e cmake: use otatool and parttool for build 2018-11-28 15:57:20 +08:00
Renz Christian Bagaporo
8ca6904d55 ota: implement otatool functionality 2018-11-28 15:57:20 +08:00
Renz Christian Bagaporo
88c81c67b7 partition_table: implement new parttool functionality 2018-11-28 15:57:20 +08:00
Angus Gratton
06eebfe15f Merge branch 'bugfix/ignore_windows_conf_tools' into 'master'
gitignore: Add mconf-idf.exe and conf-idf.exe

See merge request idf/esp-idf!3806
2018-11-28 15:46:15 +08:00
kooho
da223fad4e driver(rmt): Add API get rmt channel's status.
closes https://github.com/espressif/esp-idf/issues/1175
closes https://github.com/espressif/esp-idf/issues/2599
closes https://github.com/espressif/esp-idf/issues/2452
2018-11-28 07:20:45 +00:00
Anton Maklakov
87e8757569 bt: Fix unit tests build with CMake 2018-11-28 15:19:04 +08:00
Anton Maklakov
9dde91ce2b modbus: Fix a typo in the docs 2018-11-28 15:19:03 +08:00
hou wen xiang
ade39f823f doc(ledc): Update LEDC example README.md file. 2018-11-28 07:15:56 +00:00
Renz Christian Bagaporo
4c83f456ab cmake: generate sections info for all static libs as in make 2018-11-28 14:24:21 +08:00
Renz Christian Bagaporo
a9c784339d ldgen: fix error on parsing archive from sections info 2018-11-28 14:14:54 +08:00
Renz Christian Bagaporo
22b4c95d1e ldgen: add traceback in case of exception 2018-11-28 14:14:54 +08:00
He Yin Ling
19910c8729 Merge branch 'test/driver_mcpwm' into 'master'
test/mcpwm_case

See merge request idf/esp-idf!1831
2018-11-28 13:56:05 +08:00
Ivan Grokhotkov
8eb40bea51 freertos: pass TCB rather than the array to trace functions 2018-11-28 12:26:34 +08:00
Wang Jia Lin
70554e8caa Merge branch 'doc/uart_lightsleep_wakeup_doc' into 'master'
doc(uart):  update the comment of uart_set_wakeup_threshold

See merge request idf/esp-idf!3556
2018-11-28 11:35:56 +08:00
Angus Gratton
6f8e2b018f Merge branch 'feature/generic_cmake_support' into 'master'
Generic CMake Support

See merge request idf/esp-idf!3543
2018-11-28 10:42:47 +08:00
houchenyao
11faab2c5d test: components/driver: pwm case 2018-11-28 10:42:32 +08:00
Angus Gratton
fac12d0dae Merge branch 'bugfix/windows_install_prerequisites' into 'master'
windows_install_prerequisites: Fix generation of PATH command

See merge request idf/esp-idf!3798
2018-11-28 09:11:08 +08:00
Angus Gratton
f7811671ae gitignore: Add mconf-idf.exe and conf-idf.exe
Problem since f6cd55d2ac

Closes https://github.com/espressif/esp-idf/issues/2751
2018-11-28 12:05:29 +11:00
Anton Maklakov
983cdcb7f4 add_path.sh: Fix reuse the script 2018-11-28 11:08:28 +11:00
qiyuexia
1692896e5e mesh: add channel switch function
1. add network channel switch function.
   - users can obtain the new channel through the event MESH_EVENT_CHANNEL_SWITCH.
   - the entire network will be moved to the same channel as the router without user intervention.
   - if no router is in the network, users can call esp_mesh_switch_channel() on the root side to
     move the entire network to their desired channel.
2. support not configuring the network channel.
3. support not configuring the router BSSID even if the router is hidden.
4. add allow_channel_switch to mesh configuration.
   - if the channel is not specified, this value will be ignored.
   - if the channel is specified and this value is set, when "fail" (mesh_attempts_t) times of parent selection
     or look for networks are reached, device will change to perform a full channel scan for networks that could join.
   - if the channel is specified and this value is set to 0, when a root is not elected, channel switch is not allowed.
     but when a root appears, the root performs a full channel scan during the process of connecting to the router,
     so even allow_channel_switch is set to 0, the root may still switch channel and eventually the entire network
    changes channel.
5. add allow_router_switch to mesh router configuration.
   - if the BSSID of router is not specified, this value will be ignored.
   - if the BSSID of router is specified and this value is set, when the router of this specified BSSID fails to be found
     after "fail" (mesh_attempts_t) times, the entire network is allowed to switch to another router with the same SSID.
6. modify the root to perform a full channel scan when esp_wifi_connect().
7. support handling beacon without DS Paramter Set.
2018-11-27 23:36:01 +08:00
kooho
a9c1124763 driver(uart): fixed uart read error bug when using dual core.
closes https://github.com/espressif/esp-idf/issues/2204
2018-11-27 20:53:26 +08:00
Roland Dobai
957cf0ab84 VFS: select() on UART should return immediately when data is buffered 2018-11-27 13:39:00 +01:00
Renz Bagaporo
7e7cc99241 docs: generic cmake support 2018-11-27 19:56:52 +08:00
Renz Christian Bagaporo
f1f0bd4b1c ci: update for running cmake examples 2018-11-27 19:56:52 +08:00
Renz Christian Bagaporo
bec3bb3ba4 make, cmake: display ulp assembler version 2018-11-27 19:40:50 +08:00
Renz Bagaporo
b35c745c4f ulp: check assembler version 2018-11-27 19:25:22 +08:00
Wangjialin
4b34ae1258 bugfix(i2s): allow to use apll in pdm/adc/dac mode
1. Allow to use apll in pdm mode
2. Add clock frequency configuration for PDM mode
3. Allow to use apll in ADC/DAC mode
2018-11-27 18:41:20 +08:00
Roland Dobai
cedc0b6643 Adjust the timeout of the idf_monitor tests 2018-11-27 09:53:56 +01:00
Renz Christian Bagaporo
90f5432f2a examples: generic cmake support examples 2018-11-27 13:59:26 +08:00
Renz Christian Bagaporo
0908fba1a3 mbedtls: import mbedtls project w/o modification 2018-11-27 13:59:26 +08:00
Renz Christian Bagaporo
37d30c7a6e cmake: separate app from idf lib project
mbedtls: import mbedtls using unmodified cmake file
2018-11-27 13:59:24 +08:00
Angus Gratton
81231fcc4b Merge branch 'feature/i2s_tx_descriptor_auto_clear' into 'master'
i2s: add (optional) support to clear tx descriptor in underflow case

See merge request idf/esp-idf!2397
2018-11-27 13:45:51 +08:00
Angus Gratton
c75c28faf5 Merge branch 'feature/pystyle' into 'master'
Check the Python coding style

See merge request idf/esp-idf!3748
2018-11-27 12:41:17 +08:00
Tian Hao
f3bfdeaeec fix bug to unsupport rf reg access from hci cmd
Always return 0 when read rf register and do nothing when write rf register
2018-11-27 12:00:06 +08:00
Angus Gratton
b7f56e86ba windows_install_prerequisites: Fix generation of PATH command
Accidental regression in 7c8d5d2782 - escape
character didn't move with PATH.

Reported on forum https://esp32.com/viewtopic.php?f=13&t=8201
2018-11-27 09:36:43 +11:00
Roland Dobai
1b464d23a9 tools: Correct coding style of idf_monitor 2018-11-26 15:02:39 +01:00
Roland Dobai
9273de8b43 Check the Python coding style
Closes https://github.com/espressif/esp-idf/pull/2747
2018-11-26 15:02:27 +01:00
Jiang Jiang Jian
90a6c9aada Merge branch 'feature/add_long_range_code' into 'master'
example: add long range code

See merge request idf/esp-idf!3552
2018-11-26 17:03:09 +08:00
Jiang Jiang Jian
9890feaa37 Merge branch 'feature/btdm_add_ble_compatibility_test_demo' into 'master'
Component/bt: add BLE Compatibility Test demo

See merge request idf/esp-idf!3749
2018-11-26 17:00:55 +08:00
He Yin Ling
bf0f02112d ci: combine unit_test and integration_test stage:
The number of runners of integration test is not bottleneck to CI
pipeline performance now. Combine these 2 stages will make integration
test executed even unit test fails. This could help us to collect more
info about test history.
2018-11-26 16:40:32 +08:00
He Yin Ling
1c65f18422 Merge branch 'test/enhanced_junit_test_result' into 'master'
test: enhanced junit test result

See merge request idf/esp-idf!2766
2018-11-26 16:35:08 +08:00
Angus Gratton
03c59658cb Merge branch 'bugfix/test_idf_monitor_hangs' into 'master'
tools: Fix idf_monitor test case occasional hangup or failure

Closes #39

See merge request idf/esp-idf!3651
2018-11-26 15:29:55 +08:00
Angus Gratton
c765035b3a Merge branch 'update/nvs_part_gen' into 'master'
nvs_util: Add changes to nvs part gen util

See merge request idf/esp-idf!3531
2018-11-26 14:26:08 +08:00
michael
cfba157fdd spi_slave: add valid check for DMA buffers
The DMA cannot receive data correctly when the buffer address is not
WORD aligned. Currently we only check whether the buffer is in the DRAM
region.

The DMA always write in WORDs, so the length arguments should also be
multiples of 32 bits.

A check is added to see whether the buffer is WORD aligned and has valid
length.
2018-11-26 03:49:26 +00:00
michael
435adaa22a spi_master: add check for trans len
The driver decide whether use MOSI/MISO phases according to the buffer
address together with the SPI_TRANS_USE_*DATA. However someone may assue
that these phases will be skipped when the ``length``/``rxlength`` is
set to 0. In fact it is a feature that ``rxlength`` is allowed to be
set to 0 when tx and rx have the same length, and the driver fill the
``rxlength`` to ``length``.

An error check is added when the rxlength is 0 but there is data to be
sent.
2018-11-26 03:49:26 +00:00
He Yin Ling
7202aed31e ci: split build unit test job:
it takes long time to build with both make and cmake
2018-11-26 10:07:41 +08:00
He Yin Ling
ca7fa6f01a ci: use artifacts:reports feature of Gitlab CI 2018-11-26 10:07:41 +08:00
He Yin Ling
ef9eaddd88 ci: assign unit test cases in sequence of config and name 2018-11-26 10:07:41 +08:00
He Yin Ling
5b3d09d5c8 test: fix unit test script code style warnings 2018-11-26 10:07:41 +08:00
He Yin Ling
644571f78b test: generate junit test report according to executed cases 2018-11-26 10:07:41 +08:00
He Yin Ling
0ad226b375 tiny-test-fw: support capture raw data in DUT:
test cases might want to use `expect` and get raw data from DUT at the same time. New added capture method provides a way to do that.
2018-11-26 10:07:41 +08:00
Angus Gratton
fa59b1b1c9 Merge branch 'bugfix/fix_cmake_args_issue' into 'master'
Fix CMAKE_ARGS issue for ULP build

See merge request idf/esp-idf!3776
2018-11-26 07:58:09 +08:00
Ivan Grokhotkov
5aa7abb216 Merge branch 'bugfix/spiram_80m_clk_config' into 'master'
clk: fix regression in clock setting for SPIRAM with 80MHz config

See merge request idf/esp-idf!3724
2018-11-25 22:25:19 +08:00
Jiang Jiang Jian
a0468b2bd6 Merge branch 'feature/btdm_add_update_duplicate_scan_exceptional_list_apis' into 'master'
Component/bt: add update duplicate scan exceptional list APIs

See merge request idf/esp-idf!3763
2018-11-25 18:58:53 +08:00
Roland Dobai
608fc23278 tools: Fix idf_monitor test case occasional hangup or failure
Closes idf/esp-idf#39
2018-11-23 13:33:17 +01:00
zhiweijian
18a27b88c7 Component/bt: fix accept specified sec auth error 2018-11-23 20:14:03 +08:00
Mahavir Jain
1751607adf examples: enable option to auto clear I2S tx descriptor on underflow
Closes: https://github.com/espressif/esp-idf/issues/1945
2018-11-23 14:43:20 +05:30
zhangyanjiao
ad22d280c6 wifi: add long range code 2018-11-23 09:09:07 +00:00
Jiang Jiang Jian
64d038c0d5 Merge branch 'bugfix/fix_some_wifi_bugs_1121' into 'master'
esp32: fix some wifi bugs

See merge request idf/esp-idf!3756
2018-11-23 17:08:25 +08:00
Mahavir Jain
765bf674d0 i2s: add (optional) support to clear tx descriptor in underflow case
It has been observed that, in case of underflow (data unavailability) in
I2S transmission, previously filled up tx descriptors continue to get
transmitted on line, causing noise in case of audio use case.

This change adds optional `tx_desc_auto_clear` field during I2S driver intialization
than can zero initialize tx descriptor in case of underflow situation in
interrupt handler itself.

Closes: https://github.com/espressif/esp-idf/issues/1789
2018-11-23 14:31:09 +05:30
zhiweijian
dd3d89db49 Component/bt: add update duplicate scan exceptional list APIs 2018-11-23 16:46:17 +08:00
Renz Christian Bagaporo
3a02a12aa4 cmake: remove unecessary info passed to bootloader build 2018-11-23 16:08:47 +08:00
Renz Christian Bagaporo
552f17e260 ulp: fix passing ulp srcs due to cmake_args bug 2018-11-23 16:08:41 +08:00
Wang Jia Lin
783ff9c455 Merge branch 'bugfix/i2c_hardware_filter_default_enable' into 'master'
driver:  Enable I2C master hardware filter by default.

See merge request idf/esp-idf!3715
2018-11-23 14:23:37 +08:00
Liu Zhi Fu
f874b52f0a esp32: fix some wifi bugs
Fix some WiFi bugs:
1. Enable RX BAR
2. Fix the bug that ESP32 AP negotiates with iphone to 11g
3. Fix the bug that ESP32 STA has ap_loss because CMCC AP contains two SSID
2018-11-23 05:41:41 +00:00
Angus Gratton
a081e5d25e Merge branch 'bugfix/docs_what-you-need' into 'master'
Updated 'What you need' picture

See merge request idf/esp-idf!3725
2018-11-23 11:16:28 +08:00
Angus Gratton
83f6ee9912 Merge branch 'bugfix/docs_https_server' into 'master'
Docs : esp_https_server API references corrected

See merge request idf/esp-idf!3775
2018-11-23 10:44:55 +08:00
Angus Gratton
269e94f387 Merge branch 'bugfix/fix_ldgen_pyparsing_new_version' into 'master'
ldgen: fix issues when using pyparsing 2.3.0

See merge request idf/esp-idf!3739
2018-11-23 10:38:18 +08:00
kooho
33138a3dec driver(i2c): enable I2C master hardware filter by default. 2018-11-23 10:27:59 +08:00
Renz Christian Bagaporo
1600c3144c docs: add pyparsing install to setup guide 2018-11-22 22:09:43 +08:00
Renz Christian Bagaporo
8eeddd287c ldgen: catch exception with python3 compatible style
Closes https://github.com/espressif/esp-idf/issues/2720
2018-11-22 22:09:43 +08:00
He Yin Ling
8e70582cad tiny-test-fw: enhanced junit test report support:
1. replace xunitgen with junit_xml, which can log more info
2. allow test cases to handle junit test report by them own
3. allow test cases to log some info into report via `sysout` tag
2018-11-22 20:49:15 +08:00
Jiang Jiang Jian
e199587a11 Merge branch 'bugfix/btdm_move_func_into_iram' into 'master'
components/bt: Move function in interrupt into IRAM

See merge request idf/esp-idf!3757
2018-11-22 19:17:37 +08:00
Anurag Kar
684f0b0a32 Docs : esp_https_server API references corrected 2018-11-22 15:57:05 +05:30
baohongde
7e142f9d22 components/bt: Move function in interrupt into IRAM
1. Move function in interrupt into IRAM
2. Delete unused code, saving 240B DRAM and some code size
2018-11-22 15:59:53 +08:00
Ivan Grokhotkov
09a01f68ba Merge branch 'bugfix/calloc_recursive' into 'master'
newlib: disable some optimizations for syscalls.c

See merge request idf/esp-idf!3774
2018-11-22 15:24:17 +08:00
Ivan Grokhotkov
8deb885ce3 newlib: disable some optimizations for syscalls.c
Don’t allow the compiler to convert malloc + memset into calloc,
causing a recursive call in _calloc_r. Fixes crash when building with
-O2 optimization level.
2018-11-22 12:19:49 +08:00
Jiang Jiang Jian
6252292d9c Merge branch 'mesh/bugfix_v3.2' into 'master'
mesh: bugfix

See merge request idf/esp-idf!3740
2018-11-22 10:22:06 +08:00
Renz Christian Bagaporo
56ed588d4f tools: install pyparsing using pip 2018-11-22 09:55:31 +08:00
Renz Christian Bagaporo
507328d4db ldgen: fix issues when using pyparsing 2.3.0 2018-11-22 09:55:31 +08:00
zhiweijian
e9ee9384fc Component/bt: add BLE Compatibility Test demo 2018-11-21 19:36:51 +08:00
qiyueixa
86fedc3cbb utest: increase IDF_PERFORMANCE_MAX_VFS_OPEN_WRITE_CLOSE_TIME to 50000 2018-11-21 19:14:07 +08:00
qiyueixa
6c3b5ae5a1 mesh: bugfix
1. fix failture of mesh stop caused by block-sending.
2. fix when FIXED_ROOT is set, 2nd layer devices can not receive mesh event ESP_ERR_MESH_NO_PARENT_FOUND.
3. fix when FIXED_ROOT is set and the root turns off mesh function, 2nd layer devices do not look for new parents.
4. add APIs esp_mesh_disconnect() and esp_mesh_connect().
5. disconnect from parent/router when the DSSS channel in received beacon is different from the home channel.
6. remove nvs task to release 3k bytes memory.
2018-11-21 19:13:41 +08:00
Shivani Tipnis
0c72b08872 nvs_util: update test case 2018-11-21 13:40:24 +05:30
Shivani Tipnis
582c547191 Update README 2018-11-21 12:55:47 +05:30
Shivani Tipnis
c44f15441f Closes https://github.com/espressif/esp-idf/issues/2472 2018-11-21 12:55:47 +05:30
Shivani Tipnis
9db1987892 nvs_util: Add changes to nvs part gen util
nvs_util: Add changes to nvs part gen util

nvs_host_test: Add test case for keygen and keyfile paratmeters
2018-11-21 12:55:47 +05:30
Jiang Jiang Jian
0d7f2d77c2 Merge branch 'feature/btdm_add_set_long_adv_data_api' into 'master'
Component/bt: add set long adv data api

See merge request idf/esp-idf!3722
2018-11-21 11:31:13 +08:00
Mahavir Jain
2a55e957fd ci: add unit test job 2018-11-20 18:55:04 +05:30
Mahavir Jain
bd3806193d unit-test-app: keep CONFIG_SPIRAM_BANKSWITCH_ENABLE enabled only for psram_8m config 2018-11-20 18:54:12 +05:30
Jiang Jiang Jian
e7f9e3f6f6 Merge branch 'bugfix/add_connected_event_after_softap_finish_4_way' into 'master'
wifi: add connected event after softap finish 4 way

See merge request idf/esp-idf!3661
2018-11-20 20:04:12 +08:00
Jiang Jiang Jian
69c9e050b0 Merge branch 'bugfix/btdm_add_check_peer_addr_type_in_set_adv_params' into 'master'
Component/bt: add check peer addr type in set adv params

See merge request idf/esp-idf!3732
2018-11-20 20:02:13 +08:00
Angus Gratton
3970ea60de Merge branch 'bugfix/ldgen_windows_kconfig_paths' into 'master'
ldgen: Fix ENOENT errors on Windows with MSYS2 and GNU Make

See merge request idf/esp-idf!3746
2018-11-20 17:21:11 +08:00
Angus Gratton
c0298a5712 Merge branch 'bugfix/doc_builds_windows' into 'master'
doc: Fix doc builds on Windows MINGW32, add some doc build documentation

See merge request idf/esp-idf!3550
2018-11-20 17:20:40 +08:00
Angus Gratton
92f32f0060 Merge branch 'fix/spi_callback_in_iram' into 'master'
spi: fix the crash when callbacks are not in the IRAM

See merge request idf/esp-idf!3498
2018-11-20 16:25:08 +08:00
zhiweijian
5e3d88ee64 Component/bt: fix remove bonded device warnning 2018-11-20 07:15:02 +00:00
Jiang Jiang Jian
ffda37dd16 Merge branch 'feature/btdm_BLE_Blocking_APIs' into 'master'
Component/bt: add BLE Blocking APIs

See merge request idf/esp-idf!3513
2018-11-20 14:40:50 +08:00
Jiang Jiang Jian
b422a42697 Merge branch 'bugfix/btdm_errors_in_comment' into 'master'
components/bt: Some errors in comment

See merge request idf/esp-idf!3703
2018-11-20 14:26:12 +08:00
Angus Gratton
4f4edcf676 ldgen: Fix ENOENT errors on Windows with MSYS2 and GNU Make 2018-11-20 17:25:20 +11:00
Angus Gratton
61ee1bd31f Merge branch 'feature/esp_https_server' into 'master'
Add HTTPS Server component

See merge request idf/esp-idf!3608
2018-11-20 13:58:26 +08:00
Ivan Grokhotkov
46e28d7553 Merge branch 'example/sysview_tracing' into 'master'
SystemView tracing example

See merge request idf/esp-idf!3514
2018-11-20 13:10:19 +08:00
Michael (XIAO Xufeng)
8cddfa35b8 spi: fix the crash when callbacks are not in the IRAM
Introduced in 9c23b8e5 and 4f87a62f. To get higher speed, menuconfig
options are added to put ISR and other functions into the IRAM.  The
interrupt flag ESP_INTR_FLAG_IRAM is also mistakenly set when the ISR is
put into the IRAM. However callbacks, which are wrote by the user, are
called in the master and slave ISR. The user may not be aware of that
these callbacks are not disabled during flash operations. Any cache miss
during flash operation will cause panic.

Essentially IRAM functions and intrrupt flag ESP_INTR_FLAG_IRAM are
different, the latter means not disabling the ISR during flash
operations.  New bus_config flag intr_flags is offered to help set the
interrupt attribute, including priority level, SHARED, IRAM (not
disabled during flash operations).  It introduced a small BREAK to
IDFv3.1 (but the same as IDFv3.0) that the user has to manually set IRAM
flag now (therefore he's aware of the IRAM thing) to void the ISR being
disabled during flash operations.
2018-11-20 13:07:13 +08:00
Alexey Gerenkov
3139b2d533 example: Adds SystemView tracing example app 2018-11-20 04:09:39 +00:00
Alexey Gerenkov
3eaba1c8ce esp32: Fixes SystemView lock's IRQ state restore 2018-11-20 04:09:39 +00:00
zhiweijian
775c6e5ab7 Component/bt: add set long adv data api 2018-11-20 11:19:51 +08:00
Angus Gratton
4c881708dc Merge branch 'bugfix/ut_building_test_check' into 'master'
esp32, mbedtls: check component name when enabling test flags

See merge request idf/esp-idf!3742
2018-11-20 06:13:58 +08:00
Ivan Grokhotkov
99dd08943c make/ldgen: fix line continuation 2018-11-20 01:27:25 +08:00
Ivan Grokhotkov
8027adaf81 esp32, mbedtls: check component name when enabling test flags
Otherwise flags get enabled even when building tests for other components.
2018-11-20 01:27:24 +08:00
Mahavir Jain
62efef0444 test: spiram: fix and enable test cases for default configuration 2018-11-19 22:40:14 +05:30
Ivan Grokhotkov
00a13bd8d3 Merge branch 'bugfix/init_memctl' into 'master'
bootloader, esp32: add workaround for Tensilica erratum 572

See merge request idf/esp-idf!3605
2018-11-19 18:36:47 +08:00
Ivan Grokhotkov
a46b884a14 Merge branch 'feature/unit_test_example' into 'master'
Move Unity into components, add unit test example

See merge request idf/esp-idf!3562
2018-11-19 18:35:54 +08:00
zhiweijian
3c7819eaf2 Component/bt: add check peer addr type in set adv params 2018-11-19 17:04:48 +08:00
Angus Gratton
6709d26863 Merge branch 'fix/cryptography_version' into 'master'
Update minimum version for cryptography package required

See merge request idf/esp-idf!3712
2018-11-19 15:27:45 +08:00
Angus Gratton
57273d48d4 Merge branch 'doc/translation_eclipse-setup_wangfang' into 'master'
Doc/translation eclipse setup wangfang

See merge request idf/esp-idf!3681
2018-11-19 14:04:04 +08:00
Angus Gratton
6cdfea4251 Merge branch 'fix/spi_freq_limit_check' into 'master'
spi: modify some docs about the freq limit and the ISR

See merge request idf/esp-idf!3686
2018-11-19 14:02:40 +08:00
Shivani Tipnis
e1774cb6f9 Update minimum version for cryptography package required 2018-11-19 11:13:37 +05:30
Angus Gratton
26a6969873 Merge branch 'doc/add_cmake_translation' into 'master'
doc/add_translation_for_cmake_documents

See merge request idf/esp-idf!3636
2018-11-19 12:53:06 +08:00
Angus Gratton
8915f48208 Merge branch 'feature/linker_script_generator' into 'master'
Linker script generator

See merge request idf/esp-idf!2286
2018-11-19 12:43:27 +08:00
Ivan Grokhotkov
964f5a91f7 bootloader, esp32: add workaround for Tensilica erratum 572
If zero-overhead loop buffer is enabled, under certain rare conditions
when executing a zero-overhead loop, the CPU may attempt to execute an invalid instruction. Work around by disabling the buffer.
2018-11-19 04:39:35 +00:00
Ivan Grokhotkov
a5adfd0169 examples: add unit testing example 2018-11-19 12:36:31 +08:00
Ivan Grokhotkov
a98674d78b unity: don't use stdio in runner, fix code style 2018-11-19 12:36:31 +08:00
Ivan Grokhotkov
6091021e83 unity: separate common and IDF specific functionality
New unity component can be used for testing other applications.
Upstream version of Unity is included as a submodule.
Utilities specific to ESP-IDF unit tests (partitions, leak checking
setup/teardown functions, etc) are kept only in unit-test-app.
Kconfig options are added to allow disabling certain Unity features.
2018-11-19 12:36:31 +08:00
Ivan Grokhotkov
d4ef2135f0 ci: support building examples with external components 2018-11-19 12:36:31 +08:00
Ivan Grokhotkov
aa692b3483 vfs: implement fsync for UART VFS 2018-11-19 12:36:31 +08:00
Ivan Grokhotkov
5fb3d59a92 esp32: fix typos in rom/uart.h 2018-11-19 12:36:31 +08:00
Angus Gratton
c9a873c034 Merge branch 'docs/fix-eclipse-windows-steps' into 'master'
Docs: Change makes Eclipse setup inline with Mac OS and Linux.

See merge request idf/esp-idf!3486
2018-11-19 12:15:53 +08:00
Prasad Alatkar
b1189e9645 Docs: Change makes Eclipse setup inline with Mac OS and Linux. 2018-11-19 12:15:53 +08:00
Angus Gratton
8b6436eb2a Merge branch 'doc/translation_linux-setup-scratch_wangfang' into 'master'
Doc/translation linux setup scratch wangfang

See merge request idf/esp-idf!3679
2018-11-19 12:14:45 +08:00
Wang Fang
7d888ff6eb Doc/translation linux setup scratch wangfang 2018-11-19 12:14:45 +08:00
Anurag Kar
1d3f4074de esp_https_server : change config option secure_enable to transport_mode and some minor changes
transport_mode accepts enum httpd_ssl_transport_t instead of true/false.
This will allow for extension to dual mode (server running on both secure and insecure ports) in the future.
2018-11-19 04:00:21 +00:00
Anurag Kar
9a9d18e466 esp_http_server : APIs renamed and context get/set implementations fixed
* http_sess_set_*_override APIs are now the only ones available to set custom recv/send/pending functions
* Fixed side effects to using http_sess_set/get_context inside URI handlers
2018-11-19 04:00:21 +00:00
Anurag Kar
639502ed5d esp_http_server example tests : updated advanced_tests as per API changes 2018-11-19 04:00:21 +00:00
Anurag Kar
aa6066a197 esp_https_server : Docs and API references fixed 2018-11-19 04:00:21 +00:00
Ondřej Hruška
4dd0fa61e9 Add a 'esp_https_server' component allowing to use http_server with OpenSSL 2018-11-19 04:00:21 +00:00
Ondřej Hruška
a10fc02dd9 esp_http_server improvements to allow adding transport layer encryption
Changes:
- renamed `httpd_free_sess_ctx_fn_t` to `httpd_free_ctx_fn_t`
- added a `httpd_handle_t` argument to `httpd_send_func_t` and `httpd_recv_func_t`
- internal function `httpd_sess_get()` is no longer static, as it's used in other
  files besides httpd_sess.c

Bug fixes:
- removed a trailing semicolon from `HTTPD_DEFAULT_CONFIG()`
- fixed issue with failed `select()`, now it automatically closes invalid sockets
  instead of shutting down the entire server

New features:
- `httpd_resp_send()` and `httpd_resp_send_chunk()` now accept -1 as length to use
  `strlen()` internally
- added `httpd_sess_set_ctx()` to accompany `httpd_sess_get_ctx()`
- added a "transport context" to the session structure (next to user context)
- added `httpd_sess_{get,set}_transport_ctx()` to work with this transport context
- added "global user context" and "global transport context" stored in the server
  config (and then the handle); supports a user-provided free_fn
- added a "pending func" to e.g. check for data in the transport layer receive
  buffer
- added functions `httpd_set_sess_{send,recv,pending}_override()` that target
  a session by ID (i.e. not using a request object)
- added `httpd_set_pending_override()`
- added a "open_fn" and "close_fn" - functions called when creating and closing
  a session. These may be used to set up transport layer encryption or some other
  session-wide feature
2018-11-19 04:00:21 +00:00
Deng Xin
5b4e3da759 wifi: add connected event after softap finish 4 way
Background

Softap will send connected event after receive assoc request as before, however, STA didn't connect to softAP if need security. As our mesh design, it will send data packet after receive connected event, so change the current behavior, softAP will send connected event if have encryption
2018-11-19 11:24:42 +08:00
Jiang Jiang Jian
26bcb7f2cf Merge branch 'bugfix/wifi_sta_sniffer_phy_config_bug' into 'master'
wifi: fix wifi sta and sniffer phy config bug

See merge request idf/esp-idf!3566
2018-11-19 10:11:23 +08:00
krzychb
7ef74ee863 Updated 'What you need' picture 2018-11-16 22:18:31 +01:00
Mahavir Jain
e3956787f6 clk: fix regression in clock setting for SPIRAM with 80MHz config
Support for HSPI to output clock for 4M SPIRAM introduced regression
in clock configuration affecting SPIRAM access with 80MHz clock. This
commit fixes the issue.
2018-11-17 00:08:20 +05:30
Ivan Grokhotkov
960c240578 Merge branch 'bugfix/cmake_ut_parsing' into 'master'
cmake: fix for parsing unit test config

See merge request idf/esp-idf!3696
2018-11-16 22:11:14 +08:00
Ivan Grokhotkov
8c9407f22f Merge branch 'bugfix/fat_lock_log' into 'master'
fatfs: Do not log from critical sections

See merge request idf/esp-idf!3683
2018-11-16 21:29:56 +08:00
Renz Christian Bagaporo
364f98b67e cmake: fix for parsing unit test config 2018-11-16 12:00:39 +00:00
Ivan Grokhotkov
96f152341a esp_timer: improve unit test robustness
1. call esp_timer_get_time and ref_clock_get in the same order on
   start and in the loop

2. disable interrupts when calculating delta between ref_clock
   and esp_timer

3. ensure both functions are in cache before calculating the delta
2018-11-16 12:00:39 +00:00
Ivan Grokhotkov
0db8c2e618 Merge branch 'feature/ut_filter_test_groups' into 'master'
unit test: allow filtering tests using TEST_GROUPS

See merge request idf/esp-idf!3695
2018-11-16 19:31:47 +08:00
Ivan Grokhotkov
a55d350f43 Merge branch 'bugfix/adjtime_test2' into 'master'
Resolve ""test for thread safety adjtime and gettimeofday functions" fails randomly"

Closes #37

See merge request idf/esp-idf!3657
2018-11-16 19:21:45 +08:00
Roland Dobai
ad2cdeb476 fatfs: Do not log from critical sections
Logging in the critical section can result in a deadlock when the logger
is redirected to FATFS.

Closes https://github.com/espressif/esp-idf/issues/1693
2018-11-16 11:19:01 +00:00
zhangyanjiao
8be8ea2488 wifi: fix the bug that if station (sleep is enabled) and sniffer are enabled at the same time,
when disable sniffer, station will never enable phy and rf again.

Closes: https://github.com/espressif/esp-idf/issues/2545
2018-11-16 11:16:37 +00:00
Jiang Jiang Jian
6fa2f388ef Merge branch 'bugfix/btdm_controller_disable' into 'master'
Fix two bugs when disable bluetooth controller

See merge request idf/esp-idf!3692
2018-11-16 17:10:37 +08:00
Ivan Grokhotkov
43936ab48a Merge branch 'bugfix/mdns_query_failed_after_init' into 'master'
Fixed: mdns query failed after init

See merge request idf/esp-idf!3480
2018-11-16 16:37:11 +08:00
David Cermak
6309643c1d mdns: added example test for ci runners 2018-11-16 07:22:29 +00:00
David Cermak
d16762a036 mdns: sending search packets also in probing and announcing state
mdns queries did not work properly when send imeadiately after set_hostname, which cuased reinit of pcb and therefore restarted probing, so search packets were blocked until probing finished
closes #2507, closes #2593
2018-11-16 07:22:29 +00:00
Angus Gratton
f2de7602e3 Merge branch 'feature/docs_wireshark_trubleshooting_guide' into 'master'
Added wireshark instruction to provide a common workflow for users submitting diagnostic data for Wi-Fi troubleshooting

See merge request idf/esp-idf!3497
2018-11-16 14:44:58 +08:00
Krzysztof Budzynski
6fbc3c4361 Added wireshark instruction to provide a common workflow for users submitting diagnostic data for Wi-Fi troubleshooting 2018-11-16 14:44:58 +08:00
Renz Bagaporo
63411fc556 tools: implement linker script generation 2018-11-16 12:42:02 +08:00
Konstantin Kondrashov
b00be955ee newlib: Fix UT adjtime 2018-11-16 04:11:55 +00:00
baohongde
ac5a3443a4 components/bt: Some errors in comment 2018-11-16 11:27:22 +08:00
Angus Gratton
b6d7c70238 Merge branch 'doc/console_zh_CN' into 'master'
doc/console: translate console.rst into zh_CN

See merge request idf/esp-idf!3320
2018-11-16 11:21:16 +08:00
Tian Hao
9c9aa4ea4c Fix two bugs when disable bluetooth controller
1. Fix the bug that disable controller suddenly cause crash when ble is working. (585cfba1)
2. Fix the bug that when disable controller, it will cause wifi cannot RX, TX timeout, buffer lack and etc. (f8546145)
2018-11-16 02:42:38 +00:00
Ivan Grokhotkov
7b86247428 unit-test: use TEST_GROUPS to filter tests for psram_vspi and psram_hspi 2018-11-15 12:27:05 +00:00
Ivan Grokhotkov
09e4321e97 unit test: allow filtering tests for configs using TEST_GROUPS 2018-11-15 12:27:05 +00:00
Ivan Grokhotkov
fb56ce7d5c Merge branch 'feature/core_dump_crc' into 'master'
Core Dump CRC

See merge request idf/esp-idf!1290
2018-11-15 15:05:43 +08:00
Alexey Gerenkov
78a7a152d1 esp32: Fixes freezing core dump process when flash write address checks are enabled 2018-11-15 06:13:48 +00:00
Alexey Gerenkov
b152c1020c esp32: Adds logging level to core dump script 2018-11-15 06:13:48 +00:00
Alexey Gerenkov
76e02cadcc esp32: Adds support for core dump format version 2018-11-15 06:13:48 +00:00
Alexey Gerenkov
181a40ae30 esp32: Adds menuconfig option for max tasks number in core dump 2018-11-15 06:13:48 +00:00
Alexey Gerenkov
30e766ee6b esp32: Core dump API to retrieve current core data layout in flash 2018-11-15 06:13:48 +00:00
Alexey Gerenkov
a55cc99f50 esp32: Replaces magic numbers with CRC for core dump in flash 2018-11-15 06:13:48 +00:00
Ivan Grokhotkov
8b5f61eb35 Merge branch 'bugfix/ethernet_fail_twice_init' into 'master'
fix bug of multi-call failure in esp_eth_init

See merge request idf/esp-idf!3673
2018-11-15 12:35:55 +08:00
Jiang Jiang Jian
bbdcff1f45 Merge branch 'bugfix/tw27096_fix_lwip_mbox_free_crash' into 'master'
fix the crash bug caused by sys_mbox_free

See merge request idf/esp-idf!3654
2018-11-15 10:31:35 +08:00
Anton Maklakov
e677bdf5c9 Merge branch 'bugfix/app_template_build' into 'master'
esp-idf-template app: some fixes for the updated template app

See merge request idf/esp-idf!3698
2018-11-15 09:51:00 +08:00
Mahavir Jain
79043882d9 tools: fix cmake build script for sdkconfig test 2018-11-14 22:50:12 +08:00
Anton Maklakov
8e1c91ac7d cmake: fix the creation dummy main to avoid rebuilding 2018-11-14 22:39:54 +08:00
Anton Maklakov
fe5b2c56a4 ci: If there is no sdkconfig, we have to generate one 2018-11-14 19:46:03 +08:00
Ivan Grokhotkov
f1949a59b6 Merge branch 'bugfix/readdir_ut_timeout' into 'master'
spiffs: increase timeout in readdir test

Closes #41

See merge request idf/esp-idf!3687
2018-11-13 22:54:21 +08:00
morris
eec6de57ff ethernet: multi-call failure in esp_eth_init
Because of incomplete state machine, ethernet driver will broken if esp_eth_init is called twice.
Detailed information here: https://ezredmine.espressif.cn:8765/issues/27332
2018-11-13 16:38:45 +08:00
Ivan Grokhotkov
bd34ae0409 Merge branch 'bugfix/ethernet_memory_leak' into 'master'
fix potential memory leak in ethernet driver

See merge request idf/esp-idf!3646
2018-11-13 15:53:47 +08:00
michael
26626dfbf2 spi: add documents explicitly showing the executing core of the ISR
It is an ESP specific FreeRTOS feature that the ISR is always executed
on the core which calls the interrupt register function. In the SPI
driver, the function is always called in the bus initialization
function.

Hence, the ISR will be executed on the core which initialize the driver.

If the core is starved due to higher priority ISRs, or the interrupt is
disabled on the core (spinlock called, etc.), the ISR will not get
executed and SPI transactions will not be handled.

(MINOR CHANGE)

Resolves https://github.com/espressif/esp-idf/issues/2432.
2018-11-13 11:49:31 +08:00
michael
a52ab8ca87 spi_master: modify the error msg a little when over freq limit
The MISO signal will be delayed if the GPIO matrix is enabled.
However, delay also comes from the slave.

Previous code only considers the former case, and assume the frequency
limitations is only violated when GPIO matrix is used.

Now we are able to calculate the freq limit when extenal MISO delay is
given (feature introduced in 9c6c6ec34ab0641ace89aeb9b1a133eb6fae1a18).
The frequency limit is lower when the external MISO delay is large, and
the limit is likely to be violated even with IOMUX.

Resolves https://github.com/espressif/esp-idf/issues/2690.
2018-11-13 11:49:31 +08:00
Ivan Grokhotkov
356fe47ce1 spiffs: increase timeout in readdir test
Timeout of 15 seconds is not sufficient if SPIFFS partition needs to
be formatted, on some of the boards.
2018-11-13 11:41:19 +08:00
liying
08ef71b386 1.Update 8 English cmake files
2.Provide Chinese translation to these 8 cmake files
2018-11-13 11:38:23 +08:00
morris
5fccb73f86 ethernetif: fix potential memory leak
1. If L2_TO_L3_RX_BUF_MODE is not selected, we must assign l2_owner explictly before we call pbuf_free.
2. free intr resource in esp_eth_deinit

Closes https://github.com/espressif/esp-idf/issues/2670
2018-11-13 10:11:48 +08:00
Angus Gratton
beada90b06 Merge branch 'bugfix/cmake_utf_decode' into 'master'
tools: Fix Unicode decode error & indentation error

See merge request idf/esp-idf!3669
2018-11-13 09:54:28 +08:00
Jiang Jiang Jian
ef4a87d62e Merge branch 'bugfix/http_literal_caseinsensitive' into 'master'
Compare case-insensitive URI schemes

See merge request idf/esp-idf!3558
2018-11-12 17:03:06 +08:00
wangfang
df8feaa5c2 Update translation based on review 2018-11-12 16:16:52 +08:00
Ivan Grokhotkov
7efb3926c5 Merge branch 'feature/build_system_multi_target' into 'master'
build system: support for multiple targets (CMake only)

See merge request idf/esp-idf!3499
2018-11-12 15:30:36 +08:00
Jiang Jiang Jian
c7fb749b84 Merge branch 'bugfix/btdm_fix_memory_leak_in_v3.2' into 'master'
Component/bt: fix memory leak in service change char

See merge request idf/esp-idf!3631
2018-11-12 11:27:00 +08:00
Jiang Jiang Jian
ccb3841a9e Merge branch 'feature/btdm_add_vendor_hci_cmd' into 'master'
component/bt: add vendor hci cmd

See merge request idf/esp-idf!3577
2018-11-12 11:26:35 +08:00
wangfang
933dc75294 update translation 2018-11-12 10:15:20 +08:00
Angus Gratton
1e99e61c33 Merge branch 'bugfix/uart_examples_match_template' into 'master'
examples: Fix UART examples to match the template

See merge request idf/esp-idf!3642
2018-11-12 09:19:14 +08:00
Angus Gratton
521fb5d906 Merge branch 'feature/update_board_guides_for_headers' into 'master'
Feature/update board guides for headers

See merge request idf/esp-idf!3590
2018-11-12 09:15:29 +08:00
Natasha
be0123e10e Feature/update board guides for headers 2018-11-12 09:15:29 +08:00
Angus Gratton
3685d325d8 Merge branch 'bugfix/multiple_github_pr' into 'master'
Multiple github PR's

See merge request idf/esp-idf!3665
2018-11-12 09:14:35 +08:00
Angus Gratton
a96deceb27 Merge branch 'feature/cmake_secure_boot_support' into 'master'
CMake : Secure Boot support added

See merge request idf/esp-idf!3522
2018-11-12 09:09:30 +08:00
Ivan Grokhotkov
ccfa134533 build system: support for multiple targets 2018-11-11 21:46:02 +08:00
Ivan Grokhotkov
e2ca285fae confgen.py: allow multiple defaults files 2018-11-11 21:44:35 +08:00
Liu Zhi Fu
4fe3673f35 lwip: fix crash caused by sys_mbox_free
Fix lwip crashed bug caused by sys_mbox_free()
2018-11-11 12:15:51 +08:00
wangfang
a0ab2a15d2 add translation 2018-11-09 19:54:43 +08:00
Jiang Jiang Jian
9859428606 Merge branch 'bugfix/btdm_add_scan_window_interval_check' into 'master'
Component/bt: add scan window and interval check when set scan params

See merge request idf/esp-idf!3581
2018-11-09 19:32:11 +08:00
zwj
baf57b9702 component/bt: add vendor hci cmd 2018-11-09 14:39:04 +08:00
zhiweijian
fb3aa88565 Component/bt: add BLE Blocking APIs 2018-11-09 03:31:08 +00:00
Roland Dobai
90a4e37acd examples: Fix UART examples to match the template 2018-11-08 20:06:03 +01:00
Roland Dobai
f4cfca4353 tools: Fix UTF decode error 2018-11-08 13:02:03 +01:00
Cheppali Umasankar Reddy
f85f64b481 docs: corrected typo event_handler
esp_http_client_config_t has member event_handler not event_handle

Merges https://github.com/espressif/esp-idf/pull/2662
2018-11-08 15:57:13 +05:30
Stephen Bird
0c9f7271a9 Add checks to for CONFIG_MBEDTLS_SSL_ALPN
Merges https://github.com/espressif/esp-idf/pull/2569
2018-11-08 15:57:13 +05:30
Stephen Bird
b5c58557fc bt: Fix bracket warning
Merges https://github.com/espressif/esp-idf/pull/2568
2018-11-08 15:57:12 +05:30
Ondřej Hruška
3ed0f7697d examples: Correct Content-Length in openssl_server example
Before this fix it didn't send all of the response, ending with `</h`

Merges https://github.com/espressif/esp-idf/pull/2535
2018-11-08 15:57:12 +05:30
Damian Reboredo
049c9f7bea esp_http_client: Fix infinite loop on esp_http_client_fetch_headers
error must also be returned if esp_tls_conn_read return 0 because socket  was closed

Merges https://github.com/espressif/esp-idf/pull/2534
2018-11-08 15:57:11 +05:30
Paul Reimer
b358581ab8 heap: Compile heap_task_info.c conditionally on CONFIG_HEAP_TASK_TRACKING in heap CMakeLists.txt
Merges https://github.com/espressif/esp-idf/pull/2498
2018-11-08 15:57:11 +05:30
shawwwn
288d9b75e9 rtc_clk: bugfix: incorrect divider setting in rtc_clk_cpu_freq_to_config()
Merges https://github.com/espressif/esp-idf/pull/2404
2018-11-08 15:57:10 +05:30
mharizanov
17177e352b examples: Fixing possible memory leak, not freeing "run_time" prior to returning
Merges https://github.com/espressif/esp-idf/pull/2367
2018-11-08 15:57:00 +05:30
Jiang Jiang Jian
1b7a4758e3 Merge branch 'bugfix/fix_ble_examples' into 'master'
examples/bluetooth: Miscellaneous fixes in some of the examples

See merge request idf/esp-idf!3549
2018-11-08 18:09:29 +08:00
Jiang Jiang Jian
71f1a34540 Merge branch 'feature/btdm_support_oob_in_SMP' into 'master'
Component/bt: support OOB in SMP

See merge request idf/esp-idf!3496
2018-11-08 16:44:15 +08:00
Angus Gratton
c15e7b18f8 Merge branch 'doc/create_example_zh_CN' into 'master'
translation of creating-examples.rst

See merge request idf/esp-idf!3391
2018-11-08 10:23:14 +08:00
morris
71b9720309 doc/console: translate console.rst into zh_CN 2018-11-07 17:27:15 +08:00
liying
df9d1cc5d4 doc:update_creating_example_cn 2018-11-07 17:18:51 +08:00
morris
5fd76d7490 doc: document of creating-examples_zh_CN
Translated the document of creating-examples into Chinese
2018-11-07 17:17:44 +08:00
Jiang Jiang Jian
05838641ff Merge branch 'bugfix/mesh_start_stop' into 'master'
mesh: update libs

See merge request idf/esp-idf!3569
2018-11-07 14:29:27 +08:00
qiyuexia
2d34a93dc4 mesh: update libs
1. fix ap_loss that occurs when the parent turns off the mesh function and becomes a normal WiFi with a different SSID.
2. add an event MESH_EVENT_NETWORK_STATE that contains information about whether there is a root in the current network.
3. modify the mechanism of mesh IE update.
4. fix a problem in the process of re-voting to select the root, the device that does not meet the conditions of being a root votes for itself.
5. fix an issue that occurs in esp_mesh_recv_toDS() when stopping the mesh.
6. when the user specifies a parent for the device, the device will set the authmode and password of its AP mode to the same value as the specified parent.
7. add two disconnected reason codes MESH_REASON_EMPTY_PASSWORD and MESH_REASON_PARENT_UNENCRYPTED.
2018-11-06 22:55:48 +08:00
Jiang Jiang Jian
b5d7541c09 Merge branch 'bugfix/fix_bt_btc_gatts_arg_deep_copy' into 'master'
components/bt: Fix btc_gatts_arg_deep_copy() and bta_gatts_indicate_handle()

See merge request idf/esp-idf!3058
2018-11-06 21:01:54 +08:00
Hrishikesh Dhayagude
2c353edbc4 components/bt: Fix btc_gatts_arg_deep_copy() and bta_gatts_indicate_handle() 2018-11-06 21:01:54 +08:00
Ivan Grokhotkov
621e316725 Merge branch 'feat/psram_support_hspi' into 'master'
esp32: support to use hspi to output clock for 4M psram

See merge request idf/esp-idf!3377
2018-11-06 20:34:41 +08:00
Anurag Kar
1f6622b2d1 CMake : Secure Boot support added 2018-11-06 17:09:55 +05:30
Jiang Jiang Jian
17c70a4a32 Merge branch 'bugfix/wifi_do_not_load_phy_data_if_fail_to_open_nvs' into 'master'
esp32: do not try to load PHY data if fail to open NVS

See merge request idf/esp-idf!3538
2018-11-06 18:01:58 +08:00
Jiang Jiang Jian
888406231c Merge branch 'bugfix/btdm_fuction_in_isr_is_not_in_iram' into 'master'
components/bt: Put function in isr into iram

See merge request idf/esp-idf!3619
2018-11-06 17:13:34 +08:00
zhiweijian
77668b3912 Component/bt: add scan window and interval check when set scan params 2018-11-06 08:45:25 +00:00
zhiweijian
2e139c7885 Component/bt: fix memory leak in service change char 2018-11-06 08:43:59 +00:00
Ivan Grokhotkov
85d63871ab Merge branch 'feature/partition_api_example' into 'master'
Add partition API examples

See merge request idf/esp-idf!3427
2018-11-06 12:24:27 +08:00
Ivan Grokhotkov
28f1e1597b Merge branch 'bugfix/tickless_idle_single_core' into 'master'
freertos, pm: fix tickless idle not entered in single core mode

See merge request idf/esp-idf!3584
2018-11-06 12:15:03 +08:00
Ivan Grokhotkov
35d1c7b173 Merge branch 'bugfix/freertos_idle_tick_count' into 'master'
freertos: use xTaskQueueMutex to protect tick count

See merge request idf/esp-idf!3478
2018-11-06 12:14:51 +08:00
Ivan Grokhotkov
ddfd62ee66 Merge branch 'bugfix/register_map_LAN8720' into 'master'
ethernet: fix some bugs in Ethernet driver

See merge request idf/esp-idf!3490
2018-11-06 12:13:47 +08:00
Jiang Jiang Jian
ded53bd0ff Merge branch 'bugfix/btdm_allow_a2dp_codec_dynamic_alloc' into 'master'
bugfix/btdm_allow_a2dp_codec_dynamic_allocated

See merge request idf/esp-idf!3598
2018-11-06 11:56:30 +08:00
morris
b6d7675e60 ethernet: fix some bugs in phy&mac driver
1. Original register mapping for LAN8720 has some registers that doesn't exist/support.
So just remove them, and fix the power and init function for LAN8720.
2. GPIO16 and GPIO17 is occupied by PSRAM, so only ETH_CLOCK_GPIO_IN mode is supported in that case if using PSRAM.
3. Fix bug of OTA failing with Ethernet
4. Fix bug of multicast with Ethernet

Closes https://github.com/espressif/esp-idf/issues/2564
Closes https://github.com/espressif/esp-idf/issues/2620
Closes https://github.com/espressif/esp-idf/issues/2657
2018-11-06 11:07:22 +08:00
Ivan Grokhotkov
364f033a49 Merge branch 'feature/vfs_utime' into 'master'
VFS: Implement utime() for FATFS and SPIFFS

See merge request idf/esp-idf!3610
2018-11-06 10:47:02 +08:00
Ivan Grokhotkov
10ada5d106 Merge branch 'bugfix/ut_add_job' into 'master'
ci: add unit test job

See merge request idf/esp-idf!3634
2018-11-06 10:45:24 +08:00
Ivan Grokhotkov
f43965e086 Merge branch 'doc/partition_tables_zh_CN' into 'master'
translation of partition-tables.rst

See merge request idf/esp-idf!3457
2018-11-06 10:45:11 +08:00
Ivan Grokhotkov
344cb22d41 ci: add unit test job 2018-11-05 23:19:30 +08:00
Ivan Grokhotkov
e4b68c49f2 Merge branch 'bugfix/py3_ci_enable' into 'master'
Enable Python 3 bot tests in master

See merge request idf/esp-idf!3615
2018-11-05 19:49:32 +08:00
Ivan Grokhotkov
37da77315c Merge branch 'doc/storage_example_readme' into 'master'
examples/storage: adjust readme files according to standard

See merge request idf/esp-idf!3594
2018-11-05 19:33:16 +08:00
liying
9894d35839 (doc)update_CN/EN_partition_tables 2018-11-05 18:58:54 +08:00
morris
d61680b211 doc/partition-tables: translation of zh_CN
1. Translated partition-tables.rst into Chinese.
2. Fixed some error in the English version.
2018-11-05 18:58:22 +08:00
Ivan Grokhotkov
761d44bd36 Merge branch 'bugfix/xts_compile_err' into 'master'
mbedtls: Fix compilation errors when CONFIG_MBEDTLS_HARDWARE_AES is disabled

See merge request idf/esp-idf!3506
2018-11-05 16:58:38 +08:00
Roland Dobai
fb334baa7c VFS: Implement utime() 2018-11-05 09:54:01 +01:00
Ivan Grokhotkov
ada3bc3fb5 Merge branch 'bugfix/aes_sha_mpi_shared_regs' into 'master'
aes/sha/mpi: Bugfix a use of shared registers.

See merge request idf/esp-idf!3580
2018-11-05 16:31:03 +08:00
Roland Dobai
e77d15042d CI: Update Python 3 ignore list 2018-11-05 08:11:02 +01:00
Roland Dobai
d4ba3bd2eb idf_ext.py: Fix Python 3 compatibility issue 2018-11-05 08:11:02 +01:00
kooho
ea963c480c driver(uart):update the comment of uart_set_wakeup_threshold
closes https://github.com/espressif/esp-idf/issues/2627
2018-11-05 13:09:12 +08:00
Ivan Grokhotkov
27ef831bcd examples/storage: adjust readme files according to standard 2018-11-05 12:42:41 +08:00
Ivan Grokhotkov
13046e7625 Merge branch 'bugfix/esp-tls-doc' into 'master'
esp-tls: Fix documentaion issue in esp_tls_conn_new_async API

See merge request idf/esp-idf!3545
2018-11-05 12:30:22 +08:00
Ivan Grokhotkov
ee0dea3d0d Merge branch 'bugfix/esp_http_client_async_crash' into 'master'
esp_http_client: Fix crash in async mode

See merge request idf/esp-idf!3551
2018-11-05 12:30:04 +08:00
Konstantin Kondrashov
8bba348528 aes/sha/mpi: Bugfix a use of shared registers.
This commit resolves a blocking in esp_aes_block function.

Introduce:
The problem was in the fact that AES is switched off at the moment when he should give out the processed data. But because of the disabled, the operation can not be completed successfully, there is an infinite hang. The reason for this behavior is that the registers for controlling the inclusion of AES, SHA, MPI have shared registers and they were not protected from sharing.

Fix some related issue with shared using of AES SHA RSA accelerators.

Closes: https://github.com/espressif/esp-idf/issues/2295#issuecomment-432898137
2018-11-05 04:22:47 +00:00
Ivan Grokhotkov
fb7ba1baa0 Merge branch 'bugfix/unit_test_adjtime' into 'master'
Resolve ""test for thread safety adjtime and gettimeofday functions" fails randomly"

Closes #37

See merge request idf/esp-idf!3613
2018-11-05 12:20:07 +08:00
Ivan Grokhotkov
0716e65955 pm: prevent entering light sleep again immediately after wakeup
When light sleep is finished on one CPU, it is possible that the other
CPU will enter light sleep again very soon, before interrupts on the
first CPU get a chance to run. To avoid such situation, set a flag
for the other CPU to skip light sleep attempt.
2018-11-05 12:18:29 +08:00
Ivan Grokhotkov
22dd3103bd pm: fix entering light sleep in single core mode
Tickless idle/light sleep procedure had a bug in single core mode.
Consider the flow of events:
1. Idle task runs and calls vApplicationIdleHook
2. This calls esp_vApplicationIdleHook, which calls esp_pm_impl_idle_hook, and pm lock for RTOS on the current core is released.
3. Then esp_vApplicationIdleHook calls esp_pm_impl_waiti, which checks that s_entered_light_sleep[core_id]==false and goes into waiti state.
4. Some interrupt happens, calls esp_pm_impl_isr_hook, which takes pm lock for RTOS. PM state goes back to CPU_FREQ_MAX.
5. Once the interrupt is over, vApplicationIdleHook returns, and Idle task continues to run, finally reaching the call to vApplicationSleep.
6. vApplicationSleep does not enter light sleep, because esp_pm_impl_isr_hook has already changed PM state from IDLE to CPU_FREQ_MAX.

This didn’t happen in dual core mode, because waiti state of one CPU was interrupted by CCOMPARE update interrupt from the other CPU, in which case PM lock for FreeRTOS was not taken.

Fix by inverting the meaning of the flag (for convenience) and only setting it to true when vApplicationSleep actually fails to enter light sleep.
2018-11-05 12:18:29 +08:00
Ivan Grokhotkov
ae08bdcc31 freertos: fix compilation warning in single core mode
When tickless idle is enabled
2018-11-05 12:18:29 +08:00
Ivan Grokhotkov
b7841ec313 freertos: use xTaskQueueMutex to protect tick count
Having two different spinlocks is problematic due to possibly
different order in which the locks will be taken. Changing the order
would require significant restructuring of kernel code which is
undesirable.

An additional place where taking xTickCountMutex was needed was in
vApplicationSleep function. Not taking xTickCountMutex resulted in
other CPU sometimes possibly advancing tick count while light sleep
entry/exit was happening. Taking xTickCountMutex in addition to
xTaskQueueMutex has shown a problem that in different code paths,
these two spinlocks could be taken in different order, leading to
(unlikely, but possible) deadlocks.
2018-11-05 03:08:26 +00:00
Jiang Jiang Jian
4f4bed5e65 Merge branch 'test/change_iperf_test_env' into 'master'
test: use simplified env to test iperf cases

See merge request idf/esp-idf!3554
2018-11-05 11:05:45 +08:00
He Yin Ling
242724bbe9 Merge branch 'test/fix_bug_of_scan_interval_and_windows' into 'master'
test: fix bug of scan interval and window

See merge request idf/esp-idf!3606
2018-11-05 11:00:58 +08:00
Ivan Grokhotkov
7c5fd9326a Merge branch 'bugfix/ci_make_html' into 'master'
ci: revert accidental change from f0eb9985b9

See merge request idf/esp-idf!3607
2018-11-02 20:38:16 +08:00
baohongde
b33cdfc1f5 components/bt: Put function in isr into iram 2018-11-02 16:37:52 +08:00
Jiang Jiang Jian
930da8fd31 Merge branch 'bugfix/iperf_bt_error_when_wifi_connect' into 'master'
components/bt: Point ACL RX buffer ptr to ACL RX buffer if ACL RX buffer ptr is null

See merge request idf/esp-idf!3536
2018-11-02 16:12:31 +08:00
Ivan Grokhotkov
7d465a5487 Merge branch 'bugfix/event_perf_test_psram' into 'master'
esp_event: lower test performance threshold for PSRAM config

Closes #34

See merge request idf/esp-idf!3603
2018-11-02 14:12:17 +08:00
Angus Gratton
74d8806af0 Merge branch 'bugfix/build_example_make' into 'master'
Better detection failures in built_examples

See merge request idf/esp-idf!3604
2018-11-02 13:04:40 +08:00
Angus Gratton
3f82d21d0e Merge branch 'test/fix_unit_test_script_cant_process_test_command' into 'master'
test: fix UT script can't process cmd after reset

See merge request idf/esp-idf!3372
2018-11-02 13:02:42 +08:00
Ivan Grokhotkov
8e216e4832 Merge branch 'bugfix/example_tests_trow_readable_errors' into 'master'
MQTT Example tests cleanup, python 2 and 3 support

See merge request idf/esp-idf!3387
2018-11-01 22:28:31 +08:00
Konstantin Kondrashov
84f1eb5eac newlib: Fix UT adjtime 2018-11-01 20:34:39 +08:00
baohongde
f2309f1013 components/bt: Point ACL RX buffer ptr to ACL RX buffer if ACL RX buffer ptr is null
1. When WIFI task or other high priority task blocks the Bluetooth task, ACL RX buffer will use up, ACL RX buffer ptr will point to null and will never point to a valid adress. Causing errors in Bluetooth.
2. hcimsgs.h used whether flow control is on or off
2018-11-01 17:33:44 +08:00
David Cermak
8ce1f55b59 mqtt: example tests refactored to provide descriptive failures, addapted to python23, removed workarround for launching without mqtt-paho package 2018-11-01 09:04:09 +01:00
Jiang Jiang Jian
12b2268ee5 Merge branch 'bugfix/btdm_sniff_anchor_point_calculation_error' into 'master'
bugfix/btdm_sniff_anchor_point_calculation_error

See merge request idf/esp-idf!3582
2018-11-01 15:58:00 +08:00
Jiang Jiang Jian
a60a71ff07 Merge branch 'bugfix/btdm_name_buffer_allocation_size_differs' into 'master'
components/bt: Fix the different size of name buffer allocation size

See merge request idf/esp-idf!3587
2018-11-01 15:56:45 +08:00
Jiang Jiang Jian
cac7b951a8 Merge branch 'bugfix/btdm_fix_get_attr_value_error' into 'master'
Component/bt: fix get attr value API error

See merge request idf/esp-idf!3583
2018-11-01 15:55:22 +08:00
Jiang Jiang Jian
b601fcfde0 Merge branch 'bugfix/btdm_fix_ble_cannt_send_or_receive_packet_sometimes' into 'master'
Component/bt: fix ble cannot send or receive packet sometimes

See merge request idf/esp-idf!3585
2018-11-01 15:55:05 +08:00
Sagar Bijwe
fbcc160675 mbedtls: Fix compilation errors when CONFIG_MBEDTLS_HARDWARE_AES is disabled 2018-11-01 12:08:45 +05:30
Ivan Grokhotkov
d98d1ef1c2 Merge branch 'bugfix/bootloader_iram_overlap_check' into 'master'
bootloader: verify that loaded image does not overlap bootloader code

See merge request idf/esp-idf!3409
2018-11-01 13:56:43 +08:00
Ivan Grokhotkov
d28c99d36c esp_event: lower test performance threshold for PSRAM config 2018-11-01 13:50:08 +08:00
Ivan Grokhotkov
b9366d2c64 ci: revert accidental change from f0eb9985b9 2018-11-01 12:56:07 +08:00
Ivan Grokhotkov
cd38970ef9 Merge branch 'bugfix/wl_version_update' into 'master'
Version update from V1 to V2 now done in correct way.

See merge request idf/esp-idf!3557
2018-11-01 12:50:49 +08:00
Ivan Grokhotkov
c18890875e Merge branch 'doc/issue_template_compiler_version' into 'master'
doc: include compiler version in issue template

See merge request idf/esp-idf!3357
2018-11-01 12:16:30 +08:00
chensheng
d336f1513f test: fix bug of scan interval and window 2018-11-01 11:54:52 +08:00
Anton Maklakov
0fb6f619c5 ci: Detect undetectable failures in build_examples 2018-11-01 11:38:41 +08:00
Anton Maklakov
124919bfc6 ci: Count build_example jobs in decimal instead of octal 2018-11-01 10:52:19 +08:00
baohongde
373f1c121b component/bt: bugfix of error when entering sniff mode with attempt large than 0xFF 2018-10-31 16:16:49 +00:00
wangmengyang
159d4ac742 component/bt: bugfix for the error in calculation sniff anchor point which can result in supervision timeout after connection is brought into sniff mode 2018-10-31 16:16:49 +00:00
zhiweijian
1716d12547 Component/bt: fix ble cannot send or receive packet sometimes 2018-10-31 16:13:51 +00:00
wangmengyang
7bb83b0056 component/bt: allow dynamic allocation of SBC encoder/decoder buffer used in A2DP to save internal DRAM 2018-10-31 16:11:49 +00:00
Ivan Grokhotkov
a4357aed91 Merge branch 'fix/spi_test_memory_layout' into 'master'
test: fix the unit test fail issue under single_core config

See merge request idf/esp-idf!3596
2018-10-31 21:37:56 +08:00
Jiang Jiang Jian
dba29eeb2e Merge branch 'bugfix/btdm_change_default_CoD_of_BT_profile' into 'master'
components/bt: Set default Class of Device of BT profile

See merge request idf/esp-idf!3564
2018-10-31 20:51:15 +08:00
baohongde
e19a352a2b components/bt: Fix the different size of name buffer allocation size
Close https://github.com/espressif/esp-idf/issues/2615
2018-10-31 17:39:31 +08:00
Jiang Jiang Jian
39c03558e8 Merge branch 'bugfix/btdm_add_attr_handle_for_ESP_GATTS_CONF_EVT' into 'master'
Component/bt: add attr_handle for ESP_GATTS_CONF_EVT

See merge request idf/esp-idf!3492
2018-10-31 17:20:47 +08:00
Michael (XIAO Xufeng)
4132834faa test: fix the unit test fail issue under single_core config
Introduced in 97e3542947.

The previous commit frees the IRAM part when single core, but doesn't
change the memory layout functions. The unit test mallocs IRAM memory
from the heap, accidently into the new-released region, which doesn't
match the memory layout function.

This commit update the memory layout function to fix this.
2018-10-31 17:04:32 +08:00
Angus Gratton
a51d5706f6 Merge branch 'bugfix/minor_doc_fixes' into 'master'
Documentation fixes

See merge request idf/esp-idf!3529
2018-10-31 13:23:58 +08:00
Angus Gratton
e4369aaed4 Merge branch 'feature/mqtt_mutual_auth' into 'master'
MQTT: Added client cert ssl example per PR from GitHub

See merge request idf/esp-idf!3473
2018-10-31 07:06:58 +08:00
Jitin George
3551b84c3a esp_http_client: Fix crash in async mode
Closes https://github.com/espressif/esp-idf/issues/2624
2018-10-30 09:58:57 +00:00
Jiang Jiang Jian
97e3542947 Merge branch 'bugfix/release_some_memory_on_single_core_mode' into 'master'
release memory not used in single core mode

See merge request idf/esp-idf!2733
2018-10-30 15:53:31 +08:00
Jiang Jiang Jian
f6dd3520c4 Merge branch 'bugfix/assert_when_do_wps_with_mikrotik' into 'master'
wifi: bugfix of assert when do wps with mikrotik

See merge request idf/esp-idf!3572
2018-10-30 15:52:02 +08:00
Jiang Jiang Jian
d335bdcf71 Merge branch 'bugfix/btdm_reduce_iram_size' into 'master'
components/bt: Reduce IRAM size

See merge request idf/esp-idf!3574
2018-10-30 15:17:06 +08:00
David Cermak
0cdb33c9dd mqtt: ssl mutual authentication example added per PR from github, corrected cmake build, updated per idf style
Merges https://github.com/espressif/esp-idf/pull/2490
2018-10-30 08:04:09 +01:00
Riccardo Binetti
49df479486 mqtt: Add ssl mutual authentication example
Signed-off-by: David Cermak <cermak@espressif.com>
2018-10-30 08:04:09 +01:00
Riccardo Binetti
9ce8e1e5a1 transport_ssl: add support for mutual SSL authentication
Signed-off-by: David Cermak <cermak@espressif.com>
2018-10-30 08:04:09 +01:00
Riccardo Binetti
dec70a7601 esp-tls: add support for mutual SSL authentication
Signed-off-by: David Cermak <cermak@espressif.com>
2018-10-30 08:04:09 +01:00
zhiweijian
950fe25120 Component/bt: fix get attr value API error 2018-10-30 15:00:23 +08:00
Angus Gratton
b650d19c6b Merge branch 'bugfix/docs_fixes_from_github' into 'master'
Documentation bugfixes from GitHub

See merge request idf/esp-idf!3570
2018-10-30 07:40:16 +08:00
Deng Xin
b8784a1863 wifi: bugfix of assert when do wps with mikrotik
Problem Decribe

The problem happenned when do wps with a mikrotik router
1. router always want to do connect with 32 without EAP-WSC step
2. after 4 way timeour, 32 crash

Root Cause

The reason why can not start EAP-WSC step is router's check method is RSN > WPA > WPS, when it found there include RSN and WPS in assoc, it will choice do 4 way rather than WPS
The reason of second problem is 32's EAPOL start timer didn't stop and send EAPOL start to a null pointer

Soultion
1. remove RSN and WPA ie when do WPS step
2. check mac address's pointer before send EAPOL start

closes: https://github.com/espressif/esp-idf/issues/2382
2018-10-29 13:29:41 +00:00
Michael (XIAO Xufeng)
ff346f92af psram: add test for 4M psram 2018-10-29 20:26:30 +08:00
Michael (XIAO Xufeng)
20a666fe03 esp32: support to use hspi to output clock for 4MB PSRAM
Resolves https://github.com/espressif/esp-idf/issues/2128.
2018-10-29 20:22:44 +08:00
Michael (XIAO Xufeng)
9b5d0f3322 spi: shown owner of spi host explicitly 2018-10-29 20:22:44 +08:00
baohongde
df5839420d components/bt: Reduce IRAM size
libbtdm: 2608B
idf: 924B
2018-10-29 16:54:32 +08:00
Angus Gratton
98a80ccdab Merge branch 'bugfix/mdns_crash_on_network_change' into 'master'
Fixed mdns crashes on network changes

See merge request idf/esp-idf!3546
2018-10-29 16:31:52 +08:00
Angus Gratton
11082598d6 Merge branch 'bugfix/doc_provisioning' into 'master'
Docs : Provisioning docs and READMEs updated with links to phone apps

See merge request idf/esp-idf!3511
2018-10-29 14:56:32 +08:00
Hrishikesh Dhayagude
55dfb79e91 examples/bluetooth: Miscellaneous fixes in some of the examples
This closes:
https://github.com/espressif/esp-idf/issues/2617
https://github.com/espressif/esp-idf/issues/2622

Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-10-29 11:14:09 +05:30
XiaXiaotian
901e2af793 esp32: do not try to load PHY data if fail to open NVS 2018-10-29 02:24:58 +00:00
Angus Gratton
7efbe8178b Merge branch 'feat/sdio_slave_init_doc' into 'master'
sdio_slave: add documentation for the standard init process

See merge request idf/esp-idf!3548
2018-10-29 09:07:30 +08:00
Peter Meerwald-Stadler
6a197d305f Fix some typos related to ethernet documentation and Kconfig. Closes https://github.com/espressif/esp-idf/pull/2642 2018-10-28 21:12:09 +01:00
fabianpedd
618236d8ff Fixed spelling in build-system.rst. Closes https://github.com/espressif/esp-idf/pull/2641 2018-10-28 21:07:48 +01:00
baohongde
67e62aa105 components/bt: Set default Class of Device of BT profile
The CoD of each profile both are 0x2c0414, now they are as follow:
A2DP sink:   0x240414
A2DP source: 0x280400
HFP:         0x200408
SPP:         0x001F00
2018-10-26 17:03:39 +08:00
Michael (XIAO Xufeng)
7fe4f987fd sdio_slave: add documentation for the standard init process 2018-10-26 16:56:18 +08:00
He Yin Ling
eac02c2fcd test: use simplified env to test iperf cases 2018-10-26 16:53:57 +08:00
He Yin Ling
2b4e34171b test: fix UT script can't process cmd after reset:
There's still a small chance that can't process command issue still
happen on some runners. Now we change the way to detect if the runner
reset finished: input `-` to check test history for a few times until it
succeeded. If DUT can process check history command, then it should be
able to process other test commands.
2018-10-26 08:42:22 +00:00
Renz Bagaporo
9459526e50 examples: Add partition API examples 2018-10-26 15:46:53 +08:00
Dmitry
82eca97300 Version update from V1 to V2 now done in correct way.
Before this works only first time.
The source and test updated.
State length was changed to macro.
2018-10-26 09:21:30 +03:00
Angus Gratton
f55509bd3f Merge branch 'bugfix/py3_ci' into 'master'
Fix Python3 compatibility issues

See merge request idf/esp-idf!3487
2018-10-26 13:45:19 +08:00
Angus Gratton
bd90f534fb Merge branch 'feature/esp_event_loop_library' into 'master'
event: Implement event loop library

See merge request idf/esp-idf!2881
2018-10-26 13:14:19 +08:00
Renz Christian Bagaporo
5a83347bec event: Implement event loop library 2018-10-26 13:14:19 +08:00
Angus Gratton
cdb10ec5ad Merge branch 'bugfix/rename_http_server' into 'master'
Rename http_server component to esp_http_server

See merge request idf/esp-idf!3553
2018-10-26 12:59:38 +08:00
Angus Gratton
76fcee55a6 Merge branch 'bugfix/idf_pyserial_error' into 'master'
idf.py: Import from pyserial after packages have been checked

See merge request idf/esp-idf!3519
2018-10-26 12:58:03 +08:00
Ivan Grokhotkov
9eeec5d7da doc: include compiler version in issue template 2018-10-26 12:47:32 +08:00
Ivan Grokhotkov
73d1b5a7a0 bootloader: verify that loaded image does not overlap bootloader code
Fixes CVE-2018-18558
2018-10-26 12:44:10 +08:00
morris
0a2049582e bugfix: minor_doc_fixes into Chinese 2018-10-26 12:42:38 +08:00
Ivan Grokhotkov
338012b776 docs: use generated links in CMake getting started guides 2018-10-26 12:42:38 +08:00
Ivan Grokhotkov
5a3c0d8adf esp_timer: document limitations on timeout/period
Closes https://github.com/espressif/esp-idf/issues/2572
Closes https://github.com/espressif/esp-idf/issues/2350
2018-10-26 12:42:38 +08:00
Ivan Grokhotkov
c8fe9f696c docs: fix instructions for building toolchain on macOS
Closes https://github.com/espressif/esp-idf/issues/503
Closes https://github.com/espressif/esp-idf/issues/2607
2018-10-26 12:42:38 +08:00
Ivan Grokhotkov
d3f5882ed7 docs: fix git submodule update command
Closes https://github.com/espressif/esp-idf/issues/2584
2018-10-26 12:42:38 +08:00
Angus Gratton
5bcd864430 Merge branch 'fix/spi_polling_speed_test' into 'master'
spi: speed up polling performance and fix several tests

Closes #33

See merge request idf/esp-idf!3530
2018-10-26 12:41:00 +08:00
Angus Gratton
705d184af2 Merge branch 'bugfix/missing_header_file' into 'master'
esp32: Add missing header file in esp_task.h

See merge request idf/esp-idf!3353
2018-10-26 12:19:50 +08:00
Angus Gratton
b47aca1175 doc: Fix doc builds on Windows MINGW32, add some doc build documentation
Using "find" doesn't work properly in MINGW32 Python, even if a MINGW32 find.exe
is on the PATH...
2018-10-26 04:04:56 +00:00
Ivan Grokhotkov
1e0ba34177 Merge branch 'ci/only_create_required_jobs_in_pipeline' into 'master'
CI: only create required jobs when use bot to trigger test

See merge request idf/esp-idf!3404
2018-10-26 11:56:22 +08:00
Jiang Jiang Jian
c884d0a3bc Merge branch 'bugfix/fix_some_wifi_bugs_1022' into 'master'
esp32: fix some wifi bugs

See merge request idf/esp-idf!3539
2018-10-26 11:50:44 +08:00
Jiang Jiang Jian
93dbf2f3ba Merge branch 'bugfix/btdm_read_multiple_return_callback_status_ESP_GATT_STACK_RSP' into 'master'
Component/bt: fix read multiple return callback status: ESP_GATT_STACK_RSP

See merge request idf/esp-idf!3437
2018-10-26 11:41:18 +08:00
Jiang Jiang Jian
0bc364f7ea Merge branch 'bugfix/btdm_add_sniff_mode_to_spp' into 'master'
components/bt: Add sniff mode to SPP

See merge request idf/esp-idf!3472
2018-10-26 11:38:50 +08:00
Jiang Jiang Jian
762c04bd61 Merge branch 'bugfix/btdm_disconnect_ble_when_ESP_BLE_SM_ONLY_ACCEPT_SPECIFIED_SEC_AUTH_failed' into 'master'
Component/bt: add ble disconnect when ACCEPT_SPECIFIED_SEC_AUTH failed

See merge request idf/esp-idf!3465
2018-10-26 11:34:26 +08:00
Anton Maklakov
6e6f07ba59 http: Compare case-insensitive URI schemes like as in other places 2018-10-25 21:03:44 +08:00
Jitin George
e37aba0d93 esp-tls: Fix documentaion issue in esp_tls_conn_new_async API
Closes https://github.com/espressif/esp-idf/issues/2576
2018-10-25 09:13:49 +00:00
Liu Zhi Fu
8404b2546d esp32: fix some wifi bugs
Fix following WiFi bugs:
1. Fix the bug that MIC verification fails on soft-AP mode
2. Modify mesh root to have same behavior as normal WiFi STA in state change
3. Fix the bug that sniffer can't catch control packets
4. Fix crash bug in soft-AP mode
5. Fix ACM(Admission Control Management) bug
2018-10-25 16:47:57 +08:00
Jiang Jiang Jian
822de0d038 Merge branch 'bugfix/btdm_fix_remove_bond_list_failed' into 'master'
component/bt: fix remove bond list failed

See merge request idf/esp-idf!3475
2018-10-25 15:14:14 +08:00
zhiweijian
4e81705ca2 Component/bt: support OOB in SMP 2018-10-25 07:09:59 +00:00
Roland Dobai
f59358dad3 idf.py: Import from pyserial after packages have been checked
Closes https://github.com/espressif/esp-idf/issues/2573
2018-10-25 08:38:00 +02:00
zhiweijian
6b96a3c23b Component/bt: add ble disconnect when ACCEPT_SPECIFIED_SEC_AUTH failed 2018-10-25 06:03:16 +00:00
Michael (XIAO Xufeng)
90d229eb6d spi_master: speed up polling performance by putting into IRAM 2018-10-25 12:31:45 +08:00
Michael (XIAO Xufeng)
d0361a32d7 test: fix the IRAM type conflict issue using heap_caps_malloc 2018-10-25 12:31:44 +08:00
zwj
501ebabc4e component/bt: fix remove bond list failed 2018-10-24 23:23:50 +00:00
Anurag Kar
e2b1ae259d Protocomm : Use esp_http_server instead of http_server 2018-10-24 17:32:43 +05:30
Anurag Kar
12b60c51be HTTP Server Docs : Replace http_server with esp_http_server 2018-10-24 17:32:43 +05:30
Anurag Kar
8340ed3ddb HTTP Server Examples : Include header esp_http_server.h 2018-10-24 17:32:43 +05:30
Anurag Kar
2af9d7e0ed HTTP Server : Added esp_ prefix to http_server component files 2018-10-24 17:32:20 +05:30
David Cermak
097282a8e3 mdns: fixed crashes on network changes
1) two events AP_STOP, AP_START shortly after each other may cause IGMP config on already stopped netif
2) not properly locked sending packets to queue from timer task

closes #2580
2018-10-24 12:03:41 +02:00
Roland Dobai
9daf51e6be Fix Python 3 compatibility issues 2018-10-24 11:20:54 +02:00
He Yin Ling
722a7e3b53 CI: only create required jobs when use bot to trigger test:
Gitlab CI now allow us to define if a job need to be created by
varialbes. This commit add label to CI jobs, so we can make some jobs
not created in certain scenarios when we trigger pipeline with @bot.
2018-10-24 09:19:39 +00:00
Angus Gratton
7c29a39d6f Merge branch 'feature/ci_multi_python' into 'master'
CI: Support switching between various versions of Python

See merge request idf/esp-idf!3520
2018-10-24 17:00:38 +08:00
Jiang Jiang Jian
0de637cf9e Merge branch 'bugfix/tw26711_fix_wifi_memory' into 'master'
esp32: fix wifi memory leak

See merge request idf/esp-idf!3523
2018-10-22 21:20:14 +08:00
Angus Gratton
38bd836d05 Merge branch 'feature/cmake-unit-test' into 'master'
cmake: add unit tests build support

See merge request idf/esp-idf!3003
2018-10-22 16:29:15 +08:00
Angus Gratton
b964f389db Merge branch 'bugfix/gcc8_compatibility' into 'master'
gcc8 compatibility for master branch

See merge request idf/esp-idf!3481
2018-10-22 11:11:04 +08:00
Angus Gratton
44291e818e Merge branch 'feature/docs_getting_started_guides_cn' into 'master'
Added CN version of 'Getting Started' guides for 'ESP32-DevKitC' and 'ESP-WROVER-KIT'

See merge request idf/esp-idf!3408
2018-10-22 09:10:58 +08:00
Krzysztof Budzynski
46c2112400 Added CN version of 'Getting Started' guides for 'ESP32-DevKitC' and 'ESP-WROVER-KIT' 2018-10-22 09:10:58 +08:00
Liu Zhi Fu
20217c7dfe esp32: fix wifi memory leak
Fix a WiFi memory leak bug
2018-10-21 20:37:08 +08:00
Anton Maklakov
4319e234e2 tcp_transport: Remove the ignore warning because we had idf/esp-idf!3359 2018-10-21 15:11:45 +08:00
Anton Maklakov
4a126e18ed docs: Correct Linux port names for more relevance 2018-10-21 15:11:45 +08:00
Anton Maklakov
e3fce506b8 test_spi_slave: fix warnings about unused identifiers 2018-10-21 15:11:45 +08:00
Anton Maklakov
ef84773689 intr: fix a type mismatch warning 2018-10-21 15:11:45 +08:00
Anton Maklakov
92caddb501 pthread: fix a type mismatch warning 2018-10-21 15:11:45 +08:00
Renz Bagaporo
cc774111bf cmake: Add support for test build 2018-10-20 12:07:24 +08:00
Roland Dobai
824e5fac23 CI: Support switching between various versions of Python 2018-10-19 11:12:11 +02:00
zhiweijian
44827bb681 Component/bt: add attr_handle for ESP_GATTS_CONF_EVT 2018-10-19 08:19:36 +00:00
Jiang Jiang Jian
129d32772e Merge branch 'feature/add_ping_packet_len_and_QoS' into 'master'
ping: add length and QoS

See merge request idf/esp-idf!3379
2018-10-19 15:29:58 +08:00
Ivan Grokhotkov
0663ab7609 Merge branch 'feature/uart_rs485_test' into 'master'
driver: rs485 test support

See merge request idf/esp-idf!2701
2018-10-19 13:05:55 +08:00
Ivan Grokhotkov
699070e3a0 Merge branch 'feature/simple_sniffer' into 'master'
wifi sniffer example

See merge request idf/esp-idf!3412
2018-10-19 12:42:32 +08:00
Ivan Grokhotkov
606acde236 Merge branch 'feature/freemodbus_slave_support_upd' into 'feature/uart_rs485_test'
examples: freemodbus port slave basic implementation

See merge request idf/esp-idf!3468
2018-10-19 12:35:00 +08:00
Ivan Grokhotkov
3e65ce3e93 Merge branch 'bugfix/unit_tests_tcpip_adapter' into 'master'
unit tests: Only initialise tcpip_adapter() when needed by the test

See merge request idf/esp-idf!3364
2018-10-19 12:33:09 +08:00
Ivan Grokhotkov
bd11965f6c Merge branch 'bugfix/ndebug_build' into 'master'
soc,sdmmc: fix build failures when NDEBUG is used

See merge request idf/esp-idf!3352
2018-10-19 11:55:37 +08:00
morris
900b69a33e example: add console command for wifi sniffer
1. add mount/unmount command
2. add sniffer command, supporting options
3. make pcap a component
2018-10-19 11:51:56 +08:00
Ivan Grokhotkov
c02e218da1 Merge branch 'bugfix/asio_consistent_example_names' into 'master'
Renamed examples to be consistent no matter which build system used

See merge request idf/esp-idf!3257
2018-10-19 10:25:47 +08:00
Ivan Grokhotkov
c76f71cd5f Merge branch 'bugfix/move_ringbuf_lib_to_iram' into 'master'
esp_ringbuf: fix default placement from flash to IRAM

See merge request idf/esp-idf!3452
2018-10-18 22:57:46 +08:00
Ivan Grokhotkov
ebe0e2939a Merge branch 'bugfix/ci_missing_outputs' into 'master'
Tiny-test-fw: Fix string comparison which cases ignore of test cases

See merge request idf/esp-idf!3458
2018-10-18 22:41:48 +08:00
Ivan Grokhotkov
efa43df039 Merge branch 'bugfix/fix_random_failure_with_ota_updates' into 'master'
app_update: fix intermittent failure with firmware updates

See merge request idf/esp-idf!3401
2018-10-18 22:32:33 +08:00
Jiang Jiang Jian
f47ae9fc26 Merge branch 'bugfix/coex_hw_blocking_2nd' into 'master'
coexist : fix coexist bugs related to coex hw blocking

See merge request idf/esp-idf!3414
2018-10-18 21:25:24 +08:00
Anurag Kar
2bb669cfbd Docs : Provisioning docs and READMEs updated with links to GitHub repositories of Android and iOS apps 2018-10-18 18:23:03 +05:30
Jiang Jiang Jian
88d4217f07 Merge branch 'bugfix/fix_autoip_bug' into 'master'
fix the compile bug for autoip

See merge request idf/esp-idf!3450
2018-10-18 14:55:34 +08:00
Angus Gratton
edb59d0909 Merge branch 'bugfix/idf_tools_installer' into 'master'
IDF Tools Installer for Windows: Python requirements, ULP & openocd, signed installer

See merge request idf/esp-idf!3428
2018-10-18 14:22:15 +08:00
Mahavir Jain
26845936b3 app_update: remove unrequired static attribute from mmap handle 2018-10-18 04:38:31 +00:00
Mahavir Jain
b3aff63db4 app_update: fix intermittent failure with firmware updates
Routine `spi_flash_cache2phys` sometimes return incorrect value,
resulting in failure in getting currently running ota partition.
This in turn aborts firmware update process.This issue was more
prominent with SPIRAM enabled cases.

Fix ensures proper cache guards during `spi_flash_cache2phys`, and
also for few other similar APIs.

In addition, `esp_ota_get_running_partition` has also been optimized
to save currently running partition for subsequent invocations.

Fixes https://github.com/espressif/esp-idf/issues/2451
2018-10-18 04:38:31 +00:00
Mahavir Jain
49130c6b34 esp_ringbuf: fix default placement from flash to IRAM
In earlier change this component was decoupled from freertos and hence
regression was introduced which changed default placement to flash. Some
device drivers make use of ringbuffer while flash cache is being disabled
and hence default placement should instead be internal memory.

Closes: https://github.com/espressif/esp-idf/issues/2517
2018-10-17 23:34:07 -05:00
Ivan Grokhotkov
d91b18080b unit test: split psram config into two configs to free up IRAM 2018-10-17 23:34:07 -05:00
Tian Hao
6934a739d7 coexist : fix coexist bugs related to coex hw blocking
1. fix some bugs by previous coex hw blocking bugfix,
   such like, rwble.c (64, 0) line 222
2. fix bug that ble scan performance is very low when software coexist
   is working.
3. update libcoexist version to v1.1.0
2018-10-18 11:49:10 +08:00
Ivan Grokhotkov
18684f53ee Merge branch 'bugfix/uart_wait_idle' into 'master'
uart: fix uart_tx_wait_idle to wait for fifo empty

See merge request idf/esp-idf!3489
2018-10-18 11:25:59 +08:00
Jiang Jiang Jian
9b566a8965 Merge branch 'bugfix/wpa2_fixes' into 'master'
wpa2_enterprise fixes from Github

See merge request idf/esp-idf!3166
2018-10-18 11:10:10 +08:00
Jiang Jiang Jian
7f9dfc060c Merge branch 'mesh/bugfix_esp_ssid_ie' into 'master'
mesh: fix a bug in generating ESP-SSID IE

See merge request idf/esp-idf!3382
2018-10-18 11:06:44 +08:00
Angus Gratton
ca74afd5ca Merge branch 'feature/httpd_sock_err' into 'master'
HTTP Server : Return HTTPD_SOCK_ERR_ based on errno set during send / recv

See merge request idf/esp-idf!3445
2018-10-18 06:59:47 +08:00
Angus Gratton
dac6fd3434 cmake: Fix Windows issue running menuconfig in Command Prompt if winpty on Path
Previous version assumed having winpty on the Path meant that it would be needed,
but some tools (like Atlassian Sourcetree) permanently add winpty to the path.

Symptom is arrow keys not working in menuconfig dialog.
2018-10-18 09:56:16 +11:00
Angus Gratton
da0f9717be Sign IDF Tools installer with 'osslsigncode', update to V1.2
Uninstaller is still unsigned, as currently building and signing in 'wine'
and running Linux osslsigncode inside Inno Setup inside wine is awkward.

Closes https://github.com/espressif/esp-idf/issues/1909
TW20810
2018-10-18 09:56:16 +11:00
Angus Gratton
efd62a50b9 windows: Add License (GPL) display to IDF Tools installer 2018-10-18 09:56:16 +11:00
Angus Gratton
0798251355 windows: Add Python dependencies, openocd, and ULP to installer 2018-10-18 09:56:16 +11:00
Angus Gratton
9509c7c1c1 docs: Recommend native 'cryptography' package on Linux as well 2018-10-18 09:56:16 +11:00
Angus Gratton
159ff6e08e unit tests: Only initialise tcpip_adapter() when needed by the test
Prevents unexpected memory allocations when running tests which
don't require tcpip_adapter.
2018-10-17 22:53:46 +00:00
David Cermak
9784df1c3a asio: examples renamed to have consistent binary names when build in make and CMake 2018-10-17 15:00:26 +02:00
zhiweijian
30ea8c7048 Component/bt: read multiple return callback status: ESP_GATT_STACK_RSP 2018-10-17 12:34:34 +00:00
Anurag Kar
a0961ad79c HTTP Server Docs : Updated to demonstrate handling of timeout errors 2018-10-17 17:36:50 +05:30
Anurag Kar
6a3fa5c180 HTTP Server Examples : Updated examples to manually return 408 and 500 errors 2018-10-17 17:36:50 +05:30
Anurag Kar
1437646ae0 HTTP Server : Automated 408 error response restricted to timeout in receiving packet header 2018-10-17 17:36:50 +05:30
Anurag Kar
ae5989528e HTTP Server : Added helper functions for sending HTTP error 408 and 500 2018-10-17 17:36:50 +05:30
Anurag Kar
30632c0c34 HTTP Server : Bug fixed in httpd_recv logic and updated function descriptions 2018-10-17 17:36:50 +05:30
Anurag Kar
7e04e283d5 HTTP Server : Use getsockopt instead of errno 2018-10-17 17:36:50 +05:30
Anurag Kar
47a106879a HTTP Server : Return HTTPD_SOCK_ERR_ based on errno set during send / recv
This feature allows `httpd_req_recv()` and `httpd_send()` functions to return
specific `HTTPD_SOCK_ERR_` codes in case of socket errors. This is useful
in case of errors like `EAGAIN`, `EINTR`, etc. when the user may want to
retry `httpd_req_recv()` / `httpd_send()` function call.
2018-10-17 17:36:50 +05:30
Alex Lisitsyn
f0eb9985b9 examples: freemodbus port slave basic implementation
This example adds functionality to support basic communication in RS485 networks using Modbus protocol.
This example uses FreeModbus stack and regular UART driver API to communicate in RS485 half duplex mode.
Added initial support of modbus controller pure C api to access device parameters over Modbus transport.
Move freemodbus stack and port files into components folder
Move the modbus_controller interface into components idf folder
Source files updated after review.
Add modbus interface documentation docs/en/api-reference/protocols/modbus.rst
porttimer.c: fix bug with timer1 selected in the Kconfig
Add support of cmake system (added cmake files)

Closes https://github.com/espressif/esp-idf/issues/858
2018-10-17 12:47:12 +02:00
Alex Lisitsyn
5b7b64b946 driver: rs485 test support (remove timeout tag)
Adds test functionality with TEST_CASE_MULTIPLE_DEVICES() macro for RS485 test support.
2018-10-17 12:47:12 +02:00
Alex Lisitsyn
61bc733791 driver: rs485 test support
Adds test functionality with TEST_CASE_MULTIPLE_DEVICES() macro for RS485 test support.
2018-10-17 12:45:56 +02:00
qiyueixa
71b5dcfd73 mesh: fix a bug in generating ESP-SSID IE
1. wifi: if Wi-Fi is not scanning, ignore beacons from different channels.
2018-10-17 17:52:29 +08:00
zhangyanjiao
32f3972284 add ping length and QoS 2018-10-17 09:39:27 +00:00
zhangyanjiao
e3322bde6f fix the compile bug for autoip 2018-10-17 09:32:08 +00:00
Roland Dobai
374f92c0a0 Tiny-test-fw: Fix string comparison which cases ignore of test cases
Example tests from examples/protocols/http_server/ were silently ignored
because of incompatible string comparisons.
2018-10-17 11:07:04 +02:00
island
024f27f3d5 component/bt: modify the BLE example to make it run with "numeric comparison" mode 2018-10-17 16:55:11 +08:00
Angus Gratton
222a7118a9 Merge branch 'docs/freertos_words_to_bytes' into 'master'
FreeRTOS: Update API reference from words to bytes

See merge request idf/esp-idf!3453
2018-10-17 16:41:28 +08:00
Ivan Grokhotkov
d57132b212 Merge branch 'bugfix/tw26696_fix_wifi_timer' into 'master'
esp32: fix WiFi timer inaccurate bug

See merge request idf/esp-idf!3471
2018-10-17 16:37:22 +08:00
Angus Gratton
b573812d39 Merge branch 'feature/sockets_example' into 'master'
Feature/sockets example

See merge request idf/esp-idf!3447
2018-10-17 15:24:38 +08:00
Angus Gratton
813c0748e7 Merge branch 'feature/i2c-tools' into 'master'
add i2c-tools example

See merge request idf/esp-idf!3483
2018-10-17 15:23:48 +08:00
Angus Gratton
dad3531f96 Merge branch 'update/mfg_gen' into 'master'
Update mfg utility and nvs partition utility to make Python2 and Python3 compatible

See merge request idf/esp-idf!3243
2018-10-17 15:23:27 +08:00
Liu Zhi Fu
1afb8001dd esp32: fix WiFi timer inaccurate bug
Fix the bug that WiFi timer is not accurate when sleep is on
2018-10-17 09:47:25 +08:00
Angus Gratton
95e4bdf030 Merge branch 'bugfix/run_esptool_espport' into 'master'
cmake: Handle ESPPORT environment variable correctly

See merge request idf/esp-idf!3482
2018-10-17 08:14:20 +08:00
morris
6d1e23796f i2c/i2c-tools: add i2c-tools example
1. add command i2cconfig
2. add command i2cdetect
3. add command i2cget
4. add command i2cset
5. add command i2cdump
6. add README.md
2018-10-16 16:13:21 +08:00
MartinValik
5a76f1af19 BSD Socket examples 2018-10-16 09:48:57 +02:00
Angus Gratton
66a54c7abf Merge branch 'feature/34_coding_scheme' into 'master'
bootloader: 3/4 Coding Scheme support

See merge request idf/esp-idf!3430
2018-10-16 15:07:43 +08:00
Angus Gratton
f53fef9936 Secure Boot & Flash encryption: Support 3/4 Coding Scheme
Includes esptool update to v2.6-beta1
2018-10-16 16:24:10 +11:00
Angus Gratton
7d7975d6c6 Merge branch 'bugfix/fuzzer_ci_tests_to_new_lwip' into 'master'
LWIP Fuzzer: updated fuzzer tests to be compatible with new lwip module

See merge request idf/esp-idf!3278
2018-10-16 08:01:00 +08:00
Ivan Grokhotkov
508fb79a26 uart: fix uart_tx_wait_idle to wait for fifo empty
In some cases, when data was just written into UART FIFO, transmitter
state could be still zero while the FIFO did contain some data.
This resulted in uart_tx_wait_idle occasionally returning before all
the data was sent out.
Fix by checking both UART transmitter state and TX FIFO count.
2018-10-15 20:08:16 +08:00
Angus Gratton
88625a2501 Merge branch 'bugfix/guide-download' into 'master'
Docs: Renamed download links to clearly state they are to download documentation.…

See merge request idf/esp-idf!3271
2018-10-15 16:27:44 +08:00
Jeroen Domburg
a78fd2b13c Merge branch 'feature/64mb_psram_support_base' into 'master'
Feature/64mb psram support base

See merge request idf/esp-idf!2887
2018-10-15 15:54:10 +08:00
Ivan Grokhotkov
a1f809fcc5 bootloader: provide implementation of abort
ROM definition of `abort` was removed in 9240bbb. The old definition
resulted in a panic due to a jump to a null pointer (abort member in
ROM stub table was zero). The new definition triggers a debug
exception if JTAG is connected, or goes into an infinite loop to be
reset by the WDT.
2018-10-15 15:02:56 +08:00
Ivan Grokhotkov
a20d9287fe soc: use _EARLY versions of ESP_LOG
Some logging done in soc component may happen before logging via
stdout is possible. Use _EARLY version of log calls to make sure that
output is visible. The downside is that application does not have a
way to silence these logs. However since the soc component doesn’t
use any LOGV/LOGD/LOGI and only logs warnings and errors, this should
not impact the application.
2018-10-15 14:59:46 +08:00
Ivan Grokhotkov
ab68b9d90d soc,sdmmc: fix build failures when NDEBUG is used
Use explicit error checking instead of asserts, use SOC_LOG to print
error/warning messages where needed.
2018-10-15 14:57:12 +08:00
Jeroen Domburg
81e35a142a Spiram: Add option to reserve MMU banks; add himem API to make use of those banks 2018-10-15 14:32:58 +08:00
Angus Gratton
897670b0ab cmake: Handle ESPPORT environment variable correctly
Closes https://github.com/espressif/esp-idf/issues/2553
2018-10-15 10:25:44 +11:00
Angus Gratton
1ee2bc46ed Merge branch 'doc/update_i2c_example_readme' into 'master'
cleanup readme of i2c example

See merge request idf/esp-idf!3449
2018-10-15 06:34:48 +08:00
Shivani Tipnis
75a4007675 Merge remote-tracking branch 'refs/remotes/origin/update/mfg_gen' into update/mfg_gen 2018-10-12 11:05:02 +05:30
Shivani Tipnis
7c08fcccaf util: Update docs as per review comments 2018-10-12 11:04:49 +05:30
Shivani Tipnis
5bee9faf49 tools: Add Python2 and Python3 compatibility support to nvs util tool and mfg tool 2018-10-12 11:04:49 +05:30
Shivani Tipnis
1d38d8a17f nvs_util: Add Python2 and Python3 compatible 2018-10-12 11:04:49 +05:30
Shivani Tipnis
0f6bcec2bc nvs_part_gen: Add changes to partition size input 2018-10-12 11:04:49 +05:30
Shivani Tipnis
60df21115e nvs_part_gen: Update to make python version compatible
(cherry picked from commit 3506b2d60792e5d4ed4f744b28f2da6733c6aae7)
2018-10-12 11:04:49 +05:30
Shivani Tipnis
302d339640 mfg_gen: Add changes to make Python2 and Python3 compatible 2018-10-12 11:04:49 +05:30
Shivani Tipnis
1f49e64730 Update mfg utility as per updated nvs partition util 2018-10-12 11:04:49 +05:30
Shivani Tipnis
1460f03065 nvs_util: Add Python2 and Python3 compatible 2018-10-12 11:04:49 +05:30
Shivani Tipnis
fb31788504 nvs_part_gen: Add changes to partition size input 2018-10-12 11:04:49 +05:30
Shivani Tipnis
4bc87a414f nvs_part_gen: Update to make python version compatible
(cherry picked from commit 3506b2d60792e5d4ed4f744b28f2da6733c6aae7)
2018-10-12 11:04:49 +05:30
Shivani Tipnis
807e72adce mfg_gen: Add changes to make Python2 and Python3 compatible 2018-10-12 11:04:49 +05:30
Shivani Tipnis
17c907b35e Update mfg utility as per updated nvs partition util 2018-10-12 11:04:49 +05:30
Shivani Tipnis
94f6b1a9ee util: Update docs as per review comments 2018-10-12 10:16:39 +05:30
baohongde
a6d054b079 components/bt: Add sniff mode to SPP
In idle state for a while, SPP will enter sniff mode.
2018-10-12 11:22:28 +08:00
morris
89d7f7bc89 doc/i2c-example: cleanup readme of i2c example
1. Update i2c README to add more detail according to the template.[TW#26530]
2. Move some specific configuration to KConfig
2018-10-12 10:24:39 +08:00
Angus Gratton
12bf6e599c Merge branch 'bugfix/doc_get_started_cmake' into 'master'
doc : Corrected git clone command parameters under get-started-cmake

See merge request idf/esp-idf!3466
2018-10-12 07:01:27 +08:00
Shivani Tipnis
64728a74f9 tools: Add Python2 and Python3 compatibility support to nvs util tool and mfg tool 2018-10-11 17:58:12 +05:30
Shivani Tipnis
b521f1b8ba nvs_util: Add Python2 and Python3 compatible 2018-10-11 17:58:12 +05:30
Shivani Tipnis
0064357a98 nvs_part_gen: Add changes to partition size input 2018-10-11 17:58:12 +05:30
Shivani Tipnis
226b6929e5 nvs_part_gen: Update to make python version compatible
(cherry picked from commit 3506b2d60792e5d4ed4f744b28f2da6733c6aae7)
2018-10-11 17:56:21 +05:30
Shivani Tipnis
24fa2342e8 mfg_gen: Add changes to make Python2 and Python3 compatible 2018-10-11 17:52:57 +05:30
Shivani Tipnis
dd2bc7256d Update mfg utility as per updated nvs partition util 2018-10-11 17:52:24 +05:30
Shivani Tipnis
dca5ac78f0 nvs_util: Add Python2 and Python3 compatible 2018-10-11 17:50:55 +05:30
Shivani Tipnis
cd7dcd0c85 nvs_part_gen: Add changes to partition size input 2018-10-11 17:50:55 +05:30
Shivani Tipnis
ff30a1fbd3 nvs_part_gen: Update to make python version compatible
(cherry picked from commit 3506b2d60792e5d4ed4f744b28f2da6733c6aae7)
2018-10-11 17:50:55 +05:30
Shivani Tipnis
98433d48f1 mfg_gen: Add changes to make Python2 and Python3 compatible 2018-10-11 17:50:55 +05:30
Shivani Tipnis
bc39e9ac75 Update mfg utility as per updated nvs partition util 2018-10-11 17:50:55 +05:30
Anurag Kar
9f1b38a4aa doc : Corrected git clone command parameters under get-started-cmake
Closes https://github.com/espressif/esp-idf/issues/2538
2018-10-11 11:38:55 +05:30
David Cermak
67153be14f lwip: updated fuzzer tests to be compatible with new lwip module 2018-10-11 08:05:14 +02:00
Jiang Jiang Jian
1a743ad66d Merge branch 'bugfix/several_bugfix_about_ba_session_setup' into 'master'
esp32: several fixes/optimizations about BlockAck(BA) setup

See merge request idf/esp-idf!3374
2018-10-11 11:28:20 +08:00
Angus Gratton
299704cec3 Merge branch 'feature/unified_provisioning' into 'master'
provisioning: This patch adds the unified provisioning support

See merge request idf/esp-idf!2812
2018-10-10 16:29:11 +08:00
Angus Gratton
3e0ff8e843 Merge branch 'doc/nvs_encr_doc' into 'master'
nvs_flash: Update documentation at various places to indicate NVS encryotion is supported

See merge request idf/esp-idf!3431
2018-10-10 14:58:15 +08:00
Angus Gratton
31cf117404 Merge branch 'feature/bss_seg_in_external_memory' into 'master'
memory:   support .bss segment can be in psram

See merge request idf/esp-idf!2236
2018-10-10 14:40:21 +08:00
Angus Gratton
fc2230aeda Merge branch 'feature/error_check_without_abort' into 'master'
esp32: Add macro to check a condition without abort

See merge request idf/esp-idf!3348
2018-10-10 14:31:38 +08:00
Angus Gratton
f1ccd47fdb Merge branch 'bugfix/fix_psram_eid' into 'master'
bugfix(psram): fix psram eid

See merge request idf/esp-idf!3392
2018-10-10 11:37:43 +08:00
Angus Gratton
7904da0600 Merge branch 'bugfix/httpd_default_content_type' into 'master'
HTTP Server : Default content type of response should be HTTPD_TYPE_TEXT

See merge request idf/esp-idf!3443
2018-10-10 08:21:56 +08:00
Angus Gratton
aaacd5412d Merge branch 'bugfix/httpd_chunked_content_len' into 'master'
Remove Content-Length from chunked encoding

See merge request idf/esp-idf!3442
2018-10-10 08:21:50 +08:00
Angus Gratton
0ea8a2abfd Merge branch 'feature/docs_update_mcpwm_api' into 'master'
MCPWM API doc update

See merge request idf/esp-idf!1602
2018-10-10 08:15:23 +08:00
Krzysztof Budzynski
cd5f8bcf74 MCPWM API doc update 2018-10-10 08:15:23 +08:00
Darian Leung
6f91640690 FreeRTOS: Update API reference from words to bytes
This commit updates some of the API references in task.h so
that stack sizes are referred to in bytes rather than words as
found in the vanilla version.

Closes #2528
2018-10-09 20:49:19 +08:00
Jiang Jiang Jian
9c148f6ad6 Merge branch 'bugfix/btdm_fix_connect_interval_error_in_slave_adv_params' into 'master'
Component/bt: fix connection interval error in slave adv params

See merge request idf/esp-idf!3407
2018-10-09 17:01:44 +08:00
Roland Dobai
d4e572bdb1 esp32: Add macro to check a condition without abort
Closes https://github.com/espressif/esp-idf/issues/2325
2018-10-09 08:57:23 +02:00
Liu Zhi Fu
660770ea97 esp32: several fixes about BA session setup
1. Fix the bug that ESP32 will reject the retry AddBA request frame
   if AddBA response frame is failed to sent by WiFi LMAC
2. Fix the bug that AddBA request retrys too frequently
3. Forbid BA session setup for VO queue related TID
2018-10-09 12:07:30 +08:00
Angus Gratton
a7bdd288f0 Merge branch 'bugfix/downgrade_future' into 'master'
Change python-future to 0.15.2 (again)

See merge request idf/esp-idf!3423
2018-10-09 11:06:45 +08:00
Jiang Jiang Jian
83d4081fba Merge branch 'bugfix/fix_close_socket_crash_bug' into 'master'
lwip: fix the crash when close socket

See merge request idf/esp-idf!3384
2018-10-08 21:23:57 +08:00
Anurag Kar
8be9e0946f HTTP Server : Default content type of response should be HTTPD_TYPE_TEXT
Closes https://github.com/espressif/esp-idf/issues/2527
2018-10-08 18:12:15 +05:30
chenjianqiang
a10b7e892c bugfix(psram): fix psram driver
1. remove use EID to distinguish psram voltage
2. 1V8 64Mbit psram and 3V3 64Mbit psram use the same psram driver(standard spi interface)
3. set cs hold time register as 1
2018-10-08 19:55:13 +08:00
Assaf Inbal
f4e867a148 Remove Content-Length from chunked encoding
Content-Length header should not be included when using chunked encoding.
Some browsers will close the socket after seeing the 0 sized response instead of
reading the chunks.

Merges https://github.com/espressif/esp-idf/pull/2458
2018-10-08 15:58:41 +05:30
Angus Gratton
05c510b44e Merge branch 'test/spi_slave_psram_disable' into 'master'
test: disable the spi slave startup test when psram is enabled

See merge request idf/esp-idf!3373
2018-10-08 16:28:41 +08:00
Angus Gratton
a85a633384 Merge branch 'fix/spi_master_cmd_addr_lsbfirst' into 'master'
spi_master: fix the command and address field when LSB_FIRST enabled

See merge request idf/esp-idf!3398
2018-10-08 16:26:27 +08:00
Jiang Jiang Jian
221eced06d Merge branch 'bugfix/no_disconnect_event_report_if_no_correct_status_code_report' into 'master'
WiFi: bugfix of no disconnect event report if no correct status code report

See merge request idf/esp-idf!3370
2018-10-08 15:59:07 +08:00
Angus Gratton
1d58429bad Merge branch 'feature/global_ca_store' into 'master'
esp_tls: Support for global CA store.

See merge request idf/esp-idf!3432
2018-10-08 14:51:02 +08:00
Angus Gratton
e99035af94 Merge branch 'feature/ethernet_example_iperf' into 'master'
ethernet: add iperf example to test real bandwidth

See merge request idf/esp-idf!3332
2018-10-08 12:27:05 +08:00
morris
7bc36d23e1 ethernet: add iperf example to test real bandwidth
1. Add command for Ethernet based on console component.
2. Make cmd_system and iperf a component that can be referenced by other examples
3. Add "version" command to cmd_system.c
4. Clean up the README.md in all ethernet examples[TW#26525]
2018-10-08 09:51:17 +08:00
Angus Gratton
a95dd4712b Merge branch 'doc/rmt_readme_typo_fix' into 'master'
doc(rmt): fixed some typos in rmt example readme file

See merge request idf/esp-idf!3283
2018-10-08 07:25:10 +08:00
Chirag Atal
b7cca3c414 Feature: Support for global CA store.
Added a new API esp_tls_set_global_ca_store(esp_tls_cfg_t *cfg) which creates a global_cacert which can be used by multiple connections by setting the use_global_ca_store variable to true in their respective structure of esp_tls_cfg_t. Also changed the cacert in the structure of esp_tls_t to a pointer.
2018-10-05 19:35:57 +05:30
Sagar Bijwe
454b69d2ea nvs_flash: Update documentation at different places to indicate NVS encryotion is supported 2018-10-05 14:05:21 +05:30
Angus Gratton
1b272bb77e Merge branch 'bugfix/rom_export_functions' into 'master'
esp32, bootloader: fix issues related to linking order

See merge request idf/esp-idf!3375
2018-10-05 12:40:05 +08:00
Angus Gratton
7313e39fde Merge branch 'feature_add_path_tools_pr2410' into 'master'
add_path.sh: cmake: add tools folder to the path

See merge request idf/esp-idf!3344
2018-10-05 12:34:10 +08:00
Angus Gratton
ee0ebc1e1a Merge branch 'test/enhanced_unit_test_config_dependency' into 'master'
test: enhanced config dependency support for CI

See merge request idf/esp-idf!3383
2018-10-05 09:21:30 +08:00
Angus Gratton
445567d067 Merge branch 'bugfix/windows_msys2_updates' into 'master'
Windows: Update MSYS2 environment, catch some MSYS2 Python quirks

See merge request idf/esp-idf!3417
2018-10-05 08:06:47 +08:00
michael
6b180f70ac test: modify the command/address test a bit to test the LSBFIRST feature 2018-10-04 15:03:26 +08:00
michael
e5ed450d95 spi: move gpio direction config to common func for coinsistence
(MINOR CHANGE)
2018-10-04 14:57:31 +08:00
Michael (XIAO Xufeng)
2600f43822 spi_master: fix the command and address field when LSB_FIRST enabled
Resolves https://github.com/espressif/esp-idf/issues/2444.
2018-10-04 14:57:30 +08:00
Angus Gratton
3977d4b565 Merge branch 'feature/transpost_methods_renamed_no_collision' into 'master'
Renamed transport header files to esp_ prefixed

See merge request idf/esp-idf!3359
2018-10-04 13:11:49 +08:00
Angus Gratton
594dcd525b Merge branch 'bugfix/esp_error_check_silent' into 'master'
esp_err: Don't compile in error message strings in "silent assertions" mode

See merge request idf/esp-idf!3418
2018-10-03 14:33:09 +08:00
Angus Gratton
d8d85ed8e8 Merge branch 'feature/sigmadelta-example-update-readme' into 'master'
Updated sigma-delta example description to the latest template

See merge request idf/esp-idf!3388
2018-10-03 09:50:27 +08:00
Anurag Kar
2d199dc521 Docs : Added Provisioning and Protocomm related docs
Co-Authored-By: Amey Inamdar <amey@espressif.com>
Co-Authored-By: Anurag Kar <anurag.kar@espressif.com>
2018-10-02 19:07:28 +05:30
Anurag Kar
84f094453b Examples : Added provisioning examples, tests and client tool.
* BLE and softAP provisioning examples added along with tests.
* An application specific example added for demonstrating custom provisioning scheme.
* tools/esp_prov/esp_prov.py can be used as a provisioning client for SoftAP, BLE and CLI based transports.

Co-Authored-By: Amey Inamdar <amey@espressif.com>
Co-Authored-By: Anurag Kar <anurag.kar@espressif.com>
2018-10-02 19:07:28 +05:30
Amey Inamdar
2b52465416 WiFi Provisioning : Added component providing framework for configuring WiFi credentials during provisioning
Co-Authored-By: Amey Inamdar <amey@espressif.com>
Co-Authored-By: Anurag Kar <anurag.kar@espressif.com>
2018-10-02 19:07:28 +05:30
Amey Inamdar
9428375368 Protocomm : Added support for choice of transport - WiFi (SoftAP+HTTPD), BLE, Console (development friendly transport)
Co-Authored-By: Amey Inamdar <amey@espressif.com>
Co-Authored-By: Anurag Kar <anurag.kar@espressif.com>
2018-10-02 19:07:28 +05:30
Amey Inamdar
e94dffc9c5 Protocomm : Added unit tests and protobuf-c generated files
Co-Authored-By: Amey Inamdar <amey@espressif.com>
Co-Authored-By: Anurag Kar <anurag.kar@espressif.com>
2018-10-02 19:07:28 +05:30
Amey Inamdar
d0c777b2e1 Protocomm : Added component core for protocol communication
* This manages secure sessions and provides framework for multiple transports.
* The application can use protocomm layer directly to have application specific extensions for provisioning (or non-provisioning) use cases.
* Following features are available for provisioning :

  * Security - Security0 (no security), Security1 (curve25519 key exchange + AES-CTR encryption)
  * Proof-of-possession support for Security1

* Protocomm requires specific protocol buffer modules for compilation which can be generated from the `.proto` files in the `proto` directory using make.

Co-Authored-By: Amey Inamdar <amey@espressif.com>
Co-Authored-By: Anurag Kar <anurag.kar@espressif.com>
2018-10-02 19:07:28 +05:30
Amey Inamdar
3ba8eed60a protobuf-c : Added Google's protocol buffer C library as sub-module
Source https://github.com/protobuf-c/protobuf-c

Co-Authored-By: Amey Inamdar <amey@espressif.com>
Co-Authored-By: Anurag Kar <anurag.kar@espressif.com>
2018-10-02 19:07:28 +05:30
David Cermak
0d4f5cc495 tcp_transport: transport set handle refactoring, web socket client name updated 2018-10-02 15:19:46 +02:00
David Cermak
e02225cc07 tcp_transport: renamed possibly generic function names to be esp_ prefixed and not to colide with user namespace 2018-10-02 14:16:48 +02:00
Anton Maklakov
2c5a25a42e tcp_transport: Use getrandom() instead of rand() in the entire esp-mqtt
Signed-off-by: David Cermak <cermak@espressif.com>
2018-10-02 14:16:26 +02:00
Anton Maklakov
e3c6839802 tcp_transport: Fix warning, put in order the nearest code, replace sprintf with snprintf
Signed-off-by: David Cermak <cermak@espressif.com>
2018-10-02 14:15:27 +02:00
David Cermak
40c6cbb3ab tcp_transport: renamed transport related header files to esp_ prefixed to avoid collisions
tcp_transport component used public header files such as 'transport.h', etc. which are too generic and might collide with user or user libraries headers
This change closes #2417
2018-10-02 14:15:00 +02:00
Angus Gratton
127693126a esp_err: Don't compile in error message strings in "silent assertions" mode
Reported on forum https://esp32.com/viewtopic.php?f=13&t=7396&p=31419#p31419
2018-10-02 17:00:57 +10:00
Angus Gratton
4faa2a8e52 Merge branch 'bugfix/bootloader_gen_secure_boot_digest' into 'master'
bootloader: Fix secure boot digest generation for image length where (len%128 < 32)

See merge request idf/esp-idf!3410
2018-10-02 14:55:21 +08:00
Deomid Ryabkov
6a3f486bdc Change python-future to 0.15.2 (again)
Merges https://github.com/espressif/esp-idf/pull/2492
2018-10-02 08:18:13 +02:00
Angus Gratton
326d791ebb bootloader: Fix secure boot digest generation for image length where (len%128 < 32) 2018-10-02 15:17:14 +10:00
Ivan Grokhotkov
9240bbb708 esp32: remove ROM functions redefined in IDF from LD script
In some cases, linker could choose to use ROM functions instead of the
ones defined in IDF.
For functions used in ROM stub table, this would lead to infinite
recursion when the corresponding function was called from ROM.
For crypto functions, some of these were modified in IDF, and
incompatible with ROM counterparts.
2018-10-02 01:20:04 +00:00
Ivan Grokhotkov
f694d057be bootloader_support: exclude bootloader_init.c when building app
Depending on link order of libraries, bootloader implementation of
__assert_func could be linked instead of the one provided by newlib.
2018-10-02 01:20:04 +00:00
Angus Gratton
98b42a8b71 Merge branch 'bugfix/disable_coding_scheme_security_features' into 'master'
bootloader: Don't enable secure boot or flash encryption for 3/4 Coding Scheme

See merge request idf/esp-idf!3369
2018-10-02 07:54:11 +08:00
Ivan Grokhotkov
23984c8a03 Merge branch 'bugfix/rtc_fastmem_data_init' into 'master'
esp32: fixes related to CONFIG_ESP32_RTCDATA_IN_FAST_MEM

See merge request idf/esp-idf!3403
2018-10-01 18:13:43 +08:00
Angus Gratton
246a608db0 windows: Special check for some MSYS2 Python packages
MSYS2 MINGW requires some particular MSYS2-specific packages.

Closes https://github.com/espressif/esp-idf/issues/2480
Closes https://github.com/espressif/esp-idf/issues/2474
Closes https://github.com/espressif/esp-idf/issues/2486
2018-10-01 17:21:48 +10:00
Angus Gratton
319fa2264f windows: Update MSYS2 environment, add Python requirements to setup script 2018-10-01 16:16:49 +10:00
Angus Gratton
c526839453 Merge branch 'bugfix/win_toolchain_version' into 'master'
build: Fix checking the toolchain version on Windows

See merge request idf/esp-idf!3356
2018-10-01 14:03:52 +08:00
Ivan Grokhotkov
94e5ffdedc Merge branch 'bugfix/workaround_free_peripherals_isr_when_using_dual_core' into 'master'
driver(interrupt): fix the issue that interrupt might be allocated and freed on different cores.

See merge request idf/esp-idf!3152
2018-09-30 21:42:52 +08:00
zhiweijian
fe7fd3bf4d Component/bt: fix connection interval error in slave adv params 2018-09-30 11:14:27 +00:00
Jiang Jiang Jian
fda865b002 Merge branch 'bugfix/btdm_watchdog_timeout_after_pair_with_iphone' into 'master'
component/bt: Fix BTU task watchdog timeout after pair with iphone

See merge request idf/esp-idf!3366
2018-09-30 14:39:00 +08:00
Jiang Jiang Jian
42a9f99bc8 Merge branch 'bugfix/btdm_controller_stuck_on_waking_up' into 'master'
bugfix/btdm_controller_stuck_on_waking_up

See merge request idf/esp-idf!3395
2018-09-30 14:25:58 +08:00
Jiang Jiang Jian
a662002924 Merge branch 'bugfix/btdm_add_sequential_check_when_add_include_service' into 'master'
component/bt: add sequential check when add include service

See merge request idf/esp-idf!3277
2018-09-30 14:19:54 +08:00
Zhi Wei Jian
5d71940178 component/bt: add sequential check when add include service 2018-09-30 14:19:54 +08:00
Jiang Jiang Jian
d6bc6fad8b Merge branch 'bugfix/btdm_add_ESP_BLE_SM_ONLY_ACCEPT_SPECIFIED_SEC_AUTH_in_set_security_param_API' into 'master'
Component/bt: add only accept sepecified authentication function for SMP

See merge request idf/esp-idf!3385
2018-09-30 14:18:23 +08:00
Jiang Jiang Jian
545778c9a9 Merge branch 'docs/wifi_correct_mistake_in_csi_doc' into 'master'
esp32: correct a mistake about secondary channel of CSI in wifi.rst

See merge request idf/esp-idf!3405
2018-09-30 13:47:52 +08:00
Ivan Grokhotkov
757de2518d Merge branch 'doc/can_remove_disclaimer' into 'master'
can: remove license disclaimer

See merge request idf/esp-idf!3381
2018-09-30 12:05:08 +08:00
zhiweijian
3050e55801 Component/bt: add only accept sepecified Authentication 2018-09-29 21:23:55 +08:00
Jiang Jiang Jian
7014c14537 Merge branch 'bugfix/btdm_add_service_source_param_for_ESP_GATTC_SEARCH_CMPL_EVT' into 'master'
Component/bt: add “service from” param for ESP_GATTC_SEARCH_CMPL_EVT

See merge request idf/esp-idf!3399
2018-09-29 20:18:26 +08:00
Jiang Jiang Jian
df1ab11a8e Merge branch 'bugfix/btdm_fix_service_change_cannot_read_write_and_no_descr' into 'master'
Component/bt: fix service change char can’t read and write and no descr

See merge request idf/esp-idf!3402
2018-09-29 20:16:07 +08:00
Deng Xin
b557cca6b9 WiFi: bugfix of no disconnect event report if no correct status code report
Problem Description

The reporduce steps are as follows:
1. put more than one same ssid AP in the environment;
2. set the STA mac address in one of the APs blacklist, and make sure the AP is closest to STA;
3. set the scan method in station config as all channel scan;
4. try to connect the AP which set STA in blacklist

Phenmenon

STA fail to connect after send auth or assoc with a wrong status code, but no disconnect event report and can not connect the next one in the envrionment

Root Cause

Because there are some same ssid APs in the evnrionment, when do all channel scan, it will collect all the matched AP in rc list, because rc list is not empty, so it would send disconnect event, however, we didn't do other step such as connect to other one

VNC MR 570

closes https://github.com/espressif/esp-idf/issues/2323
2018-09-29 16:16:22 +08:00
XiaXiaotian
5e1b05abc3 esp32: correct a mistake about secondary channel of CSI in wifi.rst 2018-09-29 15:32:09 +08:00
Ivan Grokhotkov
c4a712b0bc sleep: fix checking length of RTC data sections
_rtc_data_{start,end} can now describe data placed into RTC_FAST
segment, if CONFIG_ESP32_RTCDATA_IN_FAST_MEM is enabled.
Use new _rtc_slow_length symbol instead.
2018-09-29 14:02:16 +08:00
Ivan Grokhotkov
70412928de esp32: fix placement of .rtc_noinit
When CONFIG_ESP32_RTCDATA_IN_FAST_MEM is enabled, .rtc_noinit should
be in RTC_FAST memory, same as .rtc.data
2018-09-29 14:02:16 +08:00
Ivan Grokhotkov
3e1c065493 esp32/test: split rtc_fast test cases
Move runtime behaviour test cases into test_reset_reason.c, move
placement test cases into test_rtc_fast.c
2018-09-29 14:02:16 +08:00
Ivan Grokhotkov
22b840f3df bootloader: don’t reload RTC_FAST DRAM after deep sleep
When CONFIG_ESP32_RTCDATA_IN_FAST_MEM is enabled, RTC data is placed
into RTC_FAST memory region, viewed from the data bus. However the
bootloader was missing a check that this region should not be
overwritten after deep sleep, which caused .rtc.bss segment to loose
its contents after wakeup.
2018-09-29 14:02:16 +08:00
He Yin Ling
252b9ad5ea Merge branch 'ci/adjust_expire_time_for_artifacts' into 'master'
ci: adjust expire time for CI artifacts:

See merge request idf/esp-idf!3327
2018-09-29 13:43:01 +08:00
He Yin Ling
b4fe43912f ci: adjust expire time for CI artifacts:
set shorter time to save some space on server. For those artifacts need
to be stored for long time, we can manually press "keep" button in job page.

Also add a CI job to check if all artifacts have set expire time.
2018-09-29 03:54:14 +00:00
zhiweijian
e6d737780a Component/bt: add “service from” param for ESP_GATTC_SEARCH_CMPL_EVT 2018-09-28 12:59:01 +00:00
zhiweijian
54b841dc30 Component/bt: fix service change char can’t read and write and no descr 2018-09-28 19:57:25 +08:00
Krzysztof
bce5d7ba01 Implemented the first round of review comments 2018-09-28 14:04:22 +08:00
Krzysztof
cc52029d14 Updated sigma-delta example description to the latest template 2018-09-28 14:04:22 +08:00
wangmengyang
334cb88256 component/bt: bugfix that hci down stream datapath is unblocked too early on waking up from sleep
This issue can cause the controller to stuck after sleep interrupt happens and clock interrupt enabled
2018-09-28 03:45:52 +00:00
Ivan Grokhotkov
0a7065195c Merge branch 'bugfix/regression_in_light_sleep_mode' into 'master'
esp32: fix regression introduced in automatic light sleep pm

See merge request idf/esp-idf!3371
2018-09-28 09:49:39 +08:00
Ivan Grokhotkov
4981c10ab3 Merge branch 'fix/sdio_slave_reset_ret_queue' into 'master'
sdio_slave: fix the ret_queue crash issue when being reset by the master

See merge request idf/esp-idf!3360
2018-09-27 18:25:57 +08:00
zhangyanjiao
54b431f2a8 lwip: fix the crash when close socket 2018-09-27 17:35:40 +08:00
He Yin Ling
737f33e379 test: enhanced config dependency support for CI:
allow define complex conditions for the dependency of each tag.
2018-09-27 15:23:44 +08:00
Anton Maklakov
7c8d5d2782 docs, scripts: Correct the priority of the PATH setting 2018-09-27 14:55:37 +08:00
Nicola Lunghi
1b3385e51e add_path.sh: cmake: add tools folder to the path
Merges https://github.com/espressif/esp-idf/pull/2410
2018-09-27 14:33:36 +08:00
Ivan Grokhotkov
71b5ce55d3 Merge branch 'feature/mbedtls_2_13_1' into 'master'
mbedtls: update to 2.13.1

See merge request idf/esp-idf!3301
2018-09-27 14:15:25 +08:00
Ivan Grokhotkov
0eff312411 can: remove license disclaimer 2018-09-27 13:25:59 +08:00
Ivan Grokhotkov
5ebf4f7022 Merge branch 'feature/move_rtc_data_rtc_rodata_to_RTC_FAST_seg' into 'master'
esp32: Add option to place .rtc_data and .rtc_rodata into the RTC_FAST segment

See merge request idf/esp-idf!2128
2018-09-27 13:05:06 +08:00
Ivan Grokhotkov
84d2f510ea Merge branch 'bugfix/ci_example_test' into 'master'
tools: Make Utility.console_log accept Unicode and byte strings as well

See merge request idf/esp-idf!3367
2018-09-27 11:26:44 +08:00
Ivan Grokhotkov
ea7e6bd8f6 Merge branch 'feature/py23_kconfig_new' into 'master'
tools: Make kconfig_new Python3-compatible and enable Python3 in idf.py

See merge request idf/esp-idf!3304
2018-09-27 11:26:32 +08:00
Ivan Grokhotkov
11b444b8f4 Merge branch 'bugfix/sysview_enable_cmake' into 'master'
cmake: add app_trace as FreeRTOS dependency

See merge request idf/esp-idf!3335
2018-09-27 11:21:54 +08:00
Ivan Grokhotkov
6baf743212 Merge branch 'bugfix/lwip_compat_headers' into 'master'
lwip: add compatibility headers for sntp.h and esp_ping.h

See merge request idf/esp-idf!3231
2018-09-27 11:21:37 +08:00
Ivan Grokhotkov
135eef767f Merge branch 'bugfix/idf_ver_out_of_tree' into 'master'
cmake: pass repository path to git when doing git describe

See merge request idf/esp-idf!3328
2018-09-27 11:21:25 +08:00
Jiang Jiang Jian
6163e1d713 Merge branch 'bugfix/btdm_coex_hw_blocking' into 'master'
component/bt : fix coexist hardware blocking bug

See merge request idf/esp-idf!3362
2018-09-27 11:17:15 +08:00
Angus Gratton
d8c84cff3a esptool: Update to v2.5.1
Release notes: https://github.com/espressif/esptool/releases/tag/v2.5.1

Needed to no longer burn keys if 3/4 Coding Scheme is enabled.
2018-09-27 10:12:32 +10:00
Tian Hao
337960338d component/bt : fix coexist hardware blocking bug
fix the bug following:
1. after disable bluetooth controller, wifi cannot TX/RX any packets.
2. when software coexist working, there's a little ratio cause wifi task watchdog timeout
3. when software coexist working, there's a little ratio cause bluetooth cannot receive anything.

feature:
1. add libbtdm_app.a git commit local and remote checking

Known issues:
1. there's still a bug occurs with a very very low ratio cause bluetooth
   cannot receive anything. The reproduce interval may great than 3days ~ 1week via
   7x24 hours heavy testing.
2018-09-26 21:24:46 +08:00
Jiang Jiang Jian
93df37522f Merge branch 'feature/mesh_decoupling' into 'master'
mesh: decoupling

See merge request idf/esp-idf!3261
2018-09-26 20:20:27 +08:00
Roland Dobai
9ea9d111c8 tools: Make Utility.console_log accept Unicode and byte strings as well 2018-09-26 12:56:00 +02:00
Jiang Jiang Jian
fa784476ba Merge branch 'bugfix/btdm_fix_get_bond_list_error_sometimes' into 'master'
Component/bt: fix get bond list error sometimes

See merge request idf/esp-idf!3288
2018-09-26 18:06:23 +08:00
Jiang Jiang Jian
042ef68ea5 Merge branch 'feature/btdm_add_send_service_change_indication_API' into 'master'
Component/bt: add gatts send service change indication API

See merge request idf/esp-idf!3302
2018-09-26 18:05:04 +08:00
michael
f4d4183000 test: disable the spi slave startup test when psram is enabled 2018-09-26 17:55:37 +08:00
Angus Gratton
4d99513bdb bootloader: Fix crash enabling flash encryption
Regression in 9c715d7946
2018-09-26 18:26:06 +10:00
Angus Gratton
ff33406e74 bootloader: Don't enable secure boot or flash encryption for 3/4 Coding Scheme 2018-09-26 18:26:06 +10:00
Anton Maklakov
1658833470 build system: Fix checking the toolchain version on Windows 2018-09-26 14:42:01 +08:00
baohongde
15fae990c1 component/bt: Fix BTU task watchdog timeout after pair with iphone
Create a new pending queue, then re-submit pending requests in old pending queue,preventing new events being inserted into it.

Closes https://github.com/espressif/esp-idf/issues/2191
2018-09-26 11:59:54 +08:00
Mahavir Jain
b5c321d981 esp32: fix regression introduced in automatic light sleep pm
Closes: https://github.com/espressif/esp-idf/issues/2459

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-09-26 08:52:15 +05:30
TianZhongXing
01308df8a6 doc: update document of external memory 2018-09-26 10:39:57 +08:00
kooho
bbca0e46ed driver(interrupt): fix the issue that interrupt might be allocated and freed on different cores
closes https://github.com/espressif/esp-idf/issues/2211
2018-09-26 10:31:09 +08:00
Angus Gratton
607d899503 Merge branch 'feature/py23_examples' into 'master'
Examples: Add Python 2&3 support

See merge request idf/esp-idf!3237
2018-09-26 08:41:42 +08:00
Angus Gratton
7e3f498d15 Merge branch 'docs/general_notes_zh_CN' into 'master'
docs: translate the general-notes document into Chinese

See merge request idf/esp-idf!2867
2018-09-26 07:23:38 +08:00
qiyueixa
fe4dabe869 mesh: decoupling
Remove dependencies which cause mesh code to be linked even if mesh is not used.
2018-09-25 23:49:27 +08:00
michael
d4071a7c19 sdio_slave: fix the ret_queue crash issue when being reset by the master 2018-09-25 20:30:25 +08:00
Jiang Jiang Jian
46ad2c6ad0 Merge branch 'feature/wifi_esptouch_support_both_multicast_and_broadcast_packet' into 'master'
esp32: esp-touch supports both multicast and broadcast packets

See merge request idf/esp-idf!3291
2018-09-25 19:48:33 +08:00
Ivan Grokhotkov
e1ac237169 Merge branch 'doc/fix_config_links' into 'master'
doc: Fix config links, add navigation lists to config items page

See merge request idf/esp-idf!3310
2018-09-25 18:23:24 +08:00
zhiweijian
9fb188a1d9 Component/bt: add gatts send service change indication API 2018-09-25 08:26:55 +00:00
Ivan Grokhotkov
0139749ba6 esp32: only touch g_ticks_per_us_app in dual core mode 2018-09-25 15:13:47 +08:00
Ivan Grokhotkov
4ff262ecff ipc: initialise automatically, if called from the app 2018-09-25 15:13:47 +08:00
Jack
2efd6859ed release memory not used in single core mode
1. do not start ipc task in single core mode
2. do not use APP cpu cache memory in single core mode
3. relase data used in rom by APP cpu
2018-09-25 15:13:47 +08:00
Roland Dobai
975688b97f examples: Use flushed print to see logs on the CI server 2018-09-25 08:05:56 +02:00
Roland Dobai
17b7959de9 Examples: Add Python 2&3 support 2018-09-25 08:05:56 +02:00
morris
0ea7723238 doc/general_notes:translate from en to zh_CN
translate the document [general-notes] into Chinese
2018-09-25 12:59:52 +08:00
Darian Leung
3c362f4d75 esp32: Add missing header file in esp_task.h
This commit adds a missing header file in esp_task.h
required for configMAX_PRIORITIES.

Closes #2341
2018-09-25 11:21:23 +08:00
XiaXiaotian
7b7964b47a esp32: esp-touch supports both multicast and broadcast packets
Previously, esp-touch only supports multicast packets which are
    transmitted from cellphone. But for most dual frequency routers
    whose SSIDs of 5G and 2.4G are the same, broadcast packets are
    forwarded from 5G interface to 2.4G interface while multicast
    packets are not. In order to make esp-touch work when cellphone
    connects to 5G interface of these routers, esp-touch is improved
    to support both multicast and broadcast packets. Meanwhile, new
    APP which is compiled with Andriod or IOS library(>= v0.3.6.2)
    must be used in this situation. Note that for some routers,
    broadcast and multicast packets are forwarded from 5G interface
    to 2.4G interface only when another WiFi device is connected to
    2.4G interface of the router. Old APP which is compiled with
    Android or IOS library(< v0.3.6.2) also works with this improvement
    when cellphone connects to 2.4G interface of the router.

    The Android and IOS library of new esp-touch APP is now available
    on Github.
    Android: https://github.com/EspressifApp/EsptouchForAndroid
    IOS: https://github.com/EspressifApp/EsptouchForIOS
2018-09-25 10:38:01 +08:00
Angus Gratton
96cd3b75cd Merge branch 'feature/mbedtls_mem_alloc_options' into 'master'
mbedtls: configurable options for controlling dynamic memory allocations

See merge request idf/esp-idf!3343
2018-09-25 08:24:29 +08:00
Angus Gratton
66fd7e9cc3 Merge branch 'bugfix/python_gen_empty_partition' into 'master'
app_update: Make gen_empty_partition.py Python 2 & 3 compatible

See merge request idf/esp-idf!3347
2018-09-25 08:23:38 +08:00
Angus Gratton
dc135ed1f6 Merge branch 'feature/async_esp_http_client' into 'master'
Non Blocking `esp_http_perform()` API in esp_http_client

See merge request idf/esp-idf!3049
2018-09-25 08:20:06 +08:00
Angus Gratton
a4aadd1926 Merge branch 'feature/nvs_encryption' into 'master'
nvs_flash: Add support for nvs encryption

See merge request idf/esp-idf!2700
2018-09-25 08:15:55 +08:00
Angus Gratton
6ed00f50be Merge branch 'bug_fix/multipage_blob_support' into 'master'
nvs_util: Fix generation of multipage blob data format

See merge request idf/esp-idf!3349
2018-09-25 08:01:57 +08:00
Jiang Jiang Jian
3665715d4d Merge branch 'mesh/bugfix' into 'master'
mesh: bugfix

See merge request idf/esp-idf!3286
2018-09-24 20:31:31 +08:00
Roland Dobai
baca21050f app_update: Make gen_empty_partition.py Python 2 & 3 compatible
Closes https://github.com/espressif/esp-idf/issues/2457
2018-09-24 12:16:16 +02:00
Shivani Tipnis
7c1360b10a nvs_util: Fix multipage blob data format generate 2018-09-24 15:44:31 +05:30
Sagar Bijwe
48fccbf5dd nvs_flash: Add support for nvs encryption 2018-09-24 11:25:21 +05:30
Mahavir Jain
5585f699d1 aws_iot: optimize dynamic memory by tweaking tls out buf content length 2018-09-24 11:17:53 +05:30
Mahavir Jain
54382277b6 mbedtls: configurable options for controlling dynamic memory allocations
Modifies https://github.com/espressif/esp-idf/pull/2237
2018-09-24 11:17:48 +05:30
Jitin George
0aec63c18e examples/protocols/esp_http_client: Add example for asynchronous HTTP request 2018-09-24 05:42:28 +00:00
Jitin George
5309ca04d1 esp_http_client: Add support for non-blocking feature in esp_http_client_perform() API
Four internal APIs `esp_http_client_connect()`, `http_client_prepare_first_line()`, `esp_http_client_request_send()` and
`esp_http_client_send_post_data()` API have been added for perfoming connection establishment (sync as well as async),
preparing first line, sending request and sending post data respectively.

In `transport_ssl`, `ssl_connect_async()` API has been added for establishing asynchronous connection.
2018-09-24 05:42:28 +00:00
Jitin George
1be97fad09 esp-tls: Add support for non blocking connect 2018-09-24 05:42:28 +00:00
Angus Gratton
4d50427e87 Merge branch 'feature/nvs_util_backport' into 'master'
nvs_util: Add changes for utility to support old and new multipage blob

See merge request idf/esp-idf!3270
2018-09-24 11:53:29 +08:00
Angus Gratton
ae5df5d6ce Merge branch 'feature/pthread_attributes' into 'master'
pthread : Add support for attributes

See merge request idf/esp-idf!2980
2018-09-24 11:19:41 +08:00
qiyueixa
9c4cc55012 mesh: bugfix
1. suppport mesh type, mesh ID, router and IE crypt func&key at any time after mesh is initalized.
2. support modify parent at any time after mesh is configured.
3. modify manual networking example.
4. update header file.
5. fix issues in root conflicts handling.
6. add max length of beacon to menuconfig.
7. fix issue when received a beacon without DSSS.
2018-09-23 21:11:02 +08:00
Jiang Jiang Jian
623641f26c Merge branch 'bugfix/two_scenario_may_cause_no_disconnect_event_report' into 'master'
Wifi: bugfix of two sceanrio may cause no disconnect event report

See merge request idf/esp-idf!3322
2018-09-23 10:58:44 +08:00
Jiang Jiang Jian
da3c6220a5 Merge branch 'bugfix/IPv6_TCP_connection_fail' into 'master'
lwip: fix the bug that IPv6 TCP connection fail

See merge request idf/esp-idf!3331
2018-09-23 08:39:34 +08:00
Anurag Kar
f27db1f241 pthread : Add support for attributes and few APIs
This introduces the following changes :
    * Implmentation added for pthread attribute related functions :
        * pthread_attr_init
        * pthread_attr_destroy
        * pthread_attr_setdetachstate
        * pthread_attr_getdetachstate
        * pthread_attr_getstacksize
        * pthread_attr_setstacksize
    * pthread_create now supports passing attributes/configs through pthread_attr_t structure
    * pthread_mutex_timedlock added
    * pthread_exit added
    * memory for joinable thread is freed before returning from pthread_join
2018-09-22 02:35:27 +05:30
Jiang Jiang Jian
93b588a0cf Merge branch 'bugfix/wpa2_fixes_2' into 'master'
wpa_supplicant: more fixes from github

See merge request idf/esp-idf!3255
2018-09-21 20:14:56 +08:00
TianZhongXing
19a67271ef lwip:move lwip bss segment to psram 2018-09-21 16:20:31 +08:00
TianZhongXing
974112378b feature: allow .bss segment in external memory 2018-09-21 16:20:26 +08:00
Ivan Grokhotkov
b97e52210a cmake: add app_trace as FreeRTOS dependency
This is needed because FreeRTOSConfig.h includes header file provided
by app_trace when CONFIG_SYSVIEW_ENABLE=y.
2018-09-21 14:58:34 +08:00
Deng Xin
7186475d94 Wifi: bugfix of two sceanrio may cause no disconnect event report
Problem Description
set some of routers as the same ssid in the same channel, when 32 in the fast scan connect mode, there may no disconnect event report in that two sceanrio:
1. set the correct password and connect, if target router didn't report 32's auth req before timeout, the state machine change to init but no disconnect event report
2. set a wrong password, if router send disassoc or deauth after run, rather than wait 4 way handshake timeout, the state machine change to init but no disconnect event report

Root Cause
Because the routers are in the same channel, all of them are matched the ssid, so all of them can be instore in the rc list wait for connect, when the first one want to connect fail at auth or receive
disassoc or deauth when password wrong, the rc list is not empty, it can not send disconnect event because rc is not empty

Solution
1. put the fail the router in the blacklist
2. Judge whether there is another router can be connect, if it has, try to connect with the next one

VNC MR 561
2018-09-21 06:22:20 +00:00
Roland Dobai
bf443a763f tools: Support overwrite of includes for gen_esp_err_to_name.py
gen_esp_err_to_name.py includes files like
components/lwip/include/apps/esp_ping.h as "apps/esp_ping.h" because all
subdirectories of "include" are used. If "components/lwip/include/apps"
is in the path of the compiler instead of "components/lwip/include" then
include "apps/esp_ping.h" will fail. This fix allows to process lines
like:
'// gen_esp_err_to_name.py: some text "esp_ping.h" some text'
in header files for overwriting the include.
2018-09-21 14:09:37 +08:00
Ivan Grokhotkov
f8750eb58d lwip: add compatibility headers for sntp.h and esp_ping.h
Before LwIP was moved into a submodule, sntp and esp_ping were
available as the following includes:

#include "apps/sntp/sntp.h"
#include "esp_ping.h"

This commit makes header files available at the old location, and adds
a deprecation warning for sntp.h.

Closes https://github.com/espressif/esp-idf/issues/2392
2018-09-21 14:09:37 +08:00
Ivan Grokhotkov
2e6e87816c Merge branch 'feature/crosstool_backport' into 'master'
Backport of work of gcc8 toolchain to v3

See merge request idf/esp-idf!3154
2018-09-21 14:07:41 +08:00
Jeroen Domburg
375c3f6cda Merge branch 'feature/spi_sync_rebase' into 'master'
spi_master: add new polling mode to decrease time cost each transaction

See merge request idf/esp-idf!3120
2018-09-21 10:57:16 +08:00
zhiweijian
81e7689bf3 Component/bt: fix get bond list error sometimes 2018-09-21 02:44:16 +00:00
zhangyanjiao
e7d6c861b5 lwip: fix the bug that IPv6 TCP connection fail
The lwip code didn't create an new mld group when netif is up,
this will lead to the server can't find the matching netif when
receiving NS(neighbor solicitation) packet
2018-09-21 10:17:20 +08:00
Angus Gratton
688807d5f6 docs: Don't show Kconfig.projbuild from MQTT submodule examples in docs 2018-09-21 11:05:16 +10:00
Angus Gratton
9421f6611f doc: Render config items "Found in:" as a set of links to menus 2018-09-21 11:05:13 +10:00
Ivan Grokhotkov
a8754ccc6a Merge branch 'feature/idf_py_print_flash_cmd' into 'master'
tiny-test-fw: Detect either 'download.config' or 'flash_project_args'

See merge request idf/esp-idf!3252
2018-09-20 20:03:21 +08:00
Michael (Xiao Xufeng)
4af51833f3 spi_master: add new polling mode to decrease time cost each transaction 2018-09-20 19:46:46 +08:00
Anton Maklakov
3004744f2c Merge branch 'bugfix/py273_gen_esp32part' into 'master'
partition_table: Fix encoding for Python 2.7.3

See merge request idf/esp-idf!3330
2018-09-20 19:06:52 +08:00
Anton Maklakov
7b4054a468 espcoredump: Fix a test case of new gdb from the new toolchain 2018-09-20 18:53:15 +08:00
Anton Maklakov
0d1285ebcf bluetooth: fix indentation warning 2018-09-20 18:53:15 +08:00
Anton Maklakov
d6a5cd6e82 mqtt: silence a format warning 2018-09-20 18:53:15 +08:00
Anton Maklakov
d4cbfd34cc cmake: silence some warnings in coap, bt, expat, libsodium, lwip and examples/bluetooth 2018-09-20 18:53:15 +08:00
Anton Maklakov
90d4a1d1e9 cmake: Add a compatible old GCC flag, fix the cmake example building 2018-09-20 18:53:15 +08:00
Anton Maklakov
3471d369f9 lwip: silence uninitialized and fallthrough warnings 2018-09-20 18:53:15 +08:00
Anton Maklakov
ccbe517702 vfs: fix a fallthrough comment to silence the warning 2018-09-20 18:53:15 +08:00
Anton Maklakov
fdb369c76f test/cxx: Test for exception from libstdc++ with -fno-exceptions 2018-09-20 18:53:15 +08:00
Alexey Gerenkov
e0f7e196f2 cxx: don’t define stubs for __throw_* functions
If exception support is disabled in IDF, and libstdc++ tries to throw
an exception, it will call __cxa_allocate_exception which is replaced
with abort in IDF.

We have a dramatically size reduction of the RO-section in binary when using '__throw_'-stubs in GCC5
In the case of using GCC8, we are faced with 'multiple definition' errors when using '__throw_'-stubs.
Good that we don't have the size problem due to gcc8
2018-09-20 18:53:15 +08:00
Anton Maklakov
43116e6e2d examples/sdio: Fix an uninitialized buffer which sometimes caused a test fail 2018-09-20 18:53:15 +08:00
Alexey Gerenkov
f0c15e749a gcov: use GCC API to control GCOV data dumps 2018-09-20 18:53:14 +08:00
Anton Maklakov
9a55557ad8 build system: Add a compatible old GCC flag 2018-09-20 18:53:14 +08:00
Ivan Grokhotkov
51c9b6b82d bt: disable implicit fall through warnings 2018-09-20 18:53:14 +08:00
Ivan Grokhotkov
dd5d01a83e bt: silence unused const variables warning 2018-09-20 18:53:14 +08:00
Ivan Grokhotkov
0b35292abe examples/bluetooth: silence unused const variables warnings 2018-09-20 18:53:14 +08:00
Ivan Grokhotkov
c2a04f6517 unity: silence unused const variables warning 2018-09-20 18:53:14 +08:00
Ivan Grokhotkov
91fa1764e5 docs: generate toolchain download links 2018-09-20 18:53:14 +08:00
Anton Maklakov
10ec85f848 build system: and gcc8 warnings compatibility option 2018-09-20 18:53:14 +08:00
Anton Maklakov
cce02e45f1 build system: print some information about the compiler 2018-09-20 18:53:14 +08:00
Anton Maklakov
16525d3c28 ci: specify default docker image tag 2018-09-20 18:53:14 +08:00
Anton Maklakov
ab21644df4 toolchain: Set the supported toolchain version in a separate file 2018-09-20 18:53:13 +08:00
Jiang Jiang Jian
d68df94d2b Merge branch 'bugfix/fix_the_bug_create_socket_fail' into 'master'
LWIP: fix the bug that failed to create socket

See merge request idf/esp-idf!3300
2018-09-20 18:43:58 +08:00
Roland Dobai
4465dc29bb partition_table: Fix encoding for Python 2.7.3
struct.pack can handle Unicode argument in latest Python 2.7 but cannot
(at least) in 2.7.3.
2018-09-20 12:01:54 +02:00
Ivan Grokhotkov
59d590ff48 cmake: pass repository path to git when doing git describe
Fixes getting IDF version in out-of-tree builds
2018-09-20 16:18:25 +08:00
Roland Dobai
130a8ea324 tiny-test-fw: Detect either 'download.config' or 'flash_project_args' 2018-09-20 06:39:04 +00:00
Angus Gratton
593abe0768 Merge branch 'test/fix_ut_cant_process_test_command' into 'master'
test: fix ut can't process test command

See merge request idf/esp-idf!3306
2018-09-20 14:38:25 +08:00
Angus Gratton
8cf0f36dcc Merge branch 'feature/ecc_crypto_wrappers' into 'master'
wpa_supplicant: Implement BIGNUM and ECC crypto wrapper apis for ESP using mbedtls

See merge request idf/esp-idf!3225
2018-09-20 13:46:08 +08:00
Ivan Grokhotkov
9188cb066a mbedtls: update to 2.13.1
See release notes:
https://github.com/ARMmbed/mbedtls/releases/tag/mbedtls-2.13.0
2018-09-20 04:35:45 +00:00
Ivan Grokhotkov
07211ffeff Merge branch 'bugfix/py23_nvs_flash_division' into 'master'
nvs_flash: fix division for Python 2 & 3

See merge request idf/esp-idf!3292
2018-09-20 12:10:18 +08:00
Ivan Grokhotkov
f5e772242d Merge branch 'feature/py23_partition_table' into 'master'
partition_table: Add Python 2 & 3 support

See merge request idf/esp-idf!3290
2018-09-20 12:09:12 +08:00
Ivan Grokhotkov
7660db290b Merge branch 'feature/roll_back_python_future' into 'master'
Downgrade python-future required version to 0.15.2

See merge request idf/esp-idf!3319
2018-09-20 12:05:50 +08:00
Ivan Grokhotkov
af453841ea Merge branch 'bugfix/ci_cmake_examples' into 'master'
CI/cmake: Fix cmake example build failures, gcov

See merge request idf/esp-idf!3296
2018-09-20 12:05:07 +08:00
Jiang Jiang Jian
7657c1c7d4 Merge branch 'bugfix/btdm_fix_crash_when_test_multi_connect' into 'master'
Component/bt: fix crash when test multi_connect

See merge request idf/esp-idf!3274
2018-09-20 12:04:18 +08:00
Ivan Grokhotkov
2e411aeccb Merge branch 'bugfix/ethernet_infinite_loop' into 'master'
ethernet: fix infinite loop when init phy or reset mac

See merge request idf/esp-idf!3307
2018-09-20 11:59:51 +08:00
Ivan Grokhotkov
c09d4787ef Merge branch 'bugfix/parttool_spaces' into 'master'
Remove trailing spaces from parttool.py output

See merge request idf/esp-idf!3317
2018-09-20 11:58:40 +08:00
Jiang Jiang Jian
ffbe5b7ae5 Merge branch 'bugfix/btdm_fix_iphoneX_error_when_get_wifi_list' into 'master'
Component/bt: fix iPhoneX error when getting wifi list

See merge request idf/esp-idf!3303
2018-09-20 10:54:43 +08:00
Jiang Jiang Jian
57573d0ed7 Merge branch 'feature/btdm_add_clear_rand_addr_API' into 'master'
component/bt: add clear rand address API

See merge request idf/esp-idf!3137
2018-09-20 10:47:37 +08:00
morris
20b7f0ec87 ethernet: fix infinite loop when init phy or reset mac
1. fix infinite loop problem when init phy device
2. fix infinite loop problem when reset mac
3. fix little bugs in ethernetif_init
4. fix incompatible return value between lwip and esp-idf

Closes https://github.com/espressif/esp-idf/issues/2331
Closes https://github.com/espressif/esp-idf/issues/2141
2018-09-20 10:09:38 +08:00
Angus Gratton
930ddf2b2c Merge branch 'bugfix/use_component_srcs' into 'master'
List files manually for recently added components

See merge request idf/esp-idf!3315
2018-09-20 07:27:37 +08:00
Shivani Tipnis
ca3acef82c nvs_util: Add support for old and new multipage blob 2018-09-19 22:00:08 +05:30
Deomid Ryabkov
9999720ed0 Downgrade python-future required version to 0.15.2
It works fine and this way python-future from Ubuntu 16.04 and 18.04 can be used.
2018-09-19 16:24:10 +03:00
zhangyanjiao
f2d3efd875 lwip: fix the bug that failed to create socket
Closes: https://github.com/espressif/esp-idf/issues/2403
        https://github.com/espressif/esp-idf/issues/2414
2018-09-19 09:44:28 +00:00
Ivan Grokhotkov
4e9338e357 Merge branch 'test/fix_incorrect_connect_ap_command' into 'master'
test: fix case use depreacated sta connect command

See merge request idf/esp-idf!3309
2018-09-19 17:39:58 +08:00
Ivan Grokhotkov
e4725adc87 Merge branch 'bugfix/startup_detect_single_core' into 'master'
esp32: abort when running on single core chip in dual core mode

See merge request idf/esp-idf!3308
2018-09-19 17:32:08 +08:00
Renz Bagaporo
8f85fa1bfb tcp_transport: list files manually in component cmake file 2018-09-19 16:48:31 +08:00
Renz Bagaporo
8fdfc22e2e mqtt: list files manually in component cmake file 2018-09-19 16:48:12 +08:00
Angus Gratton
9add51bc6d doc: Re-add summaries of what children each menu item has
Slightly different to the original version of this, but same goal.
2018-09-19 17:27:48 +10:00
Angus Gratton
8721173109 doc: Replace :envvar: config links with :ref: 2018-09-19 17:27:48 +10:00
zhiweijian
fdc352d090 Component/bt: fix iPhoneX error when getting wifi list 2018-09-19 15:17:57 +08:00
Ivan Grokhotkov
789855e71b esp32: abort when running on single core chip in dual core mode
Ref. https://esp32.com/viewtopic.php?f=2&t=7307
2018-09-19 15:05:26 +08:00
Roland Dobai
173e6aab3e tools: Make kconfig_new Python3-compatible and enable Python3 in idf.py 2018-09-19 08:38:09 +02:00
Sagar Bijwe
112244bac4 wpa_supplicant: Implement BIGNUM and ECC crypto wrapper apis for ESP using mbedtls 2018-09-19 11:10:28 +05:30
He Yin Ling
60f0e9b77b test: fix case use depreacated sta connect command 2018-09-19 13:31:56 +08:00
Angus Gratton
440b08c128 Merge branch 'bugfix/py23_unit_test' into 'master'
Correct Python 3 support for some test related scripts

See merge request idf/esp-idf!3236
2018-09-19 12:39:24 +08:00
Angus Gratton
c15d3c1ffc examples: Copy ca_cert.pem into both example project dirs
Keeps projects all-in-one under a single directory.
2018-09-19 14:38:19 +10:00
Angus Gratton
b38a6da74b cmake: Fix some failing example builds, fix gcov 2018-09-19 14:38:19 +10:00
He Yin Ling
44e8ec584f test: ut can't process test command:
check ut reset done condition is not correct. If bootup pattern already
exist in cache, we will return without waiting for DUT bootup.
2018-09-19 09:40:59 +08:00
Angus Gratton
4b23d70eec ci: Split build_examples jobs into make & cmake
Fix problem where failures in make were being ignored.
2018-09-19 11:06:27 +10:00
Deomid Ryabkov
d40bfd21dc Remove trailing spaces from parttool.py output 2018-09-18 16:49:30 +03:00
Roland Dobai
9dc024bc4c partition_table: Add Python 2 & 3 support 2018-09-18 14:10:55 +02:00
Jiang Jiang Jian
72aaeb26ac Merge branch 'bugfix/btdm_fix_save_error_key_in_smp_when_reconnect' into 'master'
Component/bt: fix save error key in smp when reconnect

See merge request idf/esp-idf!3251
2018-09-18 20:06:38 +08:00
Roland Dobai
da6479e6b7 Correct Python 3 support for some test related scripts 2018-09-18 09:55:51 +00:00
Ivan Grokhotkov
91f7a9a9e7 Merge branch 'feature/lwip_task_affinity' into 'master'
lwip: allow setting LwIP tasks affinity via sdkconfig

See merge request idf/esp-idf!2913
2018-09-18 15:10:17 +08:00
Angus Gratton
3276a1316f Merge branch 'feature/cleanup_freertos_hooks' into 'master'
Cleanup freertos idle/tick hooks functionality

See merge request idf/esp-idf!3131
2018-09-18 08:07:41 +08:00
Angus Gratton
822fdd6e53 Merge branch 'feature/tasks_can_return' into 'master'
freertos: enclose task functions in wrapper function

See merge request idf/esp-idf!2935
2018-09-18 07:38:24 +08:00
Angus Gratton
e54e41fee7 Merge branch 'bugfix/rtd_docs_build' into 'master'
docs: Set a default IDF_PATH in docs build (needed for RTD)

See merge request idf/esp-idf!3272
2018-09-18 07:37:59 +08:00
Angus Gratton
3246404740 Merge branch 'bugfix/cmake_make_flash_target' into 'master'
cmake: Fix "make flash" & "ninja flash" targets

See merge request idf/esp-idf!3260
2018-09-18 07:31:57 +08:00
Roland Dobai
7183112cc4 nvs_flash: fix division for Python 2 & 3 2018-09-17 16:01:54 +02:00
zwj
fa00e6d4f7 component/bt: add clear rand address API 2018-09-17 20:09:03 +08:00
Mahavir Jain
ff81dc16e0 freertos: cleanup tick/idle hook functionality
If CONFIG_FREERTOS_LEGACY_HOOKS is kept enabled then defining
idle/tick hooks will be applications responsibility as was the
case earlier.

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-09-17 17:05:17 +05:30
Mahavir Jain
152043d469 esp_ringbuf: move ringbuf to seperate component
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-09-17 17:04:57 +05:30
Mahavir Jain
b0ef95b6eb task_wdt: correct critical section API in ISR context
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-09-17 16:11:15 +05:30
Ivan Grokhotkov
5d1ccb9501 lwip: allow setting LwIP tasks affinity via sdkconfig
In some cases applications need to ensure that WiFi/BT related tasks
run on CPU1. This option can be used to set task affinity in such case.

https://github.com/espressif/esp-idf/issues/2233#issuecomment-409220381
2018-09-17 18:17:52 +08:00
Ivan Grokhotkov
5bcb7e26d7 freertos: add Kconfig FREERTOS_NO_AFFINITY constant
Use in place of tskNO_AFFINITY in Kconfig files
2018-09-17 18:17:52 +08:00
Jiang Jiang Jian
25c8ecaaf5 Merge branch 'bugfix/tw24884_fix_ampdu_sequence_compitable_issue' into 'master'
esp32: Fix AMPDU sequence incompitable bug

See merge request idf/esp-idf!3200
2018-09-17 18:07:14 +08:00
Jiang Jiang Jian
d41ee5c628 Merge branch 'bugfix/btdm_enable_modem_sleep_by_default' into 'master'
bugfix/btdm_enable_modem_sleep_by_default

See merge request idf/esp-idf!3284
2018-09-17 16:17:34 +08:00
Liu Zhi Fu
0828e8bd53 esp32: fix AMPDU sequence compitability issue
Fix AMPDU RX sequence compitability issue when connecting to some special APs, such as Mercury, Fast etc
2018-09-17 13:57:59 +08:00
Angus Gratton
df215d2f02 Merge branch 'bugfix/cmake_idf_version' into 'master'
cmake: prefer `version.txt` for IDF_VER if available

See merge request idf/esp-idf!3279
2018-09-17 12:28:47 +08:00
Ivan Grokhotkov
eea49d250a Merge branch 'feature/dhcp_skip_discovery' into 'master'
DHCP restore last ip and skip discovery

See merge request idf/esp-idf!3132
2018-09-17 12:27:56 +08:00
Ivan Grokhotkov
c305bd09dc Merge branch 'bugfix/ethernet_low_level_output' into 'master'
ethernet: fix some bugs and complete some optimization

See merge request idf/esp-idf!3235
2018-09-17 11:33:50 +08:00
MartinValik
2e79baa1db lwip: DHCP restore last IP
Closes https://github.com/espressif/esp-idf/issues/799
2018-09-17 11:11:25 +08:00
Ivan Grokhotkov
49125a87bb Merge branch 'bugfix/mdns-lwip-update' into 'master'
Update network code for mDNS to work with newest LwIP

See merge request idf/esp-idf!3268
2018-09-17 10:42:04 +08:00
wangmengyang
bca2e110fc component/bt: enable bluetooth modem sleep as default setting 2018-09-17 10:38:13 +08:00
kooho
50a5985b06 doc(rmt): fixed some typos in rmt example readme file 2018-09-17 10:21:07 +08:00
morris
3063a62e3e ethernet: fix some bugs in ethernet driver
1. create a new pbuf to squash linked pbuf
2. optimize emac driver by adding ESP_IRAM_ATTR
3. remove duplicated function declare in esp_eth.h
4. remove duplicated code in emac_setup_tx_desc
5. disable Promiscuous mode
2018-09-17 10:12:46 +08:00
Ivan Grokhotkov
0c6ff65b34 Merge branch 'bugfix/bootloader_set_freq' into 'master'
soc: fix CPU frequency not updated in rtc_clk_init

See merge request idf/esp-idf!3256
2018-09-17 09:49:43 +08:00
krzychb
a556240e3e Docs: Renamed download links to clearly state they are to download documentation. Fixed incorrectly linked documentation build badge. 2018-09-17 01:19:45 +00:00
Angus Gratton
61af7f3903 Merge branch 'doc/error_handling_zh_CN' into 'master'
doc/error-handling: translated error-handling.rst

See merge request idf/esp-idf!3148
2018-09-17 09:08:11 +08:00
Jiang Jiang Jian
518942ec61 Merge branch 'bugfix/tw24694_dns_request_no_reply' into 'master'
lwip: add code for sending gratuitous ARP periodically

See merge request idf/esp-idf!3241
2018-09-16 15:18:32 +08:00
Jiang Jiang Jian
67160b2236 Merge branch 'bugfix/mdns_memory_leak' into 'master'
feat(mdns): fix bug when clean action memory

See merge request idf/esp-idf!3276
2018-09-16 15:04:46 +08:00
Jiang Jiang Jian
054e1ee767 Merge branch 'bugfix/optimize_scan_capability' into 'master'
Wifi: Optimize scan capability

See merge request idf/esp-idf!3242
2018-09-16 14:50:36 +08:00
Deng Xin
427fa52276 Wifi: Optimize scan capability 2018-09-14 22:25:28 +08:00
Mahavir Jain
4ec9aa9a00 cmake: prefer version.txt for IDF_VER if available 2018-09-14 17:25:17 +05:30
Jiang Jiang Jian
18a893bd35 Merge branch 'bugfix/btdm_unreserve_scn1_for_hfp' into 'master'
component/bt: Unlock reserve of SCN 1 for HFP

See merge request idf/esp-idf!3269
2018-09-14 19:49:47 +08:00
Jiang Jiang Jian
8001737d3e Merge branch 'bugfix/ble_adv_data_tx_power' into 'master'
fix TX power value in ble adv data is incorrect

See merge request idf/esp-idf!3185
2018-09-14 19:46:16 +08:00
Jiang Jiang Jian
8d537432fd Merge branch 'bugfix/wifi_fix_some_modem_sleep_bugs' into 'master'
esp32: fix some bugs of modem sleep

See merge request idf/esp-idf!3223
2018-09-14 18:24:02 +08:00
me-no-dev
3ec0e7e2d2 Update network code for mDNS to work with newest LwIP
- Uses one PCB that listens to all interfaces
- Manages multicast groups for each interface
2018-09-14 11:02:47 +02:00
Liu Han
3d4deb9726 feat(mdns): fix bug when clean action memory 2018-09-14 15:36:52 +08:00
Ivan Grokhotkov
d56a400709 Merge branch 'bugfix/cmake_create_dummy_main_windows' into 'master'
cmake: use built-in file function to create dummy main

See merge request idf/esp-idf!3253
2018-09-14 15:18:36 +08:00
Liu Zhi Fu
9121ba22e9 esp32: fix some bugs of modem sleep
1. Keep awake to receive beacon at TBTT time no matter which state
   station is on.

2. If there is any packet to send on dream or sleep state, send NULL
   data with power save bit clear first.
2018-09-14 15:12:34 +08:00
Angus Gratton
773fb42a3a Merge branch 'bugfix/mqtt_move_kconfig_to_idf' into 'master'
MQTT: Moved Kconfig from esp-mqtt submodule to esp-idf to support docs genration in RTD

See merge request idf/esp-idf!3265
2018-09-14 15:05:13 +08:00
baohongde
738522f1a3 component/bt: Unlock reserve of SCN 1 for HFP 2018-09-14 06:22:58 +00:00
Ivan Grokhotkov
31c14a5ee4 Merge branch 'feature/py3_espcoredump' into 'master'
espcoredump: Add tests and Python3 support

See merge request idf/esp-idf!3212
2018-09-14 12:39:30 +08:00
Angus Gratton
61835faed1 Merge branch 'bugfix/tcpip_stack_size_default' into 'master'
Default stack size for TCPIP task increased to avoid stack overflow.

See merge request idf/esp-idf!3258
2018-09-14 12:23:35 +08:00
David Cermak
1f8bf057a0 MQTT: Moved Kconfig from esp-mqtt submodule to esp-idf to support docs genration in RTD 2018-09-14 04:22:13 +00:00
zhiweijian
d0721e8f6d Component/bt: fix crash when test multi_connect 2018-09-14 11:18:44 +08:00
Darian Leung
3ba63a520c freertos: Add task function wrapper
This commit adds an option to enclose all FreeRTOS task functions within a
wrapper function. In the case that a task function returns, the wrapper function
will log an error and abort the application immediately.

Closes #2269
Closes #2300
2018-09-14 11:07:54 +08:00
Angus Gratton
11f0c73fb0 Merge branch 'bugfix/undetermined_lang_for_target_bt' into 'master'
Fix undetermined language for target bt issue

See merge request idf/esp-idf!3264
2018-09-14 10:39:32 +08:00
Renz Bagaporo
454d65bbab bt: remove non-existing source file from cmakelists 2018-09-14 08:47:22 +08:00
Angus Gratton
44e4535c90 docs: Set a default IDF_PATH in docs build (needed for RTD)
RTD builds don't set IDF_PATH, mqtt component uses this variable.
2018-09-14 09:42:57 +10:00
Jiang Jiang Jian
e6e2d7ebee Merge branch 'feature/btdm_add_adv_packet_duplicate_in_scan_duplicate' into 'master'
component/bt: add adv packet duplicate in scan duplicate

See merge request idf/esp-idf!2939
2018-09-13 18:16:22 +08:00
Dmitry
2ff3f8b0c8 Stack size for TCPIP task increased from 2048 to 3072. 2018-09-13 12:38:56 +03:00
Angus Gratton
b774ac425d Merge branch 'feature/cmake_ulp_support' into 'master'
cmake: add ulp components build support

See merge request idf/esp-idf!3100
2018-09-13 14:54:59 +08:00
Renz Christian Bagaporo
946f55db85 cmake: add ulp components build support 2018-09-13 14:54:59 +08:00
Angus Gratton
62c3218981 Merge branch 'fix/spi_slave_free_cs' into 'master'
spi_slave: fix the issue rx dma get broken by master unexpected transaction

See merge request idf/esp-idf!3207
2018-09-13 13:50:56 +08:00
Angus Gratton
30388c7e87 cmake: Fix "make flash" & "ninja flash" targets
As reported on forum.

Requires a small CMake wrapper script to pick
up environment variables at flashing time.
2018-09-13 15:08:24 +10:00
Jiang Jiang Jian
60a9462f6e Merge branch 'bugfix/optimize_BLE_memory_debug' into 'master'
component/bt: optimize bluetooth memory debug

See merge request idf/esp-idf!3047
2018-09-13 10:49:26 +08:00
He Yin Ling
4b41bd0cdd test: fix incorrect tx power value in adv 2018-09-13 09:47:23 +08:00
Angus Gratton
2a1c748834 Merge branch 'bugfix/docs_simplify_home_page' into 'master'
There are now visible links to change between English and Chinese version of…

See merge request idf/esp-idf!2983
2018-09-13 09:07:16 +08:00
Angus Gratton
7848cfdde7 Merge branch 'feature/mqtt_component' into 'master'
added tuan's mqtt library into idf

See merge request idf/esp-idf!2851
2018-09-13 09:06:09 +08:00
Angus Gratton
514487e9a1 Merge branch 'feature/light_sleep_example' into 'master'
examples: add light sleep example

See merge request idf/esp-idf!3179
2018-09-13 09:00:59 +08:00
Angus Gratton
866b880ddc Merge branch 'feature/cmake_make_component_main_again_fixes' into 'master'
cmake: fix source list issues

See merge request idf/esp-idf!3248
2018-09-13 08:56:59 +08:00
Renz Christian Bagaporo
944014f9f2 cmake: fix source list issues 2018-09-13 08:56:59 +08:00
Angus Gratton
cf7ae4d898 Merge branch 'bugfix/main_component_kconfig' into 'master'
cmake: don't add main component Kconfig twice

See merge request idf/esp-idf!3250
2018-09-13 07:20:32 +08:00
negativekelvin
171f54bd7e wpa_supplicant: more wpa2_enterprise fixes
Merges https://github.com/espressif/esp-idf/pull/2386

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

Closes https://github.com/espressif/esp-idf/issues/2381
2018-09-12 22:29:15 +08:00
Jiang Jiang Jian
91f579d714 Merge branch 'feature/wifi_update_csi_api_and_fix_phy_dport_access_issue' into 'master'
esp32: update API to set CSI channel filter and HT_LTF data generating

See merge request idf/esp-idf!3180
2018-09-12 21:29:29 +08:00
negativekelvin
8e2856b83d soc: fix CPU frequency not updated in rtc_clk_init
Add missing call to rtc_clk_cpu_freq_set_config

Merges https://github.com/espressif/esp-idf/pull/2398
2018-09-12 21:13:42 +08:00
Tian Hao
b9382b29fa fix TX power value in ble adv data is incorrect
refence to https://github.com/espressif/esp-idf/issues/2284
Before fixing, the tx power in adv data is always 0xeb(-21dbm).

restriction:
    If change BLE advertising TX power, please call esp_ble_gap_config_adv_data()
    after BLE adv TX power changed.

    Later, will implement set BLE advertising TX power via HCI, then the
    TX power value in adv data can be update automatically after BLE adv
    TX power changed.
2018-09-12 20:23:45 +08:00
Ivan Grokhotkov
d928465151 cmake: use built-in file function to create dummy main 2018-09-12 20:21:38 +08:00
zhiweijian
c462a66726 Component/bt: fix save error key in smp when reconnect 2018-09-12 19:51:59 +08:00
Ivan Grokhotkov
8a38a2332a cmake: don't add main component Kconfig twice 2018-09-12 19:37:25 +08:00
Ivan Grokhotkov
c4b0f00985 Merge branch 'bugfix/mdns_service_txt_set' into 'master'
bugfix: mdns_service_txt_set() wasn't allocating memory for TXT records

See merge request idf/esp-idf!3244
2018-09-12 18:43:53 +08:00
He Yin Ling
d4eca3abf5 Merge branch 'bugfix/multi_divece_cant_detect_case' into 'master'
fix the bug of multi device framework that dut can't detect case

See merge request idf/esp-idf!3176
2018-09-12 18:29:34 +08:00
morris
d338279c03 doc/error-handling: translated error-handling.rst
Translated error-handling.rst from en to zh_CN.
2018-09-12 17:54:33 +08:00
Ivan Grokhotkov
ff2cea0df2 Merge branch 'bugfix/cmake_lambda' into 'master'
idf.py: Make the lambda function Python 2 & 3 compatible

See merge request idf/esp-idf!3245
2018-09-12 17:36:03 +08:00
Jiang Jiang Jian
540ccf4177 Merge branch 'bugfix/enlarge_coap_server_pdu' into 'master'
fix: response failed when set a large response data

See merge request idf/esp-idf!2627
2018-09-12 16:48:12 +08:00
Jiang Jiang Jian
36337da8b2 Merge branch 'bugfix/btdm_a2dp_role_mixed_up' into 'master'
component/bt: bugfix that A2DP sink device can be connected by another A2DP sink device

See merge request idf/esp-idf!3191
2018-09-12 16:44:53 +08:00
Jiang Jiang Jian
3a19fb7e8a Merge branch 'bugfix/btdm_controller_enable_failed_in_examples' into 'master'
bugfix/btdm_controller_enable_failed_in_examples

See merge request idf/esp-idf!3224
2018-09-12 16:41:58 +08:00
Alex Lisitsyn
ec5eb1e5c2 esp32: Add option to place.rtc_data and .rtc_rodata into the RTC_FAST segment
Changes:
KConfig: The option CONFIG_ESP32_RTCDATA_IN_FAST_MEM is added in Kconfig file for esp32 component.
esp32.common.ld: added support of RTC_DATA_ATTR, RTC_RODATA_ATTR data placement into appropriate segment according to Kconfig option.
esp32.ld: linker script is modified to set alias for memory segment selected by Kconfig option to place data. The segments for force placement are added for RTC_FAST_ATTR, RTC_SLOW_ATTR attributes.
esp_attr.h: added new attributes RTC_FAST_ATTR, RTC_SLOW_ATTR for force placement into fest/slow memory.
test_rtc_fast.c: Added unit test cases to check data placement into appropriate memory segment.
Updated documentation for RTC_DATA_ATTR, RTC_FAST_ATTR, RTC_SLOW_ATTR in deep_sleep_stub.rst file.

TW#18001
Closes https://github.com/espressif/esp-idf/issues/1553
2018-09-12 09:25:13 +02:00
houchenyao
73a763fecb fix the bug that multi device's dut can't detect case 2018-09-12 07:18:00 +00:00
Angus Gratton
500ee99219 Merge branch 'bugfix/fix_mcpwm_api_mismatch_bug' into 'master'
driver(mcpwm): Fix  some mcpwm related bug

See merge request idf/esp-idf!2510
2018-09-12 14:59:02 +08:00
Angus Gratton
cbcc60ae5f Merge branch 'doc/rmt_example_doc_improve' into 'master'
doc(rmt): update README.md file of rmt related example.

See merge request idf/esp-idf!2636
2018-09-12 14:58:04 +08:00
Ivan Grokhotkov
9bdb28c5c8 Merge branch 'bugfix/py23_packages' into 'master'
Improve the Python package installation procedure

See merge request idf/esp-idf!3222
2018-09-12 14:44:21 +08:00
Ivan Grokhotkov
5acf886324 Merge branch 'bugfix/set_a_real_wakeup_period' into 'master'
Corrected ULP wakeup period setup API to account for time the ULP FSM spends on…

See merge request idf/esp-idf!3228
2018-09-12 14:42:53 +08:00
David Cermak
23345d2021 MQTT: Integrate esp-mqtt library into idf
added docs and tests for mqtt library, small fixes (removed warnings, option for custom outbox, websocket bug fixed for longer transports). refactored to use common tcp_transport component, support for CMake build system.
Closes #2108
2018-09-12 08:00:59 +02:00
Angus Gratton
fdabd5e0b1 Merge branch 'feature/check_uniqueness_name_of_partitions' into 'master'
partition_table: Check - partition names must be unique

See merge request idf/esp-idf!3204
2018-09-12 12:55:14 +08:00
Konstantin Kondrashov
2a87f00942 partition_table: Check - partition names must be unique 2018-09-12 10:58:38 +08:00
krzychb
c8b342cc40 There are now visible links to change between English and Chinese version of documentation. Therefore information on the home page how to switch between languages has been removed. Added 'Download' link to the menu to provide a more visible access to documentation in PDF format for people who prefer to read it offline. 2018-09-12 04:48:50 +02:00
Roland Dobai
dff7a2a302 idf.py: Make the lambda function Python 2 & 3 compatible 2018-09-11 13:11:04 +02:00
Piyush Shah
e5e2702ca3 bugfix: mdns_service_txt_set() wasn't allocating memory for TXT records
Allocation was happening later, causing possible use of stack variables
of caller function, which could be invalid.

Signed-off-by: Piyush Shah <piyush@espressif.com>
2018-09-11 16:23:56 +05:30
Roland Dobai
c3d99dd2e4 Encourage to install python packages without administrative rights
Using 'sudo pip install' can cause a lot of problems because usually
there are a couple of Python interpreters installed. This fix encourages
developers to use `pip install --user` instead which is safer.
2018-09-11 08:54:37 +02:00
Roland Dobai
5eb452f72e Add required Python packages
On some systems pip and setuptools are no longer installed as
dependencies of the python packages. This commit adds the requirement
for these packages.
2018-09-11 08:54:37 +02:00
Roland Dobai
b9e1869538 espcoredump: Add tests and Python3 support 2018-09-11 08:53:06 +02:00
zhangyanjiao
237cc88b9f lwip: add code for sending gratuitous ARP periodically 2018-09-11 14:36:42 +08:00
Angus Gratton
17ac4bad73 Merge branch 'feature/py23_docs' into 'master'
docs: Make the Python scripts Python 2&3 compatible

See merge request idf/esp-idf!3226
2018-09-11 12:51:49 +08:00
wangmengyang
ee7a73e5a7 component/bt: release some controller memory according to the configuration of bluetooth examples 2018-09-11 11:32:20 +08:00
wangmengyang
37269dbbca component/bt: bugfix for mismatch of controller mode in sdkconfig.defaults and source code in some examples 2018-09-11 11:32:04 +08:00
Jiang Jiang Jian
9cce5f5a55 Merge branch 'bugfix/fix_the_bug_when_gateway_zero' into 'master'
esp32: fix the bug that SYSTEM_EVENT_STA_GOT_IP is forbidden when gateway is 0.0.0.0

See merge request idf/esp-idf!3210
2018-09-11 10:57:18 +08:00
zhiweijian
9103a04793 component/bt: add adv packet duplicate in scan duplicate 2018-09-11 02:31:11 +00:00
Angus Gratton
94f86e2d88 Merge branch 'feature/cmake_make_main_component_again' into 'master'
cmake: make main a component again

See merge request idf/esp-idf!3202
2018-09-11 09:44:12 +08:00
Renz Christian Bagaporo
d9939cedd9 cmake: make main a component again 2018-09-11 09:44:12 +08:00
zhiweijian
469b8c7e8e component/bt: optimize bluetooth memory debug 2018-09-10 09:19:19 +00:00
Ivan Grokhotkov
82b8db196f examples: add light sleep example 2018-09-10 17:10:43 +08:00
Angus Gratton
f9bed53ea2 Merge branch 'feature/task_wdt_add_timestamp' into 'master'
esp32/task_wdt: Add timestamp to message isr_twdt

See merge request idf/esp-idf!3053
2018-09-10 16:31:20 +08:00
Roland Dobai
004c6fb7ff Docs: Remove unused kconfiglib.py 2018-09-10 10:28:14 +02:00
Angus Gratton
bd1e80b3f0 Merge branch 'bugfix/esp_ipc_call_blocking' into 'master'
ipc: fix `esp_ipc_call_blocking` to return after callback execution is completed

See merge request idf/esp-idf!3218
2018-09-10 16:27:50 +08:00
Jiang Jiang Jian
892fc4ac3f Merge branch 'feature/btdm_add_set_default_passkey_function' into 'master'
Component/bt: add set/clear static passkey function

See merge request idf/esp-idf!3128
2018-09-10 16:08:05 +08:00
Angus Gratton
229fe8e2e4 Merge branch 'feature/esp-wrover-kit-v4_1' into 'master'
Included ESP-WROVER-KIT V4.1 in documenation: Added 'Get Started' guide and updated 'HW Reference'. Closes https://github.com/espressif/esp-idf/issues/2363. Closes https://github.com/espressif/esp-idf/issues/2365.

See merge request idf/esp-idf!3161
2018-09-10 14:48:41 +08:00
Angus Gratton
c5265b12dd Merge branch 'feature/http_client_custom_method' into 'master'
esp_http_client: add support OPPTIONS/SUB/UNSUB/NOTIFY methods

See merge request idf/esp-idf!3214
2018-09-10 14:44:27 +08:00
Roland Dobai
f5a642840a docs: Make the Python scripts Python 2&3 compatible 2018-09-10 08:37:43 +02:00
Ivan Grokhotkov
c76b6d07f0 Merge branch 'fix/sdio_slave_recv_isr_load' into 'master'
sdio_slave: fix the recv crash when trans finish and load at the same time

See merge request idf/esp-idf!3217
2018-09-10 14:37:18 +08:00
krzychb
f6b0b27026 Corrected number of FSM cycles and related description 2018-09-10 07:14:19 +02:00
krzychb
5eee2bf37d Corrected ULP wakeup period setup API to account for time the ULP FSM spends on internal tasks before being able to execute the program. Inspired by https://esp32.com/viewtopic.php?f=2&t=7081. 2018-09-10 07:08:12 +02:00
michael
8f88a81f30 sdio_slave: fix the recv crash when trans finish and load at the same time 2018-09-10 13:06:54 +08:00
Ivan Grokhotkov
27d1b04500 Merge branch 'bugfix/cmake_examples_check_stage' into 'master'
ci: verify example CMakeLists.txt at check stage

See merge request idf/esp-idf!3230
2018-09-10 12:43:29 +08:00
Ivan Grokhotkov
f41eeb9e03 ci: verify example CMakeLists.txt at check stage 2018-09-10 12:02:02 +08:00
wangmengyang
36a8cd1bf5 component/bt: stop to inititate AVRC connection when A2DP connection fails to set up
AVRCP connection binds to A2DP in current implementation, despite the two profiles are\
independent according to specification. AVRCP connection is not necessary to set-up \
if A2DP connection fails to establish
2018-09-10 03:35:58 +00:00
wangmengyang
9621904cdc component/bt: stop to initiate AVDTP connection on failure of A2DP service discovery
In opening state of AVDTP connection, if SDP client fails to get valid A2DP service record\
from peer SDP server, then do not initiate AVDTP connection request
2018-09-10 03:35:58 +00:00
wangmengyang
e9e3bc492b component/bt: bugfix that A2DP sink device can be connected by another A2DP sink device
In pevious implementation, A2DP sink will register an A2DP source Stream End Point(SEP) although the SEP is not\
supposed to be used. Now remove the unused SEP for source so that only one role of A2DP can be supported at one
time. Service record in local SDP server only includes at most one service for A2DP sink role or source
2018-09-10 03:35:58 +00:00
Angus Gratton
9844779553 Merge branch 'bugfix/add_missing_CMakeLists' into 'master'
Added missing CMakeLists.txt file to satisfy CI checks

See merge request idf/esp-idf!3229
2018-09-10 10:54:48 +08:00
krzychb
15c10b3cbe Added missing CMakeLists.txt file to satisfy CI checks 2018-09-09 21:32:57 +02:00
Mahavir Jain
94c571c017 ipc: fix esp_ipc_call_blocking to return after callback execution is completed
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-09-07 14:19:35 +05:30
He Yin Ling
6f5820814f Merge branch 'test/driver_case_review' into 'master'
Test/driver case review

See merge request idf/esp-idf!3206
2018-09-07 16:48:59 +08:00
Ivan Grokhotkov
7e514c11ca Merge branch 'bugfix/http_server_strcasecmp' into 'master'
using case-insensitive compare for getting http header

See merge request idf/esp-idf!3155
2018-09-07 16:45:52 +08:00
Angus Gratton
e7243a2cdd Merge branch 'doc/eclipse_parallel_build' into 'master'
doc: Add parallel builds to the Eclipse setup guide

See merge request idf/esp-idf!3209
2018-09-07 16:03:53 +08:00
Ivan Grokhotkov
457e8d4265 Merge branch 'bugfix/slow_mem_keep_rtc_noinit' into 'master'
sleep: keep RTC_SLOW_MEM powered on if RTC_NOINIT is used

See merge request idf/esp-idf!3213
2018-09-07 15:54:52 +08:00
morris
1e9ce6a2e1 doc: translate parallel build in Eclipse 2018-09-07 14:39:40 +08:00
Angus Gratton
4eeed31a04 Merge branch 'feature/cmake' into 'master'
Merge experimental CMake support to master

See merge request idf/esp-idf!3024
2018-09-07 13:44:17 +08:00
michael
2d748b5d38 spi_slave: fix the issue rx dma get broken by master unexpected transaction 2018-09-07 12:04:55 +08:00
Angus Gratton
70cacc8b4e doc: Add parallel builds to the Eclipse setup guide 2018-09-07 11:48:17 +08:00
Tuan PM
738d49e02b esp_http_client: add support OPPTIONS/SUB/UNSUB/NOTIFY methods 2018-09-07 03:06:09 +00:00
XiaXiaotian
7d56115992 esp32: update API to set CSI channel filter and HT_LTF data generating
method and apply pre-read APB register dport access method to PHY

Close: https://github.com/espressif/esp-idf/issues/2337
2018-09-07 11:05:59 +08:00
Tuan PM
958bf62e5f http_server: using case-insensitive compare for getting http header 2018-09-07 03:04:43 +00:00
zhiweijian
d12982dc6e Component/bt: add set default passkey function 2018-09-07 10:55:44 +08:00
Angus Gratton
aab43e6dda Merge branch 'bugfix/enlarge_ethernet_mac_stack_size' into 'master'
ethernet: enlarge ethernet task stack size

See merge request idf/esp-idf!3203
2018-09-07 10:47:30 +08:00
Ivan Grokhotkov
8893438f08 Merge branch 'feature/cpp_exceptions_example' into 'master'
examples: add C++ exception handling example

See merge request idf/esp-idf!3178
2018-09-07 10:34:18 +08:00
Ivan Grokhotkov
13107d5968 Merge branch 'feature/light_sleep_gpio_uart_wakeup' into 'master'
sleep: add support for GPIO and UART wakeup from light sleep

See merge request idf/esp-idf!3004
2018-09-07 10:33:33 +08:00
morris
161a506f00 ethernet: enlarge ethernet task stack size
1. In original driver, the stack size for emac driver task "emacT" is only 2048 Bytes, which also can not be changed by user.
2. Each time when invoking "emac_start" function, it will reset emac registers, the driver should reconfig some important registers again.
2018-09-07 10:16:34 +08:00
Jiang Jiang Jian
8484b9cfd3 Merge branch 'feature/btdm_legacy_paring' into 'master'
component/bt: Add Legacy Pairing

See merge request idf/esp-idf!3057
2018-09-07 10:15:52 +08:00
Angus Gratton
36bc73e5a6 idf.py: Choose a default serial port for all targets if '-p' is not given 2018-09-06 20:32:49 +08:00
Angus Gratton
deb46b415f lwip: Re-add CONFIG_PPP_SUPPORT check, remove redundant CFLAGS 2018-09-06 20:23:20 +08:00
Angus Gratton
cff2ef695a Merge branch 'master' into feature/cmake 2018-09-06 20:23:04 +08:00
Jiang Jiang Jian
affe75a102 Merge branch 'bugfix/btdm_hfp_invalid_hci_sync_pkt_len' into 'master'
bugfix/btdm_hfp_invalid_hci_sync_pkt_len

See merge request idf/esp-idf!3186
2018-09-06 19:51:42 +08:00
houchenyao
0cfed0b79b rmt test: add the case for bug in github[#1815] 2018-09-06 19:43:30 +08:00
houchenyao
47fcdeaa0b rmt test: add case test test the bug of re-install problem
add pending bug case:rmt_tx_stop function cause the re-install fail when rmt_config_t.tx_config.loop_en==true
2018-09-06 19:43:30 +08:00
houchenyao
09dd1034de rmt test: add case to check memory block.
add RMT channel num and memory block relationship test case to check the memory block range is used in right way.
2018-09-06 19:43:30 +08:00
houchenyao
836d01dcea ledc test: ignore one case.
a bug caused by pcnt. it will fail randomly caused by PCNT bug. It will open when PCNT problem is resolved
2018-09-06 19:43:30 +08:00
Jiang Jiang Jian
b999d10e8c Merge branch 'feature/sync_lwip_as_submodule' into 'master'
Feature/sync lwip as submodule

See merge request idf/esp-idf!2685
2018-09-06 19:43:08 +08:00
Zhang Yan Jiao
3578fe39e0 Feature/sync lwip as submodule 2018-09-06 19:43:08 +08:00
houchenyao
f647ea81cc pcnt test: ignore pcnt two test cases
a bug caused by pcnt. these two cases has about 10% fail ratio. they fail randomly in CI. stress test needed. they are ignored until this bug fixed.
2018-09-06 19:42:20 +08:00
Ivan Grokhotkov
de0e9a1e05 Merge branch 'bugfix/http_server_example_tests_regex' into 'master'
HTTP Server Example Tests : Fix various issues

See merge request idf/esp-idf!3162
2018-09-06 19:37:11 +08:00
Angus Gratton
55756550dd Merge branch 'feature/pyenv_multiple_run' into 'master'
CI: Simplify running commands with several versions of Python

See merge request idf/esp-idf!3123
2018-09-06 19:29:03 +08:00
Ivan Grokhotkov
281345c53a sleep: keep RTC_SLOW_MEM powered on if RTC_NOINIT is used
Fixes a bug that if application uses RTC_NOINIT variables but doesn’t
use RTC_DATA variables, then RTC_NOINIT variables loose their values
after deep sleep.

Reported in https://esp32.com/viewtopic.php?f=2&t=7045&p=30301#p30299
2018-09-06 18:31:17 +08:00
Roland Dobai
9538059f84 CI: Simplify running commands with several versions of Python 2018-09-06 11:50:17 +02:00
houchenyao
22ac8cf424 ledc test: test low speed mode frequency.
remove the comment to test the scenario that ledc in low speed mode frequency can be changed, to make sure the bug has been resolved
2018-09-06 17:44:39 +08:00
houchenyao
98c868ff09 gpio test: add GPIO multi-level interrupt test
add case to test the bug of v3.0. If we trigger the level interrupt more than once, will cause the interrupt be triggered many times
2018-09-06 17:43:23 +08:00
XieWX
f278c7c9f8 docs: refactor BLE iBeacon demo readme 2018-09-06 17:31:03 +08:00
krzychb
91c7149f6e Included information about power on and diagnostics LEDs. Closes https://github.com/espressif/esp-idf/issues/2365. 2018-09-06 11:28:23 +02:00
Angus Gratton
c1b8949a1e cmake: Add CMakeLists.txt file for WiFi station example 2018-09-06 16:20:13 +08:00
Ivan Grokhotkov
599da58070 Merge branch 'feature/disable_rom_logging' into 'master'
esp32/sleep: Add a function to disable logging from ROM code

See merge request idf/esp-idf!3182
2018-09-06 16:11:23 +08:00
Ivan Grokhotkov
09d0b8d47b sleep: allow esp_sleep_get_wakeup_cause to be used for light sleep 2018-09-06 15:42:34 +08:00
Ivan Grokhotkov
6fbf585703 docs/sleep: mention new wakeup sources, use generated API reference 2018-09-06 15:42:34 +08:00
Ivan Grokhotkov
31e969aded examples/console: add light sleep command 2018-09-06 15:40:46 +08:00
Ivan Grokhotkov
cf4f2c19e4 sleep: allow disabling all wakeup sources 2018-09-06 15:40:46 +08:00
Ivan Grokhotkov
75629b7fc3 sleep: add support for GPIO and UART wakeup from light sleep 2018-09-06 15:40:46 +08:00
Ivan Grokhotkov
002d913ab6 uart: add function to set light sleep wakeup threshold 2018-09-06 15:40:46 +08:00
Ivan Grokhotkov
1c5522575e driver/gpio: support wakeup function for RTC IOs 2018-09-06 15:40:46 +08:00
zhangyanjiao
770e413d4c esp32: fix the bug that SYSTEM_EVENT_STA_GOT_IP is forbidden when gateway is 0.0.0.0
Closes: https://github.com/espressif/esp-idf/issues/2344
2018-09-06 14:52:04 +08:00
Jiang Jiang Jian
5c3ca78a07 Merge branch 'bugfix/btdm_discovery_ble' into 'master'
component/bt : fix bug that set discovery mode will stop ble adv

See merge request idf/esp-idf!3183
2018-09-06 14:18:11 +08:00
Jiang Jiang Jian
e675c3cfed Merge branch 'test/split_test_env_for_integration_test' into 'master'
test: split CI test environment

See merge request idf/esp-idf!3099
2018-09-06 13:09:11 +08:00
Angus Gratton
0bc5dcc2c2 cmake: Post-merge fixups 2018-09-06 11:14:30 +08:00
krzychb
1d99531328 Corrected RGB LED pin assignment. Closes https://github.com/espressif/esp-idf/issues/2363. 2018-09-05 22:10:42 +02:00
krzychb
62389b6be6 Included ESP-WROVER-KIT V4.1 in documenation: Added 'Get Started' guide and updated 'HW Reference' 2018-09-05 22:10:42 +02:00
Anurag Kar
3ed5af18fd HTTP Server Example Tests : Fix various issues
* Fixed regex constraints for parsing IP and other parameters from monitor log.
* httplib connection timeouts set
* Redundent tests (commented out earlier) have been removed from advanced_tests. These tests are already run during unit testing.
2018-09-05 23:29:07 +05:30
Ivan Grokhotkov
a0d2dd0385 Merge branch 'bugfix/eclipse_compiler_command_cpp' into 'master'
docs/eclipse: update command to get compiler specs

See merge request idf/esp-idf!3167
2018-09-05 18:35:25 +08:00
Angus Gratton
b1380707e4 Merge branch 'bugfix/ci_github_deploy' into 'master'
ci: Fix spurious pipeline failure when deploying a tag to GitHub

See merge request idf/esp-idf!3021
2018-09-05 18:07:24 +08:00
Jiang Jiang Jian
d7079b6842 Merge branch 'bugfix/tw25969_esp_derive_local_mac_missing' into 'master'
defination: fix the bug that esp_derive_local_mac() defination missing

See merge request idf/esp-idf!3198
2018-09-05 17:21:02 +08:00
zhangyanjiao
8d698a59f4 defination: fix the bug that esp_derive_local_mac() defination missing
Closes: https://github.com/espressif/esp-idf/issues/2352
2018-09-05 14:36:37 +08:00
Ivan Grokhotkov
312424b5ac docs: update command to get compiler specs in a few more places 2018-09-05 11:05:52 +08:00
Ivan Grokhotkov
bcd384eb87 Merge branch 'doc/get_started_override_options' into 'master'
doc: Add environent variable overriding to get started

See merge request idf/esp-idf!3160
2018-09-05 11:02:47 +08:00
Angus Gratton
b355854d4d Merge branch 'master' into feature/cmake 2018-09-05 10:35:04 +08:00
Ivan Grokhotkov
52477d77fb Merge branch 'bugfix/nvs_doc' into 'master'
nvs_flash: Minor changes to NVS documentation

See merge request idf/esp-idf!3192
2018-09-05 10:20:34 +08:00
He Yin Ling
b9f7e0a1a2 test: split CI test environment:
Currently CI test environment is complicated, usually includes NIC, AP.
These devices are not used for a lot test cases. Therefore we split the
test environment, remove unnecessary devices. Then it will be easier to
create CI runners.
2018-09-05 01:45:48 +00:00
Darian Leung
d268677017 doc: Add environemt variable overriding to get started
This comit adds details about the overriding of environment variables such as
ESPPORT and ESPBAUD to the get started guide.
2018-09-05 02:05:31 +08:00
Sagar Bijwe
db7c257f33 nvs_flash: Minor changes to NVS documentation
1) Change API doc to reflect new limits on string and blob length.
2) Add "version" field to Page Header structure in README.

Fixes: https://github.com/espressif/esp-idf/issues/2321
2018-09-04 18:51:31 +05:30
baohongde
bd8b9960d5 component/bt: Add Legacy Pairing 2018-09-04 21:11:03 +08:00
Ivan Grokhotkov
cb2876ff4e examples: add C++ exception handling example 2018-09-04 21:00:14 +08:00
Ivan Grokhotkov
6d865c6104 Merge branch 'feature/termios' into 'master'
Add basic support for termios.h

See merge request idf/esp-idf!3085
2018-09-04 20:42:21 +08:00
Ivan Grokhotkov
97b2281c49 Merge branch 'bugfix/can_driver_multiple_bugs' into 'master'
CAN: Add pm_lock, fix gpio bug, update docs

See merge request idf/esp-idf!3138
2018-09-04 20:34:06 +08:00
Ivan Grokhotkov
2469718481 Merge branch 'bugfix/check_python_order_only_prereq' into 'master'
Use check_python_dependencies everywhere as order-only-prerequisite

See merge request idf/esp-idf!3174
2018-09-04 20:31:49 +08:00
Ivan Grokhotkov
4197ee746a Merge branch 'bugfix/monitor_win_encoding' into 'master'
idf_monitor: Fix Unicode decoding on Windows

See merge request idf/esp-idf!3157
2018-09-04 20:31:37 +08:00
wangmengyang
4e6b3936c0 component/bt: bugfix for incorrect length of HCI SCO packet size in HFP resulted from uninitialized data buffer length 2018-09-04 20:09:07 +08:00
Jiang Jiang Jian
f83926a6e6 Merge branch 'doc/btdm_a2dp_sink_example_improvement' into 'master'
component/bt: fix the format and add more content to A2DP sink example

See merge request idf/esp-idf!2995
2018-09-04 19:37:31 +08:00
Jiang Jiang Jian
619eadf8d3 Merge branch 'doc/btdm_a2dp_source_example_improvement' into 'master'
component/bt: fix the format and add more content to A2DP source example

See merge request idf/esp-idf!2996
2018-09-04 19:14:55 +08:00
Jiang Jiang Jian
69610acbe3 Merge branch 'feature/modify_simple_wifi' into 'master'
modify simple wifi example to getting_started example

See merge request idf/esp-idf!3143
2018-09-04 19:04:42 +08:00
Angus Gratton
2ec0fd8fd6 Merge branch 'feature/signature_verify_updates' into 'master'
secure boot: Support signed app verification without hardware secure boot

See merge request idf/esp-idf!2814
2018-09-04 18:56:47 +08:00
Konstantin Kondrashov
dbad72e6b5 examples/ulp: Add using esp_deep_sleep_disable_rom_logging 2018-09-04 18:21:34 +08:00
Tian Hao
069f495006 component/bt : fix bug that set discovery mode will stop ble adv
As the bluedroid original implmentation of BR/EDR and BLE dual mode about discovery mode,
when set discovery mode for BR/EDR, it will stop ble advertising.

Reference to https://github.com/espressif/esp-idf/issues/2306
2018-09-04 17:07:10 +08:00
Konstantin Kondrashov
38098b713f esp32/sleep: Add a function to disable logging from ROM code 2018-09-04 16:03:18 +08:00
zhangyanjiao
45d596d821 1. modify simple wifi example
2. add README file
2018-09-04 14:44:43 +08:00
Jiang Jiang Jian
b91cf5a33f Merge branch 'bugfix/esp_bt_mem_release' into 'master'
components/bt: Fix broken API esp_bt_mem_release() for parameter ESP_BT_MODE_BTDM

See merge request idf/esp-idf!3121
2018-09-04 14:17:10 +08:00
Jiang Jiang Jian
76669ca817 Merge branch 'feature/modify_espnow' into 'master'
modify espnow example

See merge request idf/esp-idf!3144
2018-09-04 13:09:43 +08:00
Angus Gratton
e54f3d9616 Merge branch 'bugfix/bootloader_random_in_app' into 'master'
esp32: Allow bootloader_random.h use in app, add esp_fill_random() function

See merge request idf/esp-idf!3124
2018-09-04 10:39:12 +08:00
Angus Gratton
49656656c3 Merge branch 'bugfix/lock_up_if_supply_is_varying' into 'master'
bootloader_support: Fix enable wdt for resolve issue with varying supply

See merge request idf/esp-idf!2769
2018-09-04 00:37:52 +08:00
Angus Gratton
6fa52ca8fe cmake: Call check_python_dependencies.py from idf.py & cmake 2018-09-03 18:37:53 +08:00
Roland Dobai
f755a0371d Use check_python_dependencies everywhere as order-only-prerequisite 2018-09-03 11:42:10 +02:00
Angus Gratton
1c452c8e98 Merge branch 'bugfix/make_mconf_deps' into 'master'
kconfig: Don't include system headers in dependency files

See merge request idf/esp-idf!3163
2018-09-03 15:43:20 +08:00
Angus Gratton
6976f5671c Merge branch 'bugfix/heap_dma_pool_fixes' into 'master'
heap: Fixes around DMA reserved pool

See merge request idf/esp-idf!3034
2018-09-03 15:43:01 +08:00
Angus Gratton
1a0b39a1b3 Merge branch 'bugfix/add_core_id_to_idle_task_name' into 'master'
freertos: Add core ID to idle task names

See merge request idf/esp-idf!3159
2018-09-03 14:40:37 +08:00
Konstantin Kondrashov
26ee0f5203 esp32/task_wdt: Add timestamp to message isr_twdt
Closes https://github.com/espressif/esp-idf/issues/2270
2018-09-03 14:31:22 +08:00
Konstantin Kondrashov
4fc84306a2 esp32/task_wdt: Add esp_task_wdt_isr_user_handler function
Added esp_task_wdt_isr_user_handler function to receive twdt events in
the user code.

Closes https://github.com/espressif/esp-idf/issues/2270
2018-09-03 14:31:20 +08:00
Darian Leung
977619f23c freertos: Add core ID to idle task names
This commit adds the core number to the name of each idle task.
2018-09-03 13:50:05 +08:00
Konstantin Kondrashov
9c715d7946 bootloader_support: Fix enable rtc_wdt for resolve issue with varying supply
Eliminates the issue with the lock up in the bootloader due to a power drawdown during its operation.

Closes https://github.com/espressif/esp-idf/issues/1814
2018-09-03 05:43:01 +00:00
Angus Gratton
83a179abb0 esp32: Add esp_fill_random() function
Convenience function to fill a buffer with random bytes.

Add some unit tests (only sanity checks, really.)
2018-09-03 04:39:45 +00:00
Angus Gratton
767ec27350 bootloader_support: Move bootloader_random.h to public header directory 2018-09-03 04:39:45 +00:00
Angus Gratton
ae4efeb3dc mconf: Don't include system headers in dependency files
Fixes issue where build gets stuck because of .d files in the
tools/kconfig directory.

Closes https://github.com/espressif/esp-idf/issues/712
2018-09-03 03:45:15 +00:00
Angus Gratton
5f1844a0c8 Merge branch 'bugfix/heap_poison_swap_check' into 'master'
heap: When verifying & swapping a fill pattern, stop swapping if verification fails

See merge request idf/esp-idf!2890
2018-09-03 11:19:16 +08:00
Angus Gratton
084ca82f96 Merge branch 'feature/bootloader_minor_enhancements' into 'master'
Feature/bootloader minor enhancements

See merge request idf/esp-idf!3111
2018-09-03 10:56:30 +08:00
Angus Gratton
27a1758908 Merge branch 'mesh/rewrite_docs' into 'master'
docs/rewrite_mesh_docs

See merge request idf/esp-idf!2990
2018-09-03 10:52:33 +08:00
Darian Leung
f4c3917712 docs/rewrite_mesh_docs
The following commit rewrites the ESP-MESH docs. This commit includes
new diagrams and a structure approach to the mesh docs. Some mesh api references
have also been modified.
2018-09-02 21:34:21 +08:00
negativekelvin
1d5dc2b9ef wpa2_enterprise fixes 2018-09-01 22:19:48 -07:00
Darian Leung
dc3fa14a26 CAN: Add pm_lock, fix gpio bug, update docs
This commit does the following

- Add power management lock to CAN driver so that APB frequency does not change
whilst CAN driver is in use
- Fix incorrect flag in can_transmit()
- Refactor can_driver_install() and can_driver_uninstall() so that critical sections
are shorter
- Fix CAN gpio configuration bug on RX pin. Closes #2302
- Add docs about multiple ID configuration and fix example links
2018-09-01 02:46:05 +08:00
Hrishikesh Dhayagude
4abe47437f components/bt: Fix broken API esp_bt_mem_release() for parameter ESP_BT_MODE_BTDM
Problem:
The new API esp_bt_mem_release() that was added freed BTDM data to heap from esp_bt_controller_mem_release().
Now with the BT memory optimization commit ee787085f9,
the BTDM data is optimized and reduced to only 32 bytes which is not sufficient amount to be added to heap.
So, using the API leads to assert saying that the region is too small.

Solution:
Modify heap_caps_add_region_with_caps to return ESP_ERR_INVALID_SIZE in case the range is too small to create a new heap.
Do not assert if return value is ESP_ERR_INVALID_SIZE

This also fixes using API esp_bt_controller_mem_release() with ESP_BT_MODE_BTDM

Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-08-31 14:28:23 +00:00
Jiang Jiang Jian
a557e8cc14 Merge branch 'bugfix/fix_bt_hdr_files' into 'master'
components/bt: Make a pass through Bluetooth header files

See merge request idf/esp-idf!3093
2018-08-31 22:04:39 +08:00
Jiang Jiang Jian
2d0124698e Merge branch 'bugfix/btdm_update_private_address' into 'master'
component/bt: Update BLE private address after it's private address interval

See merge request idf/esp-idf!2987
2018-08-31 21:33:54 +08:00
Jiang Jiang Jian
4542bf19f7 Merge branch 'bugfix/btdm_rfcomm_test_command_cause_crash' into 'master'
component/bt: Fix bug rfcomm test command cause crash

See merge request idf/esp-idf!3080
2018-08-31 21:33:39 +08:00
Jiang Jiang Jian
e3778d7bd9 Merge branch 'bugfix/btdm_find_remote_service_by_uuid_always_return_success' into 'master'
component/bt: Fix bug of SDP find services by uuid always return success

See merge request idf/esp-idf!3036
2018-08-31 21:27:21 +08:00
Jiang Jiang Jian
da1a439153 Merge branch 'feature/modify_smart_config' into 'master'
modify smart config example

See merge request idf/esp-idf!3142
2018-08-31 21:01:57 +08:00
Jiang Jiang Jian
430eeef5a2 Merge branch 'bugfix/esp_wifi_disconnect_fail' into 'master'
update wifi lib to fix two bugs

See merge request idf/esp-idf!3125
2018-08-31 21:01:12 +08:00
Jiang Jiang Jian
76413309a5 Merge branch 'bugfix/tw23350_fix_brownout_reset' into 'master'
when brownout reset occurs, set the phy TX Power to the lowest

See merge request idf/esp-idf!2854
2018-08-31 20:37:18 +08:00
zhangyanjiao
6daecf73ce modify espnow example 2018-08-31 19:21:15 +08:00
Roland Dobai
276cba1103 idf_monitor: Fix Unicode decoding on Windows
Closes https://github.com/espressif/esp-idf/issues/2348
2018-08-31 12:20:55 +02:00
Angus Gratton
38c0626090 cmake app_update: Add "flash blank otadata" functionality to cmake 2018-08-31 12:30:14 +08:00
Angus Gratton
a6282e3e5e cmake idf.py: Print flasher file arguments in order of file offset
Previously, order was random
2018-08-31 12:29:38 +08:00
Angus Gratton
c921f14128 cmake: Generate list of components with dependent items first, use deterministic ordering
Guarantees that a component's project_include.cmake will be called after its dependent components'
project_include.cmake. Because of cycles in the dependency graph, this is less useful than you'd
think but it gives a strong guarantee for any component which is not part of a cycle.

Also applies deterministic ordering (ordering is initialised as COMPONENT_REQUIRES_COMMON then all
COMPONENTS in alphabetical order, but then the sorting by dependencies is applied.)
2018-08-31 12:29:13 +08:00
zhangyanjiao
b952031947 fix the esp_wifi_disconnect() err when wifi is not started or inited
Closes: https://github.com/espressif/esp-idf/issues/2336
2018-08-31 10:49:52 +08:00
Angus Gratton
6de75e03ac Merge branch 'ci/add_check_stage' into 'master'
ci: Add 'check' stage, move all check-related jobs to this stage

See merge request idf/esp-idf!2986
2018-08-31 10:08:59 +08:00
Dennis Damen
d8cf8074ec Updated command to get compiler specs.
Eclipse was unable to resolve the std::mutex type eventhough the mutex header file was succesfully included. By adding this modification, the issues was resolved.
2018-08-30 22:00:47 +02:00
Jiang Jiang Jian
4cd1643006 Merge branch 'bugfix/btdm_security_vulnerability' into 'master'
fix bluetooth security vulnerability of ECDH public key checking

See merge request idf/esp-idf!3089
2018-08-31 02:02:59 +08:00
Jiang Jiang Jian
cda3eff3a2 Merge branch 'bugfix/wifi_reorder_mpdu_as_ampdu' into 'master'
esp32: reorder MPDU as AMPDU

See merge request idf/esp-idf!3108
2018-08-31 01:59:50 +08:00
XiaXiaotian
cfaf6c2729 esp32: reorder MPDU as AMPDU
Some APs transmit AMPDU and MPDU by turns. Moreover, the sequence
    numbers of AMPDU and MPDU are out of order, e.g. MPDU(1253) -
    AMPDU(1251, 1252) - MPDU(1254) - AMPDU(1255, 1256). In order to
    receive both AMPDU and MPDU in order, MPDU must be reordered with
    AMPDU.
2018-08-30 17:18:48 +00:00
Roland Dobai
5395435816 Add basic support for termios.h
Closes https://github.com/espressif/esp-idf/issues/2063
2018-08-30 14:29:20 +02:00
Ivan Grokhotkov
499d06746b Merge branch 'bugfix/py3_error_code_generator_from_docs' into 'master'
Docs: Check Python packages

See merge request idf/esp-idf!3135
2018-08-30 20:25:09 +08:00
zhangyanjiao
98cf74d1b7 modify static variables and README file 2018-08-30 19:52:10 +08:00
Roland Dobai
7cfef29eb8 Docs: Check Python packages 2018-08-30 13:20:42 +02:00
Angus Gratton
5fbfd20f10 Merge branch 'master' into feature/cmake 2018-08-30 18:52:31 +08:00
Angus Gratton
a9c4ed7139 Merge branch 'master' into feature/cmake 2018-08-30 18:51:01 +08:00
Angus Gratton
31cbd1b251 Merge branch 'feature/emmc_ddr' into 'master'
sdmmc: eMMC support, command layer refactoring

See merge request idf/esp-idf!3062
2018-08-30 18:14:35 +08:00
Angus Gratton
7440d5f920 Merge branch 'feature/py3_idf_size' into 'master'
tools: Support Python 3 in idf_size.py

See merge request idf/esp-idf!2849
2018-08-30 18:12:17 +08:00
zhangyanjiao
5425979932 when brownout reset occurs,set the phy TX Power to the lowest 2018-08-30 14:22:03 +08:00
Angus Gratton
c4ed9d15f7 heap: Drop priority of DMA reserved memory pool
Ensures that non-reserved memory should be used up first, before allocating from this pool.
2018-08-30 06:18:18 +00:00
Angus Gratton
776c57e0ac heap: When adding a new heap, allocate its metadata block from internal memory only 2018-08-30 06:18:18 +00:00
Angus Gratton
fafe532f35 ci: Add 'check' stage, move all check-related jobs to this stage
Allows us to prevent pushing to GitHub if a check fails on master/release branch.
2018-08-30 14:14:48 +08:00
Ivan Grokhotkov
da34e3eb68 sdmmc: document eMMC support, host features 2018-08-30 13:14:26 +08:00
Ivan Grokhotkov
b7e5b28f49 sdmmc: update unit tests for ESP_eMMC_TestBoard_V1
1. New tests for SD card on slot 0. Currently frequency for 4-bit mode
has to be reduced in the test.

2. Change pin for CD/WP tests, re-enable CD tests.
2018-08-30 13:14:26 +08:00
Ivan Grokhotkov
78fab8a0f9 sdmmc: implement partial DDR support
Works for 3.3V eMMC in 4 line mode.
Not implemented:
- DDR mode for SD cards (UHS-I) also need voltage to be switched to 1.8V.
- 8-line DDR mode for eMMC to be implemented later.
2018-08-30 13:11:54 +08:00
Ivan Grokhotkov
de42d99b1d sdmmc: command layer refactoring 2018-08-30 13:11:54 +08:00
Angus Gratton
1806a69abf Merge branch 'bugfix/http_server_example_tests' into 'master'
http_server : Fix and enable example tests

See merge request idf/esp-idf!2960
2018-08-30 12:46:29 +08:00
Tian Hao
5a8917c337 fix bluetooth security vulnerability of ECDH publick key checking 2018-08-30 11:39:19 +08:00
sergiu2014
383464749a eMMC/MMC support for ESP32
Merges https://github.com/espressif/esp-idf/pull/1941
Previous work in https://github.com/espressif/esp-idf/pull/590
2018-08-30 11:36:28 +08:00
Ivan Grokhotkov
80e47a005d sdmmc host: minor cleanup
Code style, comments
2018-08-30 11:36:28 +08:00
Angus Gratton
100a325129 Merge branch 'fix/spi_example_wait_gpio' into 'master'
spi: fix the misleading example, letting the master wait until slave is ready

See merge request idf/esp-idf!3136
2018-08-30 11:29:38 +08:00
He Yin Ling
b01e87bbaf Merge branch 'test/bugfix_BTSTK_GATT_25007' into 'master'
test: fix bug of BTSTK_GATT_25007

See merge request idf/esp-idf!3096
2018-08-30 11:19:04 +08:00
Jiang Jiang Jian
9be09692b1 Merge branch 'bugfix/btdm_get_acl_num' into 'master'
component/bt : fix get acl number incorrect due to memory release

See merge request idf/esp-idf!3090
2018-08-30 11:12:46 +08:00
Angus Gratton
e5842f69d0 Merge branch 'doc/python_sphinx_build' into 'master'
docs: Call 'python -m sphinx' instead of sphinx-build

See merge request idf/esp-idf!3127
2018-08-30 11:02:35 +08:00
Angus Gratton
ff54bfcde1 Merge branch 'bugfix/hwcrypto_mpi_ecp' into 'master'
mbedtls: Don't unnecessarily grow the result of a hardware bignum operation

See merge request idf/esp-idf!3041
2018-08-30 10:00:07 +08:00
Anurag Kar
e2b4ad8f6e Temporary : Disable leak tests 2018-08-30 03:01:59 +05:30
Anurag Kar
e2da1d9905 http_server : Fix and enable example tests
This introduces the following changes in the example test scripts :
* Dependency on python requests library removed in favor of httplib
* Bug fixed in the logic responsible for receiving and processing http chunked responses
* Default timeouts increased Note : Due to connectivity issues (between runner host and DUT) in the runner environment, some of the advanced_tests are being ignored. These tests are intended for verifying the expected limits of the http_server capabilities, and implement sending and receiving of large HTTP packets and malformed requests, running multiple parallel sessions, etc. It is advised that all these tests be run locally, when making changes or adding new features to this component.
2018-08-30 03:01:59 +05:30
Jiang Jiang Jian
ba17648aea Merge branch 'bugfix/mesh_fix_hard_to_find_parent' into 'master'
mesh: bugfix and add two APIs

See merge request idf/esp-idf!3107
2018-08-29 23:05:32 +08:00
Angus Gratton
5689e446dc cmake: Add missing example CMakeLists.txt files, CI check all examples have both 2018-08-29 20:22:55 +08:00
Angus Gratton
49a910adfb cmake: partition_table: Use PYTHON interpreter when running parttool.py (fixes flasher args on Windows) 2018-08-29 20:22:55 +08:00
Angus Gratton
a528d3a61a kconfig: Merge Kconfig.compiler back into Kconfig
Reverts 5e0a3d99e8 (no longer needed but also not supported by
mconf-idf built from kconfig-frontends repo.)
2018-08-29 20:22:55 +08:00
Angus Gratton
cb158f1194 cmake: Account for missing partition CSV file at cmake runtime
Avoid either breaking menuconfig (if cmake fails), or producing bad build output (if cmake succeeds
but no flashing offsets, etc. were generated.)
2018-08-29 20:22:55 +08:00
Renz Bagaporo
071aaea66b Place embedded data on flash 2018-08-29 20:22:55 +08:00
Angus Gratton
408463d0bf cmake idf.py: Fix bug in JSON parsing when printing flash commands 2018-08-29 20:22:55 +08:00
Angus Gratton
7f06543817 cmake/partitions: Apply offset to partition table metadata correctly
Also warn if the parttool.py has an error
2018-08-29 20:22:55 +08:00
Mahavir Jain
8227db4f5e spi_flash: fix erase_range for block erase check
Erase in block (64k) as much as possible, before falling back
to sector (4k) erase.

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-08-29 12:04:32 +00:00
Mahavir Jain
62746e414e bootloader: add API for erasing flash region
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-08-29 12:04:32 +00:00
Mahavir Jain
4a987dacca bootloader: keep bootloader_common code to retention region
It is possible to utilize some of the routines related to otadata
partition validation, after firmware image is downloaded to RAM. Hence
these routines should be part of app cpu cache, so that they do not
get overwritten by firmware.

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-08-29 12:04:32 +00:00
Angus Gratton
a56b3abf84 kconfiglib: Allow CONFIG_xxx= to disable booleans
But replace all sdkconfig.defaults to use the explicit =n (more correct)
2018-08-29 19:39:17 +08:00
Angus Gratton
393c29b656 cmake: Fix bt component dependencies 2018-08-29 19:37:25 +08:00
Angus Gratton
068a3e2f6a cmake: Fix flasher argument generation 2018-08-29 19:37:19 +08:00
Michael (XIAO Xufeng)
0c64d8e822 spi: fix the misleading example, letting the master wait until slave is ready 2018-08-29 18:40:21 +08:00
Jitin George
458b167f1a docs/en/security: Add documentation for signed apps without hardware secure boot feature 2018-08-29 17:05:34 +08:00
Angus Gratton
b364f23e17 secure boot: Support secure boot signatures without hardware secure boot
Allows OTA updates to be secured via signature checks, without requiring the overhead or complexity
of a full secure boot implementation.

Uses same signing mechanisms (build system and/or espsecure.py as Secure Boot).

Requires:
* [ ] More testing
* [ ] Documentation
2018-08-29 17:05:29 +08:00
Ivan Grokhotkov
27f3c3e668 Merge branch 'bugfix/gcc8_warnings' into 'master'
Fix or silence warnings found by GCC 8

See merge request idf/esp-idf!3130
2018-08-29 15:53:28 +08:00
Angus Gratton
1abd346943 docs: Call 'python -m sphinx' instead of sphinx-build
Fixes mismatches where default Python interpreter may not match the most recently
installed sphinx-build wrapper script (if sphinx 2 & 3 both installed, pip will
clobber any previous copy of /bin/sphinx-build when it installs the new one.)
2018-08-29 14:43:42 +08:00
Ivan Grokhotkov
61dc37a6c3 examples/bluetooth: add fallthrough annotations 2018-08-29 14:40:28 +08:00
Anton Maklakov
8c040e749f bluetooth: fix format overflow warnings 2018-08-29 14:40:28 +08:00
Anton Maklakov
779bce7681 bluetooth: fix incorrect memset size 2018-08-29 14:40:28 +08:00
Anton Maklakov
e8eb8cb2a4 bluetooth: fix missing braces and indentation 2018-08-29 14:40:28 +08:00
Ivan Grokhotkov
ed546797d0 heap: test: don’t warn about oversized mallocs 2018-08-29 14:40:28 +08:00
Ivan Grokhotkov
033b694128 bt/a2dp: fix incorrect return type
res was declared as “bool” so expression

((count == 0) ? A2D_SET_ONE_BIT : A2D_SET_MULTL_BIT)

always evaluated to “true”, and was implicitly converted to
A2D_SET_ONE_BIT.
2018-08-29 14:40:28 +08:00
Ivan Grokhotkov
9fbe42c0f1 bt/bta: fix returning value from function returning void 2018-08-29 14:40:28 +08:00
Ivan Grokhotkov
536df958ad bt/btm: fix misplaced debug statement 2018-08-29 14:40:28 +08:00
Anton Maklakov
6af721e8e4 examples/bluetooth: Fix incompatible cast 2018-08-29 14:40:28 +08:00
Ivan Grokhotkov
c3123b00ae examples/spi_slave: check for truncation in snprintf call
Also fix character array initializer
2018-08-29 14:40:28 +08:00
Ivan Grokhotkov
324004f7b3 spiffs: test: check for truncation in snprintf call 2018-08-29 12:49:15 +08:00
Ivan Grokhotkov
9ba5896d86 driver, ethernet: fix non-static inline functions
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81734
2018-08-29 12:49:15 +08:00
Ivan Grokhotkov
fc0c110efd driver: test: fix memset out of bounds in spi_master test 2018-08-29 12:49:15 +08:00
Ivan Grokhotkov
946a823ccb syscalls: fix type conversion for _raise_r stub 2018-08-29 12:49:15 +08:00
Alexey Gerenkov
7e5c235b9d app_trace: Fix tmo initialization 2018-08-29 10:55:39 +08:00
Angus Gratton
669c5ac538 Merge branch 'feature/add_deinit_to_emac_driver' into 'master'
ethernet: support esp_eth_deinit

See merge request idf/esp-idf!3059
2018-08-28 18:09:55 +08:00
Angus Gratton
961f59ff57 mbedtls: Don't unnecessarily grow the result of a hardware bignum operation
Avoids growing the result of hardware bignum operations
(particularly for multiplication)

Fixes bugs where some Elliptic Curve operations fail or corrupt memory,
as they assume length of the number is never greater than the number of
non-zero limbs.

Includes some general refactoring to standardize terminology.

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

Fixes TW12984

Adds test cases for both these issues.
2018-08-28 09:08:43 +00:00
Tian Hao
eb3f280cd3 component/bt : fix get acl number incorrect due to memory release
1. after memory release MR merged, due to the get acl number condition is not completed, it will cause get acl number value incorrect
2. It may cause set Security Mode (BR/EDR) enable failed
2018-08-28 15:35:40 +08:00
Jiang Jiang Jian
26850880b2 Merge branch 'bugfix/btdm_fix_crash_when_BLE_do_SMP_con_discon_stress_test' into 'master'
component/bt: fix crash when BLE do SMP connect and disconnect stress test

See merge request idf/esp-idf!3077
2018-08-28 13:40:20 +08:00
morris
ec07112f5b ethernet: support esp_eth_deinit
1. change static emac-dma memory to dynamic
2. add esp_eth_deinit
3. modify ethernet example
4. add testcase for ethernet deinit function
5. GPIO0 could not output the 50MHz clock to PHY, so remove this configuration
2018-08-28 12:18:48 +08:00
Angus Gratton
1eaf112589 Merge branch 'bugfix/rtc_wdt_interval_overflow' into 'master'
rtc_wdt: fix overflow issue with setting wdt interval

See merge request idf/esp-idf!3110
2018-08-28 12:12:21 +08:00
chensheng
d04c101c96 test: fix bug of BTSTK_GATT_25007 2018-08-28 12:00:15 +08:00
Ivan Grokhotkov
cc8ad721f9 Merge branch 'bugfix/deep_sleep_stub_ptr_check' into 'master'
reset_reason: fix setting wake stub entry point to 0x80000000

See merge request idf/esp-idf!3101
2018-08-28 11:01:22 +08:00
Jiang Jiang Jian
f5b699cee7 Merge branch 'bugfix/btdm_a2dp_sink_pcm_buf_size' into 'master'
bugfix/btdm_a2dp_sink_pcm_buffer_size

See merge request idf/esp-idf!3052
2018-08-28 10:42:36 +08:00
Ivan Grokhotkov
208530a727 Merge branch 'bugfix/idf_app_assert_print' into 'master'
tiny-test-fw: Print more useful info when download.config doesn't exist

See merge request idf/esp-idf!3112
2018-08-28 10:00:44 +08:00
Ivan Grokhotkov
131ce6c441 Merge branch 'doc/custom_app_flash_map_off' into 'master'
docs: Adds description of OpenOCD command to configure custom app image location

See merge request idf/esp-idf!3030
2018-08-28 09:59:36 +08:00
He Yin Ling
6244f11384 Merge branch 'bugfix/disable_fuzzer_host_test_by_default' into 'master'
CI: disable fuzzer host test by default

See merge request idf/esp-idf!3115
2018-08-27 22:28:44 +08:00
He Yin Ling
a7d2cb138b CI: disable fuzzer host test by default:
Same key in YAML file will overwrite the key introduced by anchor
2018-08-27 21:41:52 +08:00
Roland Dobai
5cdff46370 tools: Support Python 3 in idf_size.py 2018-08-27 13:39:07 +02:00
qiyuexia
91dd05662d mesh: bugfix and add two APIs
1. new APIs: esp_mesh_get_subnet_nodes_num() and esp_mesh_get_subnet_nodes_list().
2. fix hard to find the parent during connect.
3. disable Wi-Fi channel switch function.
4. fix a typo of MESH_EVENT_NO_PARENT_FOUND.
2018-08-27 19:12:40 +08:00
Alexey Gerenkov
ac07c23e37 docs: Adds description of OpenOCD command to configure custom app image location 2018-08-27 14:08:36 +03:00
Ivan Grokhotkov
6dae5b206f reset_reason: fix setting wake stub entry point to 0x80000000
esp_reset_reason_init would check for reset reason hint, and
unconditionally set RTC_RESET_CAUSE_REG (which is also
RTC_ENTRY_ADDR_REG) to hint value 0, i.e. 0x80000000. However the ROM
code treats this value as valid deep sleep wake stub entry point, and
tries to jump to it.

Clear RTC_RESET_CAUSE_REG only if it contained a valid reset reason
hint, and simply set the register value to 0 when doing so. Also add
a check to esp_get_deep_sleep_wake_stub function that deep sleep wake
stub entry address must be in IRAM.

Reported in https://esp32.com/viewtopic.php?f=13&t=6919.
2018-08-27 19:01:03 +08:00
Roland Dobai
bc307c920c tiny-test-fw: Print more useful info when download.config doesn't exist 2018-08-27 12:47:08 +02:00
Angus Gratton
414b84c041 Merge branch 'feature/ci_fuzzer_tests_lwip' into 'master'
ci jobs running fuzz tests on dns, dhcp, dhcps + removed unnecessary references (libexpat)

See merge request idf/esp-idf!2866
2018-08-27 16:25:21 +08:00
Jiang Jiang Jian
147b349799 Merge branch 'bugfix/fix_several_wifi_bugs' into 'master'
esp32: update wifi lib to fix several WiFi bugs

See merge request idf/esp-idf!3095
2018-08-27 14:24:04 +08:00
Jiang Jiang Jian
6519f1833a Merge branch 'bugfix/fix_probable_mem_leak' into 'master'
components/bt: Fix a probable memory leak for BTA_GATTS_CONF_EVT event

See merge request idf/esp-idf!2962
2018-08-27 14:10:22 +08:00
Angus Gratton
3adf41a5fe Merge branch 'feature/py3_idf_monitor' into 'master'
tools: Support Python3 in idf_monitor

See merge request idf/esp-idf!2930
2018-08-27 12:29:38 +08:00
Angus Gratton
2c8c210a66 Merge branch 'feature/py3_for_gen_esp_err_to_name' into 'master'
tools: support python3 in gen_esp_err_to_name.py

See merge request idf/esp-idf!2827
2018-08-27 12:29:03 +08:00
Angus Gratton
b5e1bc1047 Merge branch 'doc/addition_translation_in_get_started' into 'master'
doc: additional translation in get_started

See merge request idf/esp-idf!3087
2018-08-27 12:21:36 +08:00
Jiang Jiang Jian
1c676300f0 Merge branch 'bugfix/btdm_fix_get_error_adv_sometimes' into 'master'
Component/bt: fix get error adv packet sometimes

See merge request idf/esp-idf!3035
2018-08-27 12:17:23 +08:00
zwj
430d3da089 component/bt: fix crash when BLE do SMP connect and disconnect stress test 2018-08-27 11:09:29 +08:00
wangmengyang
3faee500bb component/bt: bugfix for incorrect computation of PCM data buffer size in A2DP sink 2018-08-27 02:53:59 +00:00
morris
988dfc6546 doc: additional translation in get_stated 2018-08-27 10:44:28 +08:00
Jiang Jiang Jian
df78612896 Merge branch 'bugfix/btdm_fix_memory_leak_in_security_server' into 'master'
component/bt: fix memory leak in security server

See merge request idf/esp-idf!3014
2018-08-27 10:19:27 +08:00
baohongde
588e006256 component/bt: Fix bug of SDP find services by uuid always return success 2018-08-27 02:14:45 +00:00
Angus Gratton
d91a44737f Merge branch 'doc/build_system_zh_CN' into 'master'
doc: translate build-system from en to zh_CN

See merge request idf/esp-idf!3067
2018-08-27 09:40:40 +08:00
Angus Gratton
6c95285bdb Merge branch 'bugfix/app_update_test' into 'master'
app_update: Change NUM_PIN_APP_TEST for unit test

See merge request idf/esp-idf!3050
2018-08-27 08:46:02 +08:00
Jiang Jiang Jian
51a4b4ba27 Merge branch 'bugfix/btdm_check_slave_feats_before_set_afh' into 'master'
bugfix/btdm_check_slave_feature_before_set_afh

See merge request idf/esp-idf!2972
2018-08-26 16:19:48 +08:00
Liu Zhi Fu
6a080febbc esp32: update wifi lib to fix several WiFi bugs
Fix following WiFi bugs:
1. Shouldn't scan when connect
2. Check beacon length in modem sleep
3. Fix the bug that AP may deauth wrong station when inactivity timer expires
4. Fix the bug that WiFi assert the system when receiving empty MCS in association response frame
2018-08-26 12:47:24 +08:00
Hrishikesh Dhayagude
29ec0339f6 components/bt: Fix a probable memory leak for BTA_GATTS_CONF_EVT event
Multiple modules register their callback BTA_GATTS_AppRegister().

If any of the callbacks do not free the allocated pointer in
BTA_GATTS_CONF_EVT event, then this can result in memory leak.

So, free the pointer after the callback function is called and remove
the calls to free in the callback functions as it is now not required

Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-08-25 16:26:37 +00:00
Hrishikesh Dhayagude
739b4aadf7 components/bt: Make a pass through Bluetooth header files
This is just a quick glance at all the header files exposed to the
users from cleanup point of view.

Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-08-25 21:21:42 +05:30
zhiweijian
f74b041288 Component/bt: fix memory leak in security server 2018-08-25 15:47:47 +00:00
He Yin Ling
b14e87a605 Merge branch 'test/fix_test_summary_duplicate' into 'master'
fix bug BTSTK_GAP_14007,BTSTK_GAP_14008,BTSTK_GAP_14009 duplicate summary

See merge request idf/esp-idf!3079
2018-08-25 10:22:40 +08:00
Mahavir Jain
f0fa66a50e rtc_wdt: fix overflow issue with setting wdt interval
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-08-24 18:06:39 +05:30
He Yin Ling
783d63488b Merge branch 'bugfix/multi_case_test' into 'master'
test: fix the multi device stop thread bug

See merge request idf/esp-idf!3039
2018-08-24 19:54:34 +08:00
wangmengyang
6b0a1bd700 component/bt: check support of AFH in remote slave device's LM feature then determine whether to send LMP_set_AFH 2018-08-24 11:48:12 +00:00
zhiweijian
1ca5b70803 Component/bt: fix get error adv packet sometimes 2018-08-24 09:24:49 +00:00
Konstantin Kondrashov
4e28799709 app_update: Change NUM_PIN_APP_TEST for unit test
Fixed error when `make TESTS_ALL=1`
2018-08-24 16:52:27 +08:00
baohongde
9eefd8c1aa component/bt: Fix bug rfcomm test command cause crash
find when BQB
2018-08-24 14:49:33 +08:00
chensheng
ef0287de7d fix bug BTSTK_GAP_14007,BTSTK_GAP_14008,BTSTK_GAP_14009 duplicate summary 2018-08-24 14:25:24 +08:00
Roland Dobai
79b9948cdf tools: support python3 in gen_esp_err_to_name.py 2018-08-24 08:13:01 +02:00
Roland Dobai
7118f4734b tools: Support Python3 in idf_monitor
Closes https://github.com/espressif/esp-idf/pull/1284
2018-08-24 08:12:19 +02:00
morris
5e36837752 doc: translate build_system from en to zh_CN 2018-08-24 12:31:34 +08:00
Angus Gratton
c7f4fae8d0 Merge branch 'feature/python_future' into 'master'
Add python-future by using python requirements file

See merge request idf/esp-idf!2973
2018-08-24 08:04:18 +08:00
Ivan Grokhotkov
7abed5fc9e Merge branch 'fix/spi_dma_config_in_iram' into 'master'
SPI: put dma config and slave functions into IRAM

See merge request idf/esp-idf!3038
2018-08-23 22:03:28 +08:00
He Yin Ling
9699e3f926 Merge branch 'test/add_mesh_recreate_network_case_to_known_issue' into 'master'
test: add mesh recreate network case as known issue

See merge request idf/esp-idf!3066
2018-08-23 19:12:08 +08:00
He Yin Ling
32171da525 test: disable mesh recreate network test:
We have fixed a bug in test script. Before that, we didn't do strict check when generate the mesh tree, which makes the test pass.

Temp disable these cases, to let CI pass before bug fixed.
2018-08-23 17:49:59 +08:00
Roland Dobai
52d11dcfb0 docs: make the use of pip install clear 2018-08-23 11:41:56 +02:00
Roland Dobai
74fe7c82ae bootloader: Don't use check_python_dependencies in the bootloader command 2018-08-23 11:41:40 +02:00
houchenyao
df83323ee3 bugfix:fix the multi device stop thread bug 2018-08-23 08:51:16 +00:00
Angus Gratton
1d2bcb77af make: Don't invoke check_python_dependencies in bootloader subproject 2018-08-23 08:28:57 +02:00
Angus Gratton
31ae3fe683 make: Use order-only prereq to check python dependencies 2018-08-23 08:28:57 +02:00
morris
1a79900970 translated some parts in get-started section to zh_CN
1. "install required python packages" in docs/zh_CN/get-started/index.rst
2. docs/zh_CN/get-started/linux-setup-scratch.rst
3. docs/zh_CN/get-started/linux-setup.rst
4. docs/zh_CN/get-started/macos-setup-scratch.rst
5. docs/zh_CN/get-started/macos-setup.rst
2018-08-23 08:28:57 +02:00
Roland Dobai
62cad3a7d7 Add python-future by using python requirements file 2018-08-23 08:28:57 +02:00
Michael (XIAO Xufeng)
4f87a62f18 spi_slave: add new menuconfig item to decide whether spi slave should be put into IRAM 2018-08-23 05:21:49 +00:00
Michael (XIAO Xufeng)
e3557b57be spi: fix the issue that spi cannot be used when flash is disabled
The dma configuration function called in the ISR should be put into the IRAM.

Fixes https://github.com/espressif/esp-idf/issues/2307.
2018-08-23 05:21:49 +00:00
Ivan Grokhotkov
88d40e01b4 Merge branch 'feature/rtc_slowclk_extra_options' into 'master'
Add more RTC_SLOW_CLK options

See merge request idf/esp-idf!2984
2018-08-23 11:27:14 +08:00
Jiang Jiang Jian
eb18122038 Merge branch 'bugfix/esp_bt_controller_mem_release' into 'master'
BT/BTDM memory release might fail if any of the memory regions is empty

See merge request idf/esp-idf!3031
2018-08-23 11:02:17 +08:00
Jiang Jiang Jian
33f0eadac9 Merge branch 'bugfix/timer_oneshot_timeout_twice' into 'master'
component/bt: Some timer oneshot will timeout twice

See merge request idf/esp-idf!2979
2018-08-23 10:41:53 +08:00
Ivan Grokhotkov
dda56ff55c Merge branch 'bugfix/nvs_set_blob_bug' into 'master'
nvs_flash: Fix nvs_set_blob hang when partition is near to FULL

See merge request idf/esp-idf!3051
2018-08-23 10:27:20 +08:00
Angus Gratton
7c9439dcbf Merge branch 'bugfix/wrover-kit-camera-socket-pinout' into 'master'
Corrected pinout of the Camera / J4 connector

See merge request idf/esp-idf!3054
2018-08-23 09:06:04 +08:00
Angus Gratton
8846b5fb64 Merge branch 'bugfix/freertos_task_delete' into 'master'
freertos: Expose TCB & Stack memory capabilities as macro, fix task delete test

See merge request idf/esp-idf!3040
2018-08-22 19:39:21 +08:00
David Cermak
882ca87442 lwip: removed ASSERT in dhcp as the error might occur in runtime if packet is altered 2018-08-22 12:13:34 +02:00
David Cermak
ebebda9604 lwip: supported ci jobs running fuzz tests on dns, dhcp, dhcps 2018-08-22 12:13:20 +02:00
Ivan Grokhotkov
902344c516 Merge branch 'bugfix/trace_mem_layout_pro_cpu' into 'master'
soc: fix trace memory region for single core mode

See merge request idf/esp-idf!3029
2018-08-22 16:51:43 +08:00
Ivan Grokhotkov
50ce2b7d05 Merge branch 'feature/make-otadata' into 'master'
make dump_otadata: Displays app ota_seq and crc on console

See merge request idf/esp-idf!2901
2018-08-22 16:51:36 +08:00
Sachin Parekh
7a5400ce77 make dump_otadata: Displays app ota_seq and crc on console 2018-08-22 16:51:36 +08:00
Ivan Grokhotkov
9ab70d5379 Merge branch 'bugfix/http_write_data' into 'master'
esp_http_client: Fix minor bugs in `esp_http_client_write` and `esp_http_client_open` APIs

See merge request idf/esp-idf!2924
2018-08-22 16:49:29 +08:00
Ivan Grokhotkov
81d6c65379 Merge branch 'feature/esp_http_client_add_esp_tls' into 'master'
esp_http_client: Add esp-tls in esp_http_client

See merge request idf/esp-idf!2740
2018-08-22 16:48:35 +08:00
Ivan Grokhotkov
96971e3e9f esp32: add support for 8MD256 and external 32k as slow clock options 2018-08-22 11:46:24 +08:00
Ivan Grokhotkov
5bf3654637 soc/rtc: Force power on 8M clock if it is used to derive RTC slow clock 2018-08-22 11:33:20 +08:00
Ivan Grokhotkov
8365f0f5d2 soc/rtc: add support for external 32k oscillator
Compared to external 32k XTAL, when active oscillator is used as input,
some parameters need to be set differently.
2018-08-22 11:33:20 +08:00
Ivan Grokhotkov
9efc06be0f esp32/clk: remove unused code
When 32k XTAL was selected as clock source, if the first calibration
attempt failed, the code would fall back to 150kHz internal clock.
Calibration with the internal clock will always succeed.
Therefore `wait` would always be either 0 or 1. Based on this, some
code in this routine can be eliminated.
2018-08-22 11:33:20 +08:00
Ivan Grokhotkov
90f5456dba Merge branch 'feature/rtc_cpu_freq_config' into 'master'
soc/rtc: Refactoring, support CPU frequencies lower than XTAL

See merge request idf/esp-idf!2856
2018-08-22 11:32:08 +08:00
Angus Gratton
7b4626f824 ci: Fix spurious pipeline failure when deploying a tag to GitHub
Everything succeeds, but because [ -z ${CI_COMMIT_TAG} ] on the last line returns non-zero, it
fails the job.
2018-08-22 13:11:18 +10:00
krzychb
1857bca871 Corrected pinout of the Camera / J4 connector 2018-08-21 22:01:28 +02:00
Sagar Bijwe
911f96ad21 nvs_flash: Fix nvs_set_blob hang when partition is near to FULL
Marking a page full does not skip it from page selection process and the
same page might get returned if there is no other page with more unused
entries. Added a check for the same while storing blobs.

Fixes: https://github.com/espressif/esp-idf/issues/2313
2018-08-21 17:08:46 +05:30
Jitin George
4d6dcb71ce esp_http_client: Add esp-tls APIs in SSL transport of esp_http_client
esp-tls APIs and SSL transport layer of esp_http_client try to
achieve similar things, so this is an effort to remove code redundancy.
2018-08-21 09:07:07 +00:00
Jitin George
7b56ae319d esp-tls: Add support for network timeout 2018-08-21 09:07:07 +00:00
Jeroen Domburg
4eb28b9ace Merge branch 'feature/spi_burst_desc' into 'master'
spi_master: change to DMA burst mode when access descriptors

See merge request idf/esp-idf!2824
2018-08-21 16:54:38 +08:00
Jeroen Domburg
9de884f586 Merge branch 'feat/spi_non_dma_64byte' into 'master'
spi_master: change high part config to allow transactions of 64 bytes

See merge request idf/esp-idf!3025
2018-08-21 16:53:37 +08:00
Ivan Grokhotkov
e3d76d13b4 docs: update power management section on esp_pm_configure 2018-08-21 13:02:46 +08:00
Ivan Grokhotkov
e59571eece soc/rtc_clk: reduce data size by disabling CSWTCH generation
Saves about 200 bytes of DRAM at the expense of 4 bytes in IRAM.
2018-08-21 13:02:46 +08:00
Ivan Grokhotkov
db2f0f45be soc/rtc_clk: split rtc_clk_init into separate object file
rtc_clk_init and related functions don’t need to be in IRAM/DRAM.
2018-08-21 13:02:46 +08:00
Ivan Grokhotkov
3cec686803 examples/power_save: set CPU frequencies in sdkconfig 2018-08-21 13:02:46 +08:00
Ivan Grokhotkov
bcf79e5cf2 tests: use new CPU frequency setting API 2018-08-21 13:02:46 +08:00
Ivan Grokhotkov
c722cf3e06 bootloader: use new CPU frequency setting API 2018-08-21 13:02:46 +08:00
Ivan Grokhotkov
bec70ce298 esp32: use new CPU frequency setting API 2018-08-21 13:02:46 +08:00
Ivan Grokhotkov
2e31cce390 soc/rtc: CPU frequency settings refactoring
Previous APIs used to set CPU frequency used CPU frequencies listed in
rtc_cpu_freq_t enumeration. This was problematic for two reasons.
First, supporting many possible frequency values obtained by dividing
XTAL frequency was hard, as every value would have to be listed in
the enumeration. Since different base XTAL frequencies are supported,
this further complicated things, since not all of these divided
frequencies would be valid for any given XTAL frequency. Second,
having to deal with enumeration values often involved switch
statements to convert between enumeration and MHz values, handle
PLL/XTAL frequencies separately, etc.

This change introduces rtc_cpu_freq_config_t structure, which contains
CPU frequency (in MHz) and information on how this frequency has to
be generated: clock source (XTAL/PLL), source frequency, clock
divider value. More fields can be added to this structure in the
future. This structure simplifies many parts of the code, since both
frequency value and frequency generation settings can be accessed in
any place in code without the need for conversions.

Additionally, this change adds setting of REF_TICK dividers to support
frequencies lower then XTAL with DFS.
2018-08-21 13:02:03 +08:00
Ivan Grokhotkov
05a5410033 esp_clk.h: add esp_clk_xtal_freq
This adds a user API for getting the XTAL frequency
2018-08-21 13:02:03 +08:00
Ivan Grokhotkov
a6a9484084 Merge branch 'feature/move_CONFIG_TCPIP_LWIP_to_menuconfig' into 'master'
tcpip_adapter: optimise tcpip_adapter and fix a bug in emac_dev.c

See merge request idf/esp-idf!3017
2018-08-21 11:37:15 +08:00
Ivan Grokhotkov
4dd7233b20 Merge branch 'feature/reset_reason' into 'master'
Add API to get reset reason

See merge request idf/esp-idf!2871
2018-08-21 11:34:12 +08:00
baohongde
4fe04ae14d component/bt: Update BLE private address after it's private address interval 2018-08-21 11:01:44 +08:00
Angus Gratton
c5d6845c5a freertos: Expose TCB & Stack memory capabilities as macro, fix task delete test
Test was failing if task was allocating TCB & Stack memory from DMA only pool
which is not MALLOC_CAP_DEFAULT.
2018-08-21 12:19:33 +10:00
Jiang Jiang Jian
ad9db6ff1c Merge branch 'bugfix/bluetooth_demo_sdkconfig' into 'master'
Fix bluetooth example sdkconfig.defaults

See merge request idf/esp-idf!3032
2018-08-20 20:33:35 +08:00
morris
b63f6a8a95 emac:optimise tcpip_adapter and fix emac_dev.c
1. move CONFIG_xx macros to Kconfig
2. fix a bug that make EMAC_DMAOPERATION_MODE_ERG mess
2018-08-20 19:52:48 +08:00
Jitin George
2122e5f83d esp_http_client: Fix minor bugs in esp_http_client_write and esp_http_client_open APIs
`esp_http_client_write` API puts a constraint on the maximum length of the data that can be
written, which is equal to client handle buffer size, but the data to be sent can be more
than that, so in this case, this API has to be called multiple times.

In `esp_http_client_open` API, the return value of `transport_write` API, used to send HTTP
request, is not checked, and in rare cases, data written will be less than expected which will
cause a problem. So there are fixes for these minor issues in this MR.
2018-08-20 10:41:42 +00:00
Ivan Grokhotkov
8403adf4e0 docs: add API reference section for esp_system.h 2018-08-20 16:49:20 +08:00
Ivan Grokhotkov
3ef650cd46 esp32/test: add tests for reset reasons 2018-08-20 16:49:20 +08:00
Ivan Grokhotkov
0aa384d40c esp32: add API to get reset reason 2018-08-20 16:49:20 +08:00
Ivan Grokhotkov
fd61c1440b tiny-test-fw: invoke expect callbacks in order of appearance
Previously the callbacks were invoked in the same order as the list of
patterns to be matched.
2018-08-20 16:49:20 +08:00
Ivan Grokhotkov
b600a908c4 unit test: fix regex for detecting abort 2018-08-20 16:49:20 +08:00
Angus Gratton
76f864511d Merge branch 'feature/docs_new_logo_typeface' into 'master'
Replaced Espressif logo with a new, consistent, modern and neutral typeface design.

See merge request idf/esp-idf!2988
2018-08-20 08:22:02 +08:00
Angus Gratton
9bc74e6815 Merge branch 'bugfix/err_variable_issue' into 'master'
Fix small parameter issue in bt_a2dp_sink example. Merges…

See merge request idf/esp-idf!3012
2018-08-20 07:59:24 +08:00
Tian Hao
99d0624999 Fix bluetooth example sdkconfig.defaults
1. a2dp_gatts_coex
2. blufi BT_RESERVE_DRAM
2018-08-19 11:35:28 +08:00
me-no-dev
afa091fe79 prevent heap_caps_add_region exception if region is empty
Calling `esp_bt_controller_mem_release` or `esp_bt_mem_release` might result in exception if any of the regions returned to heap are empty. This happens usually if BT/BLE is enabled, but not used/linked in the final firmware.
2018-08-17 08:49:48 +02:00
Ivan Grokhotkov
164e324fe2 Merge branch 'feature/bootloader_unit_tests' into 'master'
app_update: Add unit tests for ota, factory, test partitions

See merge request idf/esp-idf!2565
2018-08-17 14:39:50 +08:00
wangmengyang
0465e930d5 component/bt: fix the format and add more content to A2DP source example document and source code 2018-08-16 20:08:00 +08:00
Jiang Jiang Jian
5ba0d6bde6 Merge branch 'bugfix/ut_bt_build_fix' into 'master'
bt: build unit tests only when CONFIG_BT_ENABLED=1

See merge request idf/esp-idf!3000
2018-08-16 19:49:14 +08:00
Jiang Jiang Jian
98eaa5c2ec Merge branch 'docs/security' into 'master'
docs: Added more wordings to capture secure boot and flash encryption dependency.

See merge request idf/esp-idf!2947
2018-08-16 19:31:36 +08:00
Jiang Jiang Jian
00ef8bf726 Merge branch 'feature/decrease_bt_contrller_memory_with_new_mem_reserved' into 'master'
decrease bt contrller memory with new mem reserved

See merge request idf/esp-idf!2791
2018-08-16 19:12:44 +08:00
michael
404e99965d spi_master: change high part config to allow transactions of 64 bytes 2018-08-16 18:55:09 +08:00
Angus Gratton
3012b0f887 Merge branch 'feature/nvs_multi_page_util' into 'master'
Bugfix: multi page blob creation was failing if only one entry was left in page

See merge request idf/esp-idf!2971
2018-08-16 15:23:11 +08:00
Angus Gratton
01f855fd18 Merge branch 'feature/nvs_part_gen_util_file_size' into 'master'
Add support for input custom partition size

See merge request idf/esp-idf!2828
2018-08-16 15:22:24 +08:00
Angus Gratton
ff2404a272 Merge branch 'master' into feature/cmake 2018-08-16 17:14:17 +10:00
Shivani Tipnis
dfde105f25 Add support for input custom partition size 2018-08-16 11:54:46 +05:30
Shivani Tipnis
5ce40fce0c Add nvs part gen utility multi page blob support update 2018-08-16 11:46:25 +05:30
Konstantin Kondrashov
1da0483619 app_update: Add unit tt pests for ota, factory, test partitions 2018-08-16 09:57:32 +05:00
Angus Gratton
4f227a4ce3 Merge branch 'bugfix/spiram_malloc_reserve_internal_fragments' into 'master'
esp32: Allow SPIRAM_MALLOC_RESERVE_INTERNAL to span multiple regions of memory

See merge request idf/esp-idf!2891
2018-08-16 11:19:39 +08:00
Tian Hao
ab73e0ff13 tools: fix ci example build report reassign warnning 2018-08-16 11:12:22 +08:00
Angus Gratton
ccd0c61ea1 Merge branch 'feature/rtc_wdt_api' into 'master'
soc/rtc_wdt: Add API functions for rtc_wdt

See merge request idf/esp-idf!2837
2018-08-16 08:19:12 +08:00
Ivan Grokhotkov
32c01de7a3 Merge branch 'feature/what_driver_for_my_board' into 'master'
Provided a table with development boards by Espressif together with USB-to-serial driver names

See merge request idf/esp-idf!2792
2018-08-16 05:24:40 +08:00
Krzysztof Budzynski
df5d3ea692 Provided a table with development boards by Espressif together with USB-to-serial driver names 2018-08-16 05:24:40 +08:00
Ivan Grokhotkov
73e18a4c96 Merge branch 'docs/simplified_rtd_theme_configuration' into 'master'
Removed redundant code to configure 'sphinx-rtd-theme' for documentation

See merge request idf/esp-idf!2921
2018-08-16 05:23:54 +08:00
Mahavir Jain
0075e2f316 soc: fix trace memory region for single core mode
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-08-15 20:52:39 +05:30
Jiang Jiang Jian
020ade652d Merge branch 'bugfix/tw24588_Android_get_IP_fail' into 'master'
fix the bug for Android phone getting IP fail when STA+AP mode

See merge request idf/esp-idf!3006
2018-08-15 11:47:13 +08:00
Angus Gratton
802fc7236d Merge branch 'doc/unit_test_zh_CN' into 'master'
doc: translate the unit-tests.rst into Chinese

See merge request idf/esp-idf!2998
2018-08-15 09:05:17 +08:00
Piocky
23a510c752 Fix small parameter issue in bt_a2dp_sink example. Merges https://github.com/espressif/esp-idf/pull/2261
The wrong parameter was used to print the error if something failed during the bt init.
2018-08-14 22:13:00 +02:00
Jiang Jiang Jian
b96fa40dd1 Merge branch 'bugfix/mdns_any_type_share' into 'master'
mdns: Fix a portion of the queries are issued with the wildcard query type

See merge request idf/esp-idf!2886
2018-08-15 00:52:21 +08:00
Konstantin Kondrashov
a8e46775c6 soc/rtc_wdt: Add API functions for rtc_wdt
Added functions:
rtc_wdt_protect_off/on
rtc_wdt_set_length_of_reset_signal
rtc_wdt_set_stage
rtc_wdt_set_time
rtc_wdt_feed
rtc_wdt_disable/enable
2018-08-14 17:48:02 +05:00
morris
90350cb82d doc/unit-tests:translate the unit-tests into zh_CN 2018-08-14 15:47:08 +08:00
Liu Han
f3f0445f4d mdns: Fix a portion of the queries are issued with the wildcard query type 2018-08-14 07:25:08 +00:00
zhangyanjiao
89601e0b9f fix the bug for Android phone getting IP fail when STA+AP mode 2018-08-14 15:04:47 +08:00
Jiang Jiang Jian
b4b1b361da Merge branch 'bugfix/bt_fix_incorrect_handle_print' into 'master'
examples/bluetooth: Fix incorrect end handle print in the GATT client applications

See merge request idf/esp-idf!2880
2018-08-14 14:16:53 +08:00
Sagar Bijwe
b27773e87c docs: Added more wordings to capture secure boot and flash encryption dependency. 2018-08-14 11:27:29 +05:30
Angus Gratton
08ae7ef9dc Merge branch 'feature/ota_get_sha-256_of_partition' into 'master'
bootloader_support: Add API for getting sha256_of_partition

See merge request idf/esp-idf!2479
2018-08-14 11:32:39 +08:00
Tian Hao
ee787085f9 component/bt : decrease memory consumption by conn number
1. BLE only with 9(max) connection will decrease 3K DRAM
2. BR/EDR only with 7(max) connection will decrease 16K DRAM
3. Any of BLE or BR/EDR connection number decrease will also decrease DRAM consumption
4. Decrease one BLE connection will save about 1KB DRAM
5. Decrease one BR/EDR ACL connection will save about 1.2KB DRAM
6. Decrease one BR/EDR SCO/eSCO will save 2KB DRAM.
7. fix some definition and kconfig
8. remove 1.2k of vhci tx cache and make .bss & .data to heap about 1.4K
9. modify BT Reserved Memory size and modify example to support new bt kconfig
2018-08-14 02:29:17 +00:00
Ivan Grokhotkov
a85a8aef62 Merge branch 'bugfix/ulp_jumps_flags' into 'master'
ULP: document JUMPS instruction flags, add tests

See merge request idf/esp-idf!2949
2018-08-14 01:14:12 +08:00
Ivan Grokhotkov
3b5875efe0 ci: only apply BOT_DOCKER_IMAGE_TAG to esp32-ci-env 2018-08-13 16:48:27 +00:00
Ivan Grokhotkov
1fbff01799 docs: update esp32ulp-binutils download link 2018-08-13 16:48:27 +00:00
Ivan Grokhotkov
1bd7d404fe ulp: add documentation for JUMPS instruction conditions
Hardware implements conditions LE, LT, GE, and conditions EQ and GT
are implemented in the assembler by emitting two JUMPS instructions
with other conditions.
2018-08-13 16:48:27 +00:00
Ivan Grokhotkov
c7fc5b1171 ulp: add tests for jumps instruction 2018-08-13 16:48:27 +00:00
Ivan Grokhotkov
7fca027355 bt: build unit tests only when CONFIG_BT_ENABLED=1 2018-08-13 17:38:37 +03:00
wangmengyang
e60db51240 component/bt: fix the format and add more content to A2DP sink example document and source code 2018-08-13 21:17:27 +08:00
Konstantin Kondrashov
117c79eae5 app_update: Add API for getting sha256_of_partition
Added bootloader_common_get_sha256_of_partition() and esp_partition_get_sha256() - get or calculate SHA-256
digest for app and data partitions.
Added bootloader_sha256_hex_to_str() - helps to print SHA-256 digest
Added esp_partition_check_identity() - compares two partitions by SHA-256 digest

Refactoring a function esp_image_load() in bootloader space to esp_image_verify() and
bootloader_load_image(). Old name function esp_image_load is deprecated
and will remove in V4.0 version.

spi_flash/sim: Fix error test_host. Add stub for bootloader_common_get_sha256_of_partition in sim/stubs
2018-08-13 13:59:07 +05:00
Angus Gratton
810aa5427c Merge branch 'feature/cmake_separate_docs' into 'feature/cmake'
docs: Copy CMake docs to a separate set of directories

See merge request idf/esp-idf!2959
2018-08-13 15:47:07 +08:00
Jiang Jiang Jian
886bf4b88e Merge branch 'bugfix/btdm_ecdh_public_key_not_check' into 'master'
component/bt: Fixed the vulnerability released by Bluetooth org when using…

See merge request idf/esp-idf!2933
2018-08-13 15:44:13 +08:00
yulong
72eaaff9fe component/bt: Fixed the vulnerability released by Bluetooth org when using public key not check in the process of ECDH encryption.
1. Add the 100 times test when the private key is generated by the random number;
2. Add the bt components to the unit-test-app/config directory.
3. Added the bt unit test case to CI.
2018-08-13 14:08:11 +08:00
baohongde
31c66af560 component/bt: Some timer oneshot will timeout twice
Find when BQB
2018-08-13 06:00:11 +00:00
Angus Gratton
638581d872 Merge branch 'bugfix/doc_generated_sections' into 'master'
docs: Move version-related includes to run in sphinx-build not make

See merge request idf/esp-idf!2985
2018-08-13 13:57:42 +08:00
Angus Gratton
48bd67524d cmake: Only rewrite componend_depends.cmake if it changes 2018-08-13 15:37:03 +10:00
Angus Gratton
70288f864e cmake: Expand components relative to PROJECT_PATH correctly 2018-08-13 15:37:03 +10:00
Angus Gratton
04238fa5e5 docs: Python 3 Sphinx compatibility 2018-08-13 15:37:03 +10:00
Angus Gratton
191557db02 docs: Copy CMake docs to a separate set of directories
Required first step before merging back to mainline.
2018-08-13 15:37:03 +10:00
krzychb
4946850e82 Replaced Espressif logo with a new, consistent, modern and neutral typeface design. 2018-08-13 07:22:41 +02:00
Angus Gratton
50e7b116c1 docs: Add gen-version-specific-includes.py to executables list 2018-08-13 13:37:23 +10:00
Angus Gratton
69f73eb5ee docs: Move version-related includes to run in sphinx-build not make
Means they show up on ReadTheDocs(!)
2018-08-13 12:24:55 +10:00
Jiang Jiang Jian
30545f4ccc Merge branch 'bugfix/btdm_fix_get_bond_list_error_when_connection_with_no_bond' into 'master'
Component/bt: fix get bond list error when connection with no bond

See merge request idf/esp-idf!2957
2018-08-10 20:46:34 +08:00
Ivan Grokhotkov
8739111218 Merge branch 'bugfix/gpio_reset_bitmask' into 'master'
gpio: Bitmask overflow fix in gpio_reset_pin

See merge request idf/esp-idf!2966
2018-08-10 17:35:26 +08:00
Angus Gratton
383a3f788d Merge branch 'doc/heap_tracing' into 'master'
heap docs: Fix some bad links & errors in the heap docs

See merge request idf/esp-idf!2942
2018-08-10 16:46:52 +08:00
Angus Gratton
c9cbc6b30c heap docs: Fix some bad links & errors in the heap docs
Also add a note about printf() sometimes causing on-demand allocations.
2018-08-10 15:54:58 +10:00
Angus Gratton
f4b23d1505 Merge branch 'bugfix/http_client_null_auth_header' into 'master'
esp_http_client: Fixed exception on 401 without Www-Authenticate header

See merge request idf/esp-idf!2900
2018-08-10 13:44:55 +08:00
Jiang Jiang Jian
3486ce6898 Merge branch 'mesh/bugfix_parent_switch' into 'master'
mesh: modify parent switch mechanism

See merge request idf/esp-idf!2803
2018-08-10 11:31:50 +08:00
Angus Gratton
f341c5c944 Merge branch 'doc/versions' into 'master'
docs: Add version-specific include files, version documentation

See merge request idf/esp-idf!2858
2018-08-10 08:08:10 +08:00
Ivan Grokhotkov
f9a44968bc Merge branch 'bugfix/nvs_mem_leak' into 'master'
nvs: fix memory leak when writing a blob

See merge request idf/esp-idf!2969
2018-08-09 20:48:31 +08:00
Ivan Grokhotkov
5fc6397589 nvs: fix memory leak when writing a blob
Introduced in 5a27a63.
Clear usedPages list in all exit conditions, add test.
2018-08-09 10:35:19 +03:00
Angus Gratton
13ff99867d docs: Combine the common en/zh_CN Makefiles to one common file 2018-08-09 11:08:03 +10:00
Michael (XIAO Xufeng)
522f9c4b4a docs: translate the version include script to Chinese 2018-08-09 11:08:03 +10:00
Angus Gratton
ed8013ccc2 README: Add version-specific links
Make it clearer how the README fits in with the docs.
2018-08-09 11:07:39 +10:00
Michael (XIAO Xufeng)
203ceed1e7 spi_master: change to DMA burst mode when access descriptors 2018-08-08 13:56:01 +00:00
Ivan Grokhotkov
ee3f64cbad Merge branch 'feature/http_client_head' into 'master'
esp_http_client: add head method support

See merge request idf/esp-idf!2895
2018-08-08 20:58:39 +08:00
Taavi Hein
f7749e18a8 gpio: Bitmask overflow fix in gpio_reset_pin
For pins 32 and up the BIT(nr) macro used here overflowed,
causing undetermined GPIO pins to be reset.
Example: freeing SPI device/bus where CS is on pin 33
caused debug UART to cease communication, TXD0 was
disabled.

Fixed as BIT64(nr) macro, to be used elsewhere as needed.
For example in definitions like GPIO_SEL_32..GPIO_SEL_39.
2018-08-08 15:31:17 +03:00
Angus Gratton
a53a5eeabd Merge branch 'bugfix/add_mutex_for_some_touchpad_apis' into 'master'
fix(touch): add_mutex_for_some_touchpad_apis

See merge request idf/esp-idf!2714
2018-08-08 16:28:28 +08:00
Ivan Grokhotkov
80c5547b97 Merge branch 'bugfix/ulp_fixes' into 'master'
ULP fixes

See merge request idf/esp-idf!2948
2018-08-08 15:37:25 +08:00
zhiweijian
57355d7154 Component/bt: fix get bond list error when connection with no bond 2018-08-08 14:44:22 +08:00
qiyuexia
93c0c8da6b mesh: modify parent switch mechanism
1. modify parent switch mechanism.
2. fix non-root doesn't clear the layer value in nvs.
3. fix retransmit the remove announcement packets.
4. add API esp_mesh_flush_upstream_packets().
5. automatically adjust passsive scan time based on the change of beacon interval.
2018-08-08 13:51:05 +08:00
He Yin Ling
a1a9801f00 Merge branch 'bugfix/remove_check_for_reason_assoc_expire' into 'master'
test: remove check for REASON_ASSOC_EXPIRE:

See merge request idf/esp-idf!2904
2018-08-08 12:58:20 +08:00
Angus Gratton
cdc792d72c Merge branch 'feature/http_firmware_upgrade' into 'master'
esp_https_ota: Add esp_https_ota component

See merge request idf/esp-idf!2771
2018-08-08 12:27:05 +08:00
Angus Gratton
f1a4bc7c94 Merge branch 'feature/aws-iot-update-3.0.1' into 'master'
Feature/aws iot update 3.0.1

See merge request idf/esp-idf!2936
2018-08-08 07:14:58 +08:00
Ivan Grokhotkov
48149fa1b1 Merge branch 'bugfix/asio_test_socket_timeout' into 'master'
asio: added socket timeout for example tests

See merge request idf/esp-idf!2931
2018-08-07 21:49:09 +08:00
Ivan Grokhotkov
323caed83b ulp: fix ULP binary format documentation
Fix incorrect offset value (4+2+2+2+2=12) of arbitrary data in ULP
binary format.

Closes https://github.com/espressif/esp-idf/issues/1705.
2018-08-07 16:14:57 +03:00
Ivan Grokhotkov
22dfb92fe0 ulp: use += instead of := when setting component vars
Component which includes component_ulp_common.mk may also need to set
some of the same COMPONENT_XXX variables. Logically, we should combine
the lists of files to embed, ldflags, extra include dirs, etc.

Fixes https://github.com/espressif/esp-idf/issues/2157.
2018-08-07 16:14:57 +03:00
Ivan Grokhotkov
33153748ba ulp: fix missing include in esp32/ulp.h header
ulp.h uses some register base addresses, so needs to include soc.h
2018-08-07 16:14:57 +03:00
Ivan Grokhotkov
479af576ca ulp: fix calculation or ulp_run argument
The argument to ulp_run should be expressed in 32-bit words. Both the
address of ulp_entry and RTC_SLOW_MEM already are uint32_t*, so their
difference is the difference in addresses divided by sizeof(uint32_t).
Therefore the extra division by sizeof(uint32_t) is not needed.
2018-08-07 16:14:57 +03:00
He Yin Ling
28ab4acb7e test: update Wi-Fi test cases:
1. The test step for error code REASON_ASSOC_EXPIRE is not reliable. SoftAP
could also send error code WIFI_REASON_NOT_AUTHED
2. STA will be disconnected now if softAP restart DHCP server
2018-08-07 10:50:05 +00:00
Jiang Jiang Jian
81ac9c1fc7 Merge branch 'bugfix/wrong_connect_in_all_channel_scan' into 'master'
Wifi: bug fix of may connect to wrong AP in all channel scan

See merge request idf/esp-idf!2829
2018-08-07 18:31:31 +08:00
Anuj Deshpande
fe357c3617 aws-iot: Update to 3.0.1 release
- Fixes https://github.com/espressif/esp-idf/issues/2224
- Fixes https://github.com/espressif/esp-idf/issues/1808
2018-08-07 11:28:54 +05:30
Anuj Deshpande
5efc33ce25 aws-iot: Make thing shadow example compatible with v3 of aws iot sdk 2018-08-07 11:28:54 +05:30
Angus Gratton
5f56f2ca01 Merge branch 'feature/nvs_version_check' into 'master'
nvs_flash: Version compatibility check for nvs storage

See merge request idf/esp-idf!2855
2018-08-07 13:31:49 +08:00
David Cermak
c0186858ad asio: added socket timeout for example tests 2018-08-06 22:05:15 +02:00
Jiang Jiang Jian
39921c9db0 Merge branch 'bugfix/fix_crash_for_http2_request' into 'master'
fix the crash when http2_request example send/recv fail

See merge request idf/esp-idf!2916
2018-08-06 20:41:40 +08:00
Deng Xin
65c441a891 Wifi: bug fix of may connect to wrong AP in all channel scan
1. enable threshold in all channel scan
2. bug fix of may connect to an open AP even set password in all channel scan
2018-08-06 19:54:24 +08:00
zhangyanjiao
9063ce9dda fix the crash when http2_request example send/recv fail 2018-08-06 11:39:01 +00:00
Jiang Jiang Jian
c22e42d869 Merge branch 'bugfix/station_state_machine_change_and_ap_loss_happen' into 'master'
Wifi: station state machine change and fix ap loss

See merge request idf/esp-idf!2911
2018-08-06 18:49:31 +08:00
Jiang Jiang Jian
212e25760b Merge branch 'bugfix/btdm_spp_crash_on_reset' into 'master'
component/bt: Fix bug of SPP crash on reset

See merge request idf/esp-idf!2801
2018-08-06 18:39:21 +08:00
Jiang Jiang Jian
744d703dba Merge branch 'bugfix/btdm_hfp_invalid_sco_param' into 'master'
bugfix/btdm_hfp_invalid_sco_param

See merge request idf/esp-idf!2915
2018-08-06 15:35:27 +08:00
Angus Gratton
bceac5d8e7 Merge branch 'feature/component_memory_reservation' into 'master'
soc: Allow components to reserve fixed memory ranges that they need

See merge request idf/esp-idf!2596
2018-08-06 15:32:44 +08:00
wangmengyang
d4cecc5a04 component/bt: modify the invalid retransmission setting for SCO link in HFP 2018-08-06 06:20:51 +00:00
Angus Gratton
ffaa71bcd6 docs: Add version-specific include files, version documentation
* "git clone" command and a small version header are generated
  depending on git properties.
* Add Versions page with details about each version
* Make it clear using master branch is living on the "bleeding
  edge"
2018-08-06 15:38:32 +10:00
Angus Gratton
272b95e8ce linker: Don't link all of 'soc' into IRAM
Moves any code in *_perpih.c, memory_layout_utils.c to flash
2018-08-06 01:37:55 +00:00
Angus Gratton
a5ae5ac4b3 soc: Allow components to reserve fixed memory ranges that they need
No longer necessary to keep all reserved addresses in 'soc'.

Means 'soc' does not need to know about 'bt', for example.

Also means that Bluetooth can be enabled in config without any memory being reserved for BT
controller. Only if code calling the BT controller is linked in, will this memory be reserved...
2018-08-06 01:37:55 +00:00
Jiang Jiang Jian
f2f2744b29 Merge branch 'bugfix/fix_uart_tx_bug_when_using_ringbuffer' into 'master'
driver(uart): Fixed uart tx_empty interrupt wdt timeout bug

See merge request idf/esp-idf!2823
2018-08-05 23:49:40 +08:00
Jiang Jiang Jian
b85e8e10b9 Merge branch 'bugfix/btdm_fix_sc_mitm_bond_failed_in_smp_for_iphones' into 'master'
Component/bt:  fix SC_MITM_BOND failed in smp for iphones

See merge request idf/esp-idf!2863
2018-08-05 23:48:23 +08:00
kooho
2d0af81ccf driver(uart): Fixed uart tx_empty interrupt wdt timeout bug. 2018-08-05 06:34:34 +00:00
Tuan PM
9aec055ac2 esp_http_client: Fixed exception on 401 without Www-Authenticate header
Closes https://github.com/espressif/esp-idf/issues/2246
2018-08-05 06:24:53 +00:00
Deng Xin
97a41f29b8 Wifi: station state machine change and fix ap loss
1. fix ap loss issue
2. change station behavior when receive disassoc and deauth after connect
3. format state machine reason code
2018-08-05 13:44:58 +08:00
baohongde
2cd9eaccc7 component/bt: Fix bug of SPP crash on reset
In response to: https://github.com/espressif/esp-idf/issues/1998
2018-08-05 00:36:51 +00:00
Sagar Bijwe
1df85e0039 nvs_flash: Version compatibility check for nvs storage
This change adds a check for compatibility between the nvs version
found on nvs flash and the one assumed by running code during nvs
initialization. Any mismatch is reported to the user using new error
code ESP_ERR_NVS_NEW_VERSION_FOUND.
2018-08-05 00:00:56 +00:00
Sagar Bijwe
8ef7a49cc3 nvs_flash: Bump up nvs version 2018-08-05 00:00:56 +00:00
Jiang Jiang Jian
230d9adb8a Merge branch 'bugfix/update_libphy_to_fix_some_issues' into 'master'
esp32: update libphy.a to v3960

See merge request idf/esp-idf!2908
2018-08-05 07:36:02 +08:00
zhiweijian
163dbc3200 Component/bt: fix SC_MITM_BOND failed in smp for iphones 2018-08-04 16:52:53 +00:00
Liu Zhi Fu
0fa1fee8e8 esp32: update libphy.a to v3960
Update libphy.a to v3960:
1. Decrease  phy_init time from 900us to 347us in sleep wakeup
2. Fix RX STBC initialization
3. Modify set_chan function to fix interrupt watchdog issue
2018-08-04 16:21:19 +00:00
Jiang Jiang Jian
b674fa0b99 Merge branch 'bugfix/asio_test_timeout' into 'master'
tiny-test-fw: Increase default expect timeout, increase asio example test timeouts

See merge request idf/esp-idf!2925
2018-08-05 00:20:48 +08:00
Jitin George
2d79af3b13 esp_http_client: Add support for getting transport type 2018-08-03 16:47:08 +05:30
Jitin George
1fecdc3891 esp_https_ota: Add support for HTTPS based ota feature 2018-08-03 16:47:07 +05:30
Jiang Jiang Jian
ad739ee791 Merge branch 'feature/support_64mbit_psram' into 'master'
feature(psram): add support for 64MBit psram of 1.8v and 3.3v.

See merge request idf/esp-idf!2696
2018-08-03 17:59:36 +08:00
Jiang Jiang Jian
4f1e8df367 Merge branch 'bugfix/btdm_a2dp_disconnect_reason' into 'master'
bugfix/btdm_a2dp_disconnect_reason

See merge request idf/esp-idf!2914
2018-08-03 15:30:30 +08:00
Jiang Jiang Jian
4649349074 Merge branch 'bugfix/btdm_fix_ble_HIDD_demo_error' into 'master'
Component/bt: fix ble HID demo error

See merge request idf/esp-idf!2892
2018-08-03 15:26:40 +08:00
Jiang Jiang Jian
f1d516314b Merge branch 'bugfix/coex_wifi_pm' into 'master'
Bugfix/coex wifi pm

See merge request idf/esp-idf!2883
2018-08-03 15:22:13 +08:00
Angus Gratton
8b35d8ef25 asio example tests: Increase timeout for DHCP lease to 30s
Covers time to connect to WiFi and negotiate lease,
may be more than 5-10s on some busy APs
2018-08-03 16:59:23 +10:00
Angus Gratton
6bd58beac5 tiny-test-fw: Increase default expect timeout to 10 seconds
Fix CI failures due to (for example) DHCP lease taking more than 5s to be negotiated.
2018-08-03 16:55:50 +10:00
Angus Gratton
b3ff68a935 Merge branch 'bugfix/hard_error_partition_offset' into 'master'
partition_table: Hard error if CSV contains invalid/overlapping offsets

See merge request idf/esp-idf!2755
2018-08-03 14:52:43 +08:00
Tian Hao
d9dc2985e7 fix bug that wifi sleep before receive beacon
it will resolve the problem:
        1. when bluetooth is running (For example: a2dp sink), wifi station cannot connect to AP easily
        2. improve wifi connection success ratio when coexist is working
2018-08-03 05:07:06 +00:00
Angus Gratton
5aff7fd07f Merge branch 'bugfix/btdm_fix_queue_block_when_scanning' into 'master'
Component/bt: fix queue blocking when scanning

See merge request idf/esp-idf!2706
2018-08-03 07:24:08 +08:00
krzychb
df9c701864 Removed redundant code to configure 'sphinx-rtd-theme' for documentation 2018-08-02 22:10:33 +02:00
Ivan Grokhotkov
146e87fed5 Merge branch 'feature/expat_getrandom' into 'master'
expat: add source of entropy

See merge request idf/esp-idf!2912
2018-08-02 18:03:34 +08:00
Roland Dobai
ce3cb5c3aa expat: add source of entropy 2018-08-02 11:02:45 +02:00
Angus Gratton
3c5af26506 Merge branch 'test/spi_region' into 'master'
spi_master: improve some tests

See merge request idf/esp-idf!2809
2018-08-02 12:09:44 +08:00
Ivan Grokhotkov
7ab4615757 Merge branch 'bugfix/http_chunked_read' into 'master'
bugfix/esp_http_client: fixed http chunked encoding packet loss & add check data before read for ssl transport

See merge request idf/esp-idf!2631
2018-08-02 09:40:39 +08:00
Angus Gratton
b6bdde1eeb Merge branch 'bugfix/github_deploy_regression' into 'master'
ci: Fix bad push command when pushing branch to github

See merge request idf/esp-idf!2902
2018-08-02 08:26:30 +08:00
Angus Gratton
d3ae52afd2 Merge branch 'feature/add_logo_to_docs' into 'master'
Added Espressif logo to documentation

See merge request idf/esp-idf!2763
2018-08-02 08:26:14 +08:00
fuzhibo
81c762eb86 fix(touch): add_mutex_for_some_touchpad_apis 2018-08-01 18:06:21 +08:00
Ivan Grokhotkov
20147f951c Merge branch 'bugfix/heap_caps_alloc_32bit' into 'master'
heap: heap_caps_malloc(..., MALLOC_CAP_32_BIT) should always allocate a 32-bit aligned size

See merge request idf/esp-idf!2889
2018-08-01 17:39:14 +08:00
Angus Gratton
f2a3429812 partition table: Document 'flags' properly 2018-08-01 19:23:38 +10:00
Angus Gratton
6dea5c9546 partition table: Remove hard-coded offsets from default partition tables
Makes them compatible with moving the partition table offset
2018-08-01 19:23:38 +10:00
Angus Gratton
28801449e3 partition_table: Hard error if CSV contains invalid/overlapping offsets
Based on report on forum here:
https://esp32.com/viewtopic.php?f=13&t=6382&p=27514

Previous versions were much more relaxed about what could be in the partition
table, erroring out avoids unexpected changes on upgrade like different
partition offsets.
2018-08-01 19:23:38 +10:00
wangmengyang
7f7f8a02d0 component/bt: retrieve disconnection reason in AVDT when ACL-U link is disconnected 2018-08-01 17:16:52 +08:00
Angus Gratton
7457054c1f Merge branch 'feature/add_rom_elf' into 'master'
Support for ROM functions in core dump backtraces

See merge request idf/esp-idf!2672
2018-08-01 15:21:03 +08:00
Tuan PM
2718a5f674 Add http_buffer description 2018-08-01 07:14:36 +00:00
Tuan
5589954800 esp_http_client: fixed http chunked encoding packet loss & add check data before read for ssl transport
- A bug of the http client when it downloads a chunked encoding packet is greater than the http_client's buffer, http_parser will call the callback body more than once, and the client will only handle the last
- with ssl_read, need to check before read to avoid timeout blocked when no data for reading
2018-08-01 07:14:36 +00:00
zhiweijian
658668b386 Component/bt: fix hci_hal_env.rx_q and xHciH4Queue blocking when scanning 2018-08-01 15:06:56 +08:00
Angus Gratton
7ea4db72de Merge branch 'bugfix/wl_encryption' into 'master'
Bugfix: WL works with encrypted flash

See merge request idf/esp-idf!2530
2018-08-01 15:05:47 +08:00
Ivan Grokhotkov
98255f4225 Merge branch 'feature/mbedtls_2_12_0' into 'master'
mbedtls: update to 2.12.0

See merge request idf/esp-idf!2879
2018-08-01 14:56:50 +08:00
Ivan Grokhotkov
1898e5fbab Merge branch 'bugfix/spi_flash_mmap_malloc_internal' into 'master'
spi_flash: allocate mmap pages array in internal memory

See merge request idf/esp-idf!2885
2018-08-01 14:56:18 +08:00
Ivan Grokhotkov
2a2f960afa Merge branch 'feature/mbedtls_platform_memory_pr2237' into 'master'
Adds a Kconfig option for mbedtls' MBEDTLS_PLATFORM_MEMORY define. This makes it…

See merge request idf/esp-idf!2903
2018-08-01 14:55:54 +08:00
Jiang Jiang Jian
fe09c1cb59 Merge branch 'bugfix/btdm_oob_included' into 'master'
Fix undefined reference error by changing BTM_OOB_INCLUDED

See merge request idf/esp-idf!2878
2018-08-01 14:53:37 +08:00
Ivan Grokhotkov
5452e7848d Merge branch 'bugfix/raise_r_signature' into 'master'
syscalls: fix arguments and return type for _raise_r

See merge request idf/esp-idf!2897
2018-08-01 14:50:59 +08:00
Jiang Jiang Jian
f048da2bf7 Merge branch 'feature/wifi_add_internal_api_to_set_fix_rate' into 'master'
esp32: add internal API to enable or disable transmitting WiFi MAC frame with fixed rate

See merge request idf/esp-idf!2835
2018-08-01 14:50:15 +08:00
Jiang Jiang Jian
a539754c2e Merge branch 'doc/wifi_update_channel_state_information_document' into 'master'
docs: update channel state information document

See merge request idf/esp-idf!2793
2018-08-01 14:49:14 +08:00
Jiang Jiang Jian
29d7382c2b Merge branch 'bugfix/btdm_lmp_trans_coll_state_uncleared' into 'master'
component/bt: btdm_lmp_transcation_collision_state_uncleared

See merge request idf/esp-idf!2731
2018-08-01 14:47:29 +08:00
Jiang Jiang Jian
b6f52a6455 Merge branch 'bugfix/fix_several_wpa2_issues' into 'master'
esp32: fix several wpa2 enterprise issues

See merge request idf/esp-idf!2825
2018-08-01 14:38:15 +08:00
Angus Gratton
6851af3c4b Merge branch 'bugfix/btdm_fix_gattc_count_invalid' into 'master'
Component/bt: fix gattc get count invalid and discover included service error

See merge request idf/esp-idf!2770
2018-08-01 14:06:38 +08:00
Angus Gratton
e6dc0c7bde Merge branch 'bugfix/remove_bt_dependency_on_lwip_header' into 'master'
Bugfix/remove bt dependency on lwip header

See merge request idf/esp-idf!2882
2018-08-01 13:57:35 +08:00
Liu Zhi Fu
343bd32bd8 esp32: fix several wpa2 enterprise issues
Fix following issues:
1. Fix heap corrupted bug
2. Fix memory leak bug
3. Make wpa2 enterprise thread-safe
Closes https://github.com/espressif/esp-idf/issues/1569
2018-08-01 03:43:30 +00:00
XiaXiaotian
149d79f9a1 esp32: add internal API to enable or disable transmitting WiFi MAC frame with
fixed rate
2018-08-01 11:19:43 +08:00
Angus Gratton
9082fef6cf Merge branch 'feature/update_libexpat' into 'master'
expat: Move libexpat into submodule and update to version 2.2.5

See merge request idf/esp-idf!2868
2018-08-01 09:44:38 +08:00
Jason von Nieda
d7a17ac941 Adds a Kconfig option for mbedtls' MBEDTLS_PLATFORM_MEMORY define. This makes it possible to override the mbedtls allocator with your own.
Merges https://github.com/espressif/esp-idf/pull/2237
2018-08-01 11:28:28 +10:00
Angus Gratton
99401a16e7 ci: Fix bad push command when pushing branch to github
Fixes regression in e5f4ae63f1
2018-08-01 10:47:38 +10:00
Roland Dobai
1d1533ee8e expat: Move libexpat into submodule and update to version 2.2.5 2018-07-31 13:25:00 +02:00
Ivan Grokhotkov
79e7f02286 spi_flash: allocate mmap pages array in internal memory
* spi_flash_mmap_pages needs pages array to be in internal memory.
  Document and check this.

* Fix a bug that spi_flash_mmap did not allocate pages array in
  internal memory.

* Minor style fixes: const-ify pages argument of spi_flash_mmap, add
  spaces around operators, mark output arguments with [out].

Closes https://github.com/espressif/esp-idf/issues/2229.
2018-07-31 13:11:04 +03:00
Michael (XIAO Xufeng)
0aa52057ed spi_master: enable 2 tests in CI
The test is previously disabled for the requirement of external
connection. Now the signals are connected by internal connections.
Also change the failure logic of the test.
2018-07-31 18:04:51 +08:00
Michael (XIAO Xufeng)
fb15f970d2 spi_master: change test to test DMA tx/rx in regions like psram 2018-07-31 18:04:50 +08:00
wangmengyang
ae7bf1990e component/bt: bugfix for uncleared LMP transaction collision state after rejecting sniff request from slave 2018-07-31 17:10:32 +08:00
Ivan Grokhotkov
1fdbbec13a syscalls: fix arguments and return type for _raise_r
ROM code still uses incorrect function signature.

Closes https://github.com/espressif/esp-idf/issues/2245.
2018-07-31 12:08:04 +03:00
Jason Kölker
483c3d7a7b esp_http_client: add head method support
Merges https://github.com/espressif/esp-idf/pull/2093
2018-07-31 11:08:31 +03:00
Angus Gratton
1c7a8b3b71 Merge branch 'bugfix/spinlock_perf' into 'master'
freertos: Remove either one or two assertions from "fast path" of vPortCPUReleaseMutex()

See merge request idf/esp-idf!2873
2018-07-31 15:31:55 +08:00
zhiweijian
1261b9e40b Component/bt: fix ble HID demo error 2018-07-31 15:25:14 +08:00
Angus Gratton
6e4b0c3e2f freertos: Remove either one or two assertions from "fast path" of vPortCPUReleaseMutex()
Saves a few cycles by only testing the count validity once, and never for the common case where the
mutex was not recursively locked.
2018-07-31 06:35:25 +00:00
Dmitry
6a950d6a17 Build test applicatoin on host failer fixed.
Make host tests compilible.
2018-07-31 08:45:43 +03:00
Dmitry
2281f6318a Remove CR line ends. 2018-07-31 08:45:43 +03:00
Dmitry
e98a49a691 Position save included. 2018-07-31 08:45:43 +03:00
Dmitry
06bab70822 Usless read removed. 2018-07-31 08:45:43 +03:00
Dmitry
76ee450c3d Erase flash before the first use added.
Пожалуйста, введите сообщение коммита для ваших изменений. Строки,
2018-07-31 08:45:43 +03:00
Dmitry
c9872c649e Additional sector position should not be changed at update. 2018-07-31 08:45:43 +03:00
Dmitry
9d609af54c Added check for version after write. 2018-07-31 08:45:43 +03:00
Dmitry
f392727abf Additional info about version update included. 2018-07-31 08:45:42 +03:00
Dmitry
e834d6fffc CRC check improved. 2018-07-31 08:45:42 +03:00
Dmitry
35842d02ab Calculation for heap usage corrected with workaround.
Fixed problem with multiple mount/unmount for different devices.
Additional check for structure length included into the code.
Remove useless spaces.
Added initialization for reserved memory.
2018-07-31 08:45:42 +03:00
Dmitry
f05f3fbde8 Added test for version update from V1 to V2. Problems for tests on host are fixed. Random function changed to esp_random() 2018-07-31 08:45:42 +03:00
Dmitry
a6d6c58eca The version of WL component changed from 1 to 2.
WL version 2 mark used sectors as 16 bytes block of bytes with CRC.
This changes required because old version did not worked with encryption.
Additional unit tests are implemented.
2018-07-31 08:45:42 +03:00
Angus Gratton
304e9085eb esp32: Allow SPIRAM_MALLOC_RESERVE_INTERNAL to span multiple regions of memory
- Allocate this pool after main_task is running, so it can use startup stack RAM
- Raise the maximum allowed value in KConfig to 256KB
- Based on forum discussions https://esp32.com/viewtopic.php?f=2&t=6550&sid=76cd27bda76c6d0e83d3fcc9ec30c650&start=10#p28253
2018-07-31 15:17:07 +10:00
Angus Gratton
8cbd12b9b7 heap: When verifying & swapping a fill pattern, stop swapping if verification fails
Avoids situation where data has been overwritten during any post-mortem analysis
(core dump, gdbstub, etc).

As reported via forum https://esp32.com/viewtopic.php?f=2&t=6471&p=27790
2018-07-31 14:53:24 +10:00
Angus Gratton
ae59d7522a heap: heap_caps_malloc(..., MALLOC_CAP_32_BIT) should always align a 32-bit aligned size
Fixes crash in heap poisoning code if a non-32bit-aligned size is specified.
2018-07-31 14:29:31 +10:00
Angus Gratton
dbb82a413f Merge branch 'bugfix/fix_cmake_wps_example_build' into 'feature/cmake'
wpa_supplicant: add missing source dirs to CMake build

See merge request idf/esp-idf!2738
2018-07-31 12:15:51 +08:00
Angus Gratton
321b1e0205 Merge branch 'feature/unit_tests_command_line' into 'master'
tools: Allow running unit tests from command line

See merge request idf/esp-idf!2589
2018-07-31 11:38:22 +08:00
zhiweijian
feef9b9387 Component/bt: fix gattc get count invalid 2018-07-31 02:36:46 +00:00
Ivan Grokhotkov
9d2f7c60d9 Merge branch 'bugfix/rmt_struct_bad_addressing' into 'master'
removed possible uint16 access to 32bit register, noted fifo use not recommended

See merge request idf/esp-idf!2821
2018-07-31 04:01:46 +08:00
Ivan Grokhotkov
43baa7f2b9 Merge branch 'feature/cermak_asio_support' into 'master'
asio component and examples in esp-idf

See merge request idf/esp-idf!2509
2018-07-31 03:59:28 +08:00
Ivan Grokhotkov
4116c5a5f9 Merge branch 'bugfix/coap_client_parse_url' into 'master'
bugfix: unexpected host item when coap client parse a URL string

See merge request idf/esp-idf!2642
2018-07-31 03:58:06 +08:00
krzychb
42cf4429a9 Fixed logo width to display correctly in Chinese version of documentation 2018-07-30 21:16:27 +02:00
Jiang Jiang Jian
fd05dd206f Merge branch 'bugfix/btdm_sco_end_crash_on_supv_to' into 'master'
bugfix/btdm_sco_end_crash_on_supv_to

See merge request idf/esp-idf!2737
2018-07-30 22:14:07 +08:00
Roland Dobai
40486c8723 tools: Allow running unit tests from command line
Add argument parsing to unit_test.py to allow running unit tests from
command line.
2018-07-30 13:05:41 +02:00
Hrishikesh Dhayagude
eb92a06aaf examples/bluetooth: Fix incorrect end handle print in the GATT client applications
End handle is incorrectly printed as start handle

Tested that gatt_client, gatt_security_client and gattc_multi_connect compile successfully

Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-07-30 12:04:07 +05:30
Angus Gratton
bba047fb3e Merge branch 'bugfix/heap_metadata_tests' into 'master'
heap: Fix heap metadata test to account for background memory allocations

See merge request idf/esp-idf!2872
2018-07-30 14:30:59 +08:00
David Cermak
1ef13c524c asio: initial idf port of asio library without ssl 2018-07-30 06:28:43 +00:00
David Cermak
eee34ddd91 lwip fix for udp receivefrom 2018-07-30 06:28:43 +00:00
Ivan Grokhotkov
5b9feaa1fd mbedtls: update to 2.12.0 2018-07-30 09:11:16 +03:00
Noble-Mushtak
dbd429af1b Changed value of BTM_OOB_INCLUDED to TRUE
Merges https://github.com/espressif/esp-idf/pull/2206
2018-07-30 08:53:01 +03:00
Angus Gratton
97286b3107 Merge branch 'feature/cmd_flash_reset_ota_data' into 'master'
make: Add feature to cmd 'make flash' - reset ota_data partition

See merge request idf/esp-idf!2611
2018-07-30 13:52:43 +08:00
Mahavir Jain
02ddb7302e wpa_supplicant: removed unrequired header dir include from component.mk
- Also fixed license header in rtc driver

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-07-30 11:17:11 +05:30
Mahavir Jain
b79fefa011 bluedroid: remove dependency on arpa/inet.h include
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-07-30 11:16:38 +05:30
Angus Gratton
2ab04621b6 Merge branch 'bugfix/ci_github_deploy' into 'master'
ci: Simplify github deployment

See merge request idf/esp-idf!2862
2018-07-30 12:57:21 +08:00
Angus Gratton
bfc6bb97c0 heap: Fix heap metadata test to account for background memory allocations 2018-07-30 11:41:30 +10:00
He Yin Ling
561884b62f Merge branch 'test/workaround_ci_failures' into 'master'
test: workaround ci failures

See merge request idf/esp-idf!2859
2018-07-28 09:01:36 +08:00
He Yin Ling
2b7dd2ef9a ci: temp modify http server tests to get CI pass:
1. change the default value of WIFI password
2. disable simple and advanced test cases
2018-07-27 23:38:20 +08:00
He Yin Ling
2d60e24056 ci: temp disable http client tests:
connection is not stable. need to replace with local test servers.
2018-07-27 19:45:12 +08:00
He Yin Ling
85bc2d5967 tiny-test-fw: support ignore test cases in CI assign test stage 2018-07-27 19:44:15 +08:00
He Yin Ling
316d087960 tiny-test-fw: fix exception during print debug info:
DUT log is unicode, might not be able to encode
2018-07-27 19:44:15 +08:00
He Yin Ling
bffcea09df CI: erase nvs partition before test:
Latest NVS partition bin can't be parsed by old IDF revision. Need to erase before test.
2018-07-27 17:22:24 +08:00
Angus Gratton
e5f4ae63f1 ci: Simplify github deployment
CI_COMMIT_REF_NAME lets us use a single line to git push
2018-07-27 12:18:28 +10:00
Jiang Jiang Jian
1ad4ec10b2 Merge branch 'bugfix/add_compatible_to_aes_encryption' into 'master'
Wifi: add compatible to ccmp encryption

See merge request idf/esp-idf!2802
2018-07-27 10:14:33 +08:00
Angus Gratton
ee13dafde2 Merge branch 'doc/esp32_sw_breaks' into 'master'
docs: Adds ESP32 SW flash breakpoints description

See merge request idf/esp-idf!2838
2018-07-27 07:54:33 +08:00
Alexey Gerenkov
821fe3dc5a esp32: Adds SW flash breakpoints description 2018-07-26 13:56:45 +03:00
wangmengyang
a23f857452 component/bt: bugfix on the crash during end of sco link resulted from link supervision timeout 2018-07-26 14:41:25 +08:00
Jiang Jiang Jian
8d5ec413d5 Merge branch 'bugfix/tw23404_dhcp_NAK_issue_3' into 'master'
modify the timers

See merge request idf/esp-idf!2798
2018-07-26 14:06:12 +08:00
Angus Gratton
cf593e84d3 Merge branch 'bugfix/spiffs_readdir_recursion' into 'master'
SPIFFS: fix stack overflow in readdir_r due to recursion

See merge request idf/esp-idf!2839
2018-07-26 08:33:24 +08:00
Jiang Jiang Jian
b3dd6ff9fc Merge branch 'bugfix/btdm_controller_deinit' into 'master'
bt : fix bug that bluetooth controller init/disable/enable/disable may cause exception

See merge request idf/esp-idf!2800
2018-07-25 21:00:35 +08:00
Konstantin Kondrashov
de2b1cb02a make: Add feature to cmd 'make flash' - reset ota_data partition
Add a command `make erase_ota` - erases otadata if it there is in the
partition table otherwise error 'Partition table does not have ota_data partition'.

Closes https://github.com/espressif/esp-idf/issues/1821
2018-07-25 11:22:15 +00:00
Ivan Grokhotkov
a1709a6682 Merge branch 'bugfix/heap_test_alloc_iram' into 'master'
heap/tests: make IRAM allocation size divisible by 4

See merge request idf/esp-idf!2853
2018-07-25 16:20:16 +08:00
Ivan Grokhotkov
9a2583122c heap/tests: make IRAM allocation size divisible by 4
heap_caps_malloc will fail to poison a block in IRAM with size not
divisible by 4. The proper fix will be to make poisoning code
smarter, or to disallow allocations from IRAM with size not aligned
by 4.
2018-07-25 09:45:39 +03:00
Angus Gratton
4f2fe93bc1 Merge branch 'feature/idf-fs-profile-modifications' into 'master'
IDF fs profiling tool modifications

See merge request idf/esp-idf!2705
2018-07-25 08:56:04 +08:00
Angus Gratton
21f327060b Merge branch 'bugfix/host_tools_warnings' into 'master'
Fix host tools warnings

See merge request idf/esp-idf!2729
2018-07-25 08:55:29 +08:00
Ivan Grokhotkov
caeab09f65 Merge branch 'bugfix/src_encoding' into 'master'
Correct source code encoding

See merge request idf/esp-idf!2820
2018-07-24 22:03:46 +08:00
Ivan Grokhotkov
d50c03cc7d Merge branch 'bugfix/unit-test-build-fix' into 'master'
unit-test-app: don’t include project.mk for ut- targets

See merge request idf/esp-idf!2619
2018-07-24 20:48:12 +08:00
Ivan Grokhotkov
f3260cc30f test/uart: fix compilation warning 2018-07-24 09:56:40 +03:00
Ivan Grokhotkov
a981e73e22 heap: move get_all_caps to IRAM, used in unit test 2018-07-24 09:56:40 +03:00
Ivan Grokhotkov
964087b7c8 freertos: bump limit for spinlock performance test to 300 cycles 2018-07-24 09:56:40 +03:00
Ivan Grokhotkov
81ce7e4afa newlib: fix unit test for psram config 2018-07-24 09:56:40 +03:00
Ivan Grokhotkov
7a154d6a4e heap: fix unit test for the case when less than 10k of IRAM is available 2018-07-24 09:56:40 +03:00
Ivan Grokhotkov
253930acd1 spi_master, ulp: fix aliasing errors in unit tests 2018-07-24 09:54:55 +03:00
Ivan Grokhotkov
b0af8ad22f unit-test-app: don’t include project.mk for ut- targets
If project.mk is included twice in recursive invocation of Make, some
variables defined on the first pass will not be redefined on the
second pass. Rather than cleaning up these variables before calling
Make recursively, don’t include IDF project.mk at all, if one of the
ut- targets is requested.
2018-07-24 09:54:55 +03:00
Angus Gratton
28787ad392 Merge branch 'bugfix/bootloader_dev_zero_app_count' into 'master'
bootloader: Fix issue - bs->app_count is zero but ota_data have valid entry

See merge request idf/esp-idf!2842
2018-07-24 14:41:05 +08:00
Renz Bagaporo
8ce14d0406 console: Suppress unused warning asprintf result 2018-07-24 06:08:48 +00:00
Renz Bagaporo
4355eb1bc2 console: Ignore var cloberred warning for argtable 2018-07-24 06:08:48 +00:00
Renz Bagaporo
d31b31787c spiffs: Explicitly indicate unused value 2018-07-24 06:08:48 +00:00
Angus Gratton
beb3611ca3 Merge branch 'bugfix/fix_pcnt_isr_service_register_bug' into 'master'
driver(pcnt): fix the  pcnt isr service can not be re registered bug.

See merge request idf/esp-idf!2439
2018-07-24 13:49:45 +08:00
Angus Gratton
002bf37f14 Merge branch 'bugfix/unit_test_thread_local_storage' into 'master'
ci/esp32: Fix race in "TLS Test" where s_task can go out of scope before cleanup finishes

See merge request idf/esp-idf!2794
2018-07-24 13:43:41 +08:00
Konstantin Kondrashov
8c808c2d9a bootloader: Fix issue - bs->app_count is zero but ota_data have valid entry
If we have the partition table without any ota_apps but in ota_data have
valide entry, in this case we get an error(hang). This commit fix this
case. If bs->app_count is zero when selecting the factory app.

Closes https://github.com/espressif/esp-idf/issues/2218
2018-07-24 13:09:32 +08:00
Angus Gratton
466ec6d9ac Merge branch 'bugfix/ci_use_mirror_for_public' into 'master'
ci: Use local mirrors on the public branches too

See merge request idf/esp-idf!2836
2018-07-24 12:19:24 +08:00
Angus Gratton
c3069b97f9 Merge branch 'bugfix/udp_multicast_example_leak' into 'master'
udp multicast example: Fix leak, change default port (and log UDP port in use)

See merge request idf/esp-idf!2834
2018-07-24 12:12:53 +08:00
kooho
01516abe5a Add some comments in pcnt.h. 2018-07-24 10:33:58 +08:00
Ivan Grokhotkov
baa4613fc1 Merge branch 'bugfix/fix_touchpad_wakeup_status' into 'master'
fix(sleep): swap touchpad num in wakeup status

See merge request idf/esp-idf!2708
2018-07-24 04:08:43 +08:00
krzychb
c7ab37143b Logo version 8, vector graphics and a new typeface 2018-07-23 19:18:50 +02:00
Ivan Grokhotkov
15b22e5aa5 spiffs: add test case for readdir_r with large number of files
Ref. https://esp32.com/viewtopic.php?f=13&t=6486
2018-07-23 15:34:18 +03:00
Angus Gratton
0905aa0103 Merge branch 'bugfix/bootloader_include_priv' into 'master'
bootloader_support: Rename include_priv directory to include_bootloader

See merge request idf/esp-idf!2686
2018-07-23 18:50:35 +08:00
Angus Gratton
b5db59ec31 Merge branch 'bugfix/http_client_enhanced' into 'master'
esp_http_client: Resolve some bugs from the github community

See merge request idf/esp-idf!2831
2018-07-23 17:55:49 +08:00
Anton Maklakov
d5f666dee3 ci: Use local mirrors on the public branches (master, release-) too
Use DONT_USE_MIRROR=1 to force using the original repositories if you need
2018-07-23 17:04:38 +08:00
Angus Gratton
bf665ae62e udp_multicast example: Change port to 3333 to match README, log port from example 2018-07-23 18:25:33 +10:00
Angus Gratton
5fb665dbaf udp_multicast example: Fix memory leak from getaddrinfo() calls
Closes https://github.com/espressif/esp-idf/issues/2201
2018-07-23 18:25:33 +10:00
Angus Gratton
fbec7de7f8 bootloader_support: Rename include_priv directory to include_bootloader
Old rationale for "priv" no longer applies.

As reported here: https://esp32.com/viewtopic.php?f=13&t=6155&p=27151#p26601
2018-07-23 15:58:27 +10:00
David Cermak
409c91bcb9 removed possible uint16 access to 32bit register, noted fifo use not recommended 2018-07-23 07:57:18 +02:00
Renz Bagaporo
70e68c99d3 Modifications for fs profiling tool 2018-07-23 05:24:33 +00:00
Tuan PM
6ef558320a esp_http_client: Resolve some bugs from the github community
- Closes https://github.com/espressif/esp-idf/issues/2135
- Closes https://github.com/espressif/esp-idf/issues/2208
- Closes https://github.com/espressif/esp-idf/issues/2213
2018-07-23 12:22:19 +07:00
Angus Gratton
5f2f84c220 Merge branch 'feature/http_server_finalize' into 'master'
Feature add HTTP Web Server component

See merge request idf/esp-idf!2606
2018-07-23 13:11:04 +08:00
Angus Gratton
57342c449d Merge branch 'feature/tools_mass_mfg' into 'master'
Add files for mass manufacturing tool

See merge request idf/esp-idf!2716
2018-07-23 13:10:17 +08:00
Angus Gratton
cf614120a5 Merge branch 'bugfix/reclaim_bt_ble_bss' into 'master'
components/bt: Reclaim BT/BTDM BSS in bluetooth memory release function

See merge request idf/esp-idf!2750
2018-07-23 12:48:13 +08:00
Angus Gratton
e75a1129e0 Merge branch 'bugfix/bootloader_noreturn_always' into 'master'
bootloader: Ensure bootloader never returns to caller

See merge request idf/esp-idf!2815
2018-07-23 11:56:14 +08:00
Angus Gratton
b6a7458e14 esp32 tests: TLS test: use same size stack for static & non-static task
Use constant instead of magic number of task priorities.
2018-07-23 03:54:44 +00:00
Angus Gratton
7313f3f925 esp32: Fix race in "TLS Test" where s_task can go out of scope before cleanup finishes
Probable cause for CI failures of "LoadStoreError" after this task finishes running.
2018-07-23 03:54:44 +00:00
Angus Gratton
ae24c13da2 Merge branch 'bugfix/secure_boot_padding' into 'master'
secure boot: Fix padding issue allowing unverified data to be mapped into the address space

See merge request idf/esp-idf!2778
2018-07-23 11:44:50 +08:00
Anton Maklakov
ea1a99bcb9 Merge branch 'cermak_fuzzer_ci_job' into 'master'
added CI job for AFL fuzzer tests

See merge request idf/esp-idf!2537
2018-07-23 09:41:10 +08:00
krzychb
992ead0671 Logo version 7 - gray logo background, improved contrast, simplified css overrides 2018-07-21 20:06:27 +02:00
Deng Xin
faede72435 Wifi: add compatible to ccmp encryption 2018-07-21 14:37:27 +08:00
Jiang Jiang Jian
8892174383 Merge branch 'bugfix/coex_pause' into 'master'
fix coex pause cause bluetooth performance decrease

See merge request idf/esp-idf!2741
2018-07-21 14:22:09 +08:00
Konstantin Klitenik
3486b51388 Fix stackoverflow due to recursion in vfs_spiffs_readdir_r 2018-07-20 10:27:53 -04:00
Ivan Grokhotkov
999c3dbf0e Merge branch 'feature/test_exclude_components' into 'master'
build: Add TEST_EXCLUDE_COMPONENTS

See merge request idf/esp-idf!2648
2018-07-20 19:43:46 +08:00
Ivan Grokhotkov
0e3694b542 Merge branch 'feature/freertos_vtasklist_xcoreid' into 'master'
freertos: Add option to display xCoreID in vTaskList

See merge request idf/esp-idf!2728
2018-07-20 18:46:41 +08:00
Anurg Kar
656bef7bb7 Http Server : Add a simple light weight HTTP Server Component.
Also add examples, docs and test apps for the HTTP Server.
2018-07-20 15:49:17 +05:30
David Cermak
0c147648f7 added CI job for AFL fuzzer tests 2018-07-20 10:28:12 +02:00
Tian Hao
6e4342a877 bt : fix bug that bluetooth controller init/disable/enable/disable may cause exception
1. when one task do deinit/init/disable/enable, especially different cpu
core, it may cause controller crash in ISR handler
2. fix while BLE is scanning, bluetooth controller is disabled cause BLE
scan is not abort.
2018-07-20 14:10:55 +08:00
Hrishikesh Dhayagude
f610249bdd Reclaim BT/BTDM BSS and Data in bluetooth memory release function
1. Modify esp_bt_controller_mem_release() to release BTDM BSS and Data to heap if
ESP_BT_MODE_BTDM mode is passed to it
2. Add a new API esp_bt_mem_release() which internally calls
esp_bt_controller_mem_release() with the provided mode and then if mode
is ESP_BT_MODE_BTDM, releases BT BSS and Data to heap.

Background:
For Wi-Fi and BT/BLE applications, for e.g. the usecase is like when
Bluetooth is used for provisioning and once the device is connected to the Wi-Fi
AP, we can turn off Bluetooth completely. In such scenarios, it should be possible to
reclaim all the memory of Bluetooth. Although, currently this does not
happen.

Experiment:
Made the following modifications to examples/bluetooth/gatt_server :
1. Added support of simple_wifi to it
2. Moved all the bluetooth related code under CONFIG_BT_ENABLED config
option
3. Calculated the free heap in 2 similar scenarios:
   i. Disabled BT (CONFIG_BT_ENABLED undefined) and checked the free
heap after STA connected
   ii. Kept BT enabled and disabled it after STA connected and checked
the free heap
Ideally, the numbers for i., ii. above should have been similar. But
there was a delta of almost 30-31K. (i. > ii.)
4. Through make size-components checked the common BSS for libbta.a and libbtdm_app.a
and found it to be almost 30K. Data is around 1K

Solution:
1. Modified the linker script to mark the BSS and Data for these libraries and
free it when ESP_BT_MODE_BTDM mode is passed to mem release APIs.
2. Verified that the free heap is comparable for i. and ii. above.

Note: It is known that once this is done, Bluetooth can only be used
again post reboot.

Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-07-20 11:33:26 +05:30
Shivani Tipnis
35205d8513 Add files and docs for mass mfg 2018-07-20 10:41:11 +05:30
Jiang Jiang Jian
e4fb359c34 Merge branch 'bugfix/btdm_bt_remove_device_fail_when_ble_connected' into 'master'
component/bt: Fix bug of remove bond device fail when BLE and BT are connectd at the same time

See merge request idf/esp-idf!2767
2018-07-20 10:46:31 +08:00
Angus Gratton
45275ab189 Merge branch 'feature/nvs_multipage_blob' into 'master'
nvs-flash: Support for blobs larger than half of SPI Flash sector size

See merge request idf/esp-idf!2182
2018-07-20 09:13:34 +08:00
Sagar Bijwe
5a27a63541 nvs-flash: Support for blobs larger than half of SPI Flash sector size
This change removes the earlier limitation of 1984 bytes for storing data-blobs.
Blobs larger than the sector size are split and stored on multiple sectors.
For this purpose, two new datatypes (multi-page index and multi-page data) are
added for entries stored in the sectors. The underlying read, write, erase and find
operations are modified to support these large blobs. The change is transparent
to users of the library and no special APIs need to be used to store these large
blobs.
2018-07-20 00:13:15 +05:30
Roland Dobai
0efb4a11ec Correct source code encoding 2018-07-19 14:00:44 +02:00
Ivan Grokhotkov
fec079cd44 Merge branch 'bugfix/rtc_io_hold_regs' into 'master'
Fix errors in rtc_gpio_desc values

See merge request idf/esp-idf!2765
2018-07-19 15:04:42 +08:00
Ivan Grokhotkov
a8f39a892e Merge branch 'bugfix/ulp_example_fix' into 'master'
ulp example: fix for RTC IOs

See merge request idf/esp-idf!2768
2018-07-19 15:04:20 +08:00
Angus Gratton
f0d74b1c64 bootloader: Ensure bootloader never returns to caller
* Fixes some "noreturn" functions in bootloader utils which did return (causing fatal CPU
  exceptions).
* Marks bootloader entry as "noreturn", preventing "user code done" from stalling boot
  Partial fix for https://github.com/espressif/esp-idf/issues/1814 TW20016
  (Comprehensive fix for this issue will be enabling WDT during bootloader, coming shortly.)
2018-07-19 16:24:11 +10:00
Angus Gratton
a7d00f44ab Merge branch 'feature/esp32-pico-kit_v4.1' into 'master'
Added description of ESP32-PICO-KIT V4.1 board

See merge request idf/esp-idf!2762
2018-07-19 08:05:00 +08:00
krzychb
ca15dbd05e Added description of ESP32-PICO-KIT V4.1 board 2018-07-18 20:02:43 +02:00
Wang Jia Lin
de907e8801 Merge branch 'bugfix/rmt_mem_num_maximum_limit_is_not_accurate' into 'master'
bugfix(rmt): Modify the rmt_mem_num maximum limit value from 15 to 8.

See merge request idf/esp-idf!2734
2018-07-18 16:15:14 +08:00
Ivan Grokhotkov
c46b8178f2 Merge branch 'bugfix/sdmmc_auto_stop_cmd' into 'master'
sdmmc: enable host auto_stop only for certain commands

See merge request idf/esp-idf!2710
2018-07-18 14:55:45 +08:00
Ivan Grokhotkov
0b78959070 Merge branch 'bugfix/deep_sleep_flush_uart' into 'master'
sleep: fix flushing UARTs when entering deep sleep

See merge request idf/esp-idf!2698
2018-07-18 14:55:13 +08:00
krzychb
2506a9416e Version 2 of the logo, without a frame an with uniform color 2018-07-18 07:03:00 +02:00
krzychb
2fd5ce3022 Made the logo smaller 2018-07-18 07:03:00 +02:00
krzychb
da86681f21 Added Espressif logo to documentation 2018-07-18 07:03:00 +02:00
kittinson
ae728d66c8 Update theme_overrides.css
Changed colors in css file, in order to make documentation website look like official website.
2018-07-18 07:03:00 +02:00
Jiang Jiang Jian
d62293165b Merge branch 'bugfix/btdm_using_osi_malloc_instead_of_malloc' into 'master'
component/bt: Using osi_malloc instead of malloc

See merge request idf/esp-idf!2748
2018-07-18 11:09:28 +08:00
Angus Gratton
aa4d77467b Merge branch 'bugfix/esp_err_ignore_dirs' into 'master'
esp32: Do not document error codes defined in examples

See merge request idf/esp-idf!2732
2018-07-18 08:29:53 +08:00
Tian Hao
cf14826100 fix coex pause cause bluetooth performance decrease
1. it may cause BLE connection unstable
2. it may cause Classic BT connection unstable
3. it may cause BLE/BREDR scan performance decrease
2018-07-17 21:06:57 +08:00
Jiang Jiang Jian
94a599fb64 Merge branch 'bugfix/btdm_some_misspell' into 'master'
component/bt: Fix some misspell

See merge request idf/esp-idf!2783
2018-07-17 20:48:03 +08:00
Jiang Jiang Jian
603ce05376 Merge branch 'bugfix/ampdu_duplicate' into 'master'
wifi: fix ampdu duplicate issue

See merge request idf/esp-idf!2742
2018-07-17 20:45:45 +08:00
fuzhibo
54a67d92a4 fix(sleep): swap touchpad num in wakeup status 2018-07-17 20:25:06 +08:00
Ivan Grokhotkov
5376a06d7b Merge branch 'bugfix/range_CONFIG_ESP32_RTC_CLK_CAL_CYCLES' into 'master'
soc/clk: Fix range CONFIG_ESP32_RTC_CLK_CAL_CYCLES

See merge request idf/esp-idf!2719
2018-07-17 19:43:11 +08:00
Ivan Grokhotkov
cffaa9f5b5 freertos: add configTASKLIST_INCLUDE_COREID 2018-07-17 10:57:26 +00:00
Dave McNaughton
0fb1945482 Added: display xCoreID in vTaskList
Merges https://github.com/espressif/esp-idf/pull/2064
2018-07-17 10:57:26 +00:00
Ivan Grokhotkov
ea452920bb Merge branch 'bugfix/time_ut_wakeup_from_deep_sleep' into 'master'
esp32/test: Reduces a unit test execution time

See merge request idf/esp-idf!2776
2018-07-17 18:39:15 +08:00
zhangyanjiao
d90f8c06c2 changes for timers 2018-07-17 16:46:53 +08:00
Wang Jia Lin
5480a6b6e5 Merge branch 'bugfix/clear_intr_status_when_enable_intr' into 'master'
driver(gpio): fix the gpio interrupt false triggering issue

See merge request idf/esp-idf!2498
2018-07-17 15:44:00 +08:00
Wang Jia Lin
e7135c53b5 Merge branch 'bugfix/fix_uart_timeout_bug_when_enable_reftick' into 'master'
driver(uart):  Fix uart time_out bug when using ref_tick

See merge request idf/esp-idf!2775
2018-07-17 15:43:47 +08:00
XiaXiaotian
85ad8cfcfc docs: update channel state information document
1. Move channel to the first row of the table.

    2. Remove the condition of HT20/HT40 for they are determined by
    secondary channel.

    3. Clean up the CSI table.
2018-07-17 14:50:30 +08:00
Angus Gratton
5cbc4e976b app_update: Don't double-verify secure boot signature during OTA
esp_image_load() already verifies the signature
2018-07-17 15:33:47 +10:00
Angus Gratton
57b601ab7f secure boot: Pad to avoid data after the signature mapping into the address space
Because address space is mapped in 64KB pages, it was possible for unauthenticated data after the
app .bin to become mapped into the flash cache address space.

This problem is solved by 2 changes:

* "esptool elf2image --secure-pad" will pad the image so that the signature block ends close to the
  64KB boundary. Due to alignment constraints it will be 12 bytes too short after signing (but
  with flash encryption, these 12 bytes are still encrypted as part of the last block and can't be
  arbitrarily changed).
* By default, secure boot now requires all app partitions to be a multiple of 64KB in size.
2018-07-17 15:33:47 +10:00
baohongde
cf061a01b7 component/bt: Fix some misspell
Using CONFIG_BT_SSP_ENABLE instead if BT_SPP_INCLUDED
2018-07-16 20:56:45 +08:00
XiongYu
6d57757840 Modify the rmt_mem_num maximum limit value from 15 to 8. 2018-07-16 19:10:42 +08:00
Konstantin Kondrashov
4df7145564 esp32/test: Reduces a unit test execution time 2018-07-16 14:14:40 +05:00
chenyudong
936b8e1967 wifi: fix ampdu duplicate issue
fix ampdu duplicate issue
2018-07-16 17:10:58 +08:00
Jiang Jiang Jian
70f3933db1 Merge branch 'bugfix/tw23835_add_source_ip_route_for_unicast' into 'master'
lwip: add source ip based route for unicast packet

See merge request idf/esp-idf!2757
2018-07-16 17:01:16 +08:00
hou wen xiang
e2b9b70800 driver(uart): Fix uart time_out bug when using ref_tick 2018-07-16 16:56:14 +08:00
Angus Gratton
e5d2406b1d Merge branch 'bugfix/spi_cs_setup_fulldup' into 'master'
fix(spi_master): allow to use cs_ena_pretrans in full duplex mode without…

See merge request idf/esp-idf!2576
2018-07-16 16:30:36 +08:00
Angus Gratton
fe1ffb3d1c Merge branch 'bugfix/mdns_remove' into 'master'
mdns: Minor fix for mdns_service_remove()

See merge request idf/esp-idf!2760
2018-07-16 16:29:20 +08:00
Angus Gratton
f2f925de78 Merge branch 'bugfix/sh2lib_send_bug' into 'master'
sh2lib: Fix a bug in send

See merge request idf/esp-idf!2656
2018-07-16 16:29:03 +08:00
Angus Gratton
e90a920ea8 Merge branch 'bugfix/add_queueset_critical_sections' into 'master'
freertos: Add critical sections to queue sets.

See merge request idf/esp-idf!2761
2018-07-16 15:57:35 +08:00
baohongde
11ca056320 component/bt: Fix bug of remove bond device fail when BLE and BT are connectd at the same time 2018-07-16 15:46:27 +08:00
Jiang Jiang Jian
7f382f461c Merge branch 'feature/support_for_XM25QU64A' into 'master'
feature(flash): set QIO mode for XM25QU64A(1V8_64M_flash)

See merge request idf/esp-idf!2753
2018-07-16 12:16:13 +08:00
Jiang Jiang Jian
8809fabcd5 Merge branch 'bugfix/ledc_duty_and_freq' into 'master'
bugfix(ledc): fix bugs reported from unit-test and github.

See merge request idf/esp-idf!2735
2018-07-16 12:12:48 +08:00
Angus Gratton
68e01045f1 Merge branch 'bugfix/secure_boot_regression_partitions' into 'master'
Fix secure boot & flash encryption regression, don't verify partitions as part of secure boot

See merge request idf/esp-idf!2764
2018-07-16 12:07:56 +08:00
Jiang Jiang Jian
3b19269fcb Merge branch 'feature/wifi_check_wifi_lib_git_commit_id' into 'master'
check WiFi library git commit id in unit test

See merge request idf/esp-idf!2621
2018-07-16 11:45:59 +08:00
Angus Gratton
cee6d7d5a9 docs: Add more ReST-isms in secure boot & flash encryption docs
(Original version of these docs were in Markdown.)
2018-07-16 11:52:52 +10:00
Angus Gratton
6a498bfe2b docs: Add note about bootloader size for flash encryption & secure boot 2018-07-16 11:52:52 +10:00
Angus Gratton
2ae758ebcb Merge branch 'bugfix/spi_sdio_sdkconfig_include' into 'master'
sdio_example/spi: fix sdkconfig include issue

See merge request idf/esp-idf!2756
2018-07-16 08:00:15 +08:00
Jiang Jiang Jian
394eabdeec Merge branch 'docs/btdm_refactor_ble_spp_readme' into 'master'
component/bt_refactor_ble_spp_readme

See merge request idf/esp-idf!2717
2018-07-15 15:38:40 +08:00
Jiang Jiang Jian
a22d6607f8 Merge branch 'bugfix/autoip_compilation' into 'master'
LWIP AutoIP Compilation Fixed by defining IP_IS_V4_VAL()

See merge request idf/esp-idf!2758
2018-07-15 15:19:11 +08:00
Hou Wen Xiang
733f73067c Update README.md 2018-07-15 12:56:23 +08:00
Hou Wen Xiang
fe238af249 Update README.md 2018-07-15 12:52:55 +08:00
chenwu
7cbd18ec4e doc: add CoAP README.md 2018-07-14 16:15:03 +08:00
He Yin Ling
be81d2c16d Merge branch 'test/print_debug_info_when_test_failed' into 'master'
tiny-test-fw: print debug info when test failed

See merge request idf/esp-idf!2564
2018-07-13 21:22:29 +08:00
Jiang Jiang Jian
6554bdcbb6 Merge branch 'bugfix/btdm_add_profile_descriptor_list_for_spp' into 'master'
component/bt: Add profile descriptor list for SPP

See merge request idf/esp-idf!2691
2018-07-13 19:20:03 +08:00
Jiang Jiang Jian
8571170abe Merge branch 'feature/btdm_bt_ssp' into 'master'
component/bt: Add Secure Simple Pairing

See merge request idf/esp-idf!2453
2018-07-13 19:19:53 +08:00
Ivan Grokhotkov
4b97a1edb2 ulp example: fix for RTC IOs
- call rtc_gpio_init for pins which aren't configured as RTC by default
- for RTC IOs 16 and 17, read higher part of the input register
- automatically convert GPIO number into RTC IO number
- use ulp_set_wakeup_period instead of writing to register
2018-07-13 17:48:15 +08:00
Piyush Shah
fd8a7666c8 LWIP AutoIP Compilation Fixed by defining IP_IS_V4_VAL() 2018-07-13 15:04:39 +05:30
He Yin Ling
f348076920 esp32/test: set 60s timeout for one deep sleep case 2018-07-13 07:04:05 +00:00
He Yin Ling
4f971619fa tiny-test-fw: save DUT log in different thread:
We found some SD card on Raspberry Pi could have very bad performance.
It could take seconds to save small amount of data.
If the DUT receives data and save it as log, then it stops receiving data until log is saved.
This could lead to expect timeout. As an workaround to this issue,
``BaseDUT`` class will create a thread to save logs.
Then data will be passed to ``expect`` as soon as received.
2018-07-13 07:04:05 +00:00
He Yin Ling
b452cea04e tiny-test-fw: fix incorrect wait timeout in expect 2018-07-13 07:04:05 +00:00
He Yin Ling
5f26b36f0f tiny-test-fw: filter examples with test level 2018-07-13 07:04:05 +00:00
He Yin Ling
23d98aa358 tiny-test-fw: print expect failure when test fails 2018-07-13 07:04:05 +00:00
Ivan Grokhotkov
b354770f42 Merge branch 'bugfix/fixes_from_github' into 'master'
Fixes from Github

See merge request idf/esp-idf!2730
2018-07-13 15:03:50 +08:00
Angus Gratton
8b5a2ccb8d docs: Update Flash Encryption docs to clarify reflashing options 2018-07-13 16:18:07 +10:00
negativekelvin
8a9e3875ed Fix errors in rtc_gpio_desc values 2018-07-12 23:16:15 -07:00
Darian Leung
21ccecc802 freertos: Add critical sections to queue sets.
Queue sets are not SMP safe. This commit adds
critical sections to queue sets. Unit tests for
queue sets have also been added.
2018-07-13 13:58:54 +08:00
Angus Gratton
6fd6e024fc bootloader: Fix warning building reflashable Secure Boot image 2018-07-13 15:45:15 +10:00
Angus Gratton
fb439e48f5 bootloader: Don't verify Partition Table as part of Secure Boot
Partition Tables are still signed for backwards compatibility, but signature is no longer checked as
part of bootloader.

Closes https://github.com/espressif/esp-idf/issues/1641
2018-07-13 15:45:15 +10:00
Angus Gratton
7b9009ca5c bootloader: Fix secure boot & flash encryption functionality
Fixes regression in 3e0ac4db79.
2018-07-13 15:26:18 +10:00
Liu Zhi Fu
2e1427a239 lwip: add source ip based route for unicast packet
Add source IP based route for unicast packets forwarding.
2018-07-13 12:35:17 +08:00
Ivan Grokhotkov
46639bab85 Merge branch 'bugfix/crlf_auto_conversion' into 'master'
Convert CRLF (Windows line endings) to LF (Unix style), add CI check

See merge request idf/esp-idf!2119
2018-07-13 11:44:57 +08:00
Ivan Grokhotkov
6d46eed8e4 sdmmc: enable host auto_stop only for certain commands
Perviously host send_auto_stop flag would be set for every data
transfer over 1 block long. This caused stop commands to be sent
after CMD53, which shouldn't be done. Fix by adding an explicit list
of commands for which send_auto_stop should be set.
2018-07-13 03:28:10 +00:00
Angus Gratton
ffaf08e851 Merge branch 'fix/bootloader_typedef_enum' into 'master'
bootloader: fix missing typedef on enum defintion

See merge request idf/esp-idf!2718
2018-07-13 08:24:28 +08:00
Piyush Shah
5c7eb7e27b mdns: Minor fix for mdns_service_remove()
Send the Goodbye packet while removing an mDNS service as an "Authoritative" packet so
that the listeners remove the service from their records immediately.
2018-07-12 19:18:54 +05:30
hou wen xiang
5402ace528 driver(gpio) : Fixed the gpio related bug for release v3.1. 2018-07-12 20:19:02 +08:00
He Yin Ling
01efe9a300 Merge branch 'feature/ci_support_test_one_case_multiple_times' into 'master'
CI: support test one case multiple times by @bot

See merge request idf/esp-idf!2692
2018-07-12 19:57:21 +08:00
He Yin Ling
05d74d532e Merge branch 'bugfix/tiny_test_fw_filter_invalid_serial_port' into 'master'
tiny-test-fw: filter out invalid IDF ports

See merge request idf/esp-idf!2745
2018-07-12 19:56:48 +08:00
Mahavir Jain
fdfe38a779 wpa_supplicant: add missing source dirs to CMake build
Closes: https://github.com/espressif/esp-idf/issues/2168

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-07-12 17:22:47 +05:30
Roland Dobai
bb4c8b725c Tools: Correct line endings in idf_monitor tests 2018-07-12 19:10:37 +08:00
Angus Gratton
a67d5d89e0 Replace all DOS line endings with Unix
Command run was:
git ls-tree -r HEAD --name-only | xargs dos2unix
2018-07-12 19:10:37 +08:00
Angus Gratton
74245d27d3 ci: Add line endings check for CRLF in repository 2018-07-12 19:10:37 +08:00
XiaXiaotian
32bc9f94c0 check WiFi library git commit id in unit test 2018-07-12 17:53:21 +08:00
weyoui
24e7286693 bootloader: fix missing typedef on enum defintion
(MINOR CHANGES)
Closes https://github.com/espressif/esp-idf/pull/2140
2018-07-12 17:43:59 +08:00
Jiang Jiang Jian
dc092366bb Merge branch 'bugfix/beacon_info_do_not_update_after_user_scan' into 'master'
Wifi: bugfix of beacon info don't update after user scan

See merge request idf/esp-idf!2749
2018-07-12 17:24:54 +08:00
Ivan Grokhotkov
b0c049a6c8 Merge branch 'bugfix/fix_esp_pthread_h_compatible_with_cpp' into 'master'
pthread: fix esp_pthread.h to compatible with c++

See merge request idf/esp-idf!2739
2018-07-12 16:54:18 +08:00
Michael (XIAO Xufeng)
95dbfbe4c0 sdio_example/spi: fix sdkconfig include issue
(MINOR CHANGES)
2018-07-12 15:59:16 +08:00
xiewenxiang
91052cd333 component/bt_refactor_ble_spp_readme 2018-07-12 09:09:01 +08:00
Angus Gratton
04caff2fb2 Merge branch 'fix/sdio_speed_4bit' into 'master'
fix(sdio): update sdio to better run in 4bit HS mode

See merge request idf/esp-idf!2704
2018-07-12 08:54:03 +08:00
Angus Gratton
cfb3759635 Merge branch 'bugfix/rtc_isr_deregister_memory_leak' into 'master'
bugfix/memory leak in rtc_isr_deregister

See merge request idf/esp-idf!2754
2018-07-12 08:25:56 +08:00
chenjianqiang
542373b6ef feature(flash): support for QIO mode of XM25QU64A 2018-07-11 22:28:01 +08:00
Darian Leung
882b50dd8c driver: Fix memory leak in rtc_isr_deregister()
Closes #2179
2018-07-11 21:34:09 +08:00
Deng Xin
6e42a2b4b9 Wifi: bugfix of beacon info don't update after user scan 2018-07-11 20:02:33 +08:00
Jiang Jiang Jian
1b1477d16a Merge branch 'bugfix/btdm_err_data_report' into 'master'
component/bt: bugfix for erroneous data reporting always enabled

See merge request idf/esp-idf!2709
2018-07-11 20:00:46 +08:00
baohongde
47a164b3ac component/bt: Using osi_malloc instead of malloc 2018-07-11 11:15:41 +00:00
baohongde
d7c4ec5235 component/bt: Add profile descriptor list for SPP 2018-07-11 11:14:41 +00:00
Ivan Grokhotkov
7937d083e6 Merge branch 'bugfix/wifi_sync_header_file_with_wifi_lib' into 'master'
esp32: synchronize header file with that in wifi library

See merge request idf/esp-idf!2747
2018-07-11 19:13:17 +08:00
morris
5c6e1e6e67 pthread: fix esp_pthread.h to compatible with c++
esp_pthread.h is missing the necessary extern "C"{ ... } wrapper to be compatible with C++. The result is link errors when you call its functions from C++ code, because the compiler generates mangled names.

Closes https://github.com/espressif/esp-idf/issues/2121
Closes https://github.com/espressif/esp-idf/issues/2172
2018-07-11 14:21:09 +08:00
Angus Gratton
b6156105d4 Merge branch 'feature/test_idf_monitor' into 'master'
Test the IDF Monitor through sockets

See merge request idf/esp-idf!2556
2018-07-11 13:39:58 +08:00
Angus Gratton
064261cd3a Merge branch 'bugfix/adc_two_point_cal_val_update' into 'master'
Updated information in  documentation about  'Two Point Values' used to calibrate ADC readings

See merge request idf/esp-idf!2678
2018-07-11 12:53:33 +08:00
XiaXiaotian
c96d80f789 esp32: synchronize header file with that in wifi library 2018-07-11 12:11:06 +08:00
He Yin Ling
15858895a4 CI: support test one case multiple times by @bot 2018-07-11 10:22:13 +08:00
He Yin Ling
5edc9f9752 tiny-test-fw: filter out invalid IDF ports 2018-07-11 00:00:40 +08:00
Konstantin Kondrashov
bec14ad8ee build: Add TEST_EXCLUDE_COMPONENTS
To exclude during the build process of unit tests some components.
2018-07-10 13:44:41 +05:00
Konstantin Kondrashov
ac3508615a soc/clk: Fix range CONFIG_ESP32_RTC_CLK_CAL_CYCLES
Fixed the error division on zero.
Also fixed range CONFIG_ESP32_RTC_CLK_CAL_CYCLES in Kconfig.
Fixed a overflow error by TIMG in the function rtc_clk_cal_internal. This error was due to a limit in values TIMG_RTC_CALI_MAX=0x7FFF (to write the slowclk_cycles) and TIMG_RTC_CALI_VALUE=0x1FFFFFF (to read xtal_cycles). Added assert finctions.

Closes https://github.com/espressif/esp-idf/issues/2147
2018-07-10 11:56:12 +05:00
Wangjialin
6e9c59bfc3 feature(psram): add support for 64MBit psram of 1.8v and 3.3v.
1. Add reading psram EID.
2. Configure different clock mode for different EID.
3. add API to get psram size and voltage.
4. Remove unnecessary VSPI claim.

For 32MBit@1.8V and 64MBit@3.3V psram, there should be 2 extra clock cycles after CS get high level.
For 64MBit@1.8 psram, we can just use standard SPI protocol to drive the psram. We also need to increase the HOLD time for CS in this case.

EID for psram:
32MBit 1.8v: 0x20
64MBit 1.8v: 0x26
64MBit 3.3v: 0x46
2018-07-10 14:24:59 +08:00
Roland Dobai
20f80da723 esp32: Do not document error codes defined in examples 2018-07-10 07:57:54 +02:00
baohongde
21af1d7339 component/bt: Add Secure Simple Pairing 2018-07-10 11:18:52 +08:00
Jiang Jiang Jian
9d830a6f7c Merge branch 'bugfix/tw23667_tcp_pcb_purge_assert' into 'master'
lwip: fix the assertion in tcp_pcb_purge()

See merge request idf/esp-idf!2657
2018-07-10 10:16:47 +08:00
Wangjialin
ab44c6ecc2 bugfix(ledc): fix bugs reported from unit-test and github.
1. In ledc_set_duty_and_update, return if duty updated. Close https://github.com/espressif/esp-idf/issues/2082
2. fix ledc_set_freq function for low speed mode.
2018-07-10 02:22:23 +08:00
Anton Maklakov
27311811e0 Merge branch 'bugfix/gcc8_complation_errors' into 'master'
Warnings and errors detected by GCC8

See merge request idf/esp-idf!2703
2018-07-09 22:55:52 +08:00
Jiang Jiang Jian
3e7a5c4f50 Merge branch 'bugfix/wifi_channel_state_information_data_type' into 'master'
esp32: Change channel state information(CSI) data type from unsigned char to signed char

See merge request idf/esp-idf!2694
2018-07-09 21:28:09 +08:00
Alexey Gerenkov
c2dc09304c gcc8_newlib3: Compilation warnings and errors not specific to newlib v3 2018-07-09 13:22:24 +03:00
Ivan Grokhotkov
82047ff181 Merge branch 'bugfix/smartconfig_ack' into 'master'
smartconfig_ack.c : Fixed the declaration of remote_ip in sc_ack_send_task()

See merge request idf/esp-idf!2689
2018-07-09 16:20:22 +08:00
Chris Morgan
3e1633354a ssl_pm_reload_crt() - Fix verify_mode checking to match openssl documentation https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set_verify.html
Merges https://github.com/espressif/esp-idf/pull/2162
2018-07-09 14:41:56 +08:00
Roland Dobai
c1ae49dda1 Test the IDF Monitor through sockets
Creates a socket by socat and sends tests to the idf_monitor through it.
2018-07-09 08:37:40 +02:00
Carney Wu
7ccc28de6c alias 需要添加到 .bashrc 文件中
Merges https://github.com/espressif/esp-idf/pull/2097
2018-07-09 14:36:47 +08:00
Carney Wu
fab55e3266 alias should set in .bashrc
Merges https://github.com/espressif/esp-idf/pull/2097
2018-07-09 14:36:47 +08:00
Le-Andrew
a8da9c1b96 Fixed typos on booleans.
Merges https://github.com/espressif/esp-idf/pull/2067
2018-07-09 14:36:06 +08:00
Avraham Shukron
0cab3cecfd doc/wifi: small fixup
The WiFi station connect sequence diagram does not have any "successful" ending.
It looks like a copy-paste error, because there are two consequent `SYSTEM_EVENT_STA_DISCONNECTED` events firing with nothing happening in between.

I think the original meaning was that the last event should be `SYSTEM_EVENT_STA_CONNECTED` to signify that if all goes well, that is the event that will be fired.

Merges https://github.com/espressif/esp-idf/pull/2065
2018-07-09 14:35:51 +08:00
wangmengyang
1ade9a34d2 component/bt: bugfix for erroneous data reporting always enabled 2018-07-09 13:45:55 +08:00
Jiang Jiang Jian
f22a74b85c Merge branch 'bugfix/btdm_invalid_sco_handle' into 'master'
component/bt: bugfix of invalid SCO handle in HCI number_of_completed_packets event

See merge request idf/esp-idf!2707
2018-07-09 12:10:02 +08:00
Jiang Jiang Jian
6bf435217e Merge branch 'bugfix/disable_lwip_trust_ip_by_default' into 'master'
lwip: disable ETHARP_TRUST_IP_MAC by default

See merge request idf/esp-idf!2652
2018-07-09 10:03:30 +08:00
michael
c34672e7dc fix(sdmmc): disable all pulldowns used by sdmmc host 2018-07-06 18:17:51 +08:00
michael
597eda5f0b fix(sdio_slave): improve sdio slave for high speed and 4 bit mode 2018-07-06 18:17:50 +08:00
michael
823ebba0f0 fix(sdio_slave): fix minor issues like return value of send function, output arg, etc. 2018-07-06 18:17:49 +08:00
Alexey Gerenkov
8fe2a77c46 coredump: Adds support for ROM ELF file to 'espcoredump' script 2018-07-05 22:20:20 +03:00
Alexey Gerenkov
95e26cd461 coredump: Fixes exception stack frame structure indicator
Initializes exception stack frame EXIT field to indicate stack frame format for 'espcoredump'.
2018-07-05 22:20:20 +03:00
Ivan Grokhotkov
d92c1d02e7 Merge branch 'bugfix/bootloader_entry_addr_decoding' into 'master'
bootloader: move iram_seg 1k up to have better looking idf_monitor output

See merge request idf/esp-idf!2699
2018-07-05 16:18:33 +08:00
Ivan Grokhotkov
934df45473 Merge branch 'bugfix/xthal_get_interrupt_volatile' into 'master'
xtensa: make XTHAL_GET_INTERRUPT, XTHAL_GET_CCOUNT volatile

See merge request idf/esp-idf!2681
2018-07-05 16:18:18 +08:00
Liu Zhi Fu
49c236d613 lwip: fix the assertion in tcp_pcb_purge()
Fix the assertion in tcp_pcb_purge().
2018-07-05 14:29:03 +08:00
wangmengyang
0ede362f84 component/bt: bugfix of invalid SCO handle in HCI number_of_completed_packets event 2018-07-05 12:00:41 +08:00
Ivan Grokhotkov
6d46220456 Merge branch 'feature/clock_gettime' into 'master'
newlib: Add function clock_gettime()

See merge request idf/esp-idf!2610
2018-07-04 18:09:04 +08:00
Angus Gratton
c445da47de Merge branch 'feature/CAN_driver' into 'master'
CAN driver, examples, and docs

See merge request idf/esp-idf!2098
2018-07-04 17:33:24 +08:00
Ivan Grokhotkov
6ee3cf67bd Merge branch 'feature/nvs_part_gen_improvements' into 'master'
Feature/nvs part gen improvements

See merge request idf/esp-idf!2555
2018-07-04 17:33:13 +08:00
Darian Leung
1d2727f4c8 CAN Driver
The following commit contains the first version of the ESP32 CAN Driver.

closes #544
2018-07-04 14:01:57 +08:00
Ivan Grokhotkov
5551b3f616 bootloader: move iram_seg 1k up to have better looking idf_monitor output
When 2nd stage bootloader loads the ROM bootloader, it prints a
message similar to "entry 0x40080xxx", which idf_monitor decodes
(using application ELF file) as one of the reset vectors (xxx is <
400h). This moves the iram_seg of bootloader 1k up to prevent overlap
of bootloader .text and application vectors, making the output look
nicer. There is still a chance that the entry point decodes as some
symbol in application ELF file, but at least it won't have
"Exception" in its name.
2018-07-04 12:33:11 +08:00
Ivan Grokhotkov
10c2cddddf sleep: fix flushing UARTs when entering deep sleep
Since 94250e42a0, UART output is suspended when entering sleep mode
(deep or light sleep). This makes sense for light sleep, where sleep
normally takes small amount of time, and flushing the UART would add
a lot of latency. But this breaks existing behaviour for deep sleep,
where UART output was previously sent out before entering sleep mode.

Closes https://github.com/espressif/esp-idf/issues/2145
2018-07-04 12:11:25 +08:00
Xia Xiaotian
eda05b6ce8 esp32: Change channel state information(CSI) data type from unsigned char to signed char 2018-07-04 11:39:14 +08:00
Angus Gratton
a3c43251b4 Merge branch 'feature/fix_rs485_test' into 'master'
driver: fix rs485 test

See merge request idf/esp-idf!2690
2018-07-04 09:13:52 +08:00
Ivan Grokhotkov
9790dafe0e Merge branch 'bugfix/host_io_fseek_args_init' into 'master'
Host file I/O: Fix uninitialized fseek args

See merge request idf/esp-idf!2693
2018-07-04 09:05:23 +08:00
Alexey Gerenkov
13384221a7 host_file_io: Fixes uninitialized 'offset' and 'whence' fseek args 2018-07-03 19:34:13 +03:00
Alex Lisitsyn
9ba0808228 driver: fix rs485 test 2018-07-03 13:26:28 +02:00
Sachin Parekh
e5049021ed smartconfig_ack.c : Fixed the declaration of remote_ip in sc_ack_send_task()
remote_ip was declared to be a pointer to an address that was
overwritten in later stage thus changing the address pointed by remote_ip

esp_smartconfig.h : Fixed a typo. station_config to wifi_config_t

Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2018-07-03 16:28:24 +05:30
Angus Gratton
909eec9c3b Merge branch 'feature/uart_add_rs485_interface_support' into 'master'
driver: add rs485 half duplex interface support to uart driver

See merge request idf/esp-idf!2415
2018-07-03 14:34:33 +08:00
Angus Gratton
52f4ff6220 Merge branch 'feature/spi_little_endien' into 'master'
feature(spi): provide macro to write multi-byte data straightly

See merge request idf/esp-idf!2634
2018-07-03 14:32:41 +08:00
Angus Gratton
91e7a6e7a3 Merge branch 'bugfix/console_performance' into 'master'
idf_monitor: Fix console performance

See merge request idf/esp-idf!2570
2018-07-03 14:04:23 +08:00
Konstantin Kondrashov
e274940a46 newlib: Add some functions from _POSIX_TIMERS
clock_gettime();
clock_settime();
clock_getres();

Closes https://github.com/espressif/esp-idf/issues/1302
2018-07-03 07:28:29 +05:00
Angus Gratton
05a5c58f7a Merge branch 'bugfix/tinytestfw_espport' into 'master'
tiny-test-fw: handle case when ESPPORT is not set

See merge request idf/esp-idf!2684
2018-07-03 09:10:12 +08:00
Ivan Grokhotkov
eb85c4ec15 tiny-test-fw: handle case when ESPPORT is not set
Fix bug introduced in 8a88dd35, where .decode was called on result of
os.getenv, which was None if ESPPORT was not set.
2018-07-02 21:45:27 +08:00
Alex Lisitsyn
a9fca0c775 driver: add rs485 half duplex interface support to uart driver (fix after review)
An existing UART driver does not support RS485 half duplex mode.
This task adds this functionality to ESP_IDF UART driver.
driver/uart.c/h: updated to add support of RS485 half duplex mode
examples/peripherals/uart_echo_rs485/main/rs485_example.c: added test example
components/driver/test/test_uart.c: added test of RS485 half duplex mode
docs/en/api-reference/peripherals/uart.rst: updated documentation
test_uart.c: suppress GCC warnings about discarded const qualifiers
uart.rst: remove sphinx warning - "Duplicate explicit target name"
simple change in uart.h file
update (test_uart.c) after rebase from master
update uart.rst, uart.c, rs485_example.c
Update example description in file Readme.md
update uart.c/h, uart.rst, test_uart.c according to review results
update uart.h (uart_set_rx_timeout() description
test_uart.c remove ignore tag
uart.c/h: fix param errors
test_uart.c: Remove GCC warning supress
uart.rst: fix the notes
rs485_example.c: fix output
uart.c: remove reset using UART_RXFIFO_RST from driver.
readme.md: Update example description

The tests are completed using RS485 adapters hardware connected to two ESP32 WROVER KITs.

TW#13812
Closes https://github.com/espressif/esp-idf/pull/667
Closes https://github.com/espressif/esp-idf/pull/1006
2018-07-02 15:24:58 +02:00
Alex Lisitsyn
a952eb1a92 driver: add rs485 half duplex interface support to uart driver (fix indentation after review)
An existing UART driver does not support RS485 half duplex mode.
This task adds this functionality to ESP_IDF UART driver.
driver/uart.c/h: updated to add support of RS485 half duplex mode
examples/peripherals/uart_echo_rs485/main/rs485_example.c: added test example
components/driver/test/test_uart.c: added test of RS485 half duplex mode
docs/en/api-reference/peripherals/uart.rst: updated documentation
test_uart.c: suppress GCC warnings about discarded const qualifiers
uart.rst: remove sphinx warning - "Duplicate explicit target name"
simple change in uart.h file
update (test_uart.c) after rebase from master
update uart.rst, uart.c, rs485_example.c
Update example description in file Readme.md
update uart.c/h, uart.rst, test_uart.c according to review results
update uart.h (uart_set_rx_timeout() description
test_uart.c remove ignore tag
uart.c/h: fix param errors
test_uart.c: Remove GCC warning supress
uart.rst: fix the notes
rs485_example.c: fix output

The tests are completed using RS485 adapters hardware connected to two ESP32 WROVER KITs.

TW#13812
Closes https://github.com/espressif/esp-idf/pull/667
Closes https://github.com/espressif/esp-idf/pull/1006
2018-07-02 15:24:58 +02:00
Alex Lisitsyn
ef5dc73f6f driver: add rs485 half duplex interface support to uart driver (update after review)
An existing UART driver does not support RS485 half duplex mode.
This task adds this functionality to ESP_IDF UART driver.
driver/uart.c/h: updated to add support of RS485 half duplex mode
examples/peripherals/uart_echo_rs485/main/rs485_example.c: added test example
components/driver/test/test_uart.c: added test of RS485 half duplex mode
docs/en/api-reference/peripherals/uart.rst: updated documentation
test_uart.c: suppress GCC warnings about discarded const qualifiers
uart.rst: remove sphinx warning - "Duplicate explicit target name"
simple change in uart.h file
update (test_uart.c) after rebase from master
update uart.rst, uart.c, rs485_example.c
Update example description in file Readme.md
update uart.c/h, uart.rst, test_uart.c according to review results
update uart.h (uart_set_rx_timeout() description
test_uart.c remove ignore tag
uart.c/h: fix param errors
test_uart.c: Remove GCC warning supress
uart.rst: fix the notes
rs485_example.c: fix output

The tests are completed using RS485 adapters hardware connected to two ESP32 WROVER KITs.

TW#13812
Closes https://github.com/espressif/esp-idf/pull/667
Closes https://github.com/espressif/esp-idf/pull/1006
2018-07-02 15:24:58 +02:00
Alex Lisitsyn
0ec81181b4 driver: add rs485 half duplex interface support to uart driver (add jobs into *.yml file)
An existing UART driver does not support RS485 half duplex mode.
This task adds this functionality to ESP_IDF UART driver.
driver/uart.c/h: updated to add support of RS485 half duplex mode
examples/peripherals/uart_echo_rs485/main/rs485_example.c: added test example
components/driver/test/test_uart.c: added test of RS485 half duplex mode
docs/en/api-reference/peripherals/uart.rst: updated documentation
test_uart.c: suppress GCC warnings about discarded const qualifiers
uart.rst: remove sphinx warning - "Duplicate explicit target name"
simple change in uart.h file
update (test_uart.c) after rebase from master
update uart.rst, uart.c, rs485_example.c
Update example description in file Readme.md
update uart.c/h, uart.rst, test_uart.c according to review results
update uart.h (uart_set_rx_timeout() description
test_uart.c remove ignore tag

The tests are completed using RS485 adapters hardware connected to two ESP32 WROVER KITs.

TW#13812
Closes https://github.com/espressif/esp-idf/pull/667
Closes https://github.com/espressif/esp-idf/pull/1006
2018-07-02 15:24:58 +02:00
Alex Lisitsyn
d096b3abb8 driver: add rs485 half duplex interface support to uart driver (remove ignore tag to check ut case)
An existing UART driver does not support RS485 half duplex mode.
This task adds this functionality to ESP_IDF UART driver.
driver/uart.c/h: updated to add support of RS485 half duplex mode
examples/peripherals/uart_echo_rs485/main/rs485_example.c: added test example
components/driver/test/test_uart.c: added test of RS485 half duplex mode
docs/en/api-reference/peripherals/uart.rst: updated documentation
test_uart.c: suppress GCC warnings about discarded const qualifiers
uart.rst: remove sphinx warning - "Duplicate explicit target name"
simple change in uart.h file
update (test_uart.c) after rebase from master
update uart.rst, uart.c, rs485_example.c
Update example description in file Readme.md
update uart.c/h, uart.rst, test_uart.c according to review results
update uart.h (uart_set_rx_timeout() description
test_uart.c remove ignore tag

The tests are completed using RS485 adapters hardware connected to two ESP32 WROVER KITs.

TW#13812
Closes https://github.com/espressif/esp-idf/pull/667
Closes https://github.com/espressif/esp-idf/pull/1006
2018-07-02 15:24:58 +02:00
Alex Lisitsyn
b76693fe20 driver: add rs485 half duplex interface support to uart driver (update after review)
An existing UART driver does not support RS485 half duplex mode.
This task adds this functionality to ESP_IDF UART driver.
driver/uart.c/h: updated to add support of RS485 half duplex mode
examples/peripherals/uart_echo_rs485/main/rs485_example.c: added test example
components/driver/test/test_uart.c: added test of RS485 half duplex mode
docs/en/api-reference/peripherals/uart.rst: updated documentation
test_uart.c: suppress GCC warnings about discarded const qualifiers
uart.rst: remove sphinx warning - "Duplicate explicit target name"
simple change in uart.h file
update (test_uart.c) after rebase from master
update uart.rst, uart.c, rs485_example.c
Update example description in file Readme.md
update uart.c/h, uart.rst, test_uart.c according to review results
update uart.h (uart_set_rx_timeout() description

The tests are completed using RS485 adapters hardware connected to two ESP32 WROVER KITs.

TW#13812
Closes https://github.com/espressif/esp-idf/pull/667
Closes https://github.com/espressif/esp-idf/pull/1006
2018-07-02 15:24:58 +02:00
Alex Lisitsyn
51e9cf6848 driver: add rs485 half duplex interface support to uart driver (update after review)
An existing UART driver does not support RS485 half duplex mode.
This task adds this functionality to ESP_IDF UART driver.
driver/uart.c/h: updated to add support of RS485 half duplex mode
examples/peripherals/uart_echo_rs485/main/rs485_example.c: added test example
components/driver/test/test_uart.c: added test of RS485 half duplex mode
docs/en/api-reference/peripherals/uart.rst: updated documentation
test_uart.c: suppress GCC warnings about discarded const qualifiers
uart.rst: remove sphinx warning - "Duplicate explicit target name"
simple change in uart.h file
update (test_uart.c) after rebase from master
update uart.rst, uart.c, rs485_example.c
Update example description in file Readme.md
update uart.c/h, uart.rst, test_uart.c according to review results

The tests are completed using RS485 adapters hardware connected to two ESP32 WROVER KITs.

TW#13812
Closes https://github.com/espressif/esp-idf/pull/667
Closes https://github.com/espressif/esp-idf/pull/1006
2018-07-02 15:24:58 +02:00
Ivan Grokhotkov
3d880f59b9 Merge branch 'test/tinyfw_tweaks' into 'master'
tiny-test-fw: small tweaks

See merge request idf/esp-idf!2496
2018-07-02 19:41:25 +08:00
Ivan Grokhotkov
32ff393afa Merge branch 'bugfix/bt_os_abstraction_layer' into 'master'
bt: fix OS abstraction layer for correct critical section API usage

See merge request idf/esp-idf!2676
2018-07-02 18:42:07 +08:00
He Yin Ling
0c3e34b79a tiny-test-fw: add class diagram to document 2018-07-02 10:40:23 +00:00
Ivan Grokhotkov
6a626f7984 tiny-test-fw: add requirements.txt, small docs tweaks 2018-07-02 10:40:23 +00:00
Ivan Grokhotkov
8a88dd3590 tiny-test-fw: IDFDUT: in the absence of configuration, try ESPPORT first 2018-07-02 10:40:23 +00:00
Ivan Grokhotkov
59c96ae331 Merge branch 'bugfix/spi_flash_deadlock' into 'master'
spi_flash: raise priority of the task performing spi_flash operation

See merge request idf/esp-idf!2609
2018-07-02 18:39:16 +08:00
Ivan Grokhotkov
3238531c70 Merge branch 'bugfix/rom_libgcc_functions' into 'master'
Fix linking of libgcc math functions to ROM

See merge request idf/esp-idf!2640
2018-07-02 18:38:44 +08:00
Piyush Shah
e7ddd47716 nvs_partition_generator: Add support for base64 representation of Binary data 2018-07-02 15:40:21 +05:30
Piyush Shah
8369bd244b nvs_partition_generator: Modifications to enable using the utility as a Python library
And also use directly as an executable
2018-07-02 15:39:52 +05:30
Anton Maklakov
4f4182179f Merge branch 'bugfix/gcc8_compile_errors' into 'master'
Fix GCC 8 compile errors

See merge request idf/esp-idf!2466
2018-07-02 17:43:02 +08:00
Anton Maklakov
1f3320ebdf wpa_supplicant: fix errors for GCC 8 support
components/wpa_supplicant/port/include/os.h:259:29: error: 'strncpy' output truncated before terminating nul copying 3 bytes from a string of the same length [-Werror=stringop-truncation]
 #define os_strncpy(d, s, n) strncpy((d), (s), (n))
                             ^~~~~~~~~~~~~~~~~~~~~~
components/wpa_supplicant/src/wpa2/eap_peer/eap.c:410:3: note: in expansion of macro 'os_strncpy'
   os_strncpy(sm->blob[0].name, CLIENT_CERT_NAME, BLOB_NAME_LEN);
   ^~~~~~~~~~
2018-07-02 09:05:00 +00:00
Anton Maklakov
f42b91fe46 spi_flash: fix errors for GCC 8 support
components/spi_flash/partition.c: In function 'load_partitions':
components/spi_flash/partition.c:179:66: error: argument to 'sizeof' in 'strncpy' call is the same expression as the source; did you mean to use the size of the destination? [-Werror=sizeof-pointer-memaccess]
         strncpy(item->info.label, (const char*) it->label, sizeof(it->label));
                                                                  ^
2018-07-02 09:05:00 +00:00
Anton Maklakov
714a9bda92 fatfs: fix errors for GCC 8 support and some indentation
components/fatfs/src/ff.c: In function 'f_fdisk':
components/fatfs/src/ff.c:5995:5: error: this 'for' clause does not guard... [-Werror=misleading-indentation]
     for (n = 16; n < 256 && sz_disk / n / cluster_size > 1024; n *= 2) ;
     ^~~
components/fatfs/src/ff.c:5996:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
  if (n == 256) n--;
  ^~
2018-07-02 09:05:00 +00:00
Anton Maklakov
2a810a318f ipc: fix errors for GCC 8 support
components/esp32/ipc.c: In function 'esp_ipc_init':
components/esp32/ipc.c:82:31: error: '%d' directive writing between 1 and 11 bytes into a region of size 5 [-Werror=format-overflow=]
         sprintf(task_name,"ipc%d",i);
                               ^~
components/esp32/ipc.c:82:27: note: directive argument in the range [-2147483648, 1]
         sprintf(task_name,"ipc%d",i);
                           ^~~~~~~
components/esp32/ipc.c:82:9: note: 'sprintf' output between 5 and 15 bytes into a destination of size 8
         sprintf(task_name,"ipc%d",i);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
2018-07-02 09:05:00 +00:00
Anton Maklakov
93f6700be7 newlib: fix errors for GCC 8 support
components/newlib/include/sys/reent.h:405:11: error: unnecessary parentheses in declaration of '_sig_func' [-Werror=parentheses]
   void (**(_sig_func))(int);
           ^
2018-07-02 09:05:00 +00:00
Michael (XIAO Xufeng)
3d23fe9a61 feature(spi): provide macro to write multi-byte data straightly
resolves https://github.com/espressif/esp-idf/issues/2062
2018-07-02 15:34:47 +08:00
Liu Zhi Fu
c84a2b9027 lwip: disable ETHARP_TRUST_IP_MAC by default
Disable ETHARP_TRUST_IP_MAC by default because:
1. The LAN peer may not be trustful
2. The LAN peer may has problem to update its ARP entry
2018-07-02 13:38:29 +08:00
Ivan Grokhotkov
ae006fed83 esp32: force pure math functions from libgcc to be linked from ROM 2018-07-02 12:49:57 +08:00
Ivan Grokhotkov
40b5f10611 esp32: fix addresses of some libgcc functions in ROM ld script 2018-07-02 12:49:57 +08:00
Angus Gratton
fdee0b64a0 Merge branch 'bugfix/doc_blufi' into 'master'
bugfix/doc_blufi

See merge request idf/esp-idf!2644
2018-07-02 12:12:48 +08:00
Ivan Grokhotkov
da179e0098 xtensa: make XTHAL_GET_INTERRUPT, XTHAL_GET_CCOUNT volatile
INTERRUPT and CCOUNT registers will change outside of program control.
Making the inline assembly used to read these registers volatile
indicates this fact to the compiler.

Fixes https://github.com/espressif/esp-idf/issues/2127
2018-07-02 11:31:19 +08:00
chenwu
4898135c15 coap: pass null-terminated string to gethostbyname
coap client parse a string by `coap_split_uri`,fetch host should by `host.length`
otherwise, would cause `gethostbyname` failed because of inappropriate  parameter.
2018-07-02 10:05:03 +08:00
Angus Gratton
a8fa4201b9 Merge branch 'docs/eclipse_regex' into 'master'
Docs: Fix bugs in Eclipse setup in CN

See merge request idf/esp-idf!2620
2018-07-02 09:18:26 +08:00
Angus Gratton
6d1995b9d2 Merge branch 'bugfix/lwip_socket_leak_accept_enfile' into 'master'
lwip: Fix leak when accept() fails due to max socket limit

See merge request idf/esp-idf!2585
2018-07-02 09:02:21 +08:00
krzychb
8a7ee46b7f Fixed link to 'TEMPLATE_EXAMPLE_README.md' 2018-07-01 19:33:37 +02:00
Mahavir Jain
bd177a34c6 bt: fix OS abstraction layer for correct critical section API usage
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-07-01 19:07:51 +05:30
Ivan Grokhotkov
f9f2937694 spi_flash: raise priority of the task performing spi_flash operation
The fix is for the situation when cache disabling mechanism causes
a deadlock with user tasks. Situation is as follows:

1. spi_flash operation is started from low-priority task on CPU0
2. It uses IPC to wake up high-priority IPC1 task on CPU1, preventing
   all other tasks on CPU1 from running. This is needed to safely
   disable the cache.
3. While the task which started spi_flash operation is waiting for IPC1
   task to acknowledge that CPU1 is not using cache anymore, it is
   preempted by a higher priority application task ("app0").
4. Task app0 busy-waits for some operation on CPU1 to complete. But
   since application tasks are blocked out by IPC1 task, this never
   happens. Since app0 is busy-waiting, the task doing spi flash
   operation never runs.

The more or less logical soltion to the problem would be to also do
cache disabling on CPU0 and the SPI flash operation itself from IPC0
task. However IPC0 task stack would need to be increased to allow doing
SPI flash operation (and IPC1 stack as well). This would waste some
memory. An alternative approach adopted in this fix is to call FreeRTOS
functions to temporary increase the priority of SPI flash operation task
to the same level as the IPC task.

Fixes https://github.com/espressif/arduino-esp32/issues/740
Fixes https://github.com/espressif/esp-idf/issues/1157
2018-07-01 20:44:42 +08:00
Jiang Jiang Jian
abbccb7acd Merge branch 'bugfix/coex_bug' into 'master'
esp32: fix coex bug

See merge request idf/esp-idf!2603
2018-06-30 22:29:18 +08:00
Jiang Jiang Jian
b1fa1ba617 Merge branch 'bugfix/btdm_fix_gattc_register_multi_srvc_chg' into 'master'
Component/bt: fix register multi service change when register multi gattc

See merge request idf/esp-idf!2625
2018-06-30 11:30:41 +08:00
krzychb
f4ef7689bd The 'Two Point Values' used to calibrate ADC readings, unlike 'eFuse Vref', are not measured and burned into eFuse BLOCK3 for each individual chip during factory calibration. This operation should be done by user, if more accurate calibration is required. 2018-06-29 19:01:11 +02:00
Jiang Jiang Jian
b727113fc1 Merge branch 'bugfix/btdm_delete_deprecated_files' into 'master'
Component/bt: delete deprecated files

See merge request idf/esp-idf!2583
2018-06-29 19:37:03 +08:00
Jiang Jiang Jian
53ce5fd106 Merge branch 'bugfix/btdm_bt_remove_device_disconnect' into 'master'
component/bt: Fix bug of BT and BLE remove bond device

See merge request idf/esp-idf!2562
2018-06-29 19:29:57 +08:00
Jiang Jiang Jian
fe0dc407da Merge branch 'bugfix/btdm_bad_pointer_of_bt_gap' into 'master'
component/bt: Fix some bad point calculations of BT GAP

See merge request idf/esp-idf!2655
2018-06-29 19:25:13 +08:00
Tian Hao
e3df7d97a7 esp32: fix coex bug
1. fix BLE connection missing in coex mode
    2. modify other parameters to make coex priority more reasonable
    3. fix modem sleep procedure trap cause Wifi disable RF when BT is
    working. Such cause that BR/EDR is difficult to be connected, BLE
    connection stability decrease and so on.
    4. modify BR/EDR coexist duration to imrove BR/EDR connect success
    ratio.
    5. Due to the hardware coexist bug, BLE scan interval/window should
    be less than 0x100(about 160ms). Therefore, it will cause BLE cannot
    scan any advertising packet while WiFi have higher priority
    behaviour(such like RX beacon, scan, TX/RX VO packets and etc.).
2018-06-29 16:28:11 +08:00
Jiang Jiang Jian
8f804d5ee7 Merge branch 'bugfix/btdm_some_ble_hid_bugs' into 'master'
component/bt: Fix some hid bugs

See merge request idf/esp-idf!2628
2018-06-29 15:36:53 +08:00
Jiang Jiang Jian
824782d6f9 Merge branch 'feature/optimize_wifi_memory' into 'master'
Optimize WiFi memory

See merge request idf/esp-idf!2650
2018-06-29 15:24:09 +08:00
Jiang Jiang Jian
0e4b28e893 Merge branch 'bugfix/btdm_fix_stop_adv_error_in_dual_core' into 'master'
component/bt: fix stop adv error in dual core

See merge request idf/esp-idf!2561
2018-06-29 15:06:49 +08:00
Jiang Jiang Jian
83f1d14162 Merge branch 'bugfix/btdm_modify_service_uuid_of_sec_gatts_demo' into 'master'
Component/bt: modify service uuid of ble_sec_gatts demo

See merge request idf/esp-idf!2612
2018-06-29 15:00:29 +08:00
Jiang Jiang Jian
1124e073d7 Merge branch 'bugfix/btdm_fix_no_adv_packet' into 'master'
component/bt: fix no adv packets

See merge request idf/esp-idf!2647
2018-06-29 14:59:01 +08:00
zhiweijian
d1c3c8494b Component/bt: fix register multi service change when register multi gattc 2018-06-29 06:54:16 +00:00
Jiang Jiang Jian
34797d8d52 Merge branch 'bugfix/btdm_respond_error_when_receives_unsupported_request' into 'master'
component/bt: Fix bug: Respond with the Error Response when receiving a request…

See merge request idf/esp-idf!2591
2018-06-29 14:47:12 +08:00
Jiang Jiang Jian
9510f77f7a Merge branch 'bugfix/btdm_rm_assert_in_isr' into 'master'
bugfix/btdm_rm_assert_in_isr

See merge request idf/esp-idf!2633
2018-06-29 14:24:28 +08:00
Jiang Jiang Jian
a1a2a2009d Merge branch 'bugfix/prevent_btsleep_dfs_coex' into 'master'
prevent Dynamic Frequency Scaling to be used together with bluetooth modem sleep

See merge request idf/esp-idf!2645
2018-06-29 14:23:40 +08:00
Jiang Jiang Jian
be7aa884a1 Merge branch 'bugfix/btdm_singular_sleep_time_correction' into 'master'
Bugfix/btdm singular sleep time correction

See merge request idf/esp-idf!2635
2018-06-29 14:22:58 +08:00
Kedar Sovani
fe1889b923 sh2lib: Fix a bug in send 2018-06-29 09:22:18 +05:30
baohongde
be8ec6b8d2 component/bt: Fix some bad point calculations of BT GAP
In response to: https://github.com/espressif/esp-idf/issues/2103
2018-06-29 11:40:46 +08:00
hou wen xiang
cb8ab7c6a8 driver(rmt): update README.md file of rmt related example. 2018-06-29 11:03:09 +08:00
Liu Zhi Fu
d3388c9a31 Optimize WiFi memory
Optimize wifi memory (b987c01d)
1. Decrease WiFi task stack size by 512 Bytes
2. Modify WiFi NVS configuration array from static to dynamic
3. Move interrupt/RX relating variables from .bss segment to .data segment
4. Modify WiFi management short buffer from static to dynamic
5. Remove some useless WiFi buffer space
2018-06-28 21:24:44 +08:00
wangmengyang
04ea784011 prevent Dynamic Frequency Scaling when using bluetooth modem sleep
This constraint will be elimiated after the issue is fixed
2018-06-28 18:08:18 +08:00
Jin Fang Cheng Cheng
9e3c3f267e Update eclipse-setup.rst 2018-06-28 17:58:19 +08:00
Jin Fang Cheng Cheng
3d6d252b3e Update eclipse-setup-windows.rst 2018-06-28 17:57:55 +08:00
zwj
077380a352 component/bt: fix no adv packets 2018-06-28 17:49:41 +08:00
Jin Fang Cheng Cheng
7fe130c171 Update eclipse-setup.rst 2018-06-28 16:28:54 +08:00
Jin Fang Cheng Cheng
d9653e75e9 Update eclipse-setup.rst 2018-06-28 15:16:20 +08:00
Jin Fang Cheng Cheng
084a6b54e2 Update eclipse-setup-windows.rst 2018-06-28 15:10:36 +08:00
Jin Fang Cheng Cheng
a0928b4ce2 Update eclipse-setup-windows.rst 2018-06-28 15:00:40 +08:00
Jin Fang Cheng Cheng
f1acb27a66 Fix the tables. 2018-06-28 14:09:14 +08:00
Jin Fang Cheng Cheng
dd66dda11e Fix the typo and tables. 2018-06-28 14:06:26 +08:00
He Yin Ling
568da37af7 Merge branch 'ci/remove_test_report' into 'master'
CI: optimize CI stages

See merge request idf/esp-idf!2602
2018-06-28 09:28:49 +08:00
wangmengyang
cfea04b6b3 component/bt: fix the cornered case caused by singular finetime correction value upon waking up from sleep
1. revert previous changes that adds 1-slot margin for first master Tx event, since this bugfix can handle that case
2018-06-27 20:21:39 +08:00
wangmengyang
02a620811d component/bt: remove the call of assert in time conversion functions which can be caused in ISR 2018-06-27 17:23:23 +08:00
He Yin Ling
e75628b4d7 Merge branch 'bugfix/pcnt_event_edge_case' into 'master'
test: fix pcnt unit test fail

See merge request idf/esp-idf!2614
2018-06-27 10:00:53 +08:00
He Yin Ling
76829509b2 Merge branch 'bugfix/ci_stop_all_thread_when_one_failed' into 'master'
ci: stop main thread when one failed

See merge request idf/esp-idf!2615
2018-06-27 09:59:46 +08:00
Angus Gratton
c07ec696dc Merge branch 'bugfix/eclipse_regex' into 'master'
Docs: Fix bugs in Eclipse setup

See merge request idf/esp-idf!2617
2018-06-27 09:38:47 +08:00
Angus Gratton
cff573cbe9 Merge branch 'bugfix/conn_stress_test_test_during_sleep' into 'master'
Bugfix/btdm_le_conn_initiating_assert

See merge request idf/esp-idf!2595
2018-06-27 08:12:49 +08:00
Angus Gratton
d096cac97d Merge branch 'docs/update_resources.rst' into 'master'
docs/update_resources.rst

See merge request idf/esp-idf!2532
2018-06-27 08:09:57 +08:00
Angus Gratton
e9029fd8de Merge branch 'docs/esp32-devkitv-v4_updates' into 'master'
Renamed ESP-WROOM-32 to ESP32-WROOM-32/D/U including links to data sheets,…

See merge request idf/esp-idf!2567
2018-06-27 07:29:52 +08:00
Jin Fang Cheng Cheng
c4eff744b3 Fixed link to documentation and updated some wording 2018-06-26 18:28:15 +02:00
krzychb
b101e118f2 Renamed ESP-WROOM-32 to ESP32-WROOM-32/D/U including links to data sheets, reflected upcoming ESP32-SOLO-1 as one of options for ESP32-DevKitC, provided updated schematics and notes on C15. 2018-06-26 18:08:47 +02:00
Ivan Grokhotkov
70a2160f2c Merge branch 'docs/sdio_slave_protocol_comb' into 'master'
doc(sdio_slave): add some information of slave protocol

See merge request idf/esp-idf!2598
2018-06-26 19:36:08 +08:00
baohongde
7ff84d94aa component/bt: Fix some hid bugs
1. Property of HID Information is Read
2. Property of HID Control Point is WriteWithoutResponse
2018-06-26 17:48:07 +08:00
chenwu
152a060425 fix: response failed when set a large response data
set the last parameter of `coap_pdu_init`, from size to COAP_MAX_PDU_SIZE
refer to https://github.com/obgm/libcoap.git/examples/contiki/coap-observer.c settings -> COAP_DEFAULT_MTU

close https://ezredmine.espressif.cn:8765/issues/23207
2018-06-26 17:13:25 +08:00
Jiang Jiang Jian
a698035fa9 Merge branch 'mesh/bugfix' into 'master'
mesh: update libs

See merge request idf/esp-idf!2580
2018-06-26 17:06:19 +08:00
Angus Gratton
2074d36d43 doc: Clarify some Eclipse setup steps 2018-06-26 17:34:29 +10:00
houchenyao
1878109a7f bugfix: fix pcnt case "PCNT interrupt method test(control IO is high)" 2018-06-26 13:35:14 +08:00
Jin Fang Cheng Cheng
c17c0a2dc5 Update eclipse-setup-windows.rst 2018-06-26 13:19:14 +08:00
Jin Fang Cheng Cheng
6a1250cf19 Update eclipse-setup.rst 2018-06-26 13:15:13 +08:00
Jin Fang Cheng Cheng
fe7647936a Update eclipse-setup-windows.rst 2018-06-26 13:13:08 +08:00
Jin Fang Cheng Cheng
d57649aed1 Update eclipse-setup-windows.rst according to https://gitlab.espressif.cn:6688/idf/esp-idf/merge_requests/2617. 2018-06-26 12:55:34 +08:00
Jin Fang Cheng Cheng
0a033b5e05 Update eclipse-setup.rst according to https://gitlab.espressif.cn:6688/idf/esp-idf/merge_requests/2617 2018-06-26 12:54:15 +08:00
Angus Gratton
75dc2f5800 doc: Fix Build Output Parser command pattern to include C++ correctly
Previously only C files had build output correctly parsed.

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

May also relate to:
https://github.com/espressif/esp-idf/issues/529
https://github.com/espressif/esp-idf/issues/17
2018-06-26 13:47:14 +10:00
wangmengyang
e1bcd6ba0f component/bt: add 1 slot margin to program the 1st master Tx event during BLE connection
this will resolve the issue of failure of BLE connection stress test with sleep enabled
2018-06-26 11:10:47 +08:00
houchenyao
9223639010 stop main thread when one failed 2018-06-26 11:02:23 +08:00
qiyueixa
68ff628927 mesh: update libs
1. add APIs to set/get announce interval values.
2. add API to enable/disable the min rate to 6Mbps for data packages.
3. add APIs to set/get RSSI threshold values.
4. fix ap_loss.
2018-06-25 21:47:53 +08:00
Jiang Jiang Jian
aaf12390eb Merge branch 'feature/btdm_controller_to_host_flow_control' into 'master'
component/bt: Add Controller to Host Flow Control

See merge request idf/esp-idf!2493
2018-06-25 20:33:21 +08:00
Jiang Jiang Jian
6dd786c74d Merge branch 'bugfix/btdm_slave_can_not_receive_long_packets_in_smp' into 'master'
Component/bt: fix slave can not receive long packets in smp

See merge request idf/esp-idf!2586
2018-06-25 20:28:27 +08:00
zhiweijian
ee9db0c76a Component/bt: modify service uuid of ble_sec_gatts demo 2018-06-25 16:04:20 +08:00
He Yin Ling
7e47d397fa CI: add stage host_test:
1. Add `host_test` stage for test jobs running on host.
2. Rename stage `test` to `integration_test`.
2018-06-25 15:20:58 +08:00
He Yin Ling
aeaa480a85 CI: minor optimize of CI config file:
1. set shorter expire time for artifacts
2. set dependency for example test jobs, to limit the artifacts it downloads
2018-06-25 15:20:51 +08:00
Michael (XIAO Xufeng)
fe076f5cb9 doc(sdio_slave): add some information of slave protocol 2018-06-25 06:55:19 +00:00
Ivan Grokhotkov
86d6c09387 Merge branch 'bugfix/esp_err_name_idf_path' into 'master'
docs: fix error code reference build issue

See merge request idf/esp-idf!2587
2018-06-25 13:41:17 +08:00
Ivan Grokhotkov
f525c9ef96 Merge branch 'feature/move_to_soc_rtc_gpio_desc' into 'master'
soc: Fix check_long_hold_gpio and move def to soc

See merge request idf/esp-idf!2550
2018-06-25 12:33:27 +08:00
michael
8676830e61 fix(spi_master): allow to use cs_ena_pretrans in full duplex mode without command and address phases 2018-06-25 04:30:14 +00:00
Ivan Grokhotkov
1cd9949f2d Merge branch 'bugfix/assert' into 'master'
assert: Fix. Move useful functions from wrapped assert functions

See merge request idf/esp-idf!2599
2018-06-25 11:02:42 +08:00
Angus Gratton
3a3a12d48d Merge branch 'bugfix/app_partition_fallback' into 'master'
partition_table: Add parttool.py fallback option, some small cleanups

See merge request idf/esp-idf!2593
2018-06-25 08:43:42 +08:00
He Yin Ling
808c23af89 CI: remove test report stage:
Test report is not used as expected:

1. we rarely download and use test report
2. current test report method doesn't handle large amount data well,
   need to be replaced by other methods

Test report also make test jobs allow to fail. It breaks the
original flow of Gitlab CI and make user confused.
2018-06-24 13:58:27 +08:00
Konstantin Kondrashov
899fa2dc55 assert: Fix. Move useful functions from wrapped assert functions
Moved useful functions from wrapped assert functions, because option `CONFIG_OPTIMIZATION_ASSERTIONS_DISABLED=y` will remove this functions.

Closes https://github.com/espressif/esp-idf/issues/2068
2018-06-22 15:17:55 +05:00
zhiweijian
2469e90953 Component/bt: fix slave can not receive long packets in smp 2018-06-22 18:10:58 +08:00
Jiang Jiang Jian
8a7e112a72 Merge branch 'bugfix/read_rssi' into 'master'
bt : fix read rssi conflict when in dual mode

See merge request idf/esp-idf!2592
2018-06-22 17:19:23 +08:00
Angus Gratton
0a02d824fc partition_table: Warn if the partition table name doesn't match type & subtype 2018-06-22 17:51:34 +10:00
Jiang Jiang Jian
af42165b36 Merge branch 'bugfix/btdm_modify_throught_demo_default_config' into 'master'
Component/bt: modify throughput demo default config

See merge request idf/esp-idf!2590
2018-06-22 15:24:02 +08:00
hou wen xiang
10e8e22558 driver(mcpwm): Fix mcpwm api in mcpwm.c mismatch with mcpwm.h bug. 2018-06-22 12:26:43 +08:00
Konstantin Kondrashov
32da455384 soc: Fix check_long_hold_gpio and move def to soc
Fix factory_reset_pin init as input
Move definition a structure rtc_gpio_desc to soc

Closes https://github.com/espressif/esp-idf/issues/2030
2018-06-22 09:20:27 +05:00
baohongde
29b7d4e916 component/bt: Fix bug of BT and BLE remove bond device
1. esp_ble_remove_bond_device will only remove BLE bond key and disconnect BLE device.
2. esp_bt_gap_remove_bond_device  will only remove BT bond key and disconnect BT device.
2018-06-22 11:54:40 +08:00
Tian Hao
e3d3ed5a06 bt : fix read rssi conflict when in dual mode 2018-06-22 11:16:16 +08:00
Angus Gratton
6acf28db90 gen_esp32part: Fix input/output handling, regression when Python 3 was supported
Also remove misleading help about using stdin (was broken) and --display argument (doesn't exist).
2018-06-22 11:27:09 +10:00
Angus Gratton
05fe65c7d9 partition_table: Use names not numeric values in default OTA example partition 2018-06-22 11:15:41 +10:00
Angus Gratton
077469c823 partition_table: Support same fallback logic as bootloader for default boot partition
Generates correct "make flash" command even when partition table has no factory partition.

Also adds unit tests for parttool.py

Closes https://github.com/espressif/esp-idf/issues/2086
2018-06-22 11:14:22 +10:00
He Yin Ling
9d1cc00e54 Merge branch 'test/add_mesh_test_cases' into 'master'
test: add mesh basic function test cases

See merge request idf/esp-idf!2330
2018-06-21 22:55:56 +08:00
zhiweijian
4aae691519 Component/bt: modify throughput demo default config 2018-06-21 20:48:20 +08:00
Ivan Grokhotkov
4b0087a387 Merge branch 'bugfix/mdns_service_limit' into 'master'
fix(mdns): add the maximum number of services

See merge request idf/esp-idf!2559
2018-06-21 20:32:06 +08:00
baohongde
012415c9f8 component/bt: Fix bug: Respond with the Error Response when receiving a request that it does not support 2018-06-21 20:20:21 +08:00
Jiang Jiang Jian
4df08f9815 Merge branch 'bugfix/wifi_support_null_mode_again' into 'master'
support WiFi null mode again

See merge request idf/esp-idf!2577
2018-06-21 15:25:45 +08:00
Ivan Grokhotkov
858cfc2950 esp_err_to_name.py: guess IDF_PATH if not set in environement
Fixes the issue that esp_err_to_name.py would fail when called in
documentation build process, when there was no IDF_PATH set.
2018-06-21 15:22:56 +08:00
Ivan Grokhotkov
8c87df538e docs: conf.py: check return code when calling os.system
Several calls were made but results were not checked, obfuscating the
errors.
2018-06-21 15:22:56 +08:00
zhiweijian
41b57d35c8 Component/bt: delete deprecated files 2018-06-21 06:07:21 +00:00
Angus Gratton
75d732887b Merge branch 'doc/examples_guide' into 'master'
docs: Add "Creating Examples" docs page, template example README

See merge request idf/esp-idf!2536
2018-06-21 13:59:44 +08:00
Angus Gratton
3cd22cb1ef Merge branch 'bugfix/heap_int_overflow' into 'master'
heap: Add integer overflow checks

See merge request idf/esp-idf!2568
2018-06-21 13:58:08 +08:00
Ivan Grokhotkov
99b075b28a Merge branch 'example/sdio_example' into 'master'
example(sdio): example to use sdmmc host to do SDIO communication with SDIO slave

See merge request idf/esp-idf!1946
2018-06-21 13:55:23 +08:00
Angus Gratton
df816f4940 lwip: Fix leak when accept() fails due to max socket limit
As reported https://esp32.com/viewtopic.php?f=14&t=6171

event_callback() in sockets.c calls conn->socket-- to register
activity on a netconn which may not have any socket yet,
so any socket value < 0 indicates "no controlling socket"
for the netconn.
2018-06-21 15:22:48 +10:00
baohongde
de8a735a7a component/bt: Add Controller to Host Flow Control 2018-06-21 11:44:40 +08:00
Jiang Jiang Jian
b7d02f7b67 Merge branch 'bugfix/btdm_k_mem_assert_bug' into 'master'
component/bt: Fix the bug of when operating the list on interrupt function,…

See merge request idf/esp-idf!2575
2018-06-21 11:15:11 +08:00
Liu Han
ba458c69cf fix(mdns): add the maximum number of services 2018-06-21 10:31:09 +08:00
Angus Gratton
b47c8fcbf7 Merge branch 'bugfix/fix_http_client_header_bug' into 'master'
esp_http_client: Fix content-type header overwritten by esp_http_client_set_post_field

See merge request idf/esp-idf!2552
2018-06-21 08:10:13 +08:00
He Yin Ling
770e848c1f Merge branch 'test/driver_pcnt' into 'master'
test: add pcnt test cases

See merge request idf/esp-idf!1930
2018-06-20 18:31:24 +08:00
XiaXiaotian
d61ae91fef support WiFi null mode again 2018-06-20 16:45:30 +08:00
Michael (XIAO Xufeng)
90345050b2 example(sdio): example to use sdmmc host to do SDIO communication with SDIO slave 2018-06-20 07:00:05 +00:00
michael
8ab87a6a87 chore(sdio_slave): format source files 2018-06-20 07:00:05 +00:00
houchenyao
3238c6f968 test: components/driver: pcnt case 2018-06-20 06:00:26 +00:00
He Yin Ling
baa0b8547c test: add mesh basic function test cases 2018-06-20 05:59:54 +00:00
Ivan Grokhotkov
4b91c82cc4 Merge branch 'feat/sdio_pullup' into 'master'
feature(sdio): add features to make SDIO slave compatible with more devkits

See merge request idf/esp-idf!2454
2018-06-20 13:58:56 +08:00
Jitin George
9ae3df7ec2 esp_http_client: Fix content-type header overwritten by esp_http_client_set_post_field
Also, references of non-existent function `esp_http_client_finalize_open` is removed
from `esp_http_client` documentation.

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

Closes https://github.com/espressif/esp-idf/issues/2040
2018-06-20 10:49:26 +05:30
Angus Gratton
c1fdd45001 Merge branch 'bugfix/fix_touch_pad_can_not_wake_up' into 'master'
bugfix(touch pad): modify deep-sleep example and add note for sleep api

See merge request idf/esp-idf!2553
2018-06-20 11:51:46 +08:00
fuzhibo
9a0d57b90b bugfix(touch pad): modify deep-sleep example and add note for sleep api.
Closes https://github.com/espressif/esp-idf/issues/2052
2018-06-20 10:57:26 +08:00
Angus Gratton
e3a31302ef Merge branch 'doc/use_docs_espressif_com' into 'master'
docs: Switch base URL from esp-idf.readthedocs.io to docs.espressif.com

See merge request idf/esp-idf!2569
2018-06-20 07:32:11 +08:00
Angus Gratton
fd88d6d89c heap: Add integer overflow checks 2018-06-19 23:31:37 +00:00
Angus Gratton
e7faa1d851 Merge branch 'bugfix/cmake_idf_path' into 'feature/cmake'
cmake: Fix issues when IDF_PATH is not set in environment

See merge request idf/esp-idf!2557
2018-06-20 07:30:47 +08:00
yulong
225c4371c1 component/bt: Fix the bug of when operating the list on interrupt function, there is no lock protection. 2018-06-19 21:01:50 +08:00
Roland Dobai
797340f7f8 idf_monitor: Fix console performance
51e42d8e92
introduced filtering options which handles the last (unterminated) line
with a delay. This introduced poor performance for console applications
when the user interacts with the ESP32 device in the same line because
there is an artificial delay for each key-press.

bb152030a0
decreased the delay but there are still delays for each key-presses.

The current fix makes only one delay per line instead of each
key-presses. When an unterminated line is detected then no more
"delayed" print is used for the given line.

Fixes https://github.com/espressif/esp-idf/issues/2054
2018-06-19 13:29:57 +02:00
Angus Gratton
d0b8f2865f docs: Switch base URL from esp-idf.readthedocs.io to docs.espressif.com 2018-06-19 11:23:33 +00:00
Ivan Grokhotkov
7933b75416 Merge branch 'bugfix/ESP_PARTITION_TABLE_OFFSET' into 'master'
spi_flash: Fix error unit tests on host

See merge request idf/esp-idf!2573
2018-06-19 19:13:30 +08:00
Konstantin Kondrashov
17dac0d273 spi_flash: Fix error unit tests on host
IDF had two defines ESP_PARTITION_TABLE_OFFSET and ESP_PARTITION_TABLE_ADDR. They were the same and equal by 0x8000.
A define ESP_PARTITION_TABLE_ADDR was removed from IDF.
A define ESP_PARTITION_TABLE_OFFSET depends on option CONFIG_PARTITION_TABLE_OFFSET in Kconfig.

Now using only #define ESP_PARTITION_TABLE_OFFSET CONFIG_PARTITION_TABLE_OFFSET
2018-06-19 14:30:25 +05:00
He Yin Ling
8956f35be5 Merge branch 'test/driver_ledc' into 'master'
test: add ledc test cases

See merge request idf/esp-idf!1782
2018-06-19 15:14:16 +08:00
Angus Gratton
73f6fb9fe7 Merge branch 'feature/spi_functions_in_iram' into 'master'
feature(spi_master): allow to place functions into IRAM to get higher efficiency

See merge request idf/esp-idf!2538
2018-06-19 07:25:12 +08:00
houchenyao
339d381019 test: components/driver: ledc case 2018-06-19 02:00:42 +08:00
Angus Gratton
bf10447b82 cmake: Fix issues when IDF_PATH is not set in environment
Support cases where IDF_PATH may be passed in on the cmake command line,
or inferred from a (hardcoded absolute or relative) path to project.cmake
2018-06-18 14:48:03 +10:00
Angus Gratton
43b6c76bba Merge branch 'feature/expansion_space_for_bootloader' into 'master'
partition_table: Moving to custom offset

See merge request idf/esp-idf!2263
2018-06-18 12:34:53 +08:00
Angus Gratton
86148a740b Merge branch 'feature/fatfs_without_wl' into 'master'
FATFS support without wear levelling

See merge request idf/esp-idf!2526
2018-06-18 12:26:02 +08:00
Angus Gratton
1325dff821 Merge branch 'docs/spi_timing_wavedrom' into 'master'
docs(spi_master): fix wavedrom image and comment mistake

See merge request idf/esp-idf!2563
2018-06-18 12:13:31 +08:00
Jiang Jiang Jian
0e71cdc097 Merge branch 'mesh/bugfix_osi' into 'master'
mesh: update mesh libs

See merge request idf/esp-idf!2524
2018-06-17 18:56:52 +08:00
Sagar Bijwe
fd7b794e81 FATFS support without wear levelling
This change allows readonly FATFS to be mounted without wear levelling
support. This will provide the customers a simple way to mount FATFS images
generated on host and flashed onto the chip during factory provisioning.
Since NVS encryption is not supported yet and NVS entry size is limited,
the change will provide an easy alternative for securing the provisioning data
by just marking FATFS parition as encrypted.
2018-06-16 16:02:35 +08:00
zwj
c9aac643e3 component/bt: fix stop adv error in dual core 2018-06-15 20:43:10 +08:00
qiyueixa
0dd750af1a mesh: update mesh libs
1. rename example internal_transceiver to internal_communication
2. bugfix
3. Closes https://github.com/espressif/esp-idf/issues/2014
2018-06-15 20:34:49 +08:00
Michael (XIAO Xufeng)
9377575415 docs(spi_master): fix wavedrom image and comment mistake 2018-06-15 17:38:27 +08:00
Ivan Grokhotkov
ac8bd0d637 Merge branch 'bugfix/https_redirect_example_test' into 'master'
esp_http_client example test: Increase timeout when redirecting to HTTPS

See merge request idf/esp-idf!2558
2018-06-15 17:18:26 +08:00
Ivan Grokhotkov
4e243fb1c1 Merge branch 'doc/error_handling' into 'master'
docs: add information on error handling

See merge request idf/esp-idf!2539
2018-06-15 16:55:33 +08:00
Ivan Grokhotkov
efd16673bc docs: add pages about error handling 2018-06-15 15:53:23 +08:00
Ivan Grokhotkov
d9f8311b9d docs: add error codes reference 2018-06-15 15:49:24 +08:00
Ivan Grokhotkov
5e0a3d99e8 Kconfig: split out compiler options, add them to reference 2018-06-15 15:49:23 +08:00
Ivan Grokhotkov
2f7d327978 panic: remove extra newline 2018-06-15 15:49:23 +08:00
Ivan Grokhotkov
6f40b528fa esp32: esp_err_to_name_r: print error code as hex and decimal 2018-06-15 15:49:23 +08:00
Angus Gratton
6d6cff03fb esp_http_client example test: Increase timeout when redirecting to HTTPS 2018-06-15 16:33:37 +10:00
Angus Gratton
41095f8466 Merge branch 'bugfix/ulp_doc_insn_time' into 'master'
docs/ulp: fix instruction fetch and execution times

See merge request idf/esp-idf!1979
2018-06-15 11:50:14 +08:00
Jiang Jiang Jian
4056d1e2bf Merge branch 'bugfix/tw23325_replace_WLOGE_to_printf_when_wifi_not_init' into 'master'
WLOGE/WLOGW/WLOGI/WLOGD do anything when wifi is not initialized

See merge request idf/esp-idf!2554
2018-06-15 11:31:02 +08:00
Angus Gratton
9a55b42f08 Merge branch 'bugfix/tw22828_fix_tcp_bug_when_wifi_disconnect' into 'master'
fix the bug that TCP connections don't abort when IP changed

See merge request idf/esp-idf!2521
2018-06-15 08:03:06 +08:00
Michael (XIAO Xufeng)
9c23b8e596 feature(spi_master): allow to place functions into IRAM to get higher efficiency 2018-06-14 20:22:40 +08:00
Ivan Grokhotkov
b1b1257476 docs/ulp: fix instruction fetch and execution times 2018-06-14 19:42:31 +08:00
zhangyanjiao
bf78d3c4b1 WLOGE, WLOGW, WLOGI, WLOGD do anything when wifi is not initialized 2018-06-14 19:30:04 +08:00
Ivan Grokhotkov
589e8db4dd Merge branch 'bugfix/spi_gpio_deinit' into 'master'
fix(spi): Fix several init/deinit issues of spi pins

See merge request idf/esp-idf!2522
2018-06-14 19:21:34 +08:00
Ivan Grokhotkov
8674a34fd6 Merge branch 'bugfix/ext_wakeup_input_enable' into 'master'
sleep: make sure input enable is set for EXT0/EXT1 wakeup

See merge request idf/esp-idf!2542
2018-06-14 19:03:01 +08:00
zhangyanjiao
b5f4bf922f fix the bug that TCP connections don't abort when IP changed 2018-06-14 16:56:39 +08:00
Jiang Jiang Jian
768f880b04 Merge branch 'bugfix/wifi_correct_modem_sleep_api_description' into 'master'
correct modem sleep API description

See merge request idf/esp-idf!2548
2018-06-14 15:50:08 +08:00
Jiang Jiang Jian
54d882101c Merge branch 'bugfix/fix_two_times_full_calibration' into 'master'
esp32: fix the bug that the first two reboots do full calibration

See merge request idf/esp-idf!2540
2018-06-14 15:49:03 +08:00
Angus Gratton
0b16ed644e Merge branch 'bugfix/fix_console_performance' into 'master'
idf_monitor: Fix the console performance issue

See merge request idf/esp-idf!2547
2018-06-14 15:09:20 +08:00
Angus Gratton
df4e227855 docs: Add "Creating Examples" docs page, template example README 2018-06-14 16:49:22 +10:00
Angus Gratton
c77f84e788 Merge branch 'feature/fs_truncate_support' into 'master'
FATFS truncate support

See merge request idf/esp-idf!2541
2018-06-14 13:56:39 +08:00
Angus Gratton
59ab2136e8 Merge branch 'doc/kconfig_item' into 'master'
doc: fix the level inconsistent issue in Kconfig document

See merge request idf/esp-idf!2460
2018-06-14 12:51:50 +08:00
michael
85b08684e3 doc(sdio_slave): add descriptions about conflicts on MTDI pin 2018-06-14 12:04:23 +08:00
michael
9b1f2df900 fix(sdio_slave): fix the intr_recv issue that trigger receiving too fast cause assertion failed.
also fix a race risk issue when recycle receiving buffers.
2018-06-14 12:04:23 +08:00
michael
5b37a96ddc feature(sdio): allow to enable internal pullups of the SDIO host and slave as a debug feature
NOTE: the internal pullups are not totally reliable, please do add external pullups on your bus.
2018-06-14 12:04:22 +08:00
michael
45d1c9207c bugfix(spi): resolve the glitch that happens during initialization 2018-06-14 11:29:16 +08:00
Michael (XIAO Xufeng)
77077196fd fix(spi): reset gpios that used by spi when deinited 2018-06-14 11:29:15 +08:00
Michael (XIAO Xufeng)
ebfda40b7c refactor(spi): move pin information into soc folder 2018-06-14 11:29:15 +08:00
Renz Bagaporo
ea711f2ee9 vfs, fatfs: Add file truncate for fatfs 2018-06-14 06:37:21 +08:00
He Yin Ling
e1a6e71486 Merge branch 'test/driver_rmt' into 'master'
test: add rmt test cases

See merge request idf/esp-idf!1797
2018-06-13 22:31:11 +08:00
He Yin Ling
a4581ff404 Merge branch 'test/driver_timer' into 'master'
test: add driver timer test cases

See merge request idf/esp-idf!1785
2018-06-13 22:28:17 +08:00
houchenyao
5c6473245f test: add driver/rmt test case 2018-06-13 18:10:09 +08:00
Xia Xiaotian
6e9070b6d9 correct modem sleep API description 2018-06-13 15:44:59 +08:00
He Yin Ling
17200f484e Merge branch 'test/driver_sigmadelta' into 'master'
test: add sigmadelta test

See merge request idf/esp-idf!1780
2018-06-13 15:19:35 +08:00
He Yin Ling
5a33f5150c Merge branch 'test/driver_gpio' into 'master'
test: add gpio test cases

See merge request idf/esp-idf!1778
2018-06-13 15:02:43 +08:00
Roland Dobai
bb152030a0 Fix the console performance issue
The IDF monitor waits for one second before printing the last
unterminated line. This is necessary for the correct filtering.
However, this causes poor performance, for example, in the case of the
system/console example.

This fix reduces the waiting time which improves the response time of
the console example and doesn't seem to influence the monitor filter.

Closes https://github.com/espressif/esp-idf/issues/2054
2018-06-13 08:05:31 +02:00
Jiang Jiang Jian
8e7dfb230f Merge branch 'bugfix/crosscore_handle_yield_iram' into 'master'
esp32: Move esp_crosscore_isr_handle_yield() to IRAM

See merge request idf/esp-idf!2544
2018-06-13 11:54:04 +08:00
houchenyao
de848a5150 test: driver/sigmadelta test case 2018-06-13 10:15:06 +08:00
houchenyao
0837eb4c2e test: components/driver: timer case 2018-06-13 01:39:07 +00:00
Angus Gratton
f6442abdeb esp32: Move esp_crosscore_isr_handle_yield() to IRAM
Also adds a hint to inline, as this is only called in one place
it seems like a natural candidate...

Closes https://github.com/espressif/esp-idf/issues/2055
2018-06-13 11:36:15 +10:00
Angus Gratton
0e501e5edd Merge branch 'bugfix/bt_rfcomm_pr1923' into 'master'
bt: PORT_WriteDataCO: fixed a bug, reduced heap memory allocation

See merge request idf/esp-idf!2511
2018-06-13 08:41:16 +08:00
Markus Becker
3a71ae8595 bt: PORT_WriteDataCO: fixed a bug, reduced heap memory allocation
* a missing pointer increment caused error, if available was > 0 after the first iteration of while(available) loop.
* changed memory allocation strategy from large fixed size (RFCOMM_DATA_BUF_SIZE) to just the needed
  size, which will be below MTU

Cherry-picked from https://github.com/espressif/esp-idf/pull/1923/
2018-06-13 09:52:02 +10:00
Angus Gratton
e33ec5ccf4 Merge branch 'bugfix/btdm_tx_power_value' into 'master'
fix bluetooth(dual-mode) tx power value

See merge request idf/esp-idf!2503
2018-06-13 07:43:13 +08:00
Angus Gratton
785e9eeb36 Merge branch 'bugfix/esp_timer_set_alarm' into 'master'
esp_timer: remove busy loop in esp_timer_impl_set_alarm

See merge request idf/esp-idf!2436
2018-06-13 07:39:34 +08:00
Ivan Grokhotkov
4359d5985e sleep: make sure input enable is set for EXT0/EXT1 wakeup
Since commit 94250e4, EXT0 wakeup mechanism, when wakeup level was set
to 0, started waking up chip immediately after entering deep sleep.
This failure was triggered in that commit by a change of
RTC_CNTL_MIN_SLP_VAL (i.e. minimum time in sleep mode until wakeup
can happen) from 128 cycles to 2 cycles.

The reason for this behaviour is related to the way input enable (IE)
signal going into an RTC pad is obtained:

    PAD_IE = (SLP_SEL) ? SLP_IE & CHIP_SLEEP : IE,

where SLP_IE, SLP_SEL, and IE are bits of an RTC_IO register related
to the given pad. CHIP_SLEEP is the signal indicating that chip has
entered sleep mode.

The code in prepare_ext{0,1}_wakeup did not enable IE, but did enable
SLP_SEL and SLP_IE. This meant that until CHIP_SLEEP went high, PAD_IE
was 0, hence the input from the pad read 0 even if external signal
was 1. CHIP_SLEEP went high on the 2nd cycle of sleep. So when
RTC_CNTL_MIN_SLP_VAL was set to 2, the input signal from the pad was
latched as 0 at the moment when CHIP_SLEEP went high, causing EXT0
wakeup with level 0 to trigger.

This commit changes the way PAD_IE is enabled: SLP_SEL and SLP_IE are
no longer used, and IE is set to 1. If EXT0 wakeup is used, RTC_IO is
not powered down, so IE signal stays 1 both before CHIP_SLEEP goes
high and after. If EXT1 wakeup is used, RTC_IO may be powered down.
However prepare_ext1_wakeup enables Hold on the pad, locking states
of all the control signals, including IE.

Closes https://github.com/espressif/esp-idf/issues/1931
Closes https://github.com/espressif/esp-idf/issues/2043
2018-06-12 20:25:15 +08:00
Tian Hao
294a4bd1f4 fix bluetootm(dual-mode) tx power value 2018-06-12 19:18:47 +08:00
houchenyao
e5717e365f test: add driver/gpio test case 2018-06-12 19:04:30 +08:00
Jiang Jiang Jian
7aa7b35a95 Merge branch 'bugfix/tw22485_dhcp_offer_mtu' into 'master'
modify dhcp offer MTU to 1500

See merge request idf/esp-idf!2461
2018-06-12 16:32:26 +08:00
Liu Zhi Fu
fc72d53c71 esp32: fix the bug that the first two reboots do full calibration
If the NVS is erased, the first two reboots will do full calibration.
This commit is to fix this issue and only need to do full calibration once.
2018-06-12 15:51:51 +08:00
Angus Gratton
4eda1b7a25 Merge branch 'bugfix/fixes_for_building_with_amazon_freertos' into 'master'
Fixes for building with amazon freertos

See merge request idf/esp-idf!2523
2018-06-12 14:47:34 +08:00
Mahavir Jain
4e43c920d8 freertos: make task{ENTER/EXIT} macros deprecated for external use
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-06-12 11:19:39 +05:30
Mahavir Jain
eef8d0f7ed Resolve required include header dependencies in component itself
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-06-12 11:19:39 +05:30
Mahavir Jain
636485db8e vfs: change task{ENTER/EXIT}_CRITICAL with port{ENTER/EXIT}_CRITICAL
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-06-12 11:19:39 +05:30
Ivan Grokhotkov
f4d09506ad Merge branch 'feature/unit_test_config_components' into 'master'
unit-test-app: allow building subset of tests for a configuration

See merge request idf/esp-idf!2331
2018-06-12 10:01:42 +08:00
Ivan Grokhotkov
7cc7c8a94c Merge branch 'feature/microecc_1_0' into 'master'
micro-ecc: update to v1.0

See merge request idf/esp-idf!2534
2018-06-11 23:32:32 +08:00
Ivan Grokhotkov
7663782e8d unity: allow test task stack size to be configured 2018-06-11 23:26:56 +08:00
Ivan Grokhotkov
b2f498f7da build: allow EXCLUDE_COMPONENTS to contain quotes
'dequote' macro can’t be used at this point yet, use subst directly.
Also prevent EXCLUDE_COMPONENTS from being passed to bootloader build.
2018-06-11 23:26:56 +08:00
Ivan Grokhotkov
9b1876a458 unit-test-app: allow specifying subset of tests for configuration
For some test configurations, not all tests need to be run. This
change allows adding a comment in the configuration file of the
following form:

unit-test-app makefile will use it to determine which components to
build. If the comment is not present, all components will be built
(TESTS_ALL=1).

Also add test configuration for libsodium. It is a separate test
configuration due to the large binary size generated when building
libsodium tests.
2018-06-11 23:26:55 +08:00
Ivan Grokhotkov
3e64318364 Merge branch 'bugfix/performance_tests' into 'master'
test: Tweaks to reduce variation in CI unit tests

See merge request idf/esp-idf!2529
2018-06-11 23:20:45 +08:00
Ivan Grokhotkov
70eed4c284 Merge branch 'docs/update_eclipse-setup' into 'master'
Docs/update_eclipse-setup

See merge request idf/esp-idf!2528
2018-06-11 23:20:24 +08:00
Ivan Grokhotkov
c0ab42a62a Merge branch 'bugfix/ci_remove_stale_submodules' into 'master'
ci: remove stale submodules after checkout

See merge request idf/esp-idf!2533
2018-06-11 12:26:47 +08:00
Angus Gratton
84f78110dd Merge branch 'feature/esp_timer_example' into 'master'
examples: add esp_timer example

See merge request idf/esp-idf!2494
2018-06-11 11:44:45 +08:00
Jiang Jiang Jian
9ea947cd8a Merge branch 'bugfix/tw23171_fix_espnow_bug_when_add_node_in_AP_STA_mode' into 'master'
fix espnow bug when add node in AP+STA mode

See merge request idf/esp-idf!2518
2018-06-11 11:39:01 +08:00
Ivan Grokhotkov
b4e836eb97 esp_timer: test for monotonic values of esp_timer_get_timer in CI
Reduce test time by increasing overflow rate, make test more robust.
2018-06-11 02:37:19 +00:00
Ivan Grokhotkov
49d200aaa7 esp_timer: add test for esp_timer_impl_set_alarm
Ref https://github.com/espressif/esp-idf/issues/1891
2018-06-11 02:37:19 +00:00
Ivan Grokhotkov
141e51b468 esp_timer: reduce overflow value in unit tests
This allows testing for race conditions which occur near timer
overflow point more effectively.
2018-06-11 02:37:19 +00:00
Ivan Grokhotkov
125bbf0882 esp_timer: don’t busy loop in esp_timer_impl_set_alarm
Previously the loop in esp_timer_impl_set_alarm was necessary to catch
the case when timer count wraps around (goes from 2^32 - 1 to 0).
Since ALARM_OVERFLOW_VAL was reduced from 2^32 - 1 to 0xefffffff,
this is no longer necessary.

Fixes https://github.com/espressif/esp-idf/issues/1891
2018-06-11 02:37:19 +00:00
Angus Gratton
03c2678aa6 Merge branch 'bugfix/btdm_fix_include_service_start_handle_error' into 'master'
Component/bt: fix include service start handle error

See merge request idf/esp-idf!2525
2018-06-11 10:36:36 +08:00
Ivan Grokhotkov
7111cdb934 ci: remove stale submodules after checkout
When ‘fetch’ strategy is used, Gitlab removes untracked files before
checking out new revision. However if the new revision doesn’t
include some of the submodules which were present in the old
revision, such submodule directories would not be removed by the
checkout. This extra step ensures that these stale submodules are
removed.
2018-06-10 22:22:26 +08:00
Ivan Grokhotkov
43c779e519 micro-ecc: update to v1.0 2018-06-10 21:20:55 +08:00
Konstantin Kondrashov
3e0ac4db79 partition_table: Expanding the space under the bootloader
Allows you to move the partition table, it gives more space for the bootloader.
Added a new utility - parttool.py. This utility can search for the offset and/or size of the partitions by name and type/subtype. Use for getting APP_OFFSET and PHY_DATA_OFFSET.
The linker(esp32.bootloader.ld) made changes that allow you to write a custom bootloader code more.

TW14125
2018-06-08 18:47:29 +05:00
Ivan Grokhotkov
03d78e7afb Merge branch 'feature/Add_noinit_rtc_noinit_sections' into 'master'
esp32: Add .noinit and .rtc_noinit sections to the linker script

See merge request idf/esp-idf!1996
2018-06-08 16:01:30 +08:00
zhiweijian
85e88cd0eb Component/bt: fix include service start handle error 2018-06-08 16:00:34 +08:00
Angus Gratton
bcd4fb9944 Merge branch 'doc/jtag_startup_command_fix' into 'master'
docs/jtag: use 'flushregs' instead of 'x $a1=0' in gdbinit

See merge request idf/esp-idf!2520
2018-06-08 15:15:29 +08:00
XuanZe
dc30603242 Translate the resources.rst Merges https://github.com/espressif/esp-idf/pull/1979 2018-06-08 14:58:36 +08:00
Angus Gratton
87077a5478 test: Tweaks to reduce variation in CI unit tests
spi test: Prime the flash cache before each test to minimise flash cache misses.

VFS performance test: Increase the number of runs to minimise influence of an isolated bad run.
2018-06-08 14:42:44 +10:00
Ivan Grokhotkov
f47af6185d docs/jtag: use ‘flushregs’ instead of ‘x $a1=0” in gdbinit
The old command caused was incorrect (x is “examine”, not “execute”)
and caused GDB register update only by chance. This replaces it with
“flushregs” command which purpose is exactly that — force GDB to
fetch registers from the remote.
2018-06-08 11:45:46 +08:00
Ivan Grokhotkov
40596fa55a Merge branch 'feature/host_side_storage_components' into 'master'
Runnable FS components on host

See merge request idf/esp-idf!2431
2018-06-08 11:42:37 +08:00
Jin Fang Cheng Cheng
f5f200ee30 Update eclipse-setup.rst
Ref https://github.com/espressif/esp-idf/pull/1990
2018-06-08 11:01:25 +08:00
Jin Fang Cheng Cheng
f9a3368f28 Update eclipse-setup.rst 2018-06-08 11:00:29 +08:00
Angus Gratton
c99a30a167 Merge branch 'bugfix/wakeup_from_deep_sleep' into 'master'
esp32: Fix not the right time spent in a deep sleep

See merge request idf/esp-idf!2501
2018-06-08 10:40:47 +08:00
Angus Gratton
c8d3c6a494 Merge branch 'feature/monitor_filter_output' into 'master'
idf_monitor: add support for filtering options

See merge request idf/esp-idf!2486
2018-06-08 08:09:40 +08:00
Angus Gratton
be829afe6e Merge branch 'feature/cmake_confserver' into 'feature/cmake'
cmake: Add JSON configuration server for external config tool integration

See merge request idf/esp-idf!2410
2018-06-08 07:32:09 +08:00
Ivan Grokhotkov
705d42dd18 Merge branch 'bugfix/get_power_down_flags' into 'master'
sleep_mode/esp32: Fix a condition to keep power domain enabled during sleep mode

See merge request idf/esp-idf!2515
2018-06-07 20:20:13 +08:00
Ivan Grokhotkov
ab538bb9f3 Merge branch 'feat/spi_master_timing' into 'master'
feature(spi_master): fine tune the timing of spi master

See merge request idf/esp-idf!2301
2018-06-07 20:19:06 +08:00
Angus Gratton
950dd8e3e5 docs: Standardise CMake vs cmake 2018-06-07 15:18:48 +10:00
Angus Gratton
330c6a50e1 ci: Use new host_test tag 2018-06-07 14:23:08 +10:00
Angus Gratton
6065d2fd08 kconfig: Add confserver.py to expose sdkconfig to clients 2018-06-07 14:23:08 +10:00
Ivan Grokhotkov
2f5cd89833 examples: add esp_timer example 2018-06-07 11:59:36 +08:00
Angus Gratton
34401afe39 Merge branch 'feature/ci_host_test_tag' into 'master'
ci: Use new common host_test tag for host-side testing

See merge request idf/esp-idf!2514
2018-06-07 11:59:25 +08:00
zhangyanjiao
1bab62a6d6 modify dhcp offer MTU to 1500 2018-06-07 10:03:26 +08:00
Angus Gratton
754cd7bd56 Merge branch 'bugfix/cmake_fixes' into 'feature/cmake'
CMake: Minor fixes

See merge request idf/esp-idf!2513
2018-06-07 09:00:27 +08:00
Angus Gratton
d7d559a489 Merge branch 'doc/api-guides_blufi' into 'master'
Doc/api guides blufi

See merge request idf/esp-idf!2376
2018-06-07 08:54:27 +08:00
Angus Gratton
4b18a50f89 Merge branch 'bugfix/adjtime_attr' into 'master'
newlib: Remove RTC_DATA_ATTR for adjtime

See merge request idf/esp-idf!2504
2018-06-07 08:25:05 +08:00
Angus Gratton
70c6f8a803 Merge branch 'bugfix/few_typos_in_docs' into 'master'
Fix few typos in documentation

See merge request idf/esp-idf!2519
2018-06-07 08:24:23 +08:00
Angus Gratton
dff1a52722 Merge branch 'bugfix/docs_ascii_art_2_blockdiag' into 'master'
Replaced ASCII art drawings with blockdiag drawings

See merge request idf/esp-idf!2243
2018-06-07 08:23:01 +08:00
krzychb
713141e631 Replaced ASCII art drawings with blockdiag drawings 2018-06-06 23:27:05 +02:00
Renz Bagaporo
8caab13faa spi_flash: Enable flash emulation down to ROM function calls 2018-06-06 17:35:30 +00:00
Renz Bagaporo
c409666d4e ci: Add spiffs, fatfs host runs to CI
Adds running the fatfs, spiffs sanity check to CI.
2018-06-06 17:35:30 +00:00
Renz Bagaporo
e542b7a920 spiffs: Make spiffs runnable on host
Makes spiffs component runnable on host. Depends on the host library build
of flash emulator. Includes a basic sanity test of
mounting a volume, opening a file, writing to the file, reading the file,
closing the file and unmounting volume.
2018-06-06 17:35:30 +00:00
Renz Bagaporo
af629b3547 fatfs: Make fatfs runnable on host
Makes fatfs component runnable on host. Depends on the host library build
of wear levelling and flash emulator. Includes a basic sanity test of
mounting a volume, opening a file, writing to the file, reading the file,
closing the file and unmounting volume.
2018-06-06 17:35:30 +00:00
Renz Bagaporo
893003357a wl, spi_flash: Make wl API runnable on host
Makes the entirety of the wl API runnable on host. Flash emulator
is separated into spi_flash component directory to be reused by
other storage components.
2018-06-06 17:35:30 +00:00
Konstantin Kondrashov
7e2a3da643 esp32: Fix not the right time spent in a deep sleep
Before entering the deep sleep, the RTC and FRC counters are synchronized. Updating the boot_time.
Added a unit test for this case.
Fixed warnings for MULTIPLE_STAGES

Closes https://github.com/espressif/esp-idf/issues/1840
2018-06-06 18:59:30 +05:00
Mahavir Jain
5a9fc19f38 bt: fix typo in documentation
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-06-06 18:22:32 +05:30
Mahavir Jain
6e48e52478 docs: fix flash_encryption key generation command
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-06-06 18:21:00 +05:30
zhangyanjiao
5fec589c38 fix espnow bug when add node in AP+STA mode 2018-06-06 20:44:19 +08:00
Konstantin Kondrashov
28507920c8 sleep_mode/esp32: Fix a condition to keep power domain enabled during sleep mode 2018-06-06 17:35:21 +05:00
Jiang Jiang Jian
8955db6d29 Merge branch 'bugfix/btdm_fix_no_gatt_server_req_callback_warning' into 'master'
component/bt: fix the issue where no gatt server request callback warning caused…

See merge request idf/esp-idf!2502
2018-06-06 16:29:59 +08:00
Jiang Jiang Jian
a7d62fff18 Merge branch 'bugfix/btdm_fix_memory_leak' into 'master'
Component/bt: add config for gattc cache and fix memory leak

See merge request idf/esp-idf!2429
2018-06-06 16:28:15 +08:00
Angus Gratton
2ae5b41f56 ci: Use new common host_test tag for host-side testing 2018-06-06 17:20:44 +10:00
Angus Gratton
46b723e5ed cmake: Fix COMPONENT_SRCEXCLUDE functionality 2018-06-06 16:27:44 +10:00
Angus Gratton
4667fb2495 cmake: Compatibility fixes from Mahavir 2018-06-06 16:14:03 +10:00
Michael (XIAO Xufeng)
939e5693a5 chore(spi): fix the terms of native to iomux 2018-06-06 06:08:39 +00:00
michael
75cdbcefc7 test(spi): add test for SPI timing 2018-06-06 06:08:39 +00:00
michael
208d993de1 test(spi_master): slightly modify the test 2018-06-06 06:08:39 +00:00
michael
5cf7d3768d feat(spi_master): fine tune the timing of SPI 2018-06-06 06:08:39 +00:00
Jiang Jiang Jian
d441dd32ea Merge branch 'bugfix/tw20393_tcp_pcb_purge_assert_v3.1' into 'master'
lwip: fix tcp_pcb_purge assert

See merge request idf/esp-idf!2512
2018-06-06 14:02:35 +08:00
Jin Fang Cheng Cheng
b889305c1b Update blufi.rst 2018-06-06 12:11:57 +08:00
Jin Fang Cheng Cheng
4a25f18f21 Update blufi.rst 2018-06-06 12:05:27 +08:00
Jin Fang Cheng Cheng
ad48c2689f Update blufi.rst 2018-06-06 11:58:46 +08:00
Jin Fang Cheng Cheng
3a15efd3c3 Delete api-guides_blufi.png 2018-06-06 11:46:13 +08:00
Liu Zhi Fu
6cc95809fb lwip: fix tcp_pcb_purge assert
Remove the assert in tcp_pcb_purge()
2018-06-06 10:25:01 +08:00
chensheng
0b447f0003 test/fix bug refresh cache after connect 2018-06-06 02:17:06 +00:00
zhiweijian
822dac5659 Component/bt: fix memory leak 2018-06-06 02:17:06 +00:00
michael
3ba8461928 doc: fix the level inconsistent issue in Kconfig document 2018-06-05 10:36:18 +00:00
Roland Dobai
51e42d8e92 idf_monitor: add support for filtering options 2018-06-05 12:23:27 +02:00
Angus Gratton
b2ff235bd0 Merge branch 'bugfix/github_prs' into 'master'
Merge some small fixes from Github

See merge request idf/esp-idf!2500
2018-06-05 11:51:35 +08:00
Angus Gratton
8c5f1c866b Merge branch 'feature/cmake_update' into 'feature/cmake'
cmake: Update cmake branch from master

See merge request idf/esp-idf!2478
2018-06-05 11:51:19 +08:00
island
f30410113b component/bt: fix the issue where no gatt server request callback warning caused while acting as a GATTC 2018-06-05 02:41:34 +00:00
Angus Gratton
a8504b9628 docs: eclipse: Reword sentence, copy to Windows Eclipse guide also
Ref https://github.com/espressif/esp-idf/pull/1990
2018-06-05 09:53:59 +10:00
Konstantin Kondrashov
b1189f4f6a newlib: Remove RTC_DATA_ATTR for adjtime
Using RTC_DATA_ATTR in newlib leads to increased power consumption in sleep mode. (RTC SLOW MEM)
2018-06-04 15:59:22 +05:00
Jiang Jiang Jian
8a4c9d7dfb Merge branch 'doc/wifi_channel_state_information' into 'master'
add document of channel state information

See merge request idf/esp-idf!2468
2018-06-04 17:59:05 +08:00
Jiang Jiang Jian
d2d43cd52c Merge branch 'bugfix/btdm_close_sleep_default' into 'master'
Component/btdm: close BT sleep in default config

See merge request idf/esp-idf!2499
2018-06-04 17:51:42 +08:00
wushifu32
736e10749f correct eclipse build command
Merges https://github.com/espressif/esp-idf/pull/2024
2018-06-04 17:19:28 +10:00
Marcin Jaworski
5bc1bf4add Fix PartitionDefinition comparison in Python 3
Merges https://github.com/espressif/esp-idf/pull/2018
2018-06-04 17:18:41 +10:00
Wenderson Oliveira
2a6c35c9af Update eclipse-setup.rst
This is workaround for eclipse indexer problems. When I disable that option, my problems with eclipse and header files are gone.

Merges https://github.com/espressif/esp-idf/pull/1990
2018-06-04 16:47:03 +10:00
Stefan Profanter
18533346b8 Fix compile error using asm
In function 'xPortGetCoreID':
error: expected ')' before ':' token
         :"=r"(id));

Merges https://github.com/espressif/esp-idf/pull/1965
2018-06-04 16:44:35 +10:00
Paul Reimer
c83c3b64cd Add declarations of private nvs functions (nvs_*) in nvs_flash component to fix C++ -Wmissing-declarations warning
Merges https://github.com/espressif/esp-idf/pull/1956
2018-06-04 16:36:44 +10:00
Paul Reimer
e5ac96f49a Add declarations of private cxx_guard functions (__cxa_guard_*) in cxx component to fix C++ -Wmissing-declarations warning
Merges https://github.com/espressif/esp-idf/pull/1956
2018-06-04 16:36:44 +10:00
Paul Reimer
d3b0e0e3fd Unset COMPONENT_ADD_INCLUDEDIRS in cxx component to fix C++ -Wmissing-include-dirs warning
Merges https://github.com/espressif/esp-idf/pull/1956
2018-06-04 16:36:44 +10:00
Jin Fang Cheng Cheng
27d1a5d51e Update index.rst 2018-06-04 14:24:40 +08:00
Jin Fang Cheng Cheng
bf29c7ca57 Update index.rst 2018-06-04 14:24:10 +08:00
Jin Fang Cheng Cheng
4232f69f98 Update blufi.rst 2018-06-04 14:22:04 +08:00
Jin Fang Cheng Cheng
aff4696cc4 Update blufi.rst 2018-06-04 14:21:12 +08:00
chensheng
0796099c29 test: filter duplicated ble adv events in test 2018-06-04 14:14:40 +08:00
zhiweijian
ae6b47a60a Component/bt: close BT sleep in default config 2018-06-04 11:17:27 +08:00
Angus Gratton
5ed2d79572 Merge branch 'bugfix/mdns_remove_service' into 'master'
fix(mdns): fix the exception when remove one of multiple service

See merge request idf/esp-idf!2497
2018-06-04 08:39:38 +08:00
Liu Han
696d733eb0 fix(mdns): fix the exception when remove one of multiple service 2018-06-03 17:29:49 +08:00
Ivan Grokhotkov
f85be9f909 Merge branch 'bugfix/systemview_menu' into 'master'
fix the dependency of systemview config menu.

See merge request idf/esp-idf!2457
2018-06-01 21:52:16 +08:00
Jiang Jiang Jian
40da291d5d Merge branch 'bugfix/wifi_fix_a_few_bugs' into 'master'
Fix a few WiFi bugs

See merge request idf/esp-idf!2491
2018-06-01 18:37:50 +08:00
Jiang Jiang Jian
cd3ce46b8f Merge branch 'bugfix/a2dp_sink_fluent' into 'master'
component/bt : enlarge the A2DP SINK FRAME QUEUE SIZE to make A2DP more fluent

See merge request idf/esp-idf!2492
2018-06-01 18:34:20 +08:00
Tian Hao
21cb7226a2 component/bt : enlarge the A2DP SINK FRAME QUEUE SIZE to make A2DP more fluent 2018-06-01 16:51:23 +08:00
Ivan Grokhotkov
28877e7868 Merge branch 'feature/esp_error_check_prints_error_text' into 'master'
ESP_ERROR_CHECK converts error code to text

See merge request idf/esp-idf!2488
2018-06-01 16:43:37 +08:00
Jiang Jiang Jian
cb9483e844 Merge branch 'bugfix/btdm_a2dp_assert_warn_after_connected' into 'master'
component/bt: Fix bug a2dp assert warn after connected

See merge request idf/esp-idf!2470
2018-06-01 15:54:05 +08:00
Xia Xiaotian
7d5ef3c765 add document of channel state information 2018-06-01 15:45:00 +08:00
XiaXiaotian
5081714c53 Fix a few WiFi bugs
1. fix rx state parse if CSI is enabled.

2. make smartconfig channel timer thread safe.

3. fix sniffer filter mask to keep the same as IDF.
2018-06-01 14:25:43 +08:00
baohongde
c04a4a8527 component/bt: Fix bug a2dp assert warn after connected 2018-06-01 10:57:22 +08:00
Jiang Jiang Jian
50252ca794 Merge branch 'bugfix/btdm_malloc_fail_lead_to_exception' into 'master'
component/bt: Fix malloc fail lead to crash

See merge request idf/esp-idf!2485
2018-06-01 10:36:36 +08:00
Jiang Jiang Jian
5ff8732950 Merge branch 'bugfix/tw22958_fix_some_bugs_introduced_by_wifi_os_adapter' into 'master'
esp32/wpa_supplicant: fix some bugs introduced by wifi os adapter

See merge request idf/esp-idf!2475
2018-06-01 10:34:04 +08:00
Roland Dobai
07acbb5664 ESP_ERROR_CHECK converts error code to text
If CONFIG_ESP_ERR_TO_NAME_LOOKUP is enabled, ESP_ERROR_CHECK
prints error message in addition to the error code.
2018-05-31 12:53:37 +02:00
Jiang Jiang Jian
a3a0b01c1b Merge branch 'bugfix/btdm_fix_ble_throughput_demo_fail' into 'master'
Component/bt: fix throughput_demo_fail

See merge request idf/esp-idf!2467
2018-05-31 18:53:01 +08:00
Liu Zhi Fu
4afa5d0d29 esp32/wpa_supplicant: fix some bugs introduced by wifi os adapter
1. Fix the WiFi/BT coexist bug
2. Fix WPA2 enterprise example crash bug
3. Add size and version check for crypto type struct
4. Add MD5 check for crypto type header file
2018-05-31 17:09:40 +08:00
Jiang Jiang Jian
eeff0ca1fa Merge branch 'feature/xtensa_cleanup' into 'master'
xtensa: remove unused header files

See merge request idf/esp-idf!2471
2018-05-31 14:59:11 +08:00
xiewenxiang
4467b34da2 component/bt: Fix malloc fail lead to crash 2018-05-31 13:31:27 +08:00
Angus Gratton
8bb4c694ce cmake: Add COMPONENT_SRCEXCLUDE option 2018-05-31 14:46:39 +10:00
Angus Gratton
fdccc19485 cmake build system test: Fix path to sdkconfig.h 2018-05-31 14:46:39 +10:00
Angus Gratton
6b9784cc45 Merge branch 'master' into feature/cmake_update 2018-05-31 14:46:23 +10:00
Ivan Grokhotkov
834c056234 xtensa: remove unused header files 2018-05-31 02:21:36 +00:00
Angus Gratton
e764a3e671 Merge branch 'bugfix/btdm_add_makefile_for_coex_demo' into 'master'
Component/bt: add makefile for coex demo

See merge request idf/esp-idf!2477
2018-05-31 09:00:18 +08:00
zhiweijian
212b786119 Component/bt: fix throughput_demo_fail 2018-05-30 19:58:31 +08:00
Jiang Jiang Jian
9eade73539 Merge branch 'bugfix/tw19630_fix_espnow_watchdog' into 'master'
fix espnow watchdog when modify it's config parameter

See merge request idf/esp-idf!2480
2018-05-30 19:53:52 +08:00
Jiang Jiang Jian
fbbf4b0c03 Merge branch 'bugfix/btdm_fix_start_adv' into 'master'
Component/bt: fix start adv complete event state error in dual core

See merge request idf/esp-idf!2432
2018-05-30 19:41:39 +08:00
zhiweijian
26db749257 Component/bt: add makefile for coex demo 2018-05-30 19:33:52 +08:00
zhangyanjiao
9bd38c0d86 fix espnow watchdog when modify 2018-05-30 17:19:46 +08:00
zhiweijian
c8e848b0ff Component/bt: fix start adv 2018-05-30 17:10:51 +08:00
Jiang Jiang Jian
1b1a179f20 Merge branch 'bugfix/tw20805_fix_wpa2_enterprise_issue' into 'master'
wpa_supplicant: fix wpa2 enterprise PEAP connection issue

See merge request idf/esp-idf!2474
2018-05-30 15:51:48 +08:00
Ivan Grokhotkov
9d47f348ab Merge branch 'feature/adjtime_newlib' into 'master'
newlib: Add adjtime - makes a gradual adjustment the system clock

See merge request idf/esp-idf!2462
2018-05-30 15:00:13 +08:00
Jiang Jiang Jian
19d823c44d Merge branch 'bugfix/btdm_memleak_of_ble_set_security_param' into 'master'
component/bt: Fix mem leak of esp_ble_gap_set_security_param

See merge request idf/esp-idf!2458
2018-05-30 14:50:02 +08:00
Liu Zhi Fu
6c89ab9839 wpa_supplicant: fix wpa2 enterprise PEAP connection issue
Closes https://github.com/espressif/esp-idf/issues/1887
2018-05-30 13:48:29 +08:00
Ivan Grokhotkov
ddff375bab Merge branch 'feature/ci_fail_on_executable_files' into 'master'
CI: check source files for executable flag

See merge request idf/esp-idf!2463
2018-05-30 11:41:06 +08:00
Angus Gratton
f5f966d91a Merge branch 'bugfix/cmake_fixes' into 'feature/cmake'
cmake: Various build system & docs fixes

See merge request idf/esp-idf!2438
2018-05-30 09:28:41 +08:00
Ivan Grokhotkov
4ea2cab208 Merge branch 'cermak_dhcpserver_fuzzer_test' into 'master'
LWIP_Fuzzer: Added AFL tests for lwip dhcpserver, client and dns

See merge request idf/esp-idf!2399
2018-05-29 22:28:43 +08:00
Ivan Grokhotkov
2c65313a72 Merge branch 'bugfix/vfs_select' into 'master'
VFS select: Bugfixes and debug output

See merge request idf/esp-idf!2459
2018-05-29 20:27:10 +08:00
Ivan Grokhotkov
cb649e452f remove executable permission from source files 2018-05-29 20:07:45 +08:00
Ivan Grokhotkov
74928b9bcb ci: check for executable flag on source files 2018-05-29 20:07:45 +08:00
Roland Dobai
ecaf234c39 VFS: fix possible memory leak in UART 2018-05-29 11:01:25 +02:00
Roland Dobai
634e8cd54b VFS: Use convenience function for safe FD_ISSET 2018-05-29 11:01:25 +02:00
Roland Dobai
15b26f8841 VFS: esp_vfs_select() needs to be callable from concurrent tasks
This fix is for compatibility with lwip_select(). It moves the lock to
UART which is the only VFS driver which is implemented and is not
"thread-safe".
2018-05-29 11:01:25 +02:00
Roland Dobai
bdbcc492cf VFS: Add debugging outputs for select() related functions 2018-05-29 11:01:25 +02:00
Angus Gratton
cfa8ed15c0 partition table: Set partition table offset via variable 2018-05-29 16:34:45 +10:00
Angus Gratton
c70f9db369 confgen: Don't write environment-loaded configuration items to sdkconfig 2018-05-29 16:34:45 +10:00
Angus Gratton
2909fc182b esptool: Remove tabs from KConfig.projbuild 2018-05-29 16:34:45 +10:00
Angus Gratton
e100acbb73 docs: Minor cleanup of getting started docs 2018-05-29 16:34:45 +10:00
Nicola Lunghi
2f433e4342 netif require vfs 2018-05-29 16:34:45 +10:00
Angus Gratton
580cfeaaae idf.py: Print flashing steps at the end of each build 2018-05-29 16:34:45 +10:00
Angus Gratton
955e84a3bc docs: Add some clarifications for Mac OS users 2018-05-29 16:34:45 +10:00
Angus Gratton
f6cd55d2ac config: Rename mconf to mconf-idf & conf to conf-idf
These versions of conf/mconf are forked from the upstream, and the CMake system allows mconf-idf to
be installed externally on the path. So the best option is to rename.

Includes changes to Windows installer for v1.1
2018-05-29 16:34:45 +10:00
Angus Gratton
11980a9ad4 docs: Add port argument to idf.py monitor 2018-05-29 16:34:45 +10:00
Angus Gratton
6cc5971516 docs: Add some clarification about ~/.profile 2018-05-29 16:34:45 +10:00
Angus Gratton
61aff5162c mconf: Don't print a recommendation to use 'make' if CMake build system is in use
Also add some cmake dependencies to rebuild mconf if its source files change.
2018-05-29 16:34:45 +10:00
Angus Gratton
8cf82be917 esp32: Component needs public dependency on tcpip_adapter
Because of esp_event.h

Closes https://github.com/espressif/esp-idf/issues/1954
2018-05-29 16:34:45 +10:00
Nicola Lunghi
ed1f4e50df cmakelists: move spi_flash to COMPONENT_REQUIRES
in the include file esp_ota_ops.h "esp_partition.h" is included.
This is from spi_flash so component that requires app_update also will need that

this fixes this error:

  In file included from ../components/esp32-homie/ota.c:11:0:
  /esp-idf/components/app_update/include/esp_ota_ops.h:22:27: fatal error: esp_partition.h: No such file or directory

Signed-off-by: Nicola Lunghi <25422924+nicola-lunghi@users.noreply.github.com>

Merges https://github.com/espressif/esp-idf/pull/1947
2018-05-29 16:34:45 +10:00
Angus Gratton
be4956fe7c docs: Add some tips about setting the Python interpreter, and a specific check in idf.py
Don't show the "Python 2 interpreter" option in menuconfig when using CMake.

This is a stop-gap until we support Python 2 & 3 together in ESP-IDF (soon).

Closes https://github.com/espressif/esp-idf/issues/1924
2018-05-29 16:34:45 +10:00
Angus Gratton
a1fac97f1a cmake: Fix set_default using value from environment
Fixes issue with idf.py passing through Python interpreter, as reported in
https://github.com/espressif/esp-idf/issues/1924
2018-05-29 16:34:45 +10:00
Angus Gratton
979568fa0b docs: Separate "build and flash" into building then flashing
Explains idf.py build as mentioned here: https://github.com/espressif/esp-idf/issues/1906#issuecomment-387557050
2018-05-29 16:34:45 +10:00
Angus Gratton
f07c1ca94f docs: Fix some Windows Command Prompt paths
Reported in https://github.com/espressif/esp-idf/issues/1906
2018-05-29 16:34:45 +10:00
Angus Gratton
cc104eb05b cmake: Add sdkconfig.h directory to include paths list not just compiler args
Also move into 'build/config/' subdir, remove creation of empty include/config dir.
2018-05-29 16:34:45 +10:00
Angus Gratton
2f4079ebb2 cmake: Hide serial port settings in menuconfig when using cmake 2018-05-29 16:34:45 +10:00
Konstantin Kondrashov
6f529cbe64 newlib: Add adjtime - makes a gradual adjustment the system clock
This function speeds up or slows down the system clock in order to make a gradual adjustment. This ensures
 that the calendar time reported by the system clock is always monotonically increasing, which might not happen
 if you simply set the clock.

The delta argument specifies a relative adjustment to be made to the clock time. If negative, the system clock is
 slowed down for a while until it has lost this much elapsed time. If positive, the system clock is speeded up for a
 while.

If the olddelta argument is not a null pointer, the adjtime function returns information about any previous time
 adjustment that has not yet completed.

The return value is 0 on success and -1 on failure.

To stop the adjustement, call the function settimeofday(current_time).
2018-05-28 17:36:04 +05:00
baohongde
4c8d9278b5 component/bt: Fix mem leak of esp_ble_gap_set_security_param 2018-05-28 17:43:53 +08:00
Ivan Grokhotkov
ec0d4bd85f Merge branch 'docs/update_logtrace_readme' into 'master'
docs: Corrects OpenOCD command usage in logtrace readme

See merge request idf/esp-idf!2455
2018-05-28 17:05:02 +08:00
Michael (XIAO Xufeng)
2ee00cc3a6 fix the dependency of systemview config menu. 2018-05-28 12:51:01 +08:00
Angus Gratton
9e09df25fb Merge branch 'bugfix/rtc_vddsdio_details' into 'master'
Fix minor VDDSDIO details

See merge request idf/esp-idf!2449
2018-05-28 08:51:02 +08:00
Jiang Jiang Jian
f1be9679d8 Merge branch 'feature/wifi_add_os_adapter_func' into 'master'
Feature/wifi add os adapter func

See merge request idf/esp-idf!2417
2018-05-26 22:06:25 +08:00
XiaXiaotian
b32b93a607 Add OS adapter to WiFi driver
1.add os adapter to wifi driver
2.type of encrypt funcs not correct
2018-05-26 17:22:23 +08:00
Ivan Grokhotkov
64b56beff5 Merge branch 'bugfix/vfs_select_incorrect_reset' into 'master'
VFS select: Correct reseting of socket FDs

See merge request idf/esp-idf!2444
2018-05-25 23:22:01 +08:00
Jiang Jiang Jian
83d2a529e3 Merge branch 'bugfix/btdm_bt_err_8192' into 'master'
component/bt : fix bug that assert rwbt.c 265 8192 error

See merge request idf/esp-idf!2442
2018-05-25 23:15:05 +08:00
Alexey Gerenkov
585df5cfdb docs: Corrects OpenOCD command usage in logtrace readme 2018-05-25 16:42:18 +03:00
Roland Dobai
e86738205d Fix redefinition of select() on platforms where ESP_PLATFORM is discarded
Ref: https://github.com/espressif/esp-idf/issues/1987
2018-05-25 13:37:43 +00:00
Roland Dobai
e6ae121f41 VFS select: Correct reseting of socket FDs
When using multiple sockets, some of them could be incorrectly removed
from the fd_sets before passing these fd_sets forward to the socket
select function.

Closes https://github.com/espressif/esp-idf/issues/1987
2018-05-25 13:37:43 +00:00
Jiang Jiang Jian
5b88d90a6c Merge branch 'feature/btdm_add_bt_ble_coex_demo' into 'master'
Component/bt: add a2dp_gatts_coex demo

See merge request idf/esp-idf!1945
2018-05-25 19:57:45 +08:00
Ivan Grokhotkov
7b96e70755 Merge branch 'bugfix/unit_test_partition_size' into 'master'
unit test app: Require 4MB flash

See merge request idf/esp-idf!2448
2018-05-25 19:39:44 +08:00
Jin Fang Cheng Cheng
8b884c4deb Update blufi.rst 2018-05-25 15:09:34 +08:00
Jin Fang Cheng Cheng
1001083b1b Update blufi.rst 2018-05-25 15:09:34 +08:00
Jin Fang Cheng Cheng
ad3af2cfc1 Update blufi.rst 2018-05-25 15:09:34 +08:00
Jin Fang Cheng Cheng
02d4168d68 Update blufi.rst 2018-05-25 15:09:34 +08:00
Jin Fang Cheng Cheng
27e4bea699 Update blufi.rst 2018-05-25 15:09:34 +08:00
Jin Fang Cheng Cheng
d0bf4a0e23 Update blufi.rst 2018-05-25 15:09:33 +08:00
Jin Fang Cheng Cheng
5a3f351207 Update blufi.rst 2018-05-25 15:09:33 +08:00
Jin Fang Cheng Cheng
27d22a7574 Update index.rst 2018-05-25 15:09:33 +08:00
Jin Fang Cheng Cheng
0ea39a72b0 Update blufi.rst 2018-05-25 15:09:33 +08:00
Jin Fang Cheng Cheng
b443075133 Update index.rst 2018-05-25 15:09:33 +08:00
Jin Fang Cheng Cheng
7db69b4da3 Update blufi.rst 2018-05-25 15:09:33 +08:00
Jin Fang Cheng Cheng
241048c9f9 Update blufi.rst 2018-05-25 15:09:33 +08:00
Jin Fang Cheng Cheng
75021e376a Upload api-guides_blufi.png 2018-05-25 15:09:33 +08:00
Jin Fang Cheng Cheng
dd0bbebd4a Upload blufi.rst 2018-05-25 15:09:33 +08:00
Jin Fang Cheng Cheng
799771b3fa Upload blufi.rst 2018-05-25 15:09:33 +08:00
Angus Gratton
3e1a93e5a7 soc: rtc_vddsdio_get_config() In default configuration, VDD_SDIO LDO is always enabled
When using bootstrapping pin to enable VDD_SDIO, the internal LDO is always enabled at either 1.8V
or 3.3V.
2018-05-25 15:14:13 +10:00
Angus Gratton
d775cc4c4c soc: Fix description of rtc_config_t.tieh, add macros
Usage of TIEH was correct but description had 1.8V & 3.3V backwards.

Add macro definitions for TIEH values to improve readability.
2018-05-25 14:58:37 +10:00
Angus Gratton
10eab26854 unit test app: Require 4MB flash
PSRAM config unit tests had outgrown the 0x14000 byte allocated factory size.
2018-05-25 12:16:26 +10:00
Angus Gratton
c7bedc80c1 Merge branch 'feature/bootloader_factory_reset' into 'master'
bootloader: Add factory reset and start test app

See merge request idf/esp-idf!2291
2018-05-25 08:17:48 +08:00
Angus Gratton
5bb238dd17 Merge branch 'bugfix/disable_vfs_select' into 'master'
VFS: Optionally disable the VFS implementation of select()

See merge request idf/esp-idf!2434
2018-05-25 07:58:54 +08:00
Konstantin Kondrashov
ae10abff2f bootloader: Add factory reset and start test app
Added feature:
- reset firmware to Factory app.(by long pressing of the button)
- boot Test app. (by long pressing of the button)
- Added feature erase data partitions from factory reset.

TW10281
TW10280
2018-05-24 16:56:49 +05:00
Ivan Grokhotkov
1c2dcd78c8 Merge branch 'test/assign_ut_cases_according_to_sdkconfig' into 'master'
CI: assign ut cases according to sdkconfig

See merge request idf/esp-idf!2407
2018-05-24 19:28:03 +08:00
Ivan Grokhotkov
c03dff473b Merge branch 'docs/make_core_dump_doc_clear' into 'master'
docs: Makes core dump's documentation slightly clearer

See merge request idf/esp-idf!2433
2018-05-24 17:38:28 +08:00
Tian Hao
5f39b58b83 component/bt : fix bug that assert rwbt.c 265 8192 error 2018-05-24 15:47:16 +08:00
Jiang Jiang Jian
b7c37024d5 Merge branch 'bugfix/btdm_fix_set_scan_params_cmd_complete_error' into 'master'
Component/bt: fix set scan params command completer error

See merge request idf/esp-idf!2430
2018-05-24 13:44:15 +08:00
He Yin Ling
1a1514b69c unit-test-app: udpate CI related part to README 2018-05-24 03:40:03 +00:00
He Yin Ling
eaedb2272e CI: remove unnecessary artifacts of assign_test 2018-05-24 03:40:03 +00:00
He Yin Ling
a68b93d6f3 tiny-test-fw: show descriptive error when test case assignment fails:
Will give hint when any job failed to assign:

```
Please add the following jobs to .gitlab-ci.yml with specific tags:
* Add job with: psram, ESP32_IDF, UT_T1_1
* Add job with: psram, ESP32_IDF, UT_T1_1
```
2018-05-24 03:40:03 +00:00
He Yin Ling
3b24bc42d2 CI: assign unit test cases according to sdkconfig:
We have built unit-test-app with different configs.
Currently we use the config name as tags to match runners.
It's not easy to add new configs (need to update tags to existed runners).

Now we'll parse required test runner tags from `sdkconfig` file.
For example, if config enables `CONFIG_SPIRAM_SUPPORT`, then it requires `psram` tag.
This will make adding new configs easier.

In this commit we change the one behavior of assign test: match keys of
cases should be exactly the same with job tags. This fixes cases select
jobs include their tags, and jobs requires those tags can't be assigned.
2018-05-24 03:40:03 +00:00
zhiweijian
2e63a445d9 Component/bt: fix set scan params command completer error 2018-05-23 12:09:39 +00:00
Jiang Jiang Jian
358c822d6a Merge branch 'mesh/feature_manual_networking' into 'master'
Mesh/feature manual networking

See merge request idf/esp-idf!2426
2018-05-23 19:20:30 +08:00
qiyueixa
feaa6e8a8f mesh: add manual networking function
1. add mesh_assoc_t to esp_mesh_internal.h file.
2. rename "node" to "device" in esp_mesh.h.
3. add MESH_EVENT_SCAN_DONE event.
4. add APIs esp_mesh_scan_get_ap_record() and esp_mesh_scan_get_ap_ie_len() to get scan results.
5. modify API esp_mesh_set_self_organized() by adding parameter "select_parent".
6. modify API esp_mesh_set_parent() by adding parameter "parent_mesh_id"
7. add manual networking example.
2018-05-23 18:09:12 +08:00
Roland Dobai
004bf84d8c VFS: Optionally disable the VFS implementation of select()
This allows to temporarily resolve issues like
https://github.com/espressif/esp-idf/issues/1987
while bugs are fixed in the VFS implementation of select().
2018-05-23 10:14:16 +02:00
Angus Gratton
21e085d235 Merge branch 'feature/xRingBufferCanRead_pr1672' into 'master'
freeRTOS/Re-factor ring buffers and add xRingbufferCanRead, xRingbufferCanWrite

See merge request idf/esp-idf!2214
2018-05-23 15:09:40 +08:00
Angus Gratton
c9f8470fdf Merge branch 'feature/rmt_translator' into 'master'
driver(rmt): Add API supports sending uint8_t type data

See merge request idf/esp-idf!1975
2018-05-23 07:27:14 +08:00
Alexey Gerenkov
3fd199c54a docs: Makes core dump's documentation slightly clearer
Merges https://github.com/espressif/esp-idf/pull/1968
2018-05-22 20:24:29 +03:00
Jiang Jiang Jian
f453877759 Merge branch 'feature/multi_antenna_v3.1' into 'master'
esp32: add multiple antenna

See merge request idf/esp-idf!2400
2018-05-22 23:04:01 +08:00
Liu Zhi Fu
04c74efedd esp32: add multiple antenna
1. Support multiple antenna support
2. libphy.a is updated to v3910
2018-05-22 22:28:00 +08:00
Jiang Jiang Jian
affed9a235 Merge branch 'feature/a2dp-sink-source-runtime-selection' into 'master'
bt-a2dp: BT A2DP sink and source selection is now runtime

See merge request idf/esp-idf!2229
2018-05-22 22:21:39 +08:00
Jiang Jiang Jian
b19afed31f Merge branch 'bugfix/some_changes_relating_to_phy_v3900' into 'master'
esp32: some changes relating to phy v3900

See merge request idf/esp-idf!2421
2018-05-22 21:09:05 +08:00
Jiang Jiang Jian
72c2a6f1c6 Merge branch 'feature/proto-client' into 'master'
HTTP Client

See merge request idf/esp-idf!1521
2018-05-22 21:06:46 +08:00
Ivan Grokhotkov
0b3ed36d0d Merge branch 'bugfix/cermak_mdns_fuzzer_update' into 'master'
Bugfix/cermak mdns fuzzer update

See merge request idf/esp-idf!2388
2018-05-22 20:03:02 +08:00
David Cermak
fffbf7b750 Fixed nullptr dereference in MDNS.c 2018-05-22 11:23:12 +02:00
David Cermak
e983230be9 MDNS-Fuzzer: AFL fuzzer tests for mdsn packet parser 2018-05-22 11:23:12 +02:00
zhiweijian
97a4332ed9 Component/bt: add bt_ble_coex demo 2018-05-22 17:19:44 +08:00
Ivan Grokhotkov
d7726e8f97 Merge branch 'bugfix/docs_fix_vcp_driver_link_v2' into 'master'
docs: fix (in remaining places) link for FTDI VCP drivers

See merge request idf/esp-idf!2424
2018-05-22 16:55:59 +08:00
Ivan Grokhotkov
9da4df8f55 Merge branch 'bugfix/docs_esp-wrover-kit_and_touch-sensor' into 'master'
docs: updated esp wrover kit jumpers and touch sensor links

See merge request idf/esp-idf!2422
2018-05-22 16:22:30 +08:00
Mahavir Jain
8ad8a44709 docs: fix (in remaining places) link for FTDI VCP drivers
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-05-22 08:21:37 +00:00
Liu Zhi Fu
67424816cc esp32: some changes relating to phy v3900
1. Store the calibration data to NVS if PHY does full calibration because of calibration data checksum failure
2. Pass the station's mac to PHY for checksum calculation
2018-05-22 14:16:09 +08:00
Angus Gratton
46d6fd1ddf Merge branch 'bugfix/parallel_multi_heap_test' into 'master'
CI fix: multi heap host test parallel race

See merge request idf/esp-idf!2428
2018-05-22 13:30:58 +08:00
Tuan PM
64ce589f6f Remove unused macro 2018-05-22 12:04:47 +07:00
Tuan PM
f2aea4f5b6 Add http status enum & return ESP_FAIL as error code 2018-05-22 10:55:18 +07:00
Angus Gratton
035dc66cce Merge branch 'bugfix/esp_err_to_name_windows' into 'master'
gen_esp_err_to_name.py: Use normal file I/O instead of mmap()

See merge request idf/esp-idf!2425
2018-05-22 11:31:17 +08:00
Angus Gratton
41bb1fcb48 Merge branch 'bugfix/unit_test_timeout' into 'master'
Unit tests: Add per-test timeout option, disable two SD tests

See merge request idf/esp-idf!2423
2018-05-22 11:13:16 +08:00
Angus Gratton
800c2bae38 gitignore: Add test_multi_heap_host 2018-05-22 12:09:30 +10:00
Angus Gratton
3fe862dacb test_multi_heap_host: Remove race conditions from parallel "make clean test" 2018-05-22 12:09:30 +10:00
Angus Gratton
75c27202f7 Merge branch 'feature/update_touchpad_filter_process' into 'master'
driver(touchpad): Change the measuring mode, improve the software filter.

See merge request idf/esp-idf!2358
2018-05-22 09:56:55 +08:00
kooho
5bc8ae3b3a driver(rmt):Add API supports sending uint8_t type data. 2018-05-22 01:55:44 +00:00
Angus Gratton
b8312a26c0 Merge branch 'feature/sdio_slave' into 'master'
feature(sdio_slave): add support for sdio_slave

See merge request idf/esp-idf!1829
2018-05-22 09:43:35 +08:00
Angus Gratton
67fb34fa4e Merge branch 'bugfix/dport_access_iram' into 'master'
dport: Bigfix dport_read code move to IRAM

See merge request idf/esp-idf!2427
2018-05-22 09:22:52 +08:00
krzychb
42b1ec76b7 Provided links to 'Touch Sensor Application Note' and 'Guide for ESP32-Sense Development Kit' 2018-05-21 19:29:36 +02:00
krzychb
6d85d159d6 Updated pictures of user configurable jumpers to reflect Version 3 of ESP-WROVER-KIT.
This includes changing the picture of JTAG jumper block by removing the jumper on S_TDI. It has been reported by a number of users that removing this jumper fixes random communication issues observed in OpenOCD.
2018-05-21 19:29:36 +02:00
Konstantin Kondrashov
e5b280f173 dport: Bigfix dport_read code move to IRAM
A new method of workaround an error with DPORT is to ensure that the APB is read and followed by the DPORT register without interruptions and pauses. This fix places this implementation in the IRAM to exclude errors associated with the cache miss.
2018-05-21 22:00:51 +05:00
michael
1b45e1117b doc(sdio_slave): documentation for SDIO slave driver 2018-05-21 23:48:56 +08:00
michael
f613859e29 feat(sdio_slave): add new driver for sdio_slave 2018-05-21 23:48:47 +08:00
Michael (XIAO Xufeng)
c73575de4f feat(sdio_slave): add headers for sdio slave components: slc, host, hinf 2018-05-21 23:48:33 +08:00
Angus Gratton
156dd4841d Temporarily disable SD CD/WP mode tests
Tracked in TW22648
2018-05-21 12:27:10 +00:00
Angus Gratton
e8525396dd test: Allow per-unit-test timeouts
Work around for "(WL) write/read speed test" taking >30s in some configs
2018-05-21 12:27:10 +00:00
Jiang Jiang Jian
92c469b599 Merge branch 'bugfix/btdm_fix_scan_duplicate' into 'master'
Component/bt: fix scan duplicate

See merge request idf/esp-idf!2342
2018-05-21 20:00:49 +08:00
Amey Inamdar
ae8ed8dad8 bt-a2dp: BT A2DP sink and source selection is now runtime
Earlier they have to be selected at the compile time through sdkconfig.
A2DP sink and source application tested with this change.

Signed-off-by: Amey Inamdar <amey@espressif.com>
2018-05-21 14:02:49 +05:30
Angus Gratton
b14bbd4205 gen_esp_err_to_name.py: Use normal file I/O instead of mmap()
mmap is different on Python for Windows
2018-05-21 17:34:18 +10:00
Angus Gratton
0c64ef9600 Merge branch 'bugfix/sdio_write_unaligned_len' into 'master'
SDIO: allow read/write operations for lengths not divisible by 4

See merge request idf/esp-idf!2278
2018-05-21 15:26:32 +08:00
zhiweijian
340ad5c430 Component/bt: fix scan duplicate 2018-05-21 15:23:15 +08:00
Wangjialin
09181b7d94 driver(touchpad): improve touchpad filter mode and update examples. 2018-05-21 14:45:31 +08:00
Jiang Jiang Jian
95c3bc39f8 Merge branch 'feature/wifi_channel_state_information' into 'master'
add Channel State Information(CSI) support

See merge request idf/esp-idf!2373
2018-05-21 14:14:51 +08:00
Jiang Jiang Jian
35d148256b Merge branch 'bugfix/fix_uart_buffer_full_flg_error_bug' into 'master'
driver(uart): Fix the bug that uart buffer_full flag is true all the time.

See merge request idf/esp-idf!2418
2018-05-21 14:09:44 +08:00
Jiang Jiang Jian
adcad91c55 Merge branch 'feature/btdm_hfp_hf' into 'master'
component/bt: implement HFP Hands Free Unit Role

See merge request idf/esp-idf!2306
2018-05-21 13:56:52 +08:00
wangmengyang
4c4e143a2f component/bt: implement HFP Hands Free Unit Role 2018-05-21 11:33:30 +08:00
Angus Gratton
9802c3e32c Merge branch 'doc/language_link' into 'master'
docs: add language link to easily change to Chinese version.

See merge request idf/esp-idf!2051
2018-05-21 11:00:37 +08:00
Angus Gratton
6363396eba Merge branch 'feature/freertos_tickless_idle' into 'master'
freertos,esp32: automatic light sleep support

See merge request idf/esp-idf!2247
2018-05-21 10:59:00 +08:00
Tuan PM
ff528d13c7 Add esp_http_client
Add error handling for http client

set ssid password correct with Example_WIFI test, and clear password before free

Fixed the CI failure due to HTTP errror names
2018-05-21 09:35:07 +07:00
michael
d4deb9319a doc(global): build cross-language links for translated documents 2018-05-21 10:30:13 +08:00
Michael (Xiao Xufeng)
2852dd37fb docs: add language link to easily change to Chinese version 2018-05-21 10:30:12 +08:00
krzychb
d754b53ae2 Implemented docutils custom role that renders a link to current documentation page on Read The Docs in another language version
Provided documentation of the role.
2018-05-21 10:30:07 +08:00
Jiang Jiang Jian
9c53b599b2 Merge branch 'bugfix/i2c_add_xqueue_static_allocation' into 'master'
driver(i2c, rmt):  Add xQueue and xSemaphore static allocation support when intr_alloc_flag set to ESP_INTR_FLAG_IRAM.

See merge request idf/esp-idf!2335
2018-05-21 10:29:31 +08:00
Angus Gratton
03414b1f39 Merge branch 'bugfix/reset_some_peripherals_when_cpu_start' into 'master'
driver:   Reset  communication peripherals when cpu start up.

See merge request idf/esp-idf!2296
2018-05-21 09:53:42 +08:00
kooho
f6f9f93a9d driver(i2c, rmt):Add intr_flag setting to ESP_INTR_FLAG_IRAM support when enable psram. 2018-05-21 09:37:56 +08:00
Darian Leung
4bfa30967f freeRTOS/Re-factor ring buffers
This fixes multiple bugs with ring buffers and re-factors the code. The public
API has not changed, however the underlying implementation have various private
functions have been changed. The following behavioral changes have been made

-   Size of ring buffers for No-Split/Allow-Split buffers will not be rounded
    up to the nearest 32-bit aligned size. This was done to simplify the
    implementation

-   Item size for No-Split/Allow-Split buffers will also be rounded up to the
    nearest 32-bit aligned size.

The following bugs have been fixed

-   In copyItemToRingbufAllowSplit(), when copying an item where the aligned
    size is smaller than the remaining length, the function does not consider
    the case where the true size of the item is less than 4 bytes.

-   The copy functions will automatically wrap around the write pointers when
    the remaining length of the buffer is not large enough to fit a header, but
    does not consider if wrapping around will cause an overlap with the read
    pointer. This will make a full buffer be mistaken for an empty buffer

closes #1711
-   xRingbufferSend() can get stuck in a infinite loop when the size of the
    free memory is larger than the needed_size, but too small to fit in the ring
    buffer due to alignment and extra overhead of wrapping around.

closes #1846
-   Fixed documentation with ring buffer queue set API

-   Adding and removing from queue set does not consider the case where the
    read/write semaphores actually hold a value.

The following functions have been deprecated
    - xRingbufferIsNextItemWrapped() due to lack of thread safety
    - xRingbufferAddToQueueSetWrite() and xRingbufferRemoveFromQueueSetWrite()
    as adding the queue sets only work under receive operations.

The following functions have been added
    - xRingbufferReceiveSplit() and xRingbufferReceiveSplitFromISR() as a thread
    safe way to receive from allow-split buffers
    - vRingbufferGetInfo()

Documentation for ring buffers has also been added.
2018-05-21 01:04:58 +00:00
Ing. Jaroslav Safka
32e838ddb6 Add xRingbufferCanRead, xRingbufferCanWrite
Add function xRingbufferCanRead & xRingbufferCanWrite
to be able use queue sets. Without it is not possible
to check to which ringbuffer returned semaphore belongs.
2018-05-21 01:04:58 +00:00
Angus Gratton
7a6e367cd9 Merge branch 'patch-2' into 'master'
Update idf-monitor.rst

See merge request idf/esp-idf!2149
2018-05-21 08:42:24 +08:00
Lin Meiling
6e77e68c96 Update idf-monitor.rst 2018-05-21 00:20:08 +00:00
Angus Gratton
a79116a23e Merge branch 'feature/gcov_dbg_stubs' into 'master'
Feature/gcov dbg stubs

See merge request idf/esp-idf!1494
2018-05-21 08:07:49 +08:00
Xia Xiaotian
7f8811ea14 add Channel State Information(CSI) support 2018-05-20 19:25:25 +08:00
Jiang Jiang Jian
4d6e600f23 Merge branch 'mesh/update_libs' into 'master'
mesh: update libs

See merge request idf/esp-idf!2416
2018-05-20 17:26:57 +08:00
qiyueixa
bb9e73c864 mesh: update libs
1. use pbkdf2_sha1() to encrypted mesh ie key.
2. fix esp_mesh_waive_root().
3. fix esp_mesh_stop().
4. fix xon issues.
2018-05-20 15:28:38 +08:00
Jiang Jiang Jian
1f7b41e206 Merge branch 'feature/add_event_SYSTEM_EVENT_AP_STAIPASSIGNED' into 'master'
add event SYSTEM_EVENT_AP_STAIPASSIGNED

See merge request idf/esp-idf!2202
2018-05-19 17:04:24 +08:00
Jiang Jiang Jian
d51054a5eb Merge branch 'bugfix/docs_fix_vcp_driver_link' into 'master'
docs: fix link for FTDI VCP drivers

See merge request idf/esp-idf!2420
2018-05-19 17:00:17 +08:00
Jiang Jiang Jian
a7a90ffba2 Merge branch 'feature/unified_btdm_modem_sleep_with_coex' into 'master'
component/bt: implement bluetooth modem sleep

See merge request idf/esp-idf!2198
2018-05-19 16:20:49 +08:00
wangmengyang
22e21b38f7 component/bt: implement bluetooth modem sleep mode, one mode for BLE only and another for dual mode bluetooth
1. provide options for bluetooth low power mode
2. provide two options for bluetooth low power clock: main XTAL and external 32kHz XTAL
3. provide function and callbacks to control bluetooth low power mode, including enable/disable sleep, software wakeup request, low power clock settings, check power state, etc
4. modify vhci API vhci_host_send_packet to use blocking mode
5. note that DFS and bluetooth modem sleep can not be used together currently.
2018-05-19 15:37:26 +08:00
zhangyanjiao
3f031cdd9d add event SYSTEM_EVENT_AP_STAIPASSIGNED 2018-05-19 13:14:12 +08:00
Jiang Jiang Jian
7cc3b648f4 Merge branch 'doc/nvs_flash_encryption' into 'master'
nvs README: Remove section about encryption capability

See merge request idf/esp-idf!2404
2018-05-19 00:44:56 +08:00
David Cermak
bb25d0a348 DnsFuzzer: Added fuzzer test for exercising lwip/dns receiving DNS responses 2018-05-18 15:54:08 +02:00
Alexey Gerenkov
c1b6a37bb1 esp32: Adds GCOV debug stubs support
Adds the following functionality
 - Debug stubs infrastructure
 - Stub for retrieveing GCOV data without user source code modification
2018-05-18 16:16:03 +03:00
Mahavir Jain
b2ec58af1c docs: fix link for FTDI VCP drivers
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-05-18 17:09:53 +05:30
Jiang Jiang Jian
041faad1c9 Merge branch 'feature/add_more_information_about_wifi_config' into 'master'
wifi: Add more information about wifi config

See merge request idf/esp-idf!2384
2018-05-18 17:29:32 +08:00
kooho
33b99caf50 driver(uart):Fix the bug that uart buffer_full flag is true all the time. 2018-05-18 16:46:10 +08:00
Angus Gratton
af2cb3ba8b Merge branch 'feature/vfs_find_free_fd' into 'master'
Add "find file descriptor" API to be used by VFS drivers

See merge request idf/esp-idf!2389
2018-05-18 15:22:20 +08:00
Angus Gratton
3c457afca5 Merge branch 'feature/vfs_select' into 'master'
Allow VFS file descriptors in select()

See merge request idf/esp-idf!2377
2018-05-18 15:04:25 +08:00
kooho
ef39c09bc1 driver: reset communication peripherals when the cpu starts. 2018-05-18 14:41:58 +08:00
Roland Dobai
18e83bcd53 Allow VFS file descriptors in select() 2018-05-18 08:06:33 +02:00
Roland Dobai
2aa9c15906 VFS: allow to find free file descriptors & register them 2018-05-18 07:57:35 +02:00
Deng Xin
8b389419ab (wifi): Add more information about wifi config
1. Update libphy.a to v3900
2. Update librtc.a to v238
3. add scan_method, sort_method and threshold when invoke esp_wifi_get_config()
4. add rssi of each STA in softAP list
5. add country information in scan result
6. add noise floor in rx pkt

Closes https://github.com/espressif/esp-idf/issues/1095
Closes https://github.com/espressif/esp-idf/issues/1723
Closes https://github.com/espressif/esp-idf/issues/1483
2018-05-18 11:55:55 +08:00
Jiang Jiang Jian
d84add4513 Merge branch 'bugfix/performance_tests_psram' into 'master'
tests: Increase performance thresholds when running with PSRAM

See merge request idf/esp-idf!2414
2018-05-18 11:35:33 +08:00
Ivan Grokhotkov
12230b7292 examples/wifi/power_save: enable tickless idle 2018-05-18 03:14:46 +00:00
Ivan Grokhotkov
45d3b1f4b1 docs: update information about automatic light sleep 2018-05-18 03:14:46 +00:00
Ivan Grokhotkov
028fbb58e8 freertos,esp32: automatic light sleep support 2018-05-18 03:14:46 +00:00
Angus Gratton
51aceaa030 Merge branch 'bugfix/idle_task_stack_size' into 'master'
freertos: Bump default idle task stack size to 1536 bytes

See merge request idf/esp-idf!2411
2018-05-18 10:10:13 +08:00
Jiang Jiang Jian
9ac6a75b8c Merge branch 'feature/tw15298_support_create_wifi_task_on_any_core' into 'master'
esp32: support to create wifi task on any core

See merge request idf/esp-idf!2379
2018-05-18 09:55:45 +08:00
Jiang Jiang Jian
6dcf273f0d Merge branch 'bugfix/update_ota_download_valid_bin' into 'master'
bugfix(ota): update ota to download valid bin file

See merge request idf/esp-idf!2038
2018-05-18 09:52:17 +08:00
Liu Zhi Fu
4e9ea81208 esp32: support to create wifi task on any core
Support to create WiFi task on any core.
Closes https://github.com/espressif/esp-idf/issues/968
2018-05-17 22:04:08 +08:00
Jiang Jiang Jian
cf9499479c Merge branch 'bugfix/i2s_mix_result_with_error_code_master' into 'master'
fix i2s mix result and error code

See merge request idf/esp-idf!2227
2018-05-17 21:53:06 +08:00
Jiang Jiang Jian
f64f70250d Merge branch 'feature/add_set_factory_info_customer_in_wps_v3.1' into 'master'
wifi: add set factory information feature by customer in wps

See merge request idf/esp-idf!2412
2018-05-17 21:49:40 +08:00
Angus Gratton
a2241fb4bc tests: Increase performance threshold for VFS running with PSRAM
Cache effects on microbenchmarks in cached flash can be significant, depending on linker layout in flash.
2018-05-17 21:02:47 +08:00
Jiang Jiang Jian
8c657dfee4 Merge branch 'bugfix/fix_an_error_in_comment_of_uart_driver' into 'master'
deiver(uart):revise the explanation of uart break length

See merge request idf/esp-idf!2398
2018-05-17 17:17:14 +08:00
Jiang Jiang Jian
993b8b7bf6 Merge branch 'bugfix/o3_fails' into 'master'
Fix compilation errors when -O3 is used

See merge request idf/esp-idf!2396
2018-05-17 16:48:13 +08:00
Deng Xin
54d9a392e4 wifi: add set factory information feature by customer in wps 2018-05-17 16:45:53 +08:00
Jiang Jiang Jian
59db3cb1c2 Merge branch 'bugfix/wifi_fix_a_few_wifi_bugs' into 'master'
Fix a few WiFi bugs

See merge request idf/esp-idf!2312
2018-05-17 16:33:38 +08:00
Jiang Jiang Jian
0749e50927 Merge branch 'bugfix/fix_qio_mode' into 'master'
bootloader(flash): fix flash QIO mode configuration error.

See merge request idf/esp-idf!2403
2018-05-17 16:21:46 +08:00
Jiang Jiang Jian
c584f624b5 Merge branch 'bugfix/btdm_change_scan_mode_after_conn_or_disconn' into 'master'
component/bt: Change scan mode after connected or disconnected

See merge request idf/esp-idf!2402
2018-05-17 11:13:13 +08:00
Zhang Zhao Xiang
9deb58859c fix i2s mix result and error code 2018-05-17 10:59:04 +08:00
Angus Gratton
4719bab2f3 freertos: Bump default idle task stack size to 1536 bytes
In situations where idle task runs a lot of idle hooks or cleanup code
(due to pthread local storage, etc) it can use more than 1KB of stack.

(I think the trigger is if a context switch happens at the right point
in the TLS cleanup).

Also removes an sdkconfig.default which accidentally set all config items,
including this stack size.
2018-05-17 10:37:24 +08:00
David Cermak
5ecf717e40 DhcpFuzzer: dhcp client addded 2018-05-16 14:52:42 +02:00
Wangjialin
f6927ccde9 bootloader(flash): fix flash QIO mode configuration error.
reported from github: https://github.com/espressif/esp-idf/issues/1944

1. Add SPI register setup in execute_flash_command.
2. Save and recover the SPI ctrl register in execute_flash_command.
2018-05-16 12:42:29 +00:00
Alex Lisitsyn
44b1bc0ab9 esp32: Add .noinit and .rtc_noinit sections to the linker script
Added .rtc_noinit and .noinit section definitions into linker file /esp32/ld/esp32.common.ld.
The macro __NOINIT_ATTR, RTC_NOINIT_ATTR declared in esp32/esp_attr.h file.
Added unit test file to test added behavior for noinit variables and its attributes.
Added documentation changes for new added attributes.
Make some corrections after code review:
The linker file has been corrected to place noinit section before bss_start to make it safer.
Documentation file has been modified to clarify reset behavior of allocated data .
Corrected typos in test_noinit.c and removed assertion of noinit variable to avoid possible issues with ROM boot loader memory allocation.
The linker file has been corrected to place noinit section before bss_start to make it safer.
Documentation file has been modified to clarify reset behavior of allocated data .
Corrected typos in test_noinit.c and removed assertion of noinit variable to avoid possible issues with ROM boot loader memory allocation.
Update test_noinit.c file to address RTCWDT_RTC_RESET reset reason instead of POWERON_RESET.
Test optimized to pass automated unit testing.
esp32: Add .noinit and .rtc_noinit sections to the linker script
Update of general-notes.rst documentation to fomat examples as code and attributes as identifiers.
Test test_noinit.c corrected to pass automated testing (support ofTEST_CASE_MULTIPLE_STAGES())

https://ezredmine.espressif.cn:8765/issues/15878
2018-05-16 17:33:37 +05:00
Angus Gratton
f147a8d73d Merge branch 'bugfix/docs_small_updates' into 'master'
Bugfix/docs small updates

See merge request idf/esp-idf!2392
2018-05-16 19:53:40 +08:00
Angus Gratton
f4f305bdbd Merge branch 'bugfix/mbedtls_submodule' into 'master'
mbedtls: Add submodule check at build time

See merge request idf/esp-idf!2395
2018-05-16 19:52:45 +08:00
Angus Gratton
b2e264ef52 Merge branch 'feature/ledc_add_api_set_hpoint_val' into 'master'
driver(ledc): fix duty and fade issues and add thread-safe version APIs.

See merge request idf/esp-idf!2233
2018-05-16 19:52:26 +08:00
Angus Gratton
4058ce71ce Merge branch 'feature/btdm_modify_bt_gap_structure' into 'master'
component/bt: modify BT GAP structure

See merge request idf/esp-idf!2364
2018-05-16 19:46:55 +08:00
baohongde
174501ff35 component/bt: modify BT GAP structure
1. Separate the upward and the downward
2. Cancel use of msg.aid when call btc_transfer_context
2018-05-16 18:58:13 +08:00
XiaXiaotian
40efc36849 Fix a few WiFi bugs
1. remove rc when ap not found

   closes issue: https://github.com/espressif/esp-idf/issues/1797

2. allocate mimo packet to internal memory

3. use FRC2 timer instead of WDEV_NOW() for modem sleep to calculate
   TBTT time.

   It fixes the bug that TBTT will be incorrect if beacon is lost.
2018-05-16 18:50:28 +08:00
baohongde
50f82a1aa5 component/bt: Change scan mode after connected or disconnected 2018-05-16 10:28:03 +00:00
Jiang Jiang Jian
c54a679a41 Merge branch 'bugfix/fix_interrupt_list_insert_issue' into 'master'
esp32: fix interrupt list insert issue

See merge request idf/esp-idf!2391
2018-05-16 18:18:58 +08:00
Jiang Jiang Jian
4b4a587540 Merge branch 'bugfix/touch_change_default_enable_value' into 'master'
bugfix(touch): change the default value for sar_touch_enable register.

See merge request idf/esp-idf!1870
2018-05-16 17:40:18 +08:00
Jiang Jiang Jian
8128dd245d Merge branch 'bugfix/rmt_tx_cmd' into 'master'
example(rmt): tx cmd without negative coding

See merge request idf/esp-idf!1884
2018-05-16 17:39:04 +08:00
Chen Wu
460c4fa486 bugfix(ota): update ota to download valid bin file 2018-05-16 09:24:47 +00:00
Jiang Jiang Jian
f502e195aa Merge branch 'bugfix/improve_bt_debug' into 'master'
components/bt: Improve the Bluetooth debug messaging scheme

See merge request idf/esp-idf!2303
2018-05-16 16:04:34 +08:00
Jiang Jiang Jian
af980ecb9f Merge branch 'feature/tw16750_full_support_esp_wifi_80211_tx' into 'master'
esp32/docs: fully support esp_wifi_80211_tx

See merge request idf/esp-idf!2007
2018-05-16 14:55:00 +08:00
Liu Zhi Fu
846b848bfc esp32/docs: fully support esp_wifi_80211_tx
Closes https://github.com/espressif/esp-idf/issues/1256
Closes https://github.com/espressif/esp-idf/issues/1332
2018-05-16 13:37:54 +08:00
krzychb
d19dbea059 Fixed git command 2018-05-15 22:36:34 +02:00
Wenderson Oliveira
6722a78684 Fix git command. Merges https://github.com/espressif/esp-idf/pull/1943 2018-05-15 22:34:01 +02:00
Angus Gratton
7ae1e9463e Merge branch 'bugfix/rtc_xtal_tests' into 'master'
ci: Only run XTAL unit tests assuming board has an XTAL

See merge request idf/esp-idf!2401
2018-05-15 18:44:46 +08:00
Angus Gratton
3d92c6cccd nvs README: Remove section about encryption capability 2018-05-15 18:02:28 +08:00
Angus Gratton
05e09a5bac ci: Only run XTAL unit tests assuming board has an XTAL, run less repeats 2018-05-15 15:43:24 +08:00
Angus Gratton
d1066e9d7f Merge branch 'feature/dport_access' into 'master'
soc: Dport access with pre-read register APB

See merge request idf/esp-idf!2257
2018-05-15 15:32:28 +08:00
He Yin Ling
0ae6a83768 Merge branch 'test/add_iperf_example_test' into 'master'
test: add iperf example test

See merge request idf/esp-idf!1753
2018-05-15 14:58:08 +08:00
Angus Gratton
ae7cee02d2 Merge branch 'feature/vfs_access' into 'master'
Implement VFS support for access()

See merge request idf/esp-idf!2378
2018-05-15 14:33:51 +08:00
Angus Gratton
fcd5d0869d Merge branch 'bugfix/spi_native_pins' into 'master'
fix several spi issues about pin configurations

See merge request idf/esp-idf!2309
2018-05-15 14:19:20 +08:00
He Yin Ling
9e7a69be88 example test: integrate wifi throughput test to CI 2018-05-15 13:42:27 +08:00
He Yin Ling
e8dd203e47 example test: add test case for iperf example 2018-05-15 13:42:26 +08:00
Angus Gratton
662fe55996 Merge branch 'bugfix/select_rtc_slow_clk' into 'master'
esp32/clk: Fix starting rtc oscillator if it bad

See merge request idf/esp-idf!2215
2018-05-15 12:57:22 +08:00
Konstantin Kondrashov
9ad0760b9d esp32/clk:Fix starting rtc oscillator if it is bad
If the RTC crystal is bad or has no matched capacitance, then you do not need to start such the crystal. It is necessary to determine this case, output an error (about impossibility to start from the oscillator) and start from the internal RC of the chain.

Reduced the default value of the number of bootstrap cycles. Because we can oscillating the oscillator which then stops. (in Kconfig). Changed from 100 to 5.

The number of calibration cycles has been increased. It is the main criterion for estimating the launch of an oscillator. A large increase leads to an increase in the load time, as well as the stability of recognition of this case. (in Kconfig).
Changed from 1024 to 3000.
2018-05-15 08:59:15 +05:00
He Yin Ling
7e4c2cc46b iperf example: add scan command to get AP rssi 2018-05-15 03:29:31 +00:00
He Yin Ling
f7bb5c8f42 iperf example: add cmd to trace max heap usage 2018-05-15 03:29:31 +00:00
He Yin Ling
2b068f3ceb tiny-test-fw: fix misc bugs:
1. configs are not functional
    * decorator will be executed when search case, need to set default config before search case.
2. fix DUT encode/decode errors
    * python3 serial don't support write string/unicode, need to convert to bytes first.
    * python2 string could failed to encode/decode non-acsii chars
3. fix bug that log folder not created
4. fix bug that test suite name is not correctly passed:
    * the keyward arg should be `test_suite_name` not `test_name`
5. fix bug that test stopped on failed case
6. fix DUT `read` don't return all data cache
    * `_DataCache.get_data` should first copy all data from queue to data cache and then return to user.
7. fix bug that `expect_all` failed even all expected item passed
8. optimize error info for expect
    * print pattern for regular expression when match failed
9. fix bug that set default config doesn't work
2018-05-15 03:29:31 +00:00
He Yin Ling
98d1f05ab5 tiny-test-fw: add utilities:
1. Attenuator: control programmable attenuator
2. PowerControl: control APC PDU to power on/off devices
3. LineChart: use matplotlib to draw line chart
2018-05-15 03:29:31 +00:00
He Yin Ling
3b3a915552 tiny-test-fw: implement env.get_pc_nic_info:
this method is used to get mac/ipv4/ipv6 address for one NIC
2018-05-15 03:29:31 +00:00
Angus Gratton
c522f44276 Merge branch 'doc/update_licenses' into 'master'
docs: update list of third-party libraries, copyrights, and licenses

See merge request idf/esp-idf!2381
2018-05-15 11:13:20 +08:00
Angus Gratton
31d53bc059 Merge branch 'bugfix/sdspi_delayed_write_response' into 'master'
sdspi: handle delayed response to data write command

See merge request idf/esp-idf!2290
2018-05-15 10:32:21 +08:00
Jiang Jiang Jian
73d20981de Merge branch 'bugfix/rmt_tx_stop_bug' into 'master'
driver(rmt):  RMT tx stop  workaround

See merge request idf/esp-idf!1915
2018-05-15 10:04:33 +08:00
Ivan Grokhotkov
79de77107f docs: update list of third-party libraries, copyrights, and licenses 2018-05-15 10:01:20 +08:00
Jiang Jiang Jian
33b11c6f6a Merge branch 'feature/adjust_log_level_about_uart' into 'master'
feat: Adjust log level about UART

See merge request idf/esp-idf!2047
2018-05-15 09:59:21 +08:00
Ivan Grokhotkov
9379d7b9f9 sdmmc: wait for command done event even if data transfer is over
This fixes errors logged on the console: sdmmc_req:
handle_idle_state_events unhandled: 00000004 00000000

The issue happens if "data done" event occurs before "command done".
State machine code did not check *which* event occurred in
SENDING_CMD state, and went to IDLE or SENDING_DATA state on any
non-error event. In this case, we can't process "data done" event
until command has completed. This change introduces "unhandled event"
mask, which is carried over from one run of process_events to the
other. This allows waiting for the "command done" event to complete,
and then process "data done" event.

Ref TW17126.
2018-05-15 09:59:20 +08:00
Ivan Grokhotkov
cf81db40a2 sdio: allow reads/writes with lengths not divisible by 4
CMD53 in byte mode supports transfers of any number of bytes between 1
and 512. This change removes limitation that the number of bytes must
be divisible by 4. Host quirk, that such transfers must be split into
two commands (one for the aligned part and the other one for
unaligned) is taken into account.
2018-05-15 09:59:20 +08:00
Jiang Jiang Jian
d5e167fc43 Merge branch 'feature/docs_translate_home_page' into 'master'
Update index.rst. Merges https://github.com/espressif/esp-idf/pull/1747

See merge request idf/esp-idf!2368
2018-05-15 09:57:13 +08:00
Jiang Jiang Jian
97a228e6ab Merge branch 'bugfix/rename_clk_rst_bits_for_spi' into 'master'
rename clock enable and reset bits for SPI modules

See merge request idf/esp-idf!2293
2018-05-15 09:49:56 +08:00
krzychb
684d211af3 Corrected link rendering and additional translations 2018-05-14 19:06:43 +02:00
Jiang Jiang Jian
6adaeb0048 Merge branch 'bugfix/btdm_fix_crash_without_smp_when_deinit_bluedroid' into 'master'
Component/bt: fix crash without SMP when deinit bluedroid

See merge request idf/esp-idf!2375
2018-05-14 21:20:44 +08:00
David Cermak
3a6d256d3e DhcpFuzzer: Added AFL test for dhcpserver with sample packets 2018-05-14 15:03:37 +02:00
Konstantin Kondrashov
8f80cc733d soc: Change DPORT access
When two CPUs read the area of the DPORT and the area of the APB, the result is corrupted for the CPU that read the APB area.
And another CPU has valid data.

The method of eliminating this error.
Before reading the registers of the DPORT, make a preliminary reading of the APB register.
In this case, the joint access of the two CPUs to the registers of the APB and the DPORT is successful.
2018-05-14 17:54:57 +05:00
Hrishikesh Dhayagude
da6cb6c741 components/bt: Improve the Bluetooth debug messaging scheme
As of now, when Bluetooth debugs are enabled, all the messages are
mapped to BT_PRINTF which is mapped to ESP_LOGE. Hence, make monitor
shows all logs in red color which might lead to missing the actual
errors

This patch maps the Bluetooth messages to appropriate ESP_LOG* messages
and improves readability.

Also, make the BT trace level be configurable in menuconfig, so that
each layer of bt trace can be enabled/disabled.

Finally, add debug log control for BTC, OSI, BLUFI and clear up
Bluetooth debug logs.

So, with this the method of enabling Bluetooth logs is as follows:
1. make menuconfig -> Component config -> Bluetooth -> Bluedroid Enable
-> BT DEBUG LOG LEVEL -> set trace level for every layer of BT

Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-05-14 20:45:05 +08:00
Jiang Jiang Jian
256a9a8a33 Merge branch 'feature/wifi_add_sniffer_ctrl_pkt' into 'master'
add sniffer control packet support

See merge request idf/esp-idf!1904
2018-05-14 20:42:15 +08:00
Jiang Jiang Jian
9e5318b584 Merge branch 'bugfix/btdm_reconnect_con_params_update_reject_in_smp' into 'master'
Component/bt: update con params is rejected in smp when reconnection

See merge request idf/esp-idf!2318
2018-05-14 20:19:29 +08:00
chenjianqiang
b5de860bcb revise the explain of a parameter(brk_len) in uart driver file 2018-05-14 19:47:16 +08:00
kooho
a8d26d7e4d driver(rmt):Fix rmt_tx_stop bug. 2018-05-14 19:46:30 +08:00
Angus Gratton
b888032a8c Merge branch 'bugfix/logging_docs_cleanup' into 'master'
log: clean up docs, clarify esp_log_level_set usage

See merge request idf/esp-idf!2080
2018-05-14 18:36:35 +08:00
Roland Dobai
ca08397b6b Fix compilation errors when -O3 is used
Closes https://github.com/espressif/esp-idf/issues/718
2018-05-14 12:29:57 +02:00
jack
c384fa2492 rename clock enable and reset bits for SPI modules
1.The names of clock enable and reset bits do not match with TRM, just rename them.
2018-05-14 16:45:03 +08:00
Angus Gratton
036dbce3d0 Fix "undefined variable which git" warning when submodules not initialized 2018-05-14 16:07:27 +08:00
Angus Gratton
c94a5ecfdd mbedtls: Add mbedtls submodule check to build system 2018-05-14 16:07:18 +08:00
Jiang Jiang Jian
d4276efed7 Merge branch 'bugfix/bluedroid_const_char' into 'master'
Bluedroid: remove warnings about discarding "const" for "const char*"

See merge request idf/esp-idf!2387
2018-05-14 15:25:45 +08:00
Roland Dobai
4345e198ce Implement VFS support for access()
Closes https://github.com/espressif/esp-idf/issues/1085
2018-05-14 09:04:18 +02:00
XiaXiaotian
57297cf7b7 add sniffer control packet support 2018-05-14 14:16:03 +08:00
Liu Zhi Fu
1c81e4be60 esp32: fix interrupt list insert issue
If the allocated interrupt list is not empty and the new item will be inserted
as the header of the list, insert_vector_desc() causes crash because pre is
null. This commit fix this issue.
2018-05-14 14:13:08 +08:00
He Yin Ling
adc3315677 Merge branch 'test/add_unit_test_jobs' into 'master'
ci: increase number of unit test jobs, temporarily disable light sleep test for short durations

See merge request idf/esp-idf!2386
2018-05-14 14:06:05 +08:00
kooho
1bebec05c6 driver(ledc): fix duty and fade issues and add thread-safe version APIs.
1. Fix the duty fade check issue reported from https://github.com/espressif/esp-idf/issues/1914
2. Fix the duty overflow issue when duty_scale is set to 1.
3. Fix the duty fade error when a fade operation is under way. We must configure a new duty setting after the previous fade operation has finished due to hardware limit.
4. Add thread-safe version APIs to set duty and fade.
5. Correct the duty range in driver.
2018-05-14 12:27:21 +08:00
Angus Gratton
e23ee9fa73 Merge branch 'bugfix/ledc_error' into 'master'
ledc driver: Clarify logging of function argument errors

See merge request idf/esp-idf!2380
2018-05-14 09:16:02 +08:00
Angus Gratton
6817088ce4 Merge branch 'feature/mbedtls_2_9_0' into 'master'
Re-add mbedTLS as a submodule, update to 2.9.0

See merge request idf/esp-idf!2367
2018-05-14 09:15:44 +08:00
Angus Gratton
64c52022b9 Merge branch 'bugfix/add_comments_for_adc' into 'master'
driver(adc): Add descriptions that starting ADC can trigger interrupt of GPIO36…

See merge request idf/esp-idf!1910
2018-05-11 18:54:40 +08:00
Ivan Grokhotkov
1b7ed6455b esp32/test: temporarily disable test for light sleep duration
Until the issue in CI is debugged
2018-05-11 18:15:58 +08:00
Angus Gratton
3a53e35fe8 Merge branch 'bugfix/vfs_append' into 'master'
VFS: use O_APPEND flag of open() correctly

See merge request idf/esp-idf!2382
2018-05-11 18:12:47 +08:00
Roland Dobai
2041c08681 Bluedroid: remove warnings about discarding "const" for "const char*" 2018-05-11 11:29:10 +02:00
kooho
d53661a663 driver(adc): add descriptions for the issue that starting ADC can trigger interrupt of GPIO36 and GPIO39. 2018-05-11 17:08:58 +08:00
Ivan Grokhotkov
b840a09900 ci: increase number of unit test jobs 2018-05-11 16:42:52 +08:00
Jiang Jiang Jian
a5f36ec2d5 Merge branch 'feature/wifi_refactor_smartconfig' into 'master'
refactor smartconfig

See merge request idf/esp-idf!2205
2018-05-11 16:23:22 +08:00
Jiang Jiang Jian
5616491c50 Merge branch 'bugfix/i2s_dma_buf_alloc' into 'master'
i2s: fix issue in dma descriptor allocation if SPIRAM is enabled

See merge request idf/esp-idf!2383
2018-05-11 16:03:40 +08:00
Jiang Jiang Jian
66406e1f64 Merge branch 'bugfix/upate_ble_a2dsink_example' into 'master'
example(ble):  Update ble a2d_sink example

See merge request idf/esp-idf!2105
2018-05-11 15:59:14 +08:00
Jiang Jiang Jian
41228c83c7 Merge branch 'bugfix/dhcp_server_max_limit' into 'master'
dhcp/dhcpserver Fix max station limit check in dhcp server

See merge request idf/esp-idf!2298
2018-05-11 15:50:38 +08:00
Jiang Jiang Jian
325920046f Merge branch 'bugfix/btdm_conn_fail_after_deinit_and_init_spp' into 'master'
component/bt: Fix can't be connected if init SPP again after SPP deinit

See merge request idf/esp-idf!2369
2018-05-11 15:38:03 +08:00
Jiang Jiang Jian
41ba013bd4 Merge branch 'bugfix/btdm_fix_service_change_write_busy' into 'master'
Component/bt: fix service change write busy

See merge request idf/esp-idf!2359
2018-05-11 15:20:04 +08:00
Jiang Jiang Jian
c1e0f029d1 Merge branch 'bugfix/btdm_a2dp_disconn_state_when_connecting_with_iphone' into 'master'
component/bt: Fix bug a2dp have disconnect state when connecting with iphone 7

See merge request idf/esp-idf!2288
2018-05-11 14:59:34 +08:00
Ivan Grokhotkov
827772df69 Merge branch 'bugfix/light_sleep_wdt_fix' into 'master'
Fix occasional WDT reset in light sleep test

See merge request idf/esp-idf!2374
2018-05-11 14:55:51 +08:00
XiaXiaotian
0033c3ef3a refactor smartconfig
move wifi part to wifi lib and lwip part to idf
2018-05-11 14:49:35 +08:00
Roland Dobai
733ff15719 VFS: use O_APPEND flag of open() correctly
Closes https://github.com/espressif/esp-idf/pull/1455
2018-05-11 08:28:22 +02:00
Ivan Grokhotkov
12f707932f log: clean up docs, clarify esp_log_level_set usage
Closes https://github.com/espressif/esp-idf/issues/1713
2018-05-11 13:55:16 +08:00
Jiang Jiang Jian
4903fd0951 Merge branch 'bugfix/tw18980_fix_some_potential_thread_safe_issue' into 'master'
wifi: fix some potential thread safe issue

See merge request idf/esp-idf!2366
2018-05-11 10:25:58 +08:00
Mahavir Jain
b2a1a79eb4 i2s: fix issue in dma descriptor allocation if SPIRAM is enabled
It has been observed that, if external SPIRAM is enabled, then under
certain scenarios (e.g. internal memory being too much fragmented),
I2S tx/rx descriptors can land in external SPIRAM and hence resulting
in failure in DMA. Adding explicit capability to allocate in only DMA
capable memory.

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-05-10 18:26:01 +05:30
Angus Gratton
feb64c3be6 ledc driver: Clarify logging of function argument errors
Some parameter errors did not specify which parameter was invalid.

Adds a new macro to name the invalid param.
2018-05-10 17:21:35 +08:00
zhangyanjiao
be76260d81 wifi: fix some potential thread safe issue
change some API function to throw event:

esp_wifi_deauth_sta
esp_wifi_get_country
esp_wifi_ap_get_sta_list
esp_wifi_sta_get_ap_info
esp_wifi_stop
esp_wifi_get_channel
esp_wifi_get_protocol
esp_wifi_get_bandwidth
2018-05-10 16:24:43 +08:00
baohongde
dfbc59f1c2 component/bt: Fix can't be connected if init SPP again after SPP deinit 2018-05-10 16:16:25 +08:00
Ivan Grokhotkov
ade14518ef Merge branch 'feature/vfs_small_fds' into 'master'
Use smaller numbers as file descriptors

See merge request idf/esp-idf!2300
2018-05-10 14:29:34 +08:00
zhiweijian
b7a5fef871 Component/bt: fix crash without SMP when deinit bluedroid
- fix crash without SMP when bluedroid deinit
- modify default menuconfig in blufi demo
2018-05-10 11:39:34 +08:00
Ivan Grokhotkov
800d9f00a8 ci: add extra UT test job 2018-05-09 23:53:56 +08:00
Ivan Grokhotkov
7dada45d60 mbedtls: enable deprecation warnings when building unit tests 2018-05-09 23:15:28 +08:00
Ivan Grokhotkov
dbc919eff5 mbedtls: update usage of mbedtls_aes_encrypt/decrypt 2018-05-09 23:15:28 +08:00
Ivan Grokhotkov
aad51ea8a0 mbedtls/port: don’t re-declare mbedtls_shaX functions
ALT header files for sha1, sha256, sha512 are only supposed to declare
mbedtls_sha1_context data structure. Function prototypes should come
from original header files.
2018-05-09 23:15:28 +08:00
Ivan Grokhotkov
254e29aca4 mbedtls: update usage of deprecated mbedtls_shaX APIs
The following mbedTLS APIs have been deprecated and replaced with the
new ones which return error codes:

mbedtls_shaX_starts -> mbedtls_shaX_starts_ret
mbedtls_shaX_update -> mbedtls_shaX_update_ret
mbedtls_shaX_finish -> mbedtls_shaX_finish_ret
mbedtls_shaX_process -> mbedtls_shaX_internal_process

Update hardware implementations of SHA functions, and other IDF
components which used above functions, to use new versions.
2018-05-09 23:15:28 +08:00
Ivan Grokhotkov
e9cbf96bd1 mbedtls: re-add version 2.9.0 as a submodule 2018-05-09 23:15:28 +08:00
Ivan Grokhotkov
8c307a5720 sleep: fix deadlock in esp_timer_impl_advance after light sleep
When light sleep is started, the other CPU gets halted using DPORT
stall mechanism. This can happen while it is inside an esp_timer
critical section, which may lead to a deadlock. This change adds
functions to take and release esp_timer lock before entering
DPORT critical section, preventing the deadlock.
2018-05-09 22:52:50 +08:00
Ivan Grokhotkov
296b280801 esp_timer: fix esp_timer_impl_advance not triggering expired timers 2018-05-09 22:52:41 +08:00
zhiweijian
cb59576dd0 Component/bt: fix service change write busy 2018-05-09 20:49:26 +08:00
zhiweijian
58b2cb3e0c Component/bt: update con params is rejected in smp when reconnection 2018-05-09 20:28:13 +08:00
Jiang Jiang Jian
b9aee83d9b Merge branch 'feature/put_supplicant_source_code_from_VNC_to_IDF' into 'master'
wpa_supplicant: move part of codes to IDF

See merge request idf/esp-idf!2272
2018-05-09 15:19:37 +08:00
XuanZe
3b44e24db0 Update index.rst. Merges https://github.com/espressif/esp-idf/pull/1747 2018-05-09 07:30:54 +02:00
Deng Xin
b00d256d5b wpa_supplicant:move part of codes to IDF 2018-05-09 10:44:35 +08:00
Angus Gratton
829e6c44f1 cmake docs: Specify feature/cmake branch when cloning from Github
As mentioned here https://github.com/espressif/esp-idf/issues/1906#issuecomment-387377493
2018-05-08 22:05:43 +08:00
Ivan Grokhotkov
a2556229aa Merge branch 'bugfix/uart_fix_get_baudrate_error_bug' into 'master'
driver(uart):   Fix uart_get_baudrate incorrect return value when using ref_tick

See merge request idf/esp-idf!2295
2018-05-08 20:25:13 +08:00
Angus Gratton
81e48ca31f Merge branch 'cmake/docs' into 'feature/cmake'
cmake preview: Update docs

See merge request idf/esp-idf!2348
2018-05-08 17:54:39 +08:00
michael
197f594b06 fix(spi): fix the issue when bus flag not set, dual mode cannot be used. 2018-05-08 15:47:26 +08:00
michael
28beafc624 fix(spi): fix the issue that native pins don't work after SPI initialized before 2018-05-08 15:47:25 +08:00
Michael (XIAO Xufeng)
1f085b1a3b feat(gpio): add function allowing switching input source from GPIO back to IOMUX 2018-05-08 15:47:25 +08:00
Angus Gratton
bb1f3ae264 Merge branch 'feature/psram_configure_in_runtime' into 'master'
feature(psram): update psram and flash SPI frequency in runtime

See merge request idf/esp-idf!1776
2018-05-08 15:23:47 +08:00
Angus Gratton
526496ba20 ci: Allow bot to control branch used for esp-idf-template 2018-05-08 14:44:25 +08:00
Jiang Jiang Jian
139a8a2745 Merge branch 'bugfix/optimize_coexist_performance' into 'master'
component/esp32 : improve wifi and bluetooth coexistence performance

See merge request idf/esp-idf!2349
2018-05-08 11:11:03 +08:00
Tian Hao
8cd9deed5c component/esp32 : improve wifi and bluetooth coexistence performance
1. update coexistence and wifi libraries. Coexist version update to
v0.9.2
2. Cancel the restriction of use AMPDU when SW_COEXIST_ENABLE is y.
2018-05-07 19:55:41 +08:00
Angus Gratton
6f31674b28 cmake: Add ESPORT/ESPBAUD environment variables to idf.py & docs 2018-05-07 18:45:49 +08:00
Angus Gratton
b7ddb0c3d3 Revert "docs: Temporarily allow cmake docs to be in English only"
This reverts commit d5a5897140.
2018-05-07 18:45:49 +08:00
Angus Gratton
c7f19e76d7 docs: Move main docs to cover CMake
Add "GNU Make build system" doc with "cheat sheet" for moving to new system
2018-05-07 18:45:49 +08:00
Ivan Grokhotkov
c8fbf962bc Merge branch 'bugfix/docs_nvs_example_link' into 'master'
docs: Fix broken link in nvs examples

See merge request idf/esp-idf!2360
2018-05-07 17:13:07 +08:00
Jiang Jiang Jian
db90f49758 Merge branch 'bugfix/update_emac_h' into 'master'
update emac_reg_v2.h

See merge request idf/esp-idf!2050
2018-05-07 16:16:52 +08:00
Anuj Deshpande
6238459dd7 docs: Fix broken link in nvs and jtag example
- Closes https://github.com/espressif/esp-idf/issues/1922
2018-05-07 12:38:20 +05:30
Roland Dobai
80ff8d55ac bluedroid: use the new socket registering API 2018-05-07 09:01:56 +02:00
Roland Dobai
5129bca67c VFS: Use smaller numbers as file descriptors 2018-05-07 09:01:56 +02:00
Angus Gratton
06082d9308 Merge branch 'doc/spi_master_thread_safety' into 'master'
driver: Add notes to SPI driver docs about thread safety

See merge request idf/esp-idf!2354
2018-05-07 14:49:41 +08:00
Jiang Jiang Jian
dc13f489ca Merge branch 'bugfix/fix_two_wifi_bugs' into 'master'
esp32: fix two wifi bugs

See merge request idf/esp-idf!2352
2018-05-07 14:00:24 +08:00
Ivan Grokhotkov
21a6d09bb9 Merge branch 'bugfix/mdns_print_results' into 'master'
mdns: fix potential NULL pointer dereference in mdns_print_results

See merge request idf/esp-idf!2353
2018-05-07 13:50:52 +08:00
Ivan Grokhotkov
73ec743a0a Merge branch 'bugfix/nvs_page_compaction' into 'master'
nvs: Fix recovery from power-off while page is being freed

See merge request idf/esp-idf!2327
2018-05-07 09:08:23 +08:00
Ivan Grokhotkov
60a0f25450 Merge branch 'bugfix/docs_conf_py3_compat' into 'master'
docs: make conf.py python3 compatible

See merge request idf/esp-idf!2344
2018-05-07 09:07:44 +08:00
Angus Gratton
b90ad81f22 driver: Add notes to SPI driver docs about thread safety 2018-05-07 09:03:48 +08:00
Liu Zhi Fu
a9dfa06125 esp32: fix two wifi bugs
1. Fix the bug that WiFi receives duplicate MPDU
2. Deauth the station if soft-AP already has max WiFi connections
2018-05-06 17:29:06 +08:00
baohongde
cbab7fec76 component/bt: Fix bug a2dp have disconnect state when connecting with iphone 7 2018-05-04 19:44:40 +08:00
Jiang Jiang Jian
b827e0e331 Merge branch 'feature/btdm_get_end_handle_when_get_include_service' into 'master'
Component/bt: get end_handle when get include services

See merge request idf/esp-idf!2319
2018-05-04 19:31:43 +08:00
Jiang Jiang Jian
ade78d3850 Merge branch 'bugfix/btdm_fix_version_excahnge_issue' into 'master'
Component/bt: fix version exchange issue

See merge request idf/esp-idf!2329
2018-05-04 19:30:03 +08:00
Jiang Jiang Jian
25440cbc23 Merge branch 'bugfix/tw12351_wifi_lock_op' into 'master'
esp32: optimize wifi lock

See merge request idf/esp-idf!2345
2018-05-04 19:27:14 +08:00
Jiang Jiang Jian
4c3451c0bf Merge branch 'bugfix/modify_default_flash_freq_to_40M_for_iperf_example' into 'master'
example: set default SPI flash mode to 40Mhz for iperf example

See merge request idf/esp-idf!1928
2018-05-04 19:25:20 +08:00
Jiang Jiang Jian
dc7280c1d9 Merge branch 'bugfix/tw20575_fix_potential_phy_calibration_bug' into 'master'
esp32: fix potential PHY calibration bug

See merge request idf/esp-idf!2339
2018-05-04 19:24:05 +08:00
Angus Gratton
8453806a8c idf.py: Fix 'idf.py monitor' build & flash targets 2018-05-04 16:05:25 +10:00
Liu Zhi Fu
017f109f6e esp32: optimize wifi lock
Replace portENTER_CRITICAL/portEXIT_CRITICAL with semaphore lock if
the protected resource is only accessed by different tasks
2018-05-04 10:36:04 +08:00
kooho
0dca2d4c68 driver(uart): Fix uart_get_baudrate incorrect return value when using ref_tick 2018-05-04 09:41:41 +08:00
Angus Gratton
aa66a0c848 Merge branch 'bugfix/fix_typos_in_docs' into 'master'
Fix few typos in the docs

See merge request idf/esp-idf!2343
2018-05-04 08:40:44 +08:00
Ivan Grokhotkov
e3a5974651 docs: make conf.py python3 compatible 2018-05-04 02:31:57 +08:00
Jiang Jiang Jian
04384cb37a Merge branch 'feature/btdm_get_and_remove_bond_device' into 'master'
component/bt: Add APIs of get and remove bond device

See merge request idf/esp-idf!2323
2018-05-03 20:58:51 +08:00
Hrishikesh Dhayagude
d530036ad1 Fix few typos in the docs
Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-05-03 18:20:16 +05:30
baohongde
c22c070e07 component/bt: Add APIs of get and remove bond device
1. Add APIs of get and remove bond device
2. Add ESP_BT_GAP_AUTH_CMPL_EVT
2018-05-03 19:05:57 +08:00
Liu Zhi Fu
402dee17a1 esp32: fix potential PHY calibration bug
1. Add error log if failed to store calibration version/mac/data
2. Change the NVS calibration version/mac/data store sequence
3. Pass the init_data instead of NULL to esp_phy_rf_init() in esp_phy_load_cal_and_init()
2018-05-03 15:48:14 +08:00
Jeroen Domburg
22c1b8d4b7 Merge branch 'example/spi_ili_document' into 'master'
example(spi_master): add documentation for LCD commands

See merge request idf/esp-idf!2269
2018-05-03 12:39:34 +08:00
Michael (XIAO Xufeng)
dd91152589 example(spi_master): add descriptions about LCD example 2018-05-03 11:48:26 +08:00
Liu Zhi Fu
b4ca03c48b example: set default SPI flash mode to 40Mhz for iperf example
Set default SPI flash frequency to 40Mhz for iperf example to avoid random crash for ESP32-WROVER-KIT (v3).
2018-05-03 10:42:34 +08:00
Jiang Jiang Jian
444d6606e7 Merge branch 'bugfix/mark_auto_connect_api_as_obsolete' into 'master'
esp32: mark WiFi auto connect API as deprecated

See merge request idf/esp-idf!1970
2018-05-03 10:40:27 +08:00
Angus Gratton
ec536b3961 Merge branch 'bugfix/wifi_log_level' into 'master'
wifi: Set default wifi library log level based on sdkconfig

See merge request idf/esp-idf!2334
2018-05-03 10:21:19 +08:00
Ivan Grokhotkov
0d65f3b7f9 Merge branch 'bugfix/light_sleep_fixes' into 'master'
light sleep fixes

See merge request idf/esp-idf!2242
2018-05-02 20:09:36 +08:00
Ivan Grokhotkov
34816ff008 Merge branch 'bugfix/free_mem_console' into 'master'
Free allocations in command.c after error conditions

See merge request idf/esp-idf!2332
2018-05-02 15:48:31 +08:00
Ivan Grokhotkov
5cc966e5b4 Merge branch 'feature/aws_iot_mqtt_on_443' into 'master'
aws_iot: add support for MQTT TLS over port 443

See merge request idf/esp-idf!2292
2018-05-02 15:43:29 +08:00
Ivan Grokhotkov
57630bf5ec Merge branch 'bugfix/cjson_include_objs' into 'master'
cJSON : Include only source file objects

See merge request idf/esp-idf!2326
2018-05-02 15:42:59 +08:00
Sagar Bijwe
7ae1df1c5e nvs: Fix recovery from power-off while page is being freed
Currently when page is being freed, items are individually moved from
FREEING page to ACTIVE page and erased. If power-off happens during the
process, the remaining entries are moved to ACTIVE page during recovery.
The problem with this approach is there may not be enough space on
ACTIVE page for all items if an item was partially written before
power-off and erased during recovery. This change moves all the items
from FREEING to ACTIVE page and then erased the FREEING page, If
power-off happens during the process, then ACTIVE page is erased and the
process is restarted.
2018-05-02 12:18:02 +05:30
Angus Gratton
b9126e69bc wifi: Set default wifi library log level based on sdkconfig
Has to be set at runtime, due to precompiled wifi libraries.

Prompted by discussion on forum: https://esp32.com/viewtopic.php?f=2&t=5570&p=24216#p24216
2018-05-02 15:11:21 +10:00
Ivan Grokhotkov
5f956125c1 Merge branch 'feature/mfg_bin_create_utility' into 'master'
nvs_flash: Add external binary creation support for NVS partition.

See merge request idf/esp-idf!2031
2018-05-02 11:58:38 +08:00
Liu Zhi Fu
c23915939d esp32: mark WiFi auto connect API as obsolete
Mark esp_wifi_set/get_auto_connect as obsolete
2018-05-02 09:54:31 +08:00
Jiang Jiang Jian
1e8ab3d18e Merge branch 'bugfix/gap_appearance_fixes' into 'master'
components/bt: Make modifications to the support of GAP appearance/icon characteristic

See merge request idf/esp-idf!2249
2018-05-01 23:00:24 +08:00
Jiang Jiang Jian
0bb551c051 Merge branch 'bugfix/btdm_prepare_write_status_correct' into 'master'
component/bt: Check the value received from the peer device when sent the data used prepare write.

See merge request idf/esp-idf!2320
2018-05-01 22:57:20 +08:00
Jiang Jiang Jian
95cbdd76dc Merge branch 'feature/btdm_read_bredr_rssi' into 'master'
component/bt : add class bt read RSSI delta (golden range)

See merge request idf/esp-idf!2325
2018-05-01 22:55:50 +08:00
Angus Gratton
48c3ad37f1 docs/cmake: Add some notes about need to set IDF_PATH and/or PATH in certain configurations 2018-05-01 17:27:39 +10:00
Angus Gratton
9ec14decce cmake: Fix idf_size.py merge errors 2018-05-01 17:27:39 +10:00
Angus Gratton
68282cf80b heap/cmake: Fix linking error when heap tracing is enabled 2018-05-01 17:27:39 +10:00
Angus Gratton
2fadf8a000 cmake docs: Fix variable expansion when adding tools dir to PATH 2018-05-01 17:27:39 +10:00
Angus Gratton
c7307de63e cmake: Automatically pull in winpty for menuconfig, monitor if needed 2018-05-01 17:27:39 +10:00
Angus Gratton
c42b791aaa cmake: Use prebuilt mconf on Windows
Closes https://github.com/espressif/esp-idf/issues/1905
2018-05-01 17:27:39 +10:00
Anuj Deshpande
87adbd3229 console: Fix formatting 2018-04-30 14:22:45 +05:30
Anuj Deshpande
b3894dba97 console: Free alloc'd memory after error conditions
Closes https://github.com/espressif/esp-idf/issues/1901
2018-04-30 14:21:03 +05:30
Anuj Deshpande
9356d6af3f cJSON : Include only source file objects
- test.c can cause issues if there is another main function
- Closes https://github.com/espressif/esp-idf/issues/1883
2018-04-30 13:51:54 +05:30
Wayne Keenan
be707f1c6b Fix potential NULL pointer dereference crash. 2018-04-30 08:03:35 +01:00
Angus Gratton
f6db61e4f4 cmake docs: Fix Windows tools installer download URL 2018-04-30 15:44:05 +10:00
Angus Gratton
918c4b4c48 Temporarily add feature/cmake to the list of branches we auto-push to github 2018-04-30 10:18:33 +10:00
Angus Gratton
d5a5897140 docs: Temporarily allow cmake docs to be in English only 2018-04-30 10:18:33 +10:00
Angus Gratton
99e02d4e42 windows: New ESP-IDF Tools Installer
Working on 64-bit Windows only due to Ninja binary.
2018-04-30 10:18:33 +10:00
Angus Gratton
381be65472 cmake: Build all examples in CI
Includes some fixes for compile errors/warnings in examples.
2018-04-30 10:18:33 +10:00
Angus Gratton
858b95a924 cmake: Add build system tests 2018-04-30 09:59:20 +10:00
Angus Gratton
1cb5712463 cmake: Add component dependency support
Components should set the COMPONENT_REQUIRES & COMPONENT_PRIVATE_REQUIRES variables to define their
requirements.
2018-04-30 09:59:20 +10:00
Angus Gratton
4a2f1f0354 esptool: Add note that ESPTOOLPY_PORT & ESPTOOLPY_BAUD are ignored when using idf.py 2018-04-30 09:59:20 +10:00
Angus Gratton
56902f0054 cmake: Write configuration & component metadata to project_description.json 2018-04-30 09:59:20 +10:00
Angus Gratton
f1d3bfc0c7 cmake: Add new flasher_args.json file for IDE parsing, document metadata files better 2018-04-30 09:59:20 +10:00
Angus Gratton
2a3e2b8eed doc: Use confgen.py to build docs from same code path as config generation 2018-04-30 09:59:20 +10:00
Angus Gratton
b44c8b125f cmake: Style cleanup, add cmake linter to gitlab CI 2018-04-30 09:59:20 +10:00
Angus Gratton
2ea359ad0c cmake: Cleanups to work with Windows 2018-04-30 09:59:20 +10:00
Angus Gratton
6bdc49b6e4 cmake: set CCACHE_BASEDIR & CCACHE_NOHASHDIR when using ccache
Dramatically improves build performance when building multiple
projects in different directories.
2018-04-30 09:59:20 +10:00
Angus Gratton
800bffb8b0 cmake: Add CMakeLists.txt files for all examples
Generating using convert_to_cmake.py, with some minor cleanup
2018-04-30 09:59:20 +10:00
Angus Gratton
9d88d13f77 cmake: convert_to_cmake.py script for converting IDF GNU Make projects 2018-04-30 09:59:20 +10:00
Angus Gratton
2816cf1d67 cmake: Change data_file_to_c to data_file_embed_asm for objcopy compatibility
Now generates _binary_filename_start / _binary_filename_end as well as more useful naming.
2018-04-30 09:59:20 +10:00
Angus Gratton
b57843b66a cmake: Linker scripts need to account for .c.obj extension as well as .o 2018-04-30 09:59:20 +10:00
Angus Gratton
12be399762 cmake: Add link-time dependencies for linker script files
Requires some hackery around limitations in CMake's LINK_DEPENDS
2018-04-30 09:59:20 +10:00
Angus Gratton
bc1693aae3 cmake: Fix SPIRAM options 2018-04-30 09:59:20 +10:00
Angus Gratton
88df8fd293 cmake: Use cmake_lint project, tidy up all CMake source files 2018-04-30 09:59:20 +10:00
Angus Gratton
15d5e88618 cmake: Automatically include ccache if it's on the path 2018-04-30 09:59:20 +10:00
Angus Gratton
9f8cdd3572 cmake: Add "Preview release" getting start guide & build system documentation 2018-04-30 09:59:20 +10:00
Angus Gratton
95e17d6d92 cmake: Allow GetGitRevisionDescription to take arbitrary directory paths 2018-04-30 09:59:20 +10:00
Angus Gratton
7d9ba66f83 idf.py: Add reconfigure command 2018-04-30 09:59:20 +10:00
Angus Gratton
4d7bc8e8ba idf.py: Improve status output, error message output 2018-04-30 09:59:20 +10:00
Angus Gratton
abef220b13 cmake: Allow selecting toolchain file based on config
Refactor IDF "project" functionality under a wrapping of the default
"project" command, so we can tweak it a bit...

Will need more testing in other environments.
2018-04-30 09:59:20 +10:00
Angus Gratton
04a944598f cmake: Export compile_commands.json as part of build 2018-04-30 09:59:20 +10:00
Angus Gratton
e94db98e73 link bootloader to libgcc (shouldn't be necessary, is necessary...) 2018-04-30 09:59:20 +10:00
Angus Gratton
efb5928934 idf.py build & flash tool
Generate flasher args files & .json project info file as part of cmake build
2018-04-30 09:59:20 +10:00
Angus Gratton
7eaf2f4bdb kconfig: Allow out of tree building, build under cmake build directory 2018-04-30 09:59:20 +10:00
Angus Gratton
cb99531d15 cmake: Generate PHY init data partition as part of the build 2018-04-30 09:59:20 +10:00
Angus Gratton
0bdc12256e cmake: Add "size" target, update idf_size.py for different linker behaviour 2018-04-30 09:59:20 +10:00
Angus Gratton
1f8e07fd8f cmake: Add sdkconfig.defaults support 2018-04-30 09:59:20 +10:00
Angus Gratton
be962a9444 cmake: Re-run cmake if submodule commits change or a submodule is deinit-ed 2018-04-30 09:59:20 +10:00
Angus Gratton
4f1a856dbf cmake: Remove defaults for COMPONENT_SRCDIRS, COMPONENT_SRCS, COMPONENT_ADD_INCLUDEDIRS
* Philosophical: "explicit is better than implicit".
* Practical: Allows useful errors if invalid directories given in components as the defaults aren't
  always used. Also trims the -I path from a number of components that have no actual include
  directory.
* Simplifies knowing which components will be header-only and which won't
2018-04-30 09:59:20 +10:00
Angus Gratton
3fac2b2ddc cmake: Refactor bootloader_subproject into the bootloader component itself 2018-04-30 09:59:20 +10:00
Angus Gratton
674d398c93 cmake: Add partition table, and .bin file targets 2018-04-30 09:59:20 +10:00
Angus Gratton
3ae4822115 cmake: Add partition table generation 2018-04-30 09:59:20 +10:00
Angus Gratton
97e01a4c4d cmake: Remove stray tab 2018-04-30 09:59:20 +10:00
Angus Gratton
ce6748873d cmake: Add embedding files in components support
Add subscribe_publish AWS example and fixes to allow it to build.
2018-04-30 09:59:20 +10:00
Angus Gratton
134f2238bd cmake: Refactor main cmake project logic 2018-04-30 09:59:20 +10:00
Angus Gratton
7f29593a7d cmake: Bootloader subproject & "clean" cleanup 2018-04-30 09:59:20 +10:00
Angus Gratton
067a19ad88 cmake: Move global IDF-specific compiler/linker options out of the toolchain file
Should restore compatibility with cmake pre-v3.7
2018-04-30 09:59:20 +10:00
Angus Gratton
f04525095f cmake: Move third-party cmake modules to their own directory 2018-04-30 09:59:20 +10:00
Angus Gratton
68e75dd0df cmake: Detect missing or out of date submodules during cmake pass 2018-04-30 09:59:20 +10:00
Angus Gratton
35f521afb6 cmake: Add toolchain version check 2018-04-30 09:59:20 +10:00
Angus Gratton
99a2359c5c confgen: Create config file if missing 2018-04-30 09:59:20 +10:00
Angus Gratton
c671a0c3eb build system: Initial cmake support, work in progress 2018-04-30 09:59:20 +10:00
Angus Gratton
a538644560 config: Add new Python & kconfiglib-based config management tool 2018-04-30 09:59:20 +10:00
Jiang Jiang Jian
5a080ee37a Merge branch 'bugfix/btdm_genrate_hash_key_by_bluedroid' into 'master'
component/bt: Added the hash key generated directly in the bluedroid module.

See merge request idf/esp-idf!2321
2018-04-28 16:42:27 +08:00
zhiweijian
5549ea3439 Component/bt: fix version exchange issue
- Android 7.0 version issue
- version exchange late in some phones
- can not get version in smp
2018-04-28 16:32:24 +08:00
Hrishikesh Dhayagude
fd7baaf4ba components/bt: Make modifications to the support of GAP appearance/icon
characateristic

1. In addition to mentioning in the documentation, use the standard appearance
   values already present and return appropriate error in case an incorrect
   value is passed
2. Add ESP_BLE_APPEARANCE* macros corresponding to BTM_BLE_APPEARANCE*
and use them from the API instead
3. Add the missing appearance parameter values from
https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.gap.appearance.xml
4. Fix some minor typos

Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-04-28 13:59:36 +05:30
zhiweijian
e236ffd91f Component/bt: get end_handle when get include services 2018-04-28 16:27:25 +08:00
Yulong
6c20bc3203 component/bt: Added the hash key generated directly in the bluedroid module.
1. Change all the hash used from the coap module to generated by the bluedroid module directly.

component/bt: Added the <string.h> include file to the gattc_co module to avoid compile error.
2018-04-28 03:11:05 -04:00
Jiang Jiang Jian
ee9ab48347 Merge branch 'feature/btdm_bt_spp_vfs' into 'master'
component/bt: Add SPP profile with VFS

See merge request idf/esp-idf!1883
2018-04-28 15:10:07 +08:00
Jiang Jiang Jian
25798b0e3a Merge branch 'feature/btdm_ble_throughput_optimiz' into 'master'
Feature/btdm ble throughput optimiz

See merge request idf/esp-idf!2265
2018-04-28 15:01:39 +08:00
baohongde
d95d0ececb component/bt: Add SPP profile with VFS 2018-04-28 11:36:22 +08:00
Yulong
fd3162d831 component/bt: Added the server test for the bit rate test.
component/bt: optimiz the code
component/bt: optimiz the code.
component/bt: added the l2c change.
component/bt: Added the modified.
component/bt: change the indicate callback function.

component/bt: added the BLE throughput test gattc & gatts example.

component/bt: Change the sdkconfig.default CONFIG_GATTS_NOTIFY_THROUGHPUT setting.

component/bt: Change the throughput_client_task delay method.

component/bt: change the btu task size from 4096 to 5096

comonent/bt: close the print when congest.

component/bt: Added the CPU frequency set method to the readme file.

component/bt: Change the gatts_demo_char1_val to gl_profile_tab[PROFILE_A_APP_ID].char_handle to avoid make error.

example/ble_throughput: Added the Readme explanation.

component/bt: Added the bt lib change.

component/bt: Update the bt lib & Change the LOG level from ERROR to DEBUG when congest.

component/bt: Fixed the bug of timer start assign error.

component/bt: Change back the gattc & gatts demo with same as the master.

example/ble_throughput: Fixed the bug when prepare write of the ble throughput.

component/bt: Update the check_sum algorithm.

component/bt: Change Added the path when used the include file of "l2cdefs.h" & "l2c_api.h".

example/throughput_client: Added the Freertos related header files to ble throughput client demo to avoid compile error.
2018-04-27 23:02:10 -04:00
Jiang Jiang Jian
051d8d6900 Merge branch 'bugfix/tw19728_support_static_allocation_of_freertos_queue_used_by_isr_v3.1' into 'master'
esp32/bt/driver: support static allocation of FreeRTOS queues used by ISR routine (merged from v3.0)

See merge request idf/esp-idf!2317
2018-04-27 20:31:51 +08:00
Yulong
8f015e3e48 component/bt: Check the value received from the peer device when sent the data used prepare write.
component/bt: Fix misspellings of "corret" in comments in bta_gattc_write_cmpl function.
2018-04-27 08:20:01 -04:00
Liu Zhi Fu
ed46976f41 esp32/bt/driver: support static allocation of FreeRTOS queues used by ISR routine
Support static allocation of FreeRTOS queues used by ISR routine in WiFi/BT/esp_timer/driver etc
2018-04-27 15:02:30 +08:00
Tian Hao
8646913cbf component/bt : add class bt read RSSI delta (golden range) 2018-04-27 14:33:47 +08:00
Jiang Jiang Jian
cc2d1fda96 Merge branch 'bugfix/btdm_modify_include_path' into 'master'
component/bt : modify header files to avoid conflict

See merge request idf/esp-idf!2195
2018-04-27 12:01:46 +08:00
Jiang Jiang Jian
44c3318749 Merge branch 'mesh/feature_fix_root' into 'master'
Mesh/feature fix root

See merge request idf/esp-idf!2308
2018-04-27 10:56:35 +08:00
Tian Hao
b9855df44e example: fix ble hid device demo include 2018-04-27 10:52:55 +08:00
qiyueixa
ebd1849e18 mesh: add fix root function 2018-04-26 21:15:35 +08:00
Ivan Grokhotkov
94250e42a0 sleep: optimize light sleep wakeup latency 2018-04-26 19:36:47 +08:00
Tian Hao
adada3f67e component/bt : modify header files to avoid conflict
1. add the L1 include path with a prefix, such like osi/list.h, stack/a2d_api.h and etc.
2. modify component, only bluedroid/api/include/api is export to another component and application,
   other include path just for bluedroid used
3. put bluedroid/include into common/include/common, so the root directory of bluedroid have no include path.
4. modify doxygen to use esp_bt.h and redirect to
component/bt/bluedroid/api/include/api/

fix compile
2018-04-26 19:32:06 +08:00
Ivan Grokhotkov
ac623a9756 soc/rtc: restore dbg attenuation when waking from sleep
This fixes inability to enter deep sleep after waking up from light sleep
2018-04-26 18:52:46 +08:00
Ivan Grokhotkov
d38b22b11b soc/rtc, sleep: don’t lower the bias for wakeup state
This fixes watchdog resets occurring during wakeup from light sleep.
2018-04-26 18:52:45 +08:00
Ivan Grokhotkov
b0a91630fb soc/rtc: allow main XTAL to be powered on in sleep 2018-04-26 18:52:45 +08:00
Ivan Grokhotkov
3c78faa0a9 soc/rtc: don’t switch frequency in rtc_sleep_init 2018-04-26 18:52:45 +08:00
Ivan Grokhotkov
487210221b esp_timer: add internal function to adjust time 2018-04-26 18:52:45 +08:00
Ivan Grokhotkov
48379b8bbe unit-test.py: increase timeout for test app start up 2018-04-26 18:52:45 +08:00
Ivan Grokhotkov
c61c2a63d0 unity: flush test name before starting the test, use printf everywhere
Unit test runner expects to see the test name echoed after test
selection is made. If the unit test immediately goes into sleep mode,
UART output will not be complete, and test runner will not see the
test name. This flushes the stream buffer and waits for UART FIFO to
be empty before starting the test.

Additionally some parts of code used unity_printf and some used
printf. Since unity_printf was only useful during very early tests
when newlib was not available, replace all its usages with printf.
2018-04-26 18:52:45 +08:00
Ivan Grokhotkov
0236592fe5 Merge branch 'feature/esp32_sw_breaks' into 'master'
ESP32 SW Breakpoints Support

See merge request idf/esp-idf!2316
2018-04-26 18:05:38 +08:00
Ivan Grokhotkov
add969f69d Merge branch 'bugfix/partition_make3.81' into 'master'
partition table: Fix regression with make 3.81

See merge request idf/esp-idf!2314
2018-04-26 15:29:15 +08:00
Alexey Gerenkov
439140d269 esp32: Adds support for SW breakpoints in flash
Disables app image integrity checks when running under OpenOCD control.
Allows setting breakpoints in flash before application start (just after reset).
2018-04-26 10:17:02 +03:00
Ivan Grokhotkov
4083a356a8 Merge branch 'bugfix/build_failure_with_heap_task_tracking' into 'master'
Fix build failure if CONFIG_HEAP_TASK_TRACKING enabled

See merge request idf/esp-idf!2315
2018-04-26 15:16:43 +08:00
Ivan Grokhotkov
4ba19abeb6 esp_timer: add a function to get next alarm time 2018-04-26 14:39:54 +08:00
Jiang Jiang Jian
464dbbdaa9 Merge branch 'bugfix/fix_a_minor_compile_issue' into 'master'
Bugfix/fix a minor compile issue

See merge request idf/esp-idf!2307
2018-04-26 14:31:04 +08:00
Jiang Jiang Jian
37513cd738 Merge branch 'feature/wifi_add_wifi_event_mask' into 'master'
add WiFi event mask API

See merge request idf/esp-idf!2072
2018-04-26 14:27:42 +08:00
Mahavir Jain
5cdd08ef5a heap: fix build failure due to missing header
Closes https://github.com/espressif/esp-idf/issues/1881

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-04-26 11:08:58 +05:30
Jiang Jiang Jian
9b9eb7e724 Merge branch 'bugfix/fix_some_wifi_phy_mode_bugs' into 'master'
esp32: fix some wifi phy mode bugs

See merge request idf/esp-idf!2294
2018-04-26 10:27:32 +08:00
Angus Gratton
8fbdad5b0c partition table: Fix regression with make 3.81
"undefine" was added in make 3.8.2

Namespace the global partition table option variables to minimise scope leakage.
2018-04-26 12:07:27 +10:00
Ivan Grokhotkov
5a63faa516 sdmmc: enable more test cases
Some test cases did not run automatically in CI, this change enables
them.
2018-04-26 10:04:44 +08:00
Ivan Grokhotkov
2699bb49ae sdspi: handle delayed responses for data write commands
Command response tokens can be delayed from the original command by 1
to 8 bytes. In 4a2489b9, handling for delayed tokens was added for
normal (no data) commands, and data read commands. This adds handling
for delayed commands for data write commands.
2018-04-26 10:04:44 +08:00
Angus Gratton
081c830d2f Merge branch 'feature/partition_size_check' into 'master'
partition_table: Check configured flash size fits in partition table

See merge request idf/esp-idf!2274
2018-04-26 08:48:31 +08:00
Angus Gratton
d9cbfe42f9 Merge branch 'bugfix/log_macro_statements' into 'master'
log: Make ESP_LOGx macros into single statements

See merge request idf/esp-idf!2275
2018-04-26 08:05:49 +08:00
Angus Gratton
fa3205737f partition_table: Check configured flash size fits in partition table
Check happens at build time, so flash size config may need to be changed.

Also fixes MD5_OPT undefined warning, closes https://github.com/espressif/esp-idf/issues/1867
2018-04-26 09:51:55 +10:00
Angus Gratton
e3d404bb8f Merge branch 'bugfix/ci_retry_build_example' into 'master'
ci: Try to build examples in second time in case of error

See merge request idf/esp-idf!2302
2018-04-26 07:36:52 +08:00
Angus Gratton
2f318d16fa log: Make ESP_LOGx macros into single statements
Requires a semicolon after any use (previously this was optional due to trailing } after expansion)

Closes https://github.com/espressif/esp-idf/issues/1757
2018-04-26 09:08:07 +10:00
jack
81e4cad615 fix the bug that in mdns test code redefine esp_err_t to uint32_t, which should be int32_t 2018-04-25 21:05:21 +08:00
Jiang Jiang Jian
683270958c Merge branch 'feature/btdm_set_bredr_txpower' into 'master'
component/bt : add BR/EDR TX power set

See merge request idf/esp-idf!2267
2018-04-25 20:53:21 +08:00
Liu Zhi Fu
f5ae421e14 esp32: fix some wifi phy mode bugs
Fix several WiFi phy mode bugs
2018-04-25 20:32:18 +08:00
XiaXiaotian
364c15b9f8 add WiFi event mask API 2018-04-25 19:25:43 +08:00
Tian Hao
e660785532 component/bt : add BR/EDR TX power set 2018-04-25 15:28:19 +08:00
Jiang Jiang Jian
d8c63160af Merge branch 'bugfix/btdm_fix_gatt_cache_error' into 'master'
Component/bt: fix gattc some errors

See merge request idf/esp-idf!2104
2018-04-25 14:57:18 +08:00
shangke
5fc130f2c0 update emac_reg_v2.h 2018-04-25 14:54:09 +08:00
Jiang Jiang Jian
14b0285a87 Merge branch 'feature/btdm_cherry-pick_ble_hid_device' into 'master'
Feature/btdm cherry pick ble hid device

See merge request idf/esp-idf!1701
2018-04-25 14:53:23 +08:00
Ivan Grokhotkov
f885e8b8de Merge branch 'doc/openocd_release_update' into 'master'
docs: update download links for OpenOCD

See merge request idf/esp-idf!2259
2018-04-25 12:22:21 +08:00
Anton Maklakov
842cd7b38e CI: Try to build examples in second time in case of error
It will help to work around the weird bug during buillding a batch of examples
2018-04-25 11:06:04 +08:00
Ivan Grokhotkov
0b1bb2ab57 Merge branch 'bugfix/fatfs_readwrite_test_failure' into 'master'
fatfs/test: increase stack size in read-write unit test

See merge request idf/esp-idf!2256
2018-04-24 23:43:24 +08:00
Ivan Grokhotkov
907248b6a7 Merge branch 'feature/nvs_coverage' into 'master'
NVS: add power off recovery and coverage test into CI

See merge request idf/esp-idf!2246
2018-04-24 23:42:00 +08:00
Ivan Grokhotkov
52f9a5ca16 Merge branch 'bugfix/sdspi_wp_cd_pins' into 'master'
sdmmc, sdspi: fix handling of CD and WP

See merge request idf/esp-idf!2285
2018-04-24 20:53:47 +08:00
Sagar Bijwe
21584827b3 dhcp/dhcpserver Fix max station limit check in dhcp server
Currently when MAX_STATION limit in DHCP config is set to N, dhcp server
issues only N-1 IP addresses. This is problematic from customer
perspective if both SoftAP MAX_STATION and DHCP MAX_STATION limit is set
to same value. With this change DHCP server can issue N addresses that
is inline with the set limit.

Closes TW<20556>
2018-04-24 17:36:55 +05:30
Ivan Grokhotkov
e0f1524c86 sdmmc: add tests for CD and WP pins for SD and SPI mode 2018-04-24 19:08:44 +08:00
Ivan Grokhotkov
e19901c898 sdmmc: don’t print sdio_reset warning when CD is idle 2018-04-24 19:08:44 +08:00
Ivan Grokhotkov
85ab4fc83e sdmmc host: add handling of CD and WP pins
Previous version of the code only connected CD and WP to the
peripheral, in fact the hardware does not use the values of these
signals automatically. This adds code to read CD and WP values when
command is executed and return errors if card is not present, or
write command is executed when WP signal is active.
2018-04-24 19:08:44 +08:00
Ivan Grokhotkov
829c6cef39 sdmmc host: when parameter validation fails, exit cleanly
This fixes lock-up which happened when sending a command, if the
previous command has failed.
2018-04-24 19:08:44 +08:00
Jiang Jiang Jian
edcaa5f300 Merge branch 'bugfix/minor_fix_for_wifi_tx' into 'master'
esp32: minor fix for WiFi TX

See merge request idf/esp-idf!2281
2018-04-24 13:42:41 +08:00
Mahavir Jain
7b50ed70a3 aws_iot: add support for MQTT TLS over port 443
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-04-23 18:27:28 +05:30
Ivan Grokhotkov
50304d719e Merge branch 'bugfix/esp_tls_error_logging' into 'master'
esp-tls: Expand error logging

See merge request idf/esp-idf!2284
2018-04-23 20:18:30 +08:00
Liu Zhi Fu
2461a780aa more 2018-04-23 19:09:46 +08:00
Ivan Grokhotkov
5a3b2eddd3 Merge branch 'bugfix/esp_tls_memory_leak' into 'master'
esp-tls: fix memory leak when using CA certification validation

See merge request idf/esp-idf!2283
2018-04-23 18:57:11 +08:00
Jiang Jiang Jian
cad88fb18c Merge branch 'bugfix/authmode_change_event_peg_core_in_wep_mode' into 'master'
bugfix/wrong_authmode_change_event_is_reported_in_wep_mode

See merge request idf/esp-idf!2282
2018-04-23 18:51:46 +08:00
zhiweijian
be107320f7 Component/bt: fix gatt cache error
- fix sev == NULL error
- fix start_handle == end_handle
2018-04-23 15:43:10 +08:00
Ivan Grokhotkov
92a16ac6e6 sdspi: fix CD and WP incorrectly configured as outputs 2018-04-23 14:35:40 +08:00
Ivan Grokhotkov
2a7d85cfa4 sdmmc, sdspi: fix initializers to be C++-compatible, add test
Closes https://github.com/espressif/esp-idf/issues/1861
Closes https://github.com/espressif/arduino-esp32/issues/1312
2018-04-23 14:35:13 +08:00
Deng Xin
aab573746e Bug fix of authmode change event peg core in wep mode
auth mode change event will report continous in wep mode due to wrong original auth record

close github issue https://github.com/espressif/esp-idf/issues/1804
2018-04-23 14:25:36 +08:00
Flavio Bayer
d477d3c5bd bugfix/sdspi_host.c: wrong CD/WP pin configuration
Looks like the configuration of CP and WP pins are wrong, since the check for `gpio_cd` and `gpio_wp` in `slot_config` seems to be swapped.
2018-04-23 11:32:42 +10:00
Angus Gratton
088c73bd22 Merge branch 'feature/disable_ble_service_change_pr1673' into 'master'
Add option to ena/dis BLE service change registration

See merge request idf/esp-idf!2210
2018-04-23 09:15:02 +08:00
Angus Gratton
f4241dc796 Merge branch 'bugfix/typo_in_aws_iot_config' into 'master'
Typo in aws_iot_config.h

See merge request idf/esp-idf!2280
2018-04-23 09:02:02 +08:00
Amit Sheth
aa357a32bc nvs_flash: Add binary creation support for NVS partition.
Ideally suited for generating a binary externally, containing key-value pairs specific
to device manufacturers. Utility allows creation of a binary, compatible
with NVS structure, which can be separately flashed onto a new
partition. This helps device manufacturers set different values for
different devices, e.g. serial numbers, but using a single firmaware
image.
2018-04-23 00:27:29 +05:30
Jiang Jiang Jian
e37ceaed32 Merge branch 'bugfix/tw18453_fix_ap_eapol_retry_bug' into 'master'
esp32: fix soft-AP eapol retry issue

See merge request idf/esp-idf!2264
2018-04-22 16:37:24 +08:00
Liu Zhi Fu
db5f927087 esp32: fix the bug that soft-AP fails to retry eapol
Fix the issue that soft-AP fails to retry eapol frame when multiple
stations connects it at the same time.

More
2018-04-22 10:19:31 +08:00
redchenjs
854c5260d4 esp-tls: fix memory leak when using CA certification validation 2018-04-22 01:13:09 +08:00
Ivan Grokhotkov
4e982d4b18 Merge branch 'feature/idf_size_report_symbols' into 'master'
Feature/idf-size: report per-archive symbols and their sizes

See merge request idf/esp-idf!1956
2018-04-20 23:55:19 +08:00
Ivan Grokhotkov
63ce43affc Merge branch 'feature/esp-tls' into 'master'
esp-tls: Fix HTTP2 failure

See merge request idf/esp-idf!2277
2018-04-20 22:35:40 +08:00
Kyle Secord
6807d80733 Typo in aws_iot_config.h
-breaks compilation when 'Override Shadow RX buffer size' is enabled via
menuconfig

Merges https://github.com/espressif/esp-idf/pull/1869
2018-04-20 19:32:52 +05:30
Yulong
eb9d0315e5 example/hid: Added the readme file. 2018-04-20 09:20:44 -04:00
Wangjialin
b1dcb52fec feature(psram): configure flash and psram speed during runtime
1. Bootloader reads SPI configuration from bin header, so that the burning configuration can be different with compiling configuration.
2. Psram mode init will overwrite original flash speed mode, so that users can change psram and flash speed after OTA.
3. Flash read mode(QIO/DIO…) will not be changed in app bin. It is decided by bootloader, OTA can not change this mode.
4. Add read flash ID function, and save flash ID in g_rom_flashchip
5. Set drive ability for all related GPIOs
6. Check raise VDDSDIO voltage in 80Mhz mode
7. Add check flash ID and update settings in bootloader
8. Read flash ID once and keep in global variable
9. Read flash image header once and reuse the result

Tested cases:
1. Test new and old version of bootloader
boot Flash 20M —> app Flash 80M + Psram 80M
boot Flash 40M —> app Flash 80M + Psram 80M
boot Flash 80M —> app Flash 80M + Psram 80M
boot Flash 20M —> app Flash 80M + Psram 40M
boot Flash 40M —> app Flash 80M + Psram 40M
boot Flash 80M —> app Flash 80M + Psram 40M
boot Flash 20M —> app Flash 40M + Psram 40M
boot Flash 40M —> app Flash 40M + Psram 40M
boot Flash 80M —> app Flash 40M + Psram 40M
2. Working after esp_restart reboot.
2018-04-20 20:51:44 +08:00
Jitin George
d57495cb1c esp-tls: Fix HTTP2 failure
Closes https://github.com/espressif/esp-idf/issues/1874
2018-04-20 16:59:36 +05:30
Jiang Jiang Jian
c32ccf7abb Merge branch 'bugfix/add_NULL_value_check_bta_gattc_get_services' into 'master'
components/bt: Add NULL value check in bta_gattc_get_service_with_uuid()

See merge request idf/esp-idf!2212
2018-04-20 18:15:45 +08:00
Jiang Jiang Jian
1c06b44f08 Merge branch 'bugfix/bt_correct_inquiry_mode_name' into 'master'
components/bt: Correct the enquiry mode name

See merge request idf/esp-idf!2217
2018-04-20 18:14:57 +08:00
Jiang Jiang Jian
102d08fd79 Merge branch 'feature/btdm_gattc_cache' into 'master'
Feature/btdm gattc cache

See merge request idf/esp-idf!1083
2018-04-20 17:49:35 +08:00
Ivan Grokhotkov
22fbcd276c Merge branch 'feature/amazon_freertos_compat_v2' into 'master'
Changes for Amazon Freertos compatibility

See merge request idf/esp-idf!2123
2018-04-20 14:55:47 +08:00
Yulong
2c7182c59f component/bt: For unity, Change all the associat & associa to abbreviated form(assoc). 2018-04-20 02:16:33 -04:00
Ivan Grokhotkov
6fd25b4d0a Merge branch 'revert-88d0d6ff' into 'master'
Revert "Merge branch 'feature/vfs_select' into 'master'"

See merge request idf/esp-idf!2273
2018-04-20 14:06:32 +08:00
Ivan Grokhotkov
6185e722c3 Revert "Merge branch 'feature/vfs_select' into 'master'"
This reverts merge request !2074
2018-04-20 11:51:41 +08:00
Yulong
b940abca0e component/bt: Change the cache 'associat' name for unify. 2018-04-19 22:56:33 -04:00
Mahavir Jain
441b4a9742 esp32: fix few components with dependency on networking stack
* Move smartconfig to its component directory, it should be possible to override
  this as whole component
* Fix few header includes related to lwIP networking stack

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-04-19 18:28:55 +05:30
Mahavir Jain
43a12894ea driver/spi: add _ISR counterparts if invoked from interrupt for critical section
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-04-19 18:28:55 +05:30
Mahavir Jain
c65a08d2fb freertos: portCLEAN_UP_TCB should be performed before freeing tcb memory
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-04-19 18:28:55 +05:30
Mahavir Jain
24ad64bfe4 pthread: implement local storage using pvTaskGetThreadLocalStoragePointer
If static task cleanup option is enabled, then before invoking application
defined `vPortCleanUpTCB` hook, pthread specific cleanup is performed.

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-04-19 18:28:55 +05:30
Ivan Grokhotkov
2d598d6fb7 esp_timer: use _ISR version of port{ENTER,EXIT}_CRITICAL from ISR 2018-04-19 18:28:55 +05:30
Ivan Grokhotkov
41ae0fe52b newlib: define _REENT_INIT_PTR correctly for ESP_PLATFORM 2018-04-19 18:28:55 +05:30
Ivan Grokhotkov
573ea385b4 multi_heap: use portENTER/EXIT_CRITICAL instead of taskENTER/EXIT_CRITICAL 2018-04-19 18:28:55 +05:30
Ivan Grokhotkov
f65870566a crosscore_int: use _ISR version of portENTER/EXIT_CRITICAL in ISR 2018-04-19 18:28:55 +05:30
Jiang Jiang Jian
5d3b26e8d0 Merge branch 'feature/mesh' into 'master'
mesh: update mesh libs

See merge request idf/esp-idf!2244
2018-04-19 20:24:16 +08:00
Ivan Grokhotkov
6f504deed0 nvs: run all test by default, exclude long tests by tag
Reduces the chance of new tests being skipped in CI
2018-04-19 15:08:08 +08:00
Ivan Grokhotkov
f8cb95d0b8 nvs: print progress in nvs API tests, reduce number of iterations 2018-04-19 15:08:08 +08:00
Ivan Grokhotkov
6545f8eaf3 nvs: add long ci test for power off recovery and coverage
This test can be triggered manually:
`bot test name: test_nvs_coverage`
2018-04-19 15:08:08 +08:00
Ivan Grokhotkov
9d0751e2b1 ci: support jobs which don’t run unless triggered by name
By default, any job will run unless a filter is given, in that case
the filter will determine if the job should run or not. Some jobs do
not need to be run by default, and should only be triggered using the
bot. For such jobs, BOT_NEEDS_TRIGGER_BY_NAME can added to
environment variables.
2018-04-19 15:08:08 +08:00
Ivan Grokhotkov
88d0d6ffb0 Merge branch 'feature/vfs_select' into 'master'
Allow VFS file descriptors in select()

See merge request idf/esp-idf!2074
2018-04-19 15:06:02 +08:00
Ivan Grokhotkov
b297b72abb Merge branch 'bugfix/fix_gpio_install_isr_service_check_value' into 'master'
driver(gpio): modify return value when gpio ISR service already exists.

See merge request idf/esp-idf!2125
2018-04-19 15:01:50 +08:00
Ivan Grokhotkov
fbb3610c0b Merge branch 'feature/bootloader_refactoring_common' into 'master'
bootloader: Refactoring

See merge request idf/esp-idf!2251
2018-04-19 14:58:00 +08:00
Ivan Grokhotkov
96b4a45cde Merge branch 'feature/remove_make_dependency_on_git' into 'master'
make: remove build system dependency on `git` using some hooks

See merge request idf/esp-idf!2211
2018-04-19 13:01:12 +08:00
Ivan Grokhotkov
bc4c201e20 Merge branch 'bugfix/fix_github_reported_1841_and_1845' into 'master'
Fix few minor github reported issues

See merge request idf/esp-idf!2252
2018-04-19 12:59:37 +08:00
Yulong
ece6bd9b82 component/bt: Change the btc gattc callback function with the compile error.
1. Change all the gattc API && bta gattc layer.
2. Debug the code and change the btc_ble_gattc_get_db method.
3. Change the gatt read API interface.
4. Reconstruction the BTA_gattc_cache code.
5. Change back the bluedroid_get_status to marco.
6. Change the gattc docs format.
7. Change the docs format.
8. fix the read char value bug.
9. change the gattc_get_attr_count method.
10. Change back the bta_gattc write ccc code.
11. Change the gattc api docs format
12. Change the gattc API docs.
13. Change the prepare write descriptor method to avoid the exection.
14. modify gatt clinet demo with new API
15. Change the p_src_data->read.p_value to avoid exection.
16. Change the bugfix of gattc unreg for the notify.

    component/bt: Added the serch service res start_handle & end_handle to the result.

component/bt: Added the bta_gattc_cache_write when gatt discovery complete.

component/bt: Added the bta_gattc_cache_write declaration.

component/bt: Added the comments for esp_ble_gattc_cache_refresh API.

component/bt: Change the spelling errors & some comment error.

component/bt: fix bug of get gattc cache address list error.

1. Change the esp_bluedroid_get_status to macro;
2. added the malloc & free for the get_addr_list

component/bt: Added the addr_info->ass_addr == NULL Judgment to prevent crashes in the bta_gattc_co_cache_find_src_addr function.

component/bt: Fixed following gattc cache bugs

1. gattc can't refresh the gattc cache in the gatt discover state;
2. remove the nvs_get_blob in the cache address init function;
3. added the nvs_set_blob return value judgment in the cache address save function;
4. added the list_new when ass_address is NULL;
5. Change the ass_address list remove method to fix the ass address can't remove bug.
2018-04-19 12:05:13 +08:00
Yulong
efb747d167 example/hid: Added the BLE hid device profile.
demo/hid: Change the license validity period & some unreasonable LOG print.

example/hid: Added the Vendor Report output support.
2018-04-19 11:44:51 +08:00
Angus Gratton
04103e96f5 esp-tls: Log errors for all "connection failed" code paths 2018-04-19 11:34:27 +10:00
Angus Gratton
507ca8196c esp-tls: Allow esp_tls_conn_delete() to be called with a NULL pointer 2018-04-19 11:34:06 +10:00
Mahavir Jain
8fd4ee1b1f docs: add note regarding ESP-IDF version
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-04-18 18:30:58 +05:30
Ivan Grokhotkov
bcc5bad7b5 docs: update download links for OpenOCD
Point to the latest release on Github, which can now be produced by CI.

Ref. https://github.com/espressif/openocd-esp32/issues/30
Ref. https://github.com/espressif/openocd-esp32/issues/18
2018-04-18 20:58:04 +08:00
Ivan Grokhotkov
cbd7431d94 fatfs/test: increase stack size in read-write unit test
2048 byte stack was not sufficient when some error was logged by SD
card driver, leading to stack overflows.
2018-04-18 14:35:21 +08:00
Angus Gratton
fe907bde60 Merge branch 'bugfix/heap_tracing_newlib_allocations' into 'master'
heap tracing: Fix tracing of newlib internal allocations

See merge request idf/esp-idf!1992
2018-04-18 12:07:15 +08:00
Ivan Grokhotkov
b76c9ef706 Merge branch 'feature/esp-tls' into 'master'
esp-tls: Fix connection failure

See merge request idf/esp-idf!2241
2018-04-18 11:11:49 +08:00
Ivan Grokhotkov
17ab60d642 Merge branch 'bugfix/nvs_failed_crc_assert' into 'master'
nvs: don’t expect items with bad CRC to be in cache

See merge request idf/esp-idf!2239
2018-04-18 11:01:21 +08:00
Ivan Grokhotkov
27a5096d62 Merge branch 'bugfix/nvs_power_off_recovery' into 'master'
nvs: Fix recovery after power-off during erase operation

See merge request idf/esp-idf!2238
2018-04-18 11:00:56 +08:00
qiyueixa
899f2fa1ed mesh: update mesh libs
1. fix issues on sending beacon caused by too much tx retries on other packets.
2. modify not to scan if rc exists when connect.
3. modify scan dwell time to default 120ms fo root.
2018-04-17 11:49:54 +00:00
Konstantin Kondrashov
86256b3541 bootloader: Refactoring
Need to make the bootloader modular so that users can redefine its functional part.

- refactoring and moving functions to the bootloader_support component
- Changed function to `void` bootloader_utility_load_image(...);

TW19596
2018-04-17 16:36:49 +05:00
Roland Dobai
6852d653bd Allow VFS file descriptors in select() 2018-04-17 11:25:30 +02:00
Sagar Bijwe
9a3c4b7134 nvs: Fix recovery after power-off during erase operation
Current code for recovery after power-off do not clean-up partially
erased items for FULL pages. If the erasure was part of modification
operation, this gets luckily cleaned-up because of duplicate detection
logic. For erase-only operation, the problem still exists. This patch
adds the recovery for FULL pages also.

Closes TW<20284>
2018-04-17 12:24:21 +05:30
Ivan Grokhotkov
c1c49b635a Merge branch 'bugfix/build_v0_output' into 'master'
build: remove some debug lines printed when V=0

See merge request idf/esp-idf!2237
2018-04-17 14:24:50 +08:00
Jiang Jiang Jian
16ad81c636 Merge branch 'feature/btdm_get_and_set_cod' into 'master'
component/bt: Add API: get cod & set cod

See merge request idf/esp-idf!2127
2018-04-17 14:21:18 +08:00
Jiang Jiang Jian
a3cfbdb150 Merge branch 'bugfix/btdm_a2dp_source_cleanup_bug' into 'master'
component/bt: Fix bug of a2dp source cleanup bug when connected

See merge request idf/esp-idf!2042
2018-04-17 14:20:15 +08:00
Jiang Jiang Jian
0d55f2cb7b Merge branch 'bugfix/btdm_add_assert_when_no_device_name' into 'master'
component/bt: Fix exception when there is no device name

See merge request idf/esp-idf!2184
2018-04-17 14:19:39 +08:00
Mahavir Jain
60ab582ba6 bt: fix incorrect comments for error codes
Closes https://github.com/espressif/esp-idf/issues/1845

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-04-17 10:44:48 +05:30
Mahavir Jain
959c677025 rtc_module: fix build failure if assertions are disabled
Closes https://github.com/espressif/esp-idf/issues/1841

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-04-17 10:44:48 +05:30
Ivan Grokhotkov
790049b3dd build: remove some debug lines printed when V=0
With V=0, build process would print “including .../Makefile.projbuild" lines, causing problems for print_flash_cmd target.
The issue was due to the way macro expansion works in make. To delay evaluation of info function until the execution of expanded block, two dollar signs are required.
Test for print_flash_cmd target added.
2018-04-17 08:04:38 +08:00
Ivan Grokhotkov
a21336eaa1 Merge branch 'bugfix/nvs_unit_test_state' into 'master'
nvs: fix nvs_get_stats unit test

See merge request idf/esp-idf!2250
2018-04-16 22:07:25 +08:00
Konstantin Kondrashov
6a4033b8a7 nvs: fix nvs_get_stats unit test
Changed check for the returned parameter from ESP_ERR_NVS_PART_NOT_FOUND to ESP_ERR_NVS_NOT_INITIALIZED.
2018-04-16 13:28:45 +00:00
He Yin Ling
c36687aac6 Merge branch 'test/fix_ci_test_fail_in_jap_case' into 'master'
test: fix CI fail when join AP

See merge request idf/esp-idf!2245
2018-04-16 19:02:46 +08:00
Ivan Grokhotkov
11f7e39b18 Merge branch 'chore/issue_template' into 'master'
add github issue template for users to report issues easily.

See merge request idf/esp-idf!2148
2018-04-16 18:50:42 +08:00
Ivan Grokhotkov
2c3644a09f nvs: don’t expect items with bad CRC to be in cache
When erasing a variable length item with an incorrect CRC32, the span
value of the item can not be trusted, so the item will be erased with
span = 1. Subsequent entries represent the data of the variable
length item, and these will be treated as separate items. For each
entry CRC32 is checked, the check most likely fails (because the
entry contains arbitrary data, and not a proper NVS item), and the
entry is erased. Erase function assumed that every item should be
present in cache, but it is not the case for the entries which are
just parts of item’s payload. This change allows for the item to be
not found in the hashlist, if the CRC32 check fails.
2018-04-16 09:36:17 +00:00
michael
bb69dbbef1 add github issue template for users to report issues easily 2018-04-16 08:16:13 +00:00
Ivan Grokhotkov
fc1e944f59 Merge branch 'bugfix/nvs_stat_test' into 'master'
NVS: fix nvs_get_stats unit test

See merge request idf/esp-idf!2248
2018-04-16 14:45:43 +08:00
Ivan Grokhotkov
d3fd00c049 Merge branch 'bugfix/spi_miso_on_input_only_pins' into 'master'
fix(spi): allow to use MISO on GPIO34-39.

See merge request idf/esp-idf!2136
2018-04-16 14:39:02 +08:00
Ivan Grokhotkov
20405fbbcc nvs: make nvs_flash_deinit useable from unit tests 2018-04-16 14:06:52 +08:00
Ivan Grokhotkov
fa3bd16d75 nvs: deinit NVS in nvs_stats unit test
This fixes the failure when this test runs after another test which
leaves NVS initialized.
2018-04-16 12:50:57 +08:00
Ivan Grokhotkov
d0d314d8f8 Merge branch 'bugfix/nvs_page_selection' into 'master'
nvs: Fix page selection algo to consider free entry counts as well

See merge request idf/esp-idf!2240
2018-04-16 10:32:01 +08:00
Ivan Grokhotkov
5029eb4b3b Merge branch 'feature/nvs_get_count_used_entries' into 'master'
NVS: add API to get used entries count

See merge request idf/esp-idf!1982
2018-04-16 10:25:01 +08:00
He Yin Ling
7cfd08deca test: fix join AP fail during AP power on 2018-04-16 09:27:46 +08:00
Angus Gratton
8b3fda99f5 Merge branch 'feature/uart_add_api_get_cmd_position' into 'master'
driver(uart): Add API to get the position of cmd_char

See merge request idf/esp-idf!2177
2018-04-16 08:03:25 +08:00
Mahavir Jain
4a7ca68596 tools/ci: add test case for build without dependency on git
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-04-13 17:15:17 +05:30
Mahavir Jain
344e757a6a make: remove build system dependency on git using some hooks
Currently for checking IDF version and submodules existence,
build system uses `git` commands. But, it could be possible use-case
where `git` is not installed (assuming IDF is flattened in source format)
on system and build happens without any warnings.

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-04-13 17:13:44 +05:30
Ivan Grokhotkov
9c7207ed3c Merge branch 'bugfix/soc_clk_out_fields' into 'master'
soc/io_mux: make CLK_OUT fields compatible with REG_SET/GET_FIELD

See merge request idf/esp-idf!2133
2018-04-13 19:42:20 +08:00
Ivan Grokhotkov
d18c284df6 Merge branch 'bugfix/docs_wrap_text_in_tables' into 'master'
Bugfix/docs wrap text in tables

See merge request idf/esp-idf!2209
2018-04-13 19:37:49 +08:00
Jitin George
0d0445103b esp-tls: Fix connection failure when esp-tls config is empty 2018-04-13 16:58:19 +05:30
Jiang Jiang Jian
c17b59ebe1 Merge branch 'feature/mesh' into 'master'
mesh: update mesh libs

See merge request idf/esp-idf!2218
2018-04-13 18:55:39 +08:00
Ivan Grokhotkov
370343b35e Merge branch 'bugfix/build_exclude_external_objects' into 'master'
build: fix excluding source files outside of component root

See merge request idf/esp-idf!2230
2018-04-13 18:35:10 +08:00
Sagar Bijwe
7e79471ece nvs: Fix page selection algo to consider free entry counts as well
Current page selection algorithm selects a page for compaction based on just erased counts
and gives up when it does not find any page with erased count greater than 0. This is
problematic since the current allocation procedure skips the active page if there is not
enough room for the item in that page leaving free chunks on the pages. This change modifies
the algorithm to consider both erased as well as free counts on the candidate pages.

Closes TW<20297>
2018-04-13 14:49:05 +05:30
konstantin
c93626db3f nvs:Add functions for calculating used/free entries
Users needs functions to count the number of free and used entries.

1. `nvs_get_stats()` This function return structure of statistic about the uspace NVS.
(Struct: used_entries, free_entries, total_entries and namespace_count)
2. `nvs_get_used_entry_count()` The second function return amount of entries in the namespace (by handler)
3. Added unit tests.

Closes TW<12282>
2018-04-13 10:34:13 +05:00
Wang Jia Lin
6c44fc70bc Merge branch 'feature/gpio_add_hold_support' into 'master'
driver(gpio):   Add api support digital pad hold function

See merge request idf/esp-idf!2186
2018-04-13 12:18:44 +08:00
qiyueixa
92fd4c42e1 mesh: update mesh libs
1. fix a bug in initliazing map beacon interval.
2. fix not send MESH_EVENT_ROUTING_TABLE_REMOVE when MESH_NWK_CHILD_DISCONNECTED.
3. fix a bug in returning roots ie len.
2018-04-13 11:52:31 +08:00
Michael (Xiao Xufeng)
45f8bcf3f8 fix(spi): allow using MISO on GPIO34-39
Breaking Changes: arguments of ``spicommon_bus_initialize_io`` are changed.

Closes https://github.com/espressif/esp-idf/issues/1736.
2018-04-12 17:01:38 +08:00
Michael (Xiao Xufeng)
77629129c0 chore(spi): update the return value of spi init functions 2018-04-12 17:01:38 +08:00
Michael (Xiao Xufeng)
dceb3452c7 doc(spi_master): format the documentation of several fields and macros in spi_master.h 2018-04-12 17:01:37 +08:00
Ivan Grokhotkov
c876ab390b Merge branch 'bugfix/cn_windows_setup_doc_fixes' into 'master'
Update windows-setup.rst

See merge request idf/esp-idf!2232
2018-04-12 16:37:41 +08:00
Ivan Grokhotkov
bcbcdf6f99 build: fix excluding source files outside of component root
Since !2190, source files located outside of the component root
produce object files inside build directory. This change fixes
handling of COMPONENT_OBJEXCLUDE variable for such files. Tests are
added.
2018-04-12 14:28:54 +08:00
Angus Gratton
234723c061 Merge branch 'feature/pcnt_add_isr_manage_apis' into 'master'
Driver(pcnt) :  Add new feature that each unit can  has it's own interrupt handler.

See merge request idf/esp-idf!2086
2018-04-12 09:06:56 +08:00
Angus Gratton
c626a8fe74 Merge branch 'feature/build_out_of_tree_srcs' into 'master'
make: Build out of tree component srcs under component build dir

See merge request idf/esp-idf!2190
2018-04-12 08:49:56 +08:00
Angus Gratton
e2cad1a048 Merge branch 'doc/esp_idf_requires_gcc' into 'master'
doc: Add gcc to list of ESP-IDF prerequisite packages

See merge request idf/esp-idf!2221
2018-04-12 08:48:39 +08:00
Jiang Jiang Jian
12dbe4dac5 Merge branch 'feature/btdm_add_set_local_icon_api' into 'master'
Component/bt: add set gap icon API

See merge request idf/esp-idf!2129
2018-04-11 20:48:13 +08:00
Jiang Jiang Jian
6b7ad6b707 Merge branch 'bugfix/btdm_do_not_update_conn_params_when_have_key_in_slave' into 'master'
Component/bt: do not update connection params when already have keys in slave

See merge request idf/esp-idf!2176
2018-04-11 20:47:27 +08:00
kooho
2236249555 driver(pcnt): Add some APIs to support each unit can have it's own interrupt handler. 2018-04-11 16:15:09 +08:00
Ivan Grokhotkov
bdadd95dd7 Merge branch 'feature/wwrite_string_for_idf' into 'master'
Enable -Wwrite-strings when compiling IDF's own C files

See merge request idf/esp-idf!2193
2018-04-11 14:59:08 +08:00
Ivan Grokhotkov
bae9709a79 Merge branch 'feature/sdio_master' into 'master'
SDIO master driver

See merge request idf/esp-idf!2008
2018-04-11 12:38:42 +08:00
He Yin Ling
4ceefea845 Merge branch 'test/update_ci_test_cases' into 'master'
test: update ci test cases

See merge request idf/esp-idf!1959
2018-04-11 11:51:32 +08:00
Ivan Grokhotkov
c6829fa5b8 sdmmc: improve error handling during SPI mode init
- In SPI mode, the card will respond to the initial SDIO reset (done
using CMD52) with “invalid command” error. Handle this correctly.

- sdmmc_card_init had a hack where GO_IDLE_STATE (CMD0) command was
sent twice. Add explanation why this is done, and don’t expect
correct response from the card on first CMD0.

- improve logs printed at debug level by adding CMD index
2018-04-11 11:11:17 +08:00
Ivan Grokhotkov
e148c2a12c docs: update SDMMC and SDSPI documentation
- Split SDMMC page into pages about SDMMC/SDSPI hosts and a page about
   the protocol layer.
- Use autogenerated API reference instead of manually generated one.
- Add information about SDIO APIs.
2018-04-11 11:07:13 +08:00
Ivan Grokhotkov
ee600784c5 sdmmc: add SDIO support
- Add SDIO support at protocol layer (probing, data transfer, interrupts)
- Add SDIO interrupts support in SDMMC host
- Add test (communicate with ESP32 in SDIO download mode)
2018-04-11 11:07:13 +08:00
Ivan Grokhotkov
5f97e6bebb sdmmc: fill as many DMA descriptors as possible 2018-04-11 11:06:50 +08:00
Ivan Grokhotkov
20a8c3318a sdmmc: do expect CMD_DONE interrupt after response timeout
Existing code assumed that response timeout is not followed by CMD_DONE,
which was not true, in fact. Host datasheet states that CMD_DONE is sent
after an RTO.
2018-04-11 11:06:50 +08:00
Ivan Grokhotkov
01cd2fce73 sdmmc: print error status only once 2018-04-11 11:06:50 +08:00
Ivan Grokhotkov
5fc6fb58ea sdmmc: don't whitelist the opcodes when handling response timeout
All the commands which do not have a response must have their flags set
accordingly. Therefore the host will not send RTO interrupt if response
is not expected. It is a bug in the code logic if it happens otherwise.
2018-04-11 11:06:50 +08:00
Ivan Grokhotkov
f02cff13cc sdmmc: set highest possible host clock divider
SDMMC host suffers from an issue that it outputs data near the rising
edge of the card clock, which is the edge used by the card to sample
data. If sampling time constraint is not satisfied, card may read data
after the transition.

The phases of output/input data can, in fact, be adjusted. However this
adjustment happens in the clock generation block outside of the host.
So the maximum phase change which can be created this way is equal to
half of the host clock period. So if the host clock is set to the lowest
possible frequency (for the given card frequency), then the phase offset
(and hence the hold time) will be the highest. This change modifies the
logic used to determine clock dividers accordingly.

sdmmc host: set correct dout phase and print correct frequency
2018-04-11 11:06:50 +08:00
Ivan Grokhotkov
84d6793f77 sdmmc: don't set data_expected on SET_BUS_WIDTH command
SET_BUS_WIDTH is not a data transfer command. Extensive search in the
host datasheet and SD card spec did not reveal the origin of this hack
or 'feature'. Further testing showed that removing this does not lead to
regressions.
2018-04-11 11:06:50 +08:00
Ivan Grokhotkov
42de5fb76d sdmmc: send init sequence before CMD0 2018-04-11 11:06:50 +08:00
Ivan Grokhotkov
907fc1167a gpio: add special GPIO signal values 2018-04-11 11:06:50 +08:00
Angus Gratton
eb731030a4 doc: Add gcc to list of ESP-IDF prerequisite packages
Closes https://github.com/espressif/esp-idf/issues/1842#issuecomment-380274150
2018-04-11 10:19:24 +10:00
huchaoru
f409a33653 test: update ci test case 2018-04-10 14:08:10 +00:00
He Yin Ling
e184a2fc0b Merge branch 'feature/esp-tls' into 'master'
https_request: Fix CI failure

See merge request idf/esp-idf!2216
2018-04-10 22:07:07 +08:00
Hrishikesh Dhayagude
9c41c93f5f components/bt: Correct the enquiry mode name
Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-04-10 17:58:11 +05:30
Jitin George
a48e0121e0 https_request: Fix CI failure 2018-04-10 16:00:34 +05:30
Ivan Grokhotkov
9464699952 Merge branch 'bugfix/Kconfig_fix_incorrect_description' into 'master'
Fix Kconfig.projbuild in some examples, where myssid is the password

See merge request idf/esp-idf!2192
2018-04-10 18:19:34 +08:00
Ivan Grokhotkov
2522c1b2f9 Merge branch 'bugfix/rtc_clk_fixes' into 'master'
Power management and RTC fixes

See merge request idf/esp-idf!2131
2018-04-10 18:17:02 +08:00
baohongde
52dbcef908 component/bt: Fix exception when there is no device name 2018-04-10 17:55:33 +08:00
Roland Dobai
744c2dcdd9 Resolve problems found by enabling -Wwrite-strings compilation flag 2018-04-10 08:53:43 +02:00
Roland Dobai
33480d1a2c Enable -Wwrite-strings when compiling IDF's own C files 2018-04-10 08:53:33 +02:00
Angus Gratton
f7b7b4ef59 Merge branch 'bugfix/mdns_fixes' into 'master'
MDNS: Fix some issues when hostname is not set or services are removed

See merge request idf/esp-idf!2179
2018-04-10 13:43:02 +08:00
Angus Gratton
2914111c8c Merge branch 'bugfix/heap_fragmentation_on_split_pr1761' into 'master'
heap: Try to merge tail with next block when splitting

See merge request idf/esp-idf!2147
2018-04-10 12:14:57 +08:00
Jeroen Domburg
e23cfb4038 Merge branch 'bugfix/spi_master_example_gfx' into 'master'
Spi_master: spiffier graphics

See merge request idf/esp-idf!2030
2018-04-10 12:08:01 +08:00
Hrishikesh Dhayagude
284f332f06 components/bt: Add NULL value check in bta_gattc_get_service_with_uuid()
Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-04-10 09:34:03 +05:30
kooho
ccf09c3b39 driver(gpio): Add api support digital pad hold function. 2018-04-10 11:31:59 +08:00
Ing. Jaroslav Safka
801632d68b bt: Add option to ena/dis BLE service change registration
Add option to enable/disable automatic registration of BLE Gattc
service change notify. Which sends in parralel
(with user message flow) commands to BLE server which
sometime leads to GATT_BUSY.
(BLE server is able to handle only one command at time)

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

Merges https://github.com/espressif/esp-idf/pull/1673
2018-04-10 12:27:33 +10:00
Angus Gratton
2bfef060ba Merge branch 'bugfix/small_fixes_from_github' into 'master'
Bugfix/small fixes from github

See merge request idf/esp-idf!2200
2018-04-10 09:19:19 +08:00
Angus Gratton
58ed6cc9af Merge branch 'bugfix/wifi_ps_modem' into 'master'
wifi: Add WIFI_PS_MODEM for backwards compatibility with V3.0 API

See merge request idf/esp-idf!2203
2018-04-10 09:18:53 +08:00
baohongde
789edc0b52 component/bt: Add API: get cod & set cod
In response to: https://github.com/espressif/esp-idf/issues/1565
2018-04-09 19:25:26 +08:00
Ivan Grokhotkov
d41b8d9515 Merge branch 'bugfix/remove_pm_gpio_dbg' into 'master'
component/esp32 : remove pm gpio dbg

See merge request idf/esp-idf!2206
2018-04-09 19:14:18 +08:00
Ivan Grokhotkov
d88f2582cf Merge branch 'feature/build_exclude_components' into 'master'
make: EXCLUDE_COMPONENTS

See merge request idf/esp-idf!2204
2018-04-09 19:13:39 +08:00
Angus Gratton
97a382077f wifi: Add WIFI_PS_MODEM for backwards compatibility with V3.0 API 2018-04-09 16:55:38 +10:00
me-no-dev
421c6f154b Fix exception when service is removed while there are pending packets that depend on it 2018-04-09 09:40:08 +03:00
Tian Hao
1bde34c1f1 component/esp32 : remove pm gpio dbg 2018-04-09 14:33:48 +08:00
Ivan Grokhotkov
b11209b070 Merge branch 'feature/esp-tls' into 'master'
feature/add simplified TLS socket APIs

See merge request idf/esp-idf!1951
2018-04-09 14:25:21 +08:00
Angus Gratton
9a985359d6 Merge branch 'bugfix/wifi_fix_some_typos' into 'master'
Fix two WiFi and LWIP typos

See merge request idf/esp-idf!2189
2018-04-09 11:59:00 +08:00
Anton Maklakov
046ff2e628 Make error codes looks like literals in the code of them (easy for searching). Minor fixes, typos 2018-04-09 13:54:18 +10:00
krzychb
43fb8033ec ReadTheDocs theme has an annoying bug of text not being wrapped inside table cells. Each row is extended to fit the text as a single line. For a table with multiple columns and long sentences the table may get wide, with long scrollbar underneath and is not convenient to read. This MR makes the text wrap inside table cells. There is an open PR to fix this issue - https://github.com/rtfd/sphinx_rtd_theme/pull/432. 2018-04-09 05:47:36 +02:00
krzychb
d56a44ac79 Fixed issues with tables 2018-04-09 05:46:57 +02:00
Ing. Jaroslav Šafka
3d89c8ba74 rmt: Fix LoadProhibited on RX END
Fixes exceptions LoadProhibited, when rmt tries read variable p_rmt on RX END which can be 0.
It happens after esp_reset()  (OTA) and the rmt is not probably stopped by it.
In other words the routine rmt_driver_isr_default was called before second rx channel was registered.

scenario:
register tx channel
register rx channel
reboot
register tx channel
-> exception (because rx channel is accessed)

Merges https://github.com/espressif/esp-idf/pull/1671
2018-04-09 12:29:05 +10:00
Mixerito
9f39411e80 esp32: get_chip_info_esp32() return correct model number
out_info->model was zeroed by memset

Merges https://github.com/espressif/esp-idf/pull/1760
2018-04-09 12:28:23 +10:00
Fredrik
97c6a94a03 Bugfix GPIO_DIS_OUTPUT to work with pin 32 and up
Merges https://github.com/espressif/esp-idf/pull/1796
2018-04-09 12:28:23 +10:00
Daniel Miller
9acebb08fe doc: spelling
Merges https://github.com/espressif/esp-idf/pull/1800
2018-04-09 12:28:21 +10:00
Daniel Miller
32e0903561 doc: Spelling
Merges https://github.com/espressif/esp-idf/pull/1798
2018-04-09 12:28:15 +10:00
ndotb
765824e1fd make: EXCLUDE_COMPONENTS
Add project build variable, documentation for EXCLUDE_COMPONENTS
2018-04-08 13:07:43 -04:00
Lv Xin Yue
4810f5d02e Update windows-setup.rst 2018-04-08 17:05:02 +08:00
Jitin George
9d416fe84e resolve merge conflicts 2018-04-06 18:16:40 +05:30
Jitin George
254212b02b changes to accomodate new Doc structure 2018-04-06 17:16:27 +05:30
Jitin George
b09c3e9878 mbedtls integration in esp-tls 2018-04-06 17:16:27 +05:30
Jitin George
9c8a5ca979 https mbedtls example 2018-04-06 17:16:27 +05:30
Jitin George
30b50cbfb3 esp-tls header file name change 2018-04-06 17:16:27 +05:30
Jitin George
e29294b49a Resolved Issues 2018-04-06 17:16:27 +05:30
Jitin George
8cd3c47956 esp-tls api support in https_request 2018-04-06 17:16:27 +05:30
Jitin George
8a1dcc0765 CA Certificate verification 2018-04-06 17:16:27 +05:30
Kedar Sovani
8211a16207 Use esp-tls in the http2 example 2018-04-06 17:16:27 +05:30
Kedar Sovani
070884fc2e Include error log in case of error 2018-04-06 17:13:14 +05:30
Kedar Sovani
433bd8c91c Minor fixes 2018-04-06 17:13:14 +05:30
Kedar Sovani
1c72c8d126 Supports TLS with HTTP2 client 2018-04-06 17:13:14 +05:30
Kedar Sovani
eb051fe72f Minor fixes 2018-04-06 17:13:14 +05:30
Anuj Deshpande
adbcaf8938 Cast to remove warnings 2018-04-06 17:13:14 +05:30
Kedar Sovani
e45024e088 Don't use 'port' number for DNS query
- In some cases where the HTTP URL contains the port number
(http://hostname:334), the DNS querier fails to resolve the hostname.
- Hence we have to populate the port number ourselves.
- This can only be done based on whether we get an IPv4 or IPv6
  address.
2018-04-06 17:13:14 +05:30
Kedar Sovani
306d59d32c Make read/write function pointers
as per Ivan's feedback
2018-04-06 17:13:14 +05:30
Kedar Sovani
7f35c4ff3e esp-tls: Basic structure
Purpose:
1. TLS calls can be too many, and require a user to know the expected behaviour. A simple TLS socket wrapper that can be used in any higher level protocol.
2. Uses OpenSSL compatibility layer, so applications using esp-tls can be built on the host, and it should just work on ESP
2018-04-06 17:13:14 +05:30
Angus Gratton
5b05a1f822 make: Build out of tree component srcs under component build dir
Strips leading ../ when generating object file paths, keeps these in sync with the source files
otherwise.

This prevents object files landing in other directories, including outside the build directory, if
the component_srcdirs start with ../
2018-04-06 13:10:19 +10:00
Hrishikesh Dhayagude
59d19d12af Fix Kconfig.projbuild in some examples, where myssid is erroneously kept as the default value for password.
Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-04-05 14:34:43 +05:30
Xia Xiaotian
e727582180 Fix two WiFi and LWIP typos
1. close github issue: https://github.com/espressif/esp-idf/issues/1792
    2. close github issue: https://github.com/espressif/esp-idf/issues/1781
2018-04-05 11:46:42 +08:00
Jeroen Domburg
f586f5e690 Merge branch 'feature/get-started-20180130' into 'master'
Feature/get started 20180130

See merge request idf/esp-idf!1898
2018-04-05 09:54:17 +08:00
Jiang Jiang Jian
89369b64fa Merge branch 'feature/mesh' into 'master'
add mesh feature

See merge request idf/esp-idf!1991
2018-04-04 23:30:32 +08:00
qiyueixa
2984cdbbe3 add mesh feature 2018-04-04 22:57:45 +08:00
Jiang Jiang Jian
c842725be0 Merge branch 'bugfix/pm_coex_minor_things' into 'master'
Bugfix/pm coex minor things

See merge request idf/esp-idf!2180
2018-04-04 17:54:40 +08:00
Xia Xiaotian
e72f7e7ec4 Add more description for WiFi modem sleep in document and example. 2018-04-04 16:47:03 +08:00
Ivan Grokhotkov
1a302cbac1 Merge branch 'bugfix/open_uart_non_blocking' into 'master'
Make UART non-blocking when the file descriptor was opened with the O_NONBLOCK flag

See merge request idf/esp-idf!2153
2018-04-04 14:43:31 +08:00
Angus Gratton
53234ef2bc Merge branch 'refactor/rtc_split_module' into 'master'
bugfix(rtc): make sure peripherals (DAC, HALL) are turned off before conversion.

See merge request idf/esp-idf!1848
2018-04-04 09:00:58 +08:00
Tian Hao
58e7464dc0 component/esp32 : clear some minor thingsw about PM and coexistence 2018-04-03 20:13:49 +08:00
Ivan Grokhotkov
595ddfd825 Merge branch 'feature/build_ssc_in_multiple_ci_jobs' into 'master'
CI: support build SSC in multiple jobs

See merge request idf/esp-idf!1622
2018-04-03 18:20:38 +08:00
Ivan Grokhotkov
d7c8866896 Merge branch 'test/support_multi_stage_unit_test_case' into 'master'
unit-test-app: support multi stage unit test case

See merge request idf/esp-idf!2139
2018-04-03 18:20:16 +08:00
Ivan Grokhotkov
139d49894c Merge branch 'feature/deactivate_wakeup_trigger' into 'master'
esp32: Add deactivation of wake up trigger for different sources

See merge request idf/esp-idf!2079
2018-04-03 15:19:10 +08:00
Ivan Grokhotkov
5fdc978626 Merge branch 'doc/spi_speed' into 'master'
doc(spi_master): add descriptions about the SPI master speed

See merge request idf/esp-idf!2145
2018-04-03 15:17:25 +08:00
Angus Gratton
3ccb12530b heap: Change test_multi_heap_on_host multi-config to bash script not Makefile
Hopefully fix some CI building issues with parallel builds.
2018-04-03 16:34:02 +10:00
kooho
305c788c60 driver(uart): Add API to get the position of cmd_char 2018-04-03 12:34:16 +08:00
Deomid Ryabkov
4b7eb1792e Try to merge tail with next block when splitting
When splitting a memory block, check if the next block is free.
If it is, then just extend it upwards instead of creating a new block.
This fixes a bug where when shrinking existing allocations would result in irreversible free space fragmentation.

When testing on the host, test all the poisoning configurations.
2018-04-03 12:30:52 +10:00
Jiang Jiang Jian
393f3da37c Merge branch 'feature/btdm_add_get_local_used_addr_API' into 'master'
Component/bt: add esp_ble_gap_get_local_used_addr() API

See merge request idf/esp-idf!2137
2018-04-02 22:28:00 +08:00
Jiang Jiang Jian
7133e14eee Merge branch 'feature/wifi_bt_new_coex' into 'master'
Feature/wifi bt new coex

See merge request idf/esp-idf!2087
2018-04-02 22:20:31 +08:00
michael
e0b05c29f1 doc(spi_master): add descriptions about the SPI master speed
Closes https://github.com/espressif/esp-idf/issues/1542, Closes https://github.com/espressif/esp-idf/issues/1008
2018-04-02 12:44:19 +00:00
zhiweijian
a6c79cfe0f Component/bt: do not update connection params when already have keys in slave 2018-04-02 19:44:09 +08:00
He Yin Ling
3b3ad875c4 test: use SSC_BLE_WIFI to test NVS cases 2018-04-02 18:13:52 +08:00
Ivan Grokhotkov
aca0008694 Merge branch 'bugfix/sdspi_init_v1_card' into 'master'
sdspi: compatibility fixes for SD v1.0 cards

See merge request idf/esp-idf!1927
2018-04-02 13:48:46 +08:00
island
9b7454de0c support wifi&bt coexist (v0.9.1)
1. refactor wifi modem sleep
2. refactor wifi and bt phy enable/diable coexistence
3. support wifi&bt coexist (v0.9.1)
3. add coex pause resume
4. fix bt library interrupt reaction slowly
5. make a2dp more smooth when coex
6. add coexist preference option
7. Make CI do not check libcoexist.a printf/ets_printf
8. disable Wifi RX AMPDU when software coexistence enable && update wifi lib
9. bluetooth call modem sleep api
2018-04-02 13:44:48 +08:00
Ivan Grokhotkov
d6b1d0bb3d fatfs/test: enable tests on SD card 2018-04-02 10:57:45 +08:00
Jiang Jiang Jian
8eaae96658 Merge branch 'bugfix/flash_mapp' into 'master'
spi_flash: add api to get valid mmu table pages number

See merge request idf/esp-idf!2070
2018-03-30 19:32:35 +08:00
Jiang Jiang Jian
f46ad1fec8 Merge branch 'bugfix/btdm_fix_get_PID_key_error' into 'master'
Component/bt: fix get PID key error

See merge request idf/esp-idf!2156
2018-03-30 19:26:31 +08:00
Ivan Grokhotkov
e20e64ace9 fatfs/test: use 16k cluster size to speed up formatting 2018-03-30 18:49:42 +08:00
Ivan Grokhotkov
4a2489b99a sdspi: fix compatibility issue in multi block read
SDSPI driver optimized polling of the response tokens by requesting
two extra bytes on top of the block size (512) and CRC (2), and
checking whether these bytes contained the data response token or
not. In case the token was there, further polling would not need to
happen, thereby reducing latency between two consecutive blocks
transferred. However this caused compatibility issues when these two
extra bytes were sent after reading the final block. When
STOP_TRANSMISSION command was sent, these extra two bytes were
treated as part of the command, causing an invalid command error.

This fixes the logic by only requesting extra two bytes if the block
being read is not the final block. In addition to that, more strict
error checking is implemented for command response tokens.
2018-03-30 18:49:42 +08:00
Ivan Grokhotkov
229f67b816 sdspi: handle delayed R1 responses for data read commands 2018-03-30 18:49:42 +08:00
Ivan Grokhotkov
bbbdec24d9 sdspi: handle error flags for R3/R7 responses
Previously error flags were only handled for R1 responses. This change
moves error handling into a separate function and calls it for R1/R3/R7.
2018-03-30 18:49:42 +08:00
zhiweijian
99872beb6a Component/bt: add set gap icon API 2018-03-30 09:21:53 +00:00
Jiang Jiang Jian
e6d6deebc7 Merge branch 'bugfix/btdm_fix_connect_fail_when_remote_addr_is_random' into 'master'
Component/bt: modify open API params

See merge request idf/esp-idf!2116
2018-03-30 17:00:19 +08:00
Jiang Jiang Jian
21099c10f4 Merge branch 'feature/support_enrollee_feature_in_APSTA_mode' into 'master'
feature/support WPS enrollee in APSTA mode

See merge request idf/esp-idf!2120
2018-03-30 16:14:43 +08:00
Jiang Jiang Jian
6ffd089c97 Merge branch 'bugfix/btdm_fix_no_set_rand_addr_event_callback' into 'master'
Component/bt: fix no set rand add callback

See merge request idf/esp-idf!2140
2018-03-30 16:05:32 +08:00
Jiang Jiang Jian
b26ab188af Merge branch 'bugfix/btdm_fix_service_change_event_param_error' into 'master'
Component/bt: fix service change event params error

See merge request idf/esp-idf!2150
2018-03-30 14:57:13 +08:00
Jiang Jiang Jian
8b9f237cb9 Merge branch 'feature/i2s_add_expand_function' into 'master'
add a new i2s feature to expand the original i2s width

See merge request idf/esp-idf!1617
2018-03-30 14:51:23 +08:00
Jiang Jiang Jian
e84df7a27d Merge branch 'bugfix/btdm_fix_strncpy_error_in_blufi' into 'master'
Component/bt: fix strncpy error in blufi

See merge request idf/esp-idf!2141
2018-03-30 14:10:09 +08:00
Jiang Jiang Jian
fc5b15173e Merge branch 'bugfix/btdm_add_some_comment' into 'master'
Component/bt: add some comments

See merge request idf/esp-idf!1949
2018-03-30 14:07:30 +08:00
Jiang Jiang Jian
713529e464 Merge branch 'bugfix/btdm_xQueueGenericSend_assertion' into 'master'
component/bt: Fix xQueueGenericSend assertion

See merge request idf/esp-idf!2130
2018-03-30 14:02:24 +08:00
Jiang Jiang Jian
52667d8291 Merge branch 'bugfix/btdm_ble_spp_client_heartbeat' into 'master'
component/bt: fix type error for ble_spp_client when SUPPORT_HEARTBEAT is enabled

See merge request idf/esp-idf!1876
2018-03-30 14:01:28 +08:00
kooho
8fb9bfef79 example(ble): Update ble a2d_sink example 2018-03-30 12:08:41 +08:00
He Yin Ling
fee844d22c unit-test-app: support multi stages test 2018-03-30 11:38:49 +08:00
zhiweijian
109a93bf8c Component/bt: fix get PID key error 2018-03-30 11:31:15 +08:00
zhiweijian
e6262375a3 Component/bt: fix connect fail when remote addr type is random 2018-03-29 20:55:31 +08:00
Roland Dobai
c55987a3e9 vfs: consider O_NONBLOCK flag while opening UART FD 2018-03-29 14:20:14 +02:00
zhiweijian
aa236809ad Component/bt: fix no set rand add callback event 2018-03-29 20:17:14 +08:00
zhiweijian
8a78860b16 Component/bt: add esp_ble_gap_get_local_used_addr() API 2018-03-29 19:47:08 +08:00
He Yin Ling
48e3e3efca test: change SSC binary path 2018-03-29 19:40:07 +08:00
He Yin Ling
493a92665d CI: support build SSC in multiple jobs 2018-03-29 19:40:07 +08:00
Tian Zhong Xing
49a236dae0 fix CI failed when flash chip size if 2MBytes 2018-03-29 17:48:59 +08:00
zhiweijian
f5d581421e Component/bt: fix service change event params error 2018-03-29 16:11:16 +08:00
Alex Lisitsyn
cffab50ac3 esp32: Deactivate wakeup trigger after first wakeup
The files updated according to code review discussions.
In the sleep_modes.c removed immidiate disable of ULP  mode and leave just trigger deactivation.
The esp_sleep.h is updated to have the same defines for source as esp_sleep_wakeup_cause_t.
Updated documentation in sleep_modes.rst file to include cross references and address esp_sleep_wakeup_cause_t type.
The get_time_ms() is updated to explicitly use fabs(dt) instead of abs(dt) in  test_sleep.c.
Some other minor changes in test_sleep.c unit test.

(TW#18952)
Closes https://github.com/espressif/esp-idf/issues/1677
2018-03-29 11:24:59 +05:00
Lin Meiling
707785c306 Update idf-monitor.rst 2018-03-29 14:16:22 +08:00
kooho
8e1f930582 driver(gpio): Modified the GPIO_CHECK's return value when ISR service already installed 2018-03-29 09:58:31 +08:00
Angus Gratton
da27816314 Merge branch 'feat/add_efuse_cpu_freq_rating' into 'master'
efuse/add cpu freq rating

See merge request idf/esp-idf!1994
2018-03-29 05:59:52 +08:00
Angus Gratton
a17d12d94f Merge branch 'bugfix/make_error_codes_unique' into 'master'
Make error codes globally unique

See merge request idf/esp-idf!1935
2018-03-29 05:57:04 +08:00
Jiang Jiang Jian
6b8ca31bc9 Merge branch 'bugfix/btdm_slow_interrupt_reaction' into 'master'
component/bt : fix interrupt slow reaction cause assert(interrupt wdt)

See merge request idf/esp-idf!2143
2018-03-28 21:49:19 +08:00
baohongde
e1b419fb6d component/bt: Fix xQueueGenericSend assertion 2018-03-28 20:25:57 +08:00
Ivan Grokhotkov
1a157279e0 Merge branch 'doc/adc1_channel_config' into 'master'
adc: Add doc details about configure not needed before each read

See merge request idf/esp-idf!2132
2018-03-28 19:11:44 +08:00
Ivan Grokhotkov
d316916544 Merge branch 'bugfix/build_fix_conf' into 'master'
build: Fix problems with building kconfig and generating sdkconfig

See merge request idf/esp-idf!2138
2018-03-28 19:11:12 +08:00
Michael (Xiao Xufeng)
cef8baf424 bugfix(rtc): make sure peripherals (DAC, HALL) are turned off before conversion.
refactor structure of ``rtc_module.c`` to make it more clearly.

Closes https://github.com/espressif/esp-idf/issues/1517
2018-03-28 17:10:01 +08:00
Tian Hao
3843bff97b component/bt : fix interrupt slow reaction cause assert(interrupt wdt)
Some application lock interrupt(portENTER_CRITICAL) too long time,
it will cause bluetooth cannot react interrupt in time, then t will
cause some assert, assert info following:
1. ld_acl.c 1900
2. ld_fm.c 340
3. other assert reference to this.
2018-03-28 12:04:16 +08:00
zhiweijian
6a9420465c Component/bt: fix strncp error in blufi 2018-03-28 11:38:45 +08:00
Jiang Jiang Jian
391c3ff959 Merge branch 'feature/btdm_add_compile_version' into 'master'
component/bt : add bluetooth controller library compile version

See merge request idf/esp-idf!2135
2018-03-28 10:56:06 +08:00
Anton Maklakov
f3d61015f7 build: Fix problems with building kconfig and generating sdkconfig
We had some problems:
    simultaneous compiling of kconfig in the same tree;
    attempt to use menuconfig in some examples and ut in batch mode (w/o interactive console)

Also increase debug abilities in CI:
    force non-interactive building;
    add variable DEBUG_SHELL to toggle verbosity of scripts
2018-03-28 10:39:20 +08:00
Angus Gratton
4507b3fde6 adc: Add doc details about configure not needed before each read 2018-03-28 11:52:41 +11:00
Tian Hao
4b1ef083ee component/bt : add bluetooth controller library compile version 2018-03-27 16:35:00 +08:00
Ivan Grokhotkov
2935e958fc Merge branch 'bugfix/adc2_cct' into 'master'
fix(adc2): fix cct and xpd configurations to improve precision of ADCs

See merge request idf/esp-idf!2020
2018-03-27 16:23:43 +08:00
Jiang Jiang Jian
3eb43c9ece Merge branch 'bugfix/no_link_key_notify_on_repairing' into 'master'
component/bt: bugfix for no link key notification event on repairing

See merge request idf/esp-idf!2118
2018-03-27 14:51:25 +08:00
Roland Dobai
7c4b3d50f8 Make error codes globally unique 2018-03-27 08:12:54 +02:00
Ivan Grokhotkov
892f3907fa Merge branch 'bugfix/i2c_ack_error_bug' into 'master'
driver(i2c):  Fixed i2c interrupt wdt timeout bug

See merge request idf/esp-idf!2049
2018-03-27 12:29:23 +08:00
Ivan Grokhotkov
b007b89b84 soc/io_mux: make CLK_OUT fields compatible with REG_SET/GET_FIELD 2018-03-27 12:10:18 +08:00
Ivan Grokhotkov
2e7613b656 Merge branch 'feature/use_esp_err_to_name' into 'master'
Use esp_err_to_name in examples & optionally disable it in Kconfig

See merge request idf/esp-idf!2013
2018-03-27 11:50:21 +08:00
Ivan Grokhotkov
9d69d11067 Merge branch 'feature/spi_dummy_bit' into 'master'
feat(spi_master): allow output high speed data when dummy bits are not used.

See merge request idf/esp-idf!2113
2018-03-27 11:28:58 +08:00
wangmengyang
fd8c484b33 component/bt: bugfix for no link key notification event on repairing for initiating side of simple pairing
In response to: https://github.com/espressif/esp-idf/issues/1275
2018-03-27 11:22:47 +08:00
Ivan Grokhotkov
db44a719fb pm: add unit test for configuration changes 2018-03-27 11:20:55 +08:00
Ivan Grokhotkov
94014a9a51 pm: handle the case of 2MHz frequency
It is not possible to generate 1 MHz REF_TICK from 2 MHz APB clock
(this is a limitation of REF_TICK divider circuit). Since switching
REF_TICK frequency is something we would like to avoid (to maintain
UART output even with DFS), 2 MHz frequency has been marked as
unsupported.
2018-03-27 11:20:55 +08:00
Ivan Grokhotkov
839c665c92 pm: fix initialisation only done in dual core mode
Introduced in 9377d4ac. Accidentally put the new code block under an
2018-03-27 11:20:54 +08:00
Ivan Grokhotkov
fe5d294f6c pm: handle changes to the PM_MODE_ACTIVE frequency
The issue would manifest itself in cases when switching from PM
configuration like {active=160MHz, idle=80MHz} to {active=80MHz,
idle=80Mhz}. After the configuration was changed, PM logic would
think that current frequency was 80MHz and would not do any further
switching. In fact, frequency was still 160MHz.
2018-03-27 11:20:54 +08:00
Ivan Grokhotkov
1517aeda6c pm: fix calculation of maximum of two frequencies
The old code calculated MAX() of two enum values, but CPU frequency
enum values are not ordered (2MHz goes after 240MHz). This caused
incorrect configuration to be set.
2018-03-27 11:20:53 +08:00
Ivan Grokhotkov
43b5fdd5c9 soc/rtc: fix switching between 80/160 and 240MHz
Previous code contained a check for PLL frequency to be 240MHz, while
in fact 240MHz was a CPU frequency; corresponding PLL frequency is
480MHz. Fixed the comparison and replaced integer MHz values with an
enum.
2018-03-27 10:55:59 +08:00
Michael (Xiao Xufeng)
7563510758 feat(spi_master): allow output high speed data when dummy bits are not used. 2018-03-26 21:24:32 +08:00
michael
28e832c37e fix(adc2): fix cct and xpd configurations to improve precision of ADCs 2018-03-26 12:02:26 +00:00
Jeroen Domburg
1c4ad79c00 Examples/spi_master: spiffier graphics 2018-03-26 17:07:32 +08:00
Ivan Grokhotkov
9ea38560ec Merge branch 'feature/docs_check_lang_folder_sync' into 'master'
Introduced a CI check if folders with localized documentation are in sync, i.e.…

See merge request idf/esp-idf!2073
2018-03-26 16:54:04 +08:00
kooho
37db055cff driver(i2c): Fixed ack_err interrupt can't exit bug. 2018-03-26 16:31:17 +08:00
Ivan Grokhotkov
4667d9c804 Merge branch 'bugfix/rtc_xtal_unit_test' into 'master'
Fix 32k RTC XTAL unit test failures

See merge request idf/esp-idf!2124
2018-03-26 15:41:25 +08:00
Ivan Grokhotkov
af3ffec446 Merge branch 'feat/add_FatFs_encoding_options_in_menuconfig' into 'master'
fatfs/add menuconfig options for different encodings

See merge request idf/esp-idf!2112
2018-03-26 14:14:48 +08:00
Tian Zhong Xing
fa68774344 spi_flash:
1. add test code for new api
2. resolve some comments
2018-03-26 10:24:42 +08:00
Ivan Grokhotkov
48d55e22e7 soc/rtc: run 32k XTAL startup test only in PSRAM config
PSRAM tests run on ESP-WROVER-KIT boards, which have the 32k XTAL
installed.
2018-03-26 10:14:13 +08:00
Lin Meiling
8e7fce51a2 docs: add get-started doc Chinese translation 2018-03-23 14:42:14 +01:00
Deng Xin
6c3bdd45cf feature/support WPS enrollee in APSTA mode
Add the feature WPS enrollee in APSTA mode

close github issue: https://github.com/espressif/esp-idf/issues/1608
2018-03-23 15:41:59 +08:00
Darian Leung
99b8ae34c9 fatfs/add menuconfig options for different encodings
This commit adds character encoding configurations in for the fatfs component.
The FF_LFN_UNICODE definition in ffconf.h can now be changed to accept UTF-8 or
UTF-16 encoded filernames. Test cases using UTF-8 encoded file paths and names in
FatFs have also been added.

Closes #1183
2018-03-23 14:06:56 +08:00
Ivan Grokhotkov
27bf18ad6b Merge branch 'test/wifi_stop_deinit' into 'master'
test(wifi): add test for wifi stop and deinit.

See merge request idf/esp-idf!2022
2018-03-23 13:45:20 +08:00
Ivan Grokhotkov
d7e980865b Merge branch 'bugfix/http2_add_authority_field' into 'master'
http2: Include 'authority' header by default in the request

See merge request idf/esp-idf!2097
2018-03-23 13:28:55 +08:00
Zhang Zhao Xiang
f48ecb8613 Add a new i2s feature to expand the original i2s width 2018-03-22 18:52:55 +08:00
Jiang Jiang Jian
0a83733d2d Merge branch 'bugfix/btdm_spp_handle_error' into 'master'
component/bt: Fix bug of SPP handle error

See merge request idf/esp-idf!2026
2018-03-22 10:08:47 +08:00
Jiang Jiang Jian
ca3e4ef5ca Merge branch 'bugfix/btdm_fix_error_when_close_SMP_for_master' into 'master'
Component/bt: fix build error when close SMP

See merge request idf/esp-idf!2110
2018-03-22 10:07:57 +08:00
Ivan Grokhotkov
887b6e2925 Merge branch 'bugfix/rtc_clk_32k_bootstrap' into 'master'
bugfix/rtc_clk_32k_bootstrap: Fix starting 32k RTC

See merge request idf/esp-idf!2085
2018-03-21 18:38:49 +08:00
Konstantin Kondrashov
f7df532ec0 bugfix/rtc_clk_32k_bootstrap: Fix starting 32k RTC
1. External 32kHz crystal is started for too long or it may not start at all. It is often observed at the first start.
2. At the first start, it is possible that the crystal did not start. And the recorded period was recorded as 0. Which led to a division error by zero during the transition to the deep sleep mode (Maybe somewhere else).
3. Added a unit test to test a new method of oscillation an external crystal.
4. Added a new method of oscillating of an external crystal. The legs of the crystal are fed with a 32 kHz frequency.

The new method eliminates these errors.

Added unit test: `\esp-idf\components\soc\esp32\test\test_rtc_clk.c`: `make TEST_COMPONENTS=soc`
- 8 Test starting external RTC crystal. Will pass.

`Bootstrap cycles for external 32kHz crystal` - is specified in the file Kconfig by default 100.

QA tested a new method of oscillation the crystal on 25 boards. The supply of square waves on the crystal showed a 100% result in contrast to the previous method of launching the crystal. After the tests, the old method was deleted.

Closes TW19143
2018-03-21 13:27:56 +05:00
zhiweijian
064c274bd6 Component/bt: fix build error when close SMP 2018-03-21 15:21:30 +08:00
Jiang Jiang Jian
8478823039 Merge branch 'bugfix/dfs_rtc_fixes' into 'master'
DFS related fixes

See merge request idf/esp-idf!2102
2018-03-21 12:02:48 +08:00
Jiang Jiang Jian
aa3c77ec60 Merge branch 'bugfix/wifi_lwip_set_ip_post_wrong_event' into 'master'
Fix the bug that incorrect event is posted when setting static ip of softap and ethernet

See merge request idf/esp-idf!2095
2018-03-21 11:45:24 +08:00
XiaXiaotian
0470f28055 Fix the bug that incorrect event is posted when setting static ip of softap and ethernet 2018-03-21 11:04:22 +08:00
Ivan Grokhotkov
5bc724d3f9 Merge branch 'feature/configure_pthread_behaviour' into 'master'
pthread: Allow configuration of priority and stacksize

See merge request idf/esp-idf!1978
2018-03-21 00:41:20 +08:00
Kedar Sovani
7a0cab0a5b pthread: Allow configuration of priority and stacksize
The expected usage is:
  esp_pthread_set_cfg(cfg);
  pthread_create()

If the inherit flag is set, then all subsequent threads forked by this
thread will also inherit this configuration. This avoids having to
change/prefix this for each and every pthread_create() call.
2018-03-20 18:06:32 +05:30
Jiang Jiang Jian
cd54a35cae Merge branch 'cherry-pick-7f2a9f03' into 'master'
cherry pick 'bugfix/btdm_fix_reconnect_fail_in_smp_v30' into 'Master'

See merge request idf/esp-idf!2101
2018-03-20 20:23:43 +08:00
Kedar Sovani
86eaf5d56b http2: Include 'authority' field by default in the request
Closes https://github.com/espressif/esp-idf/issues/1717
2018-03-20 17:33:05 +05:30
Jiang Jiang Jian
c45170cb66 Merge branch 'bugfix/btdm_fix_reconnect_fail_in_smp_v30' into 'release/v3.0'
Component/bt: fix reconnect fail in smp for v3.0

See merge request idf/esp-idf!2075

(cherry picked from commit 7f2a9f0359)

d0e55335 Component/bt: fix reconnect fail in smp
2018-03-20 18:49:22 +08:00
Jiang Jiang Jian
0f6f762be0 Merge branch 'bugfix/btdm_add_char_descr_uuid_error' into 'master'
component/bt: Change the char_uuid to descr_uuid in the add descriptor callback params.

See merge request idf/esp-idf!2065
2018-03-20 18:43:42 +08:00
Ivan Grokhotkov
1618dbc9a5 soc/rtc: wait for frequency switch to complete
The fast path of CPU frequency switch function, used in DFS, was not
waiting for the frequency switch to complete when switching from XTAL
to PLL. This resulted in incorrect reads from peripherals on APB,
where two consecutive reads could return the same value. For example,
in esp_timer, read of FRC_COUNT_REG would return same value as the
preceding read of FRC_ALARM_REG, causing time to jump by the value of
FRC_ALARM_REG / apb_freq_mhz.
2018-03-20 18:27:32 +08:00
Jiang Jiang Jian
8ab17d7ccf Merge branch 'bugfix/btdm_avrc_remote_bda_error_when_disconnect' into 'master'
component/bt: Fix bug: AVRC remote_bda error when disconnect

See merge request idf/esp-idf!2093
2018-03-20 18:24:01 +08:00
Jiang Jiang Jian
4cd0e83aea Merge branch 'feature/optimize_wifi_tx' into 'master'
esp32: optimize WiFi TX

See merge request idf/esp-idf!2091
2018-03-20 18:21:11 +08:00
Ivan Grokhotkov
7167ad45ab pm: improve debug output from esp_pm_dump_locks
- separate mode stats from lock stats by an extra comment line
- add CPU frequency column to the mode stats
- don’t print a row for light sleep if light sleep is not enabled
2018-03-20 18:08:19 +08:00
Ivan Grokhotkov
9377d4acd4 pm: fix incorrect configuration at startup
s_cpu_freq_by_mode array was statically initialised with 80MHz CPU
frequency in CPU_MAX and APB_MAX modes, but sdkconfig setting for the
CPU frequency could have been different. For the case of 240MHz CPU
frequency, this would cause a frequency switch between 240MHz and
80MHz to happen, even though such switch is not supported in the fast
path switching functions used by the DFS implementation.

This fixes the issue by moving initialisation into esp_pm_impl_init,
which is called at startup before the first mode switch can happen.

Fixes https://github.com/espressif/esp-idf/issues/1729.
2018-03-20 18:06:58 +08:00
Alex Lisitsyn
d91e2703f4 esp32: Deactivate wakeup trigger after first wakeup
The files updated according to code review discussions.
In the sleep_modes.c removed immidiate disable of ULP  mode and leave just trigger deactivation.
The esp_sleep.h is updated to have the same defines for source as esp_sleep_wakeup_cause_t.
Updated documentation in sleep_modes.rst file to include cross references and address esp_sleep_wakeup_cause_t type.
Some minor changes in test_sleep.c unit test.

(TW#18952)
Closes https://github.com/espressif/esp-idf/issues/1677
2018-03-20 14:58:43 +05:00
Liu Zhi Fu
21c0b59315 esp32: optimize WiFi TX
1. Optimize TX retry counter
2. Optimize TX timeout
2018-03-20 15:24:32 +08:00
Alex Lisitsyn
1e9bb5bb7c esp32: Deactivate wakeup trigger after first wakeup
The files updated according to code review discussions.
In the sleep_modes.c removed immidiate disable of ULP  mode and leave just trigger deactivation.
The esp_sleep.h is updated to have the same defines for source as esp_sleep_wakeup_cause_t.
Updated documentation in sleep_modes.rst file to include cross references.
Some minor changes in test_sleep.c unit test.

(TW#18952)
Closes https://github.com/espressif/esp-idf/issues/1677
2018-03-20 12:23:32 +05:00
Jiang Jiang Jian
45eb556ddf Merge branch 'bugfix/wpa2_assert_when_use_sha256_signature' into 'master'
bugfix of wpa2 assert when use sha256 do signature

See merge request idf/esp-idf!2089
2018-03-20 15:19:55 +08:00
Jiang Jiang Jian
f2132238b2 Merge branch 'bugfix/tw19041_esp_wifi_stop_not_return' into 'master'
esp32: Fix esp_wifi_stop never returns issue

See merge request idf/esp-idf!2059
2018-03-20 15:18:09 +08:00
baohongde
2531975ca0 component/bt: Fix bug: AVRC remote_bda error when disconnect 2018-03-20 15:12:36 +08:00
Deng Xin
bc97b0f380 bugfix of wpa2 assert when use sha256 do signature
The order of wpa2_crypto_funcs_t structure mismatch between IDF and wifi libray

close github issue https://github.com/espressif/esp-idf/issues/1297
2018-03-20 11:08:20 +08:00
Ivan Grokhotkov
7e2028d598 Merge branch 'bugfix/gpio_timer_doc_fixes' into 'master'
Minor fixes of GPIO and timer group driver docs

See merge request idf/esp-idf!2081
2018-03-20 10:49:36 +08:00
Ivan Grokhotkov
e56897b7a4 Merge branch 'bugfix/docs_updates_from_github' into 'master'
Bugfix/docs updates from github

See merge request idf/esp-idf!2057
2018-03-20 09:50:43 +08:00
Angus Gratton
d3b8f1f927 heap tracing: Fix tracing of newlib internal allocations
Newlib internal allocations (from newlib ROM code) were not being included in the heap trace.

Ref https://github.com/espressif/esp-idf/issues/1652
2018-03-20 12:03:46 +11:00
Angus Gratton
b626c1b365 Merge branch 'feature/doc_common_conf' into 'master'
doc: Move non-language-specific RTD/Sphinx config to conf_common.py

See merge request idf/esp-idf!2058
2018-03-20 09:02:12 +08:00
zhiweijian
7c777f40aa Component/bt: add some comment 2018-03-19 21:19:21 +08:00
Liu Zhi Fu
078cd81f10 esp32: Fix wifi stop never return issue
Fix esp_wifi_stop() never return issue
2018-03-19 21:16:29 +08:00
Jiang Jiang Jian
5d4c4b19d4 Merge branch 'bugfix/tw19020_force_1.9V_when_flash_is_80M' into 'master'
bootloader: force SDIO 1.9V if flash is 80M

See merge request idf/esp-idf!2083
2018-03-19 18:50:36 +08:00
Jiang Jiang Jian
259220f33d Merge branch 'bugfix/btdm_spp_invalid_handle_path' into 'master'
component/bt: Fix bug of SPP invalid handle path

See merge request idf/esp-idf!2056
2018-03-19 18:40:47 +08:00
Ivan Grokhotkov
e784df60cc Merge branch 'bugfix/fix_param_name_comments_bt' into 'master'
components/bt: Fix parameter name and print statements

See merge request idf/esp-idf!2032
2018-03-19 16:59:09 +08:00
Ivan Grokhotkov
85c9164f50 Merge branch 'bugfix/fix_bt_typos' into 'master'
components/bt examples/bluetooth: Fix typographical errors

See merge request idf/esp-idf!1950
2018-03-19 16:58:55 +08:00
Liu Zhi Fu
072b353b45 bootloader: force SDIO 1.9V if flash is 80M
If the SPI flash frequency is 80M, the voltage of SDIO is 1.9V,
otherwise, it can configured to 1.8V or 1.9V via menuconfig.
2018-03-19 16:39:54 +08:00
Ivan Grokhotkov
b9a8912659 Merge branch 'bugfix/spi_master_const_dev_config_t' into 'master'
spi master: use constant dev_config parameter in spi_bus_add_device

See merge request idf/esp-idf!2082
2018-03-19 16:31:19 +08:00
michael
c2a68ae0d3 test(wifi): add test for wifi stop and deinit. 2018-03-19 08:23:52 +00:00
Jiang Jiang Jian
7594127ca3 Merge branch 'feature/add_simple_wifi_example' into 'master'
add feature of simple wifi example

See merge request idf/esp-idf!2045
2018-03-19 14:56:22 +08:00
Jiang Jiang Jian
9e8d098264 Merge branch 'bugfix/btdm_fix_eddystone_demo_error' into 'master'
Component/bt: fix eddystone demo error

See merge request idf/esp-idf!2036
2018-03-19 14:26:55 +08:00
Jiang Jiang Jian
d6946598f6 Merge branch 'bugfix/btdm_fix_gattc_open_API' into 'master'
component/bt: fix gattc open api

See merge request idf/esp-idf!2004
2018-03-19 14:26:41 +08:00
Jonathan Kaufmann
a99d4d5a7f Modified spi_bus_add_device so that it takes a constant *dev_config parameter.
Merges https://github.com/espressif/esp-idf/pull/1690
2018-03-19 12:17:45 +08:00
Stefan Tauner
757c1d6739 docs: explicitly note that timer alarms are not recurring
Merges https://github.com/espressif/esp-idf/pull/1740
2018-03-19 11:56:57 +08:00
Stefan Tauner
38daa1e716 docs: fix description of timer_get_alarm_value()
Replace c&p text with an actual description.

Merges https://github.com/espressif/esp-idf/pull/1740
2018-03-19 11:56:57 +08:00
Stefan Tauner
86a1d579ff docs: add warning to gpio_get_level()
On most microcontrollers I have worked with one can retrieve the
current state of output GPIO pins. On ESP32 this is not the case
if the pad is not explictly configured to route this information into
the port by configuring it as input or i/o.
Thus add a warning to the API documentation of gpio_get_level().

Merges https://github.com/espressif/esp-idf/pull/1740
2018-03-19 11:56:57 +08:00
baohongde
1c48b4f01e component/bt: Fix bug of SPP invalid handle path 2018-03-19 02:22:45 +00:00
baohongde
b9ea6a2067 component/bt: Fix bug of a2dp source cleanup bug when connected 2018-03-19 02:21:12 +00:00
Angus Gratton
9a6fcab527 Merge branch 'test/spi_speed_fix' into 'master'
test(spi_master): test spi master speed performance by median value.

See merge request idf/esp-idf!2048
2018-03-19 06:16:38 +08:00
John
f32abada86 Update building-openocd-linux.rst. Merges https://github.com/espressif/esp-idf/pull/1714
replace - for -- in line 16 to make it run
2018-03-18 20:02:54 +01:00
Alex Lisitsyn
ce09cfd99b esp32: Deactivate wakeup trigger after first wakeup
Added function esp_sleep_disable_wakeup_source() to deactivate wakeup trigger for selected source.
Updated documentation for this function in sleep_modes.rst file.
Updated unit test to check this functionality for light sleep.
The test_sleep.c unit test is updated to add reliability for unit testing.

(TW#18952)
Closes https://github.com/espressif/esp-idf/issues/1677
2018-03-16 18:49:24 +05:00
Alex Lisitsyn
2d90da0817 esp32: Deactivate wakeup trigger after first wakeup
The timer wakeup function once activated cannot be disabled later using existing api. If user wants to use different wakeup sources after first sleep but it does not work. This change disables timer wakeup trigger in configuration that will be set into appropriate RTC registers in esp_light_sleep_start() function.

Added function esp_sleep_disable_wakeup_source() to deactivate wakeup trigger for selected source.
Updated documentation for this function in sleep_modes.rst file to pass make html.
Updated unit test to check this functionality for light sleep.
The test_sleep.c unit test is updated to add reliability for auto unit testing.

(TW#18952)
Closes https://github.com/espressif/esp-idf/issues/1677
2018-03-16 18:22:02 +05:00
Ivan Grokhotkov
09a30ddfdc Merge branch 'bugfix/adc_calibration_override_format' into 'master'
esp_adc_cal/Fix register definition and add override intsructions for eFuse

See merge request idf/esp-idf!2001
2018-03-16 20:19:01 +08:00
zwj
d1405183a5 component/bt: fix gattc open api 2018-03-16 19:17:55 +08:00
Michael (Xiao Xufeng)
15be0829fa test(spi_master): test spi master speed performance by median value.
also increase the boundary of SPI limit by a little.
2018-03-16 16:37:19 +08:00
Darian Leung
f4b03d553c bugfix/Fix BLK3_RESERVED_FLAG register and other minor bugs
This commit fixes an incorrect register definition for BLK3_RESERVED_FLAG.
Other bugs include a missing conditional check, and updated comments
on modifying eFuse checking behavior.
2018-03-16 15:51:36 +08:00
krzychb
621076f329 Introduced a CI check if folders with localized documentation are in sync, i.e. if they contain the same list of files 2018-03-16 07:54:58 +01:00
Tian Zhong Xing
7555031553 add api get valid mmu table pages number 2018-03-16 10:40:55 +08:00
Angus Gratton
748fef4363 doc: Move non-language-specific RTD/Sphinx config to conf_common.py 2018-03-16 12:00:01 +11:00
Jiang Jiang Jian
7e268adaf5 Merge branch 'bugfix/btdm_mem_leak_of_bt_dynamic_memory' into 'master'
component/bt: Fix bug of bt dynamic memory

See merge request idf/esp-idf!2053
2018-03-15 17:01:20 +08:00
Jiang Jiang Jian
dc66940f82 Merge branch 'bugfix/btdm_a2dp_disc_rsn_error_when_as_master' into 'master'
component/bt: Fix bug: a2dp disc_rsn error when as master

See merge request idf/esp-idf!1995
2018-03-15 15:28:11 +08:00
Jiang Jiang Jian
488268d58b Merge branch 'bugfix/btdm_a2dp_sink_cleanup_bug' into 'master'
component/bt: Fix bug of a2dp sink cleanup bug when connected

See merge request idf/esp-idf!2041
2018-03-15 15:04:39 +08:00
baohongde
3ee5b49575 component/bt: Fix bug of bt dynamic memory 2018-03-15 14:36:49 +08:00
Yulong
c802ea842d component/bt: Change the char_uuid to descr_uuid in the add descriptor callback params. 2018-03-15 02:29:11 -04:00
Jiang Jiang Jian
047870fd80 Merge branch 'bugfix/btdm_string_to_bdaddr_error_when_opening_nano' into 'master'
component/bt: Fix bug: string_to_bdaddr() error when opening nano

See merge request idf/esp-idf!1981
2018-03-15 14:14:47 +08:00
Liu Zhi Fu
8f61716647 esp32: Fix esp_wifi_stop never returns issue
esp_wifi_stop may never return when run esp_wifi_start/stop repeatly.
2018-03-15 11:25:13 +08:00
zhangyanjiao
d91456a348 add feature of simple wifi example
Closes: https://github.com/espressif/esp-idf/issues/1433
2018-03-15 10:35:58 +08:00
Angus Gratton
55e5f8e349 Merge branch 'bugfix/docs_small_updates' into 'master'
Bugfix/docs small updates

See merge request idf/esp-idf!1847
2018-03-15 06:36:15 +08:00
krzychb
4a9b44e0c8 Included update made in MR !2012, that has been then lost when resolving merge conflicts of MR !1901 2018-03-14 22:05:36 +01:00
XuanZe
5a31c1e5b1 fix : cpp:type. Merges https://github.com/espressif/esp-idf/pull/1700 2018-03-14 22:04:47 +01:00
krzychb
36bbfbb4bf Updated instructions to install Eclipse. Closes https://github.com/espressif/esp-idf/issues/1509. 2018-03-14 19:26:59 +01:00
krzychb
852f7f8a36 Updated get started instructions for windows following https://esp32.com/viewtopic.php?f=13&t=4232 2018-03-14 19:26:59 +01:00
baohongde
c0eadc514f component/bt: Fix bug of a2dp sink cleanup bug when connected 2018-03-14 06:27:26 +00:00
Ivan Grokhotkov
a58a2b6f6d Merge branch 'bugfix/wl_encryption_size' into 'master'
Bugfix/wl encryption size

See merge request idf/esp-idf!2037
2018-03-14 14:12:29 +08:00
Ivan Grokhotkov
36098f3cac Merge branch 'bugfix/make_MEMMAP_SMP_config_dependent' into 'master'
bugfix/remove MEMMAP_SMP config

See merge request idf/esp-idf!1988
2018-03-14 13:02:55 +08:00
Angus Gratton
bd09a83062 Merge branch 'feature/esptool_v23' into 'master'
Update esptool to v2.3.1

See merge request idf/esp-idf!1989
2018-03-14 08:11:59 +08:00
Angus Gratton
7fd74c5eaa Merge branch 'feature/docs_dedicated_language_folders' into 'master'
Move docs into dedicated folders for 'en' and 'zn_CN' language versions

See merge request idf/esp-idf!1901
2018-03-14 07:22:13 +08:00
krzychb
b7f7ac3b28 Implemented review comments to zh_CN version of eclipse setup and PICO-KIT get started guides. Resolved issues after rebasing on master of several commits. 2018-03-13 22:31:54 +01:00
He Yin Ling
286874eca4 CI: print document preview link in deploy_docs 2018-03-13 22:07:31 +01:00
michael
dda0e68c7c doc: two languages support for deploy_docs stage. 2018-03-13 22:07:31 +01:00
krzychb
6a1b2c6ad0 Included zh_CN version of Eclipse setup and PICO-KIT get started guides 2018-03-13 22:07:31 +01:00
krzychb
c63d7a4b5e Adjusted CI configuration to handle 'en' and 'zh_CN' language versions 2018-03-13 22:07:31 +01:00
krzychb
56d5647d3f Adjusted Sphinx configuration to handle 'en' and 'zh_CN' language versions 2018-03-13 22:07:31 +01:00
krzychb
40bc387bae Restored back original 'zh_CN' version files and updated links between versions 2018-03-13 21:57:08 +01:00
krzychb
097adc3a33 Moved files into separate folders per 'en' and 'zh_CN' language version and linked 'zh_CN' files back to 'en' files if translation is not yet available 2018-03-13 21:57:08 +01:00
krzychb
c8d8cdbf38 Make search / include path one level deeper to prepare for moving documentation into new dedicated folders per a language version 2018-03-13 21:57:08 +01:00
Roland Dobai
27a63c492f Examples: Demonstrate the usage of esp_err_to_name 2018-03-13 14:27:00 +01:00
Roland Dobai
f891eac827 ESP32: Optionally disable lookup-tables for esp_err_to_name 2018-03-13 14:26:54 +01:00
Jiang Jiang Jian
12b4e416e6 Merge branch 'bugfix/wpa2_assert_when_suddenly_disconnect' into 'master'
Bugfix of wpa2 task assert when suddenly disconnect

See merge request idf/esp-idf!2043
2018-03-13 20:59:39 +08:00
Ivan Grokhotkov
7a1e3265fe Merge branch 'bugfix/docs_small_corrections' into 'master'
Bugfix/docs small corrections

See merge request idf/esp-idf!2025
2018-03-13 17:43:00 +08:00
Ivan Grokhotkov
c54ce12853 Merge branch 'bugfix/docs_incremental_build' into 'master'
docs: speed up incremental builds

See merge request idf/esp-idf!2012
2018-03-13 17:41:08 +08:00
Ivan Grokhotkov
e1cfa133bd Merge branch 'bugfix/docs_from_github' into 'master'
Bugfix/docs from github

See merge request idf/esp-idf!2015
2018-03-13 17:40:26 +08:00
Xu Chun Guang
973913b151 feat: Adjust log level about UART
There are too many log when UART baud is around 2Mbps if not use hard flow control.
2018-03-13 16:01:37 +08:00
Deng Xin
768d6e09ab Bugfix of wpa2 task assert when suddenly disconnect 2018-03-12 21:41:24 +08:00
Dmitry
5cbb1943ac Structure size alligned by compiler. 2018-03-12 15:34:16 +03:00
Dmitry
743969f333 Size of structure made latform independent. 2018-03-12 08:34:23 +03:00
krzychb
e437c7d6ad Exposed important information regrading the flash bus signals 2018-03-12 05:56:35 +01:00
XuanZe
bf2a7fd2c9 fix: fatfs link 2018-03-12 05:56:35 +01:00
krzychb
ef76ae3d29 Extra links in 'Resources' section 2018-03-12 05:56:35 +01:00
krzychb
691b2ad8f3 Added / corrected README files for the SPI master / slave examples under peripherals 2018-03-12 05:56:35 +01:00
Dmitry
560753cfb1 Size updated. 2018-03-12 07:49:50 +03:00
Dmitry
09704fe7ca Size of structure ware updated. 2018-03-12 07:30:35 +03:00
zhiweijian
4580a5ab4a Component/bt: fix eddystone demo error 2018-03-12 12:10:09 +08:00
Hrishikesh Dhayagude
9831eca4b2 components/bt: Fix parameter name and print statement
Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-03-09 13:53:27 +05:30
Dmitry
816d63211f Structure size updated to the 16 bytes * N 2018-03-09 09:17:32 +03:00
Dmitry
7f0b00ef9b Compiler dependency included for tests. 2018-03-09 08:40:24 +03:00
Dmitry
97539334a9 Remove error from tests. 2018-03-09 07:58:01 +03:00
baohongde
d082316507 component/bt: Fix bug of SPP handle error 2018-03-09 11:46:30 +08:00
Jiang Jiang Jian
77eae33a7e Merge branch 'bugfix/esp_timer_overflow' into 'master'
component/esp32: fix esp_timer bug

See merge request idf/esp-idf!1877
2018-03-09 10:05:22 +08:00
Jiang Jiang Jian
1d49c0953e Merge branch 'bugfix/close_socket_when_tcp_connecting' into 'master'
Close socket request will abort tcp write/connect

See merge request idf/esp-idf!1687
2018-03-08 20:34:40 +08:00
Jiang Jiang Jian
a54b413367 Merge branch 'bugfix/btdm_clear_start_stop_adv_callback_when_complete' into 'master'
Component/bt: clear start/stop adv callback when complete

See merge request idf/esp-idf!1938
2018-03-08 20:22:10 +08:00
Jiang Jiang Jian
702b46108c Merge branch 'bugfix/btdm_fix_set_error_channel_map_in_adv_params' into 'master'
Component/bt: fix set error params and return callback when start adv

See merge request idf/esp-idf!1943
2018-03-08 20:18:30 +08:00
Jiang Jiang Jian
d3d3a6fc39 Merge branch 'feature/btdm_blufi_add_custom_data_cmd' into 'master'
Component/bt: blufi add custom data cmd

See merge request idf/esp-idf!2017
2018-03-08 20:15:27 +08:00
Jiang Jiang Jian
db690e3f85 Merge branch 'bugfix/btdm_add_param_check_in_gap_set_prefer_conn_params' into 'master'
Component/bt: add_params_check_in_prefer_conn_params()

See merge request idf/esp-idf!1944
2018-03-08 20:08:33 +08:00
Jiang Jiang Jian
bcfbb6154c Merge branch 'bugfix/btdm_fix_get_attr_value_error_after_prepare_write' into 'master'
Component/bt: fix get attr value error after prepare write

See merge request idf/esp-idf!1976
2018-03-08 20:06:47 +08:00
zhiweijian
b1d8ea84c3 Component/bt: blufi add custom data cmd 2018-03-08 17:38:44 +08:00
krzychb
53e01bfb96 Added missing link to sdkconfig 2018-03-08 10:03:32 +01:00
XuanZe
573876700b fix : esp_partition_find missing ` `
Signed-off-by: krzychb <krzychb@gazeta.pl>
2018-03-08 09:39:20 +01:00
Ivan Grokhotkov
2e0f8b5a70 docs: speed up incremental builds
On each documentation build (‘make html’), doxygen regenerates XML
files. In addition to that, gen-dxd.py regenerates API reference
files under _build/inc/. This results in Sphinx flagging about half
of the input files as modified, and incremental builds taking long
time.

With this change, XML files generated by Doxygen are copied into
docs/xml_in directory only when they are changed. Breathe is pointed
to docs/xml_in directory instead of docs/xml. In addition to that,
gen-dxd.py is modified to only write to the output file when contents
change.

Overall, incremental build time (with no source files changed) is
reduced from ~7 minutes to ~8 seconds (on a particular OS X
computer).

Due to the way Breathe includes Doxygen XML files, there is still
going to be a massive rebuild every time functions, enums, macros,
structures are added or removed from the header files scanned
by Doxygen, but at least individual .rst files can be edited
at a much faster pace.
2018-03-07 17:45:15 +08:00
Ivan Grokhotkov
c97b8756f7 Merge branch 'bugfix/docs_improve_flash_bus_integrity' into 'master'
Added a note how to modify ESP-WROVER-KIT V3 hardware to improve flash bus signal's integrity

See merge request idf/esp-idf!2005
2018-03-07 15:26:54 +08:00
Darian Leung
8b1277c55f efuse/add cpu freq rating
This commit adds support for CPU max freqeuency rating
bits in CPU. Bootloader will now print an error if attempting
to 160MHz rated ESP32 at 240MHz.

EFUSE_CHIP_VER_RESERVE has been replaced by the
frequency rating bits. Dependancies on EFUSE_CHIP_VER_RESERVE
have been changed to use EFUSE_CHIP_VER_PKG
2018-03-07 12:16:51 +08:00
Jiang Jiang Jian
983e9f854d Merge branch 'bugfix/btdm_error_log' into 'master'
component/bt: remove some error logs which are not error

See merge request idf/esp-idf!1826
2018-03-06 19:37:16 +08:00
Jiang Jiang Jian
8b36a8523e Merge branch 'bugfix/btdm_spp_lock_error' into 'master'
component/bt: Fix spp lock error

See merge request idf/esp-idf!2014
2018-03-06 19:36:52 +08:00
Dmitry
7b287c25b1 Bugfix for write size. The write size for encryption have to be rounded to 16 bytes.
A wl_config structure size now ounded to 16.
Flash Emulator updated to work with defined minimum size.
Tests are updated.
2018-03-06 10:26:21 +03:00
baohongde
3824f0eb8f component/bt: Fix spp lock error 2018-03-06 14:57:08 +08:00
baohongde
f1d3f689e8 component/bt: Fix bug: a2dp disc_rsn error when as master 2018-03-06 14:11:28 +08:00
XuanZe
9b2bce2c17 Fix missing 'cpp:func:'. Merges https://github.com/espressif/esp-idf/pull/1680 2018-03-06 06:54:54 +01:00
Alex Kaariainen
bfb5c92740 Update adc.rst. Merges https://github.com/espressif/esp-idf/pull/1657 2018-03-06 06:54:20 +01:00
baohongde
569b9d592e component/bt: remove some error logs which are not error 2018-03-05 19:22:21 +08:00
Jiang Jiang Jian
17e8d49f26 Merge branch 'bugfix/btdm_update_pktLen_have_no_callback' into 'master'
component/bt: Fix bug:update pktlen have no callback

See merge request idf/esp-idf!1913
2018-03-05 16:14:48 +08:00
Jiang Jiang Jian
275fa2cc36 Merge branch 'bugfix/btdm_add_lock_for_spp_without_VFS' into 'master'
component/bt: Add lock for SPP slot

See merge request idf/esp-idf!2002
2018-03-05 16:06:16 +08:00
krzychb
b2ecaa64f0 Added a note how to modify ESP-WROVER-KIT V3 hardware to improve flash bus signal's integrity when using 80 MHz flash frequency. Due to length of the signal lines the flash mode QIO + 80M is not stable and may cause random exceptions on the ESP-WROVER-KIT. 2018-03-02 15:26:46 +01:00
Jiang Jiang Jian
37765d0071 Merge branch 'feature/remove_tcp_perf_example' into 'master'
example: remove performance example

See merge request idf/esp-idf!1969
2018-03-02 18:54:39 +08:00
Jiang Jiang Jian
b6fae21909 Merge branch 'bugfix/btdm_build_server_error_with_BT_BLE_DYNAMIC_ENV_MEMORY' into 'master'
Component/bt: fix build ble server error with BT_BLE_DYNAMIC_ENV_MEMORY option

See merge request idf/esp-idf!1993
2018-03-02 18:28:36 +08:00
baohongde
c4cdb66947 component/bt: Add lock for SPP slot 2018-03-02 18:11:47 +08:00
zhiweijian
1e6f52fb6f Component/bt: fix build ble server error with BT_BLE_DYNAMIC_ENV_MEMORY option 2018-02-28 16:44:05 +08:00
Tian Hao
127d213b29 component/esp32: fix esp_timer bug
1. fix the bug that cause esp_timer_get_time is not accuracy(the max margin may be 106s).
2. fix the bug that causes esp timer come too early.
2018-02-28 10:49:45 +08:00
Angus Gratton
bd306bb519 esptool: Update to v2.3.1 2018-02-28 10:17:14 +11:00
Darian Leung
33aee51727 bugfix/remove MEMMAP_SMP config
This commit removes the MEMMAP_SMP config option.
Dependencies on this config will now depend on !FREERTOS_UNICORE
2018-02-27 17:56:44 +08:00
Angus Gratton
6acb38af4c Merge branch 'bugfix/idf_monitor_windows10' into 'master'
idf_monitor: Fix bug with Windows 10 sometimes printing a character twice

See merge request idf/esp-idf!1964
2018-02-27 06:21:53 +08:00
Ivan Grokhotkov
d1559732b0 Merge branch 'feature/ignore_no_psram' into 'master'
Add option to continue running (with less ram) if psram is enabled but not detected

See merge request idf/esp-idf!1911
2018-02-26 20:33:28 +08:00
baohongde
54320d5f7b component/bt: Fix bug: string_to_bdaddr() error when opening nano 2018-02-26 15:09:03 +08:00
Angus Gratton
dbaea72062 Merge branch 'bugfix/revisit_pthread_once' into 'master'
pthread: fix pthread_once behavior, if mux (handle) is in external PSRAM

See merge request idf/esp-idf!1972
2018-02-26 08:52:06 +08:00
Angus Gratton
aedb807a02 Merge branch 'bugfix/esp_ping_ms_pr1638' into 'master'
esp_ping - Document that timeout units are in milliseconds

See merge request idf/esp-idf!1968
2018-02-26 08:00:44 +08:00
Ivan Grokhotkov
0538daa3f4 Merge branch 'bugfix/docs_missing_reference' into 'master'
Added missing references to the current and previous ESP32-DevKitC board versions

See merge request idf/esp-idf!1920
2018-02-26 06:39:54 +08:00
Ivan Grokhotkov
04ad0f79c0 Merge branch 'adc_calibration_update' into 'master'
ADC Calibraiton - Support new new calibration methods and eFuse functionality

See merge request idf/esp-idf!1846
2018-02-26 06:15:06 +08:00
Ivan Grokhotkov
c8ba6cf156 Merge branch 'feature/rtc_gpio_isolate' into 'master'
Add rtc_gpio_isolate function, use it in deep sleep examples

See merge request idf/esp-idf!1936
2018-02-26 06:09:08 +08:00
Ivan Grokhotkov
eb935c2982 Merge branch 'bugfix/aws_iot_examples_stack_tune' into 'master'
examples: aws_iot: fine tune stack size for aws_iot task

See merge request idf/esp-idf!1962
2018-02-26 06:08:03 +08:00
Ivan Grokhotkov
a9ae4e2696 Merge branch 'bugfix/config_minor_missing_deps' into 'master'
Kconfig: esp32/freertos: add some missing dependencies

See merge request idf/esp-idf!1966
2018-02-26 05:57:27 +08:00
zhiweijian
6a9c99a414 Component/bt: fix get attr value error after prepare write 2018-02-24 16:39:00 +08:00
Jiang Jiang Jian
165e3edd49 Merge branch 'bugfix/btdm_mem_leak_of_bt' into 'master'
component/bt: Fix mem leak of bt

See merge request idf/esp-idf!1924
2018-02-24 10:25:13 +08:00
Mahavir Jain
48e8171114 pthread: fix pthread_once behavior, if mux (handle) is in external PSRAM
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-02-23 14:51:05 +05:30
Angus Gratton
2abba13172 Merge branch 'feature/heap_task_tracking_pr1498' into 'master'
heap: Add task tracking features (PR 1498)

See merge request idf/esp-idf!1960
2018-02-23 06:12:17 +08:00
Angus Gratton
ab82ce3da4 Merge branch 'bugfix/partition_md5_backward_compatibility' into 'master'
partition_table: Optionally disable the MD5 checksum in partition tables

See merge request idf/esp-idf!1958
2018-02-23 06:11:44 +08:00
Angus Gratton
da751cc653 Merge branch 'bugfix/fd_zero' into 'master'
FD_ZERO: Fix a compilation warning

See merge request idf/esp-idf!1967
2018-02-23 06:10:40 +08:00
Darian Leung
0c9e2c0fba esp_adc_cal/Remove lookup table
This commit removes the lookup table mode due to inferior performance when compared
to linear mode under attenuation 0, 1 and 2. However small portions of the lookup table
are kept for the higher voltages of atten 3 (above ADC reading 2880). That voltage range
in atten 3 has non linear characteristics making the LUT performan better than linear mode.
2018-02-22 20:01:41 +08:00
Liu Zhi Fu
9fb2d45980 example: remove performance example
Remove performance example since we have iperf example
close github issue: https://github.com/espressif/esp-idf/issues/1515
2018-02-22 17:34:54 +08:00
Piyush Shah
6dbb040890 FD_ZERO: Fix a compilation warning
Definition of memset is not found if string.h is not included anywhere

Signed-off-by: Piyush Shah <piyush@espressif.com>
2018-02-22 14:10:04 +05:30
Roland Dobai
4017cf3516 partition_table: Optionally disable the MD5 checksum in partition tables 2018-02-22 07:46:41 +01:00
Angus Gratton
63ddae5087 Merge branch 'bugfix/i2s_driver' into 'master'
i2s: add support fixed_mclk configuration

See merge request idf/esp-idf!1600
2018-02-22 12:03:26 +08:00
Angus Gratton
e99b6ed79c Merge branch 'bugfix/doc_spi_flash' into 'master'
spi_flash: Update docs

See merge request idf/esp-idf!1961
2018-02-22 11:09:17 +08:00
Tuan PM
7cda34c626 i2s: add support fixed_mclk configuration 2018-02-22 09:00:23 +07:00
Angus Gratton
672f8b057e Merge branch 'feature/idf_size_sort_archives' into 'master'
Feature/idf size sort on size

See merge request idf/esp-idf!1957
2018-02-22 07:31:56 +08:00
Angus Gratton
30637c8885 Merge branch 'bugfix/docs_esp_sleep_wakeup_cause_t' into 'master'
Fix esp_sleep_wakeup_cause_t docs. Merges https://github.com/espressif/esp-idf/pull/1634

See merge request idf/esp-idf!1965
2018-02-22 07:31:03 +08:00
Angus Gratton
b52b4ea2cc spi_flash: Update docs 2018-02-22 10:28:26 +11:00
Angus Gratton
68dc422cb5 Merge branch 'bugfix/apptrace_down_buf_handling' into 'master'
esp32: Fixes apptrace down buffer management

See merge request idf/esp-idf!1953
2018-02-22 07:27:17 +08:00
Alexey Gerenkov
4e544f82bb esp32: Fixes apptrace down buffer management 2018-02-21 10:13:25 +03:00
Mahavir Jain
bf31afd2c3 Kconfig: esp32/freertos: add some missing dependencies
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-02-21 12:31:10 +05:30
Angus Gratton
3e83cfd77c idf_monitor: Fix bug with Windows 10 sometimes printing a character twice
Turns out when IOError is thrown by the console, the character is
also successfully displayed.

Revisits fix from https://github.com/espressif/esp-idf/issues/1136

As reported https://esp32.com/viewtopic.php?f=14&t=4766&p=20637
2018-02-21 08:35:43 +11:00
Daniël van Eeden
bd0b3a7d6b Fix esp_sleep_wakeup_cause_t docs. Merges https://github.com/espressif/esp-idf/pull/1634
value and description didn't match
2018-02-20 20:22:14 +01:00
Ivan Grokhotkov
3ede9f011b Merge branch 'feature/openssl_cacert' into 'master'
OpenSSL API addition

See merge request idf/esp-idf!1932
2018-02-21 02:58:00 +08:00
Mahavir Jain
886b5df30b examples: aws_iot: fine tune stack size for aws_iot task
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-02-20 17:04:07 +05:30
Jitin George
f0ebf613f4 OpenSSL API addition 2018-02-20 12:32:12 +05:30
Kedar Sovani
1061170787 Create a make size-symbols target for fine grained footprint 2018-02-20 11:46:54 +05:30
Angus Gratton
f2b2d045ba Merge branch 'bugfix/eclipse_setup_guide_pr1627' into 'master'
Update eclipse-setup.rst

See merge request idf/esp-idf!1955
2018-02-20 10:00:51 +08:00
Angus Gratton
6cfc7af049 Merge branch 'bugfix/i2s_intr_alloc_flags_pr1589' into 'master'
i2s: fix type mismatch of intr_alloc_flags

See merge request idf/esp-idf!1954
2018-02-20 07:33:25 +08:00
Stephen Casner
bc2879a956 heap: Add task tracking option for heap usage monitoring
Add back a feature that was available in the old heap implementation
in release/v2.1 and earlier: keep track of which task allocates each
block from the heap. The task handle is conditionally added as
another word in the heap poisoning header under this configuration
option CONFIG_HEAP_TASK_TRACKING.

To allow custom monitoring and debugging code to be added, add helper
functions in multi_heap.c and multi_heap_poisoning.c to provide access
to information in the block headers.

Add esp_heap_debug_dump_totals() to monitor heap usage

esp_heap_debug_dump_totals() dumps into a user-provided data structure
a summary of the amound of heap memory in region type that is used by
each task.  Optionally it will also dump into another data structure
the metadata about each allocated block for a given list of tasks or
for all tasks (limited by available space).

Address change requests on PR #1498

This set of changes fixes the files in e3b702c to just add the
CONFIG_HEAP_TASK_TRACKING option without adding the new function
heap_caps_get_per_task_info() in case that is the only portion of the
PR that will be accepted.  Part of the change is to remove the new .c
and .h files containing that function and to remove the line to
compile it from components/heap/component.mk since it should not have
been included in e3b702c.  One or more additional commits to add the
new function will follow.

The other changes here:
- uint32_t get_all_caps() moves to heap_private.h
- replace "void* foo" with "void *foo"
- add braces around single-line "if" blocks
- replace tab characters with spaces

Address change requests on PR #1498, part 2

This set of changes fixes the files in cdf32aa to add the new function
heap_caps_get_per_task_info() with its new name and to add the line to
compile it in components/heap/component.mk.  This does not address all
the suggested changes because there are some needing further
discussion.

This commit does not include the suggested change to move the
declaration of the new function into esp_heap_caps.h because the new
function references TaskHandle_t so esp_heap_caps.h would have to
include freertos/FreeRTOS.h and freertos/task.h, but FreeRTOS.h
includes esp_heap_caps.h through two other header files which results
in compilation errors because not all of FreeRTOS.h has been read yet.

Change heap_caps_get_per_task_info() to take struct of params

In addition to moving the large number of function parameters into a
struct as the single parameter, the following changes were made:

- Clear out the totals for any prepopulated tasks so the app code
  doesn't have to do it.

- Rather than partitioning the per-task totals into a predetermined
  set of heap capabilities, take a list of <caps,mask> pairs to
  compare the caps to the heap capabilities as masked.  This lets the
  caller configure the desired partitioning, or none.

- Allow the totals array pointer or the blocks array pointer to be
  NULL to indicate not to collect that part of the information.

- In addition to returning the total space allocated by each task,
  return the number of blocks allocated by each task.

- Don't need to return the heap capabilities as part of the details
  for each block since the heap region (and therefore its
  capabilities) can be determined from the block address.

- Renamed heap_task_info.h to esp_heap_task_info.h to fit the naming
  convention, and renamed the structs for totals and block details to
  better fit the revised function name.

- Provide full Doxygen commenting for the function and parameter
  structs.

Add copyright header to new files

Merges https://github.com/espressif/esp-idf/pull/1498
2018-02-20 10:32:06 +11:00
Angus Gratton
cded92bd3c Merge branch 'feature/easy_lookup_of_errors' into 'master'
Make it easier to look up error messages

See merge request idf/esp-idf!1929
2018-02-20 04:29:40 +08:00
Kedar Sovani
c8ef747c0a idf_size: Report per-symbol size from the map file
Report as per the relevant sections output in the 'archives' output
2018-02-19 17:13:56 +05:30
Kedar Sovani
c9e6ed7d60 idf_size: Sort output on total-size instead of filename 2018-02-19 11:50:46 +05:30
Chris Morgan
86bf8798b2 esp_ping - Document that timeout units are in milliseconds
Remove 1000 multiplier from esp_ping_set_target() parameters that define time
2018-02-18 18:47:46 -05:00
Stephen Casner
a76d5a33c9 heap: Correct the sense of a comment 2018-02-19 09:42:40 +11:00
h3ndrik
dcc466a673 i2s: fix type mismatch of intr_alloc_flags
Merges https://github.com/espressif/esp-idf/pull/1589
2018-02-16 16:20:12 +11:00
STB3
0bde61e3ca Update eclipse-setup.rst
Chapter Flash from Eclipse: Changed "Select Make Targets -> ..." to "Select Build Targets -> ..."    to match the Eclipse wording. Same with "Project -> Make Target" replace Make by build to match the Eclipse wording.
2018-02-15 21:13:01 +01:00
Roland Dobai
4322e31c98 Make it easier to look up error messages
tools/gen_esp_err_to_name.py generates
components/esp32/esp_err_to_name.c for lookup of the error codes from
all of the IDF project and easily identify all codes in one place
2018-02-15 14:19:03 +01:00
Angus Gratton
c3bec5b103 Merge branch 'example/console_task_column_name' into 'master'
example(console): print column name for tasks.

See merge request idf/esp-idf!1948
2018-02-15 10:51:12 +08:00
Michael (Xiao Xufeng)
10ab4c085b example(console): print column name for tasks. 2018-02-14 11:56:47 +08:00
Angus Gratton
7d13e3fa6a Merge branch 'bugfix/docs_prs_from_github' into 'master'
Small documenation and API fixes from GitHub

See merge request idf/esp-idf!1952
2018-02-14 09:45:09 +08:00
Ivan Grokhotkov
22ae5adb95 Merge branch 'bugfix/ethernet_mdc_mdio_config' into 'master'
Ethernet: set direction of SMI pins MDC and MDIO correctly

See merge request idf/esp-idf!1939
2018-02-14 01:16:05 +08:00
njyq2008
37b98f7306 Update index-cn.rst. Closes https://github.com/espressif/esp-idf/issue/1620 2018-02-13 15:06:05 +01:00
SmallRoomLabs
ef080c0841 Remove the THEN keyword from IF. Closes https://github.com/espressif/esp-idf/issue/1606
Both the TinyBasicPlus and the ESP32 variant don't use the THEN keyword in a IF statement
2018-02-13 15:06:05 +01:00
Ing. Jaroslav Šafka
475e3cc43e Fix function name typo. Closes https://github.com/espressif/esp-idf/issue/1572 2018-02-13 15:05:56 +01:00
Darian Leung
73cdfbfe79 esp_adc_cal/Add eFuse functionality
This commit updates the esp_adc_cal ocmponent to support new calibration methods
which utilize calibratoin values stored in eFuse. This commit includes LUT mode
2018-02-13 21:22:48 +08:00
Hrishikesh Dhayagude
4a7d445301 components/bt examples/bluetooth: Fix typographical errors
Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-02-13 13:25:33 +05:30
zhiweijian
b09d681da6 Component/bt: add_params_check_in_prefer_conn_params() 2018-02-12 17:43:38 +08:00
zhiweijian
4056878c69 Component/bt: fix set error params and add callback in adv params 2018-02-12 16:34:30 +08:00
Jeroen Domburg
dc864c4108 Add option to continue running (with less ram) if psram is enabled but not detected 2018-02-12 13:44:11 +08:00
Jiang Jiang Jian
ca3faa6186 Merge branch 'bugfix/btdm_fix_example_log_missing_bug' into 'master'
component/bt: Fix BLE printf missing problem

See merge request idf/esp-idf!1912
2018-02-12 12:05:01 +08:00
Ivan Grokhotkov
363c096f2b Merge branch 'test/adc2_with_wifi_reopen' into 'master'
test(adc2): re-enable the adc2 test.

See merge request idf/esp-idf!1926
2018-02-11 22:32:18 +08:00
Ivan Grokhotkov
44c3b0a1ba Merge branch 'bugfix/console_example_stack_overflow' into 'master'
Increase event task stack size to fix console example stack overflow

See merge request idf/esp-idf!1879
2018-02-11 16:45:05 +08:00
Ivan Grokhotkov
56843281c7 Merge branch 'feature/fatfs_allocation_unit_size' into 'master'
fatfs: add option to set allocation unit size

See merge request idf/esp-idf!1760
2018-02-11 16:43:39 +08:00
Frank Sautter
cb3f09485d Set direction of SMI pins MDC and MDIO correctly.
Merges https://github.com/espressif/esp-idf/pull/1594
2018-02-11 16:11:14 +08:00
zhiweijian
b5c2356528 Component/bt: clear start/stop adv callback when complete 2018-02-11 15:21:51 +08:00
Ivan Grokhotkov
af6cfc5552 docs, examples: use rtc_gpio_isolate to disconnect GPIO12
This is needed to reduce deep sleep current on ESP32-WROVER modules.

Ref TW18165.
2018-02-11 13:28:47 +08:00
Ivan Grokhotkov
f45622ff17 driver/rtc: add rtc_gpio_isolate helper function to disconnect RTC IO 2018-02-11 13:18:51 +08:00
Ivan Grokhotkov
206eadab5a console example: increase main task stack size
Stack size was not sufficient for logging at Verbose log level.
2018-02-11 13:14:44 +08:00
Ivan Grokhotkov
57a516389c console example: add 'tasks' command to print vTaskList output
This command prints list of tasks, their state, and stack
watermark values.
Fixes https://github.com/espressif/esp-idf/issues/1534
2018-02-11 13:06:01 +08:00
Ivan Grokhotkov
b3be1b5190 tcpip_adapter: make log output at debug level less noisy
At debug log level, tcpip_adapter would print logs for each function
call scheduled onto the tcpip task. These logs contained pointers which
idf_monitor decoded, adding even more noise and useless vertical space
in logs. This change moves these log statements to verbose level.
2018-02-11 13:06:01 +08:00
Ivan Grokhotkov
a5f9563ef7 esp32: increase default event task stack size by 256 bytes
At debug log level, default event task stack size was not sufficient,
the stack was overflown by 232 bytes when WiFi connection happened.
2018-02-11 13:06:01 +08:00
Ivan Grokhotkov
95ff76890b examples/wear_levelling: update readme file
Fixes https://github.com/espressif/esp-idf/issues/627.
2018-02-11 13:03:36 +08:00
Ivan Grokhotkov
bf53c8abb1 fatfs: check allocated workbuf pointer 2018-02-11 13:03:36 +08:00
Ivan Grokhotkov
59859fa53c fatfs: add configuration of allocation unit size
Closes https://github.com/espressif/esp-idf/issues/1382.
2018-02-11 13:03:36 +08:00
Ivan Grokhotkov
e381c6adde Merge branch 'bugfix/fix_i2s_adc_mode' into 'master'
driver(i2s): fix broken i2s adc mode

See merge request idf/esp-idf!1653
2018-02-11 12:58:58 +08:00
Angus Gratton
a5eb369126 Merge branch 'bugfix/realloc_corruption_bug' into 'master'
heap: Fix bug when realloc moves data between heaps

See merge request idf/esp-idf!1931
2018-02-09 19:19:29 +08:00
Angus Gratton
b7fc067c8c heap: Fix bug when realloc moves data between heaps
When realloc-ing to a smaller buffer size which ends up allocated in a different heap, the heap
structure is corrupted. This can only happen:

* If heap checking is Comprehensive (meaning buffers are never shrunk in place) and the heap the buffer was originally allocated in is full.
* Calling heap_caps_realloc() to deliberately move a buffer to a different capabilities type, and shrink it at the same time.

Probable fix for https://github.com/espressif/esp-idf/issues/1582
Probably the same issue:
https://www.esp32.com/viewtopic.php?f=2&t=4583
https://www.esp32.com/viewtopic.php?f=13&t=3717
2018-02-09 16:10:52 +08:00
Ivan Grokhotkov
417ef19084 Merge branch 'feature/tls_support' into 'master'
FreeRTOS TLS support

See merge request idf/esp-idf!1902
2018-02-09 12:34:20 +08:00
Ivan Grokhotkov
62f924544d Merge branch 'test/spi_performance' into 'master'
test(spi_master): add performance display for spi master.

See merge request idf/esp-idf!1923
2018-02-08 22:59:40 +08:00
baohongde
0519a73334 component/bt: Fix mem leak of bt 2018-02-08 16:26:12 +08:00
michael
687d6aa2cd test(adc2): re-enable the adc2 test. 2018-02-08 13:48:25 +08:00
Angus Gratton
16de6bff24 Merge branch 'bugfix/redirect_psram_muxes_to_single_mux' into 'master'
Fake S32C1I operation for muxes in PSRAM

See merge request idf/esp-idf!1688
2018-02-08 11:30:43 +08:00
Jiang Jiang Jian
3756e0c37f Merge branch 'bugfix/tw18291_fix_wifi_deinit_causes_assert' into 'master'
esp32: fix esp_wifi_deinit causes assert

See merge request idf/esp-idf!1916
2018-02-08 11:28:24 +08:00
Alexey Gerenkov
f8c42369f1 freertos: Adds C11 TLS support 2018-02-07 18:46:57 +03:00
Jeroen Domburg
35de8d703e Merge branch 'bugfix/spi_gpio0' into 'master'
fix(spi): several fixes about maros (flags) and GPIO0.

See merge request idf/esp-idf!1666
2018-02-07 18:50:13 +08:00
Michael (Xiao Xufeng)
a151767426 test(spi_master): add performance display for spi master. 2018-02-07 17:50:13 +08:00
Wangjialin
451f69cc2e driver(i2s): fix broken i2s adc mode
1. Move i2s reset code from i2s_stop to i2s_start.
2. add RTC API to set sw mode for ADC
3. add description for adc_power_always_on()
4. add lock for i2s dma and RTC ADC functions.
5. add ADC read task in example

reported from bbs:  https://esp32.com/viewtopic.php?f=13&t=3490&p=17522#p17522
reported from github: https://github.com/espressif/esp-idf/issues/1333
2018-02-07 17:17:20 +08:00
Angus Gratton
7e870aefdb Merge branch 'bugfix/sdmmc_line_control' into 'master'
bugfix(sdmmc_host): fix some issue with bit width config .

See merge request idf/esp-idf!1900
2018-02-07 16:29:07 +08:00
Angus Gratton
75f564d7b5 Merge branch 'bugfix/ESP_ERR_PING_BASE_collision' into 'master'
Change ESP_ERR_PING_BASE because of collision with ESP_ERR_TCPIP_ADAPTER_BASE

See merge request idf/esp-idf!1918
2018-02-07 16:27:09 +08:00
michael
2551a7343d test(sdmmc_host): add new test to probe over SD (1-bit). 2018-02-07 12:05:05 +08:00
Michael (XIAO Xufeng)
e14e1508cb fix(sdmmc_host): fix the issue when slot and host flag are not compatible. 2018-02-07 12:05:05 +08:00
Michael (XIAO Xufeng)
8abbb17401 feat(sdmmc_host): force pull-up DAT3 for SD 4-bit mode so that slave will not fall into SPI mode. 2018-02-07 12:05:05 +08:00
Angus Gratton
e2cbcd5bc7 Merge branch 'feature/aws_iot_thing_shadow_settings' into 'master'
aws iot: Expose Thing Shadow settings in menuconfig

See merge request idf/esp-idf!1765
2018-02-07 10:52:33 +08:00
krzychb
ade6bd4ad8 Added missing references to the current and previous board versions 2018-02-06 18:54:58 +01:00
Liu Zhi Fu
5497c5ed9a esp32: fix esp_wifi_deinit causes assert
Update wifi lib to fix esp_wifi_deinit causes system assert issue
2018-02-06 13:01:51 +00:00
Roland Dobai
f44cbe9033 Change ESP_ERR_PING_BASE because of collision with ESP_ERR_TCPIP_ADAPTER_BASE 2018-02-06 12:34:12 +01:00
He Yin Ling
532107c958 Merge branch 'test/ut_script' into 'master'
test: use the tiny-test-fw to run the unit test in CI

See merge request idf/esp-idf!1558
2018-02-06 18:03:22 +08:00
Jiang Jiang Jian
22dcdce949 Merge branch 'bugfix/btdm_scan_result_of_adv_type_wrong' into 'master'
component/bt: Fix bug:scan result of adv type is wrong

See merge request idf/esp-idf!1897
2018-02-06 15:50:29 +08:00
baohongde
acdad3237c component/bt: Fix bug:update pktlen have no callback 2018-02-06 14:54:05 +08:00
island
4ee6f73a2e component/bt: Fix BLE printf missing problem 2018-02-06 14:35:39 +08:00
Michael (Xiao Xufeng)
5214a0600c test(adc2): temporary ignore adc2 unit test (with WiFi) to pass the CI.
the issue is introduced in commit 17f01eb718.
2018-02-06 11:59:40 +08:00
Ivan Grokhotkov
7ade59db6a Merge branch 'bugfix/idf_monitor_fixes' into 'master'
idf_monitor bug fixes

See merge request idf/esp-idf!1889
2018-02-05 20:59:33 +08:00
Ivan Grokhotkov
8173d42581 Merge branch 'feature/partition_table_md5' into 'master'
Partition table md5 check

See merge request idf/esp-idf!1891
2018-02-05 20:58:52 +08:00
Angus Gratton
c1c4f331fe Merge branch 'bugfix/cjson_update_171' into 'master'
Update cJSON to v1.7.1

See merge request idf/esp-idf!1903
2018-02-05 19:57:00 +08:00
Roland Dobai
cf7a4cc650 Protect partition table by MD5 checksum 2018-02-05 11:36:03 +01:00
houchenyao
5b8a9478a3 CI: new CI ut framework, and can run it in local PC 2018-02-05 06:58:22 +00:00
houchenyao
cb3c88fb2f unit-test-app: use '-' to show test history 2018-02-05 06:58:22 +00:00
houchenyao
1e4508bc8d tiny-test-fw: fix dut for python2 and python3 2018-02-05 06:58:22 +00:00
Angus Gratton
eaff702df1 aws iot: Expose Thing Shadow settings in menuconfig
Closes https://github.com/espressif/esp-idf/issues/1340
Ref TW#16817
2018-02-05 14:38:23 +08:00
Angus Gratton
11bf72aace Update cJSON to v1.7.1
* Fix buffer overflow issue in cJSON 1.6.0
* Change cJSON structure to git submodule

Closes https://github.com/espressif/esp-idf/issues/1577
2018-02-05 14:15:26 +08:00
baohongde
79fd3f4f10 component/bt: Fix bug:scan result of adv type is wrong 2018-02-02 19:17:39 +08:00
Ivan Grokhotkov
475ffe78e8 Merge branch 'bugfix/libphy_rodata_into_dram' into 'master'
move rodata segment of libphy.a to dram

Fixes https://github.com/espressif/esp-idf/issues/1573


See merge request idf/esp-idf!1894
2018-02-02 19:03:20 +08:00
Jeroen Domburg
70ab924dbb Especially when internal memory fills up, some FreeRTOS structures (queues etc) get allocated in psram. These structures also contain a spinlock, which needs an atomic-compare-swap operation to work. The psram hardware, however, does not support this operation. As a workaround, this patch detects these spinlocks and will, instead of S32C1I, use equivalent C-code to simulate the behaviour, with an (internal) mux for atomicity. 2018-02-02 17:11:06 +08:00
wangmengyang
a31d07ba25 move rodata segment of libphy.a to dram
1. rodata segment of libphy.a(about 1200B) can be accessed by ISRs, so put it into DRAM
2018-02-02 13:00:11 +08:00
Ivan Grokhotkov
ed1dfe9009 Merge branch 'bugfix/cxx_guards_test_singlecore' into 'master'
unit tests: make static init guard test single core compatible

See merge request idf/esp-idf!1615
2018-02-02 10:38:43 +08:00
Jiang Jiang Jian
9ecd718f72 Merge branch 'bugfix/btdm_modify_set_mtu_call_handler' into 'master'
Component/bt: modify set mtu call handler

See merge request idf/esp-idf!1850
2018-02-01 20:19:52 +08:00
Jiang Jiang Jian
afe9a5d3ae Merge branch 'bugfix/btdm_fix_adv_pending_in_smp' into 'master'
Component/bt: fix stop adv failed in smp

See merge request idf/esp-idf!1881
2018-02-01 20:17:02 +08:00
Jiang Jiang Jian
dc11c88a57 Merge branch 'bugfix/btdm_ble_mutil_connect_performance_optimiz' into 'master'
component/bt: Fixed the bug of ble multi connection not stable issue.

See merge request idf/esp-idf!1868
2018-02-01 20:11:51 +08:00
Angus Gratton
4eab275a51 idf_monitor: Fix remaining case of Windows "console write fails" bug
Closes https://github.com/espressif/esp-idf/pull/1567
2018-02-01 14:05:56 +08:00
Angus Gratton
19d3d25ec2 idf_monitor: Aggressively clean up any interactive gdb session
At least on Linux, this can get stuck sometimes and cause terminal weirdness.
2018-02-01 14:05:53 +08:00
Ivan Grokhotkov
8ef7434d55 Merge branch 'feature/docs_devkitc-v4' into 'master'
Docs for ESP32 DevKitC V4

See merge request idf/esp-idf!1853
2018-02-01 12:20:17 +08:00
Ivan Grokhotkov
50892efc5c Merge branch 'bugfix/spiffs_obj_name_len_check' into 'master'
SPIFFS: fix issues with formatting and page size limit

See merge request idf/esp-idf!1866
2018-02-01 12:18:39 +08:00
Ivan Grokhotkov
f51880f8ac Merge branch 'test/enlarge_https_bin_size_threshold' into 'master'
test: enlarge https bin size threshold

See merge request idf/esp-idf!1886
2018-02-01 12:17:24 +08:00
Jiang Jiang Jian
6595d5392e Merge branch 'bugfix/btdm_alarm_free' into 'master'
component/bt: free timer resources after using them

See merge request idf/esp-idf!1863
2018-02-01 11:01:08 +08:00
Jiang Jiang Jian
0f7d9cf7d3 Merge branch 'bugfix/btdm_a2dp_task_stack_size' into 'master'
component/bt: make A2DP source and sink task size configurable through menuconfig

See merge request idf/esp-idf!1825
2018-02-01 10:58:40 +08:00
He Yin Ling
63a401057c test: enlarge https bin size threshold:
use performance matrix to tracking bin size is not convenient. bin size
do change for a lot reasons.

we'll implement a new method to track it. before that, set a large
enough threshold, so we can still keep tracking it.
2018-02-01 09:57:00 +08:00
krzychb
c759ff3aab Docs for ESP32 DevKitC V4 2018-01-31 18:31:13 +01:00
panfeng
a239e1359a bugfix(rmt): tx cmd without negative coding 2018-01-31 19:35:50 +08:00
zhiweijian
e64d78dc57 Component/bt: fix stop adv failed in smp 2018-01-31 16:06:22 +08:00
Jiang Jiang Jian
17f01eb718 Merge branch 'feature/wifi_throughput_optimization' into 'master'
lwip/esp32/examples: wifi throughput optimization

See merge request idf/esp-idf!1861
2018-01-31 15:44:43 +08:00
Ivan Grokhotkov
1103e1baba spiffs: fix esp_spiffs_format not working if partition is not mounted
Fixes https://github.com/espressif/esp-idf/issues/1547.
2018-01-31 14:29:13 +08:00
wangmengyang
d02e36f4ff component/bt: fix type error for ble_spp_client when SUPPORT_HEARTBEAT is enabled 2018-01-31 11:39:04 +08:00
zhiweijian
b06ea40f66 Component/bt: modify set mtu call handler 2018-01-31 11:28:05 +08:00
Ivan Grokhotkov
7b32aaa151 spiffs: reformat Kconfig to 80 character wide lines
Some help strings looked odd in mconf.
2018-01-31 11:14:56 +08:00
Ivan Grokhotkov
594d5c1436 spiffs: check if OBJ_NAME_LEN + OBJ_META_LEN is within limits
The limit was mentioned in spiffs_config.h but was not checked.

Fixes https://github.com/espressif/esp-idf/issues/1546
2018-01-31 11:14:56 +08:00
Ivan Grokhotkov
507a3a6391 spiffs: add Kconfig option for logical page size 2018-01-31 11:14:56 +08:00
Angus Gratton
d8c80509bc Merge branch 'feature/io_mux_register_names' into 'master'
soc/esp32: Add IO_MUX_GPIOxx register names to match iomux names used in TRM

See merge request idf/esp-idf!1875
2018-01-31 10:50:41 +08:00
Angus Gratton
2e33dbf766 Merge branch 'bugfix/esp_log_level_set_strcmp' into 'master'
Fix esp_log_level_set string matching (github PR 1557)

See merge request idf/esp-idf!1872
2018-01-31 09:58:21 +08:00
Angus Gratton
4297c337f9 esp32: Add IO_MUX_GPIOxx register names to match iomux names used in TRM
The TRM describes IOMUX registers are IO_MUX_x_REG for x in GPIO0-39.

Until now ESP-IDF describes them as PERIPHS_IO_MUX_(pinname)_U

This commit adds additional IOMUX register names which match the ones used in the TRM.
2018-01-30 17:09:37 +08:00
Liu Zhi Fu
2242bf9b37 lwip/esp32/examples: wifi throughput optimizations
1. Put some lwip udp rx/tx relating functions to IRAM
2. Put some wifi rx/tx relating functions to IRAMa
3. Reduce wifi dynamic malloc from 4 to 1 for each ebuf
4. Update iperf example accordingly
5. Update libphy.a to v383
2018-01-30 16:27:49 +08:00
wangmengyang
00db39ee1b component/bt: make A2DP source and sink task size configurable through menuconfig
1. use different set of parameters for A2DP source/sink tasks
2. make the task stack size configurable through menuconfig
2018-01-30 14:26:53 +08:00
Ivan Grokhotkov
e676676541 Merge branch 'bugfix/ulp_docs_typo' into 'master'
Fix typo in ulp_instruction_set.rst. Merges https://github.com/espressif/esp-idf/pull/1540

See merge request idf/esp-idf!1874
2018-01-30 12:17:24 +08:00
Markus Witt
75011a8611 Fix typo in ulp_instruction_set.rst. Merges https://github.com/espressif/esp-idf/pull/1540 2018-01-29 21:56:55 +01:00
michael
be96e1db95 fix(spi): fix typo of LSBFIRST macro.
Closes https://github.com/espressif/esp-idf/issues/1480, Closes https://github.com/espressif/esp-idf/issues/1464
2018-01-29 17:44:37 +08:00
michael
8900200147 fix(spi_master): fix the variable command and address flag issue.
Closes https://github.com/espressif/esp-idf/issues/1549
2018-01-29 17:44:36 +08:00
michael
60469c500a fix(spi): fix pin issue with GPIO0 (other pins than CS). 2018-01-29 17:44:36 +08:00
Ivan Grokhotkov
0f22a53fc2 Merge branch 'bugfix/sysview_timer_1core' into 'master'
sysview: fix compilation in 1 core mode, refactor timer choices

See merge request idf/esp-idf!1822
2018-01-29 17:28:59 +08:00
Ivan Grokhotkov
d3d2c077f9 Merge branch 'bugfix/log_invalid_comparison' into 'master'
log: fix preprocessor comparison against an enum value

See merge request idf/esp-idf!1865
2018-01-29 17:26:43 +08:00
Jiang Jiang Jian
58f0edfd03 Merge branch 'bugfix/btdm_tutorials_compatible_with_github' into 'master'
component/bt: modify ble tutorials to make them be compatible with GitHub markdown

See merge request idf/esp-idf!1786
2018-01-29 15:47:36 +08:00
Wangjialin
3da8f2eda1 bugfix(touch): change the default value for sar_touch_enable register.
Reported from github: https://github.com/espressif/esp-idf/issues/1236

All the touch channels are enabled by default in hardware. This would interfere other RTC function on Touch IOs.
Disable touch function in touch_pad_init().
2018-01-29 15:40:21 +08:00
yulong
06dcca0fcd component/bt: Fixed the bug of ble multi connection not stable issue. 2018-01-29 14:27:03 +08:00
Ivan Grokhotkov
00da9c1cab Merge branch 'bugfix/esp_console_header_guards' into 'master'
console: Add C++ guards to header

See merge request idf/esp-idf!1867
2018-01-29 14:15:12 +08:00
Angus Gratton
1249659931 Merge branch 'bugfix/system_restore_duplicate' into 'master'
esp32: remove duplicate definition of system_restore

See merge request idf/esp-idf!1864
2018-01-29 14:02:02 +08:00
Angus Gratton
2536d50d2e console: Add C++ guards to header
As reported on forum https://esp32.com/viewtopic.php?f=2&t=4478&p=19659
2018-01-29 09:22:04 +08:00
David Ashley
750c8c00c8 This is a fix for the esp_log_level_set function. The problem is when this
function is called but NOT withe the same 'c' string constant that the LOG*
calls used in each module, the cache check doesn't match, so the cached
entry won't get updated. There's no point in optimizing this function
anyway because it is only called rarely.
2018-01-28 16:47:07 -06:00
Ivan Grokhotkov
527be440f8 log: fix preprocessor comparison against an enum value
Fix `#if (LOG_LOCAL_LEVEL >= ESP_LOG_INFO)` which is always false and
produces a warning with -Wundef.

Use same pattern to compare LOG_LOCAL_LEVEL with ESP_LOG_INFO as is used
in definition of `ESP_LOG_BUFFER_HEX_LEVEL` and
`ESP_LOG_BUFFER_CHAR_LEVEL`.

Also reformat existing definitions for better readability.

Closes https://github.com/espressif/esp-idf/issues/1526
2018-01-28 19:45:25 +08:00
Ivan Grokhotkov
1979235df2 esp32: remove duplicate definition of system_restore
Fixes https://github.com/espressif/esp-idf/issues/1520.
2018-01-28 19:26:37 +08:00
wangmengyang
90c9ffa975 component/bt: free timer resources after using them
Bluedroid use a set of timer function pairs such as btu_start_timer/btu_stop_timer, btu_sys_start_timer/btu_sys_stop_timer for use, in a lack of timer release functions. Thus the timers may be exhausted after some event sequence such as repetition of connection/reconnection with different devices. The maximum timer number used in bluedroid is given by ALARM_CBS_NUM which is 30 for now. This bugfix borrowed some update from bluedroid in Andoroid 7.0, which add timer release functions which promote the recycle of timer resources.
2018-01-27 19:03:06 +08:00
Jiang Jiang Jian
daa8cfa800 Merge branch 'bugfix/btdm_fix_stop_adv_no_callback_when_adv_has_been_stoped' into 'master'
Component/bt: fix stop adv no callback when adv has already stoped

See merge request !1838
2018-01-26 20:37:12 +08:00
Jiang Jiang Jian
4cbc0198a0 Merge branch 'bugfix/btdm_fix_BT_load_boned_in_smp' into 'master'
Component/bt: fix bt load boned in smp

See merge request !1854
2018-01-26 20:34:24 +08:00
Jiang Jiang Jian
bbfe2fc5f1 Merge branch 'bugfix/move_phy_api_to_iram' into 'master'
components/phy: add IRAM_ATTR attribute to the two APIs used in phy calibration

See merge request !1858
2018-01-26 20:31:59 +08:00
wangmengyang
95af1c22b5 components/phy: add IRAM_ATTR attribute to the two APIs used in phy calibration
1. the two APIs used in phy calibration are called in bluetooth baseband ISR, so locate the them in IRAM
2018-01-26 17:12:59 +08:00
zhiweijian
41f338d23c Component/bt: fix bt load boned in smp 2018-01-26 14:38:54 +08:00
Jiang Jiang Jian
5b1f869880 Merge branch 'feature/btdm_bluedroid_env_dynomic_malloc_enable' into 'master'
This MR added the bluedroid env  variable can dynamic malloc and BT variable use psram malloc supported

See merge request !1698
2018-01-26 10:06:43 +08:00
Jiang Jiang Jian
62be35c0a5 Merge branch 'feature/wifi_check_mac_when_cal_phy' into 'master'
Added two functions in PHY API for disable interrupts and add rfcal data checking to PHY

See merge request !1840
2018-01-25 20:27:55 +08:00
XiaXiaotian
1bc87e972b Added two functions in PHY API for disable interrupts and add rfcal data checking to PHY 2018-01-25 17:58:14 +08:00
island
e22f8ad1aa component/bt: Update BLE examples tutorials and ReadMe files
- Make docs compatible with GitHub Markdown
- Add tutorials links in programming doc
- Modify ReadMe files
2018-01-25 16:59:40 +08:00
zhiweijian
d54e188e61 Component/bt: fix stop adv no callback when adv has been stoped 2018-01-25 15:31:17 +08:00
Jiang Jiang Jian
c73ea7a804 Merge branch 'bugfix/wifi_fix_sniffer_rx_misc_data_assert' into 'master'
Fix the bug that in sniffer mode it asserts when receive misc data at first

See merge request !1837
2018-01-25 14:09:46 +08:00
Jiang Jiang Jian
b98da5da97 Merge branch 'bugfix/btdm_classicbt_pscan_assert' into 'master'
component/bt : fix the bug of pscan when interrupt react slowly

See merge request !1816
2018-01-25 13:52:00 +08:00
Jiang Jiang Jian
62fade9970 Merge branch 'bugfix/btdm_fix_bonded_device_list_error_after_reboot' into 'master'
component/bt: fix bonded device list error after reboot

See merge request !1750
2018-01-25 12:05:58 +08:00
Ivan Grokhotkov
9b38baab26 Merge branch 'feature/esptool_v221' into 'master'
esptool: Update to v2.2.1

See merge request !1841
2018-01-25 09:08:25 +08:00
XiaXiaotian
cdd7a87674 Fix the bug that in sniffer mode it asserts when receive misc data at first
close github issue#1037 WiFi Promiscuous filter breaks w/
WIFI_PROMIS_FILTER_MASK_ALL and issue#1404
esp_wifi_set_promiscuous_filter set WIFI_PROMIS_FILTER_MASK_ALL error
2018-01-24 16:06:53 +08:00
Yulong
63e5cbbd66 component/bt: Added the bluedroid environment variable dynomic malloc support & support to malloc the memory to the psram.
component/bt: Added the Macro for the classic BT support.
component/bt: added the bluedroid deinit method.
component/bt: allow more classic BT global variables to use dynamic allocation scheme
1. allocate memory for AVDT, AVCT control blocks when dynamic memory is used
2. allow SBC decoder buffer to use dynamic allocation scheme
component/bt: Remove the wrong changes in bt/Kconfig & Added the GATTS_INCLUDED in the gatt_free function when gatt service close.
component/bt: Shorten the abbreviation BT_ALLOCATION_FROM_SPIRAM_FIRST and BT_BLE_DYNAMIC_ENV_MEMORY two macros.
2018-01-24 15:18:02 +08:00
Angus Gratton
6736908eaf esptool: Update to v2.2.1
Fixes a bug with >230400bps flashing on macOS, possibly other platforms.

Full release notes: https://github.com/espressif/esptool/releases/tag/v2.2.1
2018-01-24 17:45:49 +11:00
Angus Gratton
2a10ffce5f Merge branch 'feature/dma_attr' into 'master'
feat(attr): add new macro `DMA_ATTR` and `STATIC_DMA_ATTR` to help dma buffer declaration.

See merge request !1550
2018-01-24 12:04:03 +08:00
michael
fcfcab7678 feat(attr): add new macro DMA_ATTR and WORD_ALIGNED_ATTR to help dma buffer declaration. 2018-01-24 11:28:14 +08:00
Angus Gratton
d89542eb2b Merge branch 'bugfix/uart_pattern_detect' into 'master'
bugfix(uart): patten detect function

See merge request !1235
2018-01-24 06:12:48 +08:00
Jiang Jiang Jian
ce2e4cbc4f Merge branch 'bugfix/log_hex_buffer_pr1519' into 'master'
Fix hexdump comment and array size. See issue #1518.

See merge request !1832
2018-01-23 22:45:41 +08:00
Ivan Grokhotkov
90ad7b423c unit tests: make static init guard test single core compatible 2018-01-23 07:56:13 +00:00
Ivan Grokhotkov
3bc1a8318b Merge branch 'doc/debian_build_prereqs' into 'master'
docs: Add build dependencies for toolchain for Debian (Github PR)

See merge request !1830
2018-01-23 15:38:09 +08:00
Ivan Grokhotkov
ffaf145056 Merge branch 'bugfix/xtal_freq_estimation' into 'master'
soc/rtc_clk: fix loss of precision in estimation of XTAL frequency

See merge request !1763
2018-01-23 15:37:47 +08:00
Ivan Grokhotkov
02821571dd Merge branch 'bugfix/xRingbufferSend_timeout_bug' into 'master'
bugfix(ringbuffer): Fix ringbuffer_send timeout bug

See merge request !1823
2018-01-23 15:37:13 +08:00
Ivan Grokhotkov
f6cfe92533 Merge branch 'feature/support-markdown-docs' into 'master'
docs : Add support for markdown files

See merge request !1781
2018-01-23 15:36:12 +08:00
Urs Fässler
93872837d3 Add build dependencies for toolchain for Debian
Merges https://github.com/espressif/esp-idf/pull/1465
2018-01-23 11:38:28 +11:00
Angus Gratton
ffd4187883 Merge branch 'feature/esptool_v2_2' into 'master'
esptool: Update to v2.2

See merge request !1755
2018-01-23 08:36:52 +08:00
Angus Gratton
84741e85e7 Merge branch 'feature/aws-iot-sdk-v2.2.1' into 'master'
AWS IoT SDK: Update version from v2.1.1 to v2.2.1

See merge request !1732
2018-01-23 08:33:38 +08:00
Ivan Grokhotkov
f5da6d64fa Merge branch 'bugfix/mdns_txt' into 'master'
Fix issue with some mDNS parsers

See merge request !1827
2018-01-22 22:25:13 +08:00
me-no-dev
4fa130ae4f mdns: Fix case where service is NULL and that will cause exception 2018-01-22 13:56:53 +01:00
me-no-dev
51dde19a76 mdns: Fix issue with some mDNS parsers
Some mDNS parser have issue with zero terminated TXT lists. This fix targets to overcome this issue. Found and tested with jmdns.
2018-01-22 13:56:34 +01:00
Ivan Grokhotkov
2dadf2a854 Merge branch 'feature/docs_link_text_for_custom_link_roles' into 'master'
Custom link roles have been extended to provide an option of displaying some text where originally a bare link is rendered

See merge request !1828
2018-01-22 20:19:45 +08:00
Jiang Jiang Jian
2016478676 Merge branch 'bugfix/btdm_format_error' into 'master'
component/bt: Fix format error

See merge request !1803
2018-01-22 19:52:54 +08:00
Jiang Jiang Jian
8af04997f3 Merge branch 'bugfix/dump_other_core_when_int_wdt_happens' into 'master'
Dump the frame of the other core when interrupt watchdog happens

See merge request !1787
2018-01-22 19:52:05 +08:00
Jiang Jiang Jian
84b92a4ead Merge branch 'feature/btdm_add_get_error_enent_for_blufi' into 'master'
component/bt: add  error report event for blufi

See merge request !1702
2018-01-22 19:48:29 +08:00
kooho
a0a2422541 bugfix(ringbuffer): Fix ringbuffer_send timeout bug 2018-01-22 14:17:58 +08:00
Wangjialin
870efdb9d4 bugfix(uart): patten detect function
requirement from github(https://github.com/espressif/esp-idf/issues/805): to provide the position in the buffer of the pattern detected.

requirement from AT application: in AT app, when no hardware flow control is enabled, in some situation the rx buffer might be full, and the terminator “+++” might be lost, we can use pattern detect interrupt to avoid missing the terminator. When pattern detect interrupt happens, it will not send a data event at the same time.

1. Add API to get position of detected pattern in rx buffer
2. Modify UART event example
3. Add comments for uart_flush, add alias API uart_flush_input to clear the rx buffer
4. Modify the way rx_buffered_len is calculated
2018-01-22 13:33:51 +08:00
David Antliff
19f10c4960 Fix hexdump comment and array size. See issue #1518.
Closes https://github.com/espressif/esp-idf/pull/1518

Merges https://github.com/espressif/esp-idf/pull/1519
2018-01-22 16:25:09 +11:00
wangmengyang
b64872aaab component/bt: fix README.md format and loggings for A2DP sink example 2018-01-22 10:24:22 +08:00
Jack
624828ce83 Dump the frame of the other core when interrupt watchdog happens 2018-01-18 23:10:29 +00:00
krzychb
f3ccc5da4f Custom link roles have been extended to provide an option of displaying some text where originally a bare link is rendered 2018-01-17 20:01:36 +01:00
Ivan Grokhotkov
f4009b94dc Merge branch 'bugfix/ringbuf_warnings' into 'master'
ringbuf: Fix warnings seen when CONFIG_FREERTOS_ASSERT_DISABLE=y

See merge request !1824
2018-01-17 22:27:15 +08:00
zhiweijian
1861d6e137 Component/bt: fix bonded device list error after reboot 2018-01-17 19:54:49 +08:00
Piyush Shah
b66d80ed95 ringbuf: Fix warnings seen when CONFIG_FREERTOS_ASSERT_DISABLE=y
Signed-off-by: Piyush Shah <piyush@espressif.com>
2018-01-17 16:30:05 +08:00
Ivan Grokhotkov
c3d8215728 sysview: fix compilation in 1 core mode, refactor timer choices
Changes related to DFS have broken compilation of sysview code in 1 core
mode. This change fixes this, and moves choice of the timer used for
timestamp into Kconfig. CCOUNT timer is only available as an option if
1 core mode is used. esp_timer is added as a new option, and is the
only available option if DFS is enabled.
2018-01-17 12:23:28 +08:00
Tian Hao
b617118df3 component/bt : fix the bug of pscan when interrupt react slowly 2018-01-17 11:48:23 +08:00
Jiang Jiang Jian
1c3dd23fe0 Merge branch 'feature/btdm_ble_spp_docs' into 'master'
component/bt: add readme for ble spp demo

See merge request !1748
2018-01-17 10:19:30 +08:00
Ivan Grokhotkov
429371c182 Merge branch 'feature/mdns_again' into 'master'
New mDNS implementation

See merge request !1683
2018-01-16 18:38:42 +08:00
Jiang Jiang Jian
f0ed404448 Merge branch 'bugfix/btdm_pair_fail_with_random_address' into 'master'
component/bt: Fix bug when pair with random address

See merge request !1784
2018-01-16 18:17:45 +08:00
Ivan Grokhotkov
e73e6bb928 Merge branch 'bugfix/console_example_nvs_init' into 'master'
console example: initialize nvs on startup

See merge request !1766
2018-01-16 18:10:32 +08:00
Ivan Grokhotkov
23992d20c6 Merge branch 'bugfix/gitignore_dsstore' into 'master'
Add MacOS .DS_Store files to .gitignore

See merge request !1806
2018-01-16 18:10:08 +08:00
zhiweijian
cf91ad32dc Component/bt: add get error event for blufi 2018-01-16 17:29:48 +08:00
Jiang Jiang Jian
52c56e834f Merge branch 'bugfix/btdm_modify_license' into 'master'
Component/bt: BLE demo modify license

See merge request !1808
2018-01-16 17:13:56 +08:00
me-no-dev
4bddbc031c Import mDNS changes 2018-01-16 10:58:34 +02:00
Jiang Jiang Jian
f2e51bc08a Merge branch 'bugfix/btdm_discon_when_upd_conn_params_in_smp' into 'master'
component/bt: fix disconnect after connection params update in smp

See merge request !1804
2018-01-16 16:41:18 +08:00
Jiang Jiang Jian
ee0af80843 Merge branch 'bugfix/btdm_fix_conn_params_update_failed_in_SMP' into 'master'
component/bt: fix conn params update failed in smp

See merge request !1796
2018-01-16 16:38:22 +08:00
baohongde
088dc40e48 component/bt: Fix bug when pair with random address 2018-01-16 08:35:26 +00:00
Jiang Jiang Jian
0ef0db08d5 Merge branch 'feature/btdm_add_get_wifi_list_for_blufi' into 'master'
component/bt: add get wifi list cmd for blufi

See merge request !1708
2018-01-16 16:31:55 +08:00
Angus Gratton
f620a3c4f3 Merge branch 'bugfix/int_wdt_in_ocd_mode' into 'master'
panic: prevent INT WDT from re-triggering in OCD mode

See merge request !1764
2018-01-16 15:07:26 +08:00
He Yin Ling
f68a059a8c Merge branch 'test/fix_update_conn_param' into 'master'
test: fix BLE update conn param test case errors

See merge request !1814
2018-01-16 14:12:16 +08:00
chensheng
c9607e9753 test: fix BLE update conn param test case errors 2018-01-16 13:39:12 +08:00
Wu Jian Gang
c25be19ebf Merge branch 'bugfix/multi_ping_crash' into 'master'
fix(ping): fix crash when multi-ping

See merge request !1768
2018-01-16 09:05:32 +08:00
zhiweijian
4d2c3edc07 Component/bt: add get wifi list cmd for blufi 2018-01-15 12:16:19 +00:00
zhiweijian
5dfbacd00e Component/bt: modify license 2018-01-15 19:47:23 +08:00
Jiang Jiang Jian
cd54a95a7f Merge branch 'feature/btdm_a2dp_src' into 'master'
Feature/btdm a2dp src

See merge request !1190
2018-01-15 18:55:01 +08:00
me-no-dev
261fd1053b Add MacOS .DS_Store files to .gitignore 2018-01-15 11:45:14 +02:00
zhiweijian
0891ec35c7 component/bt: fix disconnect after connection params update in smp 2018-01-15 17:03:56 +08:00
zhiweijian
f165927272 Component/bt: fix update connection params error in smp 2018-01-15 15:38:08 +08:00
Anuj Deshpande
bd47f405a3 docs : Add support for markdown files 2018-01-15 13:58:31 +08:00
Angus Gratton
f482e9e54c Merge branch 'bugfix/uart_fifo_ovf_workaround' into 'master'
driver(uart): fix uart rx fifo length error after overflow.

See merge request !1735
2018-01-15 07:32:20 +08:00
Wu Jian Gang
595688a32a Merge branch 'feature/doc_translations' into 'master'
Feature/doc translations

See merge request !1718
2018-01-12 21:09:03 +08:00
lvxinyue
3bdd62ec1c docs: add CN translation of Windows setup guide 2018-01-12 20:41:32 +08:00
lvxinyue
b7e6d31d42 docs: add CN translation of Linux setup guide 2018-01-12 20:41:32 +08:00
Chen Wu
ffc2db0a35 fix(ping): fix crash when multi-ping
1. "lwip_socket" should close by "lwip_close_r" other than "lwip_close"
2. for generally compatible, fix all lwip interface to normally socket interface
3. call vTaskDelete when new socket failed in case of task crash

close #https://github.com/espressif/esp32-at/issues/58
2018-01-12 15:54:07 +08:00
xiewenxiang
c49a07ea07 component/bt: add readme for ble spp demo 2018-01-12 14:55:57 +08:00
kooho
492db0591d Fix uart fifo overflow bug 2018-01-12 14:42:54 +08:00
Ivan Grokhotkov
2ddee72996 Merge branch 'feature/toolchain-80-g6c4433a' into 'master'
Toolchain: Update to version 1.22.0-80-g6c4433a

See merge request !1771
2018-01-11 21:44:42 +08:00
Angus Gratton
3ef69b8e6d docs: Add a temporary index page to get CN docs started 2018-01-11 18:18:55 +08:00
Ivan Grokhotkov
914ab07567 Merge branch 'feature/ulp_i2c_reg' into 'master'
soc,ulp: add register definitions of RTC_I2C peripheral

See merge request !1762
2018-01-11 12:08:25 +08:00
Angus Gratton
38e15e6241 build: Remove explict -lstdc++-psram-workaround
This is now handled internally to the toolchain.
2018-01-11 10:32:02 +11:00
Jiang Jiang Jian
16391c2748 Merge branch 'bugfix/full_calibration_will_not_use_init_data' into 'master'
Fix bug that when we do full calibration init data bin is not used

See merge request !1746
2018-01-10 17:01:53 +08:00
Jiang Jiang Jian
675844c4bb Merge branch 'bugfix/assert_in_PSRAM_WIFI' into 'master'
bug fix of assert happen in PSRAM

See merge request !1745
2018-01-10 16:47:40 +08:00
Angus Gratton
853736afe2 Toolchain: Update to version 1.22.0-80-g6c4433a
Includes updated prebuilt Windows MSYS2 environment.
2018-01-10 07:49:24 +00:00
Ivan Grokhotkov
d082bf0697 Merge branch 'test/support_specify_docker_image' into 'master'
CI: support specify docker image with bot

See merge request !1586
2018-01-10 15:41:46 +08:00
Angus Gratton
e9ca1dc9b0 Merge branch 'feature/rmt_end_transmission_callback' into 'master'
rmt: Adds a simple handler that can be called when transmission ends.

See merge request !1726
2018-01-10 04:59:26 +08:00
wangmengyang
f360fe5b3e component/bt: implement A2DP source
1. Modified symbol names of A2DP sink APIs include:
- esp_a2d_data_cb_t --> esp_a2d_sink_data_cb_t
- esp_a2d_register_data_callback --> esp_a2d_sink_register_data_callback
2018-01-09 20:20:52 +08:00
Deng Xin
337f790fd3 bug fix of assert happen in PSRAM 2018-01-09 20:01:06 +08:00
Jiang Jiang Jian
3452845063 Merge branch 'bugfix/btdm_avrc_connect_state_evt' into 'master'
Bugfix/btdm avrc connect state evt

See merge request !1717
2018-01-09 19:33:06 +08:00
Jiang Jiang Jian
6daa52d2ca Merge branch 'bugfix/update_bt_lib_with_updated_toolchain_for_master' into 'master'
component/bt: build libbtdm_app.a with updated toolchain

See merge request !1728
2018-01-09 16:55:45 +08:00
wangmengyang
e07b43e924 component/bt: add AVRC event for remote features indication
1. remove the feature mask parameter from AVRC connection state event, as the AVCTP connection can be initiated by remote device before service discovery to remote device is performed. \
In this case, AVRCP connection state event may not be reported after connection initated by remote device is established.
2. remove ESP_AVRC_CT_MAX_EVT
3. add more documentations to AVRC APIs
2018-01-09 16:33:48 +08:00
Jack
11c0daef62 Fix bug that when we do full calibration init data bin is not used 2018-01-09 15:31:34 +08:00
Ivan Grokhotkov
24b07a3f45 console example: initialize nvs on startup
Fixes https://github.com/espressif/esp-idf/issues/1478
2018-01-09 12:48:02 +08:00
Jiang Jiang Jian
ff726b4c79 Merge branch 'bugfix/btdm_fix_cant_remove_boned_device_if_its_connected' into 'master'
Component/bt: fix can not remove boned device if it is connected

See merge request !1758
2018-01-09 11:42:45 +08:00
Jiang Jiang Jian
c147d7b03e Merge branch 'feature/btdm_bt_spp' into 'master'
component/bt: Add bt spp profile

See merge request !1593
2018-01-09 10:44:46 +08:00
Angus Gratton
7ea16872d4 Merge branch 'bugfix/docs-pico-kit-swapped-pins' into 'master'
Fixed swapped GPIO6 and GPIO11 in ESP-PICO-KIT 'Pin Descriptions', ref. https://esp32.com/viewtopic.php?f=2&t=3880

See merge request !1736
2018-01-09 08:53:10 +08:00
Angus Gratton
1bf456b57b Merge branch 'bugfix/ci_rare_examples_error' into 'master'
CI: Fix an occasional error in the build_examples

See merge request !1752
2018-01-09 08:52:35 +08:00
Angus Gratton
76b936e98e Merge branch 'bugfix/eclipse_cxx_include_paths' into 'master'
Eclipse: Fix bug with C++ include paths (Github PR)

See merge request !1756
2018-01-09 08:52:02 +08:00
Angus Gratton
ef5d6cf64a eclipse: Add space between -I and build directory
See https://github.com/espressif/esp-idf/pull/1474
2018-01-09 09:27:00 +11:00
Ivan Grokhotkov
8e8cb1a139 panic: prevent INT WDT from re-triggering in OCD mode
When INT WDT fires, panicHandler is invoked. In OCD mode, panicHandler
sets a breakpoint on the PC from the exception frame and returns.
However in case of INT WDT, interrupt flag is still set in TIMERG1
peripheral, which causes INT WDT to trigger again. This causes an
endless stream of "Core  0 panic'ed (Interrupt wdt timeout on CPU1)"
messages. OpenOCD also gets terribly confused at this point.

Disable watchdogs when exiting panic handler in OCD mode.
Clear TIMERG1 WDT interrupt flag to prevent re-entry into panic handler.
2018-01-09 01:46:24 +08:00
Ivan Grokhotkov
7c584e80b0 soc/rtc_clk: fix loss of precision in estimation of XTAL frequency
RTC_FAST_CLK_FREQ_APPROX is defined as 8500000, so 0.5MHz part was lost
when dividing by MHZ. Since cal_val is 64-bit the parens can be removed.

With 40MHz XTAL for a nominal ESP32 chip, this fixes estimated XTAL
frequency from 38 to 40MHz.
2018-01-08 23:31:21 +08:00
Ivan Grokhotkov
dba291416f soc,ulp: add register definitions of RTC_I2C peripheral 2018-01-08 21:28:14 +08:00
Jiang Jiang Jian
0cd97cecb2 Merge branch 'bugfix/btdm_error_when_add_device_to_whitelist_twice' into 'master'
component/bt: Fix bug when add device to whitelist twice

See merge request !1700
2018-01-08 19:16:34 +08:00
zhiweijian
831b2c0441 Component/bt: fix can not remove boned device if it is connected 2018-01-08 17:55:00 +08:00
Ivan Grokhotkov
f61dcf4d1a Merge branch 'bugfix/freertos_eventgroup_isr_test' into 'master'
freertos/Fix Event Group ISR test case

See merge request !1733
2018-01-08 16:51:27 +08:00
Ivan Grokhotkov
ddf3d92a25 Merge branch 'bugfix/esp_log_local_level' into 'master'
Log: fix definition of LOG_LOCAL_LEVEL, fix typos

See merge request !1747
2018-01-08 16:41:42 +08:00
Alexander Sparkowsky
77adf85722 Add space between -I and path for CPPFLAGS
In order for the Eclipse CDT GCC Build Output Parser to be able to
pick up the include paths for C++/cpp files a space is required
between the compiler option (-I) and the actual path.

Merges https://github.com/espressif/esp-idf/pull/1474
2018-01-08 13:34:26 +11:00
Angus Gratton
da1bf60904 esptool: Update to v2.2 2018-01-08 11:45:09 +11:00
Angus Gratton
f9ad17eee4 Merge branch 'bugfix/BLE_SM_Security_Flags_pr1320' into 'master'
bt: Fix ble sm security flags (Github PR 1320)

See merge request !1740
2018-01-08 07:35:19 +08:00
Jiang Jiang Jian
a1b59679f9 Merge branch 'bugfix/btdm_standardize_code' into 'master'
component/bt: Standardize code

See merge request !1696
2018-01-05 18:56:08 +08:00
baohongde
d2663c866e component/bt: Add SPP profile 2018-01-05 16:48:29 +08:00
Jiang Jiang Jian
4d4c055a1a Merge branch 'bugfix/recompile_with_new_psram_toolchain' into 'master'
recompile wifi lib with new toolchain 1.22.0-78-g4b87650

See merge request !1730
2018-01-05 16:40:30 +08:00
Ivan Grokhotkov
3a6962b8ec log: fix typos in header files 2018-01-05 16:10:58 +08:00
Ivan Grokhotkov
6a5c105753 log: define LOG_LOCAL_LEVEL before using it, don't use type cast
LOG_LOCAL_LEVEL is now used in a construct like:
 #if (LOG_LOCAL_LEVEL >= ESP_LOG_INFO)
Make sure that LOG_LOCAL_LEVEL is defined, and don't use a type cast in
its definition, because preprocessor can not parse that.
2018-01-05 16:10:58 +08:00
Angus Gratton
2227c44254 rmt: Add void * argument for end-of-transmission callback
Ref https://github.com/espressif/esp-idf/pull/1174
2018-01-05 17:31:59 +11:00
Krzysztof Bociurko
1066c74b74 rmt: Adds a simple handler that can be called when transmission ends.
Merges https://github.com/espressif/esp-idf/pull/1174
2018-01-05 17:14:02 +11:00
Anton Maklakov
b902d00fa0 CI: Fix an occasional error caused by reordering the commands along with 'tee' in the script 2018-01-05 12:46:34 +08:00
Ivan Grokhotkov
30aacb79d5 Merge branch 'bugfix/uart_semaphore_pr1387' into 'master'
uart driver: Remove unnecessary xSemaphoreGive()

See merge request !1739
2018-01-05 11:05:05 +08:00
Angus Gratton
eb659e401d Merge branch 'feature/esp_intr_set_in_iram' into 'master'
Add esp_intr_set_in_iram (Github PR)

See merge request !1629
2018-01-04 06:04:05 +08:00
Angus Gratton
6e23ee704b Merge branch 'refactor/spi_clk_pre_cal' into 'master'
bugfix(spi_master): improve spi time cost for each transfer.

See merge request !1670
2018-01-04 06:03:12 +08:00
Angus Gratton
1837a034dd Merge branch 'bugfix/small_fixes_github' into 'master'
Some small fixes from Github

See merge request !1737
2018-01-03 13:36:03 +08:00
Jiang Jiang Jian
1e141b5198 Merge branch 'feature/btdm_add_bluetooth_examples_tutorials' into 'master'
component/bt: Add bluetooth example tutorials

See merge request !1592
2018-01-03 13:04:16 +08:00
Tim Cook
2b24177d2b n btm_sec_save_le_key() set BTM_SEC_LE_LINK_KEY_KNOWN (and BTM_SEC_LE_LINK_KEY_AUTHED if MITM was used) when process a local Long Term Key (key type BTM_LE_KEY_LENC). This is because these flags share bits with the BTM_SEC_FLAG_LKEY_KNOWN (and BTM_SEC_FLAG_LKEY_AUTHED) flag in btm_api.h. Without this code a link that is encrypted via SM pairing where only the local device exchanges the LTK (peer does not send its LTK) will not allow GATT operations that require encryption (request will be incorrectly rejected with insufficient authentication reason, regardless of if MITM is required).
Merges https://github.com/espressif/esp-idf/pull/1320
2018-01-03 14:14:24 +11:00
Tim Cook
5b87177831 set ble_rsp_key member of structure bte_appl_cfg in function bta_dm_co_ble_set_rsp_key_req (function incorrectly uses ble_init_key member).
Merges https://github.com/espressif/esp-idf/pull/1320
2018-01-03 14:14:24 +11:00
island
d950ede96d component/bt: change pictures from .pdf to .png 2018-01-03 11:13:27 +08:00
island
5c82ef1034 component/bt: Modify docs to be compatible with "Github Standard Markdown" 2018-01-03 11:13:27 +08:00
island
85efc08c27 component/bt: add link of tutorial in README.rst 2018-01-03 11:13:27 +08:00
island
7a0608609f component/bt: Add bluetooth example tutorials 2018-01-03 11:13:26 +08:00
Alexey Morozov
25b8642835 uart driver: Remove unnecessary xSemaphoreGive()
avoid unnecessary call of xSemaphoreGive(p_uart_obj[uart_num]->tx_mux);

Merges https://github.com/espressif/esp-idf/pull/1387
2018-01-03 13:44:19 +11:00
baohongde
2530e0aeb9 component/bt: Standardize code
Reported from github:
https://github.com/espressif/esp-idf/issues/1402
https://github.com/espressif/esp-idf/issues/1403
2018-01-03 10:31:30 +08:00
JoveToo
ecb75ba669 fix typo
Merges https://github.com/espressif/esp-idf/pull/1429
2018-01-03 10:51:34 +11:00
JoveToo
6746d31620 fix typo
Merges https://github.com/espressif/esp-idf/pull/1430
2018-01-03 10:50:50 +11:00
Per Malmberg
f7f52414ec Removed logging in RMT driver which skews the timing. Issue #1345
Merges https://github.com/espressif/esp-idf/pull/1450
2018-01-03 10:50:03 +11:00
Martin Pomezný
e7693b8700 GPIO2 note updated
Updated note on GPIO2 with informations about possible pull-down resistor.

Merges https://github.com/espressif/esp-idf/pull/1451
2018-01-03 10:48:57 +11:00
Greg Herlein
a834c069f1 added notes on where to change XTAL freq
Merges https://github.com/espressif/esp-idf/pull/1458
2018-01-03 10:45:00 +11:00
krzychb
03d5af9859 Fixed swapped GPIO6 and GPIO11 in documenation of module pinout, ref. https://esp32.com/viewtopic.php?f=2&t=3880 2018-01-02 22:30:45 +01:00
Darian Leung
9df9e2363e freertos/Fix Event Group ISR test case
This commit fixes and reimplements the Event Group ISR test case. The test
case tests xEventGroupSetBitsFromISR() and xEventGroupClearBitsFromISR()
2018-01-02 18:57:28 +08:00
baohongde
e55b5433aa component/bt: Fix bug when add device to whitelist twice 2018-01-02 17:20:34 +08:00
Jiang Jiang Jian
c401a74bfb Merge branch 'bugfix/btdm_aes_encrypt_workaround' into 'master'
component/bt: disable Secure Connections to workaround AES encryption issue

See merge request !1719
2018-01-02 16:15:39 +08:00
XiaXiaotian
3fd421ab01 recompile wifi lib with new toolchain 1.22.0-78-g4b87650 2018-01-02 14:23:37 +08:00
Angus Gratton
b16e1d84d0 AWS IoT SDK: Update version from v2.1.1 to v2.2.1
Closes https://github.com/espressif/esp-idf/issues/1355
2018-01-02 13:46:58 +11:00
Angus Gratton
e798957d16 Merge branch 'bugfix/ci_log_examples' into 'master'
Fix a sporadic bug in building of the examples

See merge request !1723
2018-01-02 07:55:26 +08:00
wangmengyang
ba06683834 component/bt: build libbtdm_app.a with updated toolchain 2017-12-29 15:31:11 +08:00
Ivan Grokhotkov
f82048018b Merge branch 'bugfix/i2c_regression' into 'master'
Bugfix/i2c regression (Github PR 1443)

See merge request !1725
2017-12-29 15:19:38 +08:00
Angus Gratton
4f44d16e88 Merge branch 'feature/docs_add_python3_support' into 'master'
docs: Add build support for python3

See merge request !1712
2017-12-29 06:11:50 +08:00
Per Malmberg
f2370b2830 Removed logging from pthread conditional variable which completely drowned out any other logging and also had negative effects on the RMT due to sharing the same log system. Related to #1345 / TW#16842 2017-12-28 15:21:00 +01:00
Per Malmberg
5fb16d9b2b Fix regression in i2c_master_read() which rejected all data lenths. 2017-12-28 14:54:15 +01:00
Anton Maklakov
301751ede0 build system: Fix undefined variables
make/project.mk:315: warning: undefined variable `CC'
    make/project.mk:316: warning: undefined variable `LD'
    make/project.mk:317: warning: undefined variable `AR'
    make/project.mk:62: warning: undefined variable `MAKECMDGOALS'
    components/partition_table/Makefile.projbuild:24: warning: undefined variable `quote'
    components/bootloader/Makefile.projbuild:123: warning: undefined variable 'BOOTLOADER_DIGEST_BIN'
    components/bootloader/Makefile.projbuild:123: warning: undefined variable 'SECURE_BOOTLOADER_KEY'
2017-12-28 19:21:34 +08:00
Anton Maklakov
20616fc0f5 CI: Fix a sporadic bug when building of the examples. Add logs to the artifacts 2017-12-28 19:20:48 +08:00
Ivan Grokhotkov
98dff491c8 Merge branch 'bugfix/static_mem_workaround' into 'master'
esp32: Change 192KB runtime static limit workaround to a 176KB link time workaround

See merge request !1704
2017-12-28 18:52:47 +08:00
wangmengyang
1bbd67f7d7 component/bt: disable Secure Connections(Host Supported) of classic Bluetooth to workaround AES encryption issue in controller
1. ESP32 is found to suffer from AES encryption start/resume failure with specific device. Therefore temporarily disable BR/EDR Secure Connections for a workaround
2. BR/EDR Secure Connections is a feature for BT Classic introduced in Bluetooth 4.1. This change disables the setting of Secure Connections(Host Supported), and will result in the use of legacy authentication instead of secure authentication, and E0 encryption(legacy) instead of AES-CCM encryption. BLE security procedures are not affected.
2017-12-28 14:51:19 +08:00
michael
2552fdccd1 chore(spi): add log to show native pins or not when configure pins. 2017-12-28 12:03:29 +08:00
michael
f4be6ac84d fix(spi_master): fix the logic in the ISR to prevent re-config registers when device is not changed. 2017-12-28 12:03:29 +08:00
michael
7a7b8fc182 refactor(spi_master): move the clock calculation from ISR to initialization. 2017-12-28 12:03:28 +08:00
Jiang Jiang Jian
7d0d2854d3 Merge branch 'bugfix/btdm_error_when_white_list_is_full' into 'master'
component/bt: Fix bug of adding device to white list has no callback when while list is full

See merge request !1689
2017-12-27 18:03:38 +08:00
Jiang Jiang Jian
566fab02df Merge branch 'bugfix/btdm_disconnect_fail_during_pairing' into 'master'
component/bt: Fix bug of disconnected fail during pairing

See merge request !1672
2017-12-27 18:03:13 +08:00
Ivan Grokhotkov
cbfd162ea8 Merge branch 'bugfix/idle_task_deletes_currently_running_task' into 'master'
freertos: prvCheckTasksWaitingTermination bugfix

See merge request !1686
2017-12-27 16:44:06 +08:00
Jiang Jiang Jian
8051ac469a Merge branch 'cherry-pick-4837f939-2' into 'master'
esp_timer:fix three bugs about timer get and timer alarm where overflow is not correct

See merge request !1695
2017-12-27 11:43:52 +08:00
Jiang Jiang Jian
15deab4e46 Merge branch 'refactor/btdm_spp_client_demo' into 'master'
component/bt: refactor spp client demo

See merge request !1366
2017-12-27 11:43:35 +08:00
Jiang Jiang Jian
d31b654f3f Merge branch 'bugfix/btdm_fix_memory_leak_for_SMP' into 'master'
component/bt: fix memory leak in SMP

See merge request !1690
2017-12-27 11:43:18 +08:00
Angus Gratton
ec7cac5fe8 Merge branch 'feature/docs_update_rmt_api' into 'master'
RMT API docs update, new example

See merge request !1564
2017-12-27 09:23:47 +08:00
Angus Gratton
258d0329c1 Merge branch 'bugfix/blockdiag_windows_installation' into 'master'
A workaround for MSYS2 / Windows system to be able to install 'blockdiag'

See merge request !1684
2017-12-27 09:05:12 +08:00
Angus Gratton
13a087a390 Merge branch 'bugfix/iperf_example_bugfix' into 'master'
example: some modification about iperf example

See merge request !1603
2017-12-27 09:01:21 +08:00
Angus Gratton
f8580ea98f esp32: Change 192KB runtime static limit workaround to a 176KB link time workaround
Turns out some app memory around 0x3ffdc000 is also used by APP CPU.

This is a workaround until code to remove the 176KB limit is committed.
2017-12-27 11:59:54 +11:00
Angus Gratton
eb0f2f2f04 Merge branch 'bugfix/add_iic_NACK' into 'master'
driver(i2c): to specify ack value for last I2C read in a transaction

See merge request !1580
2017-12-27 08:49:57 +08:00
kooho
d78be97154 add NACK for the last byte to read 2017-12-26 21:50:18 +08:00
Anuj Deshpande
59b0c50d77 docs: Add build support for python3 2017-12-26 17:48:33 +05:30
Darian Leung
c41c02872f freertos: prvCheckTasksWaitingTermination bugfix
Bugfix to prevent a self deleting no affinity task's memory from being freed by the
idle task of the other core before the self deleting no affinity task is able to context
switch out.  prvCheckTasksWaitingTermination now checks if the task is still on
pxCurrentTCB before freeing task memory.
2017-12-26 19:03:49 +08:00
baohongde
1de63e9d90 component/bt: Fix bug of disconnected fail during pairing 2017-12-25 19:24:06 +08:00
baohongde
f5f8dda8a2 component/bt: Fix bug of adding device to white list has no callback when while list is full 2017-12-25 17:45:12 +08:00
Ivan Grokhotkov
5401a75bad Merge branch 'bugfix/modify_bt_h' into 'master'
component/bt : change header file name bt.h to esp_bt.h in new bluetooth example

See merge request !1703
2017-12-25 14:27:35 +08:00
Tian Hao
6220723e7b component/bt : change header file name bt.h to esp_bt.h in new bluetooth example 2017-12-22 15:13:45 +08:00
Ivan Grokhotkov
c488235e9c Merge branch 'feature/components_can_add_to_component_make_rules' into 'master'
Support Makefile.componentbuild so components can add to global component make rules

See merge request !1667
2017-12-22 11:40:54 +08:00
Angus Gratton
5e77b98369 Merge branch 'feature/editorconfig' into 'master'
Add .editorconfig file

See merge request !1682
2017-12-22 07:37:46 +08:00
Ivan Grokhotkov
6c2562ceb4 Merge branch 'bugfix/spiram_fails_after_esp_restart' into 'master'
Make psram function after an esp_restart as well.

See merge request !1694
2017-12-21 13:40:10 +08:00
xiewenxiang
e8d1072467 component/bt: refactor spp client demo
- fix the bug that before free the db pointer, the db was set to NULL
2017-12-21 10:01:38 +08:00
Jiang Jiang Jian
a567de1576 Merge branch 'feature/btdm_classic_discovery' into 'master'
component/bt: implement Classic Bluetooth GAP APIs for device and service discovery

See merge request !1576
2017-12-20 13:30:31 +08:00
Jeroen Domburg
1be1e747c4 Add support for Makefile.componentbuild files 2017-12-20 10:35:27 +08:00
zhiweijian
763406b4cc Component/bt: fix memory leak in SMP 2017-12-20 10:30:31 +08:00
Jiang Jiang Jian
5cbe950d08 Merge branch 'bugfix/btdm_modify_code_format_and_comments' into 'master'
component/bt: modify code format and comments

See merge request !1631
2017-12-19 20:19:00 +08:00
Jiang Jiang Jian
04e1195f41 Merge branch 'bugfix/btdm_send_data_length_req_after_read_feature_complete' into 'master'
component/bt: send data length request by host after read feature complete

See merge request !1639
2017-12-19 20:18:50 +08:00
Jack
0a1f81dc01 esp_timer:fix three bugs about timer get and timer alarm where overflow is not correct 2017-12-19 20:05:55 +08:00
Jeroen Domburg
569bfad2e3 Fix the clock subsystem so it doesn't undo the weird condition spiram_psram.c jams the enable/reset bits of SPI3 in when 80MHz mode is selected anymore 2017-12-19 19:12:58 +08:00
Liu Zhi Fu
5adef5865d example: some modification about iperf example
Modify default sdkconfig since some WiFi menuconfig options are changed
2017-12-19 18:28:22 +08:00
Jiang Jiang Jian
709d19f99e Merge branch 'feature/eth_set_mac_addr' into 'master'
emac:add set_eth_mac api

See merge request !1604
2017-12-19 17:40:36 +08:00
Jiang Jiang Jian
9c2db2ea7a Merge branch 'bugfix/btdm_optimiz_adv_cb_func' into 'master'
Bugfix/btdm optimiz adv cb func

See merge request !1619
2017-12-19 17:35:00 +08:00
Jiang Jiang Jian
956133387d Merge branch 'bugfix/fix_some_wifi_bug' into 'master'
Fix some wifi bugs

See merge request !1680
2017-12-19 17:31:44 +08:00
Jiang Jiang Jian
9c5435c14a Merge branch 'bugfix/btdm_mem_release' into 'master'
component/bt : fix btdm mem release cause 0x3ffbbb28-0x3ffbdb28 add to region but should not.

See merge request !1660
2017-12-19 17:31:09 +08:00
XiaXiaotian
32c0d74cc5 Close socket request will abort tcp write/connect
When tcp write/connect is running, close socket request will abort
    it and continue to delete netconn and close tcp. Do not immediately
    return after aborting tcp write/connect. Otherwise, tcp close
    requeset will block and tcp write/connect will crash.
2017-12-19 15:20:50 +08:00
Ivan Grokhotkov
f8bda324ec Merge branch 'bugfix/bootloader_v10_backwards_compat' into 'master'
esp32: Fix backwards compatibility for pre-v2.1 bootloaders

See merge request !1673
2017-12-18 17:20:08 +08:00
Jeroen Domburg
361bdcf78c Merge branch 'feature/ringbuf_improvement' into 'master'
Feature/ringbuf improvement

See merge request !1571
2017-12-18 16:52:40 +08:00
Tuan PM
5615b9ca2b Add .editorconfig file
remove newlinet in binary file

editorconfig style guide

correct format for rst hyperlinks
2017-12-18 12:47:30 +07:00
krzychb
d2da250353 A workaround for MSYS2 / Windows system to be able to install 'blockdiag' 2017-12-18 05:34:44 +01:00
Angus Gratton
c69af42b96 esp32: Fix backwards compatibility for pre-v2.1 bootloaders
Older bootloaders don't set RTC_XTAL_FREQ_REG or call rtc_clk_init(),
app needs to pick this up.

Reported at
https://esp32.com/viewtopic.php?f=2&t=3939&p=17836
2017-12-18 13:45:57 +11:00
Angus Gratton
496f6d2744 Merge branch 'bugfix/log_tag_variables_static' into 'master'
log: Remove non-static TAG variables

See merge request !1674
2017-12-18 07:06:36 +08:00
Angus Gratton
661d584ae7 Merge branch 'bugfix/i2c_fixes_pr1180' into 'master'
i2c: rx <-> tx typo's, NULLing free'd variable, consistent CRITICAL sects

See merge request !1551
2017-12-18 06:44:33 +08:00
Angus Gratton
25892f2cb7 Merge branch 'bugfix/windows_10_idf_monitor_redux' into 'master'
idf_monitor: Fix Windows 10 bug in cases where second console write also fails

See merge request !1675
2017-12-18 06:42:11 +08:00
XiaXiaotian
1e1db75aaa Fix some wifi bugs
1. change first scanning channel to adjust different country code.

2. fix a bug that system crashes when station disconnects from AP.
2017-12-15 18:17:17 +08:00
Yulong
967ff895e7 component/bt: Optimized broadcast callback function, send the callback function to the application after the controller confirms receipt of the broadcast start.
1. optimiz the ble stop adv callback function.
2. added the osi_mutex_unlock in the bta_gattc_wait4_service_change_ccc_cback function when the p_timer_param == NULL ||  p_conn == NULL.
2017-12-15 18:16:23 +08:00
shangke
710e69feca emac:add set_eth_mac api 2017-12-15 17:15:53 +08:00
Angus Gratton
8f874aaa0f Merge branch 'bugfix/i2c_use_queue_instead_of_eventbit' into 'master'
bugfix(i2c): use queue instead of event group for internal commands

See merge request !1616
2017-12-15 13:54:03 +08:00
Angus Gratton
b62e5a4b4e idf_monitor: Fix Windows 10 bug in cases where second console write also fails
Although in my tests the second write always passes, people have reported
different results.

Closes https://github.com/espressif/esp-idf/issues/1136 (again)
2017-12-15 16:45:44 +11:00
Angus Gratton
ea2afa83a8 log: Remove non-static TAG variables 2017-12-15 10:59:48 +11:00
Angus Gratton
8688f0ec05 Merge branch 'feature/monitor_log_toggle' into 'master'
feat(monitor): add new feature allowing disabling log display.

See merge request !1548
2017-12-15 06:27:53 +08:00
Angus Gratton
17f3230305 Merge branch 'bugfix/heap_alloc_typo' into 'master'
fix typo for heap cap free size

See merge request !1669
2017-12-15 06:26:14 +08:00
michael
cb810ccbe1 feat(monitor): add pause feature. 2017-12-14 13:48:03 +08:00
michael
a8f89009a4 feat(monitor): add new feature allowing disabling log display. 2017-12-14 13:48:03 +08:00
Ivan Grokhotkov
661686b840 Merge branch 'feature/doc_wroom_modules_with_ESP32-D0WD' into 'master'
The WROOM and WROVER family of modules is now extended with ESP-WROOM-32D and ESP32-WROOM-32U

See merge request !1654
2017-12-14 13:36:49 +08:00
Ivan Grokhotkov
1b619c0ec8 Merge branch 'bugfix/uart1_console' into 'master'
Fixes for console output on UART1

See merge request !1649
2017-12-14 13:36:34 +08:00
Ivan Grokhotkov
68bba96911 Merge branch 'bugfix/sdmmc_vfs_deinit' into 'master'
SDSPI bug fixes

See merge request !1647
2017-12-14 13:36:20 +08:00
Kewal
ae8a0bbf56 fix typo for heap cap free size 2017-12-14 10:39:26 +05:30
Angus Gratton
af70a5eb65 Merge branch 'bugfix/eclipse_warning' into 'master'
Resolves: Warning '-s option given but default rule can be matched'. Closes http…

See merge request !1658
2017-12-14 06:15:56 +08:00
Zhi Wei Jian
833ecfdec9 Merge branch 'master' into 'bugfix/btdm_modify_code_format_and_comments'
# Conflicts:
#   examples/bluetooth/gatt_server_service_table/main/gatts_table_creat_demo.c
2017-12-13 15:42:41 +08:00
Ivan Grokhotkov
d2bd9cccd8 Merge branch 'feature/ulp_docs_update' into 'master'
ULP docs update

See merge request !1640
2017-12-13 15:36:36 +08:00
Tian Hao
65bdb2d7ff component/bt : fix btdm mem release cause 0x3ffbbb28-0x3ffbdb28 add to region but should not.
1. fix the bug. Modify the condition that esp_bt_controller_mem_release() shoud be only called before esp_bt_controller_init() or after esp_bt_controller_deinit()
2. modify the example to use esp_bt_controller_mem_release()
2017-12-13 11:38:39 +08:00
Ivan Grokhotkov
1c314b34fc Merge branch 'bugfix/rtc_time' into 'master'
Fix compilation issue when using RTC time only, update Kconfig help and source code

See merge request !1650
2017-12-13 11:10:45 +08:00
Ivan Grokhotkov
4839da4d98 Merge branch 'bugfix/fatfs_stat' into 'master'
Fix stat behavior for FATFS mount point

See merge request !1652
2017-12-13 11:10:27 +08:00
zhiweijian
6b6e0410f8 Component/bt: send data length request by host after read feature complete 2017-12-12 18:28:59 +08:00
krzychb
465ab0ca10 Linked ESP32 datasheet and regulatory certificates 2017-12-12 08:42:22 +01:00
Angus Gratton
ab6b7b4013 Merge branch 'feature/spiffs_mtime' into 'master'
Add optional mtime support in SPIFFS

See merge request !1579
2017-12-12 14:43:03 +08:00
krzychb
78aa1ec704 Resolves: Warning '-s option given but default rule can be matched'. Closes https://github.com/espressif/esp-idf/issues/1338 2017-12-11 22:53:39 +01:00
Ivan Grokhotkov
a7a861962d Merge branch 'bugfix/note_about_main_xtal_frequency_selection' into 'master'
Getting Started docs: Updated information about setting the main XTAL frequency

See merge request !1645
2017-12-11 15:45:01 +08:00
Ivan Grokhotkov
82aeb18c3f Merge branch 'test/UT_master_slave_mode' into 'master'
unit-test-app: support multiple devices test cases

See merge request !1220
2017-12-11 15:22:51 +08:00
krzychb
6584bcf62d Fixed issues identified during review 2017-12-11 08:01:37 +01:00
krzychb
9b847b2903 1. Following https://esp32.com/viewtopic.php?f=14&t=3834 and https://github.com/espressif/esp-idf/issues/1351 updated information regarding selection of the main XTAL frequency. 2. Removed obsolete note about ': not a valid identifier...', as it does not show up anymore with the latests MSYS2 installation. 2017-12-11 07:52:27 +01:00
Ivan Grokhotkov
a99483a727 docs: add information about execution time of ULP instructions 2017-12-11 14:05:41 +08:00
Angus Gratton
a4ef4cc376 Merge branch 'bugfix/gpio_config_block' into 'master'
driver(GPIO): use ULL for IO bit mask

See merge request !1627
2017-12-11 12:56:39 +08:00
Angus Gratton
dcf94f2189 Merge branch 'bugfix/minor_fixes_github' into 'master'
Minor fixes from github

See merge request !1638
2017-12-11 12:51:41 +08:00
Ivan Grokhotkov
bee1afaf6d time: rename time source option from FRC to "high-resolution timer"
libc time function now rely on esp_timer_get_time as the source of
high-resolution time, rather than FRC1 timer. Internally, on the ESP32
esp_timer implementation uses FRC2 timer.

- Change help text and labels in Kconfig to use "high-resolution timer"
  instead of FRC1. Keep existing Kconfig option name to be backwards
  compatible.
- Change references to "FRC1" in the source code to "FRC".
2017-12-11 12:37:08 +08:00
Ivan Grokhotkov
ca751648fa ulp: document the need to wait for RTC to be ready for wakeup 2017-12-11 12:11:46 +08:00
Ivan Grokhotkov
b6a6973b44 ulp: mention that instructions array must be declared in local scope
Closes https://github.com/espressif/esp-idf/issues/1327
2017-12-11 12:11:46 +08:00
Ivan Grokhotkov
65fa71f565 docs: add description of ULP I2C instructions 2017-12-11 12:11:46 +08:00
Angus Gratton
5fe1b2e365 Merge branch 'bugfix/openssl_alpn' into 'master'
openssl: add feature check for MBEDTLS_SSL_ALPN

See merge request !1648
2017-12-11 12:03:11 +08:00
Ivan Grokhotkov
dfee6e825a vfs/fatfs: use structures with bit fields for FAT date/time
Replace explicit masks and shifts with bit fields when working with FATFS date and time representations. Also zero-initialize remaining members of struct tm.

Fixes https://github.com/espressif/esp-idf/issues/1369.
2017-12-11 11:11:48 +08:00
Chuck Todd
d913fff6d7 i2c: rx <-> tx typo's, NULLing free'd variable, consistent CRITICAL sects
A couple of typos referencing tx_ring_buf when rx_ring_buf, slv_tx_mux
instead of slv_rx_mux.

Also, I2C_ENTER_CRITICAL()/I2C_EXIT_CRITICAL() usage was not consistent.
Only some of the _set_ functions had them.  Most of the _get_ function
had them?  It is my understanding that they should be wrapped around
writes, not reads? (I think we still need the lock for reading pairs of consistent values)

Also, the ticks_to_wait timeout handling in i2c_master_cmd_begin() would
not handle integer rollover correctly.

Merges https://github.com/espressif/esp-idf/pull/1180
2017-12-11 11:08:39 +08:00
Ivan Grokhotkov
ed1e6e7224 fatfs: fix double free in bailout path of esp_vfs_fat_sdmmc_mount
Fixes https://github.com/espressif/esp-idf/issues/1370
2017-12-11 11:07:08 +08:00
Ivan Grokhotkov
269486ca4d sdspi: use response timeout passed from upper layer
Previously SDSPI host driver would rely on retry count when waiting for
the card to read or write data. This caused different timeout times
depending on CPU frequency and card clock frequency. In practice, card
performance does not depend on these two factors.
This change uses timeout_ms field of sdmmc_command_t introduced
previously for SDMMC host.

Fixes https://esp32.com/viewtopic.php?f=2&t=3440&p=16037 and similar
issues related to SDSPI timeouts.
2017-12-11 11:07:08 +08:00
Ivan Grokhotkov
4170904224 fatfs: fix deinit not called for SDSPI host
Closes https://github.com/espressif/esp-idf/issues/1362
2017-12-11 11:07:08 +08:00
krzychb
e99c7c3b50 The WROOM and WROVER family of modules is now extended with ESP-WROOM-32D and ESP32-WROOM-32U 2017-12-08 21:03:05 +01:00
Ivan Grokhotkov
a63ace15bd vfs/fatfs: fix stat call failing when called for mount point
FATFS does not support f_stat call for drive root. When handling stat
for drive root, don't call f_stat and just return struct st with S_IFDIR
flag set.

Closes #984
2017-12-08 20:04:27 +08:00
Ivan Grokhotkov
df74211fc3 newlib/time: fix compilation error when only RTC is used as clock source
Fixes https://github.com/espressif/esp-idf/issues/1245
2017-12-08 16:17:47 +08:00
Fabiano Kovalski
9075b507b5 driver(i2c): corrected timeout range for i2c_set_timeout.
Merges https://github.com/espressif/esp-idf/pull/1353
2017-12-08 14:26:35 +08:00
Ivan Grokhotkov
bd6ee752fc Merge branch 'feature/btdm_modify_header_file_name' into 'master'
component/btdm : change bt.h name to esp_bt.h to form the name prefix

See merge request !1644
2017-12-08 14:03:15 +08:00
Ivan Grokhotkov
5bba9664ac Merge branch 'bugfix/heap_trace_realloc' into 'master'
heap_trace: fix bug in realloc for copying trace record

See merge request !1643
2017-12-08 14:02:48 +08:00
Ivan Grokhotkov
bad8d3ce57 bootloader: don't log anything before uart_console_configure is called 2017-12-08 13:15:40 +08:00
Ivan Grokhotkov
a705221492 esp32: fix incorrect clock enable bit name for UART0
Closes https://github.com/espressif/esp-idf/issues/1301
2017-12-08 13:14:36 +08:00
Ivan Grokhotkov
022b4f3251 openssl: add feature check for MBEDTLS_SSL_ALPN
Fixes https://github.com/espressif/esp-idf/issues/1342
2017-12-08 13:00:11 +08:00
Deomid Ryabkov
e3282a0cac Add esp_intr_set_in_iram
A function to change "in IRAM" status for an existing interrupt handle, without going through free/allocate of the interrupt.
mOS HW timer implementation requires this to make HW timers safe to re-set from an IRAM ISR.
2017-12-08 05:46:34 +03:00
Tian Hao
583dceb69b component/btdm : change bt.h name to esp_bt.h to form the name prefix 2017-12-08 10:33:50 +08:00
Mahavir Jain
18553c451a heap_trace: fix bug in realloc for copying trace record
Closes https://github.com/espressif/esp-idf/issues/1354

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2017-12-07 18:20:23 +05:30
Piyush Shah
91968ef464 freertos/ringbuf: Added an API xRingbufferCreateNoSplit()
This is a wrapper API for creating a Ring Buffer, which ensures that
the ringbuffer can hold the given number of items, each item being of the
same given length.

Signed-off-by: Piyush Shah <piyush@espressif.com>
2017-12-07 17:04:23 +05:30
Piyush Shah
3c199b0de6 freertos/ringbuf: Add an API xRingbufferIsNextItemWrapped()
Useful to check if the next item to receive is wrapped or not.
This is valid only if the ring buffer is initialised with type
RINGBUF_TYPE_ALLOWSPLIT.

This is as per the feature request here:
https://github.com/espressif/esp-idf/issues/806

Signed-off-by: Piyush Shah <piyush@espressif.com>
2017-12-07 17:04:18 +05:30
Piyush Shah
cd5fb054c7 freertos/ringbuf: Add an API xRingbufferGetCurFreeSize() to fetch current free size available
The earlier available API (xRingbufferGetMaxItemSize())just gives
a static max entry value possible for given ring buffer.
There was a feature request for an API which could provide
a real time available buffer size. See below:

https://github.com/espressif/esp-idf/issues/806

Signed-off-by: Piyush Shah <piyush@espressif.com>
2017-12-07 17:04:12 +05:30
houchenyao
7a31b93fa3 unit-test-app: support multiple devices test cases:
current unit-test-app don't support test components need to communicate
with each other (like GPIO, SPI ...). Now we add multiple devices mode
to unit test app, support writing and running test with multiple DUTs.

please refer to `docs/api-guides/unit-tests.rst` for detail.
2017-12-07 13:57:26 +08:00
Ivan Grokhotkov
7e3ac34704 Merge branch 'bugfix/fix_i2s_doc' into 'master'
docs: fix i2s code snippet for interrupt flags setting

See merge request !1637
2017-12-07 13:50:49 +08:00
Ivan Grokhotkov
b46d4ab632 Merge branch 'feature/freertos_api_doc' into 'master'
Add FreeRTOS API documentation

See merge request !1634
2017-12-07 13:50:10 +08:00
Ivan Grokhotkov
d6525fb3e6 docs: link to FreeRTOS APIs from SMP changes documentation 2017-12-07 12:41:24 +08:00
Ivan Grokhotkov
cda22d9aaf docs: add FreeRTOS API docs
- Use `code` tags instead of a mix of `<pre></pre>` and
  `@verbatim .. @endverbatim`
- Remove manually added function prototypes from comment blocks
- Remove of grouping (`\defgroup`) — some extra work is needed
  to make groups compatible with the way we auto-generate API
  reference from Doxygen XML files. It's pretty easy to add the
  grouping directives back if/when we implement support for
  Doxygen groups in the later stages of documentation build
  process.
- Hide private APIs under `@cond .. @endcond`
- Convert some comments into Doxygen-compatible ones
- Fix various documentation issues: missing documentation for
  some parameters, mismatch between parameter names in comment
  block and in function prototype.
- Add doxygen comments for functions which didn't have them
  (thread local storage).
- Add [out] param tags where necessary
- Redefine `xTaskCreate` and `xTaskCreateStatic` as inline
  functions instead of macros.
2017-12-07 12:01:14 +08:00
Ivan Grokhotkov
2b92119840 Merge branch 'bugfix/freertos_check_task_waiting_termination' into 'master'
Freertos Task Deletion backport and FPU documentation

See merge request !1591
2017-12-07 11:55:10 +08:00
Angus Gratton
240f2ce7be Merge branch 'bugfix/gcc7_compilation' into 'master'
Fixes for gcc 7 compilation (Github PR)

See merge request !1628
2017-12-07 07:32:49 +08:00
Paul Reimer
8a47679d04 Add #include guards and __cplusplus guards to esp_debug.h
Merges https://github.com/espressif/esp-idf/pull/1358
2017-12-07 10:25:57 +11:00
Paul Reimer
78855211fe build system: Add *.cc files to list of file extensions compiled by default
Merges https://github.com/espressif/esp-idf/pull/1318
2017-12-07 10:17:03 +11:00
robotrovsky
6a51a13b70 Bugfix I_DELAY macro
When compiling

> const ulp_insn_t program[] = {
> I_DELAY(1)
> };

with the xtensa-esp32-elf-g++ compiler i always got the error:

> sorry, unimplemented: non-trivial designated initializers not supported
>
>        };

This was due to the different order in the macro and the struct. The struct has another order of the fields (opcode, unused, cycles) vs (cycles, unused, opcode):
>    struct {
>        uint32_t cycles : 16;       /*!< Number of cycles to sleep */
>        uint32_t unused : 12;       /*!< Unused */
>        uint32_t opcode : 4;        /*!< Opcode (OPCODE_DELAY) */
>    } delay;                        /*!< Format of DELAY instruction */

After updating the order in the macro it is possible to compile with the g++ compiler.

Merges https://github.com/espressif/esp-idf/pull/1310
2017-12-07 10:02:45 +11:00
Jeroen Domburg
dceda4ab39 Merge branch 'feature/ledc_compatibility_definitions' into 'master'
Feature/ledc compatibility definitions

See merge request !1635
2017-12-06 15:48:06 +08:00
Jeroen Domburg
a3cacf1166 Merge branch 'feature/esp32-pico-kit_pin_description' into 'master'
Pin descriptions, overview diagram and board dimensions carried over from ESP32-…

See merge request !1630
2017-12-06 15:48:02 +08:00
Mahavir Jain
2efef48e3e docs: fix i2s code snippet for interrupt flags setting
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2017-12-06 12:05:11 +05:30
wangmengyang
c23af0b5bb component/bt: implement Classic Bluetooth GAP APIs for device and service discovery 2017-12-06 10:52:06 +08:00
krzychb
062cc89abd Pin descriptions, overview diagram and board dimensions carried over from ESP32-PICO-KIT_Datasheet_EN.pdf. The datasheet looks redundant and will not be used. 2017-12-05 22:03:38 +01:00
Jiang Jiang Jian
f32fa0c1e9 Merge branch 'bugfix/tw13918_netconn_delete_memory_leak' into 'master'
memory leak for netconn_delete()

See merge request !1633
2017-12-05 21:20:07 +08:00
Darian Leung
38afa32cfb freertos/fix SMP bug with Idle task clean up
This commit backports vTaskDelete() behavior from FreeRTOS v9.0.0  which
allows for the immediate freeing of task memory if the task being deleted
is not currently running and not pinned to the other core. This commit also
fixes a bug in prvCheckTasksWaitingTermination which prevented the
Idle Task from cleaning up all tasks awaiting deletion. Each iteration of the Idle
Task should traverse the xTasksWaitingTermination list and clean up all tasks
not pinned to the other core. The previous implementation would cause
prvCheckTasksWaitingTermination to return when encountering a task
pinned to the other core whilst traversing the xTasksWaitingTermination list.

The test case for vTaskDelete() has been updated to test for the bugfix and
backported deletion behavior.
2017-12-05 18:13:56 +08:00
zhangyanjiao
210d349fbd when netconn created directly,netconn_delete() will not call netconn_free(),
which will lead to memory leak

Closes https://github.com/espressif/esp-idf/issues/784
2017-12-05 10:42:37 +08:00
Angus Gratton
b9c6175649 Merge branch 'feature/spi_flash_write_verify' into 'master'
spi_flash: Add option to verify all writes by reading back data

See merge request !1355
2017-12-05 05:40:24 +08:00
krzychb
421592a8eb LEDC Driver: Added back original definitions of 'duty_resolution' and 'clock_divider'. This update is to provide backward compatibility with ESP-IDF 2.1. 2017-12-04 21:12:56 +01:00
panfeng
f60fef8136 bugfix: io setting useless when io_num > 32 2017-12-04 17:35:00 +08:00
zhiweijian
c124851048 Component/bt: modify code format and comments 2017-12-04 14:51:42 +08:00
Roman Valls Guimera
a3da93d834 Update cJSON to 1.6.0
* Fixes compilation errors/warnings with gcc 7.2.0

Merges https://github.com/espressif/esp-idf/pull/1163
2017-12-04 10:22:07 +11:00
Roman Valls Guimera
519edc332d Fix compilation errors when using gcc-7.2.0 for the crosstool-ng toolchain
* Change snprintf for strlcat does not complain w/gcc7.2.0 and it is safer, thanks @projectgus
* Use proper quotes for character literals

Merges https://github.com/espressif/esp-idf/pull/1163
2017-12-04 10:18:40 +11:00
Angus Gratton
f7ac41c2da spi_flash: Add option to log warnings if (spuriously) writing zero bits to ones
Won't work for SPIFFS, maybe some other implementations?
2017-12-04 09:55:05 +11:00
Angus Gratton
892b3ff14b spi_flash: Add option to verify all writes by reading back data
Helpful when debugging SPI flash hardware related issues.

TW15203
2017-12-04 09:55:05 +11:00
Angus Gratton
579201bcdc Merge branch 'bugfix/windows_mingw32_gcc' into 'master'
windows: Allow "make menuconfig" to work if ming32 gcc is also installed

See merge request !1587
2017-12-04 06:22:33 +08:00
krzychb
fe1e1e2f8e Review comments implemented 2017-12-01 07:29:54 +01:00
Wangjialin
bf3c41bb92 bugfix(i2c): use queue instead of event group for internal commands
Reported from github:
https://github.com/espressif/esp-idf/issues/1312
https://github.com/espressif/esp-idf/issues/1193

Issues:
1. We used to use event group in the driver, which would cause:
    a. longer operation time since the event group are based on FreeRTOS timer.
    b. Operation fails if the timer queue is not long enough.
2. There might be some issue with event group, we will still try to provide a small test code in other branch.

modification:
1. use queue instead of event-bit for internal commands
2. use queue overwrite for cmd_done event
2017-11-29 12:33:11 +08:00
krzychb
2b010d4bc9 RMT transmitter and receiver overview pictures 2017-11-24 21:33:50 +01:00
He Yin Ling
3ad64bc099 CI: support sepcify docker image tag with bot 2017-11-23 11:31:54 +08:00
Angus Gratton
f41431022b windows: Allow "make menuconfig" to work if ming32 gcc is also installed
Closes https://github.com/espressif/esp-idf/issues/1296
2017-11-23 14:31:04 +11:00
krzychb
cdad1e8382 Implement review comments 2017-11-22 23:33:29 +01:00
krzychb
2ec35f60ca RMT API docs update, new example 2017-11-21 22:34:23 +01:00
Ivan Grokhotkov
c03b068931 spiffs: make OBJ_META_LEN configurable, make mtime support optional
- SPIFFS_OBJ_META_LEN can be set in sdkconfig
- mtime support can be enabled in sdkconfig, if META_LENGTH is sufficient
- add test for mtime updates
2017-11-22 00:17:11 +08:00
luc lebosse
58f046715e Unify the time file creation for SPIFFS and SD 2017-11-21 22:51:36 +08:00
Xie Wen Xiang
7a423392c3 Merge branch 'master' into 'refactor/btdm_spp_client_demo'
# Conflicts:
#   examples/bluetooth/ble_spp_client/main/spp_client_demo.c
2017-11-06 14:38:01 +08:00
xiewenxiang
04a8d32cba component/bt: modify spp client demo for discussion
- check the characteristic properties before write
 - check the db count is equal to SPP_IDX_NB or not
 - modify some other code for discussion
2017-10-27 15:35:31 +08:00
xiewenxiang
d57901cd54 component/bt: refactor spp client demo
- because the GATTC API was modified, the spp client demo was
   refactored
2017-10-27 13:56:48 +08:00
6586 changed files with 870214 additions and 410022 deletions

39
.editorconfig Normal file
View File

@@ -0,0 +1,39 @@
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# http://editorconfig.org
root = true
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[{*.md,*.rst}]
trim_trailing_whitespace = false
[{Makefile,*.mk,*.bat}]
indent_style = tab
indent_size = 2
[*/freertos/**]
indent_style = tab
indent_size = 4
[{*/freertos/**.S,**/FreeRTOSConfig.h}]
indent_style = space
indent_size = 4
[*.pem]
insert_final_newline = false
[*.py]
max_line_length = 119
[{*.cmake,CMakeLists.txt}]
indent_style = space
indent_size = 4
max_line_length = 120

165
.flake8 Normal file
View File

@@ -0,0 +1,165 @@
[flake8]
select =
# Full lists are given in order to suppress all errors from other plugins
# Full list of pyflakes error codes:
F401, # module imported but unused
F402, # import module from line N shadowed by loop variable
F403, # 'from module import *' used; unable to detect undefined names
F404, # future import(s) name after other statements
F405, # name may be undefined, or defined from star imports: module
F406, # 'from module import *' only allowed at module level
F407, # an undefined __future__ feature name was imported
F601, # dictionary key name repeated with different values
F602, # dictionary key variable name repeated with different values
F621, # too many expressions in an assignment with star-unpacking
F622, # two or more starred expressions in an assignment (a, *b, *c = d)
F631, # assertion test is a tuple, which are always True
F701, # a break statement outside of a while or for loop
F702, # a continue statement outside of a while or for loop
F703, # a continue statement in a finally block in a loop
F704, # a yield or yield from statement outside of a function
F705, # a return statement with arguments inside a generator
F706, # a return statement outside of a function/method
F707, # an except: block as not the last exception handler
F721, F722, # doctest syntax error syntax error in forward type annotation
F811, # redefinition of unused name from line N
F812, # list comprehension redefines name from line N
F821, # undefined name name
F822, # undefined name name in __all__
F823, # local variable name referenced before assignment
F831, # duplicate argument name in function definition
F841, # local variable name is assigned to but never used
F901, # raise NotImplemented should be raise NotImplementedError
# Full list of pycodestyle violations:
E101, # indentation contains mixed spaces and tabs
E111, # indentation is not a multiple of four
E112, # expected an indented block
E113, # unexpected indentation
E114, # indentation is not a multiple of four (comment)
E115, # expected an indented block (comment)
E116, # unexpected indentation (comment)
E121, # continuation line under-indented for hanging indent
E122, # continuation line missing indentation or outdented
E123, # closing bracket does not match indentation of opening bracket's line
E124, # closing bracket does not match visual indentation
E125, # continuation line with same indent as next logical line
E126, # continuation line over-indented for hanging indent
E127, # continuation line over-indented for visual indent
E128, # continuation line under-indented for visual indent
E129, # visually indented line with same indent as next logical line
E131, # continuation line unaligned for hanging indent
E133, # closing bracket is missing indentation
E201, # whitespace after '('
E202, # whitespace before ')'
E203, # whitespace before ':'
E211, # whitespace before '('
E221, # multiple spaces before operator
E222, # multiple spaces after operator
E223, # tab before operator
E224, # tab after operator
E225, # missing whitespace around operator
E226, # missing whitespace around arithmetic operator
E227, # missing whitespace around bitwise or shift operator
E228, # missing whitespace around modulo operator
E231, # missing whitespace after ',', ';', or ':'
E241, # multiple spaces after ','
E242, # tab after ','
E251, # unexpected spaces around keyword / parameter equals
E261, # at least two spaces before inline comment
E262, # inline comment should start with '# '
E265, # block comment should start with '# '
E266, # too many leading '#' for block comment
E271, # multiple spaces after keyword
E272, # multiple spaces before keyword
E273, # tab after keyword
E274, # tab before keyword
E275, # missing whitespace after keyword
E301, # expected 1 blank line, found 0
E302, # expected 2 blank lines, found 0
E303, # too many blank lines
E304, # blank lines found after function decorator
E305, # expected 2 blank lines after end of function or class
E306, # expected 1 blank line before a nested definition
E401, # multiple imports on one line
E402, # module level import not at top of file
E501, # line too long (82 > 79 characters)
E502, # the backslash is redundant between brackets
E701, # multiple statements on one line (colon)
E702, # multiple statements on one line (semicolon)
E703, # statement ends with a semicolon
E704, # multiple statements on one line (def)
E711, # comparison to None should be 'if cond is None:'
E712, # comparison to True should be 'if cond is True:' or 'if cond:'
E713, # test for membership should be 'not in'
E714, # test for object identity should be 'is not'
E721, # do not compare types, use 'isinstance()'
E722, # do not use bare except, specify exception instead
E731, # do not assign a lambda expression, use a def
E741, # do not use variables named 'l', 'O', or 'I'
E742, # do not define classes named 'l', 'O', or 'I'
E743, # do not define functions named 'l', 'O', or 'I'
E901, # SyntaxError or IndentationError
E902, # IOError
W191, # indentation contains tabs
W291, # trailing whitespace
W292, # no newline at end of file
W293, # blank line contains whitespace
W391, # blank line at end of file
W503, # line break before binary operator
W504, # line break after binary operator
W505, # doc line too long (82 > 79 characters)
W601, # .has_key() is deprecated, use 'in'
W602, # deprecated form of raising exception
W603, # '<>' is deprecated, use '!='
W604, # backticks are deprecated, use 'repr()'
W605, # invalid escape sequence 'x'
W606, # 'async' and 'await' are reserved keywords starting with Python 3.7
# Full list of flake8 violations
E999, # failed to compile a file into an Abstract Syntax Tree for the plugins that require it
# Full list of mccabe violations
C901 # complexity value provided by the user
ignore =
E221, # multiple spaces before operator
E231, # missing whitespace after ',', ';', or ':'
E241, # multiple spaces after ','
W503, # line break before binary operator
W504 # line break after binary operator
max-line-length = 160
show_source = True
statistics = True
exclude =
.git,
__pycache__,
# submodules
components/bootloader/subproject/components/micro-ecc/micro-ecc,
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/unity/unity,
examples/build_system/cmake/import_lib/main/lib/tinyxml2,
# other third-party libraries
tools/kconfig_new/kconfiglib.py,
tools/kconfig_new/menuconfig.py,
# autogenerated scripts
components/protocomm/python/constants_pb2.py,
components/protocomm/python/sec0_pb2.py,
components/protocomm/python/sec1_pb2.py,
components/protocomm/python/session_pb2.py,
components/wifi_provisioning/python/wifi_scan_pb2.py,
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,

92
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,92 @@
---
name: Bug report
about: ESP-IDF crashes, produces incorrect output, or has incorrect behavior
title: ''
labels: ''
assignees: ''
---
----------------------------- Delete below -----------------------------
**Reminder: If your issue is a general question, starts similar to "How do I..", or is related to 3rd party development kits/libs, please discuss this on our community forum at https://esp32.com instead.**
INSTRUCTIONS
============
Before submitting a new issue, please follow the checklist and try to find the answer.
- [ ] I have read the documentation [ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/) and the issue is not addressed there.
- [ ] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
- [ ] I have searched the issue tracker for a similar issue and not found a similar issue.
If the issue cannot be solved after the steps before, please follow these instructions so we can get the needed information to help you in a quick and effective fashion.
1. Fill in all the fields under **Environment** marked with [ ] by picking the correct option for you in each case and deleting the others.
2. Describe your problem.
3. Include [debug logs from the "monitor" tool](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/idf-monitor.html#automatically-decoding-addresses), or [coredumps](https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/core_dump.html).
4. Providing as much information as possible under **Other items if possible** will help us locate and fix the problem.
5. Use [Markdown](https://guides.github.com/features/mastering-markdown/) (see formatting buttons above) and the Preview tab to check what the issue will look like.
6. Delete these instructions from the above to the below marker lines before submitting this issue.
**IMPORTANT: If you do not follow these instructions and provide the necessary details, your issue may not be resolved.**
----------------------------- Delete above -----------------------------
## Environment
- Development Kit: [ESP32-Wrover-Kit|ESP32-DevKitC|ESP32-PICO-Kit|ESP32-LyraT|ESP32-LyraTD-MSC|none]
- Kit version (for WroverKit/PicoKit/DevKitC): [v1|v2|v3|v4]
- Module or chip used: [ESP32-WROOM-32|ESP32-WROOM-32D|ESP32-WROOM-32U|ESP32-WROVER|ESP32-WROVER-I|ESP32-WROVER-B|ESP32-WROVER-IB|ESP32-SOLO-1|ESP32-PICO-D4|ESP32]
- IDF version (run ``git describe --tags`` to find it):
// v3.2-dev-1148-g96cd3b75c
- Build System: [Make|CMake|idf.py]
- Compiler version (run ``xtensa-esp32-elf-gcc --version`` to find it):
// 1.22.0-80-g6c4433a
- Operating System: [Windows|Linux|macOS]
- (Windows only) environment type: [MSYS2 mingw32|ESP Command Prompt|Plain Command Prompt|PowerShell].
- Using an IDE?: [No|Yes (please give details)]
- Power Supply: [USB|external 5V|external 3.3V|Battery]
## Problem Description
//Detailed problem description goes here.
### Expected Behavior
### Actual Behavior
### Steps to reproduce
1. step1
2. ...
// If possible, attach a picture of your setup/wiring here.
### Code to reproduce this issue
```cpp
// the code should be wrapped in the ```cpp tag so that it will be displayed better.
#include "esp_log.h"
void app_main()
{
}
```
// If your code is longer than 30 lines, [GIST](https://gist.github.com) is preferred.
## Debug Logs
```
Debug log goes here, should contain the backtrace, as well as the reset source if it is a crash.
Please copy the plain text here for us to search the error log. Or attach the complete logs but leave the main part here if the log is *too* long.
```
## Other items if possible
- [ ] sdkconfig file (attach the sdkconfig file from your project folder)
- [ ] elf file in the ``build`` folder (**note this may contain all the code details and symbols of your project.**)
- [ ] coredump (This provides stacks of tasks.)

16
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
blank_issues_enabled: false
contact_links:
- name: ESP-IDF Programming Guide
url: https://docs.espressif.com/projects/esp-idf/en/latest/
about: Documentation for configuring and using ESP-IDF
- name: Espressif documentation page
url: https://www.espressif.com/en/support/download/documents
about: Hardware documentation (datasheets, Technical Reference Manual, etc)
- name: Forum
url: https://esp32.com
about: For questions about using ESP-IDF and/or ESP32 series chips. Please submit all questions starting "How do I..." here.
- name: Hardware-related services
url: https://www.espressif.com/en/products/hardware-services
about: Espressif service providing hardware design and certification support

View File

@@ -0,0 +1,26 @@
---
name: Feature request
about: Suggest an idea for ESP-IDF
title: ''
labels: 'Type: Feature Request'
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
Please give as many details as you can. Include suggestions for useful APIs or interfaces if relevant.
**Additional context**
Add any other context or screenshots about the feature request here.

19
.github/workflows/issue_comment.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
name: Sync issue comments to JIRA
# This workflow will be triggered when new issue comment is created (including PR comments)
on: issue_comment
jobs:
sync_issue_comments_to_jira:
name: Sync Issue Comments to Jira
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Sync issue comments to JIRA
uses: espressif/github-actions/sync_issues_to_jira@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
JIRA_PASS: ${{ secrets.JIRA_PASS }}
JIRA_PROJECT: IDFGH
JIRA_URL: ${{ secrets.JIRA_URL }}
JIRA_USER: ${{ secrets.JIRA_USER }}

19
.github/workflows/new_issues.yml vendored Normal file
View File

@@ -0,0 +1,19 @@
name: Sync issues to Jira
# This workflow will be triggered when a new issue is opened
on: issues
jobs:
sync_issues_to_jira:
name: Sync issues to Jira
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Sync GitHub issues to Jira project
uses: espressif/github-actions/sync_issues_to_jira@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
JIRA_PASS: ${{ secrets.JIRA_PASS }}
JIRA_PROJECT: IDFGH
JIRA_URL: ${{ secrets.JIRA_URL }}
JIRA_USER: ${{ secrets.JIRA_USER }}

24
.github/workflows/new_prs.yml vendored Normal file
View File

@@ -0,0 +1,24 @@
name: Sync remain PRs to Jira
# This workflow will be triggered every hour, to sync remaining PRs (i.e. PRs with zero comment) to Jira project
# Note that, PRs can also get synced when new PR comment is created
on:
schedule:
- cron: "0 * * * *"
jobs:
sync_prs_to_jira:
name: Sync PRs to Jira
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Sync PRs to Jira project
uses: espressif/github-actions/sync_issues_to_jira@master
with:
cron_job: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
JIRA_PASS: ${{ secrets.JIRA_PASS }}
JIRA_PROJECT: IDFGH
JIRA_URL: ${{ secrets.JIRA_URL }}
JIRA_USER: ${{ secrets.JIRA_USER }}

32
.github/workflows/python_lint.yml vendored Normal file
View File

@@ -0,0 +1,32 @@
name: Python CI
# This workflow will be triggered when a PR modifies some python relevant files
on:
pull_request:
paths:
- "**.py"
- "requirements.txt"
jobs:
python_lint:
name: python lint
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [2.7, 3.5, 3.6, 3.7]
steps:
- name: Checkout
uses: actions/checkout@master
- name: Set up Python environment
uses: actions/setup-python@master
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
pip install --upgrade pip
pip install -r requirements.txt
- name: Lint with flake8
run: |
pip install flake8
flake8 . --config=.flake8

52
.gitignore vendored
View File

@@ -18,18 +18,27 @@ GPATH
# eclipse setting
.settings
# MacOS directory files
.DS_Store
# Example project files
examples/**/sdkconfig
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/man/
# 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/doxygen_sqlite3.db
# Downloaded font files
docs/_static/DejaVuSans.ttf
docs/_static/NotoSansSC-Regular.otf
# Unit test app files
tools/unit-test-app/sdkconfig
@@ -38,11 +47,36 @@ tools/unit-test-app/build
tools/unit-test-app/builds
tools/unit-test-app/output
# AWS IoT Examples require device-specific certs/keys
examples/protocols/aws_iot/*/main/certs/*.pem.*
# IDF monitor test
tools/test_idf_monitor/outputs
TEST_LOGS
# gcov coverage reports
*.gcda
*.gcno
coverage.info
coverage_report/
test_multi_heap_host
# VS Code Settings
.vscode/
# VIM files
*.swp
*.swo
# Clion IDE CMake build & config
.idea/
cmake-build-*/
# Results for the checking of the Python coding style and static analysis
.mypy_cache
flake8_output.txt
# ESP-IDF default build directory name
build
# lock files for examples and components
dependencies.lock

File diff suppressed because it is too large Load Diff

82
.gitmodules vendored
View File

@@ -1,35 +1,81 @@
[submodule "components/esp32/lib"]
path = components/esp32/lib
url = https://github.com/espressif/esp32-wifi-lib.git
#
# All the relative URL paths are intended to be GitHub ones
# For Espressif's public projects please use '../../espressif/proj', not a '../proj'
#
[submodule "components/esptool_py/esptool"]
path = components/esptool_py/esptool
url = https://github.com/espressif/esptool.git
url = ../../espressif/esptool.git
[submodule "components/bt/lib"]
path = components/bt/lib
url = https://github.com/espressif/esp32-bt-lib.git
[submodule "components/bt/controller/lib"]
path = components/bt/controller/lib
url = ../../espressif/esp32-bt-lib.git
[submodule "components/micro-ecc/micro-ecc"]
path = components/micro-ecc/micro-ecc
url = https://github.com/kmackay/micro-ecc.git
[submodule "components/bootloader/subproject/components/micro-ecc/micro-ecc"]
path = components/bootloader/subproject/components/micro-ecc/micro-ecc
url = ../../kmackay/micro-ecc.git
[submodule "components/coap/libcoap"]
path = components/coap/libcoap
url = https://github.com/obgm/libcoap.git
[submodule "components/aws_iot/aws-iot-device-sdk-embedded-C"]
path = components/aws_iot/aws-iot-device-sdk-embedded-C
url = https://github.com/espressif/aws-iot-device-sdk-embedded-C.git
url = ../../obgm/libcoap.git
[submodule "components/nghttp/nghttp2"]
path = components/nghttp/nghttp2
url = https://github.com/nghttp2/nghttp2.git
url = ../../nghttp2/nghttp2.git
[submodule "components/libsodium/libsodium"]
path = components/libsodium/libsodium
url = https://github.com/jedisct1/libsodium.git
url = ../../jedisct1/libsodium.git
[submodule "components/spiffs/spiffs"]
path = components/spiffs/spiffs
url = https://github.com/pellepl/spiffs.git
url = ../../pellepl/spiffs.git
[submodule "components/json/cJSON"]
path = components/json/cJSON
url = ../../DaveGamble/cJSON.git
[submodule "components/mbedtls/mbedtls"]
path = components/mbedtls/mbedtls
url = ../../espressif/mbedtls.git
[submodule "components/asio/asio"]
path = components/asio/asio
url = ../../espressif/asio.git
[submodule "components/expat/expat"]
path = components/expat/expat
url = ../../libexpat/libexpat.git
[submodule "components/lwip/lwip"]
path = components/lwip/lwip
url = ../../espressif/esp-lwip.git
[submodule "components/mqtt/esp-mqtt"]
path = components/mqtt/esp-mqtt
url = ../../espressif/esp-mqtt.git
[submodule "components/protobuf-c/protobuf-c"]
path = components/protobuf-c/protobuf-c
url = ../../protobuf-c/protobuf-c.git
[submodule "components/unity/unity"]
path = components/unity/unity
url = ../../ThrowTheSwitch/Unity.git
[submodule "examples/build_system/cmake/import_lib/main/lib/tinyxml2"]
path = examples/build_system/cmake/import_lib/main/lib/tinyxml2
url = ../../leethomason/tinyxml2.git
[submodule "components/bt/host/nimble/nimble"]
path = components/bt/host/nimble/nimble
url = ../../espressif/esp-nimble.git
[submodule "components/cbor/tinycbor"]
path = components/cbor/tinycbor
url = ../../intel/tinycbor.git
[submodule "components/esp_wifi/lib"]
path = components/esp_wifi/lib
url = ../../espressif/esp32-wifi-lib.git

21
.readthedocs.yml Normal file
View File

@@ -0,0 +1,21 @@
# .readthedocs.yml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
# Optionally build your docs in additional formats such as PDF and ePub
formats:
- pdf
# Optionally set the version of Python and requirements required to build your docs
python:
version: 2.7
install:
- requirements: docs/requirements.txt
# We need to list all the submodules included in documenation build by DOxygen
submodules:
include:
- components/mqtt/esp-mqtt

95
CMakeLists.txt Normal file
View File

@@ -0,0 +1,95 @@
cmake_minimum_required(VERSION 3.5)
project(esp-idf C CXX ASM)
unset(compile_options)
unset(c_compile_options)
unset(cxx_compile_options)
unset(compile_definitions)
unset(link_options)
# Add the following build specifications here, since these seem to be dependent
# on config values on the root Kconfig.
if(CONFIG_COMPILER_OPTIMIZATION_SIZE)
list(APPEND compile_options "-Os")
list(APPEND compile_options "-freorder-blocks")
elseif(CONFIG_COMPILER_OPTIMIZATION_DEFAULT)
list(APPEND compile_options "-Og")
elseif(CONFIG_COMPILER_OPTIMIZATION_NONE)
list(APPEND compile_options "-O0")
elseif(CONFIG_COMPILER_OPTIMIZATION_PERF)
list(APPEND compile_options "-O2")
endif()
if(CONFIG_COMPILER_CXX_EXCEPTIONS)
list(APPEND cxx_compile_options "-fexceptions")
else()
list(APPEND cxx_compile_options "-fno-exceptions")
endif()
if(CONFIG_COMPILER_CXX_RTTI)
list(APPEND cxx_compile_options "-frtti")
else()
list(APPEND cxx_compile_options "-fno-rtti")
list(APPEND link_options "-fno-rtti") # used to invoke correct multilib variant (no-rtti) during linking
endif()
if(CONFIG_COMPILER_DISABLE_GCC8_WARNINGS)
list(APPEND compile_options "-Wno-parentheses"
"-Wno-sizeof-pointer-memaccess"
"-Wno-clobbered")
list(APPEND compile_options "-Wno-format-overflow"
"-Wno-stringop-truncation"
"-Wno-misleading-indentation"
"-Wno-cast-function-type"
"-Wno-implicit-fallthrough"
"-Wno-unused-const-variable"
"-Wno-switch-unreachable"
"-Wno-format-truncation"
"-Wno-memset-elt-size"
"-Wno-int-in-bool-context")
endif()
if(CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE)
list(APPEND compile_definitions "-DNDEBUG")
endif()
if(CONFIG_COMPILER_STACK_CHECK_MODE_NORM)
list(APPEND compile_options "-fstack-protector")
elseif(CONFIG_COMPILER_STACK_CHECK_MODE_STRONG)
list(APPEND compile_options "-fstack-protector-strong")
elseif(CONFIG_COMPILER_STACK_CHECK_MODE_ALL)
list(APPEND compile_options "-fstack-protector-all")
endif()
list(APPEND link_options "-fno-lto")
idf_build_set_property(COMPILE_OPTIONS "${compile_options}" APPEND)
idf_build_set_property(C_COMPILE_OPTIONS "${c_compile_options}" APPEND)
idf_build_set_property(CXX_COMPILE_OPTIONS "${cxx_compile_options}" APPEND)
idf_build_set_property(COMPILE_DEFINITIONS "${compile_definitions}" APPEND)
idf_build_set_property(LINK_OPTIONS "${link_options}" APPEND)
idf_build_get_property(build_component_targets __BUILD_COMPONENT_TARGETS)
# Add each component as a subdirectory, processing each component's CMakeLists.txt
foreach(component_target ${build_component_targets})
__component_get_property(dir ${component_target} COMPONENT_DIR)
__component_get_property(_name ${component_target} COMPONENT_NAME)
__component_get_property(prefix ${component_target} __PREFIX)
__component_get_property(alias ${component_target} COMPONENT_ALIAS)
set(COMPONENT_NAME ${_name})
set(COMPONENT_DIR ${dir})
set(COMPONENT_ALIAS ${alias})
set(COMPONENT_PATH ${dir}) # for backward compatibility only, COMPONENT_DIR is preferred
idf_build_get_property(build_prefix __PREFIX)
set(__idf_component_context 1)
if(NOT prefix STREQUAL build_prefix)
add_subdirectory(${dir} ${prefix}_${_name})
else()
add_subdirectory(${dir} ${_name})
endif()
set(__idf_component_context 0)
endforeach()

View File

@@ -25,6 +25,8 @@ Before sending us a Pull Request, please consider this list of points:
* Are comments and documentation written in clear English, with no spelling or grammar errors?
* 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 you're unsure about any of these points, please open the Pull Request anyhow and then ask us for feedback.
@@ -51,5 +53,7 @@ Related Documents
style-guide
documenting-code
add-ons-reference
creating-examples
../api-reference/template
contributor-agreement
contributor-agreement

440
Kconfig
View File

@@ -4,152 +4,350 @@
#
mainmenu "Espressif IoT Development Framework Configuration"
config IDF_CMAKE
bool
option env="IDF_CMAKE"
menu "SDK tool configuration"
config TOOLPREFIX
string "Compiler toolchain path/prefix"
default "xtensa-esp32-elf-"
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.
config IDF_ENV_FPGA
# This option is for internal use only
bool
config PYTHON
string "Python 2 interpreter"
default "python"
help
The executable name/path that is used to run python. On some systems Python 2.x
may need to be invoked as python2.
config IDF_TARGET
# This option records the IDF target when sdkconfig is generated the first time.
# It is not updated if environment variable $IDF_TARGET changes later, and
# the build system is responsible for detecting the mismatch between
# CONFIG_IDF_TARGET and $IDF_TARGET.
string
default "$IDF_TARGET"
config MAKE_WARN_UNDEFINED_VARIABLES
bool "'make' warns on undefined variables"
default "y"
help
Adds --warn-undefined-variables to MAKEFLAGS. This causes make to
print a warning any time an undefined variable is referenced.
config IDF_TARGET_ESP32
bool
default "y" if IDF_TARGET="esp32"
This option helps find places where a variable reference is misspelled
or otherwise missing, but it can be unwanted if you have Makefiles which
depend on undefined variables expanding to an empty string.
config IDF_TARGET_ESP32S2BETA
bool
default "y" if IDF_TARGET="esp32s2beta"
select FREERTOS_UNICORE
endmenu # SDK tool configuration
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 0xFFFF
source "$COMPONENT_KCONFIGS_PROJBUILD"
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
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.
menu "Compiler options"
config SDK_PYTHON
string "Python 2 interpreter"
depends on !IDF_CMAKE
default "python"
help
The executable name/path that is used to run python. On some systems Python 2.x
may need to be invoked as python2.
choice OPTIMIZATION_COMPILER
prompt "Optimization Level"
default OPTIMIZATION_LEVEL_DEBUG
help
This option sets compiler optimization level (gcc -O argument).
(Note: This option is used with the legacy GNU Make build system only.)
- for "Release" setting, -Os flag is added to CFLAGS.
- for "Debug" setting, -Og flag is added to CFLAGS.
config SDK_MAKE_WARN_UNDEFINED_VARIABLES
bool "'make' warns on undefined variables"
depends on !IDF_CMAKE
default "y"
help
Adds --warn-undefined-variables to MAKEFLAGS. This causes make to
print a warning any time an undefined variable is referenced.
"Release" with -Os produces smaller & faster compiled code but it
may be harder to correlated code addresses to source files when debugging.
This option helps find places where a variable reference is misspelled
or otherwise missing, but it can be unwanted if you have Makefiles which
depend on undefined variables expanding to an empty string.
To add custom optimization settings, set CFLAGS and/or CPPFLAGS
in project makefile, before including $(IDF_PATH)/make/project.mk. Note that
custom optimization levels may be unsupported.
(Note: this option is used with the legacy GNU Make build system only.)
config OPTIMIZATION_LEVEL_DEBUG
bool "Debug (-Og)"
config OPTIMIZATION_LEVEL_RELEASE
bool "Release (-Os)"
endchoice
config SDK_TOOLCHAIN_SUPPORTS_TIME_WIDE_64_BITS
bool "Toolchain supports time_t wide 64-bits"
default n
help
Enable this option in case you have a custom toolchain which supports time_t wide 64-bits.
This option checks time_t is 64-bits and disables ROM time functions
to use the time functions from the toolchain instead.
This option allows resolving the Y2K38 problem.
See "Setup Linux Toolchain from Scratch" to build
a custom toolchain which supports 64-bits time_t.
choice OPTIMIZATION_ASSERTION_LEVEL
prompt "Assertion level"
default OPTIMIZATION_ASSERTIONS_ENABLED
help
Assertions can be:
- Enabled. Failure will print verbose assertion details. This is the default.
Note: ESP-IDF does not currently come with any pre-compiled toolchain
that supports 64-bit wide time_t.
This will change in a future major release,
but currently 64-bit time_t requires a custom built toolchain.
- Set to "silent" to save code size (failed assertions will abort() but user
needs to use the aborting address to find the line number with the failed assertion.)
endmenu # SDK tool configuration
- Disabled entirely (not recommended for most configurations.) -DNDEBUG is added
to CPPFLAGS in this case.
menu "Build type"
config OPTIMIZATION_ASSERTIONS_ENABLED
prompt "Enabled"
bool
help
Enable assertions. Assertion content and line number will be printed on failure.
choice APP_BUILD_TYPE
prompt "Application build type"
default APP_BUILD_TYPE_APP_2NDBOOT
help
Select the way the application is built.
config OPTIMIZATION_ASSERTIONS_SILENT
prompt "Silent (saves code size)"
bool
help
Enable silent assertions. Failed assertions will abort(), user needs to
use the aborting address to find the line number with the failed assertion.
By default, the application is built as a binary file in a format compatible with
the ESP32 bootloader. In addition to this application, 2nd stage bootloader is
also built. Application and bootloader binaries can be written into flash and
loaded/executed from there.
config OPTIMIZATION_ASSERTIONS_DISABLED
prompt "Disabled (sets -DNDEBUG)"
bool
help
If assertions are disabled, -DNDEBUG is added to CPPFLAGS.
Another option, useful for only very small and limited applications, is to only link
the .elf file of the application, such that it can be loaded directly into RAM over
JTAG. Note that since IRAM and DRAM sizes are very limited, it is not possible to
build any complex application this way. However for kinds of testing and debugging,
this option may provide faster iterations, since the application does not need to be
written into flash.
Note that at the moment, ESP-IDF does not contain all the startup code required to
initialize the CPUs and ROM memory (data/bss). Therefore it is necessary to execute
a bit of ROM code prior to executing the application. A gdbinit file may look as follows:
endchoice # assertions
# Connect to a running instance of OpenOCD
target remote :3333
# Reset and halt the target
mon reset halt
# Run to a specific point in ROM code,
# where most of initialization is complete.
thb *0x40007901
c
# Load the application into RAM
load
# Run till app_main
tb app_main
c
menuconfig CXX_EXCEPTIONS
bool "Enable C++ exceptions"
default n
help
Enabling this option compiles all IDF C++ files with exception support enabled.
Execute this gdbinit file as follows:
Disabling this option disables C++ exception support in all compiled files, and any libstdc++ code which throws
an exception will abort instead.
xtensa-esp32-elf-gdb build/app-name.elf -x gdbinit
Enabling this option currently adds an additional ~500 bytes of heap overhead
when an exception is thrown in user code for the first time.
Recommended sdkconfig.defaults for building loadable ELF files is as follows.
CONFIG_APP_BUILD_TYPE_ELF_RAM is required, other options help reduce application
memory footprint.
config CXX_EXCEPTIONS_EMG_POOL_SIZE
int "Emergency Pool Size"
default 0
depends on CXX_EXCEPTIONS
help
Size (in bytes) of the emergency memory pool for C++ exceptions. This pool will be used to allocate
memory for thrown exceptions when there is not enough memory on the heap.
choice STACK_CHECK_MODE
prompt "Stack smashing protection mode"
default STACK_CHECK_NONE
help
Stack smashing protection mode. Emit extra code to check for buffer overflows, such as stack
smashing attacks. This is done by adding a guard variable to functions with vulnerable objects.
The guards are initialized when a function is entered and then checked when the function exits.
If a guard check fails, program is halted. Protection has the following modes:
- In NORMAL mode (GCC flag: -fstack-protector) only functions that call alloca, and functions with buffers larger than
8 bytes are protected.
- STRONG mode (GCC flag: -fstack-protector-strong) is like NORMAL, but includes additional functions to be protected -- those that
have local array definitions, or have references to local frame addresses.
- In OVERALL mode (GCC flag: -fstack-protector-all) all functions are protected.
Modes have the following impact on code performance and coverage:
- performance: NORMAL > STRONG > OVERALL
- coverage: NORMAL < STRONG < OVERALL
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_ERR_TO_NAME_LOOKUP=
config STACK_CHECK_NONE
bool "None"
config STACK_CHECK_NORM
bool "Normal"
config STACK_CHECK_STRONG
bool "Strong"
config STACK_CHECK_ALL
bool "Overall"
endchoice
config APP_BUILD_TYPE_APP_2NDBOOT
bool
prompt "Default (binary application + 2nd stage bootloader)"
select APP_BUILD_GENERATE_BINARIES
select APP_BUILD_BOOTLOADER
select APP_BUILD_USE_FLASH_SECTIONS
config STACK_CHECK
bool
default !STACK_CHECK_NONE
help
Stack smashing protection.
config APP_BUILD_TYPE_ELF_RAM
bool
prompt "ELF file, loadable into RAM (EXPERIMENTAL))"
endchoice # APP_BUILD_TYPE
endmenu # Compiler Options
# Hidden options, set according to the choice above
config APP_BUILD_GENERATE_BINARIES
bool # Whether to generate .bin files or not
menu "Component config"
source "$COMPONENT_KCONFIGS"
endmenu
config APP_BUILD_BOOTLOADER
bool # Whether to build the bootloader
config APP_BUILD_USE_FLASH_SECTIONS
bool # Whether to place code/data into memory-mapped flash sections
endmenu # Build type
source "$COMPONENT_KCONFIGS_PROJBUILD_SOURCE_FILE"
menu "Compiler options"
choice COMPILER_OPTIMIZATION
prompt "Optimization Level"
default COMPILER_OPTIMIZATION_DEFAULT
help
This option sets compiler optimization level (gcc -O argument).
- The "Default" setting will add the -0g flag to CFLAGS.
- The "Size" setting will add the -0s flag to CFLAGS.
- The "Performance" setting will add the -O2 flag to CFLAGS.
- The "None" setting will add the -O0 flag to CFLAGS.
The "Size" setting cause the compiled code to be smaller and faster, but
may lead to difficulties of correlating code addresses to source file
lines when debugging.
The "Performance" setting causes the compiled code to be larger and faster,
but will be easier to correlated code addresses to source file lines.
"None" with -O0 produces compiled code without optimization.
Note that custom optimization levels may be unsupported.
config COMPILER_OPTIMIZATION_DEFAULT
bool "Debug (-Og)"
config COMPILER_OPTIMIZATION_SIZE
bool "Optimize for size (-Os)"
config COMPILER_OPTIMIZATION_PERF
bool "Optimize for performance (-O2)"
config COMPILER_OPTIMIZATION_NONE
bool "Debug without optimization (-O0)"
endchoice
choice COMPILER_OPTIMIZATION_ASSERTION_LEVEL
prompt "Assertion level"
default COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE
help
Assertions can be:
- Enabled. Failure will print verbose assertion details. This is the default.
- Set to "silent" to save code size (failed assertions will abort() but user
needs to use the aborting address to find the line number with the failed assertion.)
- Disabled entirely (not recommended for most configurations.) -DNDEBUG is added
to CPPFLAGS in this case.
config COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE
prompt "Enabled"
bool
help
Enable assertions. Assertion content and line number will be printed on failure.
config COMPILER_OPTIMIZATION_ASSERTIONS_SILENT
prompt "Silent (saves code size)"
bool
help
Enable silent assertions. Failed assertions will abort(), user needs to
use the aborting address to find the line number with the failed assertion.
config COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE
prompt "Disabled (sets -DNDEBUG)"
bool
help
If assertions are disabled, -DNDEBUG is added to CPPFLAGS.
endchoice # assertions
menuconfig COMPILER_CXX_EXCEPTIONS
bool "Enable C++ exceptions"
default n
help
Enabling this option compiles all IDF C++ files with exception support enabled.
Disabling this option disables C++ exception support in all compiled files, and any libstdc++ code
which throws an exception will abort instead.
Enabling this option currently adds an additional ~500 bytes of heap overhead
when an exception is thrown in user code for the first time.
config COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE
int "Emergency Pool Size"
default 0
depends on COMPILER_CXX_EXCEPTIONS
help
Size (in bytes) of the emergency memory pool for C++ exceptions. This pool will be used to allocate
memory for thrown exceptions when there is not enough memory on the heap.
config COMPILER_CXX_RTTI
bool "Enable C++ run-time type info (RTTI)"
default n
help
Enabling this option compiles all C++ files with RTTI support enabled.
This increases binary size (typically by tens of kB) but allows using
dynamic_cast conversion and typeid operator.
choice COMPILER_STACK_CHECK_MODE
prompt "Stack smashing protection mode"
default COMPILER_STACK_CHECK_MODE_NONE
help
Stack smashing protection mode. Emit extra code to check for buffer overflows, such as stack
smashing attacks. This is done by adding a guard variable to functions with vulnerable objects.
The guards are initialized when a function is entered and then checked when the function exits.
If a guard check fails, program is halted. Protection has the following modes:
- In NORMAL mode (GCC flag: -fstack-protector) only functions that call alloca, and functions with
buffers larger than 8 bytes are protected.
- STRONG mode (GCC flag: -fstack-protector-strong) is like NORMAL, but includes additional functions
to be protected -- those that have local array definitions, or have references to local frame
addresses.
- In OVERALL mode (GCC flag: -fstack-protector-all) all functions are protected.
Modes have the following impact on code performance and coverage:
- performance: NORMAL > STRONG > OVERALL
- coverage: NORMAL < STRONG < OVERALL
config COMPILER_STACK_CHECK_MODE_NONE
bool "None"
config COMPILER_STACK_CHECK_MODE_NORM
bool "Normal"
config COMPILER_STACK_CHECK_MODE_STRONG
bool "Strong"
config COMPILER_STACK_CHECK_MODE_ALL
bool "Overall"
endchoice
config COMPILER_STACK_CHECK
bool
default !COMPILER_STACK_CHECK_MODE_NONE
help
Stack smashing protection.
config COMPILER_WARN_WRITE_STRINGS
bool "Enable -Wwrite-strings warning flag"
default "n"
help
Adds -Wwrite-strings flag for the C/C++ compilers.
For C, this gives string constants the type ``const char[]`` so that
copying the address of one into a non-const ``char *`` pointer
produces a warning. This warning helps to find at compile time code
that tries to write into a string constant.
For C++, this warns about the deprecated conversion from string
literals to ``char *``.
config COMPILER_DISABLE_GCC8_WARNINGS
bool "Disable new warnings introduced in GCC 6 - 8"
default "n"
help
Enable this option if using GCC 6 or newer, and wanting to disable warnings which don't appear with
GCC 5.
endmenu # Compiler Options
menu "Component config"
source "$COMPONENT_KCONFIGS_SOURCE_FILE"
endmenu
menu "Compatibility options"
config LEGACY_INCLUDE_COMMON_HEADERS
bool "Include headers across components as before IDF v4.0"
default n
help
Soc, esp32, and driver components, the most common
components. Some header of these components are included
implicitly by headers of other components before IDF v4.0.
It's not required for high-level components, but still
included through long header chain everywhere.
This is harmful to the modularity. So it's changed in IDF
v4.0.
You can still include these headers in a legacy way until it
is totally deprecated by enable this option.
endmenu #Compatibility options

View File

@@ -1,28 +1,51 @@
# Espressif IoT Development Framework
[![alt text](https://readthedocs.org/projects/docs/badge/?version=latest "Documentation Status")](https://esp-idf.readthedocs.io/en/latest/?badge=latest)
* [中文版](./README_CN.md)
[![Documentation Status](https://readthedocs.com/projects/espressif-esp-idf/badge/?version=latest)](https://docs.espressif.com/projects/esp-idf/en/latest/?badge=latest)
ESP-IDF is the official development framework for the [ESP32](https://espressif.com/en/products/hardware/esp32/overview) chip.
# Developing With the ESP-IDF
# Developing With ESP-IDF
## Setting Up ESP-IDF
See setup guides for detailed instructions to set up the ESP-IDF:
* [Windows Setup Guide](https://esp-idf.readthedocs.io/en/latest/get-started/windows-setup.html)
* [Mac OS Setup Guide](https://esp-idf.readthedocs.io/en/latest/get-started/macos-setup.html)
* [Linux Setup Guide](https://esp-idf.readthedocs.io/en/latest/get-started/linux-setup.html)
* [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/)
### Non-GitHub forks
ESP-IDF uses relative locations as its submodules URLs ([.gitmodules](.gitmodules)). So they link to GitHub.
If ESP-IDF is forked to a Git repository which is not on GitHub, you will need to run the script
[tools/set-submodules-to-github.sh](tools/set-submodules-to-github.sh) after git clone.
The script sets absolute URLs for all submodules, allowing `git submodule update --init --recursive` to complete.
If cloning ESP-IDF from GitHub, this step is not needed.
## Finding a Project
As well as the [esp-idf-template](https://github.com/espressif/esp-idf-template) project mentioned in the setup guide, ESP-IDF comes with some example projects in the [examples](examples) directory.
As well as the [esp-idf-template](https://github.com/espressif/esp-idf-template) project mentioned in Getting Started, ESP-IDF comes with some example projects in the [examples](examples) directory.
Once you've found the project you want to work with, change to its directory and you can configure and build it.
To start your own project based on an example, copy the example project directory outside of the ESP-IDF directory.
# Quick Reference
See the Getting Started guide links above for a detailed setup guide. This is a quick reference for common commands when working with ESP-IDF projects:
## Setup Build Environment
(See Getting Started guide for a full list of required steps with details.)
* Install host build dependencies mentioned in Getting Started guide.
* Add `tools/` directory to the PATH
* Run `python -m pip install -r requirements.txt` to install Python dependencies
## Configuring the Project
`make menuconfig`
`idf.py menuconfig`
* Opens a text-based configuration menu for the project.
* Use up & down arrow keys to navigate the menu.
@@ -36,82 +59,57 @@ Once done configuring, press Escape multiple times to exit and say "Yes" to save
## Compiling the Project
`make all`
`idf.py build`
... will compile app, bootloader and generate a partition table based on the config.
## Flashing the Project
When `make all` finishes, it will print a command line to use esptool.py to flash the chip. However you can also do this from make by running:
When the build finishes, it will print a command line to use esptool.py to flash the chip. However you can also do this automatically by running:
`make flash`
`idf.py -p PORT flash`
This will flash the entire project (app, bootloader and partition table) to a new chip. The settings for serial port flashing can be configured with `make menuconfig`.
Replace PORT with the name of your serial port (like `COM3` on Windows, `/dev/ttyUSB0` on Linux, or `/dev/cu.usbserial-X` on MacOS. If the `-p` option is left out, `idf.py flash` will try to flash the first available serial port.
You don't need to run `make all` before running `make flash`, `make flash` will automatically rebuild anything which needs it.
This will flash the entire project (app, bootloader and partition table) to a new chip. The settings for serial port flashing can be configured with `idf.py menuconfig`.
You don't need to run `idf.py build` before running `idf.py flash`, `idf.py flash` will automatically rebuild anything which needs it.
## Viewing Serial Output
The `make monitor` target uses the [idf_monitor tool](https://esp-idf.readthedocs.io/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://esp-idf.readthedocs.io/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 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).
Exit the monitor by typing Ctrl-].
To flash and monitor output in one pass, you can run:
To build, flash and monitor output in one pass, you can run:
`make flash monitor`
`idf.py flash monitor`
## Compiling & Flashing Just the App
## Compiling & Flashing Only the App
After the initial flash, you may just want to build and flash just your app, not the bootloader and partition table:
* `make app` - build just the app.
* `make app-flash` - flash just the app.
* `idf.py app` - build just the app.
* `idf.py app-flash` - flash just the app.
`make app-flash` will automatically rebuild the app if it needs it.
`idf.py app-flash` will automatically rebuild the app if any source files have changed.
(In normal development there's no downside to reflashing the bootloader and partition table each time, if they haven't changed.)
## Parallel Builds
ESP-IDF supports compiling multiple files in parallel, so all of the above commands can be run as `make -jN` where `N` is the number of parallel make processes to run (generally N should be equal to or one more than the number of CPU cores in your system.)
Multiple make functions can be combined into one. For example: to build the app & bootloader using 5 jobs in parallel, then flash everything, and then display serial output from the ESP32 run:
```
make -j5 flash monitor
```
## The Partition Table
Once you've compiled your project, the "build" directory will contain a binary file with a name like "my_app.bin". This is an ESP32 image binary that can be loaded by the bootloader.
A single ESP32's flash can contain multiple apps, as well as many different kinds of data (calibration data, filesystems, parameter storage, etc). For this reason a partition table is flashed to offset 0x8000 in the flash.
Each entry in the partition table has a name (label), type (app, data, or something else), subtype and the offset in flash where the partition is loaded.
The simplest way to use the partition table is to `make menuconfig` and choose one of the simple predefined partition tables:
* "Single factory app, no OTA"
* "Factory app, two OTA definitions"
In both cases the factory app is flashed at offset 0x10000. If you `make partition_table` then it will print a summary of the partition table.
For more details about partition tables and how to create custom variations, view the [`docs/api-guides/partition-tables.rst`](docs/api-guides/partition-tables.rst) file.
## Erasing Flash
The `make flash` target does not erase the entire flash contents. However it is sometimes useful to set the device back to a totally erased state, particularly when making partition table changes or OTA app updates. To erase the entire flash, run `make erase_flash`.
The `idf.py flash` target does not erase the entire flash contents. However it is sometimes useful to set the device back to a totally erased state, particularly when making partition table changes or OTA app updates. To erase the entire flash, run `idf.py erase_flash`.
This can be combined with other targets, ie `make erase_flash flash` will erase everything and then re-flash the new app, bootloader and partition table.
This can be combined with other targets, ie `idf.py -p PORT erase_flash flash` will erase everything and then re-flash the new app, bootloader and partition table.
# Resources
* Documentation for the latest version: https://esp-idf.readthedocs.io/. This documentation is built from the [docs directory](docs) of this repository.
* Documentation for the latest version: https://docs.espressif.com/projects/esp-idf/. This documentation is built from the [docs directory](docs) of this repository.
* The [esp32.com forum](https://esp32.com/) is a place to ask questions and find community resources.
* [Check the Issues section on github](https://github.com/espressif/esp-idf/issues) if you find a bug or have a feature request. Please check existing Issues before opening a new one.
* If you're interested in contributing to ESP-IDF, please check the [Contributions Guide](https://esp-idf.readthedocs.io/en/latest/contribute/index.html).
* 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).

112
README_CN.md Normal file
View File

@@ -0,0 +1,112 @@
# Espressif 物联网开发框架
* [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 进行开发
## 搭建 ESP-IDF 开发环境
请参阅如下指南搭建 ESP-IDF 的开发环境:
* [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/)
### 非 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 上克隆得到,则不需要此步骤。
## 寻找项目
除了入门指南中提到的 [esp-idf 模板项目](https://github.com/espressif/esp-idf-template)ESP-IDF 的 [examples](examples) 目录下还带有很多其它示例项目。
一旦找到了需要的项目,便可以进入该目录,执行配置和构建操作。
如果要基于示例工程开始你自己的项目,请将示例工程复制到 ESP-IDF 目录之外。
# 快速参考
详细的使用方法请参考上面入门指南的链接,这里仅仅列举一些 ESP-IDF 项目开发中常用的命令:
## 设置构建环境
(请参考入门指南中列出的详细步骤。)
* 在主机中安装入门指南中提到的构建所依赖的工具。
* 将 ESP-IDF 中的 `tools/` 目录加入 PATH 环境变量中。
* 运行 `python -m pip install -r requirements.txt` 安装 Python 依赖库。
## 配置项目
`idf.py menuconfig`
* 打开项目的文本配置菜单。
* 使用上下键浏览菜单。
* 使用回车键进入子菜单,退出键返回上一级菜单或者退出配置。
* 输入 `?` 查看帮助界面,按下回车键可以退出帮助界面。
* 使用空格键或者 `Y``N` 按键来启用和禁用带复选框“`[*]`”的配置项。
* 高亮某个配置项的同时按下 `?` 键可以显示该选项的帮助文档。
* 输入 `/` 可以搜索指定的配置项。
一旦配置完成,请按下退出键多次以退出配置界面,当提示是否保存新的的配置时,选择 “Yes”。
## 编译项目
`idf.py build`
编译应用程序,引导程序,并根据配置生成分区表。
## 烧写项目
当构建结束,终端会打印出一条命令行,告知如何使用 esptool.py 工具烧写项目到芯片中。但是你还可以运行下面这条命令来自动烧写:
`idf.py -p PORT 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 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).
输入 `Ctrl-]` 可退出监视器。
想要一次性执行构建,烧写和监视,可以运行如下命令:
`idf.py flash monitor`
## 仅编译并烧写应用程序
在第一次烧写过后,你可能只想构建并烧写你的应用程序,不包括引导程序和分区表:
* `idf.py app` - 仅构建应用程序。
* `idf.py app-flash` - 仅烧写应用程序。
`idf.py app-flash` 会自动判断是否有源文件发生了改变而后重新构建应用程序。
(在正常的开发中,即使引导程序和分区表没有发生变化,每次都重新烧写它们并不会带来什么危害。)
## 擦除 Flash
`idf.py flash` 并不会擦除 Flash 上所有的内容,但是有时候我们需要设备恢复到完全擦除的状态,尤其是分区表发生了变化或者 OTA 应用升级。要擦除整块 Flash 请运行 `idf.py erase_flash`
这条命令还可以和其余命令整合在一起,`idf.py -p PORT erase_flash flash` 会擦除一切然后重新烧写新的应用程序,引导程序和分区表。
# 其它参考资源
* 最新版的文档https://docs.espressif.com/projects/esp-idf/ ,该文档是由本仓库 [docs 目录](docs) 构建得到。
* 可以前往 [esp32.com 论坛](https://esp32.com/) 提问,挖掘社区资源。
* 如果你在使用中发现了错误或者需要新的功能,请先[查看 GitHub Issues](https://github.com/espressif/esp-idf/issues),确保该问题不会被重复提交。
* 如果你有兴趣为 ESP-IDF 作贡献,请先阅读[贡献指南](https://docs.espressif.com/projects/esp-idf/en/latest/contribute/index.html)。

68
SUPPORT_POLICY.md Normal file
View File

@@ -0,0 +1,68 @@
The latest support policy for ESP-IDF can be found at [https://github.com/espressif/esp-idf/blob/master/SUPPORT_POLICY.md](https://github.com/espressif/esp-idf/blob/master/SUPPORT_POLICY.md)
Support Period Policy
=====================
* [中文版](./SUPPORT_POLICY_CN.md)
Each ESP-IDF major and minor release (V4.0, V4.1, etc) is supported for
18 months after the initial stable release date.
Supported means that the ESP-IDF team will continue to apply bug fixes,
security fixes, etc to the release branch on GitHub, and periodically
make new bugfix releases as needed.
Users are encouraged to upgrade to a newer ESP-IDF release before the
support period finishes and the release becomes End of Life (EOL). It is
our policy to not continue fixing bugs in End of Life releases.
Pre-release versions (betas, previews, `-rc` and `-dev` versions, etc)
are not covered by any support period. Sometimes a particular feature is
marked as \"Preview\" in a release, which means it is also not covered
by the support period.
The ESP-IDF Programming Guide has information about the
[different versions of ESP-IDF](https://docs.espressif.com/projects/esp-idf/en/latest/versions.html)
(major, minor, bugfix, etc).
Long Term Support releases
--------------------------
Some releases (starting with ESP-IDF V3.3) are designated Long Term
Support (LTS). LTS releases are supported for 30 months (2.5 years)
after the initial stable release date.
A new LTS release will be made at least every 18 months. This means
there will always be a period of at least 12 months to upgrade from the
previous LTS release to the following LTS release.
Example
-------
ESP-IDF V3.3 was released in September 2019 and is a Long Term Support
(LTS) release, meaning it will be supported for 30 months until February
2022.
- The first V3.3 release was `v3.3` in September 2019.
- The ESP-IDF team continues to backport bug fixes, security fixes,
etc to the release branch `release/v3.3`.
- Periodically stable bugfix releases are created from the release
branch. For example `v3.3.1`, `v3.3.2`, etc. Users are encouraged to
always update to the latest bugfix release.
- V3.3 bugfix releases continue until February 2022, when all V3.3.x
releases become End of Life.
Existing Releases
-----------------
ESP-IDF release V3.3 and all newer releases will follow this support
period policy. The support period for each release will be announced
when the release is made.
For releases made before the support period policy was announced,
the following support periods apply:
- ESP-IDF V3.1.x and V3.2.x will both be supported until October 2020.
- ESP-IDF V3.0.9 (planned for October 2019) will be the last V3.0
bugfix release. ESP-IDF V3.0.x is End of Life from October 2019.
- ESP-IDF versions before V3.0 are already End of Life.

43
SUPPORT_POLICY_CN.md Normal file
View File

@@ -0,0 +1,43 @@
有关 ESP-IDF 的最新支持政策,详见 [支持期限政策](./SUPPORT_POLICY_CN.md)。
支持期限政策
=================
* [English Version](./SUPPORT_POLICY.md)
ESP-IDF 的每个主要版本和次要版本(如 V4.0、V4.1 等)自其首次稳定版本发布之日起将维护 18 个月。
维护意味着 ESP-IDF 团队将会对 GitHub 上的发布分支继续进行 bug 修复、安全修补等,并根据需求定期发布新的 bugfix 版本。
在某一版本支持期限结束,停止更新维护 (EOL) 前,建议用户升级到较新的 ESP-IDF 版本。根据《支持期限政策》,我们将停止对 EOL 版本进行 bug 修复。
《支持期限政策》不适用于预发布版本(包括 beta、preview、`-rc``-dev` 版本等)。有时,在发布的版本中存在被标记为 "Preview" 的特定功能,则该功能也不在支持期限内。
有关 [ ESP-IDF 不同版本](https://docs.espressif.com/projects/esp-idf/zh_CN/latest/versions.html)主要版本、次要版本、bugfix 版本等信息可参阅《ESP-IDF 编程指南》。
长期支持版本
------------
有些发布版本(从 ESP-IDF V3.3 开始)属于长期支持 (LTS) 版本。LTS 版本将自其首次稳定版本发布之日起维护 30 个月2.5 年)。
我们将至少每 18 个月发布一个新的 LTS 版本。这意味着将至少有 12 个月的期限可更新至下一个 LTS 版本。
示例
-----
ESP-IDF V3.3 于 2019 年 9 月发布,属于 LTS 版本,将维护 30 个月至 2022 年 2 月停止。
- V3.3 的首个发布版本为 2019 年 9 月发布的 `v3.3`
- ESP-IDF 团队将持续进行 bug 修复、安全修补等更新,并 backport 至分支 `release/v3.3`
- 定期从 release 分支创建稳定的 bugfix 版本,比如,`v3.3.1``v3.3.2` 等,并建议用户保持使用最新的 bugfix 版本。
- V3.3 的 bugfix 版本发布将持续至 2022 年 2 月,届时所有 V3.3.x 将停止更新维护。
现有版本
--------
ESP-IDF V3.3 及所有后续更新版本都将遵守该《支持期限政策》。每一版本发布时将同时公布其支持期限。
对于该政策公布之日前发布的版本,应适用下述支持期限:
- ESP-IDF V3.1.x 和 V3.2.x 将维护至 2020 年 10 月。
- ESP-IDF V3.0.9(计划 2019 年 10 月发布)将是 V3.0 的最后一个 bugfix 版本。ESP-IDF V3.0.x 自 2019 年 10 月起停止更新维护 (EOL)。
- ESP-IDF 中 V3.0 之前的版本均已停止更新维护 (EOL)。

View File

@@ -9,8 +9,11 @@
if [ -z ${IDF_PATH} ]; then
echo "IDF_PATH must be set before including this script."
else
IDF_ADD_PATHS_EXTRAS="${IDF_PATH}/components/esptool_py/esptool:${IDF_PATH}/components/espcoredump:${IDF_PATH}/components/partition_table/"
export PATH="${PATH}:${IDF_ADD_PATHS_EXTRAS}"
IDF_ADD_PATHS_EXTRAS="${IDF_PATH}/components/esptool_py/esptool"
IDF_ADD_PATHS_EXTRAS="${IDF_ADD_PATHS_EXTRAS}:${IDF_PATH}/components/espcoredump"
IDF_ADD_PATHS_EXTRAS="${IDF_ADD_PATHS_EXTRAS}:${IDF_PATH}/components/partition_table/"
IDF_ADD_PATHS_EXTRAS="${IDF_ADD_PATHS_EXTRAS}:${IDF_PATH}/tools/"
export PATH="${IDF_ADD_PATHS_EXTRAS}:${PATH}"
echo "Added to PATH: ${IDF_ADD_PATHS_EXTRAS}"
fi

View File

@@ -0,0 +1,42 @@
set(srcs
"app_trace.c"
"app_trace_util.c"
"host_file_io.c"
"gcov/gcov_rtio.c")
set(include_dirs "include")
if(CONFIG_SYSVIEW_ENABLE)
list(APPEND include_dirs
sys_view/Config
sys_view/SEGGER
sys_view/Sample/OS)
list(APPEND srcs
"sys_view/SEGGER/SEGGER_SYSVIEW.c"
"sys_view/Sample/Config/SEGGER_SYSVIEW_Config_FreeRTOS.c"
"sys_view/Sample/OS/SEGGER_SYSVIEW_FreeRTOS.c"
"sys_view/esp32/SEGGER_RTT_esp32.c"
"sys_view/ext/heap_trace_module.c"
"sys_view/ext/logging.c")
endif()
if(CONFIG_HEAP_TRACING_TOHOST)
list(APPEND srcs "heap_trace_tohost.c")
set_source_files_properties(heap_trace_tohost.c
PROPERTIES COMPILE_FLAGS
-Wno-frame-address)
endif()
idf_component_register(SRCS "${srcs}"
INCLUDE_DIRS "${include_dirs}"
PRIV_REQUIRES soc
LDFRAGMENTS linker.lf)
# disable --coverage for this component, as it is used as transport
# for gcov
target_compile_options(${COMPONENT_LIB} PRIVATE "-fno-profile-arcs" "-fno-test-coverage")
# Force app_trace to also appear later than gcov in link line
idf_component_get_property(app_trace app_trace COMPONENT_LIB)
target_link_libraries(${COMPONENT_LIB} INTERFACE $<TARGET_FILE:${app_trace}> gcov $<TARGET_FILE:${app_trace}> ${LIBC})

View File

@@ -1,189 +1,221 @@
menu "Application Level Tracing"
choice ESP32_APPTRACE_DESTINATION
prompt "Data Destination"
default ESP32_APPTRACE_DEST_NONE
help
Select destination for application trace: trace memory or none (to disable).
choice APPTRACE_DESTINATION
prompt "Data Destination"
default APPTRACE_DEST_NONE
help
Select destination for application trace: trace memory or none (to disable).
config ESP32_APPTRACE_DEST_TRAX
bool "Trace memory"
select ESP32_APPTRACE_ENABLE
config ESP32_APPTRACE_DEST_NONE
bool "None"
endchoice
config APPTRACE_DEST_TRAX
bool "Trace memory"
select APPTRACE_ENABLE
config APPTRACE_DEST_NONE
bool "None"
endchoice
config ESP32_APPTRACE_ENABLE
bool
depends on !ESP32_TRAX
select MEMMAP_TRACEMEM
select MEMMAP_TRACEMEM_TWOBANKS
default n
help
Enables/disable application tracing module.
config APPTRACE_ENABLE
bool
depends on !ESP32_TRAX && !ESP32S2_TRAX
select ESP32_MEMMAP_TRACEMEM
select ESP32S2_MEMMAP_TRACEMEM
select ESP32_MEMMAP_TRACEMEM_TWOBANKS
select ESP32S2_MEMMAP_TRACEMEM_TWOBANKS
default n
help
Enables/disable application tracing module.
config ESP32_APPTRACE_LOCK_ENABLE
bool
default !SYSVIEW_ENABLE
help
Enables/disable application tracing module internal sync lock.
config APPTRACE_LOCK_ENABLE
bool
default !SYSVIEW_ENABLE
help
Enables/disable application tracing module internal sync lock.
config ESP32_APPTRACE_ONPANIC_HOST_FLUSH_TMO
int "Timeout for flushing last trace data to host on panic"
depends on ESP32_APPTRACE_ENABLE
range -1 5000
default -1
help
Timeout for flushing last trace data to host in case of panic. In ms.
Use -1 to disable timeout and wait forever.
config APPTRACE_ONPANIC_HOST_FLUSH_TMO
int "Timeout for flushing last trace data to host on panic"
depends on APPTRACE_ENABLE
range -1 5000
default -1
help
Timeout for flushing last trace data to host in case of panic. In ms.
Use -1 to disable timeout and wait forever.
config ESP32_APPTRACE_POSTMORTEM_FLUSH_TRAX_THRESH
int "Threshold for flushing last trace data to host on panic"
depends on ESP32_APPTRACE_DEST_TRAX
range 0 16384
default 0
help
Threshold for flushing last trace data to host on panic in post-mortem mode.
This is minimal amount of data needed to perform flush. In bytes.
config APPTRACE_POSTMORTEM_FLUSH_THRESH
int "Threshold for flushing last trace data to host on panic"
depends on APPTRACE_DEST_TRAX
range 0 16384
default 0
help
Threshold for flushing last trace data to host on panic in post-mortem mode.
This is minimal amount of data needed to perform flush. In bytes.
config ESP32_APPTRACE_PENDING_DATA_SIZE_MAX
int "Size of the pending data buffer"
depends on ESP32_APPTRACE_DEST_TRAX
default 0
help
Size of the buffer for events in bytes. It is useful for buffering events from
the time critical code (scheduler, ISRs etc). If this parameter is 0 then
events will be discarded when main HW buffer is full.
config APPTRACE_PENDING_DATA_SIZE_MAX
int "Size of the pending data buffer"
depends on APPTRACE_DEST_TRAX
default 0
help
Size of the buffer for events in bytes. It is useful for buffering events from
the time critical code (scheduler, ISRs etc). If this parameter is 0 then
events will be discarded when main HW buffer is full.
menu "FreeRTOS SystemView Tracing"
config SYSVIEW_ENABLE
bool "SystemView Tracing Enable"
depends on ESP32_APPTRACE_ENABLE
default n
help
Enables supporrt for SEGGER SystemView tracing functionality.
menu "FreeRTOS SystemView Tracing"
depends on APPTRACE_ENABLE
config SYSVIEW_ENABLE
bool "SystemView Tracing Enable"
depends on APPTRACE_ENABLE
default n
help
Enables supporrt for SEGGER SystemView tracing functionality.
choice SYSVIEW_TS_SOURCE
prompt "ESP32 timer to use as SystemView timestamp source"
depends on SYSVIEW_ENABLE
default SYSVIEW_TS_SOURCE_TIMER_00
help
SystemView needs to use a hardware timer as the source of timestamps
when tracing
This option selects HW timer for it.
choice SYSVIEW_TS_SOURCE
prompt "Timer to use as timestamp source"
depends on SYSVIEW_ENABLE
default SYSVIEW_TS_SOURCE_CCOUNT if FREERTOS_UNICORE && !PM_ENABLE
default SYSVIEW_TS_SOURCE_TIMER_00 if !FREERTOS_UNICORE && !PM_ENABLE
default SYSVIEW_TS_SOURCE_ESP_TIMER if PM_ENABLE
help
SystemView needs to use a hardware timer as the source of timestamps
when tracing. This option selects the timer for it.
config SYSVIEW_TS_SOURCE_TIMER_00
bool "Timer 0, Group 0"
help
Select this to use timer 0 of group 0
config SYSVIEW_TS_SOURCE_CCOUNT
bool "CPU cycle counter (CCOUNT)"
depends on FREERTOS_UNICORE && !PM_ENABLE
config SYSVIEW_TS_SOURCE_TIMER_01
bool "Timer 1, Group 0"
help
Select this to use timer 1 of group 0
config SYSVIEW_TS_SOURCE_TIMER_00
bool "Timer 0, Group 0"
depends on !PM_ENABLE
config SYSVIEW_TS_SOURCE_TIMER_10
bool "Timer 0, Group 1"
help
Select this to use timer 0 of group 1
config SYSVIEW_TS_SOURCE_TIMER_01
bool "Timer 1, Group 0"
depends on !PM_ENABLE
config SYSVIEW_TS_SOURCE_TIMER_11
bool "Timer 1, Group 1"
help
Select this to use timer 1 of group 1
config SYSVIEW_TS_SOURCE_TIMER_10
bool "Timer 0, Group 1"
depends on !PM_ENABLE
endchoice
config SYSVIEW_TS_SOURCE_TIMER_11
bool "Timer 1, Group 1"
depends on !PM_ENABLE
config SYSVIEW_EVT_OVERFLOW_ENABLE
bool "Trace Buffer Overflow Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Trace Buffer Overflow" event.
config SYSVIEW_TS_SOURCE_ESP_TIMER
bool "esp_timer high resolution timer"
config SYSVIEW_EVT_ISR_ENTER_ENABLE
bool "ISR Enter Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "ISR Enter" event.
endchoice
config SYSVIEW_EVT_ISR_EXIT_ENABLE
bool "ISR Exit Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "ISR Exit" event.
config SYSVIEW_MAX_TASKS
int "Maximum supported tasks"
depends on SYSVIEW_ENABLE
range 1 64
default 16
help
Configures maximum supported tasks in sysview debug
config SYSVIEW_EVT_ISR_TO_SCHEDULER_ENABLE
bool "ISR Exit to Scheduler Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "ISR to Scheduler" event.
config SYSVIEW_BUF_WAIT_TMO
int "Trace buffer wait timeout"
depends on SYSVIEW_ENABLE
default 500
help
Configures timeout (in us) to wait for free space in trace buffer.
Set to -1 to wait forever and avoid lost events.
config SYSVIEW_EVT_TASK_START_EXEC_ENABLE
bool "Task Start Execution Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Task Start Execution" event.
config SYSVIEW_EVT_OVERFLOW_ENABLE
bool "Trace Buffer Overflow Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Trace Buffer Overflow" event.
config SYSVIEW_EVT_TASK_STOP_EXEC_ENABLE
bool "Task Stop Execution Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Task Stop Execution" event.
config SYSVIEW_EVT_ISR_ENTER_ENABLE
bool "ISR Enter Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "ISR Enter" event.
config SYSVIEW_EVT_TASK_START_READY_ENABLE
bool "Task Start Ready State Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Task Start Ready State" event.
config SYSVIEW_EVT_ISR_EXIT_ENABLE
bool "ISR Exit Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "ISR Exit" event.
config SYSVIEW_EVT_TASK_STOP_READY_ENABLE
bool "Task Stop Ready State Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Task Stop Ready State" event.
config SYSVIEW_EVT_ISR_TO_SCHEDULER_ENABLE
bool "ISR Exit to Scheduler Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "ISR to Scheduler" event.
config SYSVIEW_EVT_TASK_CREATE_ENABLE
bool "Task Create Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Task Create" event.
config SYSVIEW_EVT_TASK_START_EXEC_ENABLE
bool "Task Start Execution Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Task Start Execution" event.
config SYSVIEW_EVT_TASK_TERMINATE_ENABLE
bool "Task Terminate Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Task Terminate" event.
config SYSVIEW_EVT_TASK_STOP_EXEC_ENABLE
bool "Task Stop Execution Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Task Stop Execution" event.
config SYSVIEW_EVT_IDLE_ENABLE
bool "System Idle Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "System Idle" event.
config SYSVIEW_EVT_TASK_START_READY_ENABLE
bool "Task Start Ready State Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Task Start Ready State" event.
config SYSVIEW_EVT_TIMER_ENTER_ENABLE
bool "Timer Enter Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Timer Enter" event.
config SYSVIEW_EVT_TASK_STOP_READY_ENABLE
bool "Task Stop Ready State Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Task Stop Ready State" event.
config SYSVIEW_EVT_TIMER_EXIT_ENABLE
bool "Timer Exit Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Timer Exit" event.
config SYSVIEW_EVT_TASK_CREATE_ENABLE
bool "Task Create Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Task Create" event.
config SYSVIEW_EVT_TASK_TERMINATE_ENABLE
bool "Task Terminate Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Task Terminate" event.
config SYSVIEW_EVT_IDLE_ENABLE
bool "System Idle Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "System Idle" event.
config SYSVIEW_EVT_TIMER_ENTER_ENABLE
bool "Timer Enter Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Timer Enter" event.
config SYSVIEW_EVT_TIMER_EXIT_ENABLE
bool "Timer Exit Event"
depends on SYSVIEW_ENABLE
default y
help
Enables "Timer Exit" event.
endmenu
config APPTRACE_GCOV_ENABLE
bool "GCOV to Host Enable"
depends on APPTRACE_ENABLE && !SYSVIEW_ENABLE
select ESP_DEBUG_STUBS_ENABLE
default n
help
Enables support for GCOV data transfer to host.
endmenu
endmenu

View File

@@ -38,7 +38,7 @@
// |<------------------------------------------->|TRAX_CTRL_REGS|<---->|
// ----------------
// In general tracing goes in the following way. User aplication requests tracing module to send some data by calling esp_apptrace_buffer_get(),
// In general tracing goes in the following way. User application requests tracing module to send some data by calling esp_apptrace_buffer_get(),
// module allocates necessary buffer in current input trace block. Then user fills received buffer with data and calls esp_apptrace_buffer_put().
// When current input trace block is filled with app data it is exposed to host and the second block becomes input one and buffer filling restarts.
// While target application fills one TRAX block host reads another one via JTAG.
@@ -62,7 +62,7 @@
// 21..15 bits - trace memory block transfer ID. Block counter. It can overflow. Updated by target, host should not modify it. Actually can be 2 bits;
// 22 bit - 'host data present' flag. If set to one there is data from host, otherwise - no host data;
// 23 bit - 'host connected' flag. If zero then host is not connected and tracing module works in post-mortem mode, otherwise in streaming mode;
// - Status register uses TRAX_TRIGGERPC as storage. If this register is not zero then currentlly CPU is changing TRAX registers and
// - Status register uses TRAX_TRIGGERPC as storage. If this register is not zero then current CPU is changing TRAX registers and
// this register holds address of the instruction which application will execute when it finishes with those registers modifications.
// See 'Targets Connection' setion for details.
@@ -75,11 +75,12 @@
// trace data are necessary, e.g. for analyzing crashes. On panic the latest data from current input block are exposed to host and host can read them.
// It can happen that system panic occurs when there are very small amount of data which are not exposed to host yet (e.g. crash just after the
// TRAX block switch). In this case the previous 16KB of collected data will be dropped and host will see the latest, but very small piece of trace.
// It can be insufficient to diagnose the problem. To avoid such situations there is menuconfig option CONFIG_ESP32_APPTRACE_POSTMORTEM_FLUSH_TRAX_THRESH
// It can be insufficient to diagnose the problem. To avoid such situations there is menuconfig option
// CONFIG_APPTRACE_POSTMORTEM_FLUSH_THRESH
// which controls the threshold for flushing data in case of panic.
// - Streaming mode. Tracing module enters this mode when host connects to target and sets respective bits in control registers (per core).
// In this mode before switching the block tracing module waits for the host to read all the data from the previously exposed block.
// On panic tracing module also waits (timeout is configured via menuconfig via CONFIG_ESP32_APPTRACE_ONPANIC_HOST_FLUSH_TMO) for the host to read all data.
// On panic tracing module also waits (timeout is configured via menuconfig via CONFIG_APPTRACE_ONPANIC_HOST_FLUSH_TMO) for the host to read all data.
// 4. Communication Protocol
// =========================
@@ -87,7 +88,7 @@
// 4.1 Trace Memory Blocks
// -----------------------
// Communication is controlled via special register. Host periodically polls control register on each core to find out if there are any data avalable.
// Communication is controlled via special register. Host periodically polls control register on each core to find out if there are any data available.
// When current input memory block is filled it is exposed to host and 'block_len' and 'block_id' fields are updated in the control register.
// Host reads new register value and according to it's value starts reading data from exposed block. Meanwhile target starts filling another trace block.
// When host finishes reading the block it clears 'block_len' field in control register indicating to the target that it is ready to accept the next one.
@@ -102,9 +103,9 @@
// multithreading environment it can happen that task/ISR which copies data is preempted by another high prio task/ISR. So it is possible situation
// that task/ISR will fail to complete filling its data chunk before the whole trace block is exposed to the host. To handle such conditions tracing
// module prepends all user data chunks with header which contains allocated buffer size and actual data length within it. OpenOCD command
// which reads application traces reports error when it reads incompleted user data block.
// Data which are transfered from host to target are also prepended with a header. Down channel data header is simple and consists of one two bytes field
// containing length of host data following the heder.
// which reads application traces reports error when it reads incomplete user data block.
// Data which are transffered from host to target are also prepended with a header. Down channel data header is simple and consists of one two bytes field
// containing length of host data following the header.
// 4.3 Data Buffering
// ------------------
@@ -113,7 +114,7 @@
// has not completed reading of the previous one yet. So in this case time critical tracing calls (which can not be delayed for too long time due to
// the lack of free memory in TRAX block) can be dropped. To avoid such scenarios tracing module implements data buffering. Buffered data will be sent
// to the host later when TRAX block switch occurs. The maximum size of the buffered data is controlled by menuconfig option
// CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX.
// CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX.
// 4.4 Target Connection/Disconnection
// -----------------------------------
@@ -141,37 +142,37 @@
// So no local task switch occurs when mutex is locked. But this does not apply to tasks on another CPU.
// WARNING: Priority inversion can happen when low prio task works on one CPU and medium and high prio tasks work on another.
// WARNING: Care must be taken when selecting timeout values for trace calls from ISRs. Tracing module does not care about watchdogs when waiting
// on internal locks and for host to complete previous block reading, so if timeout value exceedes watchdog's one it can lead to the system reboot.
// on internal locks and for host to complete previous block reading, so if timeout value exceeds watchdog's one it can lead to the system reboot.
// 6. Timeouts
// ===========
// Timeout mechanism is based on xthal_get_ccount() routine and supports timeout values in micorseconds.
// Timeout mechanism is based on xthal_get_ccount() routine and supports timeout values in microseconds.
// There are two situations when task/ISR can be delayed by tracing API call. Timeout mechanism takes into account both conditions:
// - Trace data are locked by another task/ISR. When wating on trace data lock.
// - Current TRAX memory input block is full when working in streaming mode (host is connected). When waiting for host to complete previous block reading.
// When wating for any of above conditions xthal_get_ccount() is called periodically to calculate time elapsed from trace API routine entry. When elapsed
// time exceeds specified timeout value operation is canceled and ESP_ERR_TIMEOUT code is returned.
// ALSO SEE example usage of application tracing module in 'components/app_trace/README.rst'
#include <string.h>
#include <sys/param.h>
#include "soc/soc.h"
#include "soc/dport_reg.h"
#if CONFIG_IDF_TARGET_ESP32S2BETA
#include "soc/sensitive_reg.h"
#endif
#include "eri.h"
#include "trax.h"
#include "soc/timer_group_struct.h"
#include "soc/timer_group_reg.h"
#include "soc/timer_periph.h"
#include "freertos/FreeRTOS.h"
#include "esp_app_trace.h"
#if CONFIG_ESP32_APPTRACE_ENABLE
#if CONFIG_APPTRACE_ENABLE
#define ESP_APPTRACE_MAX_VPRINTF_ARGS 256
#define ESP_APPTRACE_HOST_BUF_SIZE 256
#define ESP_APPTRACE_PRINT_LOCK 0
#define LOG_LOCAL_LEVEL CONFIG_LOG_DEFAULT_LEVEL
#include "esp_log.h"
const static char *TAG = "esp_apptrace";
@@ -204,10 +205,16 @@ const static char *TAG = "esp_apptrace";
#define ESP_APPTRACE_LOGO( format, ... ) ESP_APPTRACE_LOG_LEV(E, ESP_LOG_NONE, format, ##__VA_ARGS__)
// TODO: move these (and same definitions in trax.c to dport_reg.h)
#if CONFIG_IDF_TARGET_ESP32
#define TRACEMEM_MUX_PROBLK0_APPBLK1 0
#define TRACEMEM_MUX_BLK0_ONLY 1
#define TRACEMEM_MUX_BLK1_ONLY 2
#define TRACEMEM_MUX_PROBLK1_APPBLK0 3
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#define TRACEMEM_MUX_BLK0_NUM 19
#define TRACEMEM_MUX_BLK1_NUM 20
#define TRACEMEM_BLK_NUM2ADDR(_n_) (0x3FFB8000UL + 0x4000UL*((_n_)-4))
#endif
// TRAX is disabled, so we use its registers for our own purposes
// | 31..XXXXXX..24 | 23 .(host_connect). 23 | 22 .(host_data). 22| 21..(block_id)..15 | 14..(block_len)..0 |
@@ -232,10 +239,17 @@ const static char *TAG = "esp_apptrace";
#endif
#define ESP_APPTRACE_USR_BLOCK_RAW_SZ(_s_) ((_s_) + sizeof(esp_tracedata_hdr_t))
#if CONFIG_IDF_TARGET_ESP32
static volatile uint8_t *s_trax_blocks[] = {
(volatile uint8_t *) 0x3FFFC000,
(volatile uint8_t *) 0x3FFF8000
};
#elif CONFIG_IDF_TARGET_ESP32S2BETA
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)
};
#endif
#define ESP_APPTRACE_TRAX_BLOCKS_NUM (sizeof(s_trax_blocks)/sizeof(s_trax_blocks[0]))
@@ -295,17 +309,17 @@ typedef struct {
typedef struct {
volatile esp_apptrace_trax_state_t state; // state
esp_apptrace_mem_block_t blocks[ESP_APPTRACE_TRAX_BLOCKS_NUM]; // memory blocks
#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > 0
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
// ring buffer control struct for pending user blocks
esp_apptrace_rb_t rb_pend;
// storage for pending user blocks
uint8_t pending_data[CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX + 1];
#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
uint8_t pending_data[CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX + 1];
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
// ring buffer control struct for pending user data chunks sizes,
// every chunk contains whole number of user blocks and fit into TRAX memory block
esp_apptrace_rb_t rb_pend_chunk_sz;
// storage for above ring buffer data
uint16_t pending_chunk_sz[CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX/ESP_APPTRACE_TRAX_BLOCK_SIZE + 2];
uint16_t pending_chunk_sz[CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX/ESP_APPTRACE_TRAX_BLOCK_SIZE + 2];
// current (accumulated) pending user data chunk size
uint16_t cur_pending_chunk_sz;
#endif
@@ -335,6 +349,8 @@ typedef struct {
uint8_t *(*get_down_buffer)(uint32_t *, esp_apptrace_tmo_t *);
esp_err_t (*put_down_buffer)(uint8_t *, esp_apptrace_tmo_t *);
bool (*host_is_connected)(void);
esp_err_t (*status_reg_set)(uint32_t val);
esp_err_t (*status_reg_get)(uint32_t *val);
} esp_apptrace_hw_t;
static uint32_t esp_apptrace_trax_down_buffer_write_nolock(uint8_t *data, uint32_t size);
@@ -344,6 +360,8 @@ static esp_err_t esp_apptrace_trax_put_buffer(uint8_t *ptr, esp_apptrace_tmo_t *
static bool esp_apptrace_trax_host_is_connected(void);
static uint8_t *esp_apptrace_trax_down_buffer_get(uint32_t *size, esp_apptrace_tmo_t *tmo);
static esp_err_t esp_apptrace_trax_down_buffer_put(uint8_t *ptr, esp_apptrace_tmo_t *tmo);
static esp_err_t esp_apptrace_trax_status_reg_set(uint32_t val);
static esp_err_t esp_apptrace_trax_status_reg_get(uint32_t *val);
static esp_apptrace_hw_t s_trace_hw[ESP_APPTRACE_HW_MAX] = {
{
@@ -352,11 +370,13 @@ static esp_apptrace_hw_t s_trace_hw[ESP_APPTRACE_HW_MAX] = {
.flush_up_buffer = esp_apptrace_trax_flush,
.get_down_buffer = esp_apptrace_trax_down_buffer_get,
.put_down_buffer = esp_apptrace_trax_down_buffer_put,
.host_is_connected = esp_apptrace_trax_host_is_connected
.host_is_connected = esp_apptrace_trax_host_is_connected,
.status_reg_set = esp_apptrace_trax_status_reg_set,
.status_reg_get = esp_apptrace_trax_status_reg_get
}
};
static inline int esp_apptrace_log_lock()
static inline int esp_apptrace_log_lock(void)
{
#if ESP_APPTRACE_PRINT_LOCK
esp_apptrace_tmo_t tmo;
@@ -368,29 +388,29 @@ static inline int esp_apptrace_log_lock()
#endif
}
static inline void esp_apptrace_log_unlock()
static inline void esp_apptrace_log_unlock(void)
{
#if ESP_APPTRACE_PRINT_LOCK
esp_apptrace_lock_give(&s_log_lock);
#endif
}
static inline esp_err_t esp_apptrace_lock_initialize()
static inline esp_err_t esp_apptrace_lock_initialize(esp_apptrace_lock_t *lock)
{
#if CONFIG_ESP32_APPTRACE_LOCK_ENABLE
esp_apptrace_lock_init(&s_trace_buf.lock);
#if CONFIG_APPTRACE_LOCK_ENABLE
esp_apptrace_lock_init(lock);
#endif
return ESP_OK;
}
static inline esp_err_t esp_apptrace_lock_cleanup()
static inline esp_err_t esp_apptrace_lock_cleanup(void)
{
return ESP_OK;
}
esp_err_t esp_apptrace_lock(esp_apptrace_tmo_t *tmo)
{
#if CONFIG_ESP32_APPTRACE_LOCK_ENABLE
#if CONFIG_APPTRACE_LOCK_ENABLE
esp_err_t ret = esp_apptrace_lock_take(&s_trace_buf.lock, tmo);
if (ret != ESP_OK) {
return ESP_FAIL;
@@ -399,28 +419,41 @@ esp_err_t esp_apptrace_lock(esp_apptrace_tmo_t *tmo)
return ESP_OK;
}
esp_err_t esp_apptrace_unlock()
esp_err_t esp_apptrace_unlock(void)
{
esp_err_t ret = ESP_OK;
#if CONFIG_ESP32_APPTRACE_LOCK_ENABLE
#if CONFIG_APPTRACE_LOCK_ENABLE
ret = esp_apptrace_lock_give(&s_trace_buf.lock);
#endif
return ret;
}
#if CONFIG_ESP32_APPTRACE_DEST_TRAX
static void esp_apptrace_trax_init()
#if CONFIG_APPTRACE_DEST_TRAX
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
DPORT_WRITE_PERI_REG(DPORT_PMS_OCCUPY_3_REG, block_num ? BIT(TRACEMEM_MUX_BLK0_NUM-4) : BIT(TRACEMEM_MUX_BLK1_NUM-4));
#endif
}
static void esp_apptrace_trax_init(void)
{
// Stop trace, if any (on the current CPU)
eri_write(ERI_TRAX_TRAXCTRL, TRAXCTRL_TRSTP);
eri_write(ERI_TRAX_TRAXCTRL, TRAXCTRL_TMEN);
eri_write(ESP_APPTRACE_TRAX_CTRL_REG, ESP_APPTRACE_TRAX_BLOCK_ID(ESP_APPTRACE_TRAX_INBLOCK_START));
// this is for OpenOCD to let him know where stub entries vector is resided
// must be read by host before any transfer using TRAX
eri_write(ESP_APPTRACE_TRAX_STAT_REG, 0);
ESP_APPTRACE_LOGI("Initialized TRAX on CPU%d", xPortGetCoreID());
}
#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
// keep the size of buffered data for copying to TRAX mem block.
// Only whole user blocks should be copied from buffer to TRAX block upon the switch
static void esp_apptrace_trax_pend_chunk_sz_update(uint16_t size)
@@ -443,7 +476,7 @@ static void esp_apptrace_trax_pend_chunk_sz_update(uint16_t size)
}
}
static uint16_t esp_apptrace_trax_pend_chunk_sz_get()
static uint16_t esp_apptrace_trax_pend_chunk_sz_get(void)
{
uint16_t ch_sz;
ESP_APPTRACE_LOGD("Get chunk enter %d w-r-s %d-%d-%d", s_trace_buf.trax.cur_pending_chunk_sz,
@@ -461,7 +494,7 @@ static uint16_t esp_apptrace_trax_pend_chunk_sz_get()
#endif
// assumed to be protected by caller from multi-core/thread access
static esp_err_t esp_apptrace_trax_block_switch()
static esp_err_t esp_apptrace_trax_block_switch(void)
{
int prev_block_num = s_trace_buf.trax.state.in_block % 2;
int new_block_num = prev_block_num ? (0) : (1);
@@ -493,7 +526,7 @@ static esp_err_t esp_apptrace_trax_block_switch()
// switch to new block
s_trace_buf.trax.state.in_block++;
DPORT_WRITE_PERI_REG(DPORT_TRACEMEM_MUX_MODE_REG, new_block_num ? TRACEMEM_MUX_BLK0_ONLY : TRACEMEM_MUX_BLK1_ONLY);
esp_apptrace_trax_select_memory_block(new_block_num);
// handle data from host
esp_hostdata_hdr_t *hdr = (esp_hostdata_hdr_t *)s_trace_buf.trax.blocks[new_block_num].start;
if (ctrl_reg & ESP_APPTRACE_TRAX_HOST_DATA && hdr->block_sz > 0) {
@@ -511,9 +544,9 @@ static esp_err_t esp_apptrace_trax_block_switch()
}
hdr->block_sz = 0;
}
#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > 0
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
// copy pending data to TRAX block if any
#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
uint16_t max_chunk_sz = esp_apptrace_trax_pend_chunk_sz_get();
#else
uint16_t max_chunk_sz = s_trace_buf.trax.blocks[new_block_num].sz;
@@ -521,7 +554,7 @@ static esp_err_t esp_apptrace_trax_block_switch()
while (s_trace_buf.trax.state.markers[new_block_num] < max_chunk_sz) {
uint32_t read_sz = esp_apptrace_rb_read_size_get(&s_trace_buf.trax.rb_pend);
if (read_sz == 0) {
#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
/* theres is a bug: esp_apptrace_trax_pend_chunk_sz_get returned wrong value,
it must be greater or equal to one returned by esp_apptrace_rb_read_size_get */
ESP_APPTRACE_LOGE("No pended bytes, must be > 0 and <= %d!", max_chunk_sz);
@@ -583,11 +616,11 @@ static uint8_t *esp_apptrace_trax_down_buffer_get(uint32_t *size, esp_apptrace_t
while (1) {
uint32_t sz = esp_apptrace_rb_read_size_get(&s_trace_buf.rb_down);
if (sz != 0) {
ptr = esp_apptrace_rb_consume(&s_trace_buf.rb_down, sz > *size ? *size : sz);
*size = MIN(*size, sz);
ptr = esp_apptrace_rb_consume(&s_trace_buf.rb_down, *size);
if (!ptr) {
assert(false && "Failed to consume bytes from down buffer!");
}
*size = sz;
break;
}
// may need to flush
@@ -664,7 +697,7 @@ static inline uint8_t *esp_apptrace_trax_wait4buf(uint16_t size, esp_apptrace_tm
return NULL;
}
// check if we still have pending data
#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > 0
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
if (esp_apptrace_rb_read_size_get(&s_trace_buf.trax.rb_pend) > 0) {
// if after TRAX block switch still have pending data (not all pending data have been pumped to TRAX block)
// alloc new pending buffer
@@ -678,7 +711,7 @@ static inline uint8_t *esp_apptrace_trax_wait4buf(uint16_t size, esp_apptrace_tm
{
// update block pointers
if (ESP_APPTRACE_TRAX_INBLOCK_MARKER() + size > ESP_APPTRACE_TRAX_INBLOCK_GET()->sz) {
#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > 0
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
*pended = 1;
ptr = esp_apptrace_rb_produce(&s_trace_buf.trax.rb_pend, size);
if (ptr == NULL) {
@@ -708,7 +741,7 @@ static uint8_t *esp_apptrace_trax_get_buffer(uint32_t size, esp_apptrace_tmo_t *
return NULL;
}
// check for data in the pending buffer
#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > 0
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
if (esp_apptrace_rb_read_size_get(&s_trace_buf.trax.rb_pend) > 0) {
// if we have buffered data try to switch TRAX block
esp_apptrace_trax_block_switch();
@@ -723,7 +756,7 @@ static uint8_t *esp_apptrace_trax_get_buffer(uint32_t size, esp_apptrace_tmo_t *
buf_ptr = esp_apptrace_trax_wait4buf(ESP_APPTRACE_USR_BLOCK_RAW_SZ(size), tmo, &pended_buf);
if (buf_ptr) {
if (pended_buf) {
#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
esp_apptrace_trax_pend_chunk_sz_update(ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
#endif
} else {
@@ -733,18 +766,18 @@ static uint8_t *esp_apptrace_trax_get_buffer(uint32_t size, esp_apptrace_tmo_t *
}
}
} else {
#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
esp_apptrace_trax_pend_chunk_sz_update(ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
#endif
}
} else
#endif
if (ESP_APPTRACE_TRAX_INBLOCK_MARKER() + ESP_APPTRACE_USR_BLOCK_RAW_SZ(size) > ESP_APPTRACE_TRAX_INBLOCK_GET()->sz) {
#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > 0
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
ESP_APPTRACE_LOGD("TRAX full. Get %d bytes from PEND buffer", size);
buf_ptr = esp_apptrace_rb_produce(&s_trace_buf.trax.rb_pend, ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
if (buf_ptr) {
#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
esp_apptrace_trax_pend_chunk_sz_update(ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
#endif
}
@@ -755,7 +788,7 @@ static uint8_t *esp_apptrace_trax_get_buffer(uint32_t size, esp_apptrace_tmo_t *
buf_ptr = esp_apptrace_trax_wait4buf(ESP_APPTRACE_USR_BLOCK_RAW_SZ(size), tmo, &pended_buf);
if (buf_ptr) {
if (pended_buf) {
#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
esp_apptrace_trax_pend_chunk_sz_update(ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
#endif
} else {
@@ -827,7 +860,19 @@ static bool esp_apptrace_trax_host_is_connected(void)
return eri_read(ESP_APPTRACE_TRAX_CTRL_REG) & ESP_APPTRACE_TRAX_HOST_CONNECT ? true : false;
}
static esp_err_t esp_apptrace_trax_dest_init()
static esp_err_t esp_apptrace_trax_status_reg_set(uint32_t val)
{
eri_write(ESP_APPTRACE_TRAX_STAT_REG, val);
return ESP_OK;
}
static esp_err_t esp_apptrace_trax_status_reg_get(uint32_t *val)
{
*val = eri_read(ESP_APPTRACE_TRAX_STAT_REG);
return ESP_OK;
}
static esp_err_t esp_apptrace_trax_dest_init(void)
{
for (int i = 0; i < ESP_APPTRACE_TRAX_BLOCKS_NUM; i++) {
s_trace_buf.trax.blocks[i].start = (uint8_t *)s_trax_blocks[i];
@@ -835,28 +880,29 @@ static esp_err_t esp_apptrace_trax_dest_init()
s_trace_buf.trax.state.markers[i] = 0;
}
s_trace_buf.trax.state.in_block = ESP_APPTRACE_TRAX_INBLOCK_START;
#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > 0
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
esp_apptrace_rb_init(&s_trace_buf.trax.rb_pend, s_trace_buf.trax.pending_data,
sizeof(s_trace_buf.trax.pending_data));
#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
s_trace_buf.trax.cur_pending_chunk_sz = 0;
esp_apptrace_rb_init(&s_trace_buf.trax.rb_pend_chunk_sz, (uint8_t *)s_trace_buf.trax.pending_chunk_sz,
sizeof(s_trace_buf.trax.pending_chunk_sz));
#endif
#endif
#if CONFIG_IDF_TARGET_ESP32
DPORT_WRITE_PERI_REG(DPORT_PRO_TRACEMEM_ENA_REG, DPORT_PRO_TRACEMEM_ENA_M);
#if CONFIG_FREERTOS_UNICORE == 0
DPORT_WRITE_PERI_REG(DPORT_APP_TRACEMEM_ENA_REG, DPORT_APP_TRACEMEM_ENA_M);
#endif
// Expose block 1 to host, block 0 is current trace input buffer
DPORT_WRITE_PERI_REG(DPORT_TRACEMEM_MUX_MODE_REG, TRACEMEM_MUX_BLK1_ONLY);
#endif
esp_apptrace_trax_select_memory_block(0);
return ESP_OK;
}
#endif
esp_err_t esp_apptrace_init()
esp_err_t esp_apptrace_init(void)
{
int res;
@@ -869,7 +915,7 @@ esp_err_t esp_apptrace_init()
ESP_APPTRACE_LOGE("Failed to init log lock (%d)!", res);
return res;
}
#if CONFIG_ESP32_APPTRACE_DEST_TRAX
#if CONFIG_APPTRACE_DEST_TRAX
res = esp_apptrace_trax_dest_init();
if (res != ESP_OK) {
ESP_APPTRACE_LOGE("Failed to init TRAX dest data (%d)!", res);
@@ -879,7 +925,7 @@ esp_err_t esp_apptrace_init()
#endif
}
#if CONFIG_ESP32_APPTRACE_DEST_TRAX
#if CONFIG_APPTRACE_DEST_TRAX
// init TRAX on this CPU
esp_apptrace_trax_init();
#endif
@@ -901,7 +947,7 @@ esp_err_t esp_apptrace_read(esp_apptrace_dest_t dest, void *buf, uint32_t *size,
esp_apptrace_hw_t *hw = NULL;
if (dest == ESP_APPTRACE_DEST_TRAX) {
#if CONFIG_ESP32_APPTRACE_DEST_TRAX
#if CONFIG_APPTRACE_DEST_TRAX
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
#else
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
@@ -911,6 +957,9 @@ esp_err_t esp_apptrace_read(esp_apptrace_dest_t dest, void *buf, uint32_t *size,
ESP_APPTRACE_LOGE("Trace destinations other then TRAX are not supported yet!");
return ESP_ERR_NOT_SUPPORTED;
}
if (buf == NULL || size == NULL || *size == 0) {
return ESP_ERR_INVALID_ARG;
}
//TODO: callback system
esp_apptrace_tmo_init(&tmo, user_tmo);
@@ -935,7 +984,7 @@ uint8_t *esp_apptrace_down_buffer_get(esp_apptrace_dest_t dest, uint32_t *size,
esp_apptrace_hw_t *hw = NULL;
if (dest == ESP_APPTRACE_DEST_TRAX) {
#if CONFIG_ESP32_APPTRACE_DEST_TRAX
#if CONFIG_APPTRACE_DEST_TRAX
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
#else
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
@@ -945,8 +994,10 @@ uint8_t *esp_apptrace_down_buffer_get(esp_apptrace_dest_t dest, uint32_t *size,
ESP_APPTRACE_LOGE("Trace destinations other then TRAX are not supported yet!");
return NULL;
}
if (size == NULL || *size == 0) {
return NULL;
}
// ESP_APPTRACE_LOGE("esp_apptrace_down_buffer_get %d", *size);
esp_apptrace_tmo_init(&tmo, user_tmo);
return hw->get_down_buffer(size, &tmo);
}
@@ -957,7 +1008,7 @@ esp_err_t esp_apptrace_down_buffer_put(esp_apptrace_dest_t dest, uint8_t *ptr, u
esp_apptrace_hw_t *hw = NULL;
if (dest == ESP_APPTRACE_DEST_TRAX) {
#if CONFIG_ESP32_APPTRACE_DEST_TRAX
#if CONFIG_APPTRACE_DEST_TRAX
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
#else
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
@@ -967,6 +1018,9 @@ esp_err_t esp_apptrace_down_buffer_put(esp_apptrace_dest_t dest, uint8_t *ptr, u
ESP_APPTRACE_LOGE("Trace destinations other then TRAX are not supported yet!");
return ESP_ERR_NOT_SUPPORTED;
}
if (ptr == NULL) {
return ESP_ERR_INVALID_ARG;
}
esp_apptrace_tmo_init(&tmo, user_tmo);
return hw->put_down_buffer(ptr, &tmo);
@@ -979,7 +1033,7 @@ esp_err_t esp_apptrace_write(esp_apptrace_dest_t dest, const void *data, uint32_
esp_apptrace_hw_t *hw = NULL;
if (dest == ESP_APPTRACE_DEST_TRAX) {
#if CONFIG_ESP32_APPTRACE_DEST_TRAX
#if CONFIG_APPTRACE_DEST_TRAX
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
#else
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
@@ -989,6 +1043,9 @@ esp_err_t esp_apptrace_write(esp_apptrace_dest_t dest, const void *data, uint32_
ESP_APPTRACE_LOGE("Trace destinations other then TRAX are not supported yet!");
return ESP_ERR_NOT_SUPPORTED;
}
if (data == NULL || size == 0) {
return ESP_ERR_INVALID_ARG;
}
esp_apptrace_tmo_init(&tmo, user_tmo);
ptr = hw->get_up_buffer(size, &tmo);
@@ -1012,7 +1069,7 @@ int esp_apptrace_vprintf_to(esp_apptrace_dest_t dest, uint32_t user_tmo, const c
esp_apptrace_hw_t *hw = NULL;
if (dest == ESP_APPTRACE_DEST_TRAX) {
#if CONFIG_ESP32_APPTRACE_DEST_TRAX
#if CONFIG_APPTRACE_DEST_TRAX
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
#else
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
@@ -1022,6 +1079,9 @@ int esp_apptrace_vprintf_to(esp_apptrace_dest_t dest, uint32_t user_tmo, const c
ESP_APPTRACE_LOGE("Trace destinations other then TRAX are not supported yet!");
return ESP_ERR_NOT_SUPPORTED;
}
if (fmt == NULL) {
return ESP_ERR_INVALID_ARG;
}
esp_apptrace_tmo_init(&tmo, user_tmo);
ESP_APPTRACE_LOGD("fmt %x", fmt);
@@ -1073,7 +1133,7 @@ uint8_t *esp_apptrace_buffer_get(esp_apptrace_dest_t dest, uint32_t size, uint32
esp_apptrace_hw_t *hw = NULL;
if (dest == ESP_APPTRACE_DEST_TRAX) {
#if CONFIG_ESP32_APPTRACE_DEST_TRAX
#if CONFIG_APPTRACE_DEST_TRAX
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
#else
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
@@ -1083,6 +1143,9 @@ uint8_t *esp_apptrace_buffer_get(esp_apptrace_dest_t dest, uint32_t size, uint32
ESP_APPTRACE_LOGE("Trace destinations other then TRAX are not supported yet!");
return NULL;
}
if (size == 0) {
return NULL;
}
esp_apptrace_tmo_init(&tmo, user_tmo);
return hw->get_up_buffer(size, &tmo);
@@ -1094,7 +1157,7 @@ esp_err_t esp_apptrace_buffer_put(esp_apptrace_dest_t dest, uint8_t *ptr, uint32
esp_apptrace_hw_t *hw = NULL;
if (dest == ESP_APPTRACE_DEST_TRAX) {
#if CONFIG_ESP32_APPTRACE_DEST_TRAX
#if CONFIG_APPTRACE_DEST_TRAX
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
#else
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
@@ -1104,6 +1167,9 @@ esp_err_t esp_apptrace_buffer_put(esp_apptrace_dest_t dest, uint8_t *ptr, uint32
ESP_APPTRACE_LOGE("Trace destinations other then TRAX are not supported yet!");
return ESP_ERR_NOT_SUPPORTED;
}
if (ptr == NULL) {
return ESP_ERR_INVALID_ARG;
}
esp_apptrace_tmo_init(&tmo, user_tmo);
return hw->put_up_buffer(ptr, &tmo);
@@ -1115,7 +1181,7 @@ esp_err_t esp_apptrace_flush_nolock(esp_apptrace_dest_t dest, uint32_t min_sz, u
esp_apptrace_hw_t *hw = NULL;
if (dest == ESP_APPTRACE_DEST_TRAX) {
#if CONFIG_ESP32_APPTRACE_DEST_TRAX
#if CONFIG_APPTRACE_DEST_TRAX
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
#else
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
@@ -1159,7 +1225,25 @@ bool esp_apptrace_host_is_connected(esp_apptrace_dest_t dest)
esp_apptrace_hw_t *hw = NULL;
if (dest == ESP_APPTRACE_DEST_TRAX) {
#if CONFIG_ESP32_APPTRACE_DEST_TRAX
#if CONFIG_APPTRACE_DEST_TRAX
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
#else
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
return false;
#endif
} else {
ESP_APPTRACE_LOGE("Trace destinations other then TRAX are not supported yet!");
return false;
}
return hw->host_is_connected();
}
esp_err_t esp_apptrace_status_reg_set(esp_apptrace_dest_t dest, uint32_t val)
{
esp_apptrace_hw_t *hw = NULL;
if (dest == ESP_APPTRACE_DEST_TRAX) {
#if CONFIG_APPTRACE_DEST_TRAX
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
#else
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
@@ -1169,7 +1253,25 @@ bool esp_apptrace_host_is_connected(esp_apptrace_dest_t dest)
ESP_APPTRACE_LOGE("Trace destinations other then TRAX are not supported yet!");
return ESP_ERR_NOT_SUPPORTED;
}
return hw->host_is_connected();
return hw->status_reg_set(val);
}
esp_err_t esp_apptrace_status_reg_get(esp_apptrace_dest_t dest, uint32_t *val)
{
esp_apptrace_hw_t *hw = NULL;
if (dest == ESP_APPTRACE_DEST_TRAX) {
#if CONFIG_APPTRACE_DEST_TRAX
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
#else
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
return ESP_ERR_NOT_SUPPORTED;
#endif
} else {
ESP_APPTRACE_LOGE("Trace destinations other then TRAX are not supported yet!");
return ESP_ERR_NOT_SUPPORTED;
}
return hw->status_reg_get(val);
}
#endif

View File

@@ -15,7 +15,12 @@
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_app_trace_util.h"
#include "esp_clk.h"
#include "sdkconfig.h"
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/clk.h"
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#include "esp32s2beta/clk.h"
#endif
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////// TIMEOUT /////////////////////////////////////

View File

@@ -23,7 +23,10 @@ COMPONENT_SRCDIRS += \
sys_view/SEGGER \
sys_view/Sample/OS \
sys_view/Sample/Config \
sys_view/esp32
sys_view/esp32 \
sys_view/ext
else
COMPONENT_SRCDIRS += gcov
endif
COMPONENT_ADD_LDFRAGMENTS += linker.lf

View File

@@ -14,80 +14,179 @@
// This module implements runtime file I/O API for GCOV.
#include <string.h>
#include "esp_task_wdt.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/semphr.h"
#include "soc/cpu.h"
#include "soc/timer_group_struct.h"
#include "soc/timer_group_reg.h"
#include "soc/timer_periph.h"
#include "esp_app_trace.h"
#include "esp_private/dbg_stubs.h"
#include "hal/timer_ll.h"
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/libc_stubs.h"
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#include "esp32s2beta/rom/libc_stubs.h"
#endif
#if CONFIG_ESP32_APPTRACE_ENABLE
#if CONFIG_APPTRACE_GCOV_ENABLE
#define ESP_GCOV_DOWN_BUF_SIZE 4200
#define LOG_LOCAL_LEVEL CONFIG_LOG_DEFAULT_LEVEL
#include "esp_log.h"
const static char *TAG = "esp_gcov_rtio";
static void (*s_gcov_exit)(void);
static uint8_t s_gcov_down_buf[256];
extern void __gcov_dump(void);
extern void __gcov_reset(void);
void esp_gcov_dump()
static struct syscall_stub_table s_gcov_stub_table;
static int gcov_stub_lock_try_acquire_recursive(_lock_t *lock)
{
#if CONFIG_FREERTOS_UNICORE == 0
esp_cpu_stall(!xPortGetCoreID());
#endif
while (!esp_apptrace_host_is_connected(ESP_APPTRACE_DEST_TRAX)) {
// to avoid complains that task watchdog got triggered for other tasks
TIMERG0.wdt_wprotect=TIMG_WDT_WKEY_VALUE;
TIMERG0.wdt_feed=1;
TIMERG0.wdt_wprotect=0;
// to avoid reboot on INT_WDT
TIMERG1.wdt_wprotect=TIMG_WDT_WKEY_VALUE;
TIMERG1.wdt_feed=1;
TIMERG1.wdt_wprotect=0;
}
if (s_gcov_exit) {
esp_apptrace_down_buffer_config(s_gcov_down_buf, sizeof(s_gcov_down_buf));
s_gcov_exit();
}
int ret = esp_apptrace_fstop(ESP_APPTRACE_DEST_TRAX);
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to send files transfer stop cmd (%d)!\n", ret);
if (*lock && uxSemaphoreGetCount((xSemaphoreHandle)(*lock)) == 0) {
// we can do nothing here, gcov dump is initiated with some resource locked
// which is also used by gcov functions
ESP_EARLY_LOGE(TAG, "Lock 0x%x is busy during GCOV dump! System state can be inconsistent after dump!", lock);
}
return pdTRUE;
}
int gcov_rtio_atexit(void (*function)(void))
static void gcov_stub_lock_acquire_recursive(_lock_t *lock)
{
s_gcov_exit = function;
gcov_stub_lock_try_acquire_recursive(lock);
}
static void gcov_stub_lock_release_recursive(_lock_t *lock)
{
}
static int esp_dbg_stub_gcov_dump_do(void)
{
int ret = ESP_OK;
FILE* old_stderr = stderr;
FILE* old_stdout = stdout;
struct syscall_stub_table* old_table = syscall_table_ptr_pro;
ESP_EARLY_LOGV(TAG, "Alloc apptrace down buf %d bytes", ESP_GCOV_DOWN_BUF_SIZE);
void *down_buf = malloc(ESP_GCOV_DOWN_BUF_SIZE);
if (down_buf == NULL) {
ESP_EARLY_LOGE(TAG, "Could not allocate memory for the buffer");
return ESP_ERR_NO_MEM;
}
ESP_EARLY_LOGV(TAG, "Config apptrace down buf");
esp_apptrace_down_buffer_config(down_buf, ESP_GCOV_DOWN_BUF_SIZE);
ESP_EARLY_LOGV(TAG, "Dump data...");
// incase of dual-core chip APP and PRO CPUs share the same table, so it is safe to save only PRO's table
memcpy(&s_gcov_stub_table, old_table, sizeof(s_gcov_stub_table));
s_gcov_stub_table._lock_acquire_recursive = &gcov_stub_lock_acquire_recursive;
s_gcov_stub_table._lock_release_recursive = &gcov_stub_lock_release_recursive;
s_gcov_stub_table._lock_try_acquire_recursive = &gcov_stub_lock_try_acquire_recursive,
syscall_table_ptr_pro = &s_gcov_stub_table;
stderr = (FILE*) &__sf_fake_stderr;
stdout = (FILE*) &__sf_fake_stdout;
__gcov_dump();
// reset dump status to allow incremental data accumulation
__gcov_reset();
stdout = old_stdout;
stderr = old_stderr;
syscall_table_ptr_pro = old_table;
ESP_EARLY_LOGV(TAG, "Free apptrace down buf");
free(down_buf);
ESP_EARLY_LOGV(TAG, "Finish file transfer session");
ret = esp_apptrace_fstop(ESP_APPTRACE_DEST_TRAX);
if (ret != ESP_OK) {
ESP_EARLY_LOGE(TAG, "Failed to send files transfer stop cmd (%d)!", ret);
}
return ret;
}
/**
* @brief Triggers gcov info dump.
* This function is to be called by OpenOCD, not by normal user code.
* TODO: what about interrupted flash access (when cache disabled)???
*
* @return ESP_OK on success, otherwise see esp_err_t
*/
static int esp_dbg_stub_gcov_entry(void)
{
return esp_dbg_stub_gcov_dump_do();
}
int gcov_rtio_atexit(void (*function)(void) __attribute__ ((unused)))
{
ESP_EARLY_LOGV(TAG, "%s", __FUNCTION__);
esp_dbg_stub_entry_set(ESP_DBG_STUB_ENTRY_GCOV, (uint32_t)&esp_dbg_stub_gcov_entry);
return 0;
}
void esp_gcov_dump(void)
{
// disable IRQs on this CPU, other CPU is halted by OpenOCD
unsigned irq_state = portENTER_CRITICAL_NESTED();
#if !CONFIG_FREERTOS_UNICORE
int other_core = xPortGetCoreID() ? 0 : 1;
esp_cpu_stall(other_core);
#endif
while (!esp_apptrace_host_is_connected(ESP_APPTRACE_DEST_TRAX)) {
// to avoid complains that task watchdog got triggered for other tasks
timer_ll_wdt_set_protect(&TIMERG0, false);
timer_ll_wdt_feed(&TIMERG0);
timer_ll_wdt_set_protect(&TIMERG0, true);
// to avoid reboot on INT_WDT
timer_ll_wdt_set_protect(&TIMERG1, false);
timer_ll_wdt_feed(&TIMERG1);
timer_ll_wdt_set_protect(&TIMERG1, true);
}
esp_dbg_stub_gcov_dump_do();
#if !CONFIG_FREERTOS_UNICORE
esp_cpu_unstall(other_core);
#endif
portEXIT_CRITICAL_NESTED(irq_state);
}
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);
}
int gcov_rtio_fclose(void *stream)
{
ESP_EARLY_LOGV(TAG, "%s", __FUNCTION__);
return esp_apptrace_fclose(ESP_APPTRACE_DEST_TRAX, stream);
}
size_t gcov_rtio_fread(void *ptr, size_t size, size_t nmemb, void *stream)
{
ESP_EARLY_LOGV(TAG, "%s read %u", __FUNCTION__, size*nmemb);
size_t sz = esp_apptrace_fread(ESP_APPTRACE_DEST_TRAX, ptr, size, nmemb, stream);
ESP_EARLY_LOGV(TAG, "%s actually read %u", __FUNCTION__, sz);
return sz;
}
size_t gcov_rtio_fwrite(const void *ptr, size_t size, size_t nmemb, void *stream)
{
ESP_EARLY_LOGV(TAG, "%s", __FUNCTION__);
return esp_apptrace_fwrite(ESP_APPTRACE_DEST_TRAX, ptr, size, nmemb, stream);
}
int gcov_rtio_fseek(void *stream, long offset, int whence)
{
return esp_apptrace_fseek(ESP_APPTRACE_DEST_TRAX, stream, offset, whence);
int ret = esp_apptrace_fseek(ESP_APPTRACE_DEST_TRAX, stream, offset, whence);
ESP_EARLY_LOGV(TAG, "%s(%p %ld %d) = %d", __FUNCTION__, stream, offset, whence, ret);
return ret;
}
long gcov_rtio_ftell(void *stream)
{
return esp_apptrace_ftell(ESP_APPTRACE_DEST_TRAX, stream);
long ret = esp_apptrace_ftell(ESP_APPTRACE_DEST_TRAX, stream);
ESP_EARLY_LOGV(TAG, "%s(%p) = %ld", __FUNCTION__, stream, ret);
return ret;
}
#endif

View File

@@ -0,0 +1,114 @@
// Copyright 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 <sdkconfig.h>
#define HEAP_TRACE_SRCFILE /* don't warn on inclusion here */
#include "esp_heap_trace.h"
#undef HEAP_TRACE_SRCFILE
#if CONFIG_SYSVIEW_ENABLE
#include "esp_app_trace.h"
#include "esp_sysview_trace.h"
#endif
#define STACK_DEPTH CONFIG_HEAP_TRACING_STACK_DEPTH
#ifdef CONFIG_HEAP_TRACING_TOHOST
#if !CONFIG_SYSVIEW_ENABLE
#error None of the heap tracing backends is enabled! You must enable SystemView compatible tracing to use this feature.
#endif
static bool s_tracing;
esp_err_t heap_trace_init_tohost(void)
{
if (s_tracing) {
return ESP_ERR_INVALID_STATE;
}
return ESP_OK;
}
esp_err_t heap_trace_start(heap_trace_mode_t mode_param)
{
#if CONFIG_SYSVIEW_ENABLE
esp_err_t ret = esp_sysview_heap_trace_start((uint32_t)-1);
if (ret != ESP_OK) {
return ret;
}
#endif
s_tracing = true;
return ESP_OK;
}
esp_err_t heap_trace_stop(void)
{
esp_err_t ret = ESP_ERR_NOT_SUPPORTED;
#if CONFIG_SYSVIEW_ENABLE
ret = esp_sysview_heap_trace_stop();
#endif
s_tracing = false;
return ret;
}
esp_err_t heap_trace_resume(void)
{
return heap_trace_start(HEAP_TRACE_ALL);
}
size_t heap_trace_get_count(void)
{
return 0;
}
esp_err_t heap_trace_get(size_t index, heap_trace_record_t *record)
{
return ESP_ERR_NOT_SUPPORTED;
}
void heap_trace_dump(void)
{
return;
}
/* Add a new allocation to the heap trace records */
static IRAM_ATTR void record_allocation(const heap_trace_record_t *record)
{
if (!s_tracing) {
return;
}
#if CONFIG_SYSVIEW_ENABLE
esp_sysview_heap_trace_alloc(record->address, record->size, record->alloced_by);
#endif
}
/* record a free event in the heap trace log
For HEAP_TRACE_ALL, this means filling in the freed_by pointer.
For HEAP_TRACE_LEAKS, this means removing the record from the log.
*/
static IRAM_ATTR void record_free(void *p, void **callers)
{
if (!s_tracing) {
return;
}
#if CONFIG_SYSVIEW_ENABLE
esp_sysview_heap_trace_free(p, callers);
#endif
}
#include "heap_trace.inc"
#endif /*CONFIG_HEAP_TRACING_TOHOST*/

View File

@@ -25,7 +25,7 @@
#include <string.h>
#include "esp_app_trace.h"
#if CONFIG_ESP32_APPTRACE_ENABLE
#if CONFIG_APPTRACE_ENABLE
#define LOG_LOCAL_LEVEL CONFIG_LOG_DEFAULT_LEVEL
#include "esp_log.h"
@@ -87,6 +87,7 @@ static esp_err_t esp_apptrace_file_cmd_send(esp_apptrace_dest_t dest, uint8_t cm
esp_err_t ret;
esp_apptrace_fcmd_hdr_t *hdr;
ESP_EARLY_LOGV(TAG, "%s %d", __func__, cmd);
uint8_t *ptr = esp_apptrace_buffer_get(dest, sizeof(*hdr) + args_len, ESP_APPTRACE_TMO_INFINITE); //TODO: finite tmo
if (ptr == NULL) {
return ESP_ERR_NO_MEM;
@@ -101,13 +102,13 @@ static esp_err_t esp_apptrace_file_cmd_send(esp_apptrace_dest_t dest, uint8_t cm
// now indicate that this buffer is ready to be sent off to host
ret = esp_apptrace_buffer_put(dest, ptr, ESP_APPTRACE_TMO_INFINITE);//TODO: finite tmo
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to put apptrace buffer (%d)!", ret);
ESP_EARLY_LOGE(TAG, "Failed to put apptrace buffer (%d)!", ret);
return ret;
}
ret = esp_apptrace_flush(dest, ESP_APPTRACE_TMO_INFINITE);//TODO: finite tmo
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to flush apptrace buffer (%d)!", ret);
ESP_EARLY_LOGE(TAG, "Failed to flush apptrace buffer (%d)!", ret);
return ret;
}
@@ -119,11 +120,12 @@ static esp_err_t esp_apptrace_file_rsp_recv(esp_apptrace_dest_t dest, uint8_t *b
uint32_t tot_rd = 0;
while (tot_rd < buf_len) {
uint32_t rd_size = buf_len - tot_rd;
esp_err_t ret = esp_apptrace_read(dest, buf, &rd_size, ESP_APPTRACE_TMO_INFINITE); //TODO: finite tmo
esp_err_t ret = esp_apptrace_read(dest, buf + tot_rd, &rd_size, ESP_APPTRACE_TMO_INFINITE); //TODO: finite tmo
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to read response (%d)!", ret);
ESP_EARLY_LOGE(TAG, "Failed to read (%d)!", ret);
return ret;
}
ESP_EARLY_LOGV(TAG, "%s read %d bytes", __FUNCTION__, rd_size);
tot_rd += rd_size;
}
@@ -142,6 +144,11 @@ void *esp_apptrace_fopen(esp_apptrace_dest_t dest, const char *path, const char
{
esp_apptrace_fopen_args_t cmd_args;
ESP_EARLY_LOGV(TAG, "esp_apptrace_fopen '%s' '%s'", path, mode);
if (path == NULL || mode == NULL) {
return 0;
}
cmd_args.path = path;
cmd_args.path_len = strlen(path) + 1;
cmd_args.mode = mode;
@@ -150,7 +157,7 @@ void *esp_apptrace_fopen(esp_apptrace_dest_t dest, const char *path, const char
esp_err_t ret = esp_apptrace_file_cmd_send(dest, ESP_APPTRACE_FILE_CMD_FOPEN, esp_apptrace_fopen_args_prepare,
&cmd_args, cmd_args.path_len+cmd_args.mode_len);
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
ESP_EARLY_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
return NULL;
}
@@ -158,7 +165,7 @@ void *esp_apptrace_fopen(esp_apptrace_dest_t dest, const char *path, const char
void *resp;
ret = esp_apptrace_file_rsp_recv(dest, (uint8_t *)&resp, sizeof(resp));
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to read response (%d)!", ret);
ESP_EARLY_LOGE(TAG, "Failed to read response (%d)!", ret);
return NULL;
}
@@ -180,7 +187,7 @@ int esp_apptrace_fclose(esp_apptrace_dest_t dest, void *stream)
esp_err_t ret = esp_apptrace_file_cmd_send(dest, ESP_APPTRACE_FILE_CMD_FCLOSE, esp_apptrace_fclose_args_prepare,
&cmd_args, sizeof(cmd_args));
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
ESP_EARLY_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
return EOF;
}
@@ -188,7 +195,7 @@ int esp_apptrace_fclose(esp_apptrace_dest_t dest, void *stream)
int resp;
ret = esp_apptrace_file_rsp_recv(dest, (uint8_t *)&resp, sizeof(resp));
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to read response (%d)!", ret);
ESP_EARLY_LOGE(TAG, "Failed to read response (%d)!", ret);
return EOF;
}
@@ -207,13 +214,19 @@ size_t esp_apptrace_fwrite(esp_apptrace_dest_t dest, const void *ptr, size_t siz
{
esp_apptrace_fwrite_args_t cmd_args;
ESP_EARLY_LOGV(TAG, "esp_apptrace_fwrite f %p l %d", stream, size*nmemb);
if (ptr == NULL) {
return 0;
}
cmd_args.buf = (void *)ptr;
cmd_args.size = size * nmemb;
cmd_args.file = stream;
esp_err_t ret = esp_apptrace_file_cmd_send(dest, ESP_APPTRACE_FILE_CMD_FWRITE, esp_apptrace_fwrite_args_prepare,
&cmd_args, sizeof(cmd_args.file)+cmd_args.size);
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
ESP_EARLY_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
return 0;
}
@@ -221,7 +234,7 @@ size_t esp_apptrace_fwrite(esp_apptrace_dest_t dest, const void *ptr, size_t siz
size_t resp;
ret = esp_apptrace_file_rsp_recv(dest, (uint8_t *)&resp, sizeof(resp));
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to read response (%d)!", ret);
ESP_EARLY_LOGE(TAG, "Failed to read response (%d)!", ret);
return 0;
}
@@ -240,12 +253,18 @@ size_t esp_apptrace_fread(esp_apptrace_dest_t dest, void *ptr, size_t size, size
{
esp_apptrace_fread_args_t cmd_args;
ESP_EARLY_LOGV(TAG, "esp_apptrace_fread f %p l %d", stream, size*nmemb);
if (ptr == NULL) {
return 0;
}
cmd_args.size = size * nmemb;
cmd_args.file = stream;
esp_err_t ret = esp_apptrace_file_cmd_send(dest, ESP_APPTRACE_FILE_CMD_FREAD, esp_apptrace_fread_args_prepare,
&cmd_args, sizeof(cmd_args));
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
ESP_EARLY_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
return 0;
}
@@ -253,13 +272,13 @@ size_t esp_apptrace_fread(esp_apptrace_dest_t dest, void *ptr, size_t size, size
size_t resp;
ret = esp_apptrace_file_rsp_recv(dest, (uint8_t *)&resp, sizeof(resp));
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to read response (%d)!", ret);
ESP_EARLY_LOGE(TAG, "Failed to read response (%d)!", ret);
return 0;
}
if (resp > 0) {
ret = esp_apptrace_file_rsp_recv(dest, ptr, resp);
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to read file data (%d)!", ret);
ESP_EARLY_LOGE(TAG, "Failed to read file data (%d)!", ret);
return 0;
}
}
@@ -271,19 +290,23 @@ static void esp_apptrace_fseek_args_prepare(uint8_t *buf, void *priv)
esp_apptrace_fseek_args_t *args = priv;
memcpy(buf, &args->file, sizeof(args->file));
memcpy(buf + sizeof(args->file), &args->offset, sizeof(args->offset));
memcpy(buf + sizeof(args->file) + sizeof(args->offset), &args->whence, sizeof(args->whence));
}
int esp_apptrace_fseek(esp_apptrace_dest_t dest, void *stream, long offset, int whence)
{
esp_apptrace_fseek_args_t cmd_args;
ESP_EARLY_LOGV(TAG, "esp_apptrace_fseek f %p o 0x%lx w %d", stream, offset, whence);
cmd_args.file = stream;
cmd_args.offset = offset;
cmd_args.whence = whence;
esp_err_t ret = esp_apptrace_file_cmd_send(dest, ESP_APPTRACE_FILE_CMD_FSEEK, esp_apptrace_fseek_args_prepare,
&cmd_args, sizeof(cmd_args));
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
ESP_EARLY_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
return -1;
}
@@ -291,7 +314,7 @@ int esp_apptrace_fseek(esp_apptrace_dest_t dest, void *stream, long offset, int
int resp;
ret = esp_apptrace_file_rsp_recv(dest, (uint8_t *)&resp, sizeof(resp));
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to read response (%d)!", ret);
ESP_EARLY_LOGE(TAG, "Failed to read response (%d)!", ret);
return -1;
}
@@ -313,7 +336,7 @@ int esp_apptrace_ftell(esp_apptrace_dest_t dest, void *stream)
esp_err_t ret = esp_apptrace_file_cmd_send(dest, ESP_APPTRACE_FILE_CMD_FTELL, esp_apptrace_ftell_args_prepare,
&cmd_args, sizeof(cmd_args));
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
ESP_EARLY_LOGE(TAG, "Failed to send file cmd (%d)!", ret);
return -1;
}
@@ -321,7 +344,7 @@ int esp_apptrace_ftell(esp_apptrace_dest_t dest, void *stream)
int resp;
ret = esp_apptrace_file_rsp_recv(dest, (uint8_t *)&resp, sizeof(resp));
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to read response (%d)!", ret);
ESP_EARLY_LOGE(TAG, "Failed to read response (%d)!", ret);
return -1;
}
@@ -330,9 +353,10 @@ int esp_apptrace_ftell(esp_apptrace_dest_t dest, void *stream)
int esp_apptrace_fstop(esp_apptrace_dest_t dest)
{
ESP_EARLY_LOGV(TAG, "%s", __func__);
esp_err_t ret = esp_apptrace_file_cmd_send(dest, ESP_APPTRACE_FILE_CMD_STOP, NULL, NULL, 0);
if (ret != ESP_OK) {
ESP_LOGE(TAG, "Failed to send files transfer stop cmd (%d)!", ret);
ESP_EARLY_LOGE(TAG, "Failed to send files transfer stop cmd (%d)!", ret);
}
return ret;
}

View File

@@ -18,6 +18,10 @@
#include "esp_err.h"
#include "esp_app_trace_util.h" // ESP_APPTRACE_TMO_INFINITE
#ifdef __cplusplus
extern "C" {
#endif
/**
* Application trace data destinations bits.
*/
@@ -33,7 +37,7 @@ typedef enum {
*
* @return ESP_OK on success, otherwise see esp_err_t
*/
esp_err_t esp_apptrace_init();
esp_err_t esp_apptrace_init(void);
/**
* @brief Configures down buffer.
@@ -51,7 +55,7 @@ void esp_apptrace_down_buffer_config(uint8_t *buf, uint32_t size);
*
* @param dest Indicates HW interface to send data.
* @param size Size of data to write to trace buffer.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely.
*
* @return non-NULL on success, otherwise NULL.
*/
@@ -63,7 +67,7 @@ uint8_t *esp_apptrace_buffer_get(esp_apptrace_dest_t dest, uint32_t size, uint32
*
* @param dest Indicates HW interface to send data. Should be identical to the same parameter in call to esp_apptrace_buffer_get.
* @param ptr Address of trace buffer to release. Should be the value returned by call to esp_apptrace_buffer_get.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely.
*
* @return ESP_OK on success, otherwise see esp_err_t
*/
@@ -75,7 +79,7 @@ esp_err_t esp_apptrace_buffer_put(esp_apptrace_dest_t dest, uint8_t *ptr, uint32
* @param dest Indicates HW interface to send data.
* @param data Address of data to write to trace buffer.
* @param size Size of data to write to trace buffer.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely.
*
* @return ESP_OK on success, otherwise see esp_err_t
*/
@@ -85,7 +89,7 @@ esp_err_t esp_apptrace_write(esp_apptrace_dest_t dest, const void *data, uint32_
* @brief vprintf-like function to sent log messages to host via specified HW interface.
*
* @param dest Indicates HW interface to send data.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely.
* @param fmt Address of format string.
* @param ap List of arguments.
*
@@ -107,7 +111,7 @@ int esp_apptrace_vprintf(const char *fmt, va_list ap);
* @brief Flushes remaining data in trace buffer to host.
*
* @param dest Indicates HW interface to flush data on.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely.
*
* @return ESP_OK on success, otherwise see esp_err_t
*/
@@ -119,7 +123,7 @@ esp_err_t esp_apptrace_flush(esp_apptrace_dest_t dest, uint32_t tmo);
*
* @param dest Indicates HW interface to flush data on.
* @param min_sz Threshold for flushing data. If current filling level is above this value, data will be flushed. TRAX destinations only.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely.
*
* @return ESP_OK on success, otherwise see esp_err_t
*/
@@ -131,31 +135,31 @@ esp_err_t esp_apptrace_flush_nolock(esp_apptrace_dest_t dest, uint32_t min_sz, u
* @param dest Indicates HW interface to read the data on.
* @param data Address of buffer to put data from trace buffer.
* @param size Pointer to store size of read data. Before call to this function pointed memory must hold requested size of data
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely.
*
* @return ESP_OK on success, otherwise see esp_err_t
*/
esp_err_t esp_apptrace_read(esp_apptrace_dest_t dest, void *data, uint32_t *size, uint32_t tmo);
/**
* @brief Rertrieves incoming data buffer if any.
* @brief Retrieves incoming data buffer if any.
* After data in buffer are processed esp_apptrace_down_buffer_put must be called to indicate it.
*
* @param dest Indicates HW interface to receive data.
* @param size Address to store size of available data in down buffer. Must be initializaed with requested value.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly.
* @param size Address to store size of available data in down buffer. Must be initialized with requested value.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely.
*
* @return non-NULL on success, otherwise NULL.
*/
uint8_t *esp_apptrace_down_buffer_get(esp_apptrace_dest_t dest, uint32_t *size, uint32_t tmo);
/**
* @brief Indicates that the data in down buffer are processesd.
* @brief Indicates that the data in down buffer are processed.
* This function is a counterpart of and must be preceeded by esp_apptrace_down_buffer_get.
*
* @param dest Indicates HW interface to receive data. Should be identical to the same parameter in call to esp_apptrace_down_buffer_get.
* @param ptr Address of trace buffer to release. Should be the value returned by call to esp_apptrace_down_buffer_get.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly.
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinitely.
*
* @return ESP_OK on success, otherwise see esp_err_t
*/
@@ -247,7 +251,7 @@ int esp_apptrace_ftell(esp_apptrace_dest_t dest, void *stream);
/**
* @brief Indicates to the host that all file operations are completed.
* This function should be called after all file operations are finished and
* This function should be called after all file operations are finished and
* indicate to the host that it can perform cleanup operations (close open files etc.).
*
* @param dest Indicates HW interface to use.
@@ -262,4 +266,8 @@ int esp_apptrace_fstop(esp_apptrace_dest_t dest);
*/
void esp_gcov_dump(void);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -14,6 +14,10 @@
#ifndef ESP_APP_TRACE_UTIL_H_
#define ESP_APP_TRACE_UTIL_H_
#ifdef __cplusplus
extern "C" {
#endif
#include "freertos/FreeRTOS.h"
#include "esp_err.h"
@@ -41,6 +45,7 @@ static inline void esp_apptrace_tmo_init(esp_apptrace_tmo_t *tmo, uint32_t user_
{
tmo->start = portGET_RUN_TIME_COUNTER_VALUE();
tmo->tmo = user_tmo;
tmo->elapsed = 0;
}
/**
@@ -163,4 +168,8 @@ uint32_t esp_apptrace_rb_read_size_get(esp_apptrace_rb_t *rb);
*/
uint32_t esp_apptrace_rb_write_size_get(esp_apptrace_rb_t *rb);
#ifdef __cplusplus
}
#endif
#endif //ESP_APP_TRACE_UTIL_H_

View File

@@ -0,0 +1,88 @@
// Copyright 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.
#ifndef ESP_SYSVIEW_TRACE_H_
#define ESP_SYSVIEW_TRACE_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <stdarg.h>
#include "esp_err.h"
#include "SEGGER_RTT.h" // SEGGER_RTT_ESP32_Flush
#include "esp_app_trace_util.h" // ESP_APPTRACE_TMO_INFINITE
/**
* @brief Flushes remaining data in SystemView trace buffer to host.
*
* @param tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly.
*
* @return ESP_OK.
*/
static inline esp_err_t esp_sysview_flush(uint32_t tmo)
{
SEGGER_RTT_ESP32_Flush(0, tmo);
return ESP_OK;
}
/**
* @brief vprintf-like function to sent log messages to the host.
*
* @param format Address of format string.
* @param args List of arguments.
*
* @return Number of bytes written.
*/
int esp_sysview_vprintf(const char * format, va_list args);
/**
* @brief Starts SystemView heap tracing.
*
* @param tmo Timeout (in us) to wait for the host to be connected. Use -1 to wait forever.
*
* @return ESP_OK on success, ESP_ERR_TIMEOUT if operation has been timed out.
*/
esp_err_t esp_sysview_heap_trace_start(uint32_t tmo);
/**
* @brief Stops SystemView heap tracing.
*
* @return ESP_OK.
*/
esp_err_t esp_sysview_heap_trace_stop(void);
/**
* @brief Sends heap allocation event to the host.
*
* @param addr Address of allocated block.
* @param size Size of allocated block.
* @param callers Pointer to array with callstack addresses.
* Array size must be CONFIG_HEAP_TRACING_STACK_DEPTH.
*/
void esp_sysview_heap_trace_alloc(void *addr, uint32_t size, const void *callers);
/**
* @brief Sends heap de-allocation event to the host.
*
* @param addr Address of de-allocated block.
* @param callers Pointer to array with callstack addresses.
* Array size must be CONFIG_HEAP_TRACING_STACK_DEPTH.
*/
void esp_sysview_heap_trace_free(void *addr, const void *callers);
#ifdef __cplusplus
}
#endif
#endif //ESP_SYSVIEW_TRACE_H_

View File

@@ -0,0 +1,18 @@
[mapping:app_trace]
archive: libapp_trace.a
entries:
app_trace (noflash)
app_trace_util (noflash)
SEGGER_SYSVIEW (noflash)
SEGGER_RTT_esp32 (noflash)
SEGGER_SYSVIEW_Config_FreeRTOS (noflash)
SEGGER_SYSVIEW_FreeRTOS (noflash)
[mapping:driver]
archive: libdriver.a
entries:
if SYSVIEW_TS_SOURCE_TIMER_00 = y || SYSVIEW_TS_SOURCE_TIMER_01 = y
|| SYSVIEW_TS_SOURCE_TIMER_10 = y || SYSVIEW_TS_SOURCE_TIMER_11 = y:
timer (noflash)
else:
* (default)

View File

@@ -0,0 +1,23 @@
# idf_create_lcov_report
#
# Create coverage report.
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
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
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)
endfunction()
# idf_clean_coverage_report
#
# Clean coverage report.
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()

View File

@@ -0,0 +1,12 @@
# sdkconfig replacement configurations for deprecated options formatted as
# CONFIG_DEPRECATED_OPTION CONFIG_NEW_OPTION
CONFIG_ESP32_APPTRACE_DESTINATION CONFIG_APPTRACE_DESTINATION
CONFIG_ESP32_APPTRACE_DEST_NONE CONFIG_APPTRACE_DEST_NONE
CONFIG_ESP32_APPTRACE_DEST_TRAX CONFIG_APPTRACE_DEST_TRAX
CONFIG_ESP32_APPTRACE_ENABLE CONFIG_APPTRACE_ENABLE
CONFIG_ESP32_APPTRACE_LOCK_ENABLE CONFIG_APPTRACE_LOCK_ENABLE
CONFIG_ESP32_APPTRACE_ONPANIC_HOST_FLUSH_TMO CONFIG_APPTRACE_ONPANIC_HOST_FLUSH_TMO
CONFIG_ESP32_APPTRACE_POSTMORTEM_FLUSH_TRAX_THRESH CONFIG_APPTRACE_POSTMORTEM_FLUSH_THRESH
CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX
CONFIG_ESP32_GCOV_ENABLE CONFIG_APPTRACE_GCOV_ENABLE

View File

@@ -1,102 +1,102 @@
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: V2.42 *
* *
**********************************************************************
----------------------------------------------------------------------
File : Global.h
Purpose : Global types
In case your application already has a Global.h, you should
merge the files. In order to use Segger code, the types
U8, U16, U32, I8, I16, I32 need to be defined in Global.h;
additional definitions do not hurt.
---------------------------END-OF-HEADER------------------------------
*/
#ifndef GLOBAL_H // Guard against multiple inclusion
#define GLOBAL_H
#define U8 unsigned char
#define U16 unsigned short
#define U32 unsigned long
#define I8 signed char
#define I16 signed short
#define I32 signed long
#ifdef _WIN32
//
// Microsoft VC6 compiler related
//
#define U64 unsigned __int64
#define U128 unsigned __int128
#define I64 __int64
#define I128 __int128
#if _MSC_VER <= 1200
#define U64_C(x) x##UI64
#else
#define U64_C(x) x##ULL
#endif
#else
//
// C99 compliant compiler
//
#define U64 unsigned long long
#define I64 signed long long
#define U64_C(x) x##ULL
#endif
#endif // Avoid multiple inclusion
/*************************** End of file ****************************/
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: V2.42 *
* *
**********************************************************************
----------------------------------------------------------------------
File : Global.h
Purpose : Global types
In case your application already has a Global.h, you should
merge the files. In order to use Segger code, the types
U8, U16, U32, I8, I16, I32 need to be defined in Global.h;
additional definitions do not hurt.
---------------------------END-OF-HEADER------------------------------
*/
#ifndef GLOBAL_H // Guard against multiple inclusion
#define GLOBAL_H
#define U8 unsigned char
#define U16 unsigned short
#define U32 unsigned long
#define I8 signed char
#define I16 signed short
#define I32 signed long
#ifdef _WIN32
//
// Microsoft VC6 compiler related
//
#define U64 unsigned __int64
#define U128 unsigned __int128
#define I64 __int64
#define I128 __int128
#if _MSC_VER <= 1200
#define U64_C(x) x##UI64
#else
#define U64_C(x) x##ULL
#endif
#else
//
// C99 compliant compiler
//
#define U64 unsigned long long
#define I64 signed long long
#define U64_C(x) x##ULL
#endif
#endif // Avoid multiple inclusion
/*************************** End of file ****************************/

View File

@@ -1,298 +1,298 @@
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: V2.42 *
* *
**********************************************************************
---------------------------END-OF-HEADER------------------------------
File : SEGGER_RTT_Conf.h
Purpose : Implementation of SEGGER real-time transfer (RTT) which
allows real-time communication on targets which support
debugger memory accesses while the CPU is running.
Revision: $Rev: 5626 $
*/
#ifndef SEGGER_RTT_CONF_H
#define SEGGER_RTT_CONF_H
#ifdef __IAR_SYSTEMS_ICC__
#include <intrinsics.h>
#endif
/*********************************************************************
*
* Defines, configurable
*
**********************************************************************
*/
#define SEGGER_RTT_MAX_NUM_UP_BUFFERS (3) // Max. number of up-buffers (T->H) available on this target (Default: 3)
#define SEGGER_RTT_MAX_NUM_DOWN_BUFFERS (3) // Max. number of down-buffers (H->T) available on this target (Default: 3)
#define BUFFER_SIZE_UP (1024) // Size of the buffer for terminal output of target, up to host (Default: 1k)
#define BUFFER_SIZE_DOWN (16) // Size of the buffer for terminal input to target from host (Usually keyboard input) (Default: 16)
#define SEGGER_RTT_PRINTF_BUFFER_SIZE (64u) // Size of buffer for RTT printf to bulk-send chars via RTT (Default: 64)
#define SEGGER_RTT_MODE_DEFAULT SEGGER_RTT_MODE_NO_BLOCK_SKIP // Mode for pre-initialized terminal channel (buffer 0)
//
// Target is not allowed to perform other RTT operations while string still has not been stored completely.
// Otherwise we would probably end up with a mixed string in the buffer.
// If using RTT from within interrupts, multiple tasks or multi processors, define the SEGGER_RTT_LOCK() and SEGGER_RTT_UNLOCK() function here.
//
// SEGGER_RTT_MAX_INTERRUPT_PRIORITY can be used in the sample lock routines on Cortex-M3/4.
// Make sure to mask all interrupts which can send RTT data, i.e. generate SystemView events, or cause task switches.
// When high-priority interrupts must not be masked while sending RTT data, SEGGER_RTT_MAX_INTERRUPT_PRIORITY needs to be adjusted accordingly.
// (Higher priority = lower priority number)
// Default value for embOS: 128u
// Default configuration in FreeRTOS: configMAX_SYSCALL_INTERRUPT_PRIORITY: ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) )
// In case of doubt mask all interrupts: 1 << (8 - BASEPRI_PRIO_BITS) i.e. 1 << 5 when 3 bits are implemented in NVIC
// or define SEGGER_RTT_LOCK() to completely disable interrupts.
//
#define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) // Interrupt priority to lock on SEGGER_RTT_LOCK on Cortex-M3/4 (Default: 0x20)
/*********************************************************************
*
* RTT lock configuration for SEGGER Embedded Studio,
* Rowley CrossStudio and GCC
*/
#if (defined __SES_ARM) || (defined __CROSSWORKS_ARM) || (defined __GNUC__)
#ifdef __ARM_ARCH_6M__
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
__asm volatile ("mrs %0, primask \n\t" \
"mov r1, $1 \n\t" \
"msr primask, r1 \n\t" \
: "=r" (LockState) \
: \
: "r1" \
);
#define SEGGER_RTT_UNLOCK() __asm volatile ("msr primask, %0 \n\t" \
: \
: "r" (LockState) \
: \
); \
}
#elif (defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__))
#ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY
#define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20)
#endif
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
__asm volatile ("mrs %0, basepri \n\t" \
"mov r1, %1 \n\t" \
"msr basepri, r1 \n\t" \
: "=r" (LockState) \
: "i"(SEGGER_RTT_MAX_INTERRUPT_PRIORITY) \
: "r1" \
);
#define SEGGER_RTT_UNLOCK() __asm volatile ("msr basepri, %0 \n\t" \
: \
: "r" (LockState) \
: \
); \
}
#elif defined(__ARM_ARCH_7A__)
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
__asm volatile ("mrs r1, CPSR \n\t" \
"mov %0, r1 \n\t" \
"orr r1, r1, #0xC0 \n\t" \
"msr CPSR_c, r1 \n\t" \
: "=r" (LockState) \
: \
: "r1" \
);
#define SEGGER_RTT_UNLOCK() __asm volatile ("mov r0, %0 \n\t" \
"mrs r1, CPSR \n\t" \
"bic r1, r1, #0xC0 \n\t" \
"and r0, r0, #0xC0 \n\t" \
"orr r1, r1, r0 \n\t" \
"msr CPSR_c, r1 \n\t" \
: \
: "r" (LockState) \
: "r0", "r1" \
); \
}
#else
#define SEGGER_RTT_LOCK()
#define SEGGER_RTT_UNLOCK()
#endif
#endif
/*********************************************************************
*
* RTT lock configuration for IAR EWARM
*/
#ifdef __ICCARM__
#if (defined (__ARM6M__) && (__CORE__ == __ARM6M__))
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
LockState = __get_PRIMASK(); \
__set_PRIMASK(1);
#define SEGGER_RTT_UNLOCK() __set_PRIMASK(LockState); \
}
#elif ((defined (__ARM7EM__) && (__CORE__ == __ARM7EM__)) || (defined (__ARM7M__) && (__CORE__ == __ARM7M__)))
#ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY
#define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20)
#endif
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
LockState = __get_BASEPRI(); \
__set_BASEPRI(SEGGER_RTT_MAX_INTERRUPT_PRIORITY);
#define SEGGER_RTT_UNLOCK() __set_BASEPRI(LockState); \
}
#endif
#endif
/*********************************************************************
*
* RTT lock configuration for IAR RX
*/
#ifdef __ICCRX__
#define SEGGER_RTT_LOCK() { \
unsigned long LockState; \
LockState = __get_interrupt_state(); \
__disable_interrupt();
#define SEGGER_RTT_UNLOCK() __set_interrupt_state(LockState); \
}
#endif
/*********************************************************************
*
* RTT lock configuration for KEIL ARM
*/
#ifdef __CC_ARM
#if (defined __TARGET_ARCH_6S_M)
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
register unsigned char PRIMASK __asm( "primask"); \
LockState = PRIMASK; \
PRIMASK = 1u; \
__schedule_barrier();
#define SEGGER_RTT_UNLOCK() PRIMASK = LockState; \
__schedule_barrier(); \
}
#elif (defined(__TARGET_ARCH_7_M) || defined(__TARGET_ARCH_7E_M))
#ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY
#define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20)
#endif
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
register unsigned char BASEPRI __asm( "basepri"); \
LockState = BASEPRI; \
BASEPRI = SEGGER_RTT_MAX_INTERRUPT_PRIORITY; \
__schedule_barrier();
#define SEGGER_RTT_UNLOCK() BASEPRI = LockState; \
__schedule_barrier(); \
}
#endif
#endif
/*********************************************************************
*
* RTT lock configuration for TI ARM
*/
#ifdef __TI_ARM__
#if defined (__TI_ARM_V6M0__)
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
LockState = __get_PRIMASK(); \
__set_PRIMASK(1);
#define SEGGER_RTT_UNLOCK() __set_PRIMASK(LockState); \
}
#elif (defined (__TI_ARM_V7M3__) || defined (__TI_ARM_V7M4__))
#ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY
#define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20)
#endif
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
LockState = OS_GetBASEPRI(); \
OS_SetBASEPRI(SEGGER_RTT_MAX_INTERRUPT_PRIORITY);
#define SEGGER_RTT_UNLOCK() OS_SetBASEPRI(LockState); \
}
#endif
#endif
/*********************************************************************
*
* RTT lock configuration fallback
*/
#ifndef SEGGER_RTT_LOCK
void SEGGER_SYSVIEW_X_RTT_Lock();
#define SEGGER_RTT_LOCK() SEGGER_SYSVIEW_X_RTT_Lock() // Lock RTT (nestable) (i.e. disable interrupts)
#endif
#ifndef SEGGER_RTT_UNLOCK
void SEGGER_SYSVIEW_X_RTT_Unlock();
#define SEGGER_RTT_UNLOCK() SEGGER_SYSVIEW_X_RTT_Unlock() // Unlock RTT (nestable) (i.e. enable previous interrupt lock state)
#endif
#endif
/*************************** End of file ****************************/
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: V2.42 *
* *
**********************************************************************
---------------------------END-OF-HEADER------------------------------
File : SEGGER_RTT_Conf.h
Purpose : Implementation of SEGGER real-time transfer (RTT) which
allows real-time communication on targets which support
debugger memory accesses while the CPU is running.
Revision: $Rev: 5626 $
*/
#ifndef SEGGER_RTT_CONF_H
#define SEGGER_RTT_CONF_H
#ifdef __IAR_SYSTEMS_ICC__
#include <intrinsics.h>
#endif
/*********************************************************************
*
* Defines, configurable
*
**********************************************************************
*/
#define SEGGER_RTT_MAX_NUM_UP_BUFFERS (3) // Max. number of up-buffers (T->H) available on this target (Default: 3)
#define SEGGER_RTT_MAX_NUM_DOWN_BUFFERS (3) // Max. number of down-buffers (H->T) available on this target (Default: 3)
#define BUFFER_SIZE_UP (1024) // Size of the buffer for terminal output of target, up to host (Default: 1k)
#define BUFFER_SIZE_DOWN (16) // Size of the buffer for terminal input to target from host (Usually keyboard input) (Default: 16)
#define SEGGER_RTT_PRINTF_BUFFER_SIZE (64u) // Size of buffer for RTT printf to bulk-send chars via RTT (Default: 64)
#define SEGGER_RTT_MODE_DEFAULT SEGGER_RTT_MODE_NO_BLOCK_SKIP // Mode for pre-initialized terminal channel (buffer 0)
//
// Target is not allowed to perform other RTT operations while string still has not been stored completely.
// Otherwise we would probably end up with a mixed string in the buffer.
// If using RTT from within interrupts, multiple tasks or multi processors, define the SEGGER_RTT_LOCK() and SEGGER_RTT_UNLOCK() function here.
//
// SEGGER_RTT_MAX_INTERRUPT_PRIORITY can be used in the sample lock routines on Cortex-M3/4.
// Make sure to mask all interrupts which can send RTT data, i.e. generate SystemView events, or cause task switches.
// When high-priority interrupts must not be masked while sending RTT data, SEGGER_RTT_MAX_INTERRUPT_PRIORITY needs to be adjusted accordingly.
// (Higher priority = lower priority number)
// Default value for embOS: 128u
// Default configuration in FreeRTOS: configMAX_SYSCALL_INTERRUPT_PRIORITY: ( configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS) )
// In case of doubt mask all interrupts: 1 << (8 - BASEPRI_PRIO_BITS) i.e. 1 << 5 when 3 bits are implemented in NVIC
// or define SEGGER_RTT_LOCK() to completely disable interrupts.
//
#define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20) // Interrupt priority to lock on SEGGER_RTT_LOCK on Cortex-M3/4 (Default: 0x20)
/*********************************************************************
*
* RTT lock configuration for SEGGER Embedded Studio,
* Rowley CrossStudio and GCC
*/
#if (defined __SES_ARM) || (defined __CROSSWORKS_ARM) || (defined __GNUC__)
#ifdef __ARM_ARCH_6M__
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
__asm volatile ("mrs %0, primask \n\t" \
"mov r1, $1 \n\t" \
"msr primask, r1 \n\t" \
: "=r" (LockState) \
: \
: "r1" \
);
#define SEGGER_RTT_UNLOCK() __asm volatile ("msr primask, %0 \n\t" \
: \
: "r" (LockState) \
: \
); \
}
#elif (defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__))
#ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY
#define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20)
#endif
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
__asm volatile ("mrs %0, basepri \n\t" \
"mov r1, %1 \n\t" \
"msr basepri, r1 \n\t" \
: "=r" (LockState) \
: "i"(SEGGER_RTT_MAX_INTERRUPT_PRIORITY) \
: "r1" \
);
#define SEGGER_RTT_UNLOCK() __asm volatile ("msr basepri, %0 \n\t" \
: \
: "r" (LockState) \
: \
); \
}
#elif defined(__ARM_ARCH_7A__)
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
__asm volatile ("mrs r1, CPSR \n\t" \
"mov %0, r1 \n\t" \
"orr r1, r1, #0xC0 \n\t" \
"msr CPSR_c, r1 \n\t" \
: "=r" (LockState) \
: \
: "r1" \
);
#define SEGGER_RTT_UNLOCK() __asm volatile ("mov r0, %0 \n\t" \
"mrs r1, CPSR \n\t" \
"bic r1, r1, #0xC0 \n\t" \
"and r0, r0, #0xC0 \n\t" \
"orr r1, r1, r0 \n\t" \
"msr CPSR_c, r1 \n\t" \
: \
: "r" (LockState) \
: "r0", "r1" \
); \
}
#else
#define SEGGER_RTT_LOCK()
#define SEGGER_RTT_UNLOCK()
#endif
#endif
/*********************************************************************
*
* RTT lock configuration for IAR EWARM
*/
#ifdef __ICCARM__
#if (defined (__ARM6M__) && (__CORE__ == __ARM6M__))
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
LockState = __get_PRIMASK(); \
__set_PRIMASK(1);
#define SEGGER_RTT_UNLOCK() __set_PRIMASK(LockState); \
}
#elif ((defined (__ARM7EM__) && (__CORE__ == __ARM7EM__)) || (defined (__ARM7M__) && (__CORE__ == __ARM7M__)))
#ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY
#define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20)
#endif
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
LockState = __get_BASEPRI(); \
__set_BASEPRI(SEGGER_RTT_MAX_INTERRUPT_PRIORITY);
#define SEGGER_RTT_UNLOCK() __set_BASEPRI(LockState); \
}
#endif
#endif
/*********************************************************************
*
* RTT lock configuration for IAR RX
*/
#ifdef __ICCRX__
#define SEGGER_RTT_LOCK() { \
unsigned long LockState; \
LockState = __get_interrupt_state(); \
__disable_interrupt();
#define SEGGER_RTT_UNLOCK() __set_interrupt_state(LockState); \
}
#endif
/*********************************************************************
*
* RTT lock configuration for KEIL ARM
*/
#ifdef __CC_ARM
#if (defined __TARGET_ARCH_6S_M)
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
register unsigned char PRIMASK __asm( "primask"); \
LockState = PRIMASK; \
PRIMASK = 1u; \
__schedule_barrier();
#define SEGGER_RTT_UNLOCK() PRIMASK = LockState; \
__schedule_barrier(); \
}
#elif (defined(__TARGET_ARCH_7_M) || defined(__TARGET_ARCH_7E_M))
#ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY
#define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20)
#endif
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
register unsigned char BASEPRI __asm( "basepri"); \
LockState = BASEPRI; \
BASEPRI = SEGGER_RTT_MAX_INTERRUPT_PRIORITY; \
__schedule_barrier();
#define SEGGER_RTT_UNLOCK() BASEPRI = LockState; \
__schedule_barrier(); \
}
#endif
#endif
/*********************************************************************
*
* RTT lock configuration for TI ARM
*/
#ifdef __TI_ARM__
#if defined (__TI_ARM_V6M0__)
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
LockState = __get_PRIMASK(); \
__set_PRIMASK(1);
#define SEGGER_RTT_UNLOCK() __set_PRIMASK(LockState); \
}
#elif (defined (__TI_ARM_V7M3__) || defined (__TI_ARM_V7M4__))
#ifndef SEGGER_RTT_MAX_INTERRUPT_PRIORITY
#define SEGGER_RTT_MAX_INTERRUPT_PRIORITY (0x20)
#endif
#define SEGGER_RTT_LOCK() { \
unsigned int LockState; \
LockState = OS_GetBASEPRI(); \
OS_SetBASEPRI(SEGGER_RTT_MAX_INTERRUPT_PRIORITY);
#define SEGGER_RTT_UNLOCK() OS_SetBASEPRI(LockState); \
}
#endif
#endif
/*********************************************************************
*
* RTT lock configuration fallback
*/
#ifndef SEGGER_RTT_LOCK
void SEGGER_SYSVIEW_X_RTT_Lock(void);
#define SEGGER_RTT_LOCK() SEGGER_SYSVIEW_X_RTT_Lock() // Lock RTT (nestable) (i.e. disable interrupts)
#endif
#ifndef SEGGER_RTT_UNLOCK
void SEGGER_SYSVIEW_X_RTT_Unlock(void);
#define SEGGER_RTT_UNLOCK() SEGGER_SYSVIEW_X_RTT_Unlock() // Unlock RTT (nestable) (i.e. enable previous interrupt lock state)
#endif
#endif
/*************************** End of file ****************************/

View File

@@ -1,176 +1,179 @@
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: V2.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW_Conf.h
Purpose : SEGGER SystemView configuration.
Revision: $Rev: 5927 $
*/
#ifndef SEGGER_SYSVIEW_CONF_H
#define SEGGER_SYSVIEW_CONF_H
/*********************************************************************
*
* Defines, fixed
*
**********************************************************************
*/
//
// Constants for known core configuration
//
#define SEGGER_SYSVIEW_CORE_OTHER 0
#define SEGGER_SYSVIEW_CORE_CM0 1 // Cortex-M0/M0+/M1
#define SEGGER_SYSVIEW_CORE_CM3 2 // Cortex-M3/M4/M7
#define SEGGER_SYSVIEW_CORE_RX 3 // Renesas RX
#if (defined __SES_ARM) || (defined __CROSSWORKS_ARM) || (defined __GNUC__)
#ifdef __ARM_ARCH_6M__
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM0
#elif (defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM3
#endif
#elif defined(__ICCARM__)
#if (defined (__ARM6M__) && (__CORE__ == __ARM6M__))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM0
#elif ((defined (__ARM7M__) && (__CORE__ == __ARM7M__)) || (defined (__ARM7EM__) && (__CORE__ == __ARM7EM__)))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM3
#endif
#elif defined(__CC_ARM)
#if (defined(__TARGET_ARCH_6S_M))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM0
#elif (defined(__TARGET_ARCH_7_M) || defined(__TARGET_ARCH_7E_M))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM3
#endif
#elif defined(__TI_ARM__)
#ifdef __TI_ARM_V6M0__
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM0
#elif (defined(__TI_ARM_V7M3__) || defined(__TI_ARM_V7M4__))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM3
#endif
#elif defined(__ICCRX__)
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_RX
#elif defined(__RX)
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_RX
#endif
#ifndef SEGGER_SYSVIEW_CORE
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_OTHER
#endif
/*********************************************************************
*
* Defines, configurable
*
**********************************************************************
*/
/*********************************************************************
*
* SystemView buffer configuration
*/
#define SEGGER_SYSVIEW_RTT_BUFFER_SIZE 1024 // Number of bytes that SystemView uses for the buffer.
#define SEGGER_SYSVIEW_RTT_CHANNEL 1 // The RTT channel that SystemView will use. 0: Auto selection
#define SEGGER_SYSVIEW_USE_STATIC_BUFFER 1 // Use a static buffer to generate events instead of a buffer on the stack
#define SEGGER_SYSVIEW_POST_MORTEM_MODE 0 // 1: Enable post mortem analysis mode
/*********************************************************************
*
* SystemView timestamp configuration
*/
#if SEGGER_SYSVIEW_CORE == SEGGER_SYSVIEW_CORE_CM3
#define SEGGER_SYSVIEW_GET_TIMESTAMP() (*(U32 *)(0xE0001004)) // Retrieve a system timestamp. Cortex-M cycle counter.
#define SEGGER_SYSVIEW_TIMESTAMP_BITS 32 // Define number of valid bits low-order delivered by clock source
#else
#define SEGGER_SYSVIEW_GET_TIMESTAMP() SEGGER_SYSVIEW_X_GetTimestamp() // Retrieve a system timestamp via user-defined function
#define SEGGER_SYSVIEW_TIMESTAMP_BITS 32 // Define number of valid bits low-order delivered by SEGGER_SYSVIEW_X_GetTimestamp()
#endif
/*********************************************************************
*
* SystemView Id configuration
*/
//TODO: optimise it
#define SEGGER_SYSVIEW_ID_BASE 0x3F400000 // Default value for the lowest Id reported by the application. Can be overridden by the application via SEGGER_SYSVIEW_SetRAMBase(). (i.e. 0x20000000 when all Ids are an address in this RAM)
#define SEGGER_SYSVIEW_ID_SHIFT 0 // Number of bits to shift the Id to save bandwidth. (i.e. 2 when Ids are 4 byte aligned)
/*********************************************************************
*
* SystemView interrupt configuration
*/
#if SEGGER_SYSVIEW_CORE == SEGGER_SYSVIEW_CORE_CM3
#define SEGGER_SYSVIEW_GET_INTERRUPT_ID() ((*(U32 *)(0xE000ED04)) & 0x1FF) // Get the currently active interrupt Id. (i.e. read Cortex-M ICSR[8:0] = active vector)
#elif SEGGER_SYSVIEW_CORE == SEGGER_SYSVIEW_CORE_CM0
#if defined(__ICCARM__)
#define SEGGER_SYSVIEW_GET_INTERRUPT_ID() (__get_IPSR()) // Workaround for IAR, which might do a byte-access to 0xE000ED04. Read IPSR instead.
#else
#define SEGGER_SYSVIEW_GET_INTERRUPT_ID() ((*(U32 *)(0xE000ED04)) & 0x3F) // Get the currently active interrupt Id. (i.e. read Cortex-M ICSR[5:0] = active vector)
#endif
#else
#define SEGGER_SYSVIEW_GET_INTERRUPT_ID() SEGGER_SYSVIEW_X_GetInterruptId() // Get the currently active interrupt Id from the user-provided function.
#endif
void SEGGER_SYSVIEW_X_SysView_Lock();
void SEGGER_SYSVIEW_X_SysView_Unlock();
#define SEGGER_SYSVIEW_LOCK() SEGGER_SYSVIEW_X_SysView_Lock()
#define SEGGER_SYSVIEW_UNLOCK() SEGGER_SYSVIEW_X_SysView_Unlock()
#endif // SEGGER_SYSVIEW_CONF_H
/*************************** End of file ****************************/
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: V2.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW_Conf.h
Purpose : SEGGER SystemView configuration.
Revision: $Rev: 5927 $
*/
#ifndef SEGGER_SYSVIEW_CONF_H
#define SEGGER_SYSVIEW_CONF_H
#include "soc/soc.h"
/*********************************************************************
*
* Defines, fixed
*
**********************************************************************
*/
//
// Constants for known core configuration
//
#define SEGGER_SYSVIEW_CORE_OTHER 0
#define SEGGER_SYSVIEW_CORE_CM0 1 // Cortex-M0/M0+/M1
#define SEGGER_SYSVIEW_CORE_CM3 2 // Cortex-M3/M4/M7
#define SEGGER_SYSVIEW_CORE_RX 3 // Renesas RX
#if (defined __SES_ARM) || (defined __CROSSWORKS_ARM) || (defined __GNUC__)
#ifdef __ARM_ARCH_6M__
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM0
#elif (defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7EM__))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM3
#endif
#elif defined(__ICCARM__)
#if (defined (__ARM6M__) && (__CORE__ == __ARM6M__))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM0
#elif ((defined (__ARM7M__) && (__CORE__ == __ARM7M__)) || (defined (__ARM7EM__) && (__CORE__ == __ARM7EM__)))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM3
#endif
#elif defined(__CC_ARM)
#if (defined(__TARGET_ARCH_6S_M))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM0
#elif (defined(__TARGET_ARCH_7_M) || defined(__TARGET_ARCH_7E_M))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM3
#endif
#elif defined(__TI_ARM__)
#ifdef __TI_ARM_V6M0__
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM0
#elif (defined(__TI_ARM_V7M3__) || defined(__TI_ARM_V7M4__))
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_CM3
#endif
#elif defined(__ICCRX__)
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_RX
#elif defined(__RX)
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_RX
#endif
#ifndef SEGGER_SYSVIEW_CORE
#define SEGGER_SYSVIEW_CORE SEGGER_SYSVIEW_CORE_OTHER
#endif
/*********************************************************************
*
* Defines, configurable
*
**********************************************************************
*/
/*********************************************************************
*
* SystemView buffer configuration
*/
#define SEGGER_SYSVIEW_RTT_BUFFER_SIZE 1024 // Number of bytes that SystemView uses for the buffer.
#define SEGGER_SYSVIEW_RTT_CHANNEL 1 // The RTT channel that SystemView will use. 0: Auto selection
#define SEGGER_SYSVIEW_USE_STATIC_BUFFER 1 // Use a static buffer to generate events instead of a buffer on the stack
#define SEGGER_SYSVIEW_POST_MORTEM_MODE 0 // 1: Enable post mortem analysis mode
/*********************************************************************
*
* SystemView timestamp configuration
*/
#if SEGGER_SYSVIEW_CORE == SEGGER_SYSVIEW_CORE_CM3
#define SEGGER_SYSVIEW_GET_TIMESTAMP() (*(U32 *)(0xE0001004)) // Retrieve a system timestamp. Cortex-M cycle counter.
#define SEGGER_SYSVIEW_TIMESTAMP_BITS 32 // Define number of valid bits low-order delivered by clock source
#else
#define SEGGER_SYSVIEW_GET_TIMESTAMP() SEGGER_SYSVIEW_X_GetTimestamp() // Retrieve a system timestamp via user-defined function
#define SEGGER_SYSVIEW_TIMESTAMP_BITS 32 // Define number of valid bits low-order delivered by SEGGER_SYSVIEW_X_GetTimestamp()
#endif
/*********************************************************************
*
* SystemView Id configuration
*/
//TODO: optimise it
#define SEGGER_SYSVIEW_ID_BASE SOC_DROM_LOW // Default value for the lowest Id reported by the application. Can be overridden by the application via SEGGER_SYSVIEW_SetRAMBase(). (i.e. 0x20000000 when all Ids are an address in this RAM)
#define SEGGER_SYSVIEW_ID_SHIFT 0 // Number of bits to shift the Id to save bandwidth. (i.e. 2 when Ids are 4 byte aligned)
/*********************************************************************
*
* SystemView interrupt configuration
*/
#if SEGGER_SYSVIEW_CORE == SEGGER_SYSVIEW_CORE_CM3
#define SEGGER_SYSVIEW_GET_INTERRUPT_ID() ((*(U32 *)(0xE000ED04)) & 0x1FF) // Get the currently active interrupt Id. (i.e. read Cortex-M ICSR[8:0] = active vector)
#elif SEGGER_SYSVIEW_CORE == SEGGER_SYSVIEW_CORE_CM0
#if defined(__ICCARM__)
#define SEGGER_SYSVIEW_GET_INTERRUPT_ID() (__get_IPSR()) // Workaround for IAR, which might do a byte-access to 0xE000ED04. Read IPSR instead.
#else
#define SEGGER_SYSVIEW_GET_INTERRUPT_ID() ((*(U32 *)(0xE000ED04)) & 0x3F) // Get the currently active interrupt Id. (i.e. read Cortex-M ICSR[5:0] = active vector)
#endif
#else
#define SEGGER_SYSVIEW_GET_INTERRUPT_ID() SEGGER_SYSVIEW_X_GetInterruptId() // Get the currently active interrupt Id from the user-provided function.
#endif
unsigned SEGGER_SYSVIEW_X_SysView_Lock(void);
void SEGGER_SYSVIEW_X_SysView_Unlock(unsigned int_state);
// to be recursive save IRQ status on the stack of the caller
#define SEGGER_SYSVIEW_LOCK() unsigned _SYSVIEW_int_state = SEGGER_SYSVIEW_X_SysView_Lock()
#define SEGGER_SYSVIEW_UNLOCK() SEGGER_SYSVIEW_X_SysView_Unlock(_SYSVIEW_int_state)
#endif // SEGGER_SYSVIEW_CONF_H
/*************************** End of file ****************************/

View File

@@ -1,155 +1,155 @@
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: V2.42 *
* *
**********************************************************************
----------------------------------------------------------------------
File : SEGGER.h
Purpose : Global types etc & general purpose utility functions
---------------------------END-OF-HEADER------------------------------
*/
#ifndef SEGGER_H // Guard against multiple inclusion
#define SEGGER_H
#include "Global.h" // Type definitions: U8, U16, U32, I8, I16, I32
#if defined(__cplusplus)
extern "C" { /* Make sure we have C-declarations in C++ programs */
#endif
/*********************************************************************
*
* Keywords/specifiers
*
**********************************************************************
*/
#ifndef INLINE
#ifdef _WIN32
//
// Microsoft VC6 and newer.
// Force inlining without cost checking.
//
#define INLINE __forceinline
#else
#if (defined(__ICCARM__) || defined(__CC_ARM) || defined(__GNUC__) || defined(__RX) || defined(__ICCRX__))
//
// Other known compilers.
//
#define INLINE inline
#else
//
// Unknown compilers.
//
#define INLINE
#endif
#endif
#endif
/*********************************************************************
*
* Function-like macros
*
**********************************************************************
*/
#define SEGGER_COUNTOF(a) (sizeof((a))/sizeof((a)[0]))
#define SEGGER_MIN(a,b) (((a) < (b)) ? (a) : (b))
#define SEGGER_MAX(a,b) (((a) > (b)) ? (a) : (b))
/*********************************************************************
*
* Types
*
**********************************************************************
*/
typedef struct {
char *pBuffer;
int BufferSize;
int Cnt;
} SEGGER_BUFFER_DESC;
typedef struct {
int CacheLineSize; // 0: No Cache. Most Systems such as ARM9 use a 32 bytes cache line size.
void (*pfDMB) (void); // Optional DMB function for Data Memory Barrier to make sure all memory operations are completed.
void (*pfClean) (void *p, unsigned NumBytes); // Optional clean function for cached memory.
void (*pfInvalidate)(void *p, unsigned NumBytes); // Optional invalidate function for cached memory.
} SEGGER_CACHE_CONFIG;
/*********************************************************************
*
* Utility functions
*
**********************************************************************
*/
void SEGGER_ARM_memcpy (void *pDest, const void *pSrc, int NumBytes);
void SEGGER_memcpy (void *pDest, const void *pSrc, int NumBytes);
void SEGGER_memxor (void *pDest, const void *pSrc, unsigned NumBytes);
void SEGGER_StoreChar (SEGGER_BUFFER_DESC *p, char c);
void SEGGER_PrintUnsigned(SEGGER_BUFFER_DESC *pBufferDesc, U32 v, unsigned Base, int NumDigits);
void SEGGER_PrintInt (SEGGER_BUFFER_DESC *pBufferDesc, I32 v, unsigned Base, unsigned NumDigits);
int SEGGER_snprintf (char *pBuffer, int BufferSize, const char *sFormat, ...);
#if defined(__cplusplus)
} /* Make sure we have C-declarations in C++ programs */
#endif
#endif // Avoid multiple inclusion
/*************************** End of file ****************************/
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: V2.42 *
* *
**********************************************************************
----------------------------------------------------------------------
File : SEGGER.h
Purpose : Global types etc & general purpose utility functions
---------------------------END-OF-HEADER------------------------------
*/
#ifndef SEGGER_H // Guard against multiple inclusion
#define SEGGER_H
#include "Global.h" // Type definitions: U8, U16, U32, I8, I16, I32
#if defined(__cplusplus)
extern "C" { /* Make sure we have C-declarations in C++ programs */
#endif
/*********************************************************************
*
* Keywords/specifiers
*
**********************************************************************
*/
#ifndef INLINE
#ifdef _WIN32
//
// Microsoft VC6 and newer.
// Force inlining without cost checking.
//
#define INLINE __forceinline
#else
#if (defined(__ICCARM__) || defined(__CC_ARM) || defined(__GNUC__) || defined(__RX) || defined(__ICCRX__))
//
// Other known compilers.
//
#define INLINE inline
#else
//
// Unknown compilers.
//
#define INLINE
#endif
#endif
#endif
/*********************************************************************
*
* Function-like macros
*
**********************************************************************
*/
#define SEGGER_COUNTOF(a) (sizeof((a))/sizeof((a)[0]))
#define SEGGER_MIN(a,b) (((a) < (b)) ? (a) : (b))
#define SEGGER_MAX(a,b) (((a) > (b)) ? (a) : (b))
/*********************************************************************
*
* Types
*
**********************************************************************
*/
typedef struct {
char *pBuffer;
int BufferSize;
int Cnt;
} SEGGER_BUFFER_DESC;
typedef struct {
int CacheLineSize; // 0: No Cache. Most Systems such as ARM9 use a 32 bytes cache line size.
void (*pfDMB) (void); // Optional DMB function for Data Memory Barrier to make sure all memory operations are completed.
void (*pfClean) (void *p, unsigned NumBytes); // Optional clean function for cached memory.
void (*pfInvalidate)(void *p, unsigned NumBytes); // Optional invalidate function for cached memory.
} SEGGER_CACHE_CONFIG;
/*********************************************************************
*
* Utility functions
*
**********************************************************************
*/
void SEGGER_ARM_memcpy (void *pDest, const void *pSrc, int NumBytes);
void SEGGER_memcpy (void *pDest, const void *pSrc, int NumBytes);
void SEGGER_memxor (void *pDest, const void *pSrc, unsigned NumBytes);
void SEGGER_StoreChar (SEGGER_BUFFER_DESC *p, char c);
void SEGGER_PrintUnsigned(SEGGER_BUFFER_DESC *pBufferDesc, U32 v, unsigned Base, int NumDigits);
void SEGGER_PrintInt (SEGGER_BUFFER_DESC *pBufferDesc, I32 v, unsigned Base, unsigned NumDigits);
int SEGGER_snprintf (char *pBuffer, int BufferSize, const char *sFormat, ...);
#if defined(__cplusplus)
} /* Make sure we have C-declarations in C++ programs */
#endif
#endif // Avoid multiple inclusion
/*************************** End of file ****************************/

View File

@@ -160,6 +160,7 @@ unsigned SEGGER_RTT_WriteSkipNoLock (unsigned BufferIndex, const voi
unsigned SEGGER_RTT_WriteString (unsigned BufferIndex, const char* s);
void SEGGER_RTT_WriteWithOverwriteNoLock(unsigned BufferIndex, const void* pBuffer, unsigned NumBytes);
void SEGGER_RTT_ESP32_FlushNoLock (unsigned long min_sz, unsigned long tmo);
void SEGGER_RTT_ESP32_Flush (unsigned long min_sz, unsigned long tmo);
//
// Function macro for performance optimization
//

File diff suppressed because it is too large Load Diff

View File

@@ -1,334 +1,336 @@
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: V2.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW.h
Purpose : System visualization API.
Revision: $Rev: 5626 $
*/
#ifndef SEGGER_SYSVIEW_H
#define SEGGER_SYSVIEW_H
/*********************************************************************
*
* #include Section
*
**********************************************************************
*/
#include "SEGGER.h"
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************************************
*
* Defines, fixed
*
**********************************************************************
*/
#define SEGGER_SYSVIEW_VERSION 21000
#define SEGGER_SYSVIEW_INFO_SIZE 9 // Minimum size, which has to be reserved for a packet. 1-2 byte of message type, 0-2 byte of payload length, 1-5 bytes of timestamp.
#define SEGGER_SYSVIEW_QUANTA_U32 5 // Maximum number of bytes to encode a U32, should be reserved for each 32-bit value in a packet.
#define SEGGER_SYSVIEW_LOG (0u)
#define SEGGER_SYSVIEW_WARNING (1u)
#define SEGGER_SYSVIEW_ERROR (2u)
#define SEGGER_SYSVIEW_FLAG_APPEND (1u << 6)
#define SEGGER_SYSVIEW_PREPARE_PACKET(p) (p) + 4
//
// SystemView events. First 32 IDs from 0 .. 31 are reserved for these
//
#define SYSVIEW_EVTID_NOP 0 // Dummy packet.
#define SYSVIEW_EVTID_OVERFLOW 1
#define SYSVIEW_EVTID_ISR_ENTER 2
#define SYSVIEW_EVTID_ISR_EXIT 3
#define SYSVIEW_EVTID_TASK_START_EXEC 4
#define SYSVIEW_EVTID_TASK_STOP_EXEC 5
#define SYSVIEW_EVTID_TASK_START_READY 6
#define SYSVIEW_EVTID_TASK_STOP_READY 7
#define SYSVIEW_EVTID_TASK_CREATE 8
#define SYSVIEW_EVTID_TASK_INFO 9
#define SYSVIEW_EVTID_TRACE_START 10
#define SYSVIEW_EVTID_TRACE_STOP 11
#define SYSVIEW_EVTID_SYSTIME_CYCLES 12
#define SYSVIEW_EVTID_SYSTIME_US 13
#define SYSVIEW_EVTID_SYSDESC 14
#define SYSVIEW_EVTID_USER_START 15
#define SYSVIEW_EVTID_USER_STOP 16
#define SYSVIEW_EVTID_IDLE 17
#define SYSVIEW_EVTID_ISR_TO_SCHEDULER 18
#define SYSVIEW_EVTID_TIMER_ENTER 19
#define SYSVIEW_EVTID_TIMER_EXIT 20
#define SYSVIEW_EVTID_STACK_INFO 21
#define SYSVIEW_EVTID_MODULEDESC 22
#define SYSVIEW_EVTID_INIT 24
#define SYSVIEW_EVTID_NAME_RESOURCE 25
#define SYSVIEW_EVTID_PRINT_FORMATTED 26
#define SYSVIEW_EVTID_NUMMODULES 27
#define SYSVIEW_EVTID_END_CALL 28
#define SYSVIEW_EVTID_TASK_TERMINATE 29
#define SYSVIEW_EVTID_EX 31
//
// Event masks to disable/enable events
//
#define SYSVIEW_EVTMASK_NOP (1 << SYSVIEW_EVTID_NOP)
#define SYSVIEW_EVTMASK_OVERFLOW (1 << SYSVIEW_EVTID_OVERFLOW)
#define SYSVIEW_EVTMASK_ISR_ENTER (1 << SYSVIEW_EVTID_ISR_ENTER)
#define SYSVIEW_EVTMASK_ISR_EXIT (1 << SYSVIEW_EVTID_ISR_EXIT)
#define SYSVIEW_EVTMASK_TASK_START_EXEC (1 << SYSVIEW_EVTID_TASK_START_EXEC)
#define SYSVIEW_EVTMASK_TASK_STOP_EXEC (1 << SYSVIEW_EVTID_TASK_STOP_EXEC)
#define SYSVIEW_EVTMASK_TASK_START_READY (1 << SYSVIEW_EVTID_TASK_START_READY)
#define SYSVIEW_EVTMASK_TASK_STOP_READY (1 << SYSVIEW_EVTID_TASK_STOP_READY)
#define SYSVIEW_EVTMASK_TASK_CREATE (1 << SYSVIEW_EVTID_TASK_CREATE)
#define SYSVIEW_EVTMASK_TASK_INFO (1 << SYSVIEW_EVTID_TASK_INFO)
#define SYSVIEW_EVTMASK_TRACE_START (1 << SYSVIEW_EVTID_TRACE_START)
#define SYSVIEW_EVTMASK_TRACE_STOP (1 << SYSVIEW_EVTID_TRACE_STOP)
#define SYSVIEW_EVTMASK_SYSTIME_CYCLES (1 << SYSVIEW_EVTID_SYSTIME_CYCLES)
#define SYSVIEW_EVTMASK_SYSTIME_US (1 << SYSVIEW_EVTID_SYSTIME_US)
#define SYSVIEW_EVTMASK_SYSDESC (1 << SYSVIEW_EVTID_SYSDESC)
#define SYSVIEW_EVTMASK_USER_START (1 << SYSVIEW_EVTID_USER_START)
#define SYSVIEW_EVTMASK_USER_STOP (1 << SYSVIEW_EVTID_USER_STOP)
#define SYSVIEW_EVTMASK_IDLE (1 << SYSVIEW_EVTID_IDLE)
#define SYSVIEW_EVTMASK_ISR_TO_SCHEDULER (1 << SYSVIEW_EVTID_ISR_TO_SCHEDULER)
#define SYSVIEW_EVTMASK_TIMER_ENTER (1 << SYSVIEW_EVTID_TIMER_ENTER)
#define SYSVIEW_EVTMASK_TIMER_EXIT (1 << SYSVIEW_EVTID_TIMER_EXIT)
#define SYSVIEW_EVTMASK_STACK_INFO (1 << SYSVIEW_EVTID_STACK_INFO)
#define SYSVIEW_EVTMASK_MODULEDESC (1 << SYSVIEW_EVTID_MODULEDESC)
#define SYSVIEW_EVTMASK_INIT (1 << SYSVIEW_EVTID_INIT)
#define SYSVIEW_EVTMASK_NAME_RESOURCE (1 << SYSVIEW_EVTID_NAME_RESOURCE)
#define SYSVIEW_EVTMASK_PRINT_FORMATTED (1 << SYSVIEW_EVTID_PRINT_FORMATTED)
#define SYSVIEW_EVTMASK_NUMMODULES (1 << SYSVIEW_EVTID_NUMMODULES)
#define SYSVIEW_EVTMASK_END_CALL (1 << SYSVIEW_EVTID_END_CALL)
#define SYSVIEW_EVTMASK_TASK_TERMINATE (1 << SYSVIEW_EVTID_TASK_TERMINATE)
#define SYSVIEW_EVTMASK_EX (1 << SYSVIEW_EVTID_EX)
#define SYSVIEW_EVTMASK_ALL_INTERRUPTS ( SYSVIEW_EVTMASK_ISR_ENTER \
| SYSVIEW_EVTMASK_ISR_EXIT \
| SYSVIEW_EVTMASK_ISR_TO_SCHEDULER)
#define SYSVIEW_EVTMASK_ALL_TASKS ( SYSVIEW_EVTMASK_TASK_START_EXEC \
| SYSVIEW_EVTMASK_TASK_STOP_EXEC \
| SYSVIEW_EVTMASK_TASK_START_READY \
| SYSVIEW_EVTMASK_TASK_STOP_READY \
| SYSVIEW_EVTMASK_TASK_CREATE \
| SYSVIEW_EVTMASK_TASK_INFO \
| SYSVIEW_EVTMASK_STACK_INFO \
| SYSVIEW_EVTMASK_TASK_TERMINATE)
/*********************************************************************
*
* Structures
*
**********************************************************************
*/
typedef struct {
U32 TaskID;
const char* sName;
U32 Prio;
U32 StackBase;
U32 StackSize;
} SEGGER_SYSVIEW_TASKINFO;
typedef struct SEGGER_SYSVIEW_MODULE_STRUCT SEGGER_SYSVIEW_MODULE;
struct SEGGER_SYSVIEW_MODULE_STRUCT {
const char* sModule;
U32 NumEvents;
U32 EventOffset;
void (*pfSendModuleDesc)(void);
SEGGER_SYSVIEW_MODULE* pNext;
};
typedef void (SEGGER_SYSVIEW_SEND_SYS_DESC_FUNC)(void);
/*********************************************************************
*
* API functions
*
**********************************************************************
*/
typedef struct {
U64 (*pfGetTime) (void);
void (*pfSendTaskList) (void);
} SEGGER_SYSVIEW_OS_API;
/*********************************************************************
*
* Control and initialization functions
*/
void SEGGER_SYSVIEW_Init (U32 SysFreq, U32 CPUFreq, const SEGGER_SYSVIEW_OS_API *pOSAPI, SEGGER_SYSVIEW_SEND_SYS_DESC_FUNC pfSendSysDesc);
void SEGGER_SYSVIEW_SetRAMBase (U32 RAMBaseAddress);
void SEGGER_SYSVIEW_Start (void);
void SEGGER_SYSVIEW_Stop (void);
void SEGGER_SYSVIEW_GetSysDesc (void);
void SEGGER_SYSVIEW_SendTaskList (void);
void SEGGER_SYSVIEW_SendTaskInfo (const SEGGER_SYSVIEW_TASKINFO* pInfo);
void SEGGER_SYSVIEW_SendSysDesc (const char* sSysDesc);
/*********************************************************************
*
* Event recording functions
*/
void SEGGER_SYSVIEW_RecordVoid (unsigned int EventId);
void SEGGER_SYSVIEW_RecordU32 (unsigned int EventId, U32 Para0);
void SEGGER_SYSVIEW_RecordU32x2 (unsigned int EventId, U32 Para0, U32 Para1);
void SEGGER_SYSVIEW_RecordU32x3 (unsigned int EventId, U32 Para0, U32 Para1, U32 Para2);
void SEGGER_SYSVIEW_RecordU32x4 (unsigned int EventId, U32 Para0, U32 Para1, U32 Para2, U32 Para3);
void SEGGER_SYSVIEW_RecordU32x5 (unsigned int EventId, U32 Para0, U32 Para1, U32 Para2, U32 Para3, U32 Para4);
void SEGGER_SYSVIEW_RecordU32x6 (unsigned int EventId, U32 Para0, U32 Para1, U32 Para2, U32 Para3, U32 Para4, U32 Para5);
void SEGGER_SYSVIEW_RecordU32x7 (unsigned int EventId, U32 Para0, U32 Para1, U32 Para2, U32 Para3, U32 Para4, U32 Para5, U32 Para6);
void SEGGER_SYSVIEW_RecordU32x8 (unsigned int EventId, U32 Para0, U32 Para1, U32 Para2, U32 Para3, U32 Para4, U32 Para5, U32 Para6, U32 Para7);
void SEGGER_SYSVIEW_RecordU32x9 (unsigned int EventId, U32 Para0, U32 Para1, U32 Para2, U32 Para3, U32 Para4, U32 Para5, U32 Para6, U32 Para7, U32 Para8);
void SEGGER_SYSVIEW_RecordU32x10 (unsigned int EventId, U32 Para0, U32 Para1, U32 Para2, U32 Para3, U32 Para4, U32 Para5, U32 Para6, U32 Para7, U32 Para8, U32 Para9);
void SEGGER_SYSVIEW_RecordString (unsigned int EventId, const char* pString);
void SEGGER_SYSVIEW_RecordSystime (void);
void SEGGER_SYSVIEW_RecordEnterISR (U32 IrqId);
void SEGGER_SYSVIEW_RecordExitISR (void);
void SEGGER_SYSVIEW_RecordExitISRToScheduler (void);
void SEGGER_SYSVIEW_RecordEnterTimer (U32 TimerId);
void SEGGER_SYSVIEW_RecordExitTimer (void);
void SEGGER_SYSVIEW_RecordEndCall (unsigned int EventID);
void SEGGER_SYSVIEW_RecordEndCallU32 (unsigned int EventID, U32 Para0);
void SEGGER_SYSVIEW_OnIdle (void);
void SEGGER_SYSVIEW_OnTaskCreate (U32 TaskId);
void SEGGER_SYSVIEW_OnTaskTerminate (U32 TaskId);
void SEGGER_SYSVIEW_OnTaskStartExec (U32 TaskId);
void SEGGER_SYSVIEW_OnTaskStopExec (void);
void SEGGER_SYSVIEW_OnTaskStartReady (U32 TaskId);
void SEGGER_SYSVIEW_OnTaskStopReady (U32 TaskId, unsigned int Cause);
void SEGGER_SYSVIEW_OnUserStart (unsigned int UserId); // Start of user defined event (such as a subroutine to profile)
void SEGGER_SYSVIEW_OnUserStop (unsigned int UserId); // Start of user defined event
void SEGGER_SYSVIEW_NameResource (U32 ResourceId, const char* sName);
int SEGGER_SYSVIEW_SendPacket (U8* pPacket, U8* pPayloadEnd, unsigned int EventId);
/*********************************************************************
*
* Event parameter encoding functions
*/
U8* SEGGER_SYSVIEW_EncodeU32 (U8* pPayload, U32 Value);
U8* SEGGER_SYSVIEW_EncodeData (U8* pPayload, const char* pSrc, unsigned int Len);
U8* SEGGER_SYSVIEW_EncodeString (U8* pPayload, const char* s, unsigned int MaxLen);
U8* SEGGER_SYSVIEW_EncodeId (U8* pPayload, U32 Id);
U32 SEGGER_SYSVIEW_ShrinkId (U32 Id);
/*********************************************************************
*
* Middleware module registration
*/
void SEGGER_SYSVIEW_RegisterModule (SEGGER_SYSVIEW_MODULE* pModule);
void SEGGER_SYSVIEW_RecordModuleDescription (const SEGGER_SYSVIEW_MODULE* pModule, const char* sDescription);
void SEGGER_SYSVIEW_SendModule (U8 ModuleId);
void SEGGER_SYSVIEW_SendModuleDescription (void);
void SEGGER_SYSVIEW_SendNumModules (void);
/*********************************************************************
*
* printf-Style functions
*/
#ifndef SEGGER_SYSVIEW_EXCLUDE_PRINTF // Define in project to avoid warnings about variable parameter list
void SEGGER_SYSVIEW_PrintfHostEx (const char* s, U32 Options, ...);
void SEGGER_SYSVIEW_PrintfTargetEx (const char* s, U32 Options, ...);
void SEGGER_SYSVIEW_PrintfHost (const char* s, ...);
void SEGGER_SYSVIEW_PrintfTarget (const char* s, ...);
void SEGGER_SYSVIEW_WarnfHost (const char* s, ...);
void SEGGER_SYSVIEW_WarnfTarget (const char* s, ...);
void SEGGER_SYSVIEW_ErrorfHost (const char* s, ...);
void SEGGER_SYSVIEW_ErrorfTarget (const char* s, ...);
#endif
void SEGGER_SYSVIEW_Print (const char* s);
void SEGGER_SYSVIEW_Warn (const char* s);
void SEGGER_SYSVIEW_Error (const char* s);
/*********************************************************************
*
* Run-time configuration functions
*/
void SEGGER_SYSVIEW_EnableEvents (U32 EnableMask);
void SEGGER_SYSVIEW_DisableEvents (U32 DisableMask);
/*********************************************************************
*
* Application-provided functions
*/
void SEGGER_SYSVIEW_Conf (void);
U32 SEGGER_SYSVIEW_X_GetTimestamp (void);
U32 SEGGER_SYSVIEW_X_GetInterruptId (void);
#ifdef __cplusplus
}
#endif
#endif
/*************************** End of file ****************************/
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: V2.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW.h
Purpose : System visualization API.
Revision: $Rev: 5626 $
*/
#ifndef SEGGER_SYSVIEW_H
#define SEGGER_SYSVIEW_H
/*********************************************************************
*
* #include Section
*
**********************************************************************
*/
#include "SEGGER.h"
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************************************
*
* Defines, fixed
*
**********************************************************************
*/
#define SEGGER_SYSVIEW_VERSION 21000
#define SEGGER_SYSVIEW_INFO_SIZE 9 // Minimum size, which has to be reserved for a packet. 1-2 byte of message type, 0-2 byte of payload length, 1-5 bytes of timestamp.
#define SEGGER_SYSVIEW_QUANTA_U32 5 // Maximum number of bytes to encode a U32, should be reserved for each 32-bit value in a packet.
#define SEGGER_SYSVIEW_LOG (0u)
#define SEGGER_SYSVIEW_WARNING (1u)
#define SEGGER_SYSVIEW_ERROR (2u)
#define SEGGER_SYSVIEW_FLAG_APPEND (1u << 6)
#define SEGGER_SYSVIEW_PREPARE_PACKET(p) (p) + 4
//
// SystemView events. First 32 IDs from 0 .. 31 are reserved for these
//
#define SYSVIEW_EVTID_NOP 0 // Dummy packet.
#define SYSVIEW_EVTID_OVERFLOW 1
#define SYSVIEW_EVTID_ISR_ENTER 2
#define SYSVIEW_EVTID_ISR_EXIT 3
#define SYSVIEW_EVTID_TASK_START_EXEC 4
#define SYSVIEW_EVTID_TASK_STOP_EXEC 5
#define SYSVIEW_EVTID_TASK_START_READY 6
#define SYSVIEW_EVTID_TASK_STOP_READY 7
#define SYSVIEW_EVTID_TASK_CREATE 8
#define SYSVIEW_EVTID_TASK_INFO 9
#define SYSVIEW_EVTID_TRACE_START 10
#define SYSVIEW_EVTID_TRACE_STOP 11
#define SYSVIEW_EVTID_SYSTIME_CYCLES 12
#define SYSVIEW_EVTID_SYSTIME_US 13
#define SYSVIEW_EVTID_SYSDESC 14
#define SYSVIEW_EVTID_USER_START 15
#define SYSVIEW_EVTID_USER_STOP 16
#define SYSVIEW_EVTID_IDLE 17
#define SYSVIEW_EVTID_ISR_TO_SCHEDULER 18
#define SYSVIEW_EVTID_TIMER_ENTER 19
#define SYSVIEW_EVTID_TIMER_EXIT 20
#define SYSVIEW_EVTID_STACK_INFO 21
#define SYSVIEW_EVTID_MODULEDESC 22
#define SYSVIEW_EVTID_INIT 24
#define SYSVIEW_EVTID_NAME_RESOURCE 25
#define SYSVIEW_EVTID_PRINT_FORMATTED 26
#define SYSVIEW_EVTID_NUMMODULES 27
#define SYSVIEW_EVTID_END_CALL 28
#define SYSVIEW_EVTID_TASK_TERMINATE 29
#define SYSVIEW_EVTID_EX 31
//
// Event masks to disable/enable events
//
#define SYSVIEW_EVTMASK_NOP (1 << SYSVIEW_EVTID_NOP)
#define SYSVIEW_EVTMASK_OVERFLOW (1 << SYSVIEW_EVTID_OVERFLOW)
#define SYSVIEW_EVTMASK_ISR_ENTER (1 << SYSVIEW_EVTID_ISR_ENTER)
#define SYSVIEW_EVTMASK_ISR_EXIT (1 << SYSVIEW_EVTID_ISR_EXIT)
#define SYSVIEW_EVTMASK_TASK_START_EXEC (1 << SYSVIEW_EVTID_TASK_START_EXEC)
#define SYSVIEW_EVTMASK_TASK_STOP_EXEC (1 << SYSVIEW_EVTID_TASK_STOP_EXEC)
#define SYSVIEW_EVTMASK_TASK_START_READY (1 << SYSVIEW_EVTID_TASK_START_READY)
#define SYSVIEW_EVTMASK_TASK_STOP_READY (1 << SYSVIEW_EVTID_TASK_STOP_READY)
#define SYSVIEW_EVTMASK_TASK_CREATE (1 << SYSVIEW_EVTID_TASK_CREATE)
#define SYSVIEW_EVTMASK_TASK_INFO (1 << SYSVIEW_EVTID_TASK_INFO)
#define SYSVIEW_EVTMASK_TRACE_START (1 << SYSVIEW_EVTID_TRACE_START)
#define SYSVIEW_EVTMASK_TRACE_STOP (1 << SYSVIEW_EVTID_TRACE_STOP)
#define SYSVIEW_EVTMASK_SYSTIME_CYCLES (1 << SYSVIEW_EVTID_SYSTIME_CYCLES)
#define SYSVIEW_EVTMASK_SYSTIME_US (1 << SYSVIEW_EVTID_SYSTIME_US)
#define SYSVIEW_EVTMASK_SYSDESC (1 << SYSVIEW_EVTID_SYSDESC)
#define SYSVIEW_EVTMASK_USER_START (1 << SYSVIEW_EVTID_USER_START)
#define SYSVIEW_EVTMASK_USER_STOP (1 << SYSVIEW_EVTID_USER_STOP)
#define SYSVIEW_EVTMASK_IDLE (1 << SYSVIEW_EVTID_IDLE)
#define SYSVIEW_EVTMASK_ISR_TO_SCHEDULER (1 << SYSVIEW_EVTID_ISR_TO_SCHEDULER)
#define SYSVIEW_EVTMASK_TIMER_ENTER (1 << SYSVIEW_EVTID_TIMER_ENTER)
#define SYSVIEW_EVTMASK_TIMER_EXIT (1 << SYSVIEW_EVTID_TIMER_EXIT)
#define SYSVIEW_EVTMASK_STACK_INFO (1 << SYSVIEW_EVTID_STACK_INFO)
#define SYSVIEW_EVTMASK_MODULEDESC (1 << SYSVIEW_EVTID_MODULEDESC)
#define SYSVIEW_EVTMASK_INIT (1 << SYSVIEW_EVTID_INIT)
#define SYSVIEW_EVTMASK_NAME_RESOURCE (1 << SYSVIEW_EVTID_NAME_RESOURCE)
#define SYSVIEW_EVTMASK_PRINT_FORMATTED (1 << SYSVIEW_EVTID_PRINT_FORMATTED)
#define SYSVIEW_EVTMASK_NUMMODULES (1 << SYSVIEW_EVTID_NUMMODULES)
#define SYSVIEW_EVTMASK_END_CALL (1 << SYSVIEW_EVTID_END_CALL)
#define SYSVIEW_EVTMASK_TASK_TERMINATE (1 << SYSVIEW_EVTID_TASK_TERMINATE)
#define SYSVIEW_EVTMASK_EX (1 << SYSVIEW_EVTID_EX)
#define SYSVIEW_EVTMASK_ALL_INTERRUPTS ( SYSVIEW_EVTMASK_ISR_ENTER \
| SYSVIEW_EVTMASK_ISR_EXIT \
| SYSVIEW_EVTMASK_ISR_TO_SCHEDULER)
#define SYSVIEW_EVTMASK_ALL_TASKS ( SYSVIEW_EVTMASK_TASK_START_EXEC \
| SYSVIEW_EVTMASK_TASK_STOP_EXEC \
| SYSVIEW_EVTMASK_TASK_START_READY \
| SYSVIEW_EVTMASK_TASK_STOP_READY \
| SYSVIEW_EVTMASK_TASK_CREATE \
| SYSVIEW_EVTMASK_TASK_INFO \
| SYSVIEW_EVTMASK_STACK_INFO \
| SYSVIEW_EVTMASK_TASK_TERMINATE)
/*********************************************************************
*
* Structures
*
**********************************************************************
*/
typedef struct {
U32 TaskID;
const char* sName;
U32 Prio;
U32 StackBase;
U32 StackSize;
} SEGGER_SYSVIEW_TASKINFO;
typedef struct SEGGER_SYSVIEW_MODULE_STRUCT SEGGER_SYSVIEW_MODULE;
struct SEGGER_SYSVIEW_MODULE_STRUCT {
const char* sModule;
U32 NumEvents;
U32 EventOffset;
void (*pfSendModuleDesc)(void);
SEGGER_SYSVIEW_MODULE* pNext;
};
typedef void (SEGGER_SYSVIEW_SEND_SYS_DESC_FUNC)(void);
/*********************************************************************
*
* API functions
*
**********************************************************************
*/
typedef struct {
U64 (*pfGetTime) (void);
void (*pfSendTaskList) (void);
} SEGGER_SYSVIEW_OS_API;
/*********************************************************************
*
* Control and initialization functions
*/
void SEGGER_SYSVIEW_Init (U32 SysFreq, U32 CPUFreq, const SEGGER_SYSVIEW_OS_API *pOSAPI, SEGGER_SYSVIEW_SEND_SYS_DESC_FUNC pfSendSysDesc);
void SEGGER_SYSVIEW_SetRAMBase (U32 RAMBaseAddress);
void SEGGER_SYSVIEW_Start (void);
void SEGGER_SYSVIEW_Stop (void);
void SEGGER_SYSVIEW_GetSysDesc (void);
void SEGGER_SYSVIEW_SendTaskList (void);
void SEGGER_SYSVIEW_SendTaskInfo (const SEGGER_SYSVIEW_TASKINFO* pInfo);
void SEGGER_SYSVIEW_SendSysDesc (const char* sSysDesc);
// Checks whether tracing has been started
U8 SEGGER_SYSVIEW_Started(void);
/*********************************************************************
*
* Event recording functions
*/
void SEGGER_SYSVIEW_RecordVoid (unsigned int EventId);
void SEGGER_SYSVIEW_RecordU32 (unsigned int EventId, U32 Para0);
void SEGGER_SYSVIEW_RecordU32x2 (unsigned int EventId, U32 Para0, U32 Para1);
void SEGGER_SYSVIEW_RecordU32x3 (unsigned int EventId, U32 Para0, U32 Para1, U32 Para2);
void SEGGER_SYSVIEW_RecordU32x4 (unsigned int EventId, U32 Para0, U32 Para1, U32 Para2, U32 Para3);
void SEGGER_SYSVIEW_RecordU32x5 (unsigned int EventId, U32 Para0, U32 Para1, U32 Para2, U32 Para3, U32 Para4);
void SEGGER_SYSVIEW_RecordU32x6 (unsigned int EventId, U32 Para0, U32 Para1, U32 Para2, U32 Para3, U32 Para4, U32 Para5);
void SEGGER_SYSVIEW_RecordU32x7 (unsigned int EventId, U32 Para0, U32 Para1, U32 Para2, U32 Para3, U32 Para4, U32 Para5, U32 Para6);
void SEGGER_SYSVIEW_RecordU32x8 (unsigned int EventId, U32 Para0, U32 Para1, U32 Para2, U32 Para3, U32 Para4, U32 Para5, U32 Para6, U32 Para7);
void SEGGER_SYSVIEW_RecordU32x9 (unsigned int EventId, U32 Para0, U32 Para1, U32 Para2, U32 Para3, U32 Para4, U32 Para5, U32 Para6, U32 Para7, U32 Para8);
void SEGGER_SYSVIEW_RecordU32x10 (unsigned int EventId, U32 Para0, U32 Para1, U32 Para2, U32 Para3, U32 Para4, U32 Para5, U32 Para6, U32 Para7, U32 Para8, U32 Para9);
void SEGGER_SYSVIEW_RecordString (unsigned int EventId, const char* pString);
void SEGGER_SYSVIEW_RecordSystime (void);
void SEGGER_SYSVIEW_RecordEnterISR (U32 IrqId);
void SEGGER_SYSVIEW_RecordExitISR (void);
void SEGGER_SYSVIEW_RecordExitISRToScheduler (void);
void SEGGER_SYSVIEW_RecordEnterTimer (U32 TimerId);
void SEGGER_SYSVIEW_RecordExitTimer (void);
void SEGGER_SYSVIEW_RecordEndCall (unsigned int EventID);
void SEGGER_SYSVIEW_RecordEndCallU32 (unsigned int EventID, U32 Para0);
void SEGGER_SYSVIEW_OnIdle (void);
void SEGGER_SYSVIEW_OnTaskCreate (U32 TaskId);
void SEGGER_SYSVIEW_OnTaskTerminate (U32 TaskId);
void SEGGER_SYSVIEW_OnTaskStartExec (U32 TaskId);
void SEGGER_SYSVIEW_OnTaskStopExec (void);
void SEGGER_SYSVIEW_OnTaskStartReady (U32 TaskId);
void SEGGER_SYSVIEW_OnTaskStopReady (U32 TaskId, unsigned int Cause);
void SEGGER_SYSVIEW_OnUserStart (unsigned int UserId); // Start of user defined event (such as a subroutine to profile)
void SEGGER_SYSVIEW_OnUserStop (unsigned int UserId); // Start of user defined event
void SEGGER_SYSVIEW_NameResource (U32 ResourceId, const char* sName);
int SEGGER_SYSVIEW_SendPacket (U8* pPacket, U8* pPayloadEnd, unsigned int EventId);
/*********************************************************************
*
* Event parameter encoding functions
*/
U8* SEGGER_SYSVIEW_EncodeU32 (U8* pPayload, U32 Value);
U8* SEGGER_SYSVIEW_EncodeData (U8* pPayload, const char* pSrc, unsigned int Len);
U8* SEGGER_SYSVIEW_EncodeString (U8* pPayload, const char* s, unsigned int MaxLen);
U8* SEGGER_SYSVIEW_EncodeId (U8* pPayload, U32 Id);
U32 SEGGER_SYSVIEW_ShrinkId (U32 Id);
/*********************************************************************
*
* Middleware module registration
*/
void SEGGER_SYSVIEW_RegisterModule (SEGGER_SYSVIEW_MODULE* pModule);
void SEGGER_SYSVIEW_RecordModuleDescription (const SEGGER_SYSVIEW_MODULE* pModule, const char* sDescription);
void SEGGER_SYSVIEW_SendModule (U8 ModuleId);
void SEGGER_SYSVIEW_SendModuleDescription (void);
void SEGGER_SYSVIEW_SendNumModules (void);
/*********************************************************************
*
* printf-Style functions
*/
#ifndef SEGGER_SYSVIEW_EXCLUDE_PRINTF // Define in project to avoid warnings about variable parameter list
void SEGGER_SYSVIEW_PrintfHostEx (const char* s, U32 Options, ...);
void SEGGER_SYSVIEW_PrintfTargetEx (const char* s, U32 Options, ...);
void SEGGER_SYSVIEW_PrintfHost (const char* s, ...);
void SEGGER_SYSVIEW_PrintfTarget (const char* s, ...);
void SEGGER_SYSVIEW_WarnfHost (const char* s, ...);
void SEGGER_SYSVIEW_WarnfTarget (const char* s, ...);
void SEGGER_SYSVIEW_ErrorfHost (const char* s, ...);
void SEGGER_SYSVIEW_ErrorfTarget (const char* s, ...);
#endif
void SEGGER_SYSVIEW_Print (const char* s);
void SEGGER_SYSVIEW_Warn (const char* s);
void SEGGER_SYSVIEW_Error (const char* s);
/*********************************************************************
*
* Run-time configuration functions
*/
void SEGGER_SYSVIEW_EnableEvents (U32 EnableMask);
void SEGGER_SYSVIEW_DisableEvents (U32 DisableMask);
/*********************************************************************
*
* Application-provided functions
*/
void SEGGER_SYSVIEW_Conf (void);
U32 SEGGER_SYSVIEW_X_GetTimestamp (void);
U32 SEGGER_SYSVIEW_X_GetInterruptId (void);
#ifdef __cplusplus
}
#endif
#endif
/*************************** End of file ****************************/

View File

@@ -1,178 +1,178 @@
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: V2.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW_ConfDefaults.h
Purpose : Defines defaults for configurable defines used in
SEGGER SystemView.
Revision: $Rev: 3734 $
*/
#ifndef SEGGER_SYSVIEW_CONFDEFAULTS_H
#define SEGGER_SYSVIEW_CONFDEFAULTS_H
/*********************************************************************
*
* #include Section
*
**********************************************************************
*/
#include "SEGGER_SYSVIEW_Conf.h"
#include "SEGGER_RTT_Conf.h"
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************************************
*
* Configuration defaults
*
**********************************************************************
*/
// Number of bytes that SystemView uses for a buffer.
#ifndef SEGGER_SYSVIEW_RTT_BUFFER_SIZE
#define SEGGER_SYSVIEW_RTT_BUFFER_SIZE 1024
#endif
// The RTT channel that SystemView will use.
#ifndef SEGGER_SYSVIEW_RTT_CHANNEL
#define SEGGER_SYSVIEW_RTT_CHANNEL 0
#endif
// Sanity check of RTT channel
#if (SEGGER_SYSVIEW_RTT_CHANNEL == 0) && (SEGGER_RTT_MAX_NUM_UP_BUFFERS < 2)
#error "SEGGER_RTT_MAX_NUM_UP_BUFFERS in SEGGER_RTT_Conf.h has to be > 1!"
#elif (SEGGER_SYSVIEW_RTT_CHANNEL >= SEGGER_RTT_MAX_NUM_UP_BUFFERS)
#error "SEGGER_RTT_MAX_NUM_UP_BUFFERS in SEGGER_RTT_Conf.h has to be > SEGGER_SYSVIEW_RTT_CHANNEL!"
#endif
// Place the SystemView buffer into its own/the RTT section
#if !(defined SEGGER_SYSVIEW_BUFFER_SECTION) && (defined SEGGER_RTT_SECTION)
#define SEGGER_SYSVIEW_BUFFER_SECTION SEGGER_RTT_SECTION
#endif
// Retrieve a system timestamp. This gets the Cortex-M cycle counter.
#ifndef SEGGER_SYSVIEW_GET_TIMESTAMP
#error "SEGGER_SYSVIEW_GET_TIMESTAMP has to be defined in SEGGER_SYSVIEW_Conf.h!"
#endif
// Define number of valid bits low-order delivered by clock source.
#ifndef SEGGER_SYSVIEW_TIMESTAMP_BITS
#define SEGGER_SYSVIEW_TIMESTAMP_BITS 32
#endif
// Lowest Id reported by the Application.
#ifndef SEGGER_SYSVIEW_ID_BASE
#define SEGGER_SYSVIEW_ID_BASE 0
#endif
// Number of bits to shift Ids to save bandwidth
#ifndef SEGGER_SYSVIEW_ID_SHIFT
#define SEGGER_SYSVIEW_ID_SHIFT 0
#endif
#ifndef SEGGER_SYSVIEW_GET_INTERRUPT_ID
#error "SEGGER_SYSVIEW_GET_INTERRUPT_ID has to be defined in SEGGER_SYSVIEW_Conf.h!"
#endif
#ifndef SEGGER_SYSVIEW_MAX_ARGUMENTS
#define SEGGER_SYSVIEW_MAX_ARGUMENTS 16
#endif
#ifndef SEGGER_SYSVIEW_MAX_STRING_LEN
#define SEGGER_SYSVIEW_MAX_STRING_LEN 128
#endif
// Use a static buffer instead of a buffer on the stack for packets
#ifndef SEGGER_SYSVIEW_USE_STATIC_BUFFER
#define SEGGER_SYSVIEW_USE_STATIC_BUFFER 1
#endif
// Maximum packet size used by SystemView for the static buffer
#ifndef SEGGER_SYSVIEW_MAX_PACKET_SIZE
#define SEGGER_SYSVIEW_MAX_PACKET_SIZE SEGGER_SYSVIEW_INFO_SIZE + SEGGER_SYSVIEW_MAX_STRING_LEN + 2 * SEGGER_SYSVIEW_QUANTA_U32 + SEGGER_SYSVIEW_MAX_ARGUMENTS * SEGGER_SYSVIEW_QUANTA_U32
#endif
// Use post-mortem analysis instead of real-time analysis
#ifndef SEGGER_SYSVIEW_POST_MORTEM_MODE
#define SEGGER_SYSVIEW_POST_MORTEM_MODE 0
#endif
// Configure how frequently syncronization is sent
#ifndef SEGGER_SYSVIEW_SYNC_PERIOD_SHIFT
#define SEGGER_SYSVIEW_SYNC_PERIOD_SHIFT 8
#endif
// Lock SystemView (nestable)
#ifndef SEGGER_SYSVIEW_LOCK
#define SEGGER_SYSVIEW_LOCK() SEGGER_RTT_LOCK()
#endif
// Unlock SystemView (nestable)
#ifndef SEGGER_SYSVIEW_UNLOCK
#define SEGGER_SYSVIEW_UNLOCK() SEGGER_RTT_UNLOCK()
#endif
#ifdef __cplusplus
}
#endif
#endif
/*************************** End of file ****************************/
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: V2.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW_ConfDefaults.h
Purpose : Defines defaults for configurable defines used in
SEGGER SystemView.
Revision: $Rev: 3734 $
*/
#ifndef SEGGER_SYSVIEW_CONFDEFAULTS_H
#define SEGGER_SYSVIEW_CONFDEFAULTS_H
/*********************************************************************
*
* #include Section
*
**********************************************************************
*/
#include "SEGGER_SYSVIEW_Conf.h"
#include "SEGGER_RTT_Conf.h"
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************************************
*
* Configuration defaults
*
**********************************************************************
*/
// Number of bytes that SystemView uses for a buffer.
#ifndef SEGGER_SYSVIEW_RTT_BUFFER_SIZE
#define SEGGER_SYSVIEW_RTT_BUFFER_SIZE 1024
#endif
// The RTT channel that SystemView will use.
#ifndef SEGGER_SYSVIEW_RTT_CHANNEL
#define SEGGER_SYSVIEW_RTT_CHANNEL 0
#endif
// Sanity check of RTT channel
#if (SEGGER_SYSVIEW_RTT_CHANNEL == 0) && (SEGGER_RTT_MAX_NUM_UP_BUFFERS < 2)
#error "SEGGER_RTT_MAX_NUM_UP_BUFFERS in SEGGER_RTT_Conf.h has to be > 1!"
#elif (SEGGER_SYSVIEW_RTT_CHANNEL >= SEGGER_RTT_MAX_NUM_UP_BUFFERS)
#error "SEGGER_RTT_MAX_NUM_UP_BUFFERS in SEGGER_RTT_Conf.h has to be > SEGGER_SYSVIEW_RTT_CHANNEL!"
#endif
// Place the SystemView buffer into its own/the RTT section
#if !(defined SEGGER_SYSVIEW_BUFFER_SECTION) && (defined SEGGER_RTT_SECTION)
#define SEGGER_SYSVIEW_BUFFER_SECTION SEGGER_RTT_SECTION
#endif
// Retrieve a system timestamp. This gets the Cortex-M cycle counter.
#ifndef SEGGER_SYSVIEW_GET_TIMESTAMP
#error "SEGGER_SYSVIEW_GET_TIMESTAMP has to be defined in SEGGER_SYSVIEW_Conf.h!"
#endif
// Define number of valid bits low-order delivered by clock source.
#ifndef SEGGER_SYSVIEW_TIMESTAMP_BITS
#define SEGGER_SYSVIEW_TIMESTAMP_BITS 32
#endif
// Lowest Id reported by the Application.
#ifndef SEGGER_SYSVIEW_ID_BASE
#define SEGGER_SYSVIEW_ID_BASE 0
#endif
// Number of bits to shift Ids to save bandwidth
#ifndef SEGGER_SYSVIEW_ID_SHIFT
#define SEGGER_SYSVIEW_ID_SHIFT 0
#endif
#ifndef SEGGER_SYSVIEW_GET_INTERRUPT_ID
#error "SEGGER_SYSVIEW_GET_INTERRUPT_ID has to be defined in SEGGER_SYSVIEW_Conf.h!"
#endif
#ifndef SEGGER_SYSVIEW_MAX_ARGUMENTS
#define SEGGER_SYSVIEW_MAX_ARGUMENTS 16
#endif
#ifndef SEGGER_SYSVIEW_MAX_STRING_LEN
#define SEGGER_SYSVIEW_MAX_STRING_LEN 128
#endif
// Use a static buffer instead of a buffer on the stack for packets
#ifndef SEGGER_SYSVIEW_USE_STATIC_BUFFER
#define SEGGER_SYSVIEW_USE_STATIC_BUFFER 1
#endif
// Maximum packet size used by SystemView for the static buffer
#ifndef SEGGER_SYSVIEW_MAX_PACKET_SIZE
#define SEGGER_SYSVIEW_MAX_PACKET_SIZE SEGGER_SYSVIEW_INFO_SIZE + SEGGER_SYSVIEW_MAX_STRING_LEN + 2 * SEGGER_SYSVIEW_QUANTA_U32 + SEGGER_SYSVIEW_MAX_ARGUMENTS * SEGGER_SYSVIEW_QUANTA_U32
#endif
// Use post-mortem analysis instead of real-time analysis
#ifndef SEGGER_SYSVIEW_POST_MORTEM_MODE
#define SEGGER_SYSVIEW_POST_MORTEM_MODE 0
#endif
// Configure how frequently syncronization is sent
#ifndef SEGGER_SYSVIEW_SYNC_PERIOD_SHIFT
#define SEGGER_SYSVIEW_SYNC_PERIOD_SHIFT 8
#endif
// Lock SystemView (nestable)
#ifndef SEGGER_SYSVIEW_LOCK
#define SEGGER_SYSVIEW_LOCK() SEGGER_RTT_LOCK()
#endif
// Unlock SystemView (nestable)
#ifndef SEGGER_SYSVIEW_UNLOCK
#define SEGGER_SYSVIEW_UNLOCK() SEGGER_RTT_UNLOCK()
#endif
#ifdef __cplusplus
}
#endif
#endif
/*************************** End of file ****************************/

View File

@@ -1,110 +1,110 @@
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: V2.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW_Int.h
Purpose : SEGGER SystemView internal header.
Revision: $Rev: 5626 $
*/
#ifndef SEGGER_SYSVIEW_INT_H
#define SEGGER_SYSVIEW_INT_H
/*********************************************************************
*
* #include Section
*
**********************************************************************
*/
#include "SEGGER_SYSVIEW.h"
#include "SEGGER_SYSVIEW_Conf.h"
#include "SEGGER_SYSVIEW_ConfDefaults.h"
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************************************
*
* Private data types
*
**********************************************************************
*/
//
// Commands that Host can send to target
//
typedef enum {
SEGGER_SYSVIEW_COMMAND_ID_START = 1,
SEGGER_SYSVIEW_COMMAND_ID_STOP,
SEGGER_SYSVIEW_COMMAND_ID_GET_SYSTIME,
SEGGER_SYSVIEW_COMMAND_ID_GET_TASKLIST,
SEGGER_SYSVIEW_COMMAND_ID_GET_SYSDESC,
SEGGER_SYSVIEW_COMMAND_ID_GET_NUMMODULES,
SEGGER_SYSVIEW_COMMAND_ID_GET_MODULEDESC,
// Extended commands: Commands >= 128 have a second parameter
SEGGER_SYSVIEW_COMMAND_ID_GET_MODULE = 128
} SEGGER_SYSVIEW_COMMAND_ID;
#ifdef __cplusplus
}
#endif
#endif
/*************************** End of file ****************************/
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: V2.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW_Int.h
Purpose : SEGGER SystemView internal header.
Revision: $Rev: 5626 $
*/
#ifndef SEGGER_SYSVIEW_INT_H
#define SEGGER_SYSVIEW_INT_H
/*********************************************************************
*
* #include Section
*
**********************************************************************
*/
#include "SEGGER_SYSVIEW.h"
#include "SEGGER_SYSVIEW_Conf.h"
#include "SEGGER_SYSVIEW_ConfDefaults.h"
#ifdef __cplusplus
extern "C" {
#endif
/*********************************************************************
*
* Private data types
*
**********************************************************************
*/
//
// Commands that Host can send to target
//
typedef enum {
SEGGER_SYSVIEW_COMMAND_ID_START = 1,
SEGGER_SYSVIEW_COMMAND_ID_STOP,
SEGGER_SYSVIEW_COMMAND_ID_GET_SYSTIME,
SEGGER_SYSVIEW_COMMAND_ID_GET_TASKLIST,
SEGGER_SYSVIEW_COMMAND_ID_GET_SYSDESC,
SEGGER_SYSVIEW_COMMAND_ID_GET_NUMMODULES,
SEGGER_SYSVIEW_COMMAND_ID_GET_MODULEDESC,
// Extended commands: Commands >= 128 have a second parameter
SEGGER_SYSVIEW_COMMAND_ID_GET_MODULE = 128
} SEGGER_SYSVIEW_COMMAND_ID;
#ifdef __cplusplus
}
#endif
#endif
/*************************** End of file ****************************/

View File

@@ -63,14 +63,26 @@ Revision: $Rev: 3734 $
*/
#include "freertos/FreeRTOS.h"
#include "SEGGER_SYSVIEW.h"
#include "rom/ets_sys.h"
#if CONFIG_FREERTOS_UNICORE == 0
#include "driver/timer.h"
#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"
#endif
#include "esp_app_trace.h"
#include "esp_app_trace_util.h"
#include "esp_intr_alloc.h"
#include "esp_clk.h"
#include "soc/soc.h"
#include "soc/interrupts.h"
#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"
#endif
extern const SEGGER_SYSVIEW_OS_API SYSVIEW_X_OS_TraceAPI;
@@ -84,17 +96,60 @@ extern const SEGGER_SYSVIEW_OS_API SYSVIEW_X_OS_TraceAPI;
#define SYSVIEW_APP_NAME "FreeRTOS Application"
// The target device name
#define SYSVIEW_DEVICE_NAME "ESP32"
#define SYSVIEW_DEVICE_NAME CONFIG_IDF_TARGET
// Determine which timer to use as timestamp source
#if CONFIG_SYSVIEW_TS_SOURCE_CCOUNT
#define TS_USE_CCOUNT 1
#elif CONFIG_SYSVIEW_TS_SOURCE_ESP_TIMER
#define TS_USE_ESP_TIMER 1
#else
#define TS_USE_TIMERGROUP 1
#endif
#if TS_USE_TIMERGROUP
#include "driver/timer.h"
// Timer group timer divisor
#define SYSVIEW_TIMER_DIV 2
// Frequency of the timestamp.
#define SYSVIEW_TIMESTAMP_FREQ (esp_clk_apb_freq() / SYSVIEW_TIMER_DIV)
// Timer ID and group ID
#if defined(CONFIG_SYSVIEW_TS_SOURCE_TIMER_00) || defined(CONFIG_SYSVIEW_TS_SOURCE_TIMER_01)
#define TS_TIMER_ID 0
#else
#define TS_TIMER_ID 1
#endif // TIMER_00 || TIMER_01
#if defined(CONFIG_SYSVIEW_TS_SOURCE_TIMER_00) || defined(CONFIG_SYSVIEW_TS_SOURCE_TIMER_10)
#define TS_TIMER_GROUP 0
#else
#define TS_TIMER_GROUP 1
#endif // TIMER_00 || TIMER_10
#endif // TS_USE_TIMERGROUP
#if TS_USE_ESP_TIMER
// esp_timer provides 1us resolution
#define SYSVIEW_TIMESTAMP_FREQ (1000000)
#endif // TS_USE_ESP_TIMER
#if TS_USE_CCOUNT
// 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
#define SYSVIEW_TIMESTAMP_FREQ (CONFIG_ESP32S2_DEFAULT_CPU_FREQ_MHZ * 1000000)
#endif
#endif // TS_USE_CCOUNT
// System Frequency.
#define SYSVIEW_CPU_FREQ (esp_clk_cpu_freq())
// The lowest RAM address used for IDs (pointers)
#define SYSVIEW_RAM_BASE (0x3F400000)
#define SYSVIEW_RAM_BASE (SOC_DROM_LOW)
#if CONFIG_FREERTOS_CORETIMER_0
#define SYSTICK_INTR_ID (ETS_INTERNAL_TIMER0_INTR_SOURCE+ETS_INTERNAL_INTR_SOURCE_OFF)
@@ -103,89 +158,14 @@ extern const SEGGER_SYSVIEW_OS_API SYSVIEW_X_OS_TraceAPI;
#define SYSTICK_INTR_ID (ETS_INTERNAL_TIMER1_INTR_SOURCE+ETS_INTERNAL_INTR_SOURCE_OFF)
#endif
static timer_idx_t s_ts_timer_idx;
static timer_group_t s_ts_timer_group;
// SystemView is single core specific: it implies that SEGGER_SYSVIEW_LOCK()
// disables IRQs (disables rescheduling globaly). So we can not use finite timeouts for locks and return error
// disables IRQs (disables rescheduling globally). So we can not use finite timeouts for locks and return error
// in case of expiration, because error will not be handled and SEGGER's code will go further implying that
// everything is fine, so for multi-core env we have to wait on underlying lock forever
#define SEGGER_LOCK_WAIT_TMO ESP_APPTRACE_TMO_INFINITE
static esp_apptrace_lock_t s_sys_view_lock = {.mux = portMUX_INITIALIZER_UNLOCKED, .int_state = 0};
static const char * const s_isr_names[] = {
[0] = "WIFI_MAC",
[1] = "WIFI_NMI",
[2] = "WIFI_BB",
[3] = "BT_MAC",
[4] = "BT_BB",
[5] = "BT_BB_NMI",
[6] = "RWBT",
[7] = "RWBLE",
[8] = "RWBT_NMI",
[9] = "RWBLE_NMI",
[10] = "SLC0",
[11] = "SLC1",
[12] = "UHCI0",
[13] = "UHCI1",
[14] = "TG0_T0_LEVEL",
[15] = "TG0_T1_LEVEL",
[16] = "TG0_WDT_LEVEL",
[17] = "TG0_LACT_LEVEL",
[18] = "TG1_T0_LEVEL",
[19] = "TG1_T1_LEVEL",
[20] = "TG1_WDT_LEVEL",
[21] = "TG1_LACT_LEVEL",
[22] = "GPIO",
[23] = "GPIO_NMI",
[24] = "FROM_CPU0",
[25] = "FROM_CPU1",
[26] = "FROM_CPU2",
[27] = "FROM_CPU3",
[28] = "SPI0",
[29] = "SPI1",
[30] = "SPI2",
[31] = "SPI3",
[32] = "I2S0",
[33] = "I2S1",
[34] = "UART0",
[35] = "UART1",
[36] = "UART2",
[37] = "SDIO_HOST",
[38] = "ETH_MAC",
[39] = "PWM0",
[40] = "PWM1",
[41] = "PWM2",
[42] = "PWM3",
[43] = "LEDC",
[44] = "EFUSE",
[45] = "CAN",
[46] = "RTC_CORE",
[47] = "RMT",
[48] = "PCNT",
[49] = "I2C_EXT0",
[50] = "I2C_EXT1",
[51] = "RSA",
[52] = "SPI1_DMA",
[53] = "SPI2_DMA",
[54] = "SPI3_DMA",
[55] = "WDT",
[56] = "TIMER1",
[57] = "TIMER2",
[58] = "TG0_T0_EDGE",
[59] = "TG0_T1_EDGE",
[60] = "TG0_WDT_EDGE",
[61] = "TG0_LACT_EDGE",
[62] = "TG1_T0_EDGE",
[63] = "TG1_T1_EDGE",
[64] = "TG1_WDT_EDGE",
[65] = "TG1_LACT_EDGE",
[66] = "MMU_IA",
[67] = "MPU_IA",
[68] = "CACHE_IA",
};
/*********************************************************************
*
* _cbSendSystemDesc()
@@ -198,9 +178,9 @@ static void _cbSendSystemDesc(void) {
SEGGER_SYSVIEW_SendSysDesc("N="SYSVIEW_APP_NAME",D="SYSVIEW_DEVICE_NAME",C=Xtensa,O=FreeRTOS");
snprintf(irq_str, sizeof(irq_str), "I#%d=SysTick", SYSTICK_INTR_ID);
SEGGER_SYSVIEW_SendSysDesc(irq_str);
size_t isr_count = sizeof(s_isr_names)/sizeof(s_isr_names[0]);
size_t isr_count = sizeof(esp_isr_names)/sizeof(esp_isr_names[0]);
for (size_t i = 0; i < isr_count; ++i) {
snprintf(irq_str, sizeof(irq_str), "I#%d=%s", ETS_INTERNAL_INTR_SOURCE_OFF + i, s_isr_names[i]);
snprintf(irq_str, sizeof(irq_str), "I#%d=%s", ETS_INTERNAL_INTR_SOURCE_OFF + i, esp_isr_names[i]);
SEGGER_SYSVIEW_SendSysDesc(irq_str);
}
}
@@ -211,37 +191,26 @@ static void _cbSendSystemDesc(void) {
*
**********************************************************************
*/
static void SEGGER_SYSVIEW_TS_Init()
static void SEGGER_SYSVIEW_TS_Init(void)
{
timer_config_t config;
#if CONFIG_SYSVIEW_TS_SOURCE_TIMER_00
s_ts_timer_group = TIMER_GROUP_0;
s_ts_timer_idx = TIMER_0;
#endif
#if CONFIG_SYSVIEW_TS_SOURCE_TIMER_01
s_ts_timer_group = TIMER_GROUP_0;
s_ts_timer_idx = TIMER_1;
#endif
#if CONFIG_SYSVIEW_TS_SOURCE_TIMER_10
s_ts_timer_group = TIMER_GROUP_1;
s_ts_timer_idx = TIMER_0;
#endif
#if CONFIG_SYSVIEW_TS_SOURCE_TIMER_11
s_ts_timer_group = TIMER_GROUP_1;
s_ts_timer_idx = TIMER_1;
#endif
config.alarm_en = 0;
config.auto_reload = 0;
config.counter_dir = TIMER_COUNT_UP;
config.divider = SYSVIEW_TIMER_DIV;
config.counter_en = 0;
/*Configure timer*/
timer_init(s_ts_timer_group, s_ts_timer_idx, &config);
/*Load counter value */
timer_set_counter_value(s_ts_timer_group, s_ts_timer_idx, 0x00000000ULL);
/*Enable timer interrupt*/
timer_start(s_ts_timer_group, s_ts_timer_idx);
/* We only need to initialize something if we use Timer Group.
* esp_timer and ccount can be used as is.
*/
#if TS_USE_TIMERGROUP
timer_config_t config = {
.alarm_en = 0,
.auto_reload = 0,
.counter_dir = TIMER_COUNT_UP,
.divider = SYSVIEW_TIMER_DIV,
.counter_en = 0
};
/* Configure timer */
timer_init(TS_TIMER_GROUP, TS_TIMER_ID, &config);
/* Load counter value */
timer_set_counter_value(TS_TIMER_GROUP, TS_TIMER_ID, 0x00000000ULL);
/* Start counting */
timer_start(TS_TIMER_GROUP, TS_TIMER_ID);
#endif // TS_USE_TIMERGROUP
}
void SEGGER_SYSVIEW_Conf(void) {
@@ -294,34 +263,39 @@ void SEGGER_SYSVIEW_Conf(void) {
SEGGER_SYSVIEW_DisableEvents(disable_evts);
}
U32 SEGGER_SYSVIEW_X_GetTimestamp()
U32 SEGGER_SYSVIEW_X_GetTimestamp(void)
{
#if CONFIG_FREERTOS_UNICORE == 0
#if TS_USE_TIMERGROUP
uint64_t ts = 0;
timer_get_counter_value(s_ts_timer_group, s_ts_timer_idx, &ts);
return (U32)ts; // return lower part of counter value
#else
timer_get_counter_value(TS_TIMER_GROUP, TS_TIMER_ID, &ts);
return (U32) ts; // return lower part of counter value
#elif TS_USE_CCOUNT
return portGET_RUN_TIME_COUNTER_VALUE();
#elif TS_USE_ESP_TIMER
return (U32) esp_timer_get_time(); // return lower part of counter value
#endif
}
void SEGGER_SYSVIEW_X_RTT_Lock()
void SEGGER_SYSVIEW_X_RTT_Lock(void)
{
}
void SEGGER_SYSVIEW_X_RTT_Unlock()
void SEGGER_SYSVIEW_X_RTT_Unlock(void)
{
}
void SEGGER_SYSVIEW_X_SysView_Lock()
unsigned SEGGER_SYSVIEW_X_SysView_Lock(void)
{
esp_apptrace_tmo_t tmo;
esp_apptrace_tmo_init(&tmo, SEGGER_LOCK_WAIT_TMO);
esp_apptrace_lock_take(&s_sys_view_lock, &tmo);
// to be recursive save IRQ status on the stack of the caller to keep it from overwriting
return s_sys_view_lock.int_state;
}
void SEGGER_SYSVIEW_X_SysView_Unlock()
void SEGGER_SYSVIEW_X_SysView_Unlock(unsigned int_state)
{
s_sys_view_lock.int_state = int_state;
esp_apptrace_lock_give(&s_sys_view_lock);
}

View File

@@ -1,290 +1,290 @@
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: V2.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW_FreeRTOS.c
Purpose : Interface between FreeRTOS and SystemView.
Revision: $Rev: 3734 $
*/
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "SEGGER_SYSVIEW.h"
#include "SEGGER_SYSVIEW_FreeRTOS.h"
#include "string.h" // Required for memset
typedef struct SYSVIEW_FREERTOS_TASK_STATUS SYSVIEW_FREERTOS_TASK_STATUS;
struct SYSVIEW_FREERTOS_TASK_STATUS {
U32 xHandle;
const char* pcTaskName;
unsigned uxCurrentPriority;
U32 pxStack;
unsigned uStackHighWaterMark;
};
static SYSVIEW_FREERTOS_TASK_STATUS _aTasks[SYSVIEW_FREERTOS_MAX_NOF_TASKS];
/*********************************************************************
*
* _cbSendTaskList()
*
* Function description
* This function is part of the link between FreeRTOS and SYSVIEW.
* Called from SystemView when asked by the host, it uses SYSVIEW
* functions to send the entire task list to the host.
*/
static void _cbSendTaskList(void) {
unsigned n;
for (n = 0; n < SYSVIEW_FREERTOS_MAX_NOF_TASKS; n++) {
if (_aTasks[n].xHandle) {
#if INCLUDE_uxTaskGetStackHighWaterMark // Report Task Stack High Watermark
_aTasks[n].uStackHighWaterMark = uxTaskGetStackHighWaterMark((TaskHandle_t)_aTasks[n].xHandle);
#endif
SYSVIEW_SendTaskInfo((U32)_aTasks[n].xHandle, _aTasks[n].pcTaskName, (unsigned)_aTasks[n].uxCurrentPriority, (U32)_aTasks[n].pxStack, (unsigned)_aTasks[n].uStackHighWaterMark);
}
}
}
/*********************************************************************
*
* _cbGetTime()
*
* Function description
* This function is part of the link between FreeRTOS and SYSVIEW.
* Called from SystemView when asked by the host, returns the
* current system time in micro seconds.
*/
static U64 _cbGetTime(void) {
U64 Time;
Time = xTaskGetTickCountFromISR();
Time *= portTICK_PERIOD_MS;
Time *= 1000;
return Time;
}
/*********************************************************************
*
* Global functions
*
**********************************************************************
*/
/*********************************************************************
*
* SYSVIEW_AddTask()
*
* Function description
* Add a task to the internal list and record its information.
*/
void SYSVIEW_AddTask(U32 xHandle, const char* pcTaskName, unsigned uxCurrentPriority, U32 pxStack, unsigned uStackHighWaterMark) {
unsigned n;
if (memcmp(pcTaskName, "IDLE", 5) == 0) {
return;
}
for (n = 0; n < SYSVIEW_FREERTOS_MAX_NOF_TASKS; n++) {
if (_aTasks[n].xHandle == 0) {
break;
}
}
if (n == SYSVIEW_FREERTOS_MAX_NOF_TASKS) {
SEGGER_SYSVIEW_Warn("SYSTEMVIEW: Could not record task information. Maximum number of tasks reached.");
return;
}
_aTasks[n].xHandle = xHandle;
_aTasks[n].pcTaskName = pcTaskName;
_aTasks[n].uxCurrentPriority = uxCurrentPriority;
_aTasks[n].pxStack = pxStack;
_aTasks[n].uStackHighWaterMark = uStackHighWaterMark;
SYSVIEW_SendTaskInfo(xHandle, pcTaskName,uxCurrentPriority, pxStack, uStackHighWaterMark);
}
/*********************************************************************
*
* SYSVIEW_UpdateTask()
*
* Function description
* Update a task in the internal list and record its information.
*/
void SYSVIEW_UpdateTask(U32 xHandle, const char* pcTaskName, unsigned uxCurrentPriority, U32 pxStack, unsigned uStackHighWaterMark) {
unsigned n;
if (memcmp(pcTaskName, "IDLE", 5) == 0) {
return;
}
for (n = 0; n < SYSVIEW_FREERTOS_MAX_NOF_TASKS; n++) {
if (_aTasks[n].xHandle == xHandle) {
break;
}
}
if (n < SYSVIEW_FREERTOS_MAX_NOF_TASKS) {
_aTasks[n].pcTaskName = pcTaskName;
_aTasks[n].uxCurrentPriority = uxCurrentPriority;
_aTasks[n].pxStack = pxStack;
_aTasks[n].uStackHighWaterMark = uStackHighWaterMark;
SYSVIEW_SendTaskInfo(xHandle, pcTaskName, uxCurrentPriority, pxStack, uStackHighWaterMark);
} else {
SYSVIEW_AddTask(xHandle, pcTaskName, uxCurrentPriority, pxStack, uStackHighWaterMark);
}
}
/*********************************************************************
*
* SYSVIEW_DeleteTask()
*
* Function description
* Delete a task from the internal list.
*/
void SYSVIEW_DeleteTask(U32 xHandle) {
unsigned n;
for (n = 0; n < SYSVIEW_FREERTOS_MAX_NOF_TASKS; n++) {
if (_aTasks[n].xHandle == xHandle) {
break;
}
}
if (n == SYSVIEW_FREERTOS_MAX_NOF_TASKS) {
SEGGER_SYSVIEW_Warn("SYSTEMVIEW: Could not find task information. Cannot delete task.");
return;
}
_aTasks[n].xHandle = 0;
}
/*********************************************************************
*
* SYSVIEW_SendTaskInfo()
*
* Function description
* Record task information.
*/
void SYSVIEW_SendTaskInfo(U32 TaskID, const char* sName, unsigned Prio, U32 StackBase, unsigned StackSize) {
SEGGER_SYSVIEW_TASKINFO TaskInfo;
memset(&TaskInfo, 0, sizeof(TaskInfo)); // Fill all elements with 0 to allow extending the structure in future version without breaking the code
TaskInfo.TaskID = TaskID;
TaskInfo.sName = sName;
TaskInfo.Prio = Prio;
TaskInfo.StackBase = StackBase;
TaskInfo.StackSize = StackSize;
SEGGER_SYSVIEW_SendTaskInfo(&TaskInfo);
}
/*********************************************************************
*
* SYSVIEW_RecordU32x4()
*
* Function description
* Record an event with 4 parameters
*/
void SYSVIEW_RecordU32x4(unsigned Id, U32 Para0, U32 Para1, U32 Para2, U32 Para3) {
U8 aPacket[SEGGER_SYSVIEW_INFO_SIZE + 4 * SEGGER_SYSVIEW_QUANTA_U32];
U8* pPayload;
//
pPayload = SEGGER_SYSVIEW_PREPARE_PACKET(aPacket); // Prepare the packet for SystemView
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para0); // Add the first parameter to the packet
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para1); // Add the second parameter to the packet
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para2); // Add the third parameter to the packet
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para3); // Add the fourth parameter to the packet
//
SEGGER_SYSVIEW_SendPacket(&aPacket[0], pPayload, Id); // Send the packet
}
/*********************************************************************
*
* SYSVIEW_RecordU32x5()
*
* Function description
* Record an event with 5 parameters
*/
void SYSVIEW_RecordU32x5(unsigned Id, U32 Para0, U32 Para1, U32 Para2, U32 Para3, U32 Para4) {
U8 aPacket[SEGGER_SYSVIEW_INFO_SIZE + 5 * SEGGER_SYSVIEW_QUANTA_U32];
U8* pPayload;
//
pPayload = SEGGER_SYSVIEW_PREPARE_PACKET(aPacket); // Prepare the packet for SystemView
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para0); // Add the first parameter to the packet
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para1); // Add the second parameter to the packet
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para2); // Add the third parameter to the packet
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para3); // Add the fourth parameter to the packet
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para4); // Add the fifth parameter to the packet
//
SEGGER_SYSVIEW_SendPacket(&aPacket[0], pPayload, Id); // Send the packet
}
/*********************************************************************
*
* Public API structures
*
**********************************************************************
*/
// Callbacks provided to SYSTEMVIEW by FreeRTOS
const SEGGER_SYSVIEW_OS_API SYSVIEW_X_OS_TraceAPI = {
_cbGetTime,
_cbSendTaskList,
};
/*************************** End of file ****************************/
/*********************************************************************
* SEGGER Microcontroller GmbH & Co. KG *
* The Embedded Experts *
**********************************************************************
* *
* (c) 2015 - 2017 SEGGER Microcontroller GmbH & Co. KG *
* *
* www.segger.com Support: support@segger.com *
* *
**********************************************************************
* *
* SEGGER SystemView * Real-time application analysis *
* *
**********************************************************************
* *
* All rights reserved. *
* *
* SEGGER strongly recommends to not make any changes *
* to or modify the source code of this software in order to stay *
* compatible with the RTT protocol and J-Link. *
* *
* Redistribution and use in source and binary forms, with or *
* without modification, are permitted provided that the following *
* conditions are met: *
* *
* o Redistributions of source code must retain the above copyright *
* notice, this list of conditions and the following disclaimer. *
* *
* o Redistributions in binary form must reproduce the above *
* copyright notice, this list of conditions and the following *
* disclaimer in the documentation and/or other materials provided *
* with the distribution. *
* *
* o Neither the name of SEGGER Microcontroller GmbH & Co. KG *
* nor the names of its contributors may be used to endorse or *
* promote products derived from this software without specific *
* prior written permission. *
* *
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND *
* CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, *
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF *
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE *
* DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR *
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT *
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; *
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT *
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE *
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
* DAMAGE. *
* *
**********************************************************************
* *
* SystemView version: V2.42 *
* *
**********************************************************************
-------------------------- END-OF-HEADER -----------------------------
File : SEGGER_SYSVIEW_FreeRTOS.c
Purpose : Interface between FreeRTOS and SystemView.
Revision: $Rev: 3734 $
*/
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "SEGGER_SYSVIEW.h"
#include "SEGGER_SYSVIEW_FreeRTOS.h"
#include "string.h" // Required for memset
typedef struct SYSVIEW_FREERTOS_TASK_STATUS SYSVIEW_FREERTOS_TASK_STATUS;
struct SYSVIEW_FREERTOS_TASK_STATUS {
U32 xHandle;
const char* pcTaskName;
unsigned uxCurrentPriority;
U32 pxStack;
unsigned uStackHighWaterMark;
};
static SYSVIEW_FREERTOS_TASK_STATUS _aTasks[SYSVIEW_FREERTOS_MAX_NOF_TASKS];
/*********************************************************************
*
* _cbSendTaskList()
*
* Function description
* This function is part of the link between FreeRTOS and SYSVIEW.
* Called from SystemView when asked by the host, it uses SYSVIEW
* functions to send the entire task list to the host.
*/
static void _cbSendTaskList(void) {
unsigned n;
for (n = 0; n < SYSVIEW_FREERTOS_MAX_NOF_TASKS; n++) {
if (_aTasks[n].xHandle) {
#if INCLUDE_uxTaskGetStackHighWaterMark // Report Task Stack High Watermark
_aTasks[n].uStackHighWaterMark = uxTaskGetStackHighWaterMark((TaskHandle_t)_aTasks[n].xHandle);
#endif
SYSVIEW_SendTaskInfo((U32)_aTasks[n].xHandle, _aTasks[n].pcTaskName, (unsigned)_aTasks[n].uxCurrentPriority, (U32)_aTasks[n].pxStack, (unsigned)_aTasks[n].uStackHighWaterMark);
}
}
}
/*********************************************************************
*
* _cbGetTime()
*
* Function description
* This function is part of the link between FreeRTOS and SYSVIEW.
* Called from SystemView when asked by the host, returns the
* current system time in micro seconds.
*/
static U64 _cbGetTime(void) {
U64 Time;
Time = xTaskGetTickCountFromISR();
Time *= portTICK_PERIOD_MS;
Time *= 1000;
return Time;
}
/*********************************************************************
*
* Global functions
*
**********************************************************************
*/
/*********************************************************************
*
* SYSVIEW_AddTask()
*
* Function description
* Add a task to the internal list and record its information.
*/
void SYSVIEW_AddTask(U32 xHandle, const char* pcTaskName, unsigned uxCurrentPriority, U32 pxStack, unsigned uStackHighWaterMark) {
unsigned n;
if (memcmp(pcTaskName, "IDLE", 5) == 0) {
return;
}
for (n = 0; n < SYSVIEW_FREERTOS_MAX_NOF_TASKS; n++) {
if (_aTasks[n].xHandle == 0) {
break;
}
}
if (n == SYSVIEW_FREERTOS_MAX_NOF_TASKS) {
SEGGER_SYSVIEW_Warn("SYSTEMVIEW: Could not record task information. Maximum number of tasks reached.");
return;
}
_aTasks[n].xHandle = xHandle;
_aTasks[n].pcTaskName = pcTaskName;
_aTasks[n].uxCurrentPriority = uxCurrentPriority;
_aTasks[n].pxStack = pxStack;
_aTasks[n].uStackHighWaterMark = uStackHighWaterMark;
SYSVIEW_SendTaskInfo(xHandle, pcTaskName,uxCurrentPriority, pxStack, uStackHighWaterMark);
}
/*********************************************************************
*
* SYSVIEW_UpdateTask()
*
* Function description
* Update a task in the internal list and record its information.
*/
void SYSVIEW_UpdateTask(U32 xHandle, const char* pcTaskName, unsigned uxCurrentPriority, U32 pxStack, unsigned uStackHighWaterMark) {
unsigned n;
if (memcmp(pcTaskName, "IDLE", 5) == 0) {
return;
}
for (n = 0; n < SYSVIEW_FREERTOS_MAX_NOF_TASKS; n++) {
if (_aTasks[n].xHandle == xHandle) {
break;
}
}
if (n < SYSVIEW_FREERTOS_MAX_NOF_TASKS) {
_aTasks[n].pcTaskName = pcTaskName;
_aTasks[n].uxCurrentPriority = uxCurrentPriority;
_aTasks[n].pxStack = pxStack;
_aTasks[n].uStackHighWaterMark = uStackHighWaterMark;
SYSVIEW_SendTaskInfo(xHandle, pcTaskName, uxCurrentPriority, pxStack, uStackHighWaterMark);
} else {
SYSVIEW_AddTask(xHandle, pcTaskName, uxCurrentPriority, pxStack, uStackHighWaterMark);
}
}
/*********************************************************************
*
* SYSVIEW_DeleteTask()
*
* Function description
* Delete a task from the internal list.
*/
void SYSVIEW_DeleteTask(U32 xHandle) {
unsigned n;
for (n = 0; n < SYSVIEW_FREERTOS_MAX_NOF_TASKS; n++) {
if (_aTasks[n].xHandle == xHandle) {
break;
}
}
if (n == SYSVIEW_FREERTOS_MAX_NOF_TASKS) {
SEGGER_SYSVIEW_Warn("SYSTEMVIEW: Could not find task information. Cannot delete task.");
return;
}
_aTasks[n].xHandle = 0;
}
/*********************************************************************
*
* SYSVIEW_SendTaskInfo()
*
* Function description
* Record task information.
*/
void SYSVIEW_SendTaskInfo(U32 TaskID, const char* sName, unsigned Prio, U32 StackBase, unsigned StackSize) {
SEGGER_SYSVIEW_TASKINFO TaskInfo;
memset(&TaskInfo, 0, sizeof(TaskInfo)); // Fill all elements with 0 to allow extending the structure in future version without breaking the code
TaskInfo.TaskID = TaskID;
TaskInfo.sName = sName;
TaskInfo.Prio = Prio;
TaskInfo.StackBase = StackBase;
TaskInfo.StackSize = StackSize;
SEGGER_SYSVIEW_SendTaskInfo(&TaskInfo);
}
/*********************************************************************
*
* SYSVIEW_RecordU32x4()
*
* Function description
* Record an event with 4 parameters
*/
void SYSVIEW_RecordU32x4(unsigned Id, U32 Para0, U32 Para1, U32 Para2, U32 Para3) {
U8 aPacket[SEGGER_SYSVIEW_INFO_SIZE + 4 * SEGGER_SYSVIEW_QUANTA_U32];
U8* pPayload;
//
pPayload = SEGGER_SYSVIEW_PREPARE_PACKET(aPacket); // Prepare the packet for SystemView
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para0); // Add the first parameter to the packet
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para1); // Add the second parameter to the packet
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para2); // Add the third parameter to the packet
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para3); // Add the fourth parameter to the packet
//
SEGGER_SYSVIEW_SendPacket(&aPacket[0], pPayload, Id); // Send the packet
}
/*********************************************************************
*
* SYSVIEW_RecordU32x5()
*
* Function description
* Record an event with 5 parameters
*/
void SYSVIEW_RecordU32x5(unsigned Id, U32 Para0, U32 Para1, U32 Para2, U32 Para3, U32 Para4) {
U8 aPacket[SEGGER_SYSVIEW_INFO_SIZE + 5 * SEGGER_SYSVIEW_QUANTA_U32];
U8* pPayload;
//
pPayload = SEGGER_SYSVIEW_PREPARE_PACKET(aPacket); // Prepare the packet for SystemView
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para0); // Add the first parameter to the packet
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para1); // Add the second parameter to the packet
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para2); // Add the third parameter to the packet
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para3); // Add the fourth parameter to the packet
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, Para4); // Add the fifth parameter to the packet
//
SEGGER_SYSVIEW_SendPacket(&aPacket[0], pPayload, Id); // Send the packet
}
/*********************************************************************
*
* Public API structures
*
**********************************************************************
*/
// Callbacks provided to SYSTEMVIEW by FreeRTOS
const SEGGER_SYSVIEW_OS_API SYSVIEW_X_OS_TraceAPI = {
_cbGetTime,
_cbSendTaskList,
};
/*************************** End of file ****************************/

View File

@@ -80,7 +80,7 @@ Notes:
#define portSTACK_GROWTH ( -1 )
#endif
#define SYSVIEW_FREERTOS_MAX_NOF_TASKS 16
#define SYSVIEW_FREERTOS_MAX_NOF_TASKS CONFIG_SYSVIEW_MAX_TASKS
/*********************************************************************
*
@@ -244,8 +244,10 @@ Notes:
#define traceQUEUE_SEND( pxQueue ) SYSVIEW_RecordU32x4(apiFastID_OFFSET + apiID_XQUEUEGENERICSEND, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), 0, 0, xCopyPosition)
#endif
#define traceQUEUE_SEND_FAILED( pxQueue ) SYSVIEW_RecordU32x4(apiFastID_OFFSET + apiID_XQUEUEGENERICSEND, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), (U32)pvItemToQueue, xTicksToWait, xCopyPosition)
#define traceQUEUE_SEND_FROM_ISR( pxQueue ) SEGGER_SYSVIEW_RecordU32x2(apiFastID_OFFSET + apiID_XQUEUEGENERICSENDFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), (U32)pxHigherPriorityTaskWoken)
#define traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue ) SEGGER_SYSVIEW_RecordU32x2(apiFastID_OFFSET + apiID_XQUEUEGENERICSENDFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), (U32)pxHigherPriorityTaskWoken)
#define traceQUEUE_SEND_FROM_ISR( pxQueue ) SEGGER_SYSVIEW_RecordU32x4(apiFastID_OFFSET + apiID_XQUEUEGENERICSENDFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), (U32)pvItemToQueue, (U32)pxHigherPriorityTaskWoken, xCopyPosition)
#define traceQUEUE_SEND_FROM_ISR_FAILED( pxQueue ) SEGGER_SYSVIEW_RecordU32x4(apiFastID_OFFSET + apiID_XQUEUEGENERICSENDFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), (U32)pvItemToQueue, (U32)pxHigherPriorityTaskWoken, xCopyPosition)
#define traceQUEUE_GIVE_FROM_ISR( pxQueue ) SEGGER_SYSVIEW_RecordU32x2(apiFastID_OFFSET + apiID_XQUEUEGIVEFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), (U32)pxHigherPriorityTaskWoken)
#define traceQUEUE_GIVE_FROM_ISR_FAILED( pxQueue ) SEGGER_SYSVIEW_RecordU32x2(apiFastID_OFFSET + apiID_XQUEUEGIVEFROMISR, SEGGER_SYSVIEW_ShrinkId((U32)pxQueue), (U32)pxHigherPriorityTaskWoken)
#if( portSTACK_GROWTH < 0 )
#define traceTASK_CREATE(pxNewTCB) if (pxNewTCB != NULL) { \

View File

@@ -16,11 +16,15 @@
#include "freertos/FreeRTOS.h"
#include "SEGGER_RTT.h"
#include "SEGGER_SYSVIEW.h"
#include "SEGGER_SYSVIEW_Conf.h"
#include "rom/ets_sys.h"
#if CONFIG_IDF_TARGET_ESP32
#include "esp32/rom/ets_sys.h"
#elif CONFIG_IDF_TARGET_ESP32S2BETA
#include "esp32s2beta/rom/ets_sys.h"
#endif
#include "esp_app_trace.h"
#define LOG_LOCAL_LEVEL ESP_LOG_ERROR
#include "esp_log.h"
const static char *TAG = "segger_rtt";
@@ -28,8 +32,12 @@ const static char *TAG = "segger_rtt";
// size of down channel data buf
#define SYSVIEW_DOWN_BUF_SIZE 32
#define SEGGER_HOST_WAIT_TMO 500 //us
#define SEGGER_STOP_WAIT_TMO 1000000 //us
#if CONFIG_SYSVIEW_BUF_WAIT_TMO == -1
#define SEGGER_HOST_WAIT_TMO ESP_APPTRACE_TMO_INFINITE
#else
#define SEGGER_HOST_WAIT_TMO CONFIG_SYSVIEW_BUF_WAIT_TMO
#endif
static uint8_t s_events_buf[SYSVIEW_EVENTS_BUF_SZ];
static uint16_t s_events_buf_filled;
@@ -58,9 +66,12 @@ static uint8_t s_down_buf[SYSVIEW_DOWN_BUF_SIZE];
*/
void SEGGER_RTT_ESP32_FlushNoLock(unsigned long min_sz, unsigned long tmo)
{
esp_err_t res = esp_apptrace_write(ESP_APPTRACE_DEST_TRAX, s_events_buf, s_events_buf_filled, tmo);
if (res != ESP_OK) {
ESP_LOGE(TAG, "Failed to flush buffered events (%d)!\n", res);
esp_err_t res;
if (s_events_buf_filled > 0) {
res = esp_apptrace_write(ESP_APPTRACE_DEST_TRAX, s_events_buf, s_events_buf_filled, tmo);
if (res != ESP_OK) {
ESP_LOGE(TAG, "Failed to flush buffered events (%d)!\n", res);
}
}
// flush even if we failed to write buffered events, because no new events will be sent after STOP
res = esp_apptrace_flush_nolock(ESP_APPTRACE_DEST_TRAX, min_sz, tmo);
@@ -70,6 +81,27 @@ void SEGGER_RTT_ESP32_FlushNoLock(unsigned long min_sz, unsigned long tmo)
s_events_buf_filled = 0;
}
/*********************************************************************
*
* SEGGER_RTT_ESP32_Flush()
*
* Function description
* Flushes buffered events.
*
* Parameters
* min_sz Threshold for flushing data. If current filling level is above this value, data will be flushed. TRAX destinations only.
* tmo Timeout for operation (in us). Use ESP_APPTRACE_TMO_INFINITE to wait indefinetly.
*
* Return value
* None.
*/
void SEGGER_RTT_ESP32_Flush(unsigned long min_sz, unsigned long tmo)
{
SEGGER_SYSVIEW_LOCK();
SEGGER_RTT_ESP32_FlushNoLock(min_sz, tmo);
SEGGER_SYSVIEW_UNLOCK();
}
/*********************************************************************
*
* SEGGER_RTT_ReadNoLock()
@@ -125,7 +157,7 @@ unsigned SEGGER_RTT_WriteSkipNoLock(unsigned BufferIndex, const void* pBuffer, u
uint8_t event_id = *pbuf;
if (NumBytes > SYSVIEW_EVENTS_BUF_SZ) {
ESP_LOGE(TAG, "Too large event %d bytes!", NumBytes);
ESP_LOGE(TAG, "Too large event %u bytes!", NumBytes);
return 0;
}
if (xPortGetCoreID()) { // dual core specific code

View File

@@ -0,0 +1,100 @@
// Copyright 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 <stdint.h>
#include <sdkconfig.h>
#include "SEGGER_SYSVIEW.h"
#include "SEGGER_RTT.h"
#include "esp_app_trace.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_log.h"
const static char *TAG = "sysview_heap_trace";
#ifdef CONFIG_HEAP_TRACING_STACK_DEPTH
#define CALLSTACK_SIZE CONFIG_HEAP_TRACING_STACK_DEPTH
#else
#define CALLSTACK_SIZE 0
#endif
static SEGGER_SYSVIEW_MODULE s_esp_sysview_heap_module = {
.sModule = "ESP32 SystemView Heap Tracing Module",
.NumEvents = 2,
};
static bool s_mod_registered;
esp_err_t esp_sysview_heap_trace_start(uint32_t tmo)
{
uint32_t tmo_ticks = tmo/(1000*portTICK_PERIOD_MS);
ESP_EARLY_LOGV(TAG, "%s", __func__);
do {
if (tmo != (uint32_t)-1) {
// Currently timeout implementation is simple and has granularity of 1 OS tick,
// so just count down the number of times to call vTaskDelay
if (tmo_ticks-- == 0) {
return ESP_ERR_TIMEOUT;
}
}
vTaskDelay(1);
} while(!SEGGER_SYSVIEW_Started());
SEGGER_SYSVIEW_RegisterModule(&s_esp_sysview_heap_module);
s_mod_registered = true;
return ESP_OK;
}
esp_err_t esp_sysview_heap_trace_stop(void)
{
ESP_EARLY_LOGV(TAG, "%s", __func__);
SEGGER_RTT_ESP32_Flush(0, ESP_APPTRACE_TMO_INFINITE);
return ESP_OK;
}
void esp_sysview_heap_trace_alloc(const void *addr, uint32_t size, const void *callers)
{
U8 aPacket[SEGGER_SYSVIEW_INFO_SIZE + (2+CALLSTACK_SIZE)*SEGGER_SYSVIEW_QUANTA_U32];
U8* pPayload = SEGGER_SYSVIEW_PREPARE_PACKET(aPacket);
U32 *calls = (U32 *)callers;
if (!s_mod_registered) {
return;
}
ESP_EARLY_LOGV(TAG, "%s %p %lu", __func__, addr, size);
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, (U32)addr);
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, size);
for (int i = 0; i < CALLSTACK_SIZE; i++) {
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, calls[i]);
}
SEGGER_SYSVIEW_SendPacket(&aPacket[0], pPayload, s_esp_sysview_heap_module.EventOffset + 0);
}
void esp_sysview_heap_trace_free(const void *addr, const void *callers)
{
U8 aPacket[SEGGER_SYSVIEW_INFO_SIZE + (1+CALLSTACK_SIZE)*SEGGER_SYSVIEW_QUANTA_U32];
U8* pPayload = SEGGER_SYSVIEW_PREPARE_PACKET(aPacket);
U32 *calls = (U32 *)callers;
if (!s_mod_registered) {
return;
}
ESP_EARLY_LOGV(TAG, "%s %p", __func__, addr);
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, (U32)addr);
for (int i = 0; i < CALLSTACK_SIZE; i++) {
pPayload = SEGGER_SYSVIEW_EncodeU32(pPayload, calls[i]);
}
SEGGER_SYSVIEW_SendPacket(&aPacket[0], pPayload, s_esp_sysview_heap_module.EventOffset + 1);
}

View File

@@ -0,0 +1,34 @@
// Copyright 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 <stdio.h>
#include <stdarg.h>
#include <sdkconfig.h>
#include "SEGGER_SYSVIEW_Int.h"
#include "freertos/FreeRTOS.h"
static portMUX_TYPE s_log_mutex = portMUX_INITIALIZER_UNLOCKED;
int esp_sysview_vprintf(const char * format, va_list args)
{
static char log_buffer[SEGGER_SYSVIEW_MAX_STRING_LEN];
portENTER_CRITICAL(&s_log_mutex);
size_t len = vsnprintf(log_buffer, sizeof(log_buffer), format, args);
if (len > sizeof(log_buffer) - 1) {
log_buffer[sizeof(log_buffer - 1)] = 0;
}
SEGGER_SYSVIEW_Print(log_buffer);
portEXIT_CRITICAL(&s_log_mutex);
return len;
}

View File

@@ -0,0 +1,3 @@
idf_component_register(SRC_DIRS "."
INCLUDE_DIRS "."
REQUIRES unity)

View File

@@ -9,7 +9,7 @@
#include "freertos/FreeRTOS.h"
#include "freertos/semphr.h"
#include "freertos/task.h"
#if CONFIG_ESP32_APPTRACE_ENABLE == 1
#if CONFIG_APPTRACE_ENABLE == 1
#include "esp_app_trace.h"
#include "esp_app_trace_util.h"
@@ -125,7 +125,7 @@ typedef struct {
static SemaphoreHandle_t s_print_lock;
#endif
static uint64_t esp_apptrace_test_ts_get();
static uint64_t esp_apptrace_test_ts_get(void);
static void esp_apptrace_test_timer_isr(void *arg)
{
@@ -145,56 +145,16 @@ static void esp_apptrace_test_timer_isr(void *arg)
}
tim_arg->data.wr_cnt++;
if (tim_arg->group == 0) {
if (tim_arg->id == 0) {
TIMERG0.int_clr_timers.t0 = 1;
TIMERG0.hw_timer[0].update = 1;
TIMERG0.hw_timer[0].config.alarm_en = 1;
} else {
TIMERG0.int_clr_timers.t1 = 1;
TIMERG0.hw_timer[1].update = 1;
TIMERG0.hw_timer[1].config.alarm_en = 1;
}
}
if (tim_arg->group == 1) {
if (tim_arg->id == 0) {
TIMERG1.int_clr_timers.t0 = 1;
TIMERG1.hw_timer[0].update = 1;
TIMERG1.hw_timer[0].config.alarm_en = 1;
} else {
TIMERG1.int_clr_timers.t1 = 1;
TIMERG1.hw_timer[1].update = 1;
TIMERG1.hw_timer[1].config.alarm_en = 1;
}
}
timer_group_clr_intr_status_in_isr(tim_arg->group, tim_arg->id);
timer_group_enable_alarm_in_isr(tim_arg->group, tim_arg->id);
}
static void esp_apptrace_test_timer_isr_crash(void *arg)
{
esp_apptrace_test_timer_arg_t *tim_arg = (esp_apptrace_test_timer_arg_t *)arg;
if (tim_arg->group == 0) {
if (tim_arg->id == 0) {
TIMERG0.int_clr_timers.t0 = 1;
TIMERG0.hw_timer[0].update = 1;
TIMERG0.hw_timer[0].config.alarm_en = 1;
} else {
TIMERG0.int_clr_timers.t1 = 1;
TIMERG0.hw_timer[1].update = 1;
TIMERG0.hw_timer[1].config.alarm_en = 1;
}
}
if (tim_arg->group == 1) {
if (tim_arg->id == 0) {
TIMERG1.int_clr_timers.t0 = 1;
TIMERG1.hw_timer[0].update = 1;
TIMERG1.hw_timer[0].config.alarm_en = 1;
} else {
TIMERG1.int_clr_timers.t1 = 1;
TIMERG1.hw_timer[1].update = 1;
TIMERG1.hw_timer[1].config.alarm_en = 1;
}
}
timer_group_clr_intr_status_in_isr(tim_arg->group, tim_arg->id);
timer_group_enable_alarm_in_isr(tim_arg->group, tim_arg->id);
if (tim_arg->data.wr_cnt < ESP_APPTRACE_TEST_BLOCKS_BEFORE_CRASH) {
uint32_t *ts = (uint32_t *)(tim_arg->data.buf + sizeof(uint32_t));
*ts = (uint32_t)esp_apptrace_test_ts_get();//xthal_get_ccount();//xTaskGetTickCount();
@@ -383,7 +343,7 @@ static void esp_apptrace_test_task_crash(void *p)
static int s_ts_timer_group, s_ts_timer_idx;
static uint64_t esp_apptrace_test_ts_get()
static uint64_t esp_apptrace_test_ts_get(void)
{
uint64_t ts = 0;
timer_get_counter_value(s_ts_timer_group, s_ts_timer_idx, &ts);
@@ -413,7 +373,7 @@ static void esp_apptrace_test_ts_init(int timer_group, int timer_idx)
timer_start(timer_group, timer_idx);
}
static void esp_apptrace_test_ts_cleanup()
static void esp_apptrace_test_ts_cleanup(void)
{
timer_config_t config;
@@ -850,28 +810,8 @@ static void esp_sysview_test_timer_isr(void *arg)
//ESP_APPTRACE_TEST_LOGI("tim-%d: IRQ %d/%d\n", tim_arg->id, tim_arg->group, tim_arg->timer);
if (tim_arg->group == 0) {
if (tim_arg->timer == 0) {
TIMERG0.int_clr_timers.t0 = 1;
TIMERG0.hw_timer[0].update = 1;
TIMERG0.hw_timer[0].config.alarm_en = 1;
} else {
TIMERG0.int_clr_timers.t1 = 1;
TIMERG0.hw_timer[1].update = 1;
TIMERG0.hw_timer[1].config.alarm_en = 1;
}
}
if (tim_arg->group == 1) {
if (tim_arg->timer == 0) {
TIMERG1.int_clr_timers.t0 = 1;
TIMERG1.hw_timer[0].update = 1;
TIMERG1.hw_timer[0].config.alarm_en = 1;
} else {
TIMERG1.int_clr_timers.t1 = 1;
TIMERG1.hw_timer[1].update = 1;
TIMERG1.hw_timer[1].config.alarm_en = 1;
}
}
timer_group_clr_intr_status_in_isr(tim_arg->group, tim_arg->id);
timer_group_enable_alarm_in_isr(tim_arg->group, tim_arg->id);
}
static void esp_sysviewtrace_test_task(void *p)

View File

@@ -0,0 +1,60 @@
idf_component_register(SRCS "esp_ota_ops.c"
"esp_app_desc.c"
INCLUDE_DIRS "include"
REQUIRES spi_flash partition_table bootloader_support)
# esp_app_desc structure is added as an undefined symbol because otherwise the
# linker will ignore this structure as it has no other files depending on it.
target_link_libraries(${COMPONENT_LIB} INTERFACE "-u esp_app_desc")
# 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)
set_source_files_properties(
SOURCE "esp_app_desc.c"
PROPERTIES COMPILE_DEFINITIONS
"PROJECT_VER=\"${PROJECT_VER_CUT}\"; PROJECT_NAME=\"${PROJECT_NAME_CUT}\"")
if(NOT BOOTLOADER_BUILD)
partition_table_get_partition_info(otadata_offset "--partition-type data --partition-subtype ota" "offset")
partition_table_get_partition_info(otadata_size "--partition-type data --partition-subtype ota" "size")
# Add custom target for generating empty otadata partition for flashing
if(otadata_size AND otadata_offset)
idf_build_get_property(build_dir BUILD_DIR)
set(blank_otadata_file ${build_dir}/ota_data_initial.bin)
idf_build_get_property(idf_path IDF_PATH)
idf_build_get_property(python PYTHON)
idf_component_get_property(partition_table_dir partition_table COMPONENT_DIR)
add_custom_command(OUTPUT ${blank_otadata_file}
COMMAND ${python} ${partition_table_dir}/gen_empty_partition.py
${otadata_size} ${blank_otadata_file})
add_custom_target(blank_ota_data ALL DEPENDS ${blank_otadata_file})
add_dependencies(flash blank_ota_data)
set(otatool_py ${python} ${COMPONENT_DIR}/otatool.py)
set(esptool_args --esptool-args before=${CONFIG_ESPTOOLPY_BEFORE} after=${CONFIG_ESPTOOLPY_AFTER})
add_custom_target(read_otadata DEPENDS "${PARTITION_CSV_PATH}"
COMMAND ${otatool_py} ${esptool_args}
--partition-table-file ${PARTITION_CSV_PATH}
--partition-table-offset ${PARTITION_TABLE_OFFSET}
read_otadata)
add_custom_target(erase_otadata DEPENDS "${PARTITION_CSV_PATH}"
COMMAND ${otatool_py} ${esptool_args}
--partition-table-file ${PARTITION_CSV_PATH}
--partition-table-offset ${PARTITION_TABLE_OFFSET}
erase_otadata)
esptool_py_flash_project_args(otadata ${otadata_offset} "${blank_otadata_file}" FLASH_IN_PROJECT)
endif()
endif()

View File

@@ -0,0 +1,25 @@
menu "Application manager"
config APP_COMPILE_TIME_DATE
bool "Use time/date stamp for app"
default y
help
If set, then the app will be built with the current time/date stamp. It is stored in the app description
structure. If not set, time/date stamp will be excluded from app image. This can be useful for getting the
same binary image files made from the same source, but at different times.
config APP_EXCLUDE_PROJECT_VER_VAR
bool "Exclude PROJECT_VER from firmware image"
default n
help
The PROJECT_VER 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_EXCLUDE_PROJECT_NAME_VAR
bool "Exclude PROJECT_NAME from firmware image"
default n
help
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.
endmenu # "Application manager"

View File

@@ -0,0 +1,54 @@
# Generate partition binary
#
.PHONY: blank_ota_data erase_otadata read_otadata
OTATOOL_PY := $(PYTHON) $(COMPONENT_PATH)/otatool.py
PARTTOOL_PY := $(PYTHON) $(IDF_PATH)/components/partition_table/parttool.py
# Generate blank partition file
BLANK_OTA_DATA_FILE = $(BUILD_DIR_BASE)/ota_data_initial.bin
# Copy PARTITION_TABLE_CSV_PATH definition here from $IDF_PATH/components/partition_table/Makefile.projbuild
# to avoid undefined variables warning for PARTITION_TABLE_CSV_PATH
ifndef PARTITION_TABLE_CSV_PATH
PARTITION_TABLE_ROOT := $(call dequote,$(if $(CONFIG_PARTITION_TABLE_CUSTOM),$(PROJECT_PATH),$(IDF_PATH)/components/partition_table))
PARTITION_TABLE_CSV_PATH := $(call dequote,$(abspath $(PARTITION_TABLE_ROOT)/$(call dequote,$(CONFIG_PARTITION_TABLE_FILENAME))))
endif
$(BLANK_OTA_DATA_FILE): partition_table_get_info $(PARTITION_TABLE_CSV_PATH) | check_python_dependencies
$(shell if [ "$(OTA_DATA_OFFSET)" != "" ] && [ "$(OTA_DATA_SIZE)" != "" ]; then \
$(PYTHON) $(IDF_PATH)/components/partition_table/gen_empty_partition.py $(OTA_DATA_SIZE) $(BLANK_OTA_DATA_FILE); \
fi; )
$(eval BLANK_OTA_DATA_FILE = $(shell if [ "$(OTA_DATA_OFFSET)" != "" ] && [ "$(OTA_DATA_SIZE)" != "" ]; then \
echo $(BLANK_OTA_DATA_FILE); else echo " "; fi) )
blank_ota_data: $(BLANK_OTA_DATA_FILE)
# If there is no otadata partition, both OTA_DATA_OFFSET and BLANK_OTA_DATA_FILE
# expand to empty values.
ESPTOOL_ALL_FLASH_ARGS += $(OTA_DATA_OFFSET) $(BLANK_OTA_DATA_FILE)
ESPTOOL_ARGS := --esptool-args port=$(CONFIG_ESPTOOLPY_PORT) baud=$(CONFIG_ESPTOOLPY_BAUD) before=$(CONFIG_ESPTOOLPY_BEFORE) after=$(CONFIG_ESPTOOLPY_AFTER)
erase_otadata: $(PARTITION_TABLE_CSV_PATH) partition_table_get_info | check_python_dependencies
$(OTATOOL_PY) $(ESPTOOL_ARGS) --partition-table-file $(PARTITION_TABLE_CSV_PATH) \
--partition-table-offset $(PARTITION_TABLE_OFFSET) \
erase_otadata
read_otadata: $(PARTITION_TABLE_CSV_PATH) partition_table_get_info | check_python_dependencies
$(OTATOOL_PY) $(ESPTOOL_ARGS) --partition-table-file $(PARTITION_TABLE_CSV_PATH) \
--partition-table-offset $(partition_table_offset) \
read_otadata
all: blank_ota_data
flash: blank_ota_data
ifdef CONFIG_SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT
encrypted-flash: blank_ota_data
endif
TMP_DEFINES := $(BUILD_DIR_BASE)/app_update/tmp_cppflags.txt
export TMP_DEFINES
clean:
rm -f $(BLANK_OTA_DATA_FILE)
rm -f $(TMP_DEFINES)

51
components/app_update/component.mk Executable file → Normal file
View File

@@ -3,3 +3,54 @@
#
# (Uses default behaviour of compiling all source files in directory, adding 'include' to include path.)
# esp_app_desc structure is added as an undefined symbol because otherwise the
# linker will ignore this structure as it has no other files depending on it.
COMPONENT_ADD_LDFLAGS += -u esp_app_desc
ifndef IS_BOOTLOADER_BUILD
GET_PROJECT_VER ?=
ifeq ("${PROJECT_VER}", "")
ifeq ("$(wildcard ${PROJECT_PATH}/version.txt)","")
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
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".
ifeq ("${PROJECT_VER}", "")
PROJECT_VER:= $(GET_PROJECT_VER)
else
PROJECT_VER:= $(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)
$(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

View File

@@ -0,0 +1,85 @@
// Copyright 2017-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 <assert.h>
#include <sys/param.h>
#include "esp_ota_ops.h"
#include "esp_attr.h"
#include "sdkconfig.h"
// Application version info
const __attribute__((section(".rodata_desc"))) esp_app_desc_t esp_app_desc = {
.magic_word = ESP_APP_DESC_MAGIC_WORD,
#ifdef CONFIG_APP_EXCLUDE_PROJECT_VER_VAR
.version = "",
#else
.version = PROJECT_VER,
#endif
#ifdef CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR
.project_name = "",
#else
.project_name = PROJECT_NAME,
#endif
.idf_ver = IDF_VER,
#ifdef CONFIG_BOOTLOADER_APP_SECURE_VERSION
.secure_version = CONFIG_BOOTLOADER_APP_SECURE_VERSION,
#else
.secure_version = 0,
#endif
#ifdef CONFIG_APP_COMPILE_TIME_DATE
.time = __TIME__,
.date = __DATE__,
#else
.time = "",
.date = "",
#endif
};
#ifndef CONFIG_APP_EXCLUDE_PROJECT_VER_VAR
_Static_assert(sizeof(PROJECT_VER) <= sizeof(esp_app_desc.version), "PROJECT_VER is longer than version field in structure");
#endif
_Static_assert(sizeof(IDF_VER) <= sizeof(esp_app_desc.idf_ver), "IDF_VER is longer than idf_ver field in structure");
#ifndef CONFIG_APP_EXCLUDE_PROJECT_NAME_VAR
_Static_assert(sizeof(PROJECT_NAME) <= sizeof(esp_app_desc.project_name), "PROJECT_NAME is longer than project_name field in structure");
#endif
const esp_app_desc_t *esp_ota_get_app_description(void)
{
return &esp_app_desc;
}
/* The following two functions may be called from the panic handler
* or core dump, hence IRAM_ATTR.
*/
static inline char IRAM_ATTR to_hex_digit(unsigned val)
{
return (val < 10) ? ('0' + val) : ('a' + val - 10);
}
int IRAM_ATTR esp_ota_get_app_elf_sha256(char* dst, size_t size)
{
size_t n = MIN((size - 1) / 2, sizeof(esp_app_desc.app_elf_sha256));
const uint8_t* src = esp_app_desc.app_elf_sha256;
for (size_t i = 0; i < n; ++i) {
dst[2*i] = to_hex_digit(src[i] >> 4);
dst[2*i + 1] = to_hex_digit(src[i] & 0xf);
}
dst[2*n] = 0;
return 2*n + 1;
}

View File

@@ -28,18 +28,21 @@
#include "esp_image_format.h"
#include "esp_secure_boot.h"
#include "esp_flash_encrypt.h"
#include "esp_spi_flash.h"
#include "sdkconfig.h"
#include "esp_ota_ops.h"
#include "rom/queue.h"
#include "rom/crc.h"
#include "soc/dport_reg.h"
#include "sys/queue.h"
#include "esp32/rom/crc.h"
#include "esp_log.h"
#include "esp_flash_partitions.h"
#include "bootloader_common.h"
#include "sys/param.h"
#include "esp_system.h"
#include "esp_efuse.h"
#define OTA_MAX(a,b) ((a) >= (b) ? (a) : (b))
#define OTA_MIN(a,b) ((a) <= (b) ? (a) : (b))
#define SUB_TYPE_ID(i) (i & 0x0F)
#define SUB_TYPE_ID(i) (i & 0x0F)
typedef struct ota_ops_entry_ {
uint32_t handle;
@@ -51,19 +54,10 @@ typedef struct ota_ops_entry_ {
LIST_ENTRY(ota_ops_entry_) entries;
} ota_ops_entry_t;
/* OTA selection structure (two copies in the OTA data partition.)
Size of 32 bytes is friendly to flash encryption */
typedef struct {
uint32_t ota_seq;
uint8_t seq_label[24];
uint32_t crc; /* CRC32 of ota_seq field only */
} ota_select;
static LIST_HEAD(ota_ops_entries_head, ota_ops_entry_) s_ota_ops_entries_head =
LIST_HEAD_INITIALIZER(s_ota_ops_entries_head);
static uint32_t s_ota_ops_last_handle = 0;
static ota_select s_ota_select[2];
const static char *TAG = "esp_ota_ops";
@@ -76,6 +70,56 @@ static bool is_ota_partition(const esp_partition_t *p)
&& p->subtype < ESP_PARTITION_SUBTYPE_APP_OTA_MAX);
}
// Read otadata partition and fill array from two otadata structures.
// Also return pointer to otadata info partition.
static const esp_partition_t *read_otadata(esp_ota_select_entry_t *two_otadata)
{
const esp_partition_t *otadata_partition = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_OTA, NULL);
if (otadata_partition == NULL) {
ESP_LOGE(TAG, "not found otadata");
return NULL;
}
spi_flash_mmap_handle_t ota_data_map;
const void *result = NULL;
esp_err_t err = esp_partition_mmap(otadata_partition, 0, otadata_partition->size, SPI_FLASH_MMAP_DATA, &result, &ota_data_map);
if (err != ESP_OK) {
ESP_LOGE(TAG, "mmap otadata filed. Err=0x%8x", err);
return NULL;
} else {
memcpy(&two_otadata[0], result, sizeof(esp_ota_select_entry_t));
memcpy(&two_otadata[1], result + SPI_FLASH_SEC_SIZE, sizeof(esp_ota_select_entry_t));
spi_flash_munmap(ota_data_map);
}
return otadata_partition;
}
static esp_err_t image_validate(const esp_partition_t *partition, esp_image_load_mode_t load_mode)
{
esp_image_metadata_t data;
const esp_partition_pos_t part_pos = {
.offset = partition->address,
.size = partition->size,
};
if (esp_image_verify(load_mode, &part_pos, &data) != ESP_OK) {
return ESP_ERR_OTA_VALIDATE_FAILED;
}
return ESP_OK;
}
static esp_ota_img_states_t set_new_state_otadata(void)
{
#ifdef CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
ESP_LOGD(TAG, "Monitoring the first boot of the app is enabled.");
return ESP_OTA_IMG_NEW;
#else
return ESP_OTA_IMG_UNDEFINED;
#endif
}
esp_err_t esp_ota_begin(const esp_partition_t *partition, size_t image_size, esp_ota_handle_t *out_handle)
{
ota_ops_entry_t *new_entry;
@@ -94,10 +138,21 @@ esp_err_t esp_ota_begin(const esp_partition_t *partition, size_t image_size, esp
return ESP_ERR_INVALID_ARG;
}
if (partition == esp_ota_get_running_partition()) {
const esp_partition_t* running_partition = esp_ota_get_running_partition();
if (partition == running_partition) {
return ESP_ERR_OTA_PARTITION_CONFLICT;
}
#ifdef CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
esp_ota_img_states_t ota_state_running_part;
if (esp_ota_get_state_partition(running_partition, &ota_state_running_part) == ESP_OK) {
if (ota_state_running_part == ESP_OTA_IMG_PENDING_VERIFY) {
ESP_LOGE(TAG, "Running app has not confirmed state (ESP_OTA_IMG_PENDING_VERIFY)");
return ESP_ERR_OTA_ROLLBACK_INVALID_STATE;
}
}
#endif
// If input image size is 0 or OTA_SIZE_UNKNOWN, erase entire partition
if ((image_size == 0) || (image_size == OTA_SIZE_UNKNOWN)) {
ret = esp_partition_erase_range(partition, 0, partition->size);
@@ -144,9 +199,8 @@ esp_err_t esp_ota_write(esp_ota_handle_t handle, const void *data, size_t size)
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");
if(it->wrote_size == 0 && size > 0 && data_bytes[0] != 0xE9) {
ESP_LOGE(TAG, "OTA image has invalid magic byte (expected 0xE9, saw 0x%02x", data_bytes[0]);
if (it->wrote_size == 0 && it->partial_bytes == 0 && size > 0 && data_bytes[0] != ESP_IMAGE_HEADER_MAGIC) {
ESP_LOGE(TAG, "OTA image has invalid magic byte (expected 0xE9, saw 0x%02x)", data_bytes[0]);
return ESP_ERR_OTA_VALIDATE_FAILED;
}
@@ -156,7 +210,7 @@ esp_err_t esp_ota_write(esp_ota_handle_t handle, const void *data, size_t size)
/* check if we have partially written data from earlier */
if (it->partial_bytes != 0) {
copy_len = OTA_MIN(16 - it->partial_bytes, size);
copy_len = MIN(16 - it->partial_bytes, size);
memcpy(it->partial_data + it->partial_bytes, data_bytes, copy_len);
it->partial_bytes += copy_len;
if (it->partial_bytes != 16) {
@@ -191,7 +245,7 @@ esp_err_t esp_ota_write(esp_ota_handle_t handle, const void *data, size_t size)
}
//if go to here ,means don't find the handle
ESP_LOGE(TAG,"not found the handle")
ESP_LOGE(TAG,"not found the handle");
return ESP_ERR_INVALID_ARG;
}
@@ -235,51 +289,31 @@ esp_err_t esp_ota_end(esp_ota_handle_t handle)
.size = it->part->size,
};
if (esp_image_load(ESP_IMAGE_VERIFY, &part_pos, &data) != ESP_OK) {
if (esp_image_verify(ESP_IMAGE_VERIFY, &part_pos, &data) != ESP_OK) {
ret = ESP_ERR_OTA_VALIDATE_FAILED;
goto cleanup;
}
#ifdef CONFIG_SECURE_BOOT_ENABLED
ret = esp_secure_boot_verify_signature(it->part->address, data.image_len);
if (ret != ESP_OK) {
ret = ESP_ERR_OTA_VALIDATE_FAILED;
goto cleanup;
}
#endif
cleanup:
LIST_REMOVE(it, entries);
free(it);
return ret;
}
static uint32_t ota_select_crc(const ota_select *s)
static esp_err_t rewrite_ota_seq(esp_ota_select_entry_t *two_otadata, uint32_t seq, uint8_t sec_id, const esp_partition_t *ota_data_partition)
{
return crc32_le(UINT32_MAX, (uint8_t *)&s->ota_seq, 4);
}
static bool ota_select_valid(const ota_select *s)
{
return s->ota_seq != UINT32_MAX && s->crc == ota_select_crc(s);
}
static esp_err_t rewrite_ota_seq(uint32_t seq, uint8_t sec_id, const esp_partition_t *ota_data_partition)
{
esp_err_t ret;
if (sec_id == 0 || sec_id == 1) {
s_ota_select[sec_id].ota_seq = seq;
s_ota_select[sec_id].crc = ota_select_crc(&s_ota_select[sec_id]);
ret = esp_partition_erase_range(ota_data_partition, sec_id * SPI_FLASH_SEC_SIZE, SPI_FLASH_SEC_SIZE);
if (ret != ESP_OK) {
return ret;
} else {
return esp_partition_write(ota_data_partition, SPI_FLASH_SEC_SIZE * sec_id, &s_ota_select[sec_id].ota_seq, sizeof(ota_select));
}
} else {
if (two_otadata == NULL || sec_id > 1) {
return ESP_ERR_INVALID_ARG;
}
two_otadata[sec_id].ota_seq = seq;
two_otadata[sec_id].crc = bootloader_common_ota_select_crc(&two_otadata[sec_id]);
esp_err_t ret = esp_partition_erase_range(ota_data_partition, sec_id * SPI_FLASH_SEC_SIZE, SPI_FLASH_SEC_SIZE);
if (ret != ESP_OK) {
return ret;
} else {
return esp_partition_write(ota_data_partition, SPI_FLASH_SEC_SIZE * sec_id, &two_otadata[sec_id], sizeof(esp_ota_select_entry_t));
}
}
static uint8_t get_ota_partition_count(void)
@@ -294,119 +328,88 @@ static uint8_t get_ota_partition_count(void)
static esp_err_t esp_rewrite_ota_data(esp_partition_subtype_t subtype)
{
esp_err_t ret;
const esp_partition_t *find_partition = NULL;
uint16_t ota_app_count = 0;
uint32_t i = 0;
uint32_t seq;
static spi_flash_mmap_memory_t ota_data_map;
const void *result = NULL;
find_partition = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_OTA, NULL);
if (find_partition != NULL) {
ota_app_count = get_ota_partition_count();
//esp32_idf use two sector for store information about which partition is running
//it defined the two sector as ota data partition,two structure ota_select is saved in the two sector
//named data in first sector as s_ota_select[0], second sector data as s_ota_select[1]
//e.g.
//if s_ota_select[0].ota_seq == s_ota_select[1].ota_seq == 0xFFFFFFFF,means ota info partition is in init status
//so it will boot factory application(if there is),if there's no factory application,it will boot ota[0] application
//if s_ota_select[0].ota_seq != 0 and s_ota_select[1].ota_seq != 0,it will choose a max seq ,and get value of max_seq%max_ota_app_number
//and boot a subtype (mask 0x0F) value is (max_seq - 1)%max_ota_app_number,so if want switch to run ota[x],can use next formulas.
//for example, if s_ota_select[0].ota_seq = 4, s_ota_select[1].ota_seq = 5, and there are 8 ota application,
//current running is (5-1)%8 = 4,running ota[4],so if we want to switch to run ota[7],
//we should add s_ota_select[0].ota_seq (is 4) to 4 ,(8-1)%8=7,then it will boot ota[7]
//if A=(B - C)%D
//then B=(A + C)%D + D*n ,n= (0,1,2...)
//so current ota app sub type id is x , dest bin subtype is y,total ota app count is n
//seq will add (x + n*1 + 1 - seq)%n
if (SUB_TYPE_ID(subtype) >= ota_app_count) {
return ESP_ERR_INVALID_ARG;
}
ret = esp_partition_mmap(find_partition, 0, find_partition->size, SPI_FLASH_MMAP_DATA, &result, &ota_data_map);
if (ret != ESP_OK) {
result = NULL;
return ret;
} else {
memcpy(&s_ota_select[0], result, sizeof(ota_select));
memcpy(&s_ota_select[1], result + SPI_FLASH_SEC_SIZE, sizeof(ota_select));
spi_flash_munmap(ota_data_map);
}
if (ota_select_valid(&s_ota_select[0]) && ota_select_valid(&s_ota_select[1])) {
seq = OTA_MAX(s_ota_select[0].ota_seq, s_ota_select[1].ota_seq);
while (seq > (SUB_TYPE_ID(subtype) + 1) % ota_app_count + i * ota_app_count) {
i++;
}
if (s_ota_select[0].ota_seq >= s_ota_select[1].ota_seq) {
return rewrite_ota_seq((SUB_TYPE_ID(subtype) + 1) % ota_app_count + i * ota_app_count, 1, find_partition);
} else {
return rewrite_ota_seq((SUB_TYPE_ID(subtype) + 1) % ota_app_count + i * ota_app_count, 0, find_partition);
}
} else if (ota_select_valid(&s_ota_select[0])) {
while (s_ota_select[0].ota_seq > (SUB_TYPE_ID(subtype) + 1) % ota_app_count + i * ota_app_count) {
i++;
}
return rewrite_ota_seq((SUB_TYPE_ID(subtype) + 1) % ota_app_count + i * ota_app_count, 1, find_partition);
} else if (ota_select_valid(&s_ota_select[1])) {
while (s_ota_select[1].ota_seq > (SUB_TYPE_ID(subtype) + 1) % ota_app_count + i * ota_app_count) {
i++;
}
return rewrite_ota_seq((SUB_TYPE_ID(subtype) + 1) % ota_app_count + i * ota_app_count, 0, find_partition);
} else {
/* Both OTA slots are invalid, probably because unformatted... */
return rewrite_ota_seq(SUB_TYPE_ID(subtype) + 1, 0, find_partition);
}
} else {
esp_ota_select_entry_t otadata[2];
const esp_partition_t *otadata_partition = read_otadata(otadata);
if (otadata_partition == NULL) {
return ESP_ERR_NOT_FOUND;
}
int ota_app_count = get_ota_partition_count();
if (SUB_TYPE_ID(subtype) >= ota_app_count) {
return ESP_ERR_INVALID_ARG;
}
//esp32_idf use two sector for store information about which partition is running
//it defined the two sector as ota data partition,two structure esp_ota_select_entry_t is saved in the two sector
//named data in first sector as otadata[0], second sector data as otadata[1]
//e.g.
//if otadata[0].ota_seq == otadata[1].ota_seq == 0xFFFFFFFF,means ota info partition is in init status
//so it will boot factory application(if there is),if there's no factory application,it will boot ota[0] application
//if otadata[0].ota_seq != 0 and otadata[1].ota_seq != 0,it will choose a max seq ,and get value of max_seq%max_ota_app_number
//and boot a subtype (mask 0x0F) value is (max_seq - 1)%max_ota_app_number,so if want switch to run ota[x],can use next formulas.
//for example, if otadata[0].ota_seq = 4, otadata[1].ota_seq = 5, and there are 8 ota application,
//current running is (5-1)%8 = 4,running ota[4],so if we want to switch to run ota[7],
//we should add otadata[0].ota_seq (is 4) to 4 ,(8-1)%8=7,then it will boot ota[7]
//if A=(B - C)%D
//then B=(A + C)%D + D*n ,n= (0,1,2...)
//so current ota app sub type id is x , dest bin subtype is y,total ota app count is n
//seq will add (x + n*1 + 1 - seq)%n
int active_otadata = bootloader_common_get_active_otadata(otadata);
if (active_otadata != -1) {
uint32_t seq = otadata[active_otadata].ota_seq;
uint32_t i = 0;
while (seq > (SUB_TYPE_ID(subtype) + 1) % ota_app_count + i * ota_app_count) {
i++;
}
int next_otadata = (~active_otadata)&1; // if 0 -> will be next 1. and if 1 -> will be next 0.
otadata[next_otadata].ota_state = set_new_state_otadata();
return rewrite_ota_seq(otadata, (SUB_TYPE_ID(subtype) + 1) % ota_app_count + i * ota_app_count, next_otadata, otadata_partition);
} else {
/* Both OTA slots are invalid, probably because unformatted... */
int next_otadata = 0;
otadata[next_otadata].ota_state = set_new_state_otadata();
return rewrite_ota_seq(otadata, SUB_TYPE_ID(subtype) + 1, next_otadata, otadata_partition);
}
}
esp_err_t esp_ota_set_boot_partition(const esp_partition_t *partition)
{
const esp_partition_t *find_partition = NULL;
if (partition == NULL) {
return ESP_ERR_INVALID_ARG;
}
esp_image_metadata_t data;
const esp_partition_pos_t part_pos = {
.offset = partition->address,
.size = partition->size,
};
if (esp_image_load(ESP_IMAGE_VERIFY, &part_pos, &data) != ESP_OK) {
if (image_validate(partition, ESP_IMAGE_VERIFY) != ESP_OK) {
return ESP_ERR_OTA_VALIDATE_FAILED;
}
#ifdef CONFIG_SECURE_BOOT_ENABLED
esp_err_t ret = esp_secure_boot_verify_signature(partition->address, data.image_len);
if (ret != ESP_OK) {
return ESP_ERR_OTA_VALIDATE_FAILED;
}
#endif
// if set boot partition to factory bin ,just format ota info partition
if (partition->type == ESP_PARTITION_TYPE_APP) {
if (partition->subtype == ESP_PARTITION_SUBTYPE_APP_FACTORY) {
find_partition = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_OTA, NULL);
const esp_partition_t *find_partition = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_OTA, NULL);
if (find_partition != NULL) {
return esp_partition_erase_range(find_partition, 0, find_partition->size);
} else {
return ESP_ERR_NOT_FOUND;
}
} else {
// try to find this partition in flash,if not find it ,return error
find_partition = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_OTA, NULL);
if (find_partition != NULL) {
return esp_rewrite_ota_data(partition->subtype);
} else {
return ESP_ERR_NOT_FOUND;
#ifdef CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
esp_app_desc_t partition_app_desc;
esp_err_t err = esp_ota_get_partition_description(partition, &partition_app_desc);
if (err != ESP_OK) {
return err;
}
if (esp_efuse_check_secure_version(partition_app_desc.secure_version) == false) {
ESP_LOGE(TAG, "This a new partition can not be booted due to a secure version is lower than stored in efuse. Partition will be erased.");
esp_err_t err = esp_partition_erase_range(partition, 0, partition->size);
if (err != ESP_OK) {
return err;
}
return ESP_ERR_OTA_SMALL_SEC_VER;
}
#endif
return esp_rewrite_ota_data(partition->subtype);
}
} else {
return ESP_ERR_INVALID_ARG;
@@ -443,67 +446,48 @@ static const esp_partition_t *find_default_boot_partition(void)
const esp_partition_t *esp_ota_get_boot_partition(void)
{
esp_err_t ret;
const esp_partition_t *find_partition = NULL;
static spi_flash_mmap_memory_t ota_data_map;
const void *result = NULL;
uint16_t ota_app_count = 0;
find_partition = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_OTA, NULL);
if (find_partition == NULL) {
ESP_LOGE(TAG, "not found ota data");
esp_ota_select_entry_t otadata[2];
const esp_partition_t *otadata_partition = read_otadata(otadata);
if (otadata_partition == NULL) {
return NULL;
}
ret = esp_partition_mmap(find_partition, 0, find_partition->size, SPI_FLASH_MMAP_DATA, &result, &ota_data_map);
if (ret != ESP_OK) {
spi_flash_munmap(ota_data_map);
ESP_LOGE(TAG, "mmap ota data filed");
return NULL;
} else {
memcpy(&s_ota_select[0], result, sizeof(ota_select));
memcpy(&s_ota_select[1], result + 0x1000, sizeof(ota_select));
spi_flash_munmap(ota_data_map);
}
ota_app_count = get_ota_partition_count();
int ota_app_count = get_ota_partition_count();
ESP_LOGD(TAG, "found ota app max = %d", ota_app_count);
if (s_ota_select[0].ota_seq == 0xFFFFFFFF && s_ota_select[1].ota_seq == 0xFFFFFFFF) {
ESP_LOGD(TAG, "finding factory app......");
if ((bootloader_common_ota_select_invalid(&otadata[0]) &&
bootloader_common_ota_select_invalid(&otadata[1])) ||
ota_app_count == 0) {
ESP_LOGD(TAG, "finding factory app...");
return find_default_boot_partition();
} else if (ota_select_valid(&s_ota_select[0]) && ota_select_valid(&s_ota_select[1])) {
ESP_LOGD(TAG, "finding ota_%d app......", \
ESP_PARTITION_SUBTYPE_APP_OTA_MIN + ((OTA_MAX(s_ota_select[0].ota_seq, s_ota_select[1].ota_seq) - 1) % ota_app_count));
return esp_partition_find_first(ESP_PARTITION_TYPE_APP, \
ESP_PARTITION_SUBTYPE_APP_OTA_MIN + ((OTA_MAX(s_ota_select[0].ota_seq, s_ota_select[1].ota_seq) - 1) % ota_app_count), NULL);
} else if (ota_select_valid(&s_ota_select[0])) {
ESP_LOGD(TAG, "finding ota_%d app......", \
ESP_PARTITION_SUBTYPE_APP_OTA_MIN + (s_ota_select[0].ota_seq - 1) % ota_app_count);
return esp_partition_find_first(ESP_PARTITION_TYPE_APP, \
ESP_PARTITION_SUBTYPE_APP_OTA_MIN + (s_ota_select[0].ota_seq - 1) % ota_app_count, NULL);
} else if (ota_select_valid(&s_ota_select[1])) {
ESP_LOGD(TAG, "finding ota_%d app......", \
ESP_PARTITION_SUBTYPE_APP_OTA_MIN + (s_ota_select[1].ota_seq - 1) % ota_app_count);
return esp_partition_find_first(ESP_PARTITION_TYPE_APP, \
ESP_PARTITION_SUBTYPE_APP_OTA_MIN + (s_ota_select[1].ota_seq - 1) % ota_app_count, NULL);
} else {
ESP_LOGE(TAG, "ota data invalid, no current app. Assuming factory");
return find_default_boot_partition();
int active_otadata = bootloader_common_get_active_otadata(otadata);
if (active_otadata != -1) {
int ota_slot = (otadata[active_otadata].ota_seq - 1) % ota_app_count; // Actual OTA partition selection
ESP_LOGD(TAG, "finding ota_%d app...", ESP_PARTITION_SUBTYPE_APP_OTA_MIN + ota_slot);
return esp_partition_find_first(ESP_PARTITION_TYPE_APP, ESP_PARTITION_SUBTYPE_APP_OTA_MIN + ota_slot, NULL);
} else {
ESP_LOGE(TAG, "ota data invalid, no current app. Assuming factory");
return find_default_boot_partition();
}
}
}
const esp_partition_t* esp_ota_get_running_partition(void)
{
static const esp_partition_t *curr_partition = NULL;
/*
* Currently running partition is unlikely to change across reset cycle,
* so it can be cached here, and avoid lookup on every flash write operation.
*/
if (curr_partition != NULL) {
return curr_partition;
}
/* Find the flash address of this exact function. By definition that is part
of the currently running firmware. Then find the enclosing partition. */
size_t phys_offs = spi_flash_cache2phys(esp_ota_get_running_partition);
assert (phys_offs != SPI_FLASH_CACHE2PHYS_FAIL); /* indicates cache2phys lookup is buggy */
@@ -517,6 +501,7 @@ const esp_partition_t* esp_ota_get_running_partition(void)
const esp_partition_t *p = esp_partition_get(it);
if (p->address <= phys_offs && p->address + p->size > phys_offs) {
esp_partition_iterator_release(it);
curr_partition = p;
return p;
}
it = esp_partition_next(it);
@@ -573,3 +558,265 @@ const esp_partition_t* esp_ota_get_next_update_partition(const esp_partition_t *
return default_ota;
}
esp_err_t esp_ota_get_partition_description(const esp_partition_t *partition, esp_app_desc_t *app_desc)
{
if (partition == NULL || app_desc == NULL) {
return ESP_ERR_INVALID_ARG;
}
if(partition->type != ESP_PARTITION_TYPE_APP) {
return ESP_ERR_NOT_SUPPORTED;
}
esp_err_t err = esp_partition_read(partition, sizeof(esp_image_header_t) + sizeof(esp_image_segment_header_t), app_desc, sizeof(esp_app_desc_t));
if (err != ESP_OK) {
return err;
}
if (app_desc->magic_word != ESP_APP_DESC_MAGIC_WORD) {
return ESP_ERR_NOT_FOUND;
}
return ESP_OK;
}
#ifdef CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
static esp_err_t esp_ota_set_anti_rollback(void) {
const esp_app_desc_t *app_desc = esp_ota_get_app_description();
return esp_efuse_update_secure_version(app_desc->secure_version);
}
#endif
// Checks applications on the slots which can be booted in case of rollback.
// Returns true if the slots have at least one app (except the running app).
bool esp_ota_check_rollback_is_possible(void)
{
esp_ota_select_entry_t otadata[2];
if (read_otadata(otadata) == NULL) {
return false;
}
int ota_app_count = get_ota_partition_count();
if (ota_app_count == 0) {
return false;
}
bool valid_otadata[2];
valid_otadata[0] = bootloader_common_ota_select_valid(&otadata[0]);
valid_otadata[1] = bootloader_common_ota_select_valid(&otadata[1]);
int active_ota = bootloader_common_select_otadata(otadata, valid_otadata, true);
if (active_ota == -1) {
return false;
}
int last_active_ota = (~active_ota)&1;
const esp_partition_t *partition = NULL;
#ifndef CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
if (valid_otadata[last_active_ota] == false) {
partition = esp_partition_find_first(ESP_PARTITION_TYPE_APP, ESP_PARTITION_SUBTYPE_APP_FACTORY, NULL);
if (partition != NULL) {
if(image_validate(partition, ESP_IMAGE_VERIFY_SILENT) == ESP_OK) {
return true;
}
}
}
#endif
if (valid_otadata[last_active_ota] == true) {
int slot = (otadata[last_active_ota].ota_seq - 1) % ota_app_count;
partition = esp_partition_find_first(ESP_PARTITION_TYPE_APP, ESP_PARTITION_SUBTYPE_APP_OTA_MIN + slot, NULL);
if (partition != NULL) {
if(image_validate(partition, ESP_IMAGE_VERIFY_SILENT) == ESP_OK) {
#ifdef CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
esp_app_desc_t app_desc;
if (esp_ota_get_partition_description(partition, &app_desc) == ESP_OK &&
esp_efuse_check_secure_version(app_desc.secure_version) == true) {
return true;
}
#else
return true;
#endif
}
}
}
return false;
}
// if valid == false - will done rollback with reboot. After reboot will boot previous OTA[x] or Factory partition.
// if valid == true - it confirm that current OTA[x] is workable. Reboot will not happen.
static esp_err_t esp_ota_current_ota_is_workable(bool valid)
{
esp_ota_select_entry_t otadata[2];
const esp_partition_t *otadata_partition = read_otadata(otadata);
if (otadata_partition == NULL) {
return ESP_ERR_NOT_FOUND;
}
int active_otadata = bootloader_common_get_active_otadata(otadata);
if (active_otadata != -1 && get_ota_partition_count() != 0) {
if (valid == true && otadata[active_otadata].ota_state != ESP_OTA_IMG_VALID) {
otadata[active_otadata].ota_state = ESP_OTA_IMG_VALID;
ESP_LOGD(TAG, "OTA[current] partition is marked as VALID");
esp_err_t err = rewrite_ota_seq(otadata, otadata[active_otadata].ota_seq, active_otadata, otadata_partition);
#ifdef CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
if (err == ESP_OK) {
return esp_ota_set_anti_rollback();
}
#endif
return err;
} else if (valid == false) {
if (esp_ota_check_rollback_is_possible() == false) {
ESP_LOGE(TAG, "Rollback is not possible, do not have any suitable apps in slots");
return ESP_ERR_OTA_ROLLBACK_FAILED;
}
ESP_LOGD(TAG, "OTA[current] partition is marked as INVALID");
otadata[active_otadata].ota_state = ESP_OTA_IMG_INVALID;
esp_err_t err = rewrite_ota_seq(otadata, otadata[active_otadata].ota_seq, active_otadata, otadata_partition);
if (err != ESP_OK) {
return err;
}
ESP_LOGI(TAG, "Rollback to previously worked partition. Restart.");
esp_restart();
}
} else {
ESP_LOGE(TAG, "Running firmware is factory");
return ESP_FAIL;
}
return ESP_OK;
}
esp_err_t esp_ota_mark_app_valid_cancel_rollback(void)
{
return esp_ota_current_ota_is_workable(true);
}
esp_err_t esp_ota_mark_app_invalid_rollback_and_reboot(void)
{
return esp_ota_current_ota_is_workable(false);
}
static bool check_invalid_otadata (const esp_ota_select_entry_t *s) {
return s->ota_seq != UINT32_MAX &&
s->crc == bootloader_common_ota_select_crc(s) &&
(s->ota_state == ESP_OTA_IMG_INVALID ||
s->ota_state == ESP_OTA_IMG_ABORTED);
}
static int get_last_invalid_otadata(const esp_ota_select_entry_t *two_otadata)
{
bool invalid_otadata[2];
invalid_otadata[0] = check_invalid_otadata(&two_otadata[0]);
invalid_otadata[1] = check_invalid_otadata(&two_otadata[1]);
int num_invalid_otadata = bootloader_common_select_otadata(two_otadata, invalid_otadata, false);
ESP_LOGD(TAG, "Invalid otadata[%d]", num_invalid_otadata);
return num_invalid_otadata;
}
const esp_partition_t* esp_ota_get_last_invalid_partition(void)
{
esp_ota_select_entry_t otadata[2];
if (read_otadata(otadata) == NULL) {
return NULL;
}
int invalid_otadata = get_last_invalid_otadata(otadata);
int ota_app_count = get_ota_partition_count();
if (invalid_otadata != -1 && ota_app_count != 0) {
int ota_slot = (otadata[invalid_otadata].ota_seq - 1) % ota_app_count;
ESP_LOGD(TAG, "Find invalid ota_%d app", ESP_PARTITION_SUBTYPE_APP_OTA_MIN + ota_slot);
const esp_partition_t* invalid_partition = esp_partition_find_first(ESP_PARTITION_TYPE_APP, ESP_PARTITION_SUBTYPE_APP_OTA_MIN + ota_slot, NULL);
if (invalid_partition != NULL) {
if (image_validate(invalid_partition, ESP_IMAGE_VERIFY_SILENT) != ESP_OK) {
ESP_LOGD(TAG, "Last invalid partition has corrupted app");
return NULL;
}
}
return invalid_partition;
}
return NULL;
}
esp_err_t esp_ota_get_state_partition(const esp_partition_t *partition, esp_ota_img_states_t *ota_state)
{
if (partition == NULL || ota_state == NULL) {
return ESP_ERR_INVALID_ARG;
}
if (!is_ota_partition(partition)) {
return ESP_ERR_NOT_SUPPORTED;
}
esp_ota_select_entry_t otadata[2];
int ota_app_count = get_ota_partition_count();
if (read_otadata(otadata) == NULL || ota_app_count == 0) {
return ESP_ERR_NOT_FOUND;
}
int req_ota_slot = partition->subtype - ESP_PARTITION_SUBTYPE_APP_OTA_MIN;
bool not_found = true;
for (int i = 0; i < 2; ++i) {
int ota_slot = (otadata[i].ota_seq - 1) % ota_app_count;
if (ota_slot == req_ota_slot && otadata[i].crc == bootloader_common_ota_select_crc(&otadata[i])) {
*ota_state = otadata[i].ota_state;
not_found = false;
break;
}
}
if (not_found) {
return ESP_ERR_NOT_FOUND;
}
return ESP_OK;
}
esp_err_t esp_ota_erase_last_boot_app_partition(void)
{
esp_ota_select_entry_t otadata[2];
const esp_partition_t* ota_data_partition = read_otadata(otadata);
if (ota_data_partition == NULL) {
return ESP_FAIL;
}
int active_otadata = bootloader_common_get_active_otadata(otadata);
int ota_app_count = get_ota_partition_count();
if (active_otadata == -1 || ota_app_count == 0) {
return ESP_FAIL;
}
int inactive_otadata = (~active_otadata)&1;
if (otadata[inactive_otadata].ota_seq == UINT32_MAX || otadata[inactive_otadata].crc != bootloader_common_ota_select_crc(&otadata[inactive_otadata])) {
return ESP_FAIL;
}
int ota_slot = (otadata[inactive_otadata].ota_seq - 1) % ota_app_count; // Actual OTA partition selection
ESP_LOGD(TAG, "finding last_boot_app_partition ota_%d app...", ESP_PARTITION_SUBTYPE_APP_OTA_MIN + ota_slot);
const esp_partition_t* last_boot_app_partition_from_otadata = esp_partition_find_first(ESP_PARTITION_TYPE_APP, ESP_PARTITION_SUBTYPE_APP_OTA_MIN + ota_slot, NULL);
if (last_boot_app_partition_from_otadata == NULL) {
return ESP_FAIL;
}
const esp_partition_t* running_partition = esp_ota_get_running_partition();
if (running_partition == NULL || last_boot_app_partition_from_otadata == running_partition) {
return ESP_FAIL;
}
esp_err_t err = esp_partition_erase_range(last_boot_app_partition_from_otadata, 0, last_boot_app_partition_from_otadata->size);
if (err != ESP_OK) {
return err;
}
int sec_id = inactive_otadata;
err = esp_partition_erase_range(ota_data_partition, sec_id * SPI_FLASH_SEC_SIZE, SPI_FLASH_SEC_SIZE);
if (err != ESP_OK) {
return err;
}
return ESP_OK;
}

109
components/app_update/include/esp_ota_ops.h Executable file → Normal file
View File

@@ -20,7 +20,8 @@
#include <stddef.h>
#include "esp_err.h"
#include "esp_partition.h"
#include "esp_spi_flash.h"
#include "esp_image_format.h"
#include "esp_flash_partitions.h"
#ifdef __cplusplus
extern "C"
@@ -33,6 +34,10 @@ extern "C"
#define ESP_ERR_OTA_PARTITION_CONFLICT (ESP_ERR_OTA_BASE + 0x01) /*!< Error if request was to write or erase the current running partition */
#define ESP_ERR_OTA_SELECT_INFO_INVALID (ESP_ERR_OTA_BASE + 0x02) /*!< Error if OTA data partition contains invalid content */
#define ESP_ERR_OTA_VALIDATE_FAILED (ESP_ERR_OTA_BASE + 0x03) /*!< Error if OTA app image is invalid */
#define ESP_ERR_OTA_SMALL_SEC_VER (ESP_ERR_OTA_BASE + 0x04) /*!< Error if the firmware has a secure version less than the running firmware. */
#define ESP_ERR_OTA_ROLLBACK_FAILED (ESP_ERR_OTA_BASE + 0x05) /*!< Error if flash does not have valid firmware in passive partition and hence rollback is not possible */
#define ESP_ERR_OTA_ROLLBACK_INVALID_STATE (ESP_ERR_OTA_BASE + 0x06) /*!< Error if current active firmware is still marked in pending validation state (ESP_OTA_IMG_PENDING_VERIFY), essentially first boot of firmware image post upgrade and hence firmware upgrade is not possible */
/**
* @brief Opaque handle for an application OTA update
@@ -42,6 +47,24 @@ extern "C"
*/
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.
*/
const esp_app_desc_t *esp_ota_get_app_description(void);
/**
* @brief Fill the provided buffer with SHA256 of the ELF file, formatted as hexadecimal, null-terminated.
* If the buffer size is not sufficient to fit the entire SHA256 in hex plus a null terminator,
* the largest possible number of bytes will be written followed by a null.
* @param dst Destination buffer
* @param size Size of the buffer
* @return Number of bytes written to dst (including null terminator)
*/
int esp_ota_get_app_elf_sha256(char* dst, size_t size);
/**
* @brief Commence an OTA update writing to the specified partition.
@@ -53,6 +76,10 @@ typedef uint32_t esp_ota_handle_t;
* On success, this function allocates memory that remains in use
* until esp_ota_end() is called with the returned handle.
*
* Note: If the rollback option is enabled and the running application has the ESP_OTA_IMG_PENDING_VERIFY state then
* it will lead to the ESP_ERR_OTA_ROLLBACK_INVALID_STATE error. Confirm the running app before to run download a new app,
* use esp_ota_mark_app_valid_cancel_rollback() function for it (this should be done as early as possible when you first download a new application).
*
* @param partition Pointer to info for partition which will receive the OTA update. Required.
* @param image_size Size of new OTA app image. Partition will be erased in order to receive this size of image. If 0 or OTA_SIZE_UNKNOWN, the entire partition is erased.
* @param out_handle On success, returns a handle which should be used for subsequent esp_ota_write() and esp_ota_end() calls.
@@ -66,6 +93,7 @@ typedef uint32_t esp_ota_handle_t;
* - ESP_ERR_OTA_SELECT_INFO_INVALID: The OTA data partition contains invalid data.
* - ESP_ERR_INVALID_SIZE: Partition doesn't fit in configured flash size.
* - ESP_ERR_FLASH_OP_TIMEOUT or ESP_ERR_FLASH_OP_FAIL: Flash write failed.
* - ESP_ERR_OTA_ROLLBACK_INVALID_STATE: If the running app has not confirmed state. Before performing an update, the application must be valid.
*/
esp_err_t esp_ota_begin(const esp_partition_t* partition, size_t image_size, esp_ota_handle_t* out_handle);
@@ -133,7 +161,7 @@ esp_err_t esp_ota_set_boot_partition(const esp_partition_t* partition);
* If the OTA data partition is not present or not valid then the result is the first app partition found in the
* partition table. In priority order, this means: the factory app, the first OTA app slot, or the test app partition.
*
* Note that there is no guarantee the returned partition is a valid app. Use esp_image_load(ESP_IMAGE_VERIFY, ...) to verify if the
* Note that there is no guarantee the returned partition is a valid app. Use esp_image_verify(ESP_IMAGE_VERIFY, ...) to verify if the
* returned partition contains a bootable image.
*
* @return Pointer to info for partition structure, or NULL if partition table is invalid or a flash read operation failed. Any returned pointer is valid for the lifetime of the application.
@@ -171,6 +199,83 @@ const esp_partition_t* esp_ota_get_running_partition(void);
*/
const esp_partition_t* esp_ota_get_next_update_partition(const esp_partition_t *start_from);
/**
* @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.
* @return
* - ESP_OK Successful.
* - ESP_ERR_NOT_FOUND app_desc structure is not found. Magic word is incorrect.
* - ESP_ERR_NOT_SUPPORTED Partition is not application.
* - ESP_ERR_INVALID_ARG Arguments is NULL or if partition's offset exceeds partition size.
* - ESP_ERR_INVALID_SIZE Read would go out of bounds of the partition.
* - or one of error codes from lower-level flash driver.
*/
esp_err_t esp_ota_get_partition_description(const esp_partition_t *partition, esp_app_desc_t *app_desc);
/**
* @brief This function is called to indicate that the running app is working well.
*
* @return
* - ESP_OK: if successful.
*/
esp_err_t esp_ota_mark_app_valid_cancel_rollback(void);
/**
* @brief This function is called to roll back to the previously workable app with reboot.
*
* If rollback is successful then device will reset else API will return with error code.
* Checks applications on a flash drive that can be booted in case of rollback.
* If the flash does not have at least one app (except the running app) then rollback is not possible.
* @return
* - ESP_FAIL: if not successful.
* - ESP_ERR_OTA_ROLLBACK_FAILED: The rollback is not possible due to flash does not have any apps.
*/
esp_err_t esp_ota_mark_app_invalid_rollback_and_reboot(void);
/**
* @brief Returns last partition with invalid state (ESP_OTA_IMG_INVALID or ESP_OTA_IMG_ABORTED).
*
* @return partition.
*/
const esp_partition_t* esp_ota_get_last_invalid_partition(void);
/**
* @brief Returns state for given partition.
*
* @param[in] partition Pointer to partition.
* @param[out] ota_state state of partition (if this partition has a record in otadata).
* @return
* - ESP_OK: Successful.
* - ESP_ERR_INVALID_ARG: partition or ota_state arguments were NULL.
* - ESP_ERR_NOT_SUPPORTED: partition is not ota.
* - ESP_ERR_NOT_FOUND: Partition table does not have otadata or state was not found for given partition.
*/
esp_err_t esp_ota_get_state_partition(const esp_partition_t *partition, esp_ota_img_states_t *ota_state);
/**
* @brief Erase previous boot app partition and corresponding otadata select for this partition.
*
* When current app is marked to as valid then you can erase previous app partition.
* @return
* - ESP_OK: Successful, otherwise ESP_ERR.
*/
esp_err_t esp_ota_erase_last_boot_app_partition(void);
/**
* @brief Checks applications on the slots which can be booted in case of rollback.
*
* These applications should be valid (marked in otadata as not UNDEFINED, INVALID or ABORTED and crc is good) and be able booted,
* and secure_version of app >= secure_version of efuse (if anti-rollback is enabled).
*
* @return
* - True: Returns true if the slots have at least one app (except the running app).
* - False: The rollback is not possible.
*/
bool esp_ota_check_rollback_is_possible(void);
#ifdef __cplusplus
}
#endif

388
components/app_update/otatool.py Executable file
View File

@@ -0,0 +1,388 @@
#!/usr/bin/env python
#
# otatool is used to perform ota-level operations - flashing ota partition
# erasing ota partition and switching ota partition
#
# Copyright 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.
from __future__ import print_function, division
import argparse
import os
import sys
import binascii
import tempfile
import collections
import struct
try:
from parttool import PartitionName, PartitionType, ParttoolTarget, PARTITION_TABLE_OFFSET
except ImportError:
COMPONENTS_PATH = os.path.expandvars(os.path.join("$IDF_PATH", "components"))
PARTTOOL_DIR = os.path.join(COMPONENTS_PATH, "partition_table")
sys.path.append(PARTTOOL_DIR)
from parttool import PartitionName, PartitionType, ParttoolTarget, PARTITION_TABLE_OFFSET
__version__ = '2.0'
SPI_FLASH_SEC_SIZE = 0x2000
quiet = False
def status(msg):
if not quiet:
print(msg)
class OtatoolTarget():
OTADATA_PARTITION = PartitionType("data", "ota")
def __init__(self, port=None, baud=None, partition_table_offset=PARTITION_TABLE_OFFSET, partition_table_file=None,
spi_flash_sec_size=SPI_FLASH_SEC_SIZE, esptool_args=[], esptool_write_args=[],
esptool_read_args=[], esptool_erase_args=[]):
self.target = ParttoolTarget(port, baud, partition_table_offset, partition_table_file, esptool_args,
esptool_write_args, esptool_read_args, esptool_erase_args)
self.spi_flash_sec_size = spi_flash_sec_size
temp_file = tempfile.NamedTemporaryFile(delete=False)
temp_file.close()
try:
self.target.read_partition(OtatoolTarget.OTADATA_PARTITION, temp_file.name)
with open(temp_file.name, "rb") as f:
self.otadata = f.read()
except Exception:
self.otadata = None
finally:
os.unlink(temp_file.name)
def _check_otadata_partition(self):
if not self.otadata:
raise Exception("No otadata partition found")
def erase_otadata(self):
self._check_otadata_partition()
self.target.erase_partition(OtatoolTarget.OTADATA_PARTITION)
def _get_otadata_info(self):
info = []
otadata_info = collections.namedtuple("otadata_info", "seq crc")
for i in range(2):
start = i * (self.spi_flash_sec_size >> 1)
seq = bytearray(self.otadata[start:start + 4])
crc = bytearray(self.otadata[start + 28:start + 32])
seq = struct.unpack('>I', seq)
crc = struct.unpack('>I', crc)
info.append(otadata_info(seq[0], crc[0]))
return info
def _get_partition_id_from_ota_id(self, ota_id):
if isinstance(ota_id, int):
return PartitionType("app", "ota_" + str(ota_id))
else:
return PartitionName(ota_id)
def switch_ota_partition(self, ota_id):
self._check_otadata_partition()
sys.path.append(PARTTOOL_DIR)
import gen_esp32part as gen
def is_otadata_info_valid(status):
seq = status.seq % (1 << 32)
crc = hex(binascii.crc32(struct.pack("I", seq), 0xFFFFFFFF) % (1 << 32))
return seq < (int('0xFFFFFFFF', 16) % (1 << 32)) and status.crc == crc
partition_table = self.target.partition_table
ota_partitions = list()
for i in range(gen.NUM_PARTITION_SUBTYPE_APP_OTA):
ota_partition = filter(lambda p: p.subtype == (gen.MIN_PARTITION_SUBTYPE_APP_OTA + i), partition_table)
try:
ota_partitions.append(list(ota_partition)[0])
except IndexError:
break
ota_partitions = sorted(ota_partitions, key=lambda p: p.subtype)
if not ota_partitions:
raise Exception("No ota app partitions found")
# Look for the app partition to switch to
ota_partition_next = None
try:
if isinstance(ota_id, int):
ota_partition_next = filter(lambda p: p.subtype - gen.MIN_PARTITION_SUBTYPE_APP_OTA == ota_id, ota_partitions)
else:
ota_partition_next = filter(lambda p: p.name == ota_id, ota_partitions)
ota_partition_next = list(ota_partition_next)[0]
except IndexError:
raise Exception("Partition to switch to not found")
otadata_info = self._get_otadata_info()
# Find the copy to base the computation for ota sequence number on
otadata_compute_base = -1
# Both are valid, take the max as computation base
if is_otadata_info_valid(otadata_info[0]) and is_otadata_info_valid(otadata_info[1]):
if otadata_info[0].seq >= otadata_info[1].seq:
otadata_compute_base = 0
else:
otadata_compute_base = 1
# Only one copy is valid, use that
elif is_otadata_info_valid(otadata_info[0]):
otadata_compute_base = 0
elif is_otadata_info_valid(otadata_info[1]):
otadata_compute_base = 1
# Both are invalid (could be initial state - all 0xFF's)
else:
pass
ota_seq_next = 0
ota_partitions_num = len(ota_partitions)
target_seq = (ota_partition_next.subtype & 0x0F) + 1
# Find the next ota sequence number
if otadata_compute_base == 0 or otadata_compute_base == 1:
base_seq = otadata_info[otadata_compute_base].seq % (1 << 32)
i = 0
while base_seq > target_seq % ota_partitions_num + i * ota_partitions_num:
i += 1
ota_seq_next = target_seq % ota_partitions_num + i * ota_partitions_num
else:
ota_seq_next = target_seq
# Create binary data from computed values
ota_seq_next = struct.pack("I", ota_seq_next)
ota_seq_crc_next = binascii.crc32(ota_seq_next, 0xFFFFFFFF) % (1 << 32)
ota_seq_crc_next = struct.pack("I", ota_seq_crc_next)
temp_file = tempfile.NamedTemporaryFile(delete=False)
temp_file.close()
try:
with open(temp_file.name, "wb") as otadata_next_file:
start = (1 if otadata_compute_base == 0 else 0) * (self.spi_flash_sec_size >> 1)
otadata_next_file.write(self.otadata)
otadata_next_file.seek(start)
otadata_next_file.write(ota_seq_next)
otadata_next_file.seek(start + 28)
otadata_next_file.write(ota_seq_crc_next)
otadata_next_file.flush()
self.target.write_partition(OtatoolTarget.OTADATA_PARTITION, temp_file.name)
finally:
os.unlink(temp_file.name)
def read_ota_partition(self, ota_id, output):
self.target.read_partition(self._get_partition_id_from_ota_id(ota_id), output)
def write_ota_partition(self, ota_id, input):
self.target.write_partition(self._get_partition_id_from_ota_id(ota_id), input)
def erase_ota_partition(self, ota_id):
self.target.erase_partition(self._get_partition_id_from_ota_id(ota_id))
def _read_otadata(target):
target._check_otadata_partition()
otadata_info = target._get_otadata_info()
print(" {:8s} \t {:8s} | \t {:8s} \t {:8s}".format("OTA_SEQ", "CRC", "OTA_SEQ", "CRC"))
print("Firmware: 0x{:8x} \t0x{:8x} | \t0x{:8x} \t 0x{:8x}".format(otadata_info[0].seq, otadata_info[0].crc,
otadata_info[1].seq, otadata_info[1].crc))
def _erase_otadata(target):
target.erase_otadata()
status("Erased ota_data partition contents")
def _switch_ota_partition(target, ota_id):
target.switch_ota_partition(ota_id)
def _read_ota_partition(target, ota_id, output):
target.read_ota_partition(ota_id, output)
status("Read ota partition contents to file {}".format(output))
def _write_ota_partition(target, ota_id, input):
target.write_ota_partition(ota_id, input)
status("Written contents of file {} to ota partition".format(input))
def _erase_ota_partition(target, ota_id):
target.erase_ota_partition(ota_id)
status("Erased contents of ota partition")
def main():
global quiet
parser = argparse.ArgumentParser("ESP-IDF OTA Partitions Tool")
parser.add_argument("--quiet", "-q", help="suppress stderr messages", action="store_true")
parser.add_argument("--esptool-args", help="additional main arguments for esptool", nargs="+")
parser.add_argument("--esptool-write-args", help="additional subcommand arguments for esptool write_flash", nargs="+")
parser.add_argument("--esptool-read-args", help="additional subcommand arguments for esptool read_flash", nargs="+")
parser.add_argument("--esptool-erase-args", help="additional subcommand arguments for esptool erase_region", nargs="+")
# There are two possible sources for the partition table: a device attached to the host
# or a partition table CSV/binary file. These sources are mutually exclusive.
parser.add_argument("--port", "-p", help="port where the device to read the partition table from is attached")
parser.add_argument("--baud", "-b", help="baudrate to use", type=int)
parser.add_argument("--partition-table-offset", "-o", help="offset to read the partition table from", type=str)
parser.add_argument("--partition-table-file", "-f", help="file (CSV/binary) to read the partition table from; \
overrides device attached to specified port as the partition table source when defined")
subparsers = parser.add_subparsers(dest="operation", help="run otatool -h for additional help")
spi_flash_sec_size = argparse.ArgumentParser(add_help=False)
spi_flash_sec_size.add_argument("--spi-flash-sec-size", help="value of SPI_FLASH_SEC_SIZE macro", type=str)
# Specify the supported operations
subparsers.add_parser("read_otadata", help="read otadata partition", parents=[spi_flash_sec_size])
subparsers.add_parser("erase_otadata", help="erase otadata partition")
slot_or_name_parser = argparse.ArgumentParser(add_help=False)
slot_or_name_parser_args = slot_or_name_parser.add_mutually_exclusive_group()
slot_or_name_parser_args.add_argument("--slot", help="slot number of the ota partition", type=int)
slot_or_name_parser_args.add_argument("--name", help="name of the ota partition")
subparsers.add_parser("switch_ota_partition", help="switch otadata partition", parents=[slot_or_name_parser, spi_flash_sec_size])
read_ota_partition_subparser = subparsers.add_parser("read_ota_partition", help="read contents of an ota partition", parents=[slot_or_name_parser])
read_ota_partition_subparser.add_argument("--output", help="file to write the contents of the ota partition to")
write_ota_partition_subparser = subparsers.add_parser("write_ota_partition", help="write contents to an ota partition", parents=[slot_or_name_parser])
write_ota_partition_subparser.add_argument("--input", help="file whose contents to write to the ota partition")
subparsers.add_parser("erase_ota_partition", help="erase contents of an ota partition", parents=[slot_or_name_parser])
args = parser.parse_args()
quiet = args.quiet
# No operation specified, display help and exit
if args.operation is None:
if not quiet:
parser.print_help()
sys.exit(1)
target_args = {}
if args.port:
target_args["port"] = args.port
if args.partition_table_file:
target_args["partition_table_file"] = args.partition_table_file
if args.partition_table_offset:
target_args["partition_table_offset"] = int(args.partition_table_offset, 0)
try:
if args.spi_flash_sec_size:
target_args["spi_flash_sec_size"] = int(args.spi_flash_sec_size, 0)
except AttributeError:
pass
if args.esptool_args:
target_args["esptool_args"] = args.esptool_args
if args.esptool_write_args:
target_args["esptool_write_args"] = args.esptool_write_args
if args.esptool_read_args:
target_args["esptool_read_args"] = args.esptool_read_args
if args.esptool_erase_args:
target_args["esptool_erase_args"] = args.esptool_erase_args
if args.baud:
target_args["baud"] = args.baud
target = OtatoolTarget(**target_args)
# Create the operation table and execute the operation
common_args = {'target':target}
ota_id = []
try:
if args.name is not None:
ota_id = ["name"]
else:
if args.slot is not None:
ota_id = ["slot"]
except AttributeError:
pass
otatool_ops = {
'read_otadata':(_read_otadata, []),
'erase_otadata':(_erase_otadata, []),
'switch_ota_partition':(_switch_ota_partition, ota_id),
'read_ota_partition':(_read_ota_partition, ["output"] + ota_id),
'write_ota_partition':(_write_ota_partition, ["input"] + ota_id),
'erase_ota_partition':(_erase_ota_partition, ota_id)
}
(op, op_args) = otatool_ops[args.operation]
for op_arg in op_args:
common_args.update({op_arg:vars(args)[op_arg]})
try:
common_args['ota_id'] = common_args.pop('name')
except KeyError:
try:
common_args['ota_id'] = common_args.pop('slot')
except KeyError:
pass
if quiet:
# If exceptions occur, suppress and exit quietly
try:
op(**common_args)
except Exception:
sys.exit(2)
else:
op(**common_args)
if __name__ == '__main__':
main()

View File

@@ -0,0 +1,4 @@
idf_component_register(SRC_DIRS "."
INCLUDE_DIRS "."
REQUIRES unity test_utils app_update bootloader_support nvs_flash
)

View File

@@ -0,0 +1,50 @@
#include <string.h>
#include "esp_ota_ops.h"
#include "unity.h"
TEST_CASE("esp_ota_get_app_elf_sha256 test", "[esp_app_desc]")
{
const int sha256_hex_len = 64;
char dst[sha256_hex_len + 2];
const char fill = 0xcc;
int res;
size_t len;
char ref_sha256[sha256_hex_len + 1];
const esp_app_desc_t* desc = esp_ota_get_app_description();
for (int i = 0; i < sizeof(ref_sha256) / 2; ++i) {
snprintf(ref_sha256 + 2*i, 3, "%02x", desc->app_elf_sha256[i]);
}
ref_sha256[sha256_hex_len] = 0;
printf("Ref: %s\n", ref_sha256);
memset(dst, fill, sizeof(dst));
len = sizeof(dst);
res = esp_ota_get_app_elf_sha256(dst, len);
printf("%d: %s (%d)\n", len, dst, res);
TEST_ASSERT_EQUAL(sha256_hex_len + 1, res);
TEST_ASSERT_EQUAL(0, memcmp(dst, ref_sha256, res - 1));
TEST_ASSERT_EQUAL_HEX(0, dst[sha256_hex_len]);
TEST_ASSERT_EQUAL_HEX(fill, dst[sha256_hex_len + 1]);
memset(dst, fill, sizeof(dst));
len = 9;
res = esp_ota_get_app_elf_sha256(dst, len);
printf("%d: %s (%d)\n", len, dst, res);
TEST_ASSERT_EQUAL(9, res);
TEST_ASSERT_EQUAL(0, memcmp(dst, ref_sha256, res - 1));
TEST_ASSERT_EQUAL_HEX(0, dst[8]);
TEST_ASSERT_EQUAL_HEX(fill, dst[9]);
memset(dst, fill, sizeof(dst));
len = 8;
res = esp_ota_get_app_elf_sha256(dst, len);
printf("%d: %s (%d)\n", len, dst, res);
// should output even number of characters plus '\0'
TEST_ASSERT_EQUAL(7, res);
TEST_ASSERT_EQUAL(0, memcmp(dst, ref_sha256, res - 1));
TEST_ASSERT_EQUAL_HEX(0, dst[6]);
TEST_ASSERT_EQUAL_HEX(fill, dst[7]);
TEST_ASSERT_EQUAL_HEX(fill, dst[8]);
}

View File

@@ -8,7 +8,7 @@
#include <unity.h>
#include <test_utils.h>
#include <esp_ota_ops.h>
#include "bootloader_common.h"
/* These OTA tests currently don't assume an OTA partition exists
on the device, so they're a bit limited
@@ -58,7 +58,7 @@ TEST_CASE("esp_ota_get_next_update_partition logic", "[ota]")
TEST_ASSERT_NOT_NULL(ota_1);
TEST_ASSERT_NULL(ota_2); /* this partition shouldn't exist in test partition table */
TEST_ASSERT_EQUAL_PTR(factory, running); /* this may not be true if/when we get OTA tests that do OTA updates */
TEST_ASSERT_EQUAL_PTR(factory, running); /* this may not be true if/when we get OTA tests that do OTA updates */
/* (The test steps verify subtypes before verifying pointer equality, because the failure messages are more readable
this way.)
@@ -84,3 +84,26 @@ 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]")
{
const esp_partition_t *running = esp_ota_get_running_partition();
TEST_ASSERT_NOT_NULL(running);
esp_app_desc_t app_desc1, app_desc2;
TEST_ESP_OK(esp_ota_get_partition_description(running, &app_desc1));
const esp_partition_pos_t running_pos = {
.offset = running->address,
.size = running->size
};
TEST_ESP_OK(bootloader_common_get_partition_description(&running_pos, &app_desc2));
TEST_ASSERT_EQUAL_MEMORY_MESSAGE((uint8_t *)&app_desc1, (uint8_t *)&app_desc2, sizeof(app_desc1), "must be the same");
const esp_partition_t *not_app = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_OTA, NULL);
TEST_ASSERT_NOT_NULL(not_app);
TEST_ESP_ERR(ESP_ERR_NOT_SUPPORTED, esp_ota_get_partition_description(not_app, &app_desc1));
const esp_partition_pos_t not_app_pos = {
.offset = not_app->address,
.size = not_app->size
};
TEST_ESP_ERR(ESP_ERR_NOT_FOUND, bootloader_common_get_partition_description(&not_app_pos, &app_desc1));
}

View File

@@ -0,0 +1,737 @@
/*
* Tests for switching between partitions: factory, OTAx, test.
*/
#include <esp_types.h>
#include <stdio.h>
#include "string.h"
#include "sdkconfig.h"
#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"
#endif
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/semphr.h"
#include "freertos/queue.h"
#include "freertos/xtensa_api.h"
#include "unity.h"
#include "bootloader_common.h"
#include "../include_bootloader/bootloader_flash.h"
#include "esp_log.h"
#include "esp_ota_ops.h"
#include "esp_partition.h"
#include "esp_flash_partitions.h"
#include "esp_image_format.h"
#include "nvs_flash.h"
#include "driver/gpio.h"
#include "esp_sleep.h"
RTC_DATA_ATTR static int boot_count = 0;
static const char *TAG = "ota_test";
/* @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(esp_ota_handle_t update_handle, const esp_partition_t *curr_app)
{
const void *partition_bin = NULL;
spi_flash_mmap_handle_t data_map;
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);
}
#if defined(CONFIG_BOOTLOADER_FACTORY_RESET) || defined(CONFIG_BOOTLOADER_APP_TEST)
/* @brief Copies partition from source partition to destination partition.
*
* Partitions can be of any types and subtypes.
* @param[in] dst_partition - Destination partition
* @param[in] src_partition - Source partition
*/
static void copy_partition(const esp_partition_t *dst_partition, const esp_partition_t *src_partition)
{
const void *partition_bin = NULL;
spi_flash_mmap_handle_t data_map;
TEST_ESP_OK(esp_partition_mmap(src_partition, 0, src_partition->size, SPI_FLASH_MMAP_DATA, &partition_bin, &data_map));
TEST_ESP_OK(esp_partition_erase_range(dst_partition, 0, dst_partition->size));
TEST_ESP_OK(esp_partition_write(dst_partition, 0, (const void *)partition_bin, dst_partition->size));
spi_flash_munmap(data_map);
}
#endif
/* @brief Get the next partition of OTA for the update.
*
* @return The next partition of OTA(OTA0-15).
*/
static const esp_partition_t * get_next_update_partition(void)
{
const esp_partition_t *update_partition = esp_ota_get_next_update_partition(NULL);
TEST_ASSERT_NOT_EQUAL(NULL, update_partition);
ESP_LOGI(TAG, "Writing to partition subtype %d at offset 0x%x", update_partition->subtype, update_partition->address);
return update_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(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(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)
{
const esp_partition_t *data_partition = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_OTA, NULL);
TEST_ASSERT_NOT_EQUAL(NULL, data_partition);
TEST_ESP_OK(esp_partition_erase_range(data_partition, 0, 2 * SPI_FLASH_SEC_SIZE));
}
/* @brief Reboots ESP using mode deep sleep. This mode guaranty that RTC_DATA_ATTR variables is not reset.
*/
static void reboot_as_deep_sleep(void)
{
esp_sleep_enable_timer_wakeup(2000);
esp_deep_sleep_start();
}
/* @brief Copies a current app to next partition (OTA0-15), after that ESP is rebooting and run this (the next) OTAx.
*/
static void copy_current_app_to_next_part_and_reboot(void)
{
const esp_partition_t *cur_app = esp_ota_get_running_partition();
copy_current_app_to_next_part(cur_app, get_next_update_partition());
reboot_as_deep_sleep();
}
/* @brief Get running app.
*
* @return The next partition of OTA(OTA0-15).
*/
static const esp_partition_t* get_running_firmware(void)
{
const esp_partition_t *configured = esp_ota_get_boot_partition();
const esp_partition_t *running = esp_ota_get_running_partition();
ESP_LOGI(TAG, "Running partition type %d subtype %d (offset 0x%08x)",
running->type, running->subtype, running->address);
ESP_LOGI(TAG, "Configured partition type %d subtype %d (offset 0x%08x)",
configured->type, configured->subtype, configured->address);
TEST_ASSERT_NOT_EQUAL(NULL, configured);
TEST_ASSERT_NOT_EQUAL(NULL, running);
if (running->subtype != ESP_PARTITION_SUBTYPE_APP_TEST) {
TEST_ASSERT_EQUAL_PTR(running, configured);
}
return running;
}
// type of a corrupt ota_data
typedef enum {
CORR_CRC_1_SECTOR_OTA_DATA = (1 << 0), /*!< Corrupt CRC only 1 sector of ota_data */
CORR_CRC_2_SECTOR_OTA_DATA = (1 << 1), /*!< Corrupt CRC only 2 sector of ota_data */
} corrupt_ota_data_t;
/* @brief Get two copies ota_data from otadata partition.
*
* @param[in] otadata_partition - otadata partition.
* @param[out] ota_data_0 - First copy from otadata_partition.
* @param[out] ota_data_1 - Second copy from otadata_partition.
*/
static void get_ota_data(const esp_partition_t *otadata_partition, esp_ota_select_entry_t *ota_data_0, esp_ota_select_entry_t *ota_data_1)
{
uint32_t offset = otadata_partition->address;
uint32_t size = otadata_partition->size;
if (offset != 0) {
const esp_ota_select_entry_t *ota_select_map;
ota_select_map = bootloader_mmap(offset, size);
TEST_ASSERT_NOT_EQUAL(NULL, ota_select_map);
memcpy(ota_data_0, ota_select_map, sizeof(esp_ota_select_entry_t));
memcpy(ota_data_1, (uint8_t *)ota_select_map + SPI_FLASH_SEC_SIZE, sizeof(esp_ota_select_entry_t));
bootloader_munmap(ota_select_map);
}
}
/* @brief Writes a ota_data into required sector of otadata_partition.
*
* @param[in] otadata_partition - Partition information otadata.
* @param[in] ota_data - otadata structure.
* @param[in] sec_id - Sector number 0 or 1.
*/
static void write_ota_data(const esp_partition_t *otadata_partition, esp_ota_select_entry_t *ota_data, int sec_id)
{
esp_partition_write(otadata_partition, SPI_FLASH_SEC_SIZE * sec_id, &ota_data[sec_id], sizeof(esp_ota_select_entry_t));
}
/* @brief Makes a corrupt of ota_data.
* @param[in] err - type error
*/
static void corrupt_ota_data(corrupt_ota_data_t err)
{
esp_ota_select_entry_t ota_data[2];
const esp_partition_t *otadata_partition = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_OTA, NULL);
TEST_ASSERT_NOT_EQUAL(NULL, otadata_partition);
get_ota_data(otadata_partition, &ota_data[0], &ota_data[1]);
if (err & CORR_CRC_1_SECTOR_OTA_DATA) {
ota_data[0].crc = 0;
}
if (err & CORR_CRC_2_SECTOR_OTA_DATA) {
ota_data[1].crc = 0;
}
TEST_ESP_OK(esp_partition_erase_range(otadata_partition, 0, otadata_partition->size));
write_ota_data(otadata_partition, &ota_data[0], 0);
write_ota_data(otadata_partition, &ota_data[1], 1);
}
#if defined(CONFIG_BOOTLOADER_FACTORY_RESET) || defined(CONFIG_BOOTLOADER_APP_TEST)
/* @brief Sets the pin number to output and sets output level as low. After reboot (deep sleep) this pin keep the same level.
*
* The output level of the pad will be force locked and can not be changed.
* Power down or call gpio_hold_dis will disable this function.
*
* @param[in] num_pin - Pin number
*/
static void set_output_pin(uint32_t num_pin)
{
TEST_ESP_OK(gpio_hold_dis(num_pin));
gpio_config_t io_conf;
io_conf.intr_type = GPIO_PIN_INTR_DISABLE;
io_conf.mode = GPIO_MODE_OUTPUT;
io_conf.pin_bit_mask = (1ULL << num_pin);
io_conf.pull_down_en = 0;
io_conf.pull_up_en = 0;
TEST_ESP_OK(gpio_config(&io_conf));
TEST_ESP_OK(gpio_set_level(num_pin, 0));
TEST_ESP_OK(gpio_hold_en(num_pin));
}
/* @brief Unset the pin number hold function.
*/
static void reset_output_pin(uint32_t num_pin)
{
TEST_ESP_OK(gpio_hold_dis(num_pin));
TEST_ESP_OK(gpio_reset_pin(num_pin));
}
#endif
static void mark_app_valid(void)
{
#ifdef CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
TEST_ESP_OK(esp_ota_mark_app_valid_cancel_rollback());
#endif
}
/* @brief Checks and prepares the partition so that the factory app is launched after that.
*/
static void start_test(void)
{
ESP_LOGI(TAG, "boot count 1 - reset");
boot_count = 1;
erase_ota_data();
reboot_as_deep_sleep();
}
static void test_flow1(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_and_reboot();
break;
case 3:
ESP_LOGI(TAG, "OTA0");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_0, cur_app->subtype);
mark_app_valid();
copy_current_app_to_next_part_and_reboot();
break;
case 4:
ESP_LOGI(TAG, "OTA1");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_1, cur_app->subtype);
mark_app_valid();
copy_current_app_to_next_part_and_reboot();
break;
case 5:
ESP_LOGI(TAG, "OTA0");
mark_app_valid();
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_0, cur_app->subtype);
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 -> copy OTA0 to OTA1 -> reboot --//--
// 4 Stage: run OTA1 -> check it -> copy OTA1 to OTA0 -> reboot --//--
// 5 Stage: run OTA0 -> check it -> erase OTA_DATA for next tests -> PASS
TEST_CASE_MULTIPLE_STAGES("Switching between factory, OTA0, OTA1, OTA0", "[app_update][timeout=90][reset=DEEPSLEEP_RESET, DEEPSLEEP_RESET, DEEPSLEEP_RESET, DEEPSLEEP_RESET]", start_test, test_flow1, test_flow1, test_flow1, test_flow1);
static void test_flow2(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_and_reboot();
break;
case 3:
ESP_LOGI(TAG, "OTA0");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_0, cur_app->subtype);
mark_app_valid();
copy_current_app_to_next_part(cur_app, get_next_update_partition());
corrupt_ota_data(CORR_CRC_1_SECTOR_OTA_DATA);
reboot_as_deep_sleep();
break;
case 4:
ESP_LOGI(TAG, "Factory");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_FACTORY, cur_app->subtype);
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 -> corrupt ota data -> reboot --//--
// 4 Stage: run factory -> check it -> erase OTA_DATA for next tests -> PASS
TEST_CASE_MULTIPLE_STAGES("Switching between factory, OTA0, corrupt ota_sec1, factory", "[app_update][timeout=90][reset=DEEPSLEEP_RESET, DEEPSLEEP_RESET, DEEPSLEEP_RESET]", start_test, test_flow2, test_flow2, test_flow2);
static void test_flow3(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_and_reboot();
break;
case 3:
ESP_LOGI(TAG, "OTA0");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_0, cur_app->subtype);
mark_app_valid();
copy_current_app_to_next_part_and_reboot();
break;
case 4:
ESP_LOGI(TAG, "OTA1");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_1, cur_app->subtype);
mark_app_valid();
copy_current_app_to_next_part(cur_app, get_next_update_partition());
corrupt_ota_data(CORR_CRC_2_SECTOR_OTA_DATA);
reboot_as_deep_sleep();
break;
case 5:
ESP_LOGI(TAG, "OTA0");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_0, cur_app->subtype);
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 -> copy OTA0 to OTA1 -> reboot --//--
// 3 Stage: run OTA1 -> check it -> corrupt ota sector2 -> reboot --//--
// 4 Stage: run OTA0 -> check it -> erase OTA_DATA for next tests -> PASS
TEST_CASE_MULTIPLE_STAGES("Switching between factory, OTA0, OTA1, currupt ota_sec2, OTA0", "[app_update][timeout=90][reset=DEEPSLEEP_RESET, DEEPSLEEP_RESET, DEEPSLEEP_RESET, DEEPSLEEP_RESET]", start_test, test_flow3, test_flow3, test_flow3, test_flow3);
#ifdef CONFIG_BOOTLOADER_FACTORY_RESET
#define STORAGE_NAMESPACE "update_ota"
static void test_flow4(void)
{
boot_count++;
ESP_LOGI(TAG, "boot count %d", boot_count);
const esp_partition_t *cur_app = get_running_firmware();
nvs_handle_t handle = 0;
int boot_count_nvs = 0;
switch (boot_count) {
case 2:
ESP_LOGI(TAG, "Factory");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_FACTORY, cur_app->subtype);
TEST_ESP_OK(nvs_flash_erase());
TEST_ESP_OK(nvs_flash_init());
TEST_ESP_OK(nvs_open(STORAGE_NAMESPACE, NVS_READWRITE, &handle));
TEST_ESP_OK(nvs_set_i32(handle, "boot_count", boot_count));
TEST_ESP_OK(nvs_commit(handle));
nvs_close(handle);
nvs_flash_deinit();
copy_current_app_to_next_part_and_reboot();
break;
case 3:
ESP_LOGI(TAG, "OTA0");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_0, cur_app->subtype);
mark_app_valid();
TEST_ESP_OK(nvs_flash_init());
TEST_ESP_OK(nvs_open(STORAGE_NAMESPACE, NVS_READWRITE, &handle));
TEST_ESP_OK(nvs_get_i32(handle, "boot_count", &boot_count_nvs));
TEST_ASSERT_EQUAL(boot_count_nvs + 1, boot_count);
nvs_close(handle);
nvs_flash_deinit();
set_output_pin(CONFIG_BOOTLOADER_NUM_PIN_FACTORY_RESET);
reboot_as_deep_sleep();
break;
case 4:
reset_output_pin(CONFIG_BOOTLOADER_NUM_PIN_FACTORY_RESET);
ESP_LOGI(TAG, "Factory");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_FACTORY, cur_app->subtype);
int boot_count_nvs;
TEST_ESP_OK(nvs_flash_init());
TEST_ESP_OK(nvs_open(STORAGE_NAMESPACE, NVS_READWRITE, &handle));
TEST_ESP_ERR(ESP_ERR_NVS_NOT_FOUND, nvs_get_i32(handle, "boot_count", &boot_count_nvs));
nvs_close(handle);
nvs_flash_deinit();
erase_ota_data();
break;
default:
reset_output_pin(CONFIG_BOOTLOADER_NUM_PIN_FACTORY_RESET);
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 -> set_pin_factory_reset -> reboot --//--
// 4 Stage: run factory -> check it -> erase OTA_DATA for next tests -> PASS
TEST_CASE_MULTIPLE_STAGES("Switching between factory, OTA0, sets pin_factory_reset, factory", "[app_update][timeout=90][ignore][reset=DEEPSLEEP_RESET, DEEPSLEEP_RESET, DEEPSLEEP_RESET]", start_test, test_flow4, test_flow4, test_flow4);
#endif
#ifdef CONFIG_BOOTLOADER_APP_TEST
static void test_flow5(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);
set_output_pin(CONFIG_BOOTLOADER_NUM_PIN_APP_TEST);
copy_partition(esp_partition_find_first(ESP_PARTITION_TYPE_APP, ESP_PARTITION_SUBTYPE_APP_TEST, NULL), cur_app);
esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_OTA, NULL);
reboot_as_deep_sleep();
break;
case 3:
reset_output_pin(CONFIG_BOOTLOADER_NUM_PIN_APP_TEST);
ESP_LOGI(TAG, "Test");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_TEST, cur_app->subtype);
reboot_as_deep_sleep();
break;
case 4:
ESP_LOGI(TAG, "Factory");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_FACTORY, cur_app->subtype);
erase_ota_data();
break;
default:
reset_output_pin(CONFIG_BOOTLOADER_NUM_PIN_APP_TEST);
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 Test and set pin_test_app -> reboot --//--
// 3 Stage: run test -> check it -> reset pin_test_app -> reboot --//--
// 4 Stage: run factory -> check it -> erase OTA_DATA for next tests -> PASS
TEST_CASE_MULTIPLE_STAGES("Switching between factory, test, factory", "[app_update][timeout=90][ignore][reset=DEEPSLEEP_RESET, DEEPSLEEP_RESET, DEEPSLEEP_RESET]", start_test, test_flow5, test_flow5, test_flow5);
#endif
static const esp_partition_t* app_update(void)
{
const esp_partition_t *cur_app = get_running_firmware();
const esp_partition_t* update_partition = esp_ota_get_next_update_partition(NULL);
TEST_ASSERT_NOT_NULL(update_partition);
esp_ota_handle_t update_handle = 0;
TEST_ESP_OK(esp_ota_begin(update_partition, OTA_SIZE_UNKNOWN, &update_handle));
copy_app_partition(update_handle, cur_app);
TEST_ESP_OK(esp_ota_end(update_handle));
TEST_ESP_OK(esp_ota_set_boot_partition(update_partition));
return update_partition;
}
static void test_rollback1(void)
{
boot_count++;
ESP_LOGI(TAG, "boot count %d", boot_count);
const esp_partition_t *cur_app = get_running_firmware();
esp_ota_img_states_t ota_state = 0x5555AAAA;
const esp_partition_t* update_partition = NULL;
switch (boot_count) {
case 2:
ESP_LOGI(TAG, "Factory");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_FACTORY, cur_app->subtype);
TEST_ASSERT_NULL(esp_ota_get_last_invalid_partition());
TEST_ESP_ERR(ESP_ERR_NOT_SUPPORTED, esp_ota_get_state_partition(cur_app, &ota_state));
update_partition = app_update();
TEST_ESP_OK(esp_ota_get_state_partition(update_partition, &ota_state));
#ifndef CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
TEST_ASSERT_EQUAL(ESP_OTA_IMG_UNDEFINED, ota_state);
#else
TEST_ASSERT_EQUAL(ESP_OTA_IMG_NEW, ota_state);
#endif
reboot_as_deep_sleep();
break;
case 3:
ESP_LOGI(TAG, "OTA0");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_0, cur_app->subtype);
TEST_ASSERT_NULL(esp_ota_get_last_invalid_partition());
TEST_ESP_OK(esp_ota_get_state_partition(cur_app, &ota_state));
#ifndef CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
TEST_ASSERT_EQUAL(ESP_OTA_IMG_UNDEFINED, ota_state);
#else
TEST_ASSERT_EQUAL(ESP_OTA_IMG_PENDING_VERIFY, ota_state);
#endif
TEST_ESP_OK(esp_ota_mark_app_valid_cancel_rollback());
TEST_ESP_OK(esp_ota_get_state_partition(cur_app, &ota_state));
TEST_ASSERT_EQUAL(ESP_OTA_IMG_VALID, ota_state);
reboot_as_deep_sleep();
break;
case 4:
ESP_LOGI(TAG, "OTA0");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_0, cur_app->subtype);
TEST_ESP_OK(esp_ota_get_state_partition(cur_app, &ota_state));
TEST_ASSERT_EQUAL(ESP_OTA_IMG_VALID, ota_state);
TEST_ESP_OK(esp_ota_mark_app_invalid_rollback_and_reboot());
break;
default:
erase_ota_data();
TEST_FAIL_MESSAGE("Unexpected stage");
break;
}
}
static void test_rollback1_1(void)
{
boot_count = 5;
esp_ota_img_states_t ota_state = 0x5555AAAA;
ESP_LOGI(TAG, "boot count %d", boot_count);
const esp_partition_t *cur_app = get_running_firmware();
ESP_LOGI(TAG, "Factory");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_FACTORY, cur_app->subtype);
const esp_partition_t *invalid_partition = esp_ota_get_last_invalid_partition();
const esp_partition_t* next_update_partition = esp_ota_get_next_update_partition(NULL);
TEST_ASSERT_NOT_NULL(invalid_partition);
TEST_ASSERT_NOT_NULL(next_update_partition);
TEST_ASSERT_EQUAL_PTR(invalid_partition, next_update_partition);
TEST_ESP_ERR(ESP_ERR_NOT_SUPPORTED, esp_ota_get_state_partition(cur_app, &ota_state));
TEST_ESP_OK(esp_ota_get_state_partition(invalid_partition, &ota_state));
TEST_ASSERT_EQUAL(ESP_OTA_IMG_INVALID, ota_state);
erase_ota_data();
}
// 1 Stage: After POWER_RESET erase OTA_DATA for this test -> reboot through deep sleep.
// 2 Stage: run factory -> check it -> copy factory to next app slot -> reboot --//--
// 3 Stage: run OTA0 -> check it -> esp_ota_mark_app_valid_cancel_rollback() -> reboot --//--
// 4 Stage: run OTA0 -> check it -> esp_ota_mark_app_invalid_rollback_and_reboot() -> reboot
// 5 Stage: run factory -> check it -> erase OTA_DATA for next tests -> PASS
TEST_CASE_MULTIPLE_STAGES("Test rollback. factory, OTA0, OTA0, rollback -> factory", "[app_update][timeout=90][reset=DEEPSLEEP_RESET, DEEPSLEEP_RESET, DEEPSLEEP_RESET, SW_CPU_RESET]", start_test, test_rollback1, test_rollback1, test_rollback1, test_rollback1_1);
static void test_rollback2(void)
{
boot_count++;
ESP_LOGI(TAG, "boot count %d", boot_count);
const esp_partition_t *cur_app = get_running_firmware();
esp_ota_img_states_t ota_state = 0x5555AAAA;
const esp_partition_t* update_partition = NULL;
switch (boot_count) {
case 2:
ESP_LOGI(TAG, "Factory");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_FACTORY, cur_app->subtype);
TEST_ASSERT_NULL(esp_ota_get_last_invalid_partition());
TEST_ESP_ERR(ESP_ERR_NOT_SUPPORTED, esp_ota_get_state_partition(cur_app, &ota_state));
update_partition = app_update();
TEST_ESP_OK(esp_ota_get_state_partition(update_partition, &ota_state));
#ifndef CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
TEST_ASSERT_EQUAL(ESP_OTA_IMG_UNDEFINED, ota_state);
#else
TEST_ASSERT_EQUAL(ESP_OTA_IMG_NEW, ota_state);
#endif
reboot_as_deep_sleep();
break;
case 3:
ESP_LOGI(TAG, "OTA0");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_0, cur_app->subtype);
TEST_ASSERT_NULL(esp_ota_get_last_invalid_partition());
TEST_ESP_OK(esp_ota_get_state_partition(cur_app, &ota_state));
#ifndef CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
TEST_ASSERT_EQUAL(ESP_OTA_IMG_UNDEFINED, ota_state);
#else
TEST_ASSERT_EQUAL(ESP_OTA_IMG_PENDING_VERIFY, ota_state);
#endif
TEST_ESP_OK(esp_ota_mark_app_valid_cancel_rollback());
TEST_ASSERT_NULL(esp_ota_get_last_invalid_partition());
TEST_ESP_OK(esp_ota_get_state_partition(cur_app, &ota_state));
TEST_ASSERT_EQUAL(ESP_OTA_IMG_VALID, ota_state);
update_partition = app_update();
TEST_ESP_OK(esp_ota_get_state_partition(update_partition, &ota_state));
#ifndef CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
TEST_ASSERT_EQUAL(ESP_OTA_IMG_UNDEFINED, ota_state);
#else
TEST_ASSERT_EQUAL(ESP_OTA_IMG_NEW, ota_state);
#endif
reboot_as_deep_sleep();
break;
case 4:
ESP_LOGI(TAG, "OTA1");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_1, cur_app->subtype);
TEST_ASSERT_NULL(esp_ota_get_last_invalid_partition());
TEST_ESP_OK(esp_ota_get_state_partition(cur_app, &ota_state));
#ifndef CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
TEST_ASSERT_EQUAL(ESP_OTA_IMG_UNDEFINED, ota_state);
TEST_ESP_OK(esp_ota_mark_app_invalid_rollback_and_reboot());
#else
TEST_ASSERT_EQUAL(ESP_OTA_IMG_PENDING_VERIFY, ota_state);
reboot_as_deep_sleep();
#endif
break;
default:
erase_ota_data();
TEST_FAIL_MESSAGE("Unexpected stage");
break;
}
}
static void test_rollback2_1(void)
{
boot_count = 5;
esp_ota_img_states_t ota_state = 0x5555AAAA;
ESP_LOGI(TAG, "boot count %d", boot_count);
const esp_partition_t *cur_app = get_running_firmware();
ESP_LOGI(TAG, "OTA0");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_0, cur_app->subtype);
const esp_partition_t *invalid_partition = esp_ota_get_last_invalid_partition();
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_1, invalid_partition->subtype);
const esp_partition_t* next_update_partition = esp_ota_get_next_update_partition(NULL);
TEST_ASSERT_NOT_NULL(invalid_partition);
TEST_ASSERT_NOT_NULL(next_update_partition);
TEST_ASSERT_EQUAL_PTR(invalid_partition, next_update_partition);
TEST_ESP_OK(esp_ota_get_state_partition(cur_app, &ota_state));
TEST_ASSERT_EQUAL(ESP_OTA_IMG_VALID, ota_state);
TEST_ESP_OK(esp_ota_get_state_partition(invalid_partition, &ota_state));
#ifndef CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
TEST_ASSERT_EQUAL(ESP_OTA_IMG_INVALID, ota_state);
#else
TEST_ASSERT_EQUAL(ESP_OTA_IMG_ABORTED, ota_state);
#endif
erase_ota_data();
}
// 1 Stage: After POWER_RESET erase OTA_DATA for this test -> reboot through deep sleep.
// 2 Stage: run factory -> check it -> copy factory to next app slot -> reboot --//--
// 3 Stage: run OTA0 -> check it -> esp_ota_mark_app_valid_cancel_rollback(), copy to next app slot -> reboot --//--
// 4 Stage: run OTA1 -> check it -> PENDING_VERIFY/esp_ota_mark_app_invalid_rollback_and_reboot() -> reboot
// 5 Stage: run OTA0(rollback) -> check it -> erase OTA_DATA for next tests -> PASS
TEST_CASE_MULTIPLE_STAGES("Test rollback. factory, OTA0, OTA1, rollback -> OTA0", "[app_update][timeout=90][reset=DEEPSLEEP_RESET, DEEPSLEEP_RESET, DEEPSLEEP_RESET, SW_CPU_RESET]", start_test, test_rollback2, test_rollback2, test_rollback2, test_rollback2_1);
static void test_erase_last_app_flow(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);
app_update();
reboot_as_deep_sleep();
break;
case 3:
ESP_LOGI(TAG, "OTA0");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_0, cur_app->subtype);
mark_app_valid();
app_update();
reboot_as_deep_sleep();
break;
case 4:
ESP_LOGI(TAG, "OTA1");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_OTA_1, cur_app->subtype);
TEST_ESP_OK(esp_ota_erase_last_boot_app_partition());
TEST_ESP_OK(esp_ota_mark_app_invalid_rollback_and_reboot());
reboot_as_deep_sleep();
break;
default:
erase_ota_data();
TEST_FAIL_MESSAGE("Unexpected stage");
break;
}
}
static void test_erase_last_app_rollback(void)
{
boot_count = 5;
ESP_LOGI(TAG, "boot count %d", boot_count);
const esp_partition_t *cur_app = get_running_firmware();
ESP_LOGI(TAG, "erase_last_app");
TEST_ASSERT_EQUAL(ESP_PARTITION_SUBTYPE_APP_FACTORY, cur_app->subtype);
TEST_ESP_ERR(ESP_FAIL, esp_ota_erase_last_boot_app_partition());
erase_ota_data();
}
// 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 -> copy factory to OTA1 -> reboot --//--
// 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);

View File

@@ -0,0 +1,3 @@
idf_component_register(SRCS "asio/asio/src/asio.cpp"
INCLUDE_DIRS "asio/asio/include" "port/include"
REQUIRES lwip)

1
components/asio/asio Submodule

Submodule components/asio/asio added at 3b66e5b051

View File

@@ -0,0 +1,6 @@
COMPONENT_ADD_INCLUDEDIRS := asio/asio/include port/include
COMPONENT_PRIV_INCLUDEDIRS := private_include
COMPONENT_SRCDIRS := asio/asio/src
COMPONENT_OBJEXCLUDE := asio/asio/src/asio_ssl.o
COMPONENT_SUBMODULES += asio

View File

@@ -0,0 +1,43 @@
// Copyright 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.
#ifndef _ESP_ASIO_CONFIG_H_
#define _ESP_ASIO_CONFIG_H_
//
// Enabling exceptions only when they are enabled in menuconfig
//
# include <sdkconfig.h>
# ifndef CONFIG_COMPILER_CXX_EXCEPTIONS
# define ASIO_NO_EXCEPTIONS
# endif // CONFIG_COMPILER_CXX_EXCEPTIONS
# ifndef CONFIG_COMPILER_RTTI
# define ASIO_NO_TYPEID
# endif // CONFIG_COMPILER_RTTI
//
// LWIP compatibility inet and address macros/functions
//
# define LWIP_COMPAT_SOCKET_INET 1
# define LWIP_COMPAT_SOCKET_ADDR 1
//
// Specific ASIO feature flags
//
# define ASIO_DISABLE_SERIAL_PORT
# define ASIO_SEPARATE_COMPILATION
# define ASIO_STANDALONE
# define ASIO_HAS_PTHREADS
#endif // _ESP_ASIO_CONFIG_H_

View File

@@ -0,0 +1,39 @@
// Copyright 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.
#ifndef _ESP_EXCEPTION_H_
#define _ESP_EXCEPTION_H_
//
// This exception stub is enabled only if exceptions are disabled in menuconfig
//
#if !defined(CONFIG_COMPILER_CXX_EXCEPTIONS) && defined (ASIO_NO_EXCEPTIONS)
#include "esp_log.h"
//
// asio exception stub
//
namespace asio {
namespace detail {
template <typename Exception>
void throw_exception(const Exception& e)
{
ESP_LOGE("esp32_asio_exception", "Caught exception: %s!", e.what());
abort();
}
}}
#endif // CONFIG_COMPILER_CXX_EXCEPTIONS==1 && defined (ASIO_NO_EXCEPTIONS)
#endif // _ESP_EXCEPTION_H_

View File

@@ -1,85 +0,0 @@
menuconfig AWS_IOT_SDK
bool "Amazon Web Services IoT Platform"
help
Select this option to enable support for the AWS IoT platform,
via the esp-idf component for the AWS IoT Device C SDK.
config AWS_IOT_MQTT_HOST
string "AWS IoT Endpoint Hostname"
depends on AWS_IOT_SDK
default ""
help
Default endpoint host name to connect to AWS IoT MQTT/S gateway
This is the custom endpoint hostname and is specific to an AWS
IoT account. You can find it by logging into your AWS IoT
Console and clicking the Settings button. The endpoint hostname
is shown under the "Custom Endpoint" heading on this page.
If you need per-device hostnames for different regions or
accounts, you can override the default hostname in your app.
config AWS_IOT_MQTT_PORT
int "AWS IoT MQTT Port"
depends on AWS_IOT_SDK
default 8883
range 0 65535
help
Default port number to connect to AWS IoT MQTT/S gateway
If you need per-device port numbers for different regions, you can
override the default port number in your app.
config AWS_IOT_MQTT_TX_BUF_LEN
int "MQTT TX Buffer Length"
depends on AWS_IOT_SDK
default 512
range 32 65536
help
Maximum MQTT transmit buffer size. This is the maximum MQTT
message length (including protocol overhead) which can be sent.
Sending longer messages will fail.
config AWS_IOT_MQTT_RX_BUF_LEN
int "MQTT RX Buffer Length"
depends on AWS_IOT_SDK
default 512
range 32 65536
help
Maximum MQTT receive buffer size. This is the maximum MQTT
message length (including protocol overhead) which can be
received.
Longer messages are dropped.
config AWS_IOT_MQTT_NUM_SUBSCRIBE_HANDLERS
int "Maximum MQTT Topic Filters"
depends on AWS_IOT_SDK
default 5
range 1 100
help
Maximum number of concurrent MQTT topic filters.
config AWS_IOT_MQTT_MIN_RECONNECT_WAIT_INTERVAL
int "Auto reconnect initial interval (ms)"
depends on AWS_IOT_SDK
default 1000
range 10 3600000
help
Initial delay before making first reconnect attempt, if the AWS IoT connection fails.
Client will perform exponential backoff, starting from this value.
config AWS_IOT_MQTT_MAX_RECONNECT_WAIT_INTERVAL
int "Auto reconnect maximum interval (ms)"
depends on AWS_IOT_SDK
default 128000
range 10 3600000
help
Maximum delay between reconnection attempts. If the exponentially increased delay
interval reaches this value, the client will stop automatically attempting to reconnect.

View File

@@ -1,20 +0,0 @@
#
# Component Makefile
#
ifdef CONFIG_AWS_IOT_SDK
COMPONENT_ADD_INCLUDEDIRS := include aws-iot-device-sdk-embedded-C/include
COMPONENT_SRCDIRS := aws-iot-device-sdk-embedded-C/src port
# Check the submodule is initialised
COMPONENT_SUBMODULES := aws-iot-device-sdk-embedded-C
else
# Disable AWS IoT support
COMPONENT_ADD_INCLUDEDIRS :=
COMPONENT_ADD_LDFLAGS :=
COMPONENT_SRCDIRS :=
endif

View File

@@ -1,60 +0,0 @@
/*
* Copyright 2010-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file 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.
*/
/**
* @file aws_iot_config.h
* @brief AWS IoT specific configuration file
*/
#ifndef _AWS_IOT_CONFIG_H_
#define _AWS_IOT_CONFIG_H_
#include "aws_iot_log.h"
// This configuration macro needs to be available globally to enable threading
#define _ENABLE_THREAD_SUPPORT_
// These values are defined in the menuconfig of the AWS IoT component.
// However, you can override these constants from your own code.
#define AWS_IOT_MQTT_HOST CONFIG_AWS_IOT_MQTT_HOST ///< Customer specific MQTT HOST. The same will be used for Thing Shadow
#define AWS_IOT_MQTT_PORT CONFIG_AWS_IOT_MQTT_PORT ///< default port for MQTT/S
// These values are defaults and are used for ShadowConnectParametersDefault.
// You should override them from your own code.
#define AWS_IOT_MQTT_CLIENT_ID "ESP32" ///< MQTT client ID should be unique for every device
#define AWS_IOT_MY_THING_NAME "ESP32" ///< Thing Name of the Shadow this device is associated with
// MQTT PubSub
#define AWS_IOT_MQTT_TX_BUF_LEN CONFIG_AWS_IOT_MQTT_TX_BUF_LEN ///< Any time a message is sent out through the MQTT layer. The message is copied into this buffer anytime a publish is done. This will also be used in the case of Thing Shadow
#define AWS_IOT_MQTT_RX_BUF_LEN CONFIG_AWS_IOT_MQTT_RX_BUF_LEN ///< Any message that comes into the device should be less than this buffer size. If a received message is bigger than this buffer size the message will be dropped.
#define AWS_IOT_MQTT_NUM_SUBSCRIBE_HANDLERS CONFIG_AWS_IOT_MQTT_NUM_SUBSCRIBE_HANDLERS ///< Maximum number of topic filters the MQTT client can handle at any given time. This should be increased appropriately when using Thing Shadow
// Thing Shadow specific configs
#define SHADOW_MAX_SIZE_OF_RX_BUFFER (AWS_IOT_MQTT_RX_BUF_LEN + 1) ///< Maximum size of the SHADOW buffer to store the received Shadow message
#define MAX_SIZE_OF_UNIQUE_CLIENT_ID_BYTES 80 ///< Maximum size of the Unique Client Id. For More info on the Client Id refer \ref response "Acknowledgments"
#define MAX_SIZE_CLIENT_ID_WITH_SEQUENCE (MAX_SIZE_OF_UNIQUE_CLIENT_ID_BYTES + 10) ///< This is size of the extra sequence number that will be appended to the Unique client Id
#define MAX_SIZE_CLIENT_TOKEN_CLIENT_SEQUENCE (MAX_SIZE_CLIENT_ID_WITH_SEQUENCE + 20) ///< This is size of the the total clientToken key and value pair in the JSON
#define MAX_ACKS_TO_COMEIN_AT_ANY_GIVEN_TIME 10 ///< At Any given time we will wait for this many responses. This will correlate to the rate at which the shadow actions are requested
#define MAX_THINGNAME_HANDLED_AT_ANY_GIVEN_TIME 10 ///< We could perform shadow action on any thing Name and this is maximum Thing Names we can act on at any given time
#define MAX_JSON_TOKEN_EXPECTED 120 ///< These are the max tokens that is expected to be in the Shadow JSON document. Include the metadata that gets published
#define MAX_SHADOW_TOPIC_LENGTH_WITHOUT_THINGNAME 60 ///< All shadow actions have to be published or subscribed to a topic which is of the formablogt $aws/things/{thingName}/shadow/update/accepted. This refers to the size of the topic without the Thing Name
#define MAX_SIZE_OF_THING_NAME 20 ///< The Thing Name should not be bigger than this value. Modify this if the Thing Name needs to be bigger
#define MAX_SHADOW_TOPIC_LENGTH_BYTES (MAX_SHADOW_TOPIC_LENGTH_WITHOUT_THINGNAME + MAX_SIZE_OF_THING_NAME) ///< This size includes the length of topic with Thing Name
// Auto Reconnect specific config
#define AWS_IOT_MQTT_MIN_RECONNECT_WAIT_INTERVAL CONFIG_AWS_IOT_MQTT_MIN_RECONNECT_WAIT_INTERVAL ///< Minimum time before the First reconnect attempt is made as part of the exponential back-off algorithm
#define AWS_IOT_MQTT_MAX_RECONNECT_WAIT_INTERVAL CONFIG_AWS_IOT_MQTT_MAX_RECONNECT_WAIT_INTERVAL ///< Maximum time interval after which exponential back-off will stop attempting to reconnect.
#endif /* _AWS_IOT_CONFIG_H_ */

View File

@@ -1,44 +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.
#pragma once
/* (these two headers aren't used here, but AWS IoT SDK code relies on them
being included from here...) */
#include <stdio.h>
#include <stdlib.h>
#include "esp_log.h"
/* This is a stub replacement for the aws_iot_log.h header in the AWS IoT SDK,
which redirects their logging framework into the esp-idf logging framework.
The current (2.1.1) upstream AWS IoT SDK doesn't allow this as some of its
headers include aws_iot_log.h, but our modified fork does.
*/
// redefine the AWS IoT log functions to call into the IDF log layer
#define IOT_DEBUG(format, ...) ESP_LOGD("aws_iot", format, ##__VA_ARGS__)
#define IOT_INFO(format, ...) ESP_LOGI("aws_iot", format, ##__VA_ARGS__)
#define IOT_WARN(format, ...) ESP_LOGW("aws_iot", format, ##__VA_ARGS__)
#define IOT_ERROR(format, ...) ESP_LOGE("aws_iot", format, ##__VA_ARGS__)
/* Function tracing macros used in AWS IoT SDK,
mapped to "verbose" level output
*/
#define FUNC_ENTRY ESP_LOGV("aws_iot", "FUNC_ENTRY: %s L#%d \n", __func__, __LINE__)
#define FUNC_EXIT_RC(x) \
do { \
ESP_LOGV("aws_iot", "FUNC_EXIT: %s L#%d Return Code : %d \n", __func__, __LINE__, x); \
return x; \
} while(0)

View File

@@ -1,64 +0,0 @@
/*
* Copyright 2010-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
* Additions Copyright 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.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file 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.
*/
#ifndef IOTSDKC_NETWORK_MBEDTLS_PLATFORM_H_H
#if !defined(MBEDTLS_CONFIG_FILE)
#include "mbedtls/config.h"
#else
#include MBEDTLS_CONFIG_FILE
#endif
#include "mbedtls/platform.h"
#include "mbedtls/net_sockets.h"
#include "mbedtls/ssl.h"
#include "mbedtls/entropy.h"
#include "mbedtls/ctr_drbg.h"
#include "mbedtls/certs.h"
#include "mbedtls/x509.h"
#include "mbedtls/error.h"
#include "mbedtls/debug.h"
#include "mbedtls/timing.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief TLS Connection Parameters
*
* Defines a type containing TLS specific parameters to be passed down to the
* TLS networking layer to create a TLS secured socket.
*/
typedef struct _TLSDataParams {
mbedtls_entropy_context entropy;
mbedtls_ctr_drbg_context ctr_drbg;
mbedtls_ssl_context ssl;
mbedtls_ssl_config conf;
uint32_t flags;
mbedtls_x509_crt cacert;
mbedtls_x509_crt clicert;
mbedtls_pk_context pkey;
mbedtls_net_context server_fd;
}TLSDataParams;
#define IOTSDKC_NETWORK_MBEDTLS_PLATFORM_H_H
#ifdef __cplusplus
}
#endif
#endif //IOTSDKC_NETWORK_MBEDTLS_PLATFORM_H_H

View File

@@ -1,45 +0,0 @@
/*
* Copyright 2010-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
* Additions Copyright 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.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file 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 "threads_interface.h"
#ifndef AWS_IOTSDK_THREADS_PLATFORM_H
#define AWS_IOTSDK_THREADS_PLATFORM_H
#ifdef __cplusplus
extern "C" {
#endif
#include "freertos/FreeRTOS.h"
#include "freertos/semphr.h"
/**
* @brief Mutex Type
*
* definition of the Mutex struct. Platform specific
*
*/
struct _IoT_Mutex_t {
SemaphoreHandle_t mutex;
};
#ifdef __cplusplus
}
#endif
#endif /* AWS_IOTSDK_THREADS_PLATFORM_H */

View File

@@ -1,40 +0,0 @@
/*
* Copyright 2010-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
* Additions Copyright 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.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file 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.
*/
#ifndef AWS_IOT_PLATFORM_H
#define AWS_IOT_PLATFORM_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include "timer_interface.h"
/**
* definition of the Timer struct. Platform specific
*/
struct Timer {
uint32_t start_ticks;
uint32_t timeout_ticks;
uint32_t last_polled_ticks;
};
#ifdef __cplusplus
}
#endif
#endif /* AWS_IOT_PLATFORM_H */

View File

@@ -1,408 +0,0 @@
/*
* Copyright 2010-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
* Additions Copyright 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.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file 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 <sys/param.h>
#include <stdbool.h>
#include <string.h>
#include <timer_platform.h>
#include <network_interface.h>
#include "aws_iot_config.h"
#include "aws_iot_error.h"
#include "network_interface.h"
#include "network_platform.h"
#include "mbedtls/esp_debug.h"
#include "esp_log.h"
#include "esp_vfs.h"
static const char *TAG = "aws_iot";
/* This is the value used for ssl read timeout */
#define IOT_SSL_READ_TIMEOUT 10
/*
* This is a function to do further verification if needed on the cert received.
*
* Currently used to print debug-level information about each cert.
*/
static int _iot_tls_verify_cert(void *data, mbedtls_x509_crt *crt, int depth, uint32_t *flags) {
char buf[256];
((void) data);
if (LOG_LOCAL_LEVEL >= ESP_LOG_DEBUG) {
ESP_LOGD(TAG, "Verify requested for (Depth %d):", depth);
mbedtls_x509_crt_info(buf, sizeof(buf) - 1, "", crt);
ESP_LOGD(TAG, "%s", buf);
if((*flags) == 0) {
ESP_LOGD(TAG, " This certificate has no flags");
} else {
ESP_LOGD(TAG, "Verify result:%s", buf);
}
}
return 0;
}
static void _iot_tls_set_connect_params(Network *pNetwork, const char *pRootCALocation, const char *pDeviceCertLocation,
const char *pDevicePrivateKeyLocation, const char *pDestinationURL,
uint16_t destinationPort, uint32_t timeout_ms, bool ServerVerificationFlag) {
pNetwork->tlsConnectParams.DestinationPort = destinationPort;
pNetwork->tlsConnectParams.pDestinationURL = pDestinationURL;
pNetwork->tlsConnectParams.pDeviceCertLocation = pDeviceCertLocation;
pNetwork->tlsConnectParams.pDevicePrivateKeyLocation = pDevicePrivateKeyLocation;
pNetwork->tlsConnectParams.pRootCALocation = pRootCALocation;
pNetwork->tlsConnectParams.timeout_ms = timeout_ms;
pNetwork->tlsConnectParams.ServerVerificationFlag = ServerVerificationFlag;
}
IoT_Error_t iot_tls_init(Network *pNetwork, const char *pRootCALocation, const char *pDeviceCertLocation,
const char *pDevicePrivateKeyLocation, const char *pDestinationURL,
uint16_t destinationPort, uint32_t timeout_ms, bool ServerVerificationFlag) {
_iot_tls_set_connect_params(pNetwork, pRootCALocation, pDeviceCertLocation, pDevicePrivateKeyLocation,
pDestinationURL, destinationPort, timeout_ms, ServerVerificationFlag);
pNetwork->connect = iot_tls_connect;
pNetwork->read = iot_tls_read;
pNetwork->write = iot_tls_write;
pNetwork->disconnect = iot_tls_disconnect;
pNetwork->isConnected = iot_tls_is_connected;
pNetwork->destroy = iot_tls_destroy;
pNetwork->tlsDataParams.flags = 0;
return SUCCESS;
}
IoT_Error_t iot_tls_is_connected(Network *pNetwork) {
/* Use this to add implementation which can check for physical layer disconnect */
return NETWORK_PHYSICAL_LAYER_CONNECTED;
}
IoT_Error_t iot_tls_connect(Network *pNetwork, TLSConnectParams *params) {
int ret = SUCCESS;
TLSDataParams *tlsDataParams = NULL;
char portBuffer[6];
char info_buf[256];
if(NULL == pNetwork) {
return NULL_VALUE_ERROR;
}
if(NULL != params) {
_iot_tls_set_connect_params(pNetwork, params->pRootCALocation, params->pDeviceCertLocation,
params->pDevicePrivateKeyLocation, params->pDestinationURL,
params->DestinationPort, params->timeout_ms, params->ServerVerificationFlag);
}
tlsDataParams = &(pNetwork->tlsDataParams);
mbedtls_net_init(&(tlsDataParams->server_fd));
mbedtls_ssl_init(&(tlsDataParams->ssl));
mbedtls_ssl_config_init(&(tlsDataParams->conf));
#ifdef CONFIG_MBEDTLS_DEBUG
mbedtls_esp_enable_debug_log(&(tlsDataParams->conf), 4);
#endif
mbedtls_ctr_drbg_init(&(tlsDataParams->ctr_drbg));
mbedtls_x509_crt_init(&(tlsDataParams->cacert));
mbedtls_x509_crt_init(&(tlsDataParams->clicert));
mbedtls_pk_init(&(tlsDataParams->pkey));
ESP_LOGD(TAG, "Seeding the random number generator...");
mbedtls_entropy_init(&(tlsDataParams->entropy));
if((ret = mbedtls_ctr_drbg_seed(&(tlsDataParams->ctr_drbg), mbedtls_entropy_func, &(tlsDataParams->entropy),
(const unsigned char *) TAG, strlen(TAG))) != 0) {
ESP_LOGE(TAG, "failed! mbedtls_ctr_drbg_seed returned -0x%x", -ret);
return NETWORK_MBEDTLS_ERR_CTR_DRBG_ENTROPY_SOURCE_FAILED;
}
/* Load root CA...
Certs/keys can be paths or they can be raw data. These use a
very basic heuristic: if the cert starts with '/' then it's a
path, if it's longer than this then it's raw cert data (PEM or DER,
neither of which can start with a slash. */
if (pNetwork->tlsConnectParams.pRootCALocation[0] == '/') {
ESP_LOGD(TAG, "Loading CA root certificate from file ...");
ret = mbedtls_x509_crt_parse_file(&(tlsDataParams->cacert), pNetwork->tlsConnectParams.pRootCALocation);
} else {
ESP_LOGD(TAG, "Loading embedded CA root certificate ...");
ret = mbedtls_x509_crt_parse(&(tlsDataParams->cacert), (const unsigned char *)pNetwork->tlsConnectParams.pRootCALocation,
strlen(pNetwork->tlsConnectParams.pRootCALocation)+1);
}
if(ret < 0) {
ESP_LOGE(TAG, "failed! mbedtls_x509_crt_parse returned -0x%x while parsing root cert", -ret);
return NETWORK_X509_ROOT_CRT_PARSE_ERROR;
}
ESP_LOGD(TAG, "ok (%d skipped)", ret);
/* Load client certificate... */
if (pNetwork->tlsConnectParams.pDeviceCertLocation[0] == '/') {
ESP_LOGD(TAG, "Loading client cert from file...");
ret = mbedtls_x509_crt_parse_file(&(tlsDataParams->clicert),
pNetwork->tlsConnectParams.pDeviceCertLocation);
} else {
ESP_LOGD(TAG, "Loading embedded client certificate...");
ret = mbedtls_x509_crt_parse(&(tlsDataParams->clicert),
(const unsigned char *)pNetwork->tlsConnectParams.pDeviceCertLocation,
strlen(pNetwork->tlsConnectParams.pDeviceCertLocation)+1);
}
if(ret != 0) {
ESP_LOGE(TAG, "failed! mbedtls_x509_crt_parse returned -0x%x while parsing device cert", -ret);
return NETWORK_X509_DEVICE_CRT_PARSE_ERROR;
}
/* Parse client private key... */
if (pNetwork->tlsConnectParams.pDevicePrivateKeyLocation[0] == '/') {
ESP_LOGD(TAG, "Loading client private key from file...");
ret = mbedtls_pk_parse_keyfile(&(tlsDataParams->pkey),
pNetwork->tlsConnectParams.pDevicePrivateKeyLocation,
"");
} else {
ESP_LOGD(TAG, "Loading embedded client private key...");
ret = mbedtls_pk_parse_key(&(tlsDataParams->pkey),
(const unsigned char *)pNetwork->tlsConnectParams.pDevicePrivateKeyLocation,
strlen(pNetwork->tlsConnectParams.pDevicePrivateKeyLocation)+1,
(const unsigned char *)"", 0);
}
if(ret != 0) {
ESP_LOGE(TAG, "failed! mbedtls_pk_parse_key returned -0x%x while parsing private key", -ret);
return NETWORK_PK_PRIVATE_KEY_PARSE_ERROR;
}
/* Done parsing certs */
ESP_LOGD(TAG, "ok");
snprintf(portBuffer, 6, "%d", pNetwork->tlsConnectParams.DestinationPort);
ESP_LOGD(TAG, "Connecting to %s/%s...", pNetwork->tlsConnectParams.pDestinationURL, portBuffer);
if((ret = mbedtls_net_connect(&(tlsDataParams->server_fd), pNetwork->tlsConnectParams.pDestinationURL,
portBuffer, MBEDTLS_NET_PROTO_TCP)) != 0) {
ESP_LOGE(TAG, "failed! mbedtls_net_connect returned -0x%x", -ret);
switch(ret) {
case MBEDTLS_ERR_NET_SOCKET_FAILED:
return NETWORK_ERR_NET_SOCKET_FAILED;
case MBEDTLS_ERR_NET_UNKNOWN_HOST:
return NETWORK_ERR_NET_UNKNOWN_HOST;
case MBEDTLS_ERR_NET_CONNECT_FAILED:
default:
return NETWORK_ERR_NET_CONNECT_FAILED;
};
}
ret = mbedtls_net_set_block(&(tlsDataParams->server_fd));
if(ret != 0) {
ESP_LOGE(TAG, "failed! net_set_(non)block() returned -0x%x", -ret);
return SSL_CONNECTION_ERROR;
} ESP_LOGD(TAG, "ok");
ESP_LOGD(TAG, "Setting up the SSL/TLS structure...");
if((ret = mbedtls_ssl_config_defaults(&(tlsDataParams->conf), MBEDTLS_SSL_IS_CLIENT, MBEDTLS_SSL_TRANSPORT_STREAM,
MBEDTLS_SSL_PRESET_DEFAULT)) != 0) {
ESP_LOGE(TAG, "failed! mbedtls_ssl_config_defaults returned -0x%x", -ret);
return SSL_CONNECTION_ERROR;
}
mbedtls_ssl_conf_verify(&(tlsDataParams->conf), _iot_tls_verify_cert, NULL);
if(pNetwork->tlsConnectParams.ServerVerificationFlag == true) {
mbedtls_ssl_conf_authmode(&(tlsDataParams->conf), MBEDTLS_SSL_VERIFY_REQUIRED);
} else {
mbedtls_ssl_conf_authmode(&(tlsDataParams->conf), MBEDTLS_SSL_VERIFY_OPTIONAL);
}
mbedtls_ssl_conf_rng(&(tlsDataParams->conf), mbedtls_ctr_drbg_random, &(tlsDataParams->ctr_drbg));
mbedtls_ssl_conf_ca_chain(&(tlsDataParams->conf), &(tlsDataParams->cacert), NULL);
ret = mbedtls_ssl_conf_own_cert(&(tlsDataParams->conf), &(tlsDataParams->clicert), &(tlsDataParams->pkey));
if(ret != 0) {
ESP_LOGE(TAG, "failed! mbedtls_ssl_conf_own_cert returned %d", ret);
return SSL_CONNECTION_ERROR;
}
mbedtls_ssl_conf_read_timeout(&(tlsDataParams->conf), pNetwork->tlsConnectParams.timeout_ms);
if((ret = mbedtls_ssl_setup(&(tlsDataParams->ssl), &(tlsDataParams->conf))) != 0) {
ESP_LOGE(TAG, "failed! mbedtls_ssl_setup returned -0x%x", -ret);
return SSL_CONNECTION_ERROR;
}
if((ret = mbedtls_ssl_set_hostname(&(tlsDataParams->ssl), pNetwork->tlsConnectParams.pDestinationURL)) != 0) {
ESP_LOGE(TAG, "failed! mbedtls_ssl_set_hostname returned %d", ret);
return SSL_CONNECTION_ERROR;
}
ESP_LOGD(TAG, "SSL state connect : %d ", tlsDataParams->ssl.state);
mbedtls_ssl_set_bio(&(tlsDataParams->ssl), &(tlsDataParams->server_fd), mbedtls_net_send, NULL,
mbedtls_net_recv_timeout);
ESP_LOGD(TAG, "ok");
ESP_LOGD(TAG, "SSL state connect : %d ", tlsDataParams->ssl.state);
ESP_LOGD(TAG, "Performing the SSL/TLS handshake...");
while((ret = mbedtls_ssl_handshake(&(tlsDataParams->ssl))) != 0) {
if(ret != MBEDTLS_ERR_SSL_WANT_READ && ret != MBEDTLS_ERR_SSL_WANT_WRITE) {
ESP_LOGE(TAG, "failed! mbedtls_ssl_handshake returned -0x%x", -ret);
if(ret == MBEDTLS_ERR_X509_CERT_VERIFY_FAILED) {
ESP_LOGE(TAG, " Unable to verify the server's certificate. ");
}
return SSL_CONNECTION_ERROR;
}
}
ESP_LOGD(TAG, "ok [ Protocol is %s ] [ Ciphersuite is %s ]", mbedtls_ssl_get_version(&(tlsDataParams->ssl)),
mbedtls_ssl_get_ciphersuite(&(tlsDataParams->ssl)));
if((ret = mbedtls_ssl_get_record_expansion(&(tlsDataParams->ssl))) >= 0) {
ESP_LOGD(TAG, " [ Record expansion is %d ]", ret);
} else {
ESP_LOGD(TAG, " [ Record expansion is unknown (compression) ]");
}
ESP_LOGD(TAG, "Verifying peer X.509 certificate...");
if(pNetwork->tlsConnectParams.ServerVerificationFlag == true) {
if((tlsDataParams->flags = mbedtls_ssl_get_verify_result(&(tlsDataParams->ssl))) != 0) {
ESP_LOGE(TAG, "failed");
mbedtls_x509_crt_verify_info(info_buf, sizeof(info_buf), " ! ", tlsDataParams->flags);
ESP_LOGE(TAG, "%s", info_buf);
ret = SSL_CONNECTION_ERROR;
} else {
ESP_LOGD(TAG, "ok");
ret = SUCCESS;
}
} else {
ESP_LOGW(TAG, " Server Verification skipped");
ret = SUCCESS;
}
if(LOG_LOCAL_LEVEL >= ESP_LOG_DEBUG) {
if (mbedtls_ssl_get_peer_cert(&(tlsDataParams->ssl)) != NULL) {
ESP_LOGD(TAG, "Peer certificate information:");
mbedtls_x509_crt_info((char *) info_buf, sizeof(info_buf) - 1, " ", mbedtls_ssl_get_peer_cert(&(tlsDataParams->ssl)));
ESP_LOGD(TAG, "%s", info_buf);
}
}
return (IoT_Error_t) ret;
}
IoT_Error_t iot_tls_write(Network *pNetwork, unsigned char *pMsg, size_t len, Timer *timer, size_t *written_len) {
size_t written_so_far;
bool isErrorFlag = false;
int frags, ret = 0;
TLSDataParams *tlsDataParams = &(pNetwork->tlsDataParams);
for(written_so_far = 0, frags = 0;
written_so_far < len && !has_timer_expired(timer); written_so_far += ret, frags++) {
while(!has_timer_expired(timer) &&
(ret = mbedtls_ssl_write(&(tlsDataParams->ssl), pMsg + written_so_far, len - written_so_far)) <= 0) {
if(ret != MBEDTLS_ERR_SSL_WANT_READ && ret != MBEDTLS_ERR_SSL_WANT_WRITE) {
ESP_LOGE(TAG, "failed! mbedtls_ssl_write returned -0x%x", -ret);
/* All other negative return values indicate connection needs to be reset.
* Will be caught in ping request so ignored here */
isErrorFlag = true;
break;
}
}
if(isErrorFlag) {
break;
}
}
*written_len = written_so_far;
if(isErrorFlag) {
return NETWORK_SSL_WRITE_ERROR;
} else if(has_timer_expired(timer) && written_so_far != len) {
return NETWORK_SSL_WRITE_TIMEOUT_ERROR;
}
return SUCCESS;
}
IoT_Error_t iot_tls_read(Network *pNetwork, unsigned char *pMsg, size_t len, Timer *timer, size_t *read_len) {
TLSDataParams *tlsDataParams = &(pNetwork->tlsDataParams);
mbedtls_ssl_context *ssl = &(tlsDataParams->ssl);
mbedtls_ssl_config *ssl_conf = &(tlsDataParams->conf);
uint32_t read_timeout;
size_t rxLen = 0;
int ret;
read_timeout = ssl_conf->read_timeout;
while (len > 0) {
/* Make sure we never block on read for longer than timer has left,
but also that we don't block indefinitely (ie read_timeout > 0) */
mbedtls_ssl_conf_read_timeout(ssl_conf, MAX(1, MIN(read_timeout, left_ms(timer))));
ret = mbedtls_ssl_read(ssl, pMsg, len);
/* Restore the old timeout */
mbedtls_ssl_conf_read_timeout(ssl_conf, read_timeout);
if (ret > 0) {
rxLen += ret;
pMsg += ret;
len -= ret;
} else if (ret == 0 || (ret != MBEDTLS_ERR_SSL_WANT_READ && ret != MBEDTLS_ERR_SSL_WANT_WRITE && ret != MBEDTLS_ERR_SSL_TIMEOUT)) {
return NETWORK_SSL_READ_ERROR;
}
// Evaluate timeout after the read to make sure read is done at least once
if (has_timer_expired(timer)) {
break;
}
}
if (len == 0) {
*read_len = rxLen;
return SUCCESS;
}
if (rxLen == 0) {
return NETWORK_SSL_NOTHING_TO_READ;
} else {
return NETWORK_SSL_READ_TIMEOUT_ERROR;
}
}
IoT_Error_t iot_tls_disconnect(Network *pNetwork) {
mbedtls_ssl_context *ssl = &(pNetwork->tlsDataParams.ssl);
int ret = 0;
do {
ret = mbedtls_ssl_close_notify(ssl);
} while(ret == MBEDTLS_ERR_SSL_WANT_WRITE);
/* All other negative return values indicate connection needs to be reset.
* No further action required since this is disconnect call */
return SUCCESS;
}
IoT_Error_t iot_tls_destroy(Network *pNetwork) {
TLSDataParams *tlsDataParams = &(pNetwork->tlsDataParams);
mbedtls_net_free(&(tlsDataParams->server_fd));
mbedtls_x509_crt_free(&(tlsDataParams->clicert));
mbedtls_x509_crt_free(&(tlsDataParams->cacert));
mbedtls_pk_free(&(tlsDataParams->pkey));
mbedtls_ssl_free(&(tlsDataParams->ssl));
mbedtls_ssl_config_free(&(tlsDataParams->conf));
mbedtls_ctr_drbg_free(&(tlsDataParams->ctr_drbg));
mbedtls_entropy_free(&(tlsDataParams->entropy));
return SUCCESS;
}

View File

@@ -1,104 +0,0 @@
/*
* Copyright 2010-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
* Additions Copyright 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.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file 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 "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "threads_platform.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief Initialize the provided mutex
*
* Call this function to initialize the mutex
*
* @param IoT_Mutex_t - pointer to the mutex to be initialized
* @return IoT_Error_t - error code indicating result of operation
*/
IoT_Error_t aws_iot_thread_mutex_init(IoT_Mutex_t *pMutex) {
pMutex->mutex = xSemaphoreCreateRecursiveMutex();
return pMutex->mutex ? SUCCESS : MUTEX_INIT_ERROR;
}
/**
* @brief Lock the provided mutex
*
* Call this function to lock the mutex before performing a state change
* Blocking, thread will block until lock request fails
*
* @param IoT_Mutex_t - pointer to the mutex to be locked
* @return IoT_Error_t - error code indicating result of operation
*/
IoT_Error_t aws_iot_thread_mutex_lock(IoT_Mutex_t *pMutex) {
xSemaphoreTakeRecursive(pMutex->mutex, portMAX_DELAY);
return SUCCESS;
}
/**
* @brief Try to lock the provided mutex
*
* Call this function to attempt to lock the mutex before performing a state change
* Non-Blocking, immediately returns with failure if lock attempt fails
*
* @param IoT_Mutex_t - pointer to the mutex to be locked
* @return IoT_Error_t - error code indicating result of operation
*/
IoT_Error_t aws_iot_thread_mutex_trylock(IoT_Mutex_t *pMutex) {
if (xSemaphoreTakeRecursive(pMutex->mutex, 0)) {
return SUCCESS;
} else {
return MUTEX_LOCK_ERROR;
}
}
/**
* @brief Unlock the provided mutex
*
* Call this function to unlock the mutex before performing a state change
*
* @param IoT_Mutex_t - pointer to the mutex to be unlocked
* @return IoT_Error_t - error code indicating result of operation
*/
IoT_Error_t aws_iot_thread_mutex_unlock(IoT_Mutex_t *pMutex) {
if (xSemaphoreGiveRecursive(pMutex->mutex)) {
return SUCCESS;
} else {
return MUTEX_UNLOCK_ERROR;
}
}
/**
* @brief Destroy the provided mutex
*
* Call this function to destroy the mutex
*
* @param IoT_Mutex_t - pointer to the mutex to be destroyed
* @return IoT_Error_t - error code indicating result of operation
*/
IoT_Error_t aws_iot_thread_mutex_destroy(IoT_Mutex_t *pMutex) {
vSemaphoreDelete(pMutex->mutex);
return SUCCESS;
}
#ifdef __cplusplus
}
#endif

View File

@@ -1,83 +0,0 @@
/*
* Copyright 2010-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
* Additions Copyright 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.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file 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.
*/
/**
* @file timer.c
* @brief FreeRTOS implementation of the timer interface uses ticks.
*/
#ifdef __cplusplus
extern "C" {
#endif
#include <limits.h>
#include "timer_platform.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_log.h"
const static char *TAG = "aws_timer";
bool has_timer_expired(Timer *timer) {
uint32_t now = xTaskGetTickCount();
bool expired = (now - timer->start_ticks) >= timer->timeout_ticks;
/* AWS IoT SDK isn't very RTOS friendly because it polls for "done
timers" a lot without ever sleeping on them. So we hack in some
amount of sleeping here: if it seems like the caller is polling
an unexpired timer in a tight loop then we delay a tick to let
things progress elsewhere.
*/
if(!expired && now == timer->last_polled_ticks) {
vTaskDelay(1);
}
timer->last_polled_ticks = now;
return expired;
}
void countdown_ms(Timer *timer, uint32_t timeout) {
timer->start_ticks = xTaskGetTickCount();
timer->timeout_ticks = timeout / portTICK_PERIOD_MS;
timer->last_polled_ticks = 0;
}
uint32_t left_ms(Timer *timer) {
uint32_t now = xTaskGetTickCount();
uint32_t elapsed = now - timer->start_ticks;
if (elapsed < timer->timeout_ticks) {
return (timer->timeout_ticks - elapsed) * portTICK_PERIOD_MS;
} else {
return 0;
}
}
void countdown_sec(Timer *timer, uint32_t timeout) {
if (timeout > UINT32_MAX / 1000) {
ESP_LOGE(TAG, "timeout is out of range: %ds", timeout);
}
countdown_ms(timer, timeout * 1000);
}
void init_timer(Timer *timer) {
timer->start_ticks = 0;
timer->timeout_ticks = 0;
timer->last_polled_ticks = 0;
}
#ifdef __cplusplus
}
#endif

View File

@@ -0,0 +1,21 @@
idf_component_register(PRIV_REQUIRES partition_table)
# Do not generate flash file when building bootloader or is in early expansion of the build
if(BOOTLOADER_BUILD OR NOT CONFIG_APP_BUILD_BOOTLOADER)
return()
endif()
# When secure boot is enabled, do not flash bootloader along with invocation of `idf.py flash`
if(NOT CONFIG_SECURE_BOOT_ENABLED)
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)

View File

@@ -1,247 +1,607 @@
menu "Bootloader config"
choice LOG_BOOTLOADER_LEVEL
bool "Bootloader log verbosity"
default LOG_BOOTLOADER_LEVEL_INFO
help
Specify how much output to see in bootloader logs.
choice BOOTLOADER_LOG_LEVEL
bool "Bootloader log verbosity"
default BOOTLOADER_LOG_LEVEL_INFO
help
Specify how much output to see in bootloader logs.
config LOG_BOOTLOADER_LEVEL_NONE
bool "No output"
config LOG_BOOTLOADER_LEVEL_ERROR
bool "Error"
config LOG_BOOTLOADER_LEVEL_WARN
bool "Warning"
config LOG_BOOTLOADER_LEVEL_INFO
bool "Info"
config LOG_BOOTLOADER_LEVEL_DEBUG
bool "Debug"
config LOG_BOOTLOADER_LEVEL_VERBOSE
bool "Verbose"
endchoice
config BOOTLOADER_LOG_LEVEL_NONE
bool "No output"
config BOOTLOADER_LOG_LEVEL_ERROR
bool "Error"
config BOOTLOADER_LOG_LEVEL_WARN
bool "Warning"
config BOOTLOADER_LOG_LEVEL_INFO
bool "Info"
config BOOTLOADER_LOG_LEVEL_DEBUG
bool "Debug"
config BOOTLOADER_LOG_LEVEL_VERBOSE
bool "Verbose"
endchoice
config LOG_BOOTLOADER_LEVEL
int
default 0 if LOG_BOOTLOADER_LEVEL_NONE
default 1 if LOG_BOOTLOADER_LEVEL_ERROR
default 2 if LOG_BOOTLOADER_LEVEL_WARN
default 3 if LOG_BOOTLOADER_LEVEL_INFO
default 4 if LOG_BOOTLOADER_LEVEL_DEBUG
default 5 if LOG_BOOTLOADER_LEVEL_VERBOSE
config BOOTLOADER_LOG_LEVEL
int
default 0 if BOOTLOADER_LOG_LEVEL_NONE
default 1 if BOOTLOADER_LOG_LEVEL_ERROR
default 2 if BOOTLOADER_LOG_LEVEL_WARN
default 3 if BOOTLOADER_LOG_LEVEL_INFO
default 4 if BOOTLOADER_LOG_LEVEL_DEBUG
default 5 if BOOTLOADER_LOG_LEVEL_VERBOSE
config BOOTLOADER_SPI_WP_PIN
int "SPI Flash WP Pin when customising pins via efuse (read help)"
range 0 33
default 7
depends on FLASHMODE_QIO || FLASHMODE_QOUT
help
This value is ignored unless flash mode is set to QIO or QOUT *and* the SPI flash pins have been
overriden by setting the efuses SPI_PAD_CONFIG_xxx.
config BOOTLOADER_SPI_WP_PIN
int "SPI Flash WP Pin when customising pins via eFuse (read help)"
range 0 33
default 7
depends on ESPTOOLPY_FLASHMODE_QIO || ESPTOOLPY_FLASHMODE_QOUT
help
This value is ignored unless flash mode is set to QIO or QOUT *and* the SPI flash pins have been
overriden by setting the eFuses SPI_PAD_CONFIG_xxx.
When this is the case, the Efuse config only defines 3 of the 4 Quad I/O data pins. The WP pin (aka ESP32
pin "SD_DATA_3" or SPI flash pin "IO2") is not specified in Efuse. That pin number is compiled into the bootloader
instead.
When this is the case, the eFuse config only defines 3 of the 4 Quad I/O data pins. The WP pin (aka ESP32
pin "SD_DATA_3" or SPI flash pin "IO2") is not specified in eFuse. That pin number is compiled into the
bootloader instead.
The default value (GPIO 7) is correct for WP pin on ESP32-D2WD integrated flash.
The default value (GPIO 7) is correct for WP pin on ESP32-D2WD integrated flash.
config BOOTLOADER_VDDSDIO_BOOST
bool "Increase VDDSDIO 1.8V LDO voltage to 1.9V"
default y
help
If this option is enabled, and VDDSDIO LDO is set to 1.8V (using EFUSE
or MTDI bootstrapping pin), bootloader will change LDO settings to
output 1.9V instead. This helps prevent flash chip from browning out
during flash programming operations.
choice BOOTLOADER_VDDSDIO_BOOST
bool "VDDSDIO LDO voltage"
default BOOTLOADER_VDDSDIO_BOOST_1_9V
help
If this option is enabled, and VDDSDIO LDO is set to 1.8V (using eFuse
or MTDI bootstrapping pin), bootloader will change LDO settings to
output 1.9V instead. This helps prevent flash chip from browning out
during flash programming operations.
This option has no effect if VDDSDIO is set to 3.3V, or if the internal
VDDSDIO regulator is disabled via efuse.
This option has no effect if VDDSDIO is set to 3.3V, or if the internal
VDDSDIO regulator is disabled via eFuse.
config BOOTLOADER_VDDSDIO_BOOST_1_8V
bool "1.8V"
depends on !ESPTOOLPY_FLASHFREQ_80M
config BOOTLOADER_VDDSDIO_BOOST_1_9V
bool "1.9V"
endchoice
config BOOTLOADER_FACTORY_RESET
bool "GPIO triggers factory reset"
default N
help
Allows to reset the device to factory settings:
- clear one or more data partitions;
- boot from "factory" partition.
The factory reset will occur if there is a GPIO input pulled low while device starts up.
See settings below.
config BOOTLOADER_NUM_PIN_FACTORY_RESET
int "Number of the GPIO input for factory reset"
depends on BOOTLOADER_FACTORY_RESET
range 0 39
default 4
help
The selected GPIO will be configured as an input with internal pull-up enabled.
To trigger a factory reset, this GPIO must be pulled low on reset.
Note that GPIO34-39 do not have an internal pullup and an external one must be provided.
config BOOTLOADER_OTA_DATA_ERASE
bool "Clear OTA data on factory reset (select factory partition)"
depends on BOOTLOADER_FACTORY_RESET
help
The device will boot from "factory" partition (or OTA slot 0 if no factory partition is present) after a
factory reset.
config BOOTLOADER_DATA_FACTORY_RESET
string "Comma-separated names of partitions to clear on factory reset"
depends on BOOTLOADER_FACTORY_RESET
default "nvs"
help
Allows customers to select which data partitions will be erased while factory reset.
Specify the names of partitions as a comma-delimited with optional spaces for readability. (Like this:
"nvs, phy_init, ...")
Make sure that the name specified in the partition table and here are the same.
Partitions of type "app" cannot be specified here.
config BOOTLOADER_APP_TEST
bool "GPIO triggers boot from test app partition"
default N
help
Allows to run the test app from "TEST" partition.
A boot from "test" partition will occur if there is a GPIO input pulled low while device starts up.
See settings below.
config BOOTLOADER_NUM_PIN_APP_TEST
int "Number of the GPIO input to boot TEST partition"
depends on BOOTLOADER_APP_TEST
range 0 39
default 18
help
The selected GPIO will be configured as an input with internal pull-up enabled.
To trigger a test app, this GPIO must be pulled low on reset.
After the GPIO input is deactivated and the device reboots, the old application will boot.
(factory or OTA[x]).
Note that GPIO34-39 do not have an internal pullup and an external one must be provided.
config BOOTLOADER_HOLD_TIME_GPIO
int "Hold time of GPIO for reset/test mode (seconds)"
depends on BOOTLOADER_FACTORY_RESET || BOOTLOADER_APP_TEST
default 5
help
The GPIO must be held low continuously for this period of time after reset
before a factory reset or test partition boot (as applicable) is performed.
config BOOTLOADER_WDT_ENABLE
bool "Use RTC watchdog in start code"
default y
help
Tracks the execution time of startup code.
If the execution time is exceeded, the RTC_WDT will restart system.
It is also useful to prevent a lock up in start code caused by an unstable power source.
NOTE: Tracks the execution time starts from the bootloader code - re-set timeout, while selecting the
source for slow_clk - and ends calling app_main.
Re-set timeout is needed due to WDT uses a SLOW_CLK clock source. After changing a frequency slow_clk a
time of WDT needs to re-set for new frequency.
slow_clk depends on ESP32_RTC_CLK_SRC (INTERNAL_RC or EXTERNAL_CRYSTAL).
config BOOTLOADER_WDT_DISABLE_IN_USER_CODE
bool "Allows RTC watchdog disable in user code"
depends on BOOTLOADER_WDT_ENABLE
default n
help
If it is set, the client must itself reset or disable rtc_wdt in their code (app_main()).
Otherwise rtc_wdt will be disabled before calling app_main function.
Use function rtc_wdt_feed() for resetting counter of rtc_wdt.
Use function rtc_wdt_disable() for disabling rtc_wdt.
config BOOTLOADER_WDT_TIME_MS
int "Timeout for RTC watchdog (ms)"
depends on BOOTLOADER_WDT_ENABLE
default 9000
range 0 120000
help
Verify that this parameter is correct and more then the execution time.
Pay attention to options such as reset to factory, trigger test partition and encryption on boot
- these options can increase the execution time.
Note: RTC_WDT will reset while encryption operations will be performed.
config BOOTLOADER_APP_ROLLBACK_ENABLE
bool "Enable app rollback support"
default n
help
After updating the app, the bootloader runs a new app with the "ESP_OTA_IMG_PENDING_VERIFY" state set.
This state prevents the re-run of this app. After the first boot of the new app in the user code, the
function should be called to confirm the operability of the app or vice versa about its non-operability.
If the app is working, then it is marked as valid. Otherwise, it is marked as not valid and rolls back to
the previous working app. A reboot is performed, and the app is booted before the software update.
Note: If during the first boot a new app the power goes out or the WDT works, then roll back will happen.
Rollback is possible only between the apps with the same security versions.
config BOOTLOADER_APP_ANTI_ROLLBACK
bool "Enable app anti-rollback support"
depends on BOOTLOADER_APP_ROLLBACK_ENABLE
default n
help
This option prevents rollback to previous firmware/application image with lower security version.
config BOOTLOADER_APP_SECURE_VERSION
int "eFuse secure version of app"
depends on BOOTLOADER_APP_ANTI_ROLLBACK
default 0
help
The secure version is the sequence number stored in the header of each firmware.
The security version is set in the bootloader, version is recorded in the eFuse field
as the number of set ones. The allocated number of bits in the efuse field
for storing the security version is limited (see BOOTLOADER_APP_SEC_VER_SIZE_EFUSE_FIELD option).
Bootloader: When bootloader selects an app to boot, an app is selected that has
a security version greater or equal that recorded in eFuse field.
The app is booted with a higher (or equal) secure version.
The security version is worth increasing if in previous versions there is
a significant vulnerability and their use is not acceptable.
Your partition table should has a scheme with ota_0 + ota_1 (without factory).
config BOOTLOADER_APP_SEC_VER_SIZE_EFUSE_FIELD
int "Size of the efuse secure version field"
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
help
The size of the efuse secure version field.
Its length is limited to 32 bits for ESP32 and 16 bits for ESP32S2BETA.
This determines how many times the security version can be increased.
config BOOTLOADER_EFUSE_SECURE_VERSION_EMULATE
bool "Emulate operations with efuse secure version(only test)"
default n
depends on BOOTLOADER_APP_ANTI_ROLLBACK
help
This option allow emulate read/write operations with efuse secure version.
It allow to test anti-rollback implemention without permanent write eFuse bits.
In partition table should be exist this partition `emul_efuse, data, 5, , 0x2000`.
config BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP
bool "Skip image validation when exiting deep sleep"
depends on (SECURE_BOOT_ENABLED && SECURE_BOOT_INSECURE) || !SECURE_BOOT_ENABLED
default n
help
This option disables the normal validation of an image coming out of
deep sleep (checksums, SHA256, and signature). This is a trade-off
between wakeup performance from deep sleep, and image integrity checks.
Only enable this if you know what you are doing. It should not be used
in conjunction with using deep_sleep() entry and changing the active OTA
partition as this would skip the validation upon first load of the new
OTA partition.
config BOOTLOADER_RESERVE_RTC_SIZE
hex
default 0x10 if BOOTLOADER_SKIP_VALIDATE_IN_DEEP_SLEEP || BOOTLOADER_CUSTOM_RESERVE_RTC
default 0
help
Reserve RTC FAST memory for Skip image validation. This option in bytes.
This option reserves an area in the RTC FAST memory (access only PRO_CPU).
Used to save the addresses of the selected application.
When a wakeup occurs (from Deep sleep), the bootloader retrieves it and
loads the application without validation.
config BOOTLOADER_CUSTOM_RESERVE_RTC
bool "Reserve RTC FAST memory for custom purposes"
default n
help
This option allows the customer to place data in the RTC FAST memory,
this area remains valid when rebooted, except for power loss.
This memory is located at a fixed address and is available
for both the bootloader and the application.
(The application and bootoloader must be compiled with the same option).
The RTC FAST memory has access only through PRO_CPU.
config BOOTLOADER_CUSTOM_RESERVE_RTC_SIZE
hex "Size in bytes for custom purposes"
range 0 0x10
default 0
depends on BOOTLOADER_CUSTOM_RESERVE_RTC
help
This option reserves in RTC FAST memory the area for custom purposes.
If you want to create your own bootloader and save more information
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.
endmenu # Bootloader
menu "Security features"
config SECURE_BOOT_ENABLED
bool "Enable secure boot in bootloader (READ DOCS FIRST)"
default N
help
Build a bootloader which enables secure boot on first boot.
# These three are the actual options to check in code,
# selected by the displayed options
config SECURE_SIGNED_ON_BOOT
bool
default y
depends on SECURE_BOOT_ENABLED || SECURE_SIGNED_ON_BOOT_NO_SECURE_BOOT
Once enabled, secure boot will not boot a modified bootloader. The bootloader will only load a partition table or boot an app if the data has a verified digital signature. There are implications for reflashing updated apps once secure boot is enabled.
config SECURE_SIGNED_ON_UPDATE
bool
default y
depends on SECURE_BOOT_ENABLED || SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT
When enabling secure boot, JTAG and ROM BASIC Interpreter are permanently disabled by default.
Refer to https://esp-idf.readthedocs.io/en/latest/security/secure-boot.html before enabling.
choice SECURE_BOOTLOADER_MODE
bool "Secure bootloader mode"
depends on SECURE_BOOT_ENABLED
default SECURE_BOOTLOADER_ONE_TIME_FLASH
config SECURE_BOOTLOADER_ONE_TIME_FLASH
bool "One-time flash"
help
On first boot, the bootloader will generate a key which is not readable externally or by software. A digest is generated from the bootloader image itself. This digest will be verified on each subsequent boot.
Enabling this option means that the bootloader cannot be changed after the first time it is booted.
config SECURE_BOOTLOADER_REFLASHABLE
bool "Reflashable"
help
Generate a reusable secure bootloader key, derived (via SHA-256) from the secure boot signing key.
This allows the secure bootloader to be re-flashed by anyone with access to the secure boot signing key.
This option is less secure than one-time flash, because a leak of the digest key from one device allows reflashing of any device that uses it.
endchoice
config SECURE_BOOT_BUILD_SIGNED_BINARIES
bool "Sign binaries during build"
depends on SECURE_BOOT_ENABLED
default y
help
Once secure boot is enabled, bootloader will only boot if partition table and app image are signed.
If enabled, these binary files are signed as part of the build process. The file named in "Secure boot private signing key" will be used to sign the image.
If disabled, unsigned app/partition data will be built. They must be signed manually using espsecure.py (for example, on a remote signing server.)
config SECURE_BOOT_SIGNING_KEY
string "Secure boot private signing key"
depends on SECURE_BOOT_BUILD_SIGNED_BINARIES
default secure_boot_signing_key.pem
help
Path to the key file used to sign partition tables and app images for secure boot. Once secure boot is enabled, bootloader will only boot if partition table and app image are signed.
Key file is an ECDSA private key (NIST256p curve) in PEM format.
Path is evaluated relative to the project directory.
You can generate a new signing key by running the following command:
espsecure.py generate_signing_key secure_boot_signing_key.pem
See docs/security/secure-boot.rst for details.
config SECURE_BOOT_VERIFICATION_KEY
string "Secure boot public signature verification key"
depends on SECURE_BOOT_ENABLED && !SECURE_BOOT_BUILD_SIGNED_BINARIES
default signature_verification_key.bin
help
Path to a public key file used to verify signed images. This key is compiled into the bootloader,
and may also be used to verify signatures on OTA images after download.
Key file is in raw binary format, and can be extracted from a
PEM formatted private key using the espsecure.py
extract_public_key command.
Refer to https://esp-idf.readthedocs.io/en/latest/security/secure-boot.html before enabling.
config SECURE_BOOT_INSECURE
bool "Allow potentially insecure options"
depends on SECURE_BOOT_ENABLED
default N
help
You can disable some of the default protections offered by secure boot, in order to enable testing or a custom combination of security features.
Only enable these options if you are very sure.
Refer to https://esp-idf.readthedocs.io/en/latest/security/secure-boot.html before enabling.
config FLASH_ENCRYPTION_ENABLED
bool "Enable flash encryption on boot (READ DOCS FIRST)"
default N
help
If this option is set, flash contents will be encrypted by the bootloader on first boot.
Note: After first boot, the system will be permanently encrypted. Re-flashing an encrypted
system is complicated and not always possible.
Read https://esp-idf.readthedocs.io/en/latest/security/flash-encryption.html before enabling.
config FLASH_ENCRYPTION_INSECURE
bool "Allow potentially insecure options"
depends on FLASH_ENCRYPTION_ENABLED
default N
help
You can disable some of the default protections offered by flash encryption, in order to enable testing or a custom combination of security features.
Only enable these options if you are very sure.
Refer to docs/security/secure-boot.rst and docs/security/flash-encryption.rst for details.
menu "Potentially insecure options"
visible if FLASH_ENCRYPTION_INSECURE || SECURE_BOOT_INSECURE
# NOTE: Options in this menu NEED to have SECURE_BOOT_INSECURE
# and/or FLASH_ENCRYPTION_INSECURE in "depends on", as the menu
# itself doesn't enable/disable its children (if it's not set,
# it's possible for the insecure menu to be disabled but the insecure option
# to remain on which is very bad.)
config SECURE_BOOT_ALLOW_ROM_BASIC
bool "Leave ROM BASIC Interpreter available on reset"
depends on SECURE_BOOT_INSECURE || FLASH_ENCRYPTION_INSECURE
default N
help
By default, the BASIC ROM Console starts on reset if no valid bootloader is
read from the flash.
When either flash encryption or secure boot are enabled, the default is to
disable this BASIC fallback mode permanently via efuse.
If this option is set, this efuse is not burned and the BASIC ROM Console may
remain accessible. Only set this option in testing environments.
config SECURE_BOOT_ALLOW_JTAG
bool "Allow JTAG Debugging"
depends on SECURE_BOOT_INSECURE || FLASH_ENCRYPTION_INSECURE
default N
help
If not set (default), the bootloader will permanently disable JTAG (across entire chip) on first boot when either secure boot or flash encryption is enabled.
Setting this option leaves JTAG on for debugging, which negates all protections of flash encryption and some of the protections of secure boot.
Only set this option in testing environments.
config SECURE_SIGNED_APPS
bool
default y
select MBEDTLS_ECP_DP_SECP256R1_ENABLED
select MBEDTLS_ECP_C
select MBEDTLS_ECDH_C
select MBEDTLS_ECDSA_C
depends on SECURE_SIGNED_ON_BOOT || SECURE_SIGNED_ON_UPDATE
config FLASH_ENCRYPTION_UART_BOOTLOADER_ALLOW_ENCRYPT
bool "Leave UART bootloader encryption enabled"
depends on FLASH_ENCRYPTION_INSECURE
default N
help
If not set (default), the bootloader will permanently disable UART bootloader encryption access on first boot. If set, the UART bootloader will still be able to access hardware encryption.
config SECURE_SIGNED_APPS_NO_SECURE_BOOT
bool "Require signed app images"
default n
depends on !SECURE_BOOT_ENABLED
help
Require apps to be signed to verify their integrity.
It is recommended to only set this option in testing environments.
This option uses the same app signature scheme as hardware secure boot, but unlike hardware secure boot it
does not prevent the bootloader from being physically updated. This means that the device can be secured
against remote network access, but not physical access. Compared to using hardware Secure Boot this option
is much simpler to implement.
config FLASH_ENCRYPTION_UART_BOOTLOADER_ALLOW_DECRYPT
bool "Leave UART bootloader decryption enabled"
depends on FLASH_ENCRYPTION_INSECURE
default N
help
If not set (default), the bootloader will permanently disable UART bootloader decryption access on first boot. If set, the UART bootloader will still be able to access hardware decryption.
config SECURE_SIGNED_ON_BOOT_NO_SECURE_BOOT
bool "Bootloader verifies app signatures"
default n
depends on SECURE_SIGNED_APPS_NO_SECURE_BOOT
help
If this option is set, the bootloader will be compiled with code to verify that an app is signed before
booting it.
Only set this option in testing environments. Setting this option allows complete bypass of flash encryption.
If hardware secure boot is enabled, this option is always enabled and cannot be disabled.
If hardware secure boot is not enabled, this option doesn't add significant security by itself so most
users will want to leave it disabled.
config FLASH_ENCRYPTION_UART_BOOTLOADER_ALLOW_CACHE
bool "Leave UART bootloader flash cache enabled"
depends on FLASH_ENCRYPTION_INSECURE
default N
help
If not set (default), the bootloader will permanently disable UART bootloader flash cache access on first boot. If set, the UART bootloader will still be able to access the flash cache.
config SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT
bool "Verify app signature on update"
default y
depends on SECURE_SIGNED_APPS_NO_SECURE_BOOT
help
If this option is set, any OTA updated apps will have the signature verified before being considered valid.
Only set this option in testing environments.
When enabled, the signature is automatically checked whenever the esp_ota_ops.h APIs are used for OTA
updates, or esp_image_format.h APIs are used to verify apps.
config SECURE_BOOT_TEST_MODE
bool "Secure boot test mode: don't permanently set any efuses"
depends on SECURE_BOOT_INSECURE
default N
help
If this option is set, all permanent secure boot changes (via Efuse) are disabled.
If hardware secure boot is enabled, this option is always enabled and cannot be disabled.
If hardware secure boot is not enabled, this option still adds significant security against network-based
attackers by preventing spoofing of OTA updates.
Log output will state changes which would be applied, but they will not be.
config SECURE_BOOT_ENABLED
bool "Enable hardware secure boot in bootloader (READ DOCS FIRST)"
default n
help
Build a bootloader which enables secure boot on first boot.
This option is for testing purposes only - it completely disables secure boot protection.
Once enabled, secure boot will not boot a modified bootloader. The bootloader will only load a partition
table or boot an app if the data has a verified digital signature. There are implications for reflashing
updated apps once secure boot is enabled.
When enabling secure boot, JTAG and ROM BASIC Interpreter are permanently disabled by default.
endmenu # Potentially Insecure
Refer to https://docs.espressif.com/projects/esp-idf/en/latest/security/secure-boot.html before enabling.
choice SECURE_BOOTLOADER_MODE
bool "Secure bootloader mode"
depends on SECURE_BOOT_ENABLED
default SECURE_BOOTLOADER_ONE_TIME_FLASH
config SECURE_BOOTLOADER_ONE_TIME_FLASH
bool "One-time flash"
help
On first boot, the bootloader will generate a key which is not readable externally or by software. A
digest is generated from the bootloader image itself. This digest will be verified on each subsequent
boot.
Enabling this option means that the bootloader cannot be changed after the first time it is booted.
config SECURE_BOOTLOADER_REFLASHABLE
bool "Reflashable"
help
Generate a reusable secure bootloader key, derived (via SHA-256) from the secure boot signing key.
This allows the secure bootloader to be re-flashed by anyone with access to the secure boot signing
key.
This option is less secure than one-time flash, because a leak of the digest key from one device
allows reflashing of any device that uses it.
endchoice
config SECURE_BOOT_BUILD_SIGNED_BINARIES
bool "Sign binaries during build"
depends on SECURE_SIGNED_APPS
default y
help
Once secure boot or signed app requirement is enabled, app images are required to be signed.
If enabled (default), these binary files are signed as part of the build process. The file named in
"Secure boot private signing key" will be used to sign the image.
If disabled, unsigned app/partition data will be built. They must be signed manually using espsecure.py
(for example, on a remote signing server.)
config SECURE_BOOT_SIGNING_KEY
string "Secure boot private signing key"
depends on SECURE_BOOT_BUILD_SIGNED_BINARIES
default "secure_boot_signing_key.pem"
help
Path to the key file used to sign app images.
Key file is an ECDSA private key (NIST256p curve) in PEM format.
Path is evaluated relative to the project directory.
You can generate a new signing key by running the following command:
espsecure.py generate_signing_key secure_boot_signing_key.pem
See https://docs.espressif.com/projects/esp-idf/en/latest/security/secure-boot.html for details.
config SECURE_BOOT_VERIFICATION_KEY
string "Secure boot public signature verification key"
depends on SECURE_SIGNED_APPS && !SECURE_BOOT_BUILD_SIGNED_BINARIES
default "signature_verification_key.bin"
help
Path to a public key file used to verify signed images. This key is compiled into the bootloader and/or
app, to verify app images.
Key file is in raw binary format, and can be extracted from a
PEM formatted private key using the espsecure.py
extract_public_key command.
Refer to https://docs.espressif.com/projects/esp-idf/en/latest/security/secure-boot.html before enabling.
choice SECURE_BOOTLOADER_KEY_ENCODING
bool "Hardware Key Encoding"
depends on SECURE_BOOTLOADER_REFLASHABLE
default SECURE_BOOTLOADER_KEY_ENCODING_256BIT
help
In reflashable secure bootloader mode, a hardware key is derived from the signing key (with SHA-256) and
can be written to eFuse with espefuse.py.
Normally this is a 256-bit key, but if 3/4 Coding Scheme is used on the device then the eFuse key is
truncated to 192 bits.
This configuration item doesn't change any firmware code, it only changes the size of key binary which is
generated at build time.
config SECURE_BOOTLOADER_KEY_ENCODING_256BIT
bool "No encoding (256 bit key)"
config SECURE_BOOTLOADER_KEY_ENCODING_192BIT
bool "3/4 encoding (192 bit key)"
endchoice
config SECURE_BOOT_INSECURE
bool "Allow potentially insecure options"
depends on SECURE_BOOT_ENABLED
default N
help
You can disable some of the default protections offered by secure boot, in order to enable testing or a
custom combination of security features.
Only enable these options if you are very sure.
Refer to https://docs.espressif.com/projects/esp-idf/en/latest/security/secure-boot.html before enabling.
config SECURE_FLASH_ENC_ENABLED
bool "Enable flash encryption on boot (READ DOCS FIRST)"
default N
help
If this option is set, flash contents will be encrypted by the bootloader on first boot.
Note: After first boot, the system will be permanently encrypted. Re-flashing an encrypted
system is complicated and not always possible.
Read https://docs.espressif.com/projects/esp-idf/en/latest/security/flash-encryption.html
before enabling.
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
help
Size of generated AES-XTS key.
AES-128 uses a 256-bit key (32 bytes) which occupies one Efuse key block.
AES-256 uses a 512-bit key (64 bytes) which occupies two Efuse key blocks.
This setting is ignored if either type of key is already burned to Efuse before the first boot.
In this case, the pre-burned key is used and no new key is generated.
config SECURE_FLASH_ENCRYPTION_AES128
bool "AES-128 (256-bit key)"
config SECURE_FLASH_ENCRYPTION_AES256
bool "AES-256 (512-bit key)"
endchoice
choice SECURE_FLASH_ENCRYPTION_MODE
bool "Enable usage mode"
depends on SECURE_FLASH_ENC_ENABLED
default SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT
help
By default Development mode is enabled which allows UART bootloader to perform flash encryption operations
Select Release mode only for production or manufacturing. Once enabled you can not reflash using UART
bootloader
Refer to https://docs.espressif.com/projects/esp-idf/en/latest/security/secure-boot.html and
https://docs.espressif.com/projects/esp-idf/en/latest/security/flash-encryption.html for details.
config SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT
bool "Development(NOT SECURE)"
select SECURE_FLASH_UART_BOOTLOADER_ALLOW_ENC
config SECURE_FLASH_ENCRYPTION_MODE_RELEASE
bool "Release"
endchoice
menu "Potentially insecure options"
visible if SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT || SECURE_BOOT_INSECURE
# NOTE: Options in this menu NEED to have SECURE_BOOT_INSECURE
# and/or SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT in "depends on", as the menu
# itself doesn't enable/disable its children (if it's not set,
# it's possible for the insecure menu to be disabled but the insecure option
# to remain on which is very bad.)
config SECURE_BOOT_ALLOW_ROM_BASIC
bool "Leave ROM BASIC Interpreter available on reset"
depends on SECURE_BOOT_INSECURE || SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT
default N
help
By default, the BASIC ROM Console starts on reset if no valid bootloader is
read from the flash.
When either flash encryption or secure boot are enabled, the default is to
disable this BASIC fallback mode permanently via eFuse.
If this option is set, this eFuse is not burned and the BASIC ROM Console may
remain accessible. Only set this option in testing environments.
config SECURE_BOOT_ALLOW_JTAG
bool "Allow JTAG Debugging"
depends on SECURE_BOOT_INSECURE || SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT
default N
help
If not set (default), the bootloader will permanently disable JTAG (across entire chip) on first boot
when either secure boot or flash encryption is enabled.
Setting this option leaves JTAG on for debugging, which negates all protections of flash encryption
and some of the protections of secure boot.
Only set this option in testing environments.
config SECURE_BOOT_ALLOW_SHORT_APP_PARTITION
bool "Allow app partition length not 64KB aligned"
depends on SECURE_BOOT_INSECURE
help
If not set (default), app partition size must be a multiple of 64KB. App images are padded to 64KB
length, and the bootloader checks any trailing bytes after the signature (before the next 64KB
boundary) have not been written. This is because flash cache maps entire 64KB pages into the address
space. This prevents an attacker from appending unverified data after the app image in the flash,
causing it to be mapped into the address space.
Setting this option allows the app partition length to be unaligned, and disables padding of the app
image to this length. It is generally not recommended to set this option, unless you have a legacy
partitioning scheme which doesn't support 64KB aligned partition lengths.
config SECURE_FLASH_UART_BOOTLOADER_ALLOW_ENC
bool "Leave UART bootloader encryption enabled"
depends on SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT
default N
help
If not set (default), the bootloader will permanently disable UART bootloader encryption access on
first boot. If set, the UART bootloader will still be able to access hardware encryption.
It is recommended to only set this option in testing environments.
config SECURE_FLASH_UART_BOOTLOADER_ALLOW_DEC
bool "Leave UART bootloader decryption enabled"
depends on SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT
default N
help
If not set (default), the bootloader will permanently disable UART bootloader decryption access on
first boot. If set, the UART bootloader will still be able to access hardware decryption.
Only set this option in testing environments. Setting this option allows complete bypass of flash
encryption.
config SECURE_FLASH_UART_BOOTLOADER_ALLOW_CACHE
bool "Leave UART bootloader flash cache enabled"
depends on SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT
default N
help
If not set (default), the bootloader will permanently disable UART bootloader flash cache access on
first boot. If set, the UART bootloader will still be able to access the flash cache.
Only set this option in testing environments.
config SECURE_FLASH_REQUIRE_ALREADY_ENABLED
bool "Require flash encryption to be already enabled"
depends on SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT
default N
help
If not set (default), and flash encryption is not yet enabled in eFuses, the 2nd stage bootloader
will enable flash encryption: generate the flash encryption key and program eFuses.
If this option is set, and flash encryption is not yet enabled, the bootloader will error out and
reboot.
If flash encryption is enabled in eFuses, this option does not change the bootloader behavior.
Only use this option in testing environments, to avoid accidentally enabling flash encryption on
the wrong device. The device needs to have flash encryption already enabled using espefuse.py.
endmenu # Potentially Insecure
endmenu # Security features

View File

@@ -32,7 +32,8 @@ BOOTLOADER_MAKE= +\
V=$(V) \
BUILD_DIR_BASE=$(BOOTLOADER_BUILD_DIR) \
TEST_COMPONENTS= \
TESTS_ALL=
TESTS_ALL= \
EXCLUDE_COMPONENTS=
.PHONY: bootloader-clean bootloader-flash bootloader-list-components bootloader $(BOOTLOADER_BIN)
@@ -48,14 +49,14 @@ ifndef CONFIG_SECURE_BOOT_ENABLED
# If secure boot disabled, bootloader flashing is integrated
# with 'make flash' and no warnings are printed.
bootloader: $(BOOTLOADER_BIN)
bootloader: $(BOOTLOADER_BIN) | check_python_dependencies
@echo $(SEPARATOR)
@echo "Bootloader built. Default flash command is:"
@echo "$(ESPTOOLPY_WRITE_FLASH) $(BOOTLOADER_OFFSET) $^"
ESPTOOL_ALL_FLASH_ARGS += $(BOOTLOADER_OFFSET) $(BOOTLOADER_BIN)
bootloader-flash: $(BOOTLOADER_BIN) $(call prereq_if_explicit,erase_flash)
bootloader-flash: $(BOOTLOADER_BIN) $(call prereq_if_explicit,erase_flash) | check_python_dependencies
$(ESPTOOLPY_WRITE_FLASH) 0x1000 $^
else ifdef CONFIG_SECURE_BOOTLOADER_ONE_TIME_FLASH
@@ -66,7 +67,7 @@ else ifdef CONFIG_SECURE_BOOTLOADER_ONE_TIME_FLASH
# The flashing command is deliberately printed without an auto-reset
# step, so the device doesn't immediately reset to flash itself.
bootloader: $(BOOTLOADER_BIN)
bootloader: $(BOOTLOADER_BIN) | check_python_dependencies
@echo $(SEPARATOR)
@echo "Bootloader built. One-time flash command is:"
@echo "$(subst hard_reset,no_reset,$(ESPTOOLPY_WRITE_FLASH)) $(BOOTLOADER_OFFSET) $(BOOTLOADER_BIN)"
@@ -77,12 +78,18 @@ else ifdef CONFIG_SECURE_BOOTLOADER_REFLASHABLE
# Reflashable secure bootloader
# generates a digest binary (bootloader + digest)
ifdef CONFIG_SECURE_BOOTLOADER_KEY_ENCODING_192BIT
KEY_DIGEST_LEN=192
else
KEY_DIGEST_LEN=256
endif
BOOTLOADER_DIGEST_BIN := $(BOOTLOADER_BUILD_DIR)/bootloader-reflash-digest.bin
SECURE_BOOTLOADER_KEY := $(BOOTLOADER_BUILD_DIR)/secure-bootloader-key.bin
SECURE_BOOTLOADER_KEY := $(BOOTLOADER_BUILD_DIR)/secure-bootloader-key-$(KEY_DIGEST_LEN).bin
ifdef CONFIG_SECURE_BOOT_BUILD_SIGNED_BINARIES
$(SECURE_BOOTLOADER_KEY): $(SECURE_BOOT_SIGNING_KEY)
$(ESPSECUREPY) digest_private_key -k $< $@
$(SECURE_BOOTLOADER_KEY): $(SECURE_BOOT_SIGNING_KEY) | check_python_dependencies
$(ESPSECUREPY) digest_private_key --keylen $(KEY_DIGEST_LEN) -k $< $@
else
$(SECURE_BOOTLOADER_KEY):
@echo "No pre-generated key for a reflashable secure bootloader is available, due to signing configuration."
@@ -104,9 +111,9 @@ bootloader: $(BOOTLOADER_DIGEST_BIN)
@echo "* After first boot, only re-flashes of this kind (with same key) will be accepted."
@echo "* Not recommended to re-use the same secure boot keyfile on multiple production devices."
$(BOOTLOADER_DIGEST_BIN): $(BOOTLOADER_BIN) $(SECURE_BOOTLOADER_KEY)
$(BOOTLOADER_DIGEST_BIN): $(BOOTLOADER_BIN) $(SECURE_BOOTLOADER_KEY) | check_python_dependencies
@echo "DIGEST $(notdir $@)"
$(Q) $(ESPSECUREPY) digest_secure_bootloader -k $(SECURE_BOOTLOADER_KEY) -o $@ $<
$(ESPSECUREPY) digest_secure_bootloader -k $(SECURE_BOOTLOADER_KEY) -o $@ $<
else # CONFIG_SECURE_BOOT_ENABLED && !CONFIG_SECURE_BOOTLOADER_REFLASHABLE && !CONFIG_SECURE_BOOTLOADER_ONE_TIME_FLASH
bootloader:
@@ -115,10 +122,12 @@ bootloader:
endif
ifndef CONFIG_SECURE_BOOT_ENABLED
# don't build bootloader by default is secure boot is enabled
# don't build bootloader by default if secure boot is enabled
all_binaries: $(BOOTLOADER_BIN)
endif
bootloader-clean: $(SDKCONFIG_MAKEFILE)
$(BOOTLOADER_MAKE) app-clean
ifdef CONFIG_SECURE_BOOTLOADER_REFLASHABLE
rm -f $(SECURE_BOOTLOADER_KEY) $(BOOTLOADER_DIGEST_BIN)
endif

View File

@@ -0,0 +1,4 @@
--flash_mode ${ESPFLASHMODE}
--flash_size ${ESPFLASHSIZE}
--flash_freq ${ESPFLASHFREQ}
${OFFSET} ${IMAGE}

View File

@@ -0,0 +1,135 @@
set(BOOTLOADER_OFFSET 0x1000)
# Do not generate flash file when building bootloader
if(BOOTLOADER_BUILD OR NOT CONFIG_APP_BUILD_BOOTLOADER)
return()
endif()
# Glue to build the bootloader subproject binary as an external
# cmake project under this one
#
#
idf_build_get_property(build_dir BUILD_DIR)
set(BOOTLOADER_BUILD_DIR "${build_dir}/bootloader")
set(bootloader_binary_files
"${BOOTLOADER_BUILD_DIR}/bootloader.elf"
"${BOOTLOADER_BUILD_DIR}/bootloader.bin"
"${BOOTLOADER_BUILD_DIR}/bootloader.map"
)
idf_build_get_property(project_dir PROJECT_DIR)
# There are some additional processing when CONFIG_CONFIG_SECURE_SIGNED_APPS. This happens
# when either CONFIG_SECURE_BOOT_ENABLED or SECURE_BOOT_BUILD_SIGNED_BINARIES.
# For both cases, the user either sets binaries to be signed during build or not
# using CONFIG_SECURE_BOOT_BUILD_SIGNED_BINARIES.
#
# Regardless, pass the main project's keys (signing/verification) to the bootloader subproject
# via config.
if(CONFIG_SECURE_SIGNED_APPS)
add_custom_target(gen_secure_boot_keys)
if(CONFIG_SECURE_BOOT_ENABLED)
# Check that the configuration is sane
if((CONFIG_SECURE_BOOTLOADER_REFLASHABLE AND CONFIG_SECURE_BOOTLOADER_ONE_TIME_FLASH) OR
(NOT CONFIG_SECURE_BOOTLOADER_REFLASHABLE AND NOT CONFIG_SECURE_BOOTLOADER_ONE_TIME_FLASH))
fail_at_build_time(bootloader "Invalid bootloader target: bad sdkconfig?")
endif()
if(CONFIG_SECURE_BOOTLOADER_REFLASHABLE)
set(bootloader_binary_files
${bootloader_binary_files}
"${BOOTLOADER_BUILD_DIR}/bootloader-reflash-digest.bin"
"${BOOTLOADER_BUILD_DIR}/secure-bootloader-key-192.bin"
"${BOOTLOADER_BUILD_DIR}/secure-bootloader-key-256.bin"
)
endif()
endif()
# Since keys are usually given relative to main project dir, get the absolute paths to the keys
# for use by the bootloader subproject. Replace the values in config with these absolute paths,
# so that bootloader subproject does not need to assume main project dir to obtain path to the keys.
if(CONFIG_SECURE_BOOT_BUILD_SIGNED_BINARIES)
get_filename_component(secure_boot_signing_key
"${CONFIG_SECURE_BOOT_SIGNING_KEY}"
ABSOLUTE BASE_DIR "${project_dir}")
if(NOT EXISTS ${secure_boot_signing_key})
# If the signing key is not found, create a phony gen_secure_boot_signing_key target that
# fails the build. fail_at_build_time causes a cmake run next time
# (to pick up a new signing key if one exists, etc.)
fail_at_build_time(gen_secure_boot_signing_key
"Secure Boot Signing Key ${CONFIG_SECURE_BOOT_SIGNING_KEY} does not exist. Generate using:"
"\tespsecure.py generate_signing_key ${CONFIG_SECURE_BOOT_SIGNING_KEY}")
else()
add_custom_target(gen_secure_boot_signing_key)
endif()
set(SECURE_BOOT_SIGNING_KEY ${secure_boot_signing_key}) # needed by some other components
set(sign_key_arg "-DSECURE_BOOT_SIGNING_KEY=${secure_boot_signing_key}")
set(ver_key_arg)
add_dependencies(gen_secure_boot_keys gen_secure_boot_signing_key)
else()
get_filename_component(secure_boot_verification_key
${CONFIG_SECURE_BOOT_VERIFICATION_KEY}
ABSOLUTE BASE_DIR "${project_dir}")
if(NOT EXISTS ${secure_boot_verification_key})
# If the verification key is not found, create a phony gen_secure_boot_verification_key target that
# fails the build. fail_at_build_time causes a cmake run next time
# (to pick up a new verification key if one exists, etc.)
fail_at_build_time(gen_secure_boot_verification_key
"Secure Boot Verification Public Key ${CONFIG_SECURE_BOOT_VERIFICATION_KEY} does not exist."
"\tThis can be extracted from the private signing key."
"\tSee docs/security/secure-boot.rst for details.")
else()
add_custom_target(gen_secure_boot_verification_key)
endif()
set(sign_key_arg)
set(ver_key_arg "-DSECURE_BOOT_VERIFICATION_KEY=${secure_boot_verification_key}")
add_dependencies(gen_secure_boot_keys gen_secure_boot_verification_key)
endif()
else()
set(sign_key_arg)
set(ver_key_arg)
endif()
idf_build_get_property(idf_path IDF_PATH)
idf_build_get_property(idf_target IDF_TARGET)
idf_build_get_property(sdkconfig SDKCONFIG)
idf_build_get_property(python PYTHON)
idf_build_get_property(extra_cmake_args EXTRA_CMAKE_ARGS)
externalproject_add(bootloader
SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/subproject"
BINARY_DIR "${BOOTLOADER_BUILD_DIR}"
CMAKE_ARGS -DSDKCONFIG=${sdkconfig} -DIDF_PATH=${idf_path} -DIDF_TARGET=${idf_target}
-DPYTHON_DEPS_CHECKED=1 -DPYTHON=${python}
-DEXTRA_COMPONENT_DIRS=${CMAKE_CURRENT_LIST_DIR}
${sign_key_arg} ${ver_key_arg}
# LEGACY_INCLUDE_COMMON_HEADERS has to be passed in via cache variable since
# the bootloader common component requirements depends on this and
# config variables are not available before project() call.
-DLEGACY_INCLUDE_COMMON_HEADERS=${CONFIG_LEGACY_INCLUDE_COMMON_HEADERS}
${extra_cmake_args}
INSTALL_COMMAND ""
BUILD_ALWAYS 1 # no easy way around this...
BUILD_BYPRODUCTS ${bootloader_binary_files}
)
if(CONFIG_SECURE_SIGNED_APPS)
add_dependencies(bootloader gen_secure_boot_keys)
endif()
# this is a hack due to an (annoying) shortcoming in cmake, it can't
# extend the 'clean' target to the external project
# see thread: https://cmake.org/pipermail/cmake/2016-December/064660.html
#
# So for now we just have the top-level build remove the final build products...
set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" APPEND PROPERTY
ADDITIONAL_MAKE_CLEAN_FILES
${bootloader_binary_files})

View File

@@ -0,0 +1,22 @@
# sdkconfig replacement configurations for deprecated options formatted as
# CONFIG_DEPRECATED_OPTION CONFIG_NEW_OPTION
CONFIG_LOG_BOOTLOADER_LEVEL CONFIG_BOOTLOADER_LOG_LEVEL
CONFIG_LOG_BOOTLOADER_LEVEL_NONE CONFIG_BOOTLOADER_LOG_LEVEL_NONE
CONFIG_LOG_BOOTLOADER_LEVEL_ERROR CONFIG_BOOTLOADER_LOG_LEVEL_ERROR
CONFIG_LOG_BOOTLOADER_LEVEL_WARN CONFIG_BOOTLOADER_LOG_LEVEL_WARN
CONFIG_LOG_BOOTLOADER_LEVEL_INFO CONFIG_BOOTLOADER_LOG_LEVEL_INFO
CONFIG_LOG_BOOTLOADER_LEVEL_DEBUG CONFIG_BOOTLOADER_LOG_LEVEL_DEBUG
CONFIG_LOG_BOOTLOADER_LEVEL_VERBOSE CONFIG_BOOTLOADER_LOG_LEVEL_VERBOSE
CONFIG_APP_ROLLBACK_ENABLE CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE
CONFIG_APP_ANTI_ROLLBACK CONFIG_BOOTLOADER_APP_ANTI_ROLLBACK
CONFIG_APP_SECURE_VERSION CONFIG_BOOTLOADER_APP_SECURE_VERSION
CONFIG_APP_SECURE_VERSION_SIZE_EFUSE_FIELD CONFIG_BOOTLOADER_APP_SEC_VER_SIZE_EFUSE_FIELD
CONFIG_EFUSE_SECURE_VERSION_EMULATE CONFIG_BOOTLOADER_EFUSE_SECURE_VERSION_EMULATE
CONFIG_FLASH_ENCRYPTION_ENABLED CONFIG_SECURE_FLASH_ENC_ENABLED
CONFIG_FLASH_ENCRYPTION_INSECURE CONFIG_SECURE_FLASH_ENCRYPTION_MODE_DEVELOPMENT
CONFIG_FLASH_ENCRYPTION_UART_BOOTLOADER_ALLOW_ENCRYPT CONFIG_SECURE_FLASH_UART_BOOTLOADER_ALLOW_ENC
CONFIG_FLASH_ENCRYPTION_UART_BOOTLOADER_ALLOW_DECRYPT CONFIG_SECURE_FLASH_UART_BOOTLOADER_ALLOW_DEC
CONFIG_FLASH_ENCRYPTION_UART_BOOTLOADER_ALLOW_CACHE CONFIG_SECURE_FLASH_UART_BOOTLOADER_ALLOW_CACHE

View File

@@ -0,0 +1,129 @@
cmake_minimum_required(VERSION 3.5)
if(NOT SDKCONFIG)
message(FATAL_ERROR "Bootloader subproject expects the SDKCONFIG variable to be passed "
"in by the parent build process.")
endif()
if(NOT IDF_PATH)
message(FATAL_ERROR "Bootloader subproject expects the IDF_PATH variable to be passed "
"in by the parent build process.")
endif()
if(NOT IDF_TARGET)
message(FATAL_ERROR "Bootloader subproject expects the IDF_TARGET variable to be passed "
"in by the parent build process.")
endif()
set(COMPONENTS bootloader esptool_py partition_table soc bootloader_support log spi_flash micro-ecc main efuse)
set(BOOTLOADER_BUILD 1)
include("${IDF_PATH}/tools/cmake/project.cmake")
set(common_req log esp_rom esp_common xtensa)
if(LEGACY_INCLUDE_COMMON_HEADERS)
list(APPEND common_req soc)
endif()
idf_build_set_property(__COMPONENT_REQUIRES_COMMON "${common_req}")
idf_build_set_property(__OUTPUT_SDKCONFIG 0)
project(bootloader)
idf_build_set_property(COMPILE_DEFINITIONS "-DBOOTLOADER_BUILD=1" APPEND)
idf_build_set_property(COMPILE_OPTIONS "-fno-stack-protector" APPEND)
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)
set(key_digest_len 192)
else()
set(key_digest_len 256)
endif()
get_filename_component(bootloader_digest_bin
"bootloader-reflash-digest.bin"
ABSOLUTE BASE_DIR "${CMAKE_BINARY_DIR}")
get_filename_component(secure_bootloader_key
"secure-bootloader-key-${key_digest_len}.bin"
ABSOLUTE BASE_DIR "${CMAKE_BINARY_DIR}")
add_custom_command(OUTPUT "${secure_bootloader_key}"
COMMAND ${ESPSECUREPY} digest_private_key
--keylen "${key_digest_len}"
--keyfile "${SECURE_BOOT_SIGNING_KEY}"
"${secure_bootloader_key}"
VERBATIM)
if(CONFIG_SECURE_BOOT_BUILD_SIGNED_BINARIES)
add_custom_target(gen_secure_bootloader_key ALL DEPENDS "${secure_bootloader_key}")
else()
if(NOT EXISTS "${secure_bootloader_key}")
message(FATAL_ERROR
"No pre-generated key for a reflashable secure bootloader is available, "
"due to signing configuration."
"\nTo generate one, you can use this command:"
"\n\t${espsecurepy} generate_flash_encryption_key ${secure_bootloader_key}"
"\nIf a signing key is present, then instead use:"
"\n\t${espsecurepy} digest_private_key "
"--keylen (192/256) --keyfile KEYFILE "
"${secure_bootloader_key}")
endif()
add_custom_target(gen_secure_bootloader_key)
endif()
add_custom_command(OUTPUT "${bootloader_digest_bin}"
COMMAND ${CMAKE_COMMAND} -E echo "DIGEST ${bootloader_digest_bin}"
COMMAND ${ESPSECUREPY} digest_secure_bootloader --keyfile "${secure_bootloader_key}"
-o "${bootloader_digest_bin}" "${CMAKE_BINARY_DIR}/bootloader.bin"
MAIN_DEPENDENCY "${CMAKE_BINARY_DIR}/.bin_timestamp"
DEPENDS gen_secure_bootloader_key gen_project_binary
VERBATIM)
add_custom_target (gen_bootloader_digest_bin ALL DEPENDS "${bootloader_digest_bin}")
endif()
if(CONFIG_SECURE_BOOTLOADER_ONE_TIME_FLASH)
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
"One-time flash command is:"
COMMAND ${CMAKE_COMMAND} -E echo
"\t${esptoolpy_write_flash} ${BOOTLOADER_OFFSET} ${CMAKE_BINARY_DIR}/bootloader.bin"
COMMAND ${CMAKE_COMMAND} -E echo
"* IMPORTANT: After first boot, BOOTLOADER CANNOT BE RE-FLASHED on same device"
VERBATIM)
elseif(CONFIG_SECURE_BOOTLOADER_REFLASHABLE)
add_custom_command(TARGET bootloader.elf POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo
"=============================================================================="
COMMAND ${CMAKE_COMMAND} -E echo
"Bootloader built and secure digest generated."
COMMAND ${CMAKE_COMMAND} -E echo
"Secure boot enabled, so bootloader not flashed automatically."
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}"
COMMAND ${CMAKE_COMMAND} -E echo
"First time flash command is:"
COMMAND ${CMAKE_COMMAND} -E echo
"\t${esptoolpy_write_flash} ${BOOTLOADER_OFFSET} ${CMAKE_BINARY_DIR}/bootloader.bin"
COMMAND ${CMAKE_COMMAND} -E echo
"=============================================================================="
COMMAND ${CMAKE_COMMAND} -E echo
"To reflash the bootloader after initial flash:"
COMMAND ${CMAKE_COMMAND} -E echo
"\t${esptoolpy_write_flash} 0x0 ${bootloader_digest_bin}"
COMMAND ${CMAKE_COMMAND} -E echo
"=============================================================================="
COMMAND ${CMAKE_COMMAND} -E echo
"* After first boot, only re-flashes of this kind (with same key) will be accepted."
COMMAND ${CMAKE_COMMAND} -E echo
"* Not recommended to re-use the same secure boot keyfile on multiple production devices."
DEPENDS gen_secure_bootloader_key gen_bootloader_digest_bin
VERBATIM)
endif()

View File

@@ -8,14 +8,17 @@ endif
PROJECT_NAME := bootloader
COMPONENTS := esptool_py bootloader_support log spi_flash micro-ecc soc main
COMPONENTS := esptool_py bootloader_support log spi_flash micro-ecc soc main efuse
# Clear C and CXX from top level project
CFLAGS =
CXXFLAGS =
#We cannot include the esp32 component directly but we need its includes.
CFLAGS += -I $(IDF_PATH)/components/esp32/include
#We cannot include the idf_target, esp_rom, esp_common component directly but we need their includes.
CFLAGS += -I $(IDF_PATH)/components/$(IDF_TARGET)/include
CFLAGS += -I $(IDF_PATH)/components/esp_rom/include
CFLAGS += -I $(IDF_PATH)/components/esp_common/include
CFLAGS += -I $(IDF_PATH)/components/xtensa/include -I $(IDF_PATH)/components/xtensa/$(IDF_TARGET)/include
# The bootloader pseudo-component is also included in this build, for its Kconfig.projbuild to be included.
#

View File

@@ -0,0 +1,3 @@
# only compile the "micro-ecc/uECC.c" source file
idf_component_register(SRCS "micro-ecc/uECC.c"
INCLUDE_DIRS micro-ecc)

View File

@@ -0,0 +1,9 @@
idf_component_register(SRCS "bootloader_start.c"
REQUIRES bootloader bootloader_support)
idf_build_get_property(target IDF_TARGET)
set(scripts "ld/${target}/bootloader.ld"
"ld/${target}/bootloader.rom.ld")
target_linker_script(${COMPONENT_LIB} INTERFACE "${scripts}")

View File

@@ -1,4 +0,0 @@
# Submodules normally added in component.mk, but fully qualified
# paths can be added at this level (we need binary librtc to be
# available to link bootloader).
COMPONENT_SUBMODULES += $(IDF_PATH)/components/esp32/lib

File diff suppressed because it is too large Load Diff

View File

@@ -6,14 +6,17 @@
#
LINKER_SCRIPTS := \
esp32.bootloader.ld \
$(IDF_PATH)/components/esp32/ld/esp32.rom.ld \
$(IDF_PATH)/components/esp32/ld/esp32.rom.spiram_incompatible_fns.ld \
$(IDF_PATH)/components/esp32/ld/esp32.peripherals.ld \
esp32.bootloader.rom.ld
$(COMPONENT_PATH)/ld/$(IDF_TARGET)/bootloader.ld \
$(COMPONENT_PATH)/ld/$(IDF_TARGET)/bootloader.rom.ld \
$(IDF_PATH)/components/esp_rom/$(IDF_TARGET)/ld/$(IDF_TARGET).rom.ld \
$(IDF_PATH)/components/esp_rom/$(IDF_TARGET)/ld/$(IDF_TARGET).rom.newlib-funcs.ld \
$(IDF_PATH)/components/$(IDF_TARGET)/ld/$(IDF_TARGET).peripherals.ld
ifndef CONFIG_SPI_FLASH_ROM_DRIVER_PATCH
LINKER_SCRIPTS += $(IDF_PATH)/components/esp32/ld/esp32.rom.spiflash.ld
# SPI driver patch for ROM is only needed in ESP32
ifdef CONFIG_IDF_TARGET_ESP32
ifndef CONFIG_SPI_FLASH_ROM_DRIVER_PATCH
LINKER_SCRIPTS += $(IDF_PATH)/components/esp_rom/$(IDF_TARGET)/ld/$(IDF_TARGET).rom.spiflash.ld
endif
endif
COMPONENT_ADD_LDFLAGS += -L $(COMPONENT_PATH) $(addprefix -T ,$(LINKER_SCRIPTS))

View File

@@ -1,132 +0,0 @@
/*
Linker file used to link the bootloader.
*/
/* 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 POOL1, used for APP CPU cache. We can abuse it in bootloader because APP CPU is still held in reset, the main app enables APP CPU cache */
iram_seg (RWX) : org = 0x40078000, len = 0x8000
/* 64k at the end of DRAM, after ROM bootloader stack */
dram_seg (RW) : org = 0x3FFF0000, len = 0x10000
}
/* Default entry point: */
ENTRY(call_start_cpu0);
SECTIONS
{
.iram1.text :
{
. = ALIGN (16);
*(.entry.text)
*(.init.literal)
*(.init)
} > iram_seg
/* Shared RAM */
.dram0.bss (NOLOAD) :
{
. = ALIGN (8);
_bss_start = ABSOLUTE(.);
*(.dynsbss)
*(.sbss)
*(.sbss.*)
*(.gnu.linkonce.sb.*)
*(.scommon)
*(.sbss2)
*(.sbss2.*)
*(.gnu.linkonce.sb2.*)
*(.dynbss)
*(.bss)
*(.bss.*)
*(.gnu.linkonce.b.*)
*(COMMON)
. = ALIGN (8);
_bss_end = ABSOLUTE(.);
} >dram_seg
.dram0.data :
{
_data_start = ABSOLUTE(.);
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
*(.data1)
*(.sdata)
*(.sdata.*)
*(.gnu.linkonce.s.*)
*(.sdata2)
*(.sdata2.*)
*(.gnu.linkonce.s2.*)
*(.jcr)
_data_end = ABSOLUTE(.);
} >dram_seg
.dram0.rodata :
{
_rodata_start = ABSOLUTE(.);
*(.rodata)
*(.rodata.*)
*(.gnu.linkonce.r.*)
*(.rodata1)
__XT_EXCEPTION_TABLE_ = ABSOLUTE(.);
*(.xt_except_table)
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
__init_array_start = ABSOLUTE(.);
KEEP (*crtbegin.o(.ctors))
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
__init_array_end = ABSOLUTE(.);
KEEP (*crtbegin.o(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
/* C++ exception handlers table: */
__XT_EXCEPTION_DESCS_ = ABSOLUTE(.);
*(.xt_except_desc)
*(.gnu.linkonce.h.*)
__XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
*(.xt_except_desc_end)
*(.dynamic)
*(.gnu.version_d)
_rodata_end = ABSOLUTE(.);
/* Literals are also RO data. */
_lit4_start = ABSOLUTE(.);
*(*.lit4)
*(.lit4.*)
*(.gnu.linkonce.lit4.*)
_lit4_end = ABSOLUTE(.);
. = ALIGN(4);
_heap_start = ABSOLUTE(.);
} >dram_seg
.iram.text :
{
_stext = .;
_text_start = ABSOLUTE(.);
*(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
*(.iram1 .iram1.*) /* catch stray IRAM_ATTR */
*(.fini.literal)
*(.fini)
*(.gnu.version)
_text_end = ABSOLUTE(.);
_etext = .;
} > iram_seg
}

View File

@@ -1 +0,0 @@
PROVIDE ( ets_update_cpu_frequency = 0x40008550 ); /* Updates g_ticks_per_us on the current CPU only; not on the other core */

View File

@@ -1,280 +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 <stddef.h>
#include <stdint.h>
#include "flash_qio_mode.h"
#include "esp_log.h"
#include "esp_err.h"
#include "rom/spi_flash.h"
#include "rom/efuse.h"
#include "soc/spi_struct.h"
#include "soc/efuse_reg.h"
#include "sdkconfig.h"
/* SPI flash controller */
#define SPIFLASH SPI1
/* 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 */
static const char *TAG = "qio_mode";
typedef unsigned (*read_status_fn_t)();
typedef void (*write_status_fn_t)(unsigned);
typedef struct __attribute__((packed)) {
const char *manufacturer;
uint8_t mfg_id; /* 8-bit JEDEC manufacturer ID */
uint16_t flash_id; /* 16-bit JEDEC flash chip ID */
uint16_t id_mask; /* Bits to match on in flash chip ID */
read_status_fn_t read_status_fn;
write_status_fn_t write_status_fn;
uint8_t status_qio_bit;
} qio_info_t;
/* Read 8 bit status using RDSR command */
static unsigned read_status_8b_rdsr();
/* Read 8 bit status (second byte) using RDSR2 command */
static unsigned read_status_8b_rdsr2();
/* read 16 bit status using RDSR & RDSR2 (low and high bytes) */
static unsigned read_status_16b_rdsr_rdsr2();
/* Write 8 bit status using WRSR */
static void write_status_8b_wrsr(unsigned new_status);
/* Write 8 bit status (second byte) using WRSR2 */
static void write_status_8b_wrsr2(unsigned new_status);
/* Write 16 bit status using WRSR */
static void write_status_16b_wrsr(unsigned new_status);
#define ESP32_D2WD_WP_GPIO 7 /* ESP32-D2WD has this GPIO wired to WP pin of flash */
#ifndef CONFIG_BOOTLOADER_SPI_WP_PIN // Set in menuconfig if SPI flasher config is set to a quad mode
#define CONFIG_BOOTLOADER_SPI_WP_PIN ESP32_D2WD_WP_GPIO
#endif
/* Array of known flash chips and data to enable Quad I/O mode
Manufacturer & flash ID can be tested by running "esptool.py
flash_id"
If manufacturer ID matches, and flash ID ORed with flash ID mask
matches, enable_qio_mode() will execute "Read Cmd", test if bit
number "QIE Bit" is set, and if not set it will call "Write Cmd"
with this bit set.
Searching of this table stops when the first match is found.
*/
const static qio_info_t chip_data[] = {
/* Manufacturer, mfg_id, flash_id, id mask, Read Status, Write Status, QIE Bit */
{ "MXIC", 0xC2, 0x2000, 0xFF00, read_status_8b_rdsr, write_status_8b_wrsr, 6 },
{ "ISSI", 0x9D, 0x4000, 0xCF00, read_status_8b_rdsr, write_status_8b_wrsr, 6 }, /* IDs 0x40xx, 0x70xx */
{ "WinBond", 0xEF, 0x4000, 0xFF00, read_status_16b_rdsr_rdsr2, write_status_16b_wrsr, 9 },
{ "GD", 0xC8, 0x6000, 0xFF00, read_status_16b_rdsr_rdsr2, write_status_16b_wrsr, 9 },
/* Final entry is default entry, if no other IDs have matched.
This approach works for chips including:
GigaDevice (mfg ID 0xC8, flash IDs including 4016),
FM25Q32 (QOUT mode only, mfg ID 0xA1, flash IDs including 4016)
*/
{ NULL, 0xFF, 0xFFFF, 0xFFFF, read_status_8b_rdsr2, write_status_8b_wrsr2, 1 },
};
#define NUM_CHIPS (sizeof(chip_data) / sizeof(qio_info_t))
static esp_err_t enable_qio_mode(read_status_fn_t read_status_fn,
write_status_fn_t write_status_fn,
uint8_t status_qio_bit);
/* Generic function to use the "user command" SPI controller functionality
to send commands to the SPI flash and read the respopnse.
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[];
void bootloader_enable_qio_mode(void)
{
uint32_t old_ctrl_reg;
uint32_t raw_flash_id;
uint8_t mfg_id;
uint16_t flash_id;
int i;
ESP_LOGD(TAG, "Probing for QIO mode enable...");
esp_rom_spiflash_wait_idle(&g_rom_flashchip);
/* Set up some of the SPIFLASH user/ctrl variables which don't change
while we're probing using execute_flash_command() */
old_ctrl_reg = SPIFLASH.ctrl.val;
SPIFLASH.ctrl.val = SPI_WP_REG; // keep WP high while idle, otherwise leave DIO mode
SPIFLASH.user.usr_dummy = 0;
SPIFLASH.user.usr_addr = 0;
SPIFLASH.user.usr_command = 1;
SPIFLASH.user2.usr_command_bitlen = 7;
raw_flash_id = execute_flash_command(CMD_RDID, 0, 0, 24);
ESP_LOGD(TAG, "Raw SPI flash chip id 0x%x", raw_flash_id);
mfg_id = raw_flash_id & 0xFF;
flash_id = (raw_flash_id >> 16) | (raw_flash_id & 0xFF00);
ESP_LOGD(TAG, "Manufacturer ID 0x%02x chip ID 0x%04x", mfg_id, flash_id);
for (i = 0; i < NUM_CHIPS-1; i++) {
const qio_info_t *chip = &chip_data[i];
if (mfg_id == chip->mfg_id && (flash_id & chip->id_mask) == (chip->flash_id & chip->id_mask)) {
ESP_LOGI(TAG, "Enabling QIO for flash chip %s", chip_data[i].manufacturer);
break;
}
}
if (i == NUM_CHIPS - 1) {
ESP_LOGI(TAG, "Enabling default flash chip QIO");
}
esp_err_t res = enable_qio_mode(chip_data[i].read_status_fn,
chip_data[i].write_status_fn,
chip_data[i].status_qio_bit);
if (res != ESP_OK) {
// Restore SPI flash CTRL setting, to keep us in DIO/DOUT mode
SPIFLASH.ctrl.val = old_ctrl_reg;
}
}
static esp_err_t enable_qio_mode(read_status_fn_t read_status_fn,
write_status_fn_t write_status_fn,
uint8_t status_qio_bit)
{
uint32_t status;
const uint32_t spiconfig = ets_efuse_get_spiconfig();
if (spiconfig != EFUSE_SPICONFIG_SPI_DEFAULTS && spiconfig != EFUSE_SPICONFIG_HSPI_DEFAULTS) {
// spiconfig specifies a custom efuse pin configuration. This config defines all pins -except- WP,
// which is compiled into the bootloader instead.
//
// Most commonly an overriden pin mapping means ESP32-D2WD. Warn if chip is ESP32-D2WD
// but someone has changed the WP pin assignment from that chip's WP pin.
uint32_t chip_ver = REG_GET_FIELD(EFUSE_BLK0_RDATA3_REG, EFUSE_RD_CHIP_VER_RESERVE);
uint32_t pkg_ver = chip_ver & 0x7;
const int PKG_VER_ESP32_D2WD = 2; // TODO: use chip detection API once available
if (pkg_ver == PKG_VER_ESP32_D2WD && CONFIG_BOOTLOADER_SPI_WP_PIN != ESP32_D2WD_WP_GPIO) {
ESP_LOGW(TAG, "Chip is ESP32-D2WD but flash WP pin is different value to internal flash");
}
}
esp_rom_spiflash_wait_idle(&g_rom_flashchip);
status = 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);
write_status_fn(status | (1<<status_qio_bit));
esp_rom_spiflash_wait_idle(&g_rom_flashchip);
status = read_status_fn();
ESP_LOGD(TAG, "Updated flash chip status 0x%x", status);
if ((status & (1<<status_qio_bit)) == 0) {
ESP_LOGE(TAG, "Failed to set QIE bit, not enabling QIO mode");
return ESP_FAIL;
}
} else {
ESP_LOGD(TAG, "QIO mode already enabled in flash");
}
ESP_LOGD(TAG, "Enabling QIO mode...");
esp_rom_spiflash_read_mode_t mode;
#if CONFIG_FLASHMODE_QOUT
mode = ESP_ROM_SPIFLASH_QOUT_MODE;
#else
mode = ESP_ROM_SPIFLASH_QIO_MODE;
#endif
esp_rom_spiflash_config_readmode(mode);
esp_rom_spiflash_select_qio_pins(CONFIG_BOOTLOADER_SPI_WP_PIN, spiconfig);
return ESP_OK;
}
static unsigned read_status_8b_rdsr()
{
return execute_flash_command(CMD_RDSR, 0, 0, 8);
}
static unsigned read_status_8b_rdsr2()
{
return execute_flash_command(CMD_RDSR2, 0, 0, 8);
}
static unsigned read_status_16b_rdsr_rdsr2()
{
return execute_flash_command(CMD_RDSR, 0, 0, 8) | (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);
}
static void write_status_8b_wrsr2(unsigned new_status)
{
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);
}
static uint32_t execute_flash_command(uint8_t command, uint32_t mosi_data, uint8_t mosi_len, uint8_t miso_len)
{
SPIFLASH.user2.usr_command_value = command;
SPIFLASH.user.usr_miso = miso_len > 0;
SPIFLASH.miso_dlen.usr_miso_dbitlen = miso_len ? (miso_len - 1) : 0;
SPIFLASH.user.usr_mosi = mosi_len > 0;
SPIFLASH.mosi_dlen.usr_mosi_dbitlen = mosi_len ? (mosi_len - 1) : 0;
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)
{ }
return SPIFLASH.data_buf[0];
}

View File

@@ -0,0 +1,169 @@
/*
Linker file used to link the bootloader.
*/
/* 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 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
placed into the same range as exception vectors in the app.
This leads to idf_monitor decoding ROM bootloader "entry 0x40080xxx"
message as one of the exception vectors, which looks scary to users.
*/
iram_seg (RWX) : org = 0x40080400, len = 0xfc00
/* 64k at the end of DRAM, after ROM bootloader stack */
dram_seg (RW) : org = 0x3FFF0000, len = 0x10000
}
/* Default entry point: */
ENTRY(call_start_cpu0);
SECTIONS
{
.iram_loader.text :
{
. = ALIGN (16);
_loader_text_start = ABSOLUTE(.);
*(.stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
*(.iram1 .iram1.*) /* catch stray IRAM_ATTR */
*liblog.a:(.literal .text .literal.* .text.*)
*libgcc.a:(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_clock.*(.literal .text .literal.* .text.*)
*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_utility.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:bootloader_sha.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:esp_image_format.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:flash_encrypt.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:flash_partitions.*(.literal .text .literal.* .text.*)
*libbootloader_support.a:secure_boot.*(.literal .text .literal.* .text.*)
*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:rtc_clk.*(.literal .text .literal.* .text.*)
*libefuse.a:*.*(.literal .text .literal.* .text.*)
*(.fini.literal)
*(.fini)
*(.gnu.version)
_loader_text_end = ABSOLUTE(.);
} > iram_loader_seg
.iram.text :
{
. = ALIGN (16);
*(.entry.text)
*(.init.literal)
*(.init)
} > iram_seg
/* Shared RAM */
.dram0.bss (NOLOAD) :
{
. = ALIGN (8);
_bss_start = ABSOLUTE(.);
*(.dynsbss)
*(.sbss)
*(.sbss.*)
*(.gnu.linkonce.sb.*)
*(.scommon)
*(.sbss2)
*(.sbss2.*)
*(.gnu.linkonce.sb2.*)
*(.dynbss)
*(.bss)
*(.bss.*)
*(.gnu.linkonce.b.*)
*(COMMON)
. = ALIGN (8);
_bss_end = ABSOLUTE(.);
} >dram_seg
.dram0.data :
{
_data_start = ABSOLUTE(.);
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
*(.data1)
*(.sdata)
*(.sdata.*)
*(.gnu.linkonce.s.*)
*(.sdata2)
*(.sdata2.*)
*(.gnu.linkonce.s2.*)
*(.jcr)
_data_end = ABSOLUTE(.);
} >dram_seg
.dram0.rodata :
{
_rodata_start = ABSOLUTE(.);
*(.rodata)
*(.rodata.*)
*(.gnu.linkonce.r.*)
*(.rodata1)
__XT_EXCEPTION_TABLE_ = ABSOLUTE(.);
*(.xt_except_table)
*(.gcc_except_table)
*(.gnu.linkonce.e.*)
*(.gnu.version_r)
*(.eh_frame)
. = (. + 3) & ~ 3;
/* C++ constructor and destructor tables, properly ordered: */
__init_array_start = ABSOLUTE(.);
KEEP (*crtbegin.*(.ctors))
KEEP (*(EXCLUDE_FILE (*crtend.*) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*(.ctors))
__init_array_end = ABSOLUTE(.);
KEEP (*crtbegin.*(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.*) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*(.dtors))
/* C++ exception handlers table: */
__XT_EXCEPTION_DESCS_ = ABSOLUTE(.);
*(.xt_except_desc)
*(.gnu.linkonce.h.*)
__XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.);
*(.xt_except_desc_end)
*(.dynamic)
*(.gnu.version_d)
_rodata_end = ABSOLUTE(.);
/* Literals are also RO data. */
_lit4_start = ABSOLUTE(.);
*(*.lit4)
*(.lit4.*)
*(.gnu.linkonce.lit4.*)
_lit4_end = ABSOLUTE(.);
. = ALIGN(4);
} >dram_seg
.iram.text :
{
_stext = .;
_text_start = ABSOLUTE(.);
*(.literal .text .literal.* .text.* .stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
*(.iram .iram.*) /* catch stray IRAM_ATTR */
*(.fini.literal)
*(.fini)
*(.gnu.version)
_text_end = ABSOLUTE(.);
_etext = .;
} > iram_seg
}

View File

@@ -0,0 +1,9 @@
PROVIDE ( ets_update_cpu_frequency = 0x40008550 ); /* Updates g_ticks_per_us on the current CPU only; not on the other core */
PROVIDE ( MD5Final = 0x4005db1c );
PROVIDE ( MD5Init = 0x4005da7c );
PROVIDE ( MD5Update = 0x4005da9c );
/* bootloader will use following functions from xtensa hal library */
xthal_get_ccount = 0x4000c050;
xthal_get_ccompare = 0x4000c078;
xthal_set_ccompare = 0x4000c058;

Some files were not shown because too many files have changed in this diff Show More