Commit graph

8022 commits

Author SHA1 Message Date
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
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
Shubham Kulkarni
563175d90a mbedtls: Use SPIRAM strategy in example_test.py 2020-01-03 15:30:03 +05:30
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
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
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
c31c45cae7 NVS: partition name is copied now
Closes IDF-1231
2020-01-02 09:18:24 +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
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
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
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
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
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
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
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
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
liu zhifu
97e7bdd161 esp_wifi: fix WiFi timer bug 2019-12-25 09:10:45 +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
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
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
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
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
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
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
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
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
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
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
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
Ivan Grokhotkov
37a8ff9040 core dump: only get EPC/EPS registers up to XCHAL_NUM_INTLEVELS 2019-12-19 16:47:57 +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
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
Jakob Hasse
38aa21fd15 WIFI: added log for wifi test, increased timeout 2019-12-19 14:53:28 +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
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
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
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
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
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
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
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
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
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
Alexey Gerenkov
184e1785ff gcov: Fixes aborted calls to _lock_acquire_recursive from gcov stub 2019-12-16 19:15:37 +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
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
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
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
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
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
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
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
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
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
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
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
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