Commit graph

3003 commits

Author SHA1 Message Date
Ivan Grokhotkov df3c857a30 esp32: add power management hooks for WiFi library 2017-10-18 14:19:19 +08:00
Ivan Grokhotkov eb0c34e5c9 esp_timer: add support for frequency scaling 2017-10-18 14:19:18 +08:00
Ivan Grokhotkov 3f818f4862 pm: support for tracing using GPIOs 2017-10-18 14:19:18 +08:00
Ivan Grokhotkov 535695f0b9 freertos: add frequency switching hooks to ISR and idle task 2017-10-18 14:19:17 +08:00
Ivan Grokhotkov 42d51a4224 esp32: initialize PM at startup, add Kconfig options 2017-10-18 14:19:17 +08:00
Ivan Grokhotkov 68e1751b78 pm: initial implementation for ESP32 2017-10-18 14:19:16 +08:00
Ivan Grokhotkov 47e3c9dd4b pm: initial version of power management APIs 2017-10-18 14:19:16 +08:00
Ivan Grokhotkov 4798b7d775 unit tests: add test to dump esp_timer stats 2017-10-18 14:19:15 +08:00
Ivan Grokhotkov 3788b35f87 unit tests: more robust esp_timer test 2017-10-18 14:19:15 +08:00
Ivan Grokhotkov b03e08dc4e soc/rtc: add function to convert CPU frequency in MHz to rtc_cpu_freq_t 2017-10-18 14:19:15 +08:00
Ivan Grokhotkov a242ae6d0b soc/rtc: add fast paths for switching between PLL and XTAL 2017-10-18 14:19:14 +08:00
Ivan Grokhotkov 37e9bc715c esp_clk.h: make public, add getters for RTC time, CPU/APB freq 2017-10-18 14:19:14 +08:00
Ivan Grokhotkov f13623d97d make esp_timer.h public 2017-10-18 12:31:38 +08:00
Ivan Grokhotkov 566f018996 crosscore_int: add support for FREQ_SWITCH event 2017-10-18 12:31:38 +08:00
Ivan Grokhotkov 2e8441df9e Merge branch 'feature/fsync' into 'master'
vfs,fat: add fsync to VFS interface, implement it for fatfs

See merge request !1412
2017-10-18 07:17:56 +08:00
Tian Hao 09862b5918 component/esp32 : update phy & rtc
RTC V230
add BT AGC saturation protection, replace RTC V229.

PHY V362
Power up print: "phy_version: 362.0, 61e8d92, Sep 8 2017, 18:48:13"
1. esp_init_data_v3.bin
modify TX target power
modify WIFI & BT RX gain table
2. modify phy_close_rf()
3. add phy_set_most_tpw()
4. 26M crystal work OK
5. noise_check_loop ok
2017-10-17 18:02:42 +08:00
Ivan Grokhotkov 6b8c8bf638 Merge branch 'bugfix/slave_dma_claim' into 'master'
fix(spi_slave): enable DMA clock when initialization.

See merge request !1385
2017-10-17 17:41:39 +08:00
Ivan Grokhotkov 7babc74fce Merge branch 'feature/reduce_min_num_of_wifi_static_tx_buffer' into 'master'
Reduce minimum number of WiFi static tx buffer

See merge request !1398
2017-10-17 17:40:14 +08:00
Angus Gratton 3f4c8f7174 pthreads local storage: add test for unique keys 2017-10-17 15:29:25 +08:00
Angus Gratton 69e92ee320 unit tests: If heap tracing is enabled in sdkconfig, leak trace each test 2017-10-17 15:29:25 +08:00
Angus Gratton 9c7477ef34 cxx: Add KConfig option for C++ exceptions, disable by default
Fixes https://github.com/espressif/esp-idf/issues/1072

(Additional 20KB is still used if C++ exception support is enabled in
menuconfig.)
2017-10-17 15:29:25 +08:00
Ivan Grokhotkov 502c3d0243 vfs,fat: add fsync to VFS interface, implement it for fatfs 2017-10-17 15:14:53 +08:00
Angus Gratton a231ba22f3 cxx: Add a sanity check for C++ exception support 2017-10-17 14:46:08 +08:00
Angus Gratton 86c89ff169 pthread: Add support for pthread thread local storage
Refactors LWIP to use this for the LWIP thread local semaphore
2017-10-17 14:46:08 +08:00
Angus Gratton 3234064b6a freertos: Idle task shouldn't hold xTaskQueueMutex while calling TLS destructors
If the callbacks use any blocking call (ie printf), this can otherwise trigger a deadlock.
2017-10-17 14:31:58 +08:00
Angus Gratton 2ccc2ec5ee cxx tests: Fix race condition w/ leak checker when tearing down test tasks 2017-10-17 14:31:58 +08:00
Angus Gratton 90bf40587e Merge branch 'feature/sockets_files_shared_fd_space' into 'master'
lwip & vfs: POSIX I/O functions operate on sockets and files (first stage, no select() yet)

See merge request !1352
2017-10-17 14:17:09 +08:00
Ivan Grokhotkov 6e7dd5962b Merge branch 'bugfix/add_mutex_for_dual_core_hooks' into 'master'
freertos/Add mutex for dual core hooks

See merge request !1406
2017-10-17 14:15:09 +08:00
Ivan Grokhotkov 08d6ca4f70 Merge branch 'bugfix/ets_timer_iram' into 'master'
wifi/bt coexistence: Fix disabled cache access race when writing to flash

See merge request !1409
2017-10-17 14:12:43 +08:00
Gabriel Carstoiu 8128bb95ef fix(spi_slave): enable DMA clock when initialization.
merging in the code updates to the SPI master code done in commit b834fcf78a.

TW#15670, Closes #1027
2017-10-17 12:20:40 +08:00
michael 88f602a0e0 fix(periph_ctrl): fix reset function in periph_ctrl.c 2017-10-17 12:20:40 +08:00
michael 8e31a36562 feat(spi_slave): append trans_len field in trans_desc to show length actually transferred. 2017-10-17 12:01:12 +08:00
Ivan Grokhotkov d3bb9de36a Merge branch 'feature/spiram_init_in_app' into 'master'
spiram: expose function to initialize SPI RAM cache

See merge request !1281
2017-10-17 04:56:35 +08:00
Ivan Grokhotkov b58e19f8a2 Merge branch 'bugfix/soc_component_rodata' into 'master'
soc: place constant data from rtc_clk.c into DRAM

See merge request !1321
2017-10-17 04:54:43 +08:00
Ivan Grokhotkov edb212986f Merge branch 'bugfix/sd_card_fixes' into 'master'
SD card fixes

See merge request !1393
2017-10-17 04:45:24 +08:00
Ivan Grokhotkov 2bba4a77c4 Merge branch 'bugfix/console_empty_command' into 'master'
console: handle empty input to esp_console_run correctly

See merge request !1390
2017-10-17 04:44:19 +08:00
Ivan Grokhotkov 468d90762a Merge branch 'bugfix/freertos_portmux_debug' into 'master'
freertos: fix compilation errors with portMUX debugging enabled

See merge request !1392
2017-10-17 04:44:04 +08:00
Ivan Grokhotkov a638871aa5 Merge branch 'bugfix/nvs_init_partition' into 'master'
nvs: fix nvs_flash_init_partition initializing default partition

See merge request !1391
2017-10-17 04:43:54 +08:00
Angus Gratton 094cf4d79d wifi/bt coexistence: Fix disabled cache access race when writing to flash
Moves the ets_timer_arm() / ets_timer_disarm() code paths to RAM

Overhead is 740 bytes of IRAM, 0 bytes DRAM

(For comparison: If all of esp_timer.c is moved to RAM, overhead is 1068 bytes IRAM and 480 bytes DRAM.)
2017-10-16 19:47:33 +08:00
Jiang Jiang Jian 99f2996779 Merge branch 'bugfix/tw15595_eth_got_ip_log_error' into 'master'
esp32/tcpipadapter: correct eth ip got event info

See merge request !1388
2017-10-16 17:30:14 +08:00
Jiang Jiang Jian 50c993a1b2 Merge branch 'feature/some_refactor_for_esp_ping' into 'master'
lwip: refactor to socket ping

See merge request !875
2017-10-16 17:30:00 +08:00
Darian Leung 7584f89278 esp32/Add mutex for dual core hooks
This commit adds critical sections for the dual core hooks
2017-10-16 11:47:38 +08:00
Angus Gratton 539262b5c2 vfs: Remove fd_offset member
This was intended for integrating LWIP, but a different approach was used.
2017-10-16 09:45:50 +08:00
Angus Gratton 4a9d4587b7 vfs: Add C++ guards to esp_vfs_dev.h
Closes https://github.com/espressif/esp-idf/issues/1069
2017-10-16 09:45:50 +08:00
Angus Gratton 541493d877 lwip: Check for underflow in FD_SET()/FD_GET()
select() only works with LWIP sockets which have a high LWIP_SOCKET_OFFSET,
so chance of accidental underflow is high.
2017-10-16 09:45:50 +08:00
Angus Gratton 3f83914f7a lwip: Fix bug with LWIP_SOCKET_OFFSET & IGMP group support 2017-10-16 09:45:50 +08:00
Angus Gratton 48d9d507aa newlib: Remove fcntl() implementation from libc
Allows fcntl() implementation in vfs to be used.

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

Note this is different to the other libc file-related syscalls, as there is no
reent structure involved.
2017-10-16 09:45:50 +08:00
Angus Gratton 3ebf7923d3 lwip: Route LWIP socket POSIX I/O functions via IDF VFS layer
No more conflicts between LWIP & newlib read(), write(), fcntl(), etc.

select() still only works if all of the fds are sockets.

Closes https://github.com/espressif/esp-idf/issues/273
2017-10-16 09:45:49 +08:00
Angus Gratton a320fed3b5 vfs: Add ioctl() to filesystem set 2017-10-16 09:45:49 +08:00
Angus Gratton b013f5d490 Merge branch 'bugfix/freertos_resume_scheduler_pending_tasks' into 'master'
freertos: Fix bug with xTaskResumeAll() not resuming all tasks

See merge request !1330
2017-10-16 09:43:04 +08:00
Ivan Grokhotkov 1da3204a7c spiram: expose function to initialize SPI RAM cache
Some frameworks based on ESP-IDF need to be able to decide whether to
initialize SPI RAM after the application has started. This change splits
out part of esp_spiram_init which manipulate cache MMU into a separate
function. Applications can disable cache, call esp_spiram_init_cache,
re-enable cache, and then call esp_spiram_init.
Disabling and re-enabling the cache can be achieved using functions
provided in esp_spi_flash.h.
2017-10-16 09:15:11 +08:00
He Yin Ling 3a271a4ae7 Merge branch 'bugfix/freertos_dual_core_hooks' into 'master'
bugfix/freertos_dual_core_hooks

See merge request !1399
2017-10-14 09:41:03 +08:00
Jiang Jiang Jian a1d23051b4 Merge branch 'bugfix/tw15538_ipv6_socket_close_error' into 'master'
lwip: init lwip error code

See merge request !1379
2017-10-13 19:15:44 +08:00
Darian Leung 95d63137d1 bugfix/freertos_dual_core_hooks
This commit fixes bugs with the dual core changes to freeRTOS tick and idle hooks.
Interrupt watchdog now registers tick hooks to both cores.
API for cross core tick and idle hook registration were also added
2017-10-13 18:27:53 +08:00
XiaXiaotian c730f676c3 Reduce minimum number of WiFi static tx buffer
Calibrate tx power after sending five packets
2017-10-13 17:11:31 +08:00
Jiang Jiang Jian 713dee57f0 Merge branch 'feature/add_const_for_wifi_api' into 'master'
esp32: add const for some WiFi api

See merge request !1394
2017-10-13 17:08:29 +08:00
Liu Zhi Fu 3bcaa592ee lwip: refactor to socket ping
Do some refactor to socket ping:
1. Add ping_deinit to kill ping thread
2. Apply configuration set by esp_ping_set_target to socket ping
3. Limit only one ping thread
2017-10-13 16:37:09 +08:00
Jiang Jiang Jian a0ad3ff008 Merge branch 'bugfix/btdm_fix_set_attr_value_crash_when_length_is_0' into 'master'
component/bt: fix crash when the length of attr value set zero

See merge request !1397
2017-10-13 16:00:15 +08:00
Liu Zhi Fu e2d077cea1 lwip: init lwip error code
Init the error code to ERR_OK when call tcpip_apimsg
2017-10-13 15:59:04 +08:00
Jiang Jiang Jian 90be957af1 Merge branch 'bugfix/btdm_fix_register_app_id_failed_when_more_than_3' into 'master'
component/bt: fix register more than three app_ids failed

See merge request !1389
2017-10-13 15:57:00 +08:00
Liu Zhi Fu e04a0d66b8 esp32/tcpipadapter: correct eth ip got event info
1. Raise SYSTEM_EVENT_ETH_GOT_IP when eth got ip
2. Add default handler for SYSTEM_EVENT_ETH_GOT_IP
3. Minor change about ethernet kconfig
2017-10-13 15:56:51 +08:00
Jiang Jiang Jian 6ff5c32ae5 Merge branch 'feature/alloc_memories_of_wifi_and_lwip_in_spiram_first' into 'master'
Allocate some memories in SPIRAM first.

See merge request !1367
2017-10-13 15:47:27 +08:00
Jiang Jiang Jian aa7a1e5e2d Merge branch 'bugfix/btdm_controller_deinit' into 'master'
component/bt : allow init after de-init

See merge request !1371
2017-10-13 15:44:58 +08:00
Liu Zhi Fu 0e586a4cdf esp32: add const for some WiFi api
Add const if the pointer parameter is const
2017-10-13 15:10:34 +08:00
zhiweijian 520b3340f6 Component/bt: fix crash when set attr value 0 2017-10-13 15:06:08 +08:00
XiaXiaotian 5df39cd4b6 Allocate some memories in SPIRAM first.
Try to allocate some WiFi and LWIP memories in SPIRAM first. If
    failed, try to allocate in internal RAM then.
2017-10-13 10:11:24 +08:00
Angus Gratton 0a52dbccca Merge branch 'bugfix/spi_reset_race' into 'master'
periph_ctrl: Refactor to add periph_module_reset(), avoid potential race in SPI DMA workaround

See merge request !1349
2017-10-13 08:51:36 +08:00
Angus Gratton 5d8bd1aa9e Merge branch 'bugfix/libsodium_mbedtls_sha' into 'master'
libsodium: Fix mbedTLS SHA256 & SHA512 implementation, make optional

See merge request !1329
2017-10-13 08:50:24 +08:00
Ivan Grokhotkov 715d081341 freertos: fix compilation errors with portMUX debugging enabled
Fixes https://github.com/espressif/esp-idf/issues/1057

Ref TW15702.
2017-10-13 08:33:57 +08:00
Ivan Grokhotkov 3cf23ff77d sdmmc: allow command timeouts to be configured
Previously the timeout was set to the same value (1000ms) for all kinds
of commands. In some cases, such as with slow cards, write commands
failed to complete in time.
This change makes command timeouts configurable via sdmmc_host_t
structure, and also makes default timeouts different for ordinary
commands and write commands.

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

Ref TW15774.
2017-10-13 08:16:07 +08:00
Angus Gratton ca7485cc9a freertos: Remove "stop program on scheduler start when JTAG/OCD is detected" option
No longer used with new dual core target & JTAG instructions.
2017-10-13 10:54:02 +11:00
Ivan Grokhotkov ab13db0e45 nvs: fix nvs_flash_init_partition initializing default partition
Fixes https://github.com/espressif/esp-idf/issues/1052.

Ref TW15698.
2017-10-13 07:19:16 +08:00
Ivan Grokhotkov 4d42b5ea24 console: handle empty input to esp_console_run correctly
Fixes https://github.com/espressif/esp-idf/issues/1067

Ref. TW15752
2017-10-13 07:14:53 +08:00
zhiweijian 49ad8bf6c3 Component/bt: fix register more than 3 app_id failed 2017-10-12 21:07:40 +08:00
Jiang Jiang Jian 8e47c355fa Merge branch 'feature/i2s_apll' into 'master'
driver/i2s: add support apll clock

See merge request !1115
2017-10-12 19:06:50 +08:00
Jiang Jiang Jian 244e947beb Merge branch 'bugfix/btdm_fix_add_whitelist_failed' into 'master'
Component/bt: fix add whitelist failed

See merge request !1326
2017-10-12 19:01:01 +08:00
Jiang Jiang Jian dbee895741 Merge branch 'bugfix/phy_init_remove_descriptions' into 'master'
phy init: remove descriptions of PHY init parameters

See merge request !1363
2017-10-12 19:00:10 +08:00
Jiang Jiang Jian f8caa403db Merge branch 'bugfix/btdm_remove_bond_device_not_return_error' into 'master'
component/bt: Fixed the bug when remove the bonded device with not exist address…

See merge request !1370
2017-10-12 18:59:09 +08:00
Jiang Jiang Jian 73462c052e Merge branch 'bugfix/btdm_fix_set_scan_params_not_work' into 'master'
component/bt: fix scan params not work when start scan

See merge request !1307
2017-10-12 18:57:36 +08:00
Jiang Jiang Jian e0922c9564 Merge branch 'bugfix/i2s_set_pin_valid_gpio' into 'master'
change to GPIO_IS_VALID_OUTPUT_GPIO for data out pin

See merge request !764
2017-10-12 18:21:25 +08:00
Jiang Jiang Jian da247c2cf8 Merge branch 'bugfix/ledc_duty_type_change' into 'master'
ledc_get_duty return type changed from int to uint32_t, target_duty changed from int to uint32_t

See merge request !752
2017-10-12 18:18:33 +08:00
Jiang Jiang Jian 52be20343b Merge branch 'bugfix/tw15438_mem_leak_on_wifi_start_stop_loop' into 'master'
Release DHCP structure memory when netif is down.

See merge request !1386
2017-10-12 17:51:58 +08:00
Jiang Jiang Jian a4e4322f6c Merge branch 'bugfix/btdm_set_sec_properity_error' into 'master'
component/bt: Fix bug of set sec properity error

See merge request !1336
2017-10-12 17:45:32 +08:00
Jiang Jiang Jian 3f1198529f Merge branch 'bugfix/fail_to_connect_in_wps' into 'master'
WiFi :bug fix of fail to connect in wps

See merge request !1384
2017-10-12 17:39:29 +08:00
XiaXiaotian ad1350f0ac Release DHCP structure memory when netif is down. 2017-10-12 17:03:44 +08:00
Angus Gratton 3a4bd7f16c Merge branch 'bugfix/wifi_tx_buffer_doc' into 'master'
wifi docs: Clarify WIFI_DYNAMIC_TX_BUFFER_NUM config item limit

See merge request !1375
2017-10-12 13:20:28 +08:00
Angus Gratton f3681e22de wifi docs: Clarify WIFI_DYNAMIC_TX_BUFFER_NUM config item limit
Setting WIFI_DYNAMIC_TX_BUFFER_NUM to zero is not possible.

Also edit some of the related config docs a little.
2017-10-12 15:53:53 +11:00
Deng Xin a99c89f6af bug fix of fail to connect in wps 2017-10-12 12:01:11 +08:00
Deng Xin a05867f673 Wifi: bugfix of fail to reconnect after reboot
fix the issue fail to reconnect after reboot
2017-10-11 17:58:36 +08:00
Jiang Jiang Jian 3ed90a559d Merge branch 'bugfix/btdm_fix_multi_connection_failed' into 'master'
component/bt: modify some comments

See merge request !1332
2017-10-11 17:00:34 +08:00
zhiweijian cd3d9715bb Component/bt: fix add whitelist failed
- fix add whitelist failed
- add add whitelist callback func
2017-10-11 15:30:09 +08:00
Angus Gratton 353e81da63 freertos: Also test (& handle) the case where scheduler is disabled on other CPU...
ie CPU A has scheduler disabled and task blocked on Q. CPU B sends to Q (or gives mutex, etc.) Task on CPU A should be woken on scheduler resume.
2017-10-11 10:48:20 +11:00
Angus Gratton 3e62c2e052 freertos: When scheduler is disabled, tasks on other core should immediately resume
... if triggered by a SemaphoreGive/etc.

Previously they would resume after scheduler was resumed, on next
RTOS tick of other CPU.
2017-10-11 10:48:20 +11:00
Angus Gratton f2f9170abc freertos: Fix bug with xTaskResumeAll() not resuming all tasks
Previously if multiple tasks had been added to xPendingReadyList for the CPU, only the first one was resumed.

Includes a test case for resuming multiple (pending) tasks on xTaskResumeAll().

Document the limitation that while scheduler is suspended on one CPU, it can't wake tasks on either CPU.
2017-10-11 10:48:20 +11:00
Yulong fc359e4491 component/bt: Change the _btc_storage_remove_ble_bonding_keys function ret default vaule from 1 to 0. 2017-10-10 04:19:11 -04:00
Yulong 25e8c09b6d component/bt: Change the param.remove_bond_dev_cmpl.status value. 2017-10-10 04:02:05 -04:00
Tian Hao b54ef13fae component/bt : allow init after de-init 2017-10-10 15:35:17 +08:00
Angus Gratton 30b40a2175 Merge branch 'bugfix/ff_ioctl_types' into 'master'
fatfs: use correct return types in ioctl calls

See merge request !1362
2017-10-10 15:01:47 +08:00
Angus Gratton dda136eab7 Merge branch 'bugfix/heap_debugging_cleanup' into 'master'
Heap debugging docs cleanup & convenience functions

See merge request !1347
2017-10-10 14:59:54 +08:00
Yulong 8e08097151 component/bt: Fixed the bug when remove the bonded device with not exist address will not return error. 2017-10-10 02:29:54 -04:00