Commit Graph

2584 Commits

Author SHA1 Message Date
Jiang Jiang Jian
9a6b1c3b11 Merge branch 'bugfix/always_disable_ints_in_critical_region' into 'master'
Always disable interrupts in a critical region

See merge request !821
2017-06-16 11:36:27 +08:00
Yulong
1739216787 component/bt: added the temp enhanced to solve the conn_interval not collect issues. 2017-06-15 10:15:49 -04:00
Jiang Jiang Jian
a64f5de091 Merge branch 'bugfix/sw_reset_fixes' into 'master'
Fixes for esp_restart

See merge request !865
2017-06-15 22:10:13 +08:00
Jiang Jiang Jian
1cae2da0a0 Merge branch 'bugfix/classicBT_SMP_dependence' into 'master'
component/bt: add constraint in Kconfig to enable SMP_ENABLE when using classic BT

See merge request !877
2017-06-15 21:28:36 +08:00
Jiang Jiang Jian
fe1f8a25b5 Merge branch 'bugfix/intrrupt_num_conflict' into 'master'
component/bt : fix interrupt number conflict

See merge request !878
2017-06-15 20:45:57 +08:00
wangmengyang
85e9a0fa17 component/bt: add constraint in Kconfig to enable SMP_ENABLE when using classic BT
1. For now, some security related functions used in classic Bluetooth are controlled by "SMP_ENABLE". This commit fixes the dependency.
2. The two options, "CLASSIC_BT_ENABLED" and "SMP_ENABLED" The two options will be decoupled in the future.
2017-06-15 20:06:49 +08:00
Jiang Jiang Jian
fd12a6c706 Merge branch 'bugfix/btdm_add_set_pkt_data_length_evt_cback' into 'master'
component / bt: add set pkt data length event callback

See merge request !869
2017-06-15 19:51:22 +08:00
Tian Hao
09f7cf45dd component/bt : fix interrupt number conflict
1. the typical problem is when push keyboard on serial tool, the bluetooth may stop.
2017-06-15 19:41:54 +08:00
Ivan Grokhotkov
ffdcbc5355 libsodium: don’t link tests when TEST_ALL=1 is used
Currently libsodium tests add about 800kB to the binary, which is too
much for a partition table constrained to 2MB. Disable libsodium tests
until we start building multiple unit test apps for different subsets.
2017-06-15 18:15:37 +08:00
Ivan Grokhotkov
8cb0d52c43 esp_system: remove link time dependency on WiFi stack
- esp_restart will not pull in WiFi stack (if it is not used otherwise)
- esp_restore is moved into a separate file to break link time
  dependency
2017-06-15 18:15:36 +08:00
Ivan Grokhotkov
6538ebe8ad cxx: don’t pull libstdc++ local support in unit tests 2017-06-15 18:15:36 +08:00
Ivan Grokhotkov
9353666cc1 esp32: reset APP CPU when doing esp_restart
This fixes a bug introduced by !848, where APP CPU would not be reset
during esp_restart, if esp_restart was called from a task running on APP
CPU, and wouldn’t be reset by PRO CPU on startup.
This change replaces stalling APP CPU with resetting it.

Also adds a non-automated esp_restart tests.
2017-06-15 18:15:35 +08:00
Ivan Grokhotkov
a72b1abc51 esp32: disable DPORT access protection when doing esp_restart
DPORT access protection can not work when the other CPU is stalled.
Writes to DPORT registers in esp_restart caused the program to hang due
to access protection, and the reset happened due to RTC_WDT, not SW_RST.
This change adds esp_dport_access_int_deinit function and calls it from
esp_restart once the other core is stalled.
2017-06-15 18:15:35 +08:00
Ivan Grokhotkov
75658ee29b bootloader: workaround for clock switching bug in ESP32 rev. 0
In ESP32 rev. 0, switching between 240MHz and 80MHz (even via an
intermediate frequency of 40MHz) may cause the chip to lock up.
The bootloader used to enable 80MHz CPU clock at startup, which could
cause lock up after software reset. With this change, if 240MHz CPU
clock is enabled in menuconfig, bootloader will also use 240MHz to avoid
lock-up.
2017-06-15 18:15:35 +08:00
zhiweijian
58b65291d9 component / bt: add set pkt data length event callback 2017-06-15 16:02:03 +08:00
Jiang Jiang Jian
491932b80c Merge branch 'bugfix/btdm_cherry_pick_hit_limit_github_#12259' into 'master'
component/bt: cherry-pick the btdm_hit_limit_github_#12259 branch to this branch.

See merge request !867
2017-06-15 15:14:10 +08:00
Jiang Jiang Jian
ac5040a7c2 Merge branch 'bugfix/btdm_ll_get_remote_feature' into 'master'
component/bt: Fix can't get remote's feature bug

See merge request !871
2017-06-15 15:10:52 +08:00
Yulong
83b7144207 component/bt: Added the lmp_verion default value to 4.0. 2017-06-15 02:13:31 -04:00
Jiang Jiang Jian
5f24dcdf4e Merge branch 'bugfix/btdm_blufi' into 'master'
component/bt : fix blufi second init fail bug

See merge request !866
2017-06-15 13:37:31 +08:00
Yulong
6ffa30a408 component/bt: Change the return position in the btc_gatts_inter_cb function. 2017-06-14 23:40:25 -04:00
Jiang Jiang Jian
113c21a481 Merge branch 'bugfix/fail_to_disconn_after_pair_#13172' into 'master'
component/bt: Added the judgment to check the address is public or not.

See merge request !868
2017-06-15 11:20:12 +08:00
Jiang Jiang Jian
2e33dace16 Merge branch 'bugfix/fix_wifi_assert_at_ieee80211_output_line_733' into 'master'
fix the bug that wifi assert at ieee80211_output.c line 733

See merge request !870
2017-06-15 11:06:04 +08:00
Tian Hao
7cf5eea36f component/bt : fix blufi second init fail bug 2017-06-15 11:05:21 +08:00
Jiang Jiang Jian
a18032fe80 Merge branch 'bugfix/btdm_gattc_refresh_cache_does_not_work_properly' into 'master'
component /bt: using esp_ble_gattc_cache_refresh() does not work when open event callback

See merge request !864
2017-06-15 11:02:35 +08:00
island
e2e5f4caae component/bt: Fix can't get remote's feature bug
- Slave send version_ind cause some Android 7.0 devices can't encrypt correctly
2017-06-14 21:56:59 +08:00
XiaXiaotian
435b907475 fix the bug that wifi assert at ieee80211_output.c line 733 2017-06-14 21:20:28 +08:00
Yulong
a03e5f95be component/bt: Added the judgment to check the address is public or not. 2017-06-14 09:01:29 -04:00
Yulong
00bcee2df2 component/bt: cherry-pick the btdm_hit_limit_github_#12259 branch to this branch. 2017-06-14 07:14:23 -04:00
Jiang Jiang Jian
aefde1517d Merge branch 'bugfix/i2c_delete_interrupt_race' into 'master'
i2c driver: When deleting, disable interrupts before freeing data structures

See merge request !836
2017-06-14 17:47:22 +08:00
zhiweijian
60d5b677e7 Component /bt: using esp_ble_gattc_cache_refresh() does not work when open event callback. 2017-06-14 16:45:17 +08:00
Jiang Jiang Jian
ae7269d39d Merge branch 'bugfix/btdm_smp_auth_complete_error' into 'master'
component/bt: Change the btc layer data copy method.

See merge request !844
2017-06-14 15:16:38 +08:00
Jiang Jiang Jian
6b3a559ee7 Merge branch 'bugfix/btdm_master_write_service_change_ccc' into 'master'
component/bt: Fix slave initiate service change ccc discovery procedure bug

See merge request !847
2017-06-14 15:12:45 +08:00
Angus Gratton
55bec0e82f Merge branch 'feature/libsodium' into 'master'
Add libsodium cryptography library component (v1.0.12)

See merge request !852
2017-06-14 14:58:16 +08:00
Jiang Jiang Jian
db87a640ea Merge branch 'feature/optimize_task_priority_in_wifi_lib' into 'master'
Optimize priorities of pp, pm, timer, wps and wpa2 tasks.

See merge request !861
2017-06-14 14:01:53 +08:00
Angus Gratton
211580bf4f Add libsodium v1.0.12
Run some unit test cases based (poorly) around sodium's test infrastructure.

Increase in unity test task stack is due to signature tests, load a lot of data onto the stack.
2017-06-14 15:51:08 +10:00
Angus Gratton
8e0ec6a9ab Merge branch 'bugfix/abort_in_interrupt_context' into 'master'
Panic handler backtrace fixes

See merge request !835
2017-06-14 13:45:36 +08:00
Angus Gratton
6068c1be9a esptool: Update to v2.0 final release
For IDF use, most changes are minor compared to 2.0-beta3.

One notable addition, esptool.py now prints chip model & silicon
revision when it connects.
2017-06-14 15:41:51 +10:00
island
c5debed621 component/bt: Fix bug while writing slave's service change characteristic
- Fix slave initiate service discovery procedure
- Fix master re-discovery every time connection established
- Optimize service discovery char ccc write procedure
- Optimize esp_log_buffer function
- Modify default supervision timeout from 20s to 2s
2017-06-14 13:12:38 +08:00
Jiang Jiang Jian
06fa08b022 Merge branch 'bugfix/btdm_config_bluedroid_mem_debug_github_#12631' into 'master'
component/bt: Change the osi_mem_dbg_init to the esp_bluedroid_init function.

See merge request !860
2017-06-14 11:18:34 +08:00
XiaXiaotian
28e84a5299 Optimize priorities of pp, pm, timer, wps and wpa2 tasks. 2017-06-14 11:06:57 +08:00
Jiang Jiang Jian
69e8085624 Merge branch 'bugfix/wps_receive_m2d_fail_process' into 'master'
ESP32: Add error wps fail reason

See merge request !855
2017-06-14 10:57:59 +08:00
Jiang Jiang Jian
243bc97119 Merge branch 'bugfix/btdm_task_post' into 'master'
component/bt : fix task post bug && fix controller init protection

See merge request !856
2017-06-14 10:52:56 +08:00
Yulong
3f997d3e8c component/bt: Added the unhandle log to the btc dm case. 2017-06-13 22:37:44 -04:00
Ivan Grokhotkov
0c83e46b08 Merge branch 'bugfix/nvs_max_value_size' into 'master'
nvs: check value size before writing, document limitations

See merge request !796
2017-06-14 09:15:59 +08:00
Ivan Grokhotkov
6e704fc421 Merge branch 'bugifx/cplusplus_guards' into 'master'
add C++ include guards to header files which are missing them

See merge request !799
2017-06-14 09:14:02 +08:00
Ivan Grokhotkov
71d7716a45 Merge branch 'bugfix/esp_event_send_init_check' into 'master'
esp_event_send: check if the event loop is initialized

See merge request !817
2017-06-14 09:11:50 +08:00
Angus Gratton
91593a5237 Merge branch 'bugfix/rmt_driver_interrupts' into 'master'
rmt driver: Fix some issues around interrupts

See merge request !837
2017-06-14 08:35:22 +08:00
Angus Gratton
8bf675786a Merge branch 'feature/freertos_get_priority' into 'master'
freertos: Mark uxTaskPriorityGet() as tested, add SMP task priority unit tests

See merge request !794
2017-06-14 08:31:00 +08:00
Angus Gratton
5d7bffea2b panic handler: Print backtraces with calling address not return address
This seems to clean up some of the more wrong addr2line output results (not
sure why, something to do with optimisations I think - perhaps the return
address may also be a jump target from some earlier line of the code.)
2017-06-14 10:30:04 +10:00
Deng Xin
3d963f1c61 Merge branch bugfix/wps_receive_m2d_fail_process to master
ESP32: Add error wps fail reason enum in esp_event.h
see merge request !226
2017-06-13 21:48:48 +08:00
Ivan Grokhotkov
81f98c0a77 Merge branch 'test/nvs_compatible_test' into 'master'
test: add WIFI NVS compatible test case

See merge request !812
2017-06-13 21:32:50 +08:00
Jiang Jiang Jian
ff8287645b Merge branch 'bugfix/tw13140_fix_assoc_timeout_bug' into 'master'
esp32: update wifi lib to fix assoc timeout issue

See merge request !854
2017-06-13 21:14:33 +08:00
Jiang Jiang Jian
12c1238730 Merge branch 'bugfix/btdm_uuid_convert' into 'master'
component/bt : fix uuid convert warning

See merge request !857
2017-06-13 21:03:55 +08:00
Yulong
2a759a9864 component/bt: Change the osi_mem_dbg_init to the esp_bluedroid_init function. 2017-06-13 08:52:26 -04:00
Tian Hao
063dccd6c0 component/bt : fix uuid convert warning 2017-06-13 20:21:59 +08:00
Liu Zhi Fu
bf4dd5175b esp32: update wifi lib to fix assoc timeout issue
Fix assoc timeout thread-safe issue
2017-06-13 20:08:00 +08:00
Jiang Jiang Jian
1ce18758d4 Merge branch 'bugfix/tw13140_fix_throughput_test_crash_issue' into 'master'
esp32: update wifi lib to fix wifi crash bug

See merge request !840
2017-06-13 18:22:39 +08:00
Jiang Jiang Jian
57d27faee8 Merge branch 'bugfix/btdm_write_API_to_write_char_get_wrong_status_when_server_response_NULL' into 'master'
component /bt: write_API_to_write_char_get_wrong_status_when_server_response_NULL

See merge request !842
2017-06-13 18:18:30 +08:00
Ivan Grokhotkov
cd89a653e4 Merge branch 'bugfix/app_cpu_reset' into 'master'
esp32: don’t reset APP CPU if it was already reset by OpenOCD

See merge request !848
2017-06-13 18:15:47 +08:00
Jiang Jiang Jian
be680a0ef3 Merge branch 'bugfix/btdm_auth_val_error_#12962' into 'master'
component/bt: correct the security demo pair status code.

See merge request !841
2017-06-13 18:14:39 +08:00
Tian Hao
808b07799c component/bt : fix task post bug && fix controller init protection
1. fix bluedroid task post to blocking.
2. use semphore protect btdm controller task when be called from higher priority task
2017-06-13 17:14:50 +08:00
Tuan PM
f91715438a i2s: return error code if register isr error, resolve #587 (github)
set p_i2s_obj = NULL when return error
2017-06-13 14:28:47 +07:00
Angus Gratton
47e789f538 abort handler: Fix abort stack trace when abort() called in ISR
Previously, this resulted in task stack frames turning up incorrectly in the backtrace, ie

Backtrace: 0x400d22a0:0x3ffb0fa0 0x40085a3c:0x3ffb0fc0 0x400f32c4:0x3ffb0fe0 0x40081965:0x3ffb1010
0x400d22a0: esp_vApplicationIdleHook at /home/esp/esp-idf/components/esp32/./freertos_hooks.c:
52
0x40085a3c: prvIdleTask at /home/esp/esp-idf/components/freertos/./tasks.c:4431
0x400f32c4: i2c_isr_handler_default at /home/esp/esp-idf/components/driver/./i2c.c:598
0x40081965: _xt_lowint1 at xtensa_vectors.o:?

Fix is to implement abort() via an unhandled exception rather than a breakpoint, I think
because of relative priority of exception types.

Another approach would be to assign a software-only INUM to abort()ing and defined a
PANIC_RSN_ABORTED, but this is more complex and interrupt numbers are more scarce than RAM!
2017-06-13 10:19:01 +10:00
Ivan Grokhotkov
cc8af68244 syscalls: fix wraparound of RTC time
This change removes the erroneous cast to uint32_t (which caused time to
wrap around after 1 hour) and splits the multiplication into two terms
to remove the wraparound after 13 days.

Ref. https://esp32.com/viewtopic.php?f=13&t=1908
2017-06-12 15:21:43 +08:00
Ivan Grokhotkov
f327a9b1cf esp32: don’t reset APP CPU if it was already reset by OpenOCD
When ‘reset halt’ command is executed, OpenOCD will take the APP CPU
out of reset and enable the clock. At this point, user can set a
breakpoint on code which will run on APP CPU. Previously, app startup
code would do another reset of APP CPU, thereby removing any breakpoints
which may have been set. This change makes APP CPU reset conditional on
DPORT_APPCPU_CLKGATE_EN bit, which is 0 by default but is set to 1 by
OpenOCD after reset.
2017-06-12 15:16:57 +08:00
zhiweijian
352cc0c7fe Component /bt: write_API_to_write_char_get_wrong_status_when_server_response_NULL 2017-06-12 15:02:21 +08:00
Deomid Ryabkov
b8782bdd90 Change esp_vfs_t.write return value to ssize_t
write() should return ssize_t, not size_t.
2017-06-09 21:24:00 +01:00
Yulong
411b5ecc43 component/bt: delete the bd_addr to avoid the warning. 2017-06-09 05:07:26 -04:00
Yulong
e07482504a component/bt: Change the btc ESP_BLE_SM_SET_RSP_KEK to ESP_BLE_SM_SET_RSP_KEY 2017-06-09 04:54:56 -04:00
Yulong
4734ba40b0 component/bt: Change the btc layer data copy method. 2017-06-09 04:32:01 -04:00
Angus Gratton
11d2db40f4 spi_flash: Fix SPI flash write alignment/size bugs
* Writing >4 bytes to unaligned offsets would fail
* Writiing data from flash would fail (wrong buffer was used)
* Writing >8192 bytes from RAM would over-write data multiple times

Adds test cases for the above.
2017-06-09 17:33:27 +10:00
Angus Gratton
edd2459934 esp_log_buffer_hex: Make buffer argument a void pointer 2017-06-09 17:16:58 +10:00
Yulong
e5adfb8119 component/bt: correct the security demo pair status code. 2017-06-09 02:37:28 -04:00
Angus Gratton
c77b699463 rmt driver: Manage driver interrupt handler based on which channels are enabled
Previously the first call to rmt_driver_uninstall() would remove the interrupt handler,
even if other channels still had the driver installed.

Adds an OS-level lock to control concurrent registration/deregistration of channels.
2017-06-09 16:11:21 +10:00
Ivan Grokhotkov
e7db29b2a8 Merge branch 'bugfix/btdm_crash_invalid_control_param' into 'master'
component/bt: Fix crash problem while using invalid control parameter

See merge request !832
2017-06-09 12:00:18 +08:00
Angus Gratton
5a1a8b4637 Merge branch 'bugfix/resume_task_cpu1_when_scheduler_disabled' into 'master'
Fix bug waking a task on CPU1 when scheduler is disabled

See merge request !819
2017-06-09 07:10:10 +08:00
Liu Zhi Fu
c1e8988240 esp32: update wifi lib to fix wifi crash bug
Fix a wifi crash bug which happens in throughput test
2017-06-08 20:51:21 +08:00
Angus Gratton
4b58cc12cd rmt driver: When deleting, disable interrupt before freeing data structures
Fixes potential race if RMT interrupt happens while deregistering (unlikely
due to timing of taking semaphore tx_sem, but still possible.)
2017-06-08 16:14:51 +10:00
Angus Gratton
a89e93fc3d i2c driver: When deleting, disable interrupts before freeing data structures
Fixes a potential race if I2C interrupt occurs while driver is being delted.
2017-06-08 15:57:31 +10:00
island
30783d481d component/bt: Fix crash problem while using invalid control parameter
- Fix crash problem while using invalid control parameter to set gatt characteristic or descriptor
2017-06-07 20:18:36 +08:00
Tian Hao
bd309731da component/bt : fix bug of task schedule delayed.
1. BLE RX test mode require quick task reaction, so allow higher priority task schedule from ISR.
2. Maybe other scenario also require this.
2017-06-07 14:58:17 +08:00
Jiang Jiang Jian
99d5959d8a Merge branch 'bugfix/btdm_library' into 'master'
component/bt : revert the bluetooth library

See merge request !827
2017-06-07 14:17:33 +08:00
Jiang Jiang Jian
35f6a2a8af Merge branch 'feature/tw10091_add_sniffer_filter' into 'master'
esp32: add sniffer filter api

See merge request !790
2017-06-07 13:55:35 +08:00
Tian Hao
460c37ddf6 component/bt : revert the bluetooth library
bluetooth library use a old one, so update to the newest.
2017-06-07 13:52:28 +08:00
Jiang Jiang Jian
7da4b42ed1 Merge branch 'feature/btdm_add_connect_event_and_disconnect_event_for_gattc' into 'master'
component/bt: Add disconnect & connect func and event

See merge request !806
2017-06-07 13:45:43 +08:00
Jiang Jiang Jian
82b8b1db1f Merge branch 'bugfix/bt_ble_separation' into 'master'
component/bt: fix the build error when using classic BT, with GATTC, GATTS and SMP disabled

See merge request !822
2017-06-06 20:56:05 +08:00
Jiang Jiang Jian
b78242da58 Merge branch 'bugfix/btdm_rebase_update_param_#9626' into 'master'
component/bt: rebase the btdm_updata_param_bug_#9626 to the new master.

See merge request !808
2017-06-06 20:55:23 +08:00
Liu Zhi Fu
f40be8eb77 esp32: add sniffer filter api
Add sniffer filter to filter specified packets
2017-06-06 19:07:12 +08:00
Yulong
e6acc32df6 component/bt: rebase the btdm_updata_param_bug_#9626 to the new master.
- Added the error code for the time out status.
2017-06-06 05:51:31 -04:00
Yulong
531f751fd3 component/bt: Cherry-pick the btdm_no_doc_for_value_type_github_#118659 to this branch to avoid conflict. 2017-06-06 05:22:17 -04:00
zhiweijian
db96edc5d9 component/bt: Add disconnect & connect func and event
- Add disconnect func for gap
- Add connect event and disconnect event for gattc
2017-06-06 16:53:37 +08:00
Angus Gratton
1cbdb35e1e Merge branch 'bugfix/i2s_channel_setting' into 'master'
bugfix(i2s): fix error when changing channel number in i2s_set_clk function

See merge request !784
2017-06-06 14:40:43 +08:00
Angus Gratton
99454d4a73 Merge branch 'feature/nghttp2_v1_22' into 'master'
nghttp module: Update to v1.22, use submodule instead of in-tree source

See merge request !763
2017-06-06 14:38:41 +08:00
Angus Gratton
ae05787a51 Merge branch 'bugfix/make_srcdirs_order' into 'master'
build system: Fix bug where component src subdirs needed listing before parent source dirs

See merge request !778
2017-06-06 14:37:21 +08:00
Jiang Jiang Jian
b0d93fccce Merge branch 'bugfix/btdm_ble_scan_5min_stop_github_#12723' into 'master'
component/bt: Change the duration type from UINT8 to UINT32

See merge request !815
2017-06-06 14:11:05 +08:00
wangmengyang
ca4506fba9 component/bt: fix the build error when using classic BT, with GATTC, GATTS and SMP disabled 2017-06-05 21:01:58 +08:00
jack
ba32dd30a1 bugfix:Fix bug that wdt reset information for CPU1 was not correct 2017-06-05 18:26:14 +08:00
Jeroen Domburg
d4b0f85eb4 Make portENTER_CRITICAL and portENTER_CRITICAL_ISR the same, plus some changes to fix an issue this causes 2017-06-05 15:57:42 +08:00
Angus Gratton
b9fc5ecf68 freertos: Fix crash when waking task on CPU1 with scheduler disabled
xPendingReadyList[1] was never initialised correctly, so if a task is added to this list (ie by xSemaphoreGiveFromISR()
or similar) while scheduler is disabled, then it causes a null pointer dereference.

Bug produces stack traces similar to:
0x40086e87: vListInsertEnd at /home/gus/esp/32/idf/components/freertos/./list.c:130
0x40084ba3: xTaskRemoveFromEventList at /home/gus/esp/32/idf/components/freertos/./tasks.c:3439
0x40083c54: xQueueGiveFromISR at /home/gus/esp/32/idf/components/freertos/./queue.c:2034
0x400f50a0: timer_group0_isr at /home/gus/esp/32/idf/components/freertos/test/./test_suspend_scheduler.c:27
0x40081d7d: _xt_lowint1 at xtensa_vectors.o:?
2017-06-05 16:12:20 +10:00
Angus Gratton
f40ae10a5d freertos: add test case for ISRs waking tasks when scheduler disabled 2017-06-05 16:12:20 +10:00
Ivan Grokhotkov
17da994345 esp_event_send: check if the event loop is initialized
Fixes https://github.com/espressif/esp-idf/issues/668
2017-06-05 11:01:26 +08:00
He Yin Ling
2e7f6a2247 test: add NVS compatible test case and CI job 2017-06-04 10:29:15 +08:00
Yulong
a42bf640bc component/bt: Change the duration type from UINT8 to UINT32 2017-06-03 01:00:10 -04:00
Jiang Jiang Jian
cc46038142 Merge branch 'bugfix/add_dport_protect_in_libphy' into 'master'
Add dport protect in libphy.a

See merge request !803
2017-06-02 19:13:18 +08:00
Jiang Jiang Jian
bd17791fd4 Merge branch 'bugfix/tw12798_dhcp_server_crash' into 'master'
lwip: fix dhcp server crash issue

See merge request !797
2017-06-02 19:09:43 +08:00
Jiang Jiang Jian
0a66f0db4c Merge branch 'bugfix/btdm_bit_against_enums_github_#12289' into 'master'
component/bt: Change the esp_gatt_perm_t & esp_gatt_char_prop_t type from enum t…

See merge request !809
2017-06-02 15:41:01 +08:00
Liu Zhi Fu
cd58f089c2 lwip: fix dhcp server crash issue
Fix long dhcp request packet cause dhcp server crash issue
2017-06-02 14:02:33 +08:00
Jiang Jiang Jian
1eaf88262d Merge branch 'bugfix/btdm_add_open_and_close_event_for_gatts' into 'master'
component/bt: add open and close event for gatts

See merge request !786
2017-06-02 13:53:03 +08:00
Yulong
be3eda0044 component/bt: Change the esp_gatt_perm_t & esp_gatt_char_prop_t type from enum to uint16_t & uint8_t. 2017-06-02 01:48:56 -04:00
XiaXiaotian
66ef886d77 Add dport protect in libphy.a 2017-06-01 19:43:55 +08:00
Jiang Jiang Jian
ab0f7264ee Merge branch 'bugfix/tw12174_connect_ap_fail' into 'master'
Fix the bug that station fails to connect to AP sometimes.

See merge request !802
2017-06-01 19:40:02 +08:00
zhiweijian
f5a59f4f78 component/bt: add open and close event for gatts
1.added open event and close event for gatts.
2.used esp_log_buffer_char/hex for gattc scan result.
2017-06-01 15:01:54 +08:00
Angus Gratton
b428d28950 spiflash rom: Add symbols accidentally removed in refactor 2017-06-01 09:08:29 +10:00
XiaXiaotian
d2f24f1b81 Fix the bug that station fails to connect to AP sometimes. 2017-05-31 20:27:02 +08:00
jack
fc130fba86 fix bug that files missing commit in MR 773 2017-05-31 19:37:39 +08:00
Ivan Grokhotkov
06accaf851 add C++ include guards to header files which are missing them
Fixes https://github.com/espressif/esp-idf/issues/628
2017-05-31 17:20:17 +08:00
Ivan Grokhotkov
a25a4a0a7c nvs: check value size before writing, document limitations
Writing values longer than half of the page size (with header taken into
account) causes fragmentation issues. Previously it was suggested on the
forum that using long values may cause issues, but this wasn’t checked
in the library itself, and wasn’t documented. This change adds necessary
checks and introduces the new error code.

Documentation is also fixed to reflect the fact that the maximum length
of the key is 15 characters, not 16.
2017-05-31 12:59:24 +08:00
Angus Gratton
4947c953d3 freertos: Mark uxTaskPriorityGet() as tested
Also adds some SMP-aware dynamic task priority unit tests
2017-05-29 16:19:00 +10:00
Angus Gratton
d718cbd873 Merge branch 'bugfix/deep_sleep_example_stub_delay' into 'master'
sdkconfig: set CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 by default

See merge request !758
2017-05-29 12:11:56 +08:00
Angus Gratton
2b1365a51b Merge branch 'feature/docs_gen-dxd' into 'master'
docs: Automatically generate API reference list / Doxygen directives

See merge request !723
2017-05-29 07:08:53 +08:00
Jiang Jiang Jian
636d2b384e Merge branch 'bugfix/ble_comfirm_reply_not_work_#12881' into 'master'
component/bt: Added the esp_ble_passkey_reply BTC_GAP_BLE_PASSKEY_REPLY_EVT &BTC…

See merge request !793
2017-05-27 14:40:26 +08:00
Yulong
e9fae704e3 component/bt: Merge the new master to avoid conflict. 2017-05-26 22:47:56 -04:00
Yulong
9679c238aa component/bt: Added the esp_ble_passkey_reply BTC_GAP_BLE_PASSKEY_REPLY_EVT &BTC_GAP_BLE_CONFIRM_REPLY_EVT
event.
2017-05-26 05:26:15 -04:00
Jiang Jiang Jian
826e96248d Merge branch 'bugfix/btdm_ble_crash_read_long_char_#12338' into 'master'
component/bt: Change the fragement method to avoid crash when the data transmit should fragement.

See merge request !789
2017-05-26 14:40:47 +08:00
Jiang Jiang Jian
87a5bd0179 Merge branch 'bugfix/btdm_value_relate_to_internal' into 'master'
fix bugs of some constant value not equal internal define but quotes internal define

See merge request !787
2017-05-26 14:24:52 +08:00
Jiang Jiang Jian
adac20dc36 Merge branch 'bugfix/tw12643_board_no_response' into 'master'
fix close socket block issue

See merge request !781
2017-05-26 14:11:53 +08:00
Yulong
e40810adbb compoennt/bt: change the remaining_length compare with the max_packet_size value when the data packet should fragment and dispatch. 2017-05-25 23:09:50 -04:00
Yulong
81ff34742b component/bt: Change the fragement method to avoid crash when the data transmit should fragement. 2017-05-25 09:59:03 -04:00
Tian Hao
0c6d966bff component/bt : fix bugs of some constant value not equal internal define but quotes internal define 2017-05-25 16:12:48 +08:00
Yulong
66bb6a2f2b component/bt: squash the branch of the early commit
component/bt: squash the branch of the early commit

component/bt: Added the set static random address callback to the bt project.

component/bt: fixed the set static random address error.

component/bt: fixed the set static random address error.
2017-05-25 02:13:27 -04:00
Jiang Jiang Jian
2aadbee43c Merge branch 'bugfix/i2c_read_size' into 'master'
component/driver : fix i2c slave read size bug

See merge request !770
2017-05-25 10:55:28 +08:00
Ivan Grokhotkov
3c583a7655 sdkconfig: set CONFIG_ESP32_DEEP_SLEEP_WAKEUP_DELAY=2000 by default
To increase the chances that the examples work out of the box, this
change is raising the default deep sleep wakeup delay to 1ms.
If GPIO15 is low at startup, ROM code takes less time to execute
(because no logging is performed), so more time may be needed to allow
flash chip to become ready.
2017-05-25 10:51:39 +08:00
wangmengyang
cdea87168c component/bt: bugfix for A2DP in dropping of media packet when data buffer size goes beyond threshold 2017-05-24 15:08:46 +08:00
XiaXiaotian
c0fa8a0354 fix close socket block issue
LWIP rx task receives NULL buffer pointer only when closing socket.
    So, do not need to close it again.
2017-05-23 21:08:03 +08:00
Wangjialin
f68c5baea6 bugfix(i2s): fix error when changing changel number in i2s_set_clk function 2017-05-23 19:32:10 +08:00
Jiang Jiang Jian
ba55461686 Merge branch 'bugfix/ble_gatt_server_example_receive_prepare_write' into 'master'
component/bt: gatt_server example receive prepare write

See merge request !741
2017-05-23 13:57:39 +08:00
Liu Zhi Fu
365b66b95b esp32: update wifi lib to fix ota fail bug
Fix ota fails on dual core
2017-05-23 11:38:45 +08:00
Ivan Grokhotkov
55fb4c54c8 Merge branch 'bugfix/release_coproc_regs_taskdelete' into 'master'
Release coprocessor registers when a task is deleted.

See merge request !765
2017-05-22 11:05:47 +08:00
zhiweijian
4ffb4911e1 gatt_server example receive prepare write 2017-05-22 10:33:36 +08:00
Angus Gratton
99771a255f build system: Fix bug where component src subdirs needed listing before parent source dirs
Triggered on make 3.81, happens sometimes on Linux and always(?) on macOS. May depend on the order the OS' filesystem
resolves wildcards in.

Includes a revert to the LWIP component to verify this is properly fixed.

See also https://github.com/espressif/esp-idf/issues/632
2017-05-22 11:45:55 +10:00
krzychb
30edcca1fb docs: Generate Doxygen directives for API documentation
This is to resolve issue reported in https://github.com/espressif/esp-idf/issues/130.
2017-05-19 18:26:02 +02:00
Ivan Grokhotkov
a38cecefa7 Merge branch 'bugfix/fix_dport_access_in_isr' into 'master'
Fix Dport access in interrupts

Dport accesses would re-enable interrupts unconditionally, breaking things when called in an ISR. This saves and restores the interrupt status, fixing this.

This fixes a crash in the SPI slave driver, and possibly other things.

See merge request !772
2017-05-19 19:08:34 +08:00
wangmengyang
25b07ed79a component/bt: bugfix for handling HCI_Host_Number_Of_Completed_Packets in BT controller 2017-05-19 17:36:02 +08:00
Jeroen Domburg
fded7b4270 Dport accesses would re-enable interrupts unconditionally, breaking things when called in an ISR. This saves and restores the interrupt status, fixing this. 2017-05-19 15:25:02 +08:00
Ivan Grokhotkov
972d1d9242 Merge branch 'feature/ci_test_config_autogen' into 'master'
CI: auto generate configs for test jobs

Currently CI test jobs are static configured by several pre-generated config files.
This approach have several disadvantages:

1. not flexible to select test cases to run, which is important feature of @bot
2. difficult to update test as we need to pre-generate quite a lot files
3. need to maintain extra config files in IDF
4. not flexible to support new test apps or chips, can't use some new features of test bench

Therefore we'll add assign_test stage between build and test, to generate configs for test jobs.

See merge request !738
2017-05-19 11:56:45 +08:00
Ivan Grokhotkov
67a147fc6f Merge branch 'bugfix/bt_controller_log_clean_up' into 'master'
component/bt: disable information loggings from bt controller

clean-up information loggings during controller initialization

See merge request !769
2017-05-19 11:50:11 +08:00
Tian Hao
45c815f9ad component/driver : fix i2c slave read size bug
when no available data, the slave read size not return 0, so fix it.
2017-05-19 11:22:08 +08:00
Angus Gratton
dbb862299d Merge branch 'bugfix/github_small_prs' into 'master'
Small PR fixes from github

Small bug fixes & typo corrections from github.

See merge request !762
2017-05-19 07:51:47 +08:00
wangmengyang
df3164bd58 component/bt: disable information loggings from bt controller 2017-05-18 21:44:06 +08:00
Jeroen Domburg
356ce2f15a Make compiler happy 2017-05-18 18:50:15 +08:00
Jeroen Domburg
da5d166356 Release coprocessor registers when a task is deleted. 2017-05-18 15:35:28 +08:00
Jiang Jiang Jian
d8c0b505f6 Merge branch 'bugfix/btdm_gattc_discover_refresh_cache_#11077' into 'master'
component/bt: fixed the discover primary service not correct if server changes s…

…ervice during disconnect period.

See merge request !761
2017-05-18 15:04:36 +08:00
Jiang Jiang Jian
b5e2bcbb2c Merge branch 'bugfix/ble_add_adv_state_bug_#12301' into 'master'
component/bt: Fix the bug that sometimes received a ble connection & the adv wil…

…l stop, can not send adv again.

See merge request !759
2017-05-18 15:03:41 +08:00
Jiang Jiang Jian
0d66ac256b Merge branch 'bugfix/minor_fix_about_wifi_api_comments' into 'master'
esp32: minor fix for wifi api comments

Minor fix about the comments of wifi_promiscuous_pkt_type_t

See merge request !760
2017-05-18 14:59:50 +08:00
Jiang Jiang Jian
46519a019c Merge branch 'bugfix/btdm_switch_gatts_error_#12659' into 'master'
component/bt:fix the bug of uild error if switch off BLE GATTS. Bug number is #12659.

switch off BLE GATTS and build.

See merge request !766
2017-05-18 14:58:24 +08:00
Jiang Jiang Jian
9229902dff Merge branch 'bugfix/lib_dport_access' into 'master'
component/esp32 : fix library dport access protections.

1. add esp32 library access DPORT register protections.
2. add bluetooth library access DPORT register protections.
3. change register operation(suffix/prefix) to new style.

See merge request !757
2017-05-18 14:56:38 +08:00
Yulong
b401bbc4d6 component/bt: change the esp_ble_gattc_cache_refresh API return value from esp_gatt_status_t to esp_err_t. 2017-05-18 02:11:42 -04:00
Yulong
8f1a6989ee component/bt: Added the declaration for esp_ble_gattc_cache_refresh in the gattc api header file. 2017-05-18 02:07:16 -04:00
Yulong
d13c083397 component/bt:fix the bug of uild error if switch off BLE GATTS. Bug number is #12659. 2017-05-17 07:17:22 -04:00
Angus Gratton
b6063d160c nghttp module: Update to v1.22, use submodule instead of in-tree source 2017-05-17 14:05:54 +10:00
Tian Hao
52515d0edf component/esp32 : update wifi library and phy library 2017-05-17 11:46:53 +08:00
Angus Gratton
1ddf40feb7 Merge branch 'bugfix/freertos_larger_stacksize' into 'master'
Make internal stack size variables in FreeRTOS 32-bit instead of 16-bit

Stock FreeRTOS uses an uint16 to store stack sizes, making it impossible to allocate a stack >64K. This changes this into an uint32, allowing for larger stacks.

See merge request !677
2017-05-17 10:23:39 +08:00
Deomid Ryabkov
3ac3a78d7d Print the name of the task that hit the stack watchpoint
This may be enough to troubleshoot (increase stack size).

Merges https://github.com/espressif/esp-idf/pull/607
2017-05-17 11:36:13 +10:00
zelll
0b447db8d8 uart driver: Move UART_EVENT_MAX to last
Merges https://github.com/espressif/esp-idf/pull/594
2017-05-17 11:36:13 +10:00
Ankit Daftery
66191fc0b5 doc: Update wifi scan description
Code was refactored, updating documentation to reflect that

Merges https://github.com/espressif/esp-idf/pull/593
2017-05-17 11:36:13 +10:00
Konstantin Fedorov
31de20a217 docs: Error in gpio_install_isr_service() description
Merges https://github.com/espressif/esp-idf/pull/564
2017-05-17 11:04:17 +10:00
Deomid Ryabkov
a40fd2e7bd esp32.ld: Add an entry for ets_write_char_uart
It is mentioned in ets_sys.h, but not actually PROVIDEd.

Merges https://github.com/espressif/esp-idf/pull/545
2017-05-17 10:45:17 +10:00
Yulong
00cdf62ce7 component/bt: fixed the discover primary service not correct if server changes service during disconnect period. 2017-05-16 09:10:37 -04:00
Liu Zhi Fu
f59bf74057 esp32: minor fix for wifi api comments
Minor fix about the comments of wifi_promiscuous_pkt_type_t
2017-05-16 17:01:42 +08:00
Yulong
e797cd03f0 component/bt: Fix the bug that sometimes received a ble connection & the adv will stop, can not send adv again. 2017-05-16 03:10:16 -04:00
Angus Gratton
4dad7ab621 Merge branch 'bugfix/gen_esp32part' into 'master'
Partition table gen esp32part fixes: App offset errors, Python 3 support

As mentioned on forums, gen_esp32part.py wasn't erroring correctly if a non-64KB-aligned app partition was referenced.

Also merges a PR to add Python 2&3 support (with some tweaks). Not very useful in IDF right now, but useful for Arduino.

See merge request !751
2017-05-16 15:03:11 +08:00
Ivan Grokhotkov
98e15df7f6 examples: add ULP ADC example 2017-05-16 13:15:02 +08:00
Tian Hao
3d22f1ee2f component/esp32 : fix library sport access protections.
1. add esp32 library access DPORT register protections.
2. add bluetooth library access DPORT register protections.
3. change register operation(suffix/prefix) to new style.
2017-05-13 19:55:11 +08:00
Jiang Jiang Jian
1e0710f1b2 Merge branch 'bugfix/bt_acl_tx' into 'master'
components/bt: update libbtdm.a with a bugfix for an assertion failure when ACL-…

…U transmission is resumed

See merge request !755
2017-05-12 18:23:20 +08:00
Jiang Jiang Jian
a6608648db Merge branch 'driver_merge_tmp/mcpwm' into 'master'
feature: Motor Control PWM(mcpwm) driver and examples



See merge request !698
2017-05-12 18:21:38 +08:00
Jiang Jiang Jian
9e46b89a75 Merge branch 'feature/i2s_pdm_and_dac' into 'master'
Driver update: I2S pdm and built-in DAC

1. Modify I2S DAC built-in mode settings
2. Add I2S pdm mode
3. Correct I2S signal index in full-duplex mode
4. Modify dac output function
5. Add dac pad init functions
6. Modify DAC documentation

See merge request !740
2017-05-12 18:21:17 +08:00
Jiang Jiang Jian
bb25ac91f4 Merge branch 'bugfix/dualcore' into 'master'
component/soc: fix register access protection missing

- fix dport register access protection missing
- add rom function protect
- add normal register function check

See merge request !747
2017-05-12 18:19:31 +08:00
wangmengyang
23965694b1 components/bt: update libbtdm.a with a bugfix for an assertion failure when ACL-U transmission is resumed 2017-05-12 17:53:25 +08:00
Wangjialin
1f055d28b8 Driver update: I2S pdm and built-in DAC
1. Modify I2S DAC built-in mode settings
2. Add I2S pdm mode
3. Correct I2S signal index in full-duplex mode
4. Modify dac output function
5. Add dac pad init functions
6. Modify DAC documentation
7. Add i2s_set_dac_mode API
2017-05-12 16:21:02 +08:00
Kewal M Shah
2008f4d88c feature: add Motor Control PWM(mcpwm) driver
1. Name change from chopper to carrier, block diagram update, minor changes to example codes
2. mcpwm_reg.h changed, brought uniformity in comments, worked on suggestions, duty to accept float. Some name changes!
3. Minor readme changes and Indetation
4. Minor change:  move mcpwm_reg.h and mcpwm_struct.h to new path
5. Minor change: addition of BLDC example code and Readme
6. Name changed from epwm to mcpwm
7. Improve the reg name in mcpwm_struct.h
8. Name change chopper>carrier, deadband>deadtime
2017-05-12 15:47:59 +08:00
Tian Hao
377a1f5ea1 component/esp32 : do more fix of dualcore bug
1. the cache API in romcode will access DPORT register, so protect it.
2. fix STALL spelling.
3. check dport access by non-dport access function
2017-05-12 15:41:51 +08:00
Jiang Jiang Jian
9a64744850 Merge branch 'bugfix/ble_fix_exception_build_sr_msg_#12124' into 'master'
component/bt: fix the exception in attp_buil_sr_msg when handling gatt write bug. bug number #12124.

 fix the exception in attp_buil_sr_msg when handling gatt write bug. 

See merge request !743
2017-05-12 15:24:58 +08:00
Ivan Grokhotkov
272551301e Merge branch 'bugfix/unit_test_fixes' into 'master'
Small unit-test-related fixes

Fixes for some small bugs found running unit tests with heap poisoning turned on.

All are bugs in the tests, except for one FreeRTOS fix (when deleting a task, check if it's running on the other CPU and preempt it if so.)


See merge request !746
2017-05-12 14:53:46 +08:00
Ivan Grokhotkov
b576893167 Merge branch 'bugfix/nvs_dynamic_key_names' into 'master'
nvs: remove search cache at page level

Since read cache was introduced at page level, search cache became
useless in terms of reducing the number of flash read operations.
In addition to that, search cache used an assumption that if pointers to
keys are identical, the keys are also identical, which was proven wrong
by applications which generate key names dynamically.

This change removes CachedFindInfo, and all its uses. This is done at
expense of a small extra number of CPU operations (looking up a value in
the read cache is slightly more expensive) but no extra flash read
operations.

Ref TW12505
Ref https://github.com/espressif/arduino-esp32/issues/365

See merge request !753
2017-05-12 14:53:18 +08:00
island
e9dc0115fc component/bt: Add parameter check for attp_build_sr_msg function 2017-05-12 14:30:33 +08:00
Angus Gratton
51f20c6e7c gen_esp32part: Run unit tests on host as part of gitlab-ci 2017-05-12 16:28:41 +10:00
Ivan Grokhotkov
bf01525fc1 nvs: remove search cache at page level
Since read cache was introduced at page level, search cache became
useless in terms of reducing the number of flash read operations.
In addition to that, search cache used an assumption that if pointers to
keys are identical, the keys are also identical, which was proven wrong
by applications which generate key names dynamically.

This change removes CachedFindInfo, and all its uses. This is done at
expense of a small extra number of CPU operations (looking up a value in
the read cache is slightly more expensive) but no extra flash read
operations.

Ref TW12505
Ref https://github.com/espressif/arduino-esp32/issues/365
2017-05-12 12:18:08 +08:00
Angus Gratton
7eb0b3c2d7 gen_esp32part.py: Correctly error out for non-64KB aligned app partitions
Also clean up error handling for verification errors in general.

Ref https://esp32.com/viewtopic.php?f=13&t=1838&p=8685#p8659
2017-05-12 12:27:53 +10:00
Angus Gratton
c9969ab996 gen_esp32part.py: Update documentation link, add license 2017-05-12 12:27:38 +10:00
Angus Gratton
aaa8170865 gen_esp32part.py: Remaining Python 3 changes for unit tests to pass, plus unit tests
Ref https://github.com/espressif/esp-idf/pull/577
2017-05-12 12:27:13 +10:00
David M. Palmer
beffcd6468 gen_esp32part: Make compatible with both python2.7 and python3.
Merges https://github.com/espressif/esp-idf/pull/577
2017-05-12 11:53:44 +10:00
Liu Zhi Fu
dc78c55f61 esp32: update wifi lib to enlarge wifi task stack size
1. Enlarge wifi task stack size by 512Bytes to fix potential stack overflow issue
2. Modify wifi hmac tx queue size from 12 to 32 because we already limit the buffer number in ebuf
   management module
2017-05-12 09:36:41 +08:00
Ivan Grokhotkov
15a6145961 Merge branch 'feature/get_chip_ver' into 'master'
add API to get chip info

This change adds an API to get chip info, such as chip model, enabled capabilities, size of embedded flash, silicon revision.

Hello_world example is modified to print out the information about the chip. The example is also simplified by moving all code into the main task.

Ref TW12031.

See merge request !549
2017-05-11 12:05:55 +08:00
Ivan Grokhotkov
67b08c20ec Merge branch 'bugfix/update_wifi_lib_for_some_bugs' into 'master'
esp32: update wifi lib for some bugfix

1. Fix wifi ebuf free twice issue
2. Fix wifi internal assert issue
3. Fix a bug in esp_wifi_stop
4. Fix wifi crash issue
5. Fix wifi run out of memory when 10 udp connection stability test

See merge request !745
2017-05-11 12:02:50 +08:00
Ivan Grokhotkov
c742f7d860 Merge branch 'feature/base_mac_address' into 'master'
Optimize configuration of base MAC address

Application developer can call APIs to configure base MAC address
instead of using menuconfig.

See merge request !744
2017-05-11 12:01:51 +08:00
Liu Zhi Fu
4235b4c13e esp32: update wifi lib for some bugfix
1. Fix wifi ebuf free twice issue
2. Fix wifi internal assert issue
3. Fix a bug in esp_wifi_stop
4. Fix wifi crash issue
5. Fix 10 UDP connection test out of memory issue
2017-05-11 11:30:08 +08:00
Angus Gratton
304f0a399a freertos tests: Use CCOMPARE1 always in xPortInIsrContext() test
Mismatched CCOMPARE meant test would only run once.
2017-05-10 17:26:25 +10:00
Angus Gratton
3f68c5e988 vfs uart tests: Avoid 1 byte heap overrun & memory leak 2017-05-10 17:24:40 +10:00
Angus Gratton
895e7423a3 freertos: Preempt other CPU when deleting a task running on it
Includes related fix to preemption unit tests (delete a queue after deleting the task blocked on it.)
2017-05-10 17:23:33 +10:00
Jiang Jiang Jian
c518325385 Merge branch 'bugfix/dualcore_dport' into 'master'
component/esp32 : fix dualcore bug

1. When dual core cpu run access DPORT register, must do protection.
2. If access DPORT register, must use DPORT_REG_READ/DPORT_REG_WRITE and DPORT_XXX register operation macro.

See merge request !742
2017-05-10 11:27:01 +08:00
XiaXiaotian
b22067a8f0 Optimize configuration of base MAC address
Application developer can call APIs to configure base MAC address
    instead of using menuconfig.
2017-05-10 10:15:07 +08:00
Jiang Jiang Jian
eb00de5384 Merge branch 'bugfix/btdm_debug_gattc_adv' into 'master'
component/bt: fix adv stop event bug and add attribute table create

- Fix bug that advertising stop event produced while calling start_adv function
- Modify gatt server adv data and scan rsp data raw setting
- Add create attribute table error msg
- Delete redundant printf in previous commits

See merge request !739
2017-05-09 22:36:24 +08:00
Tian Hao
26a3cb93c7 component/soc : move dport access header files to soc
1. move dport access header files to soc
2. reduce dport register write protection. Only protect read operation
2017-05-09 18:06:00 +08:00
Yulong
84aeb2823a component/bt: fix the exception in attp_buil_sr_msg when handling gatt write bug. bug number #12124. 2017-05-09 03:06:29 -04:00
Tian Hao
f7e8856520 component/esp32 : fix dualcore bug
1. When dual core cpu run access DPORT register, must do protection.
2. If access DPORT register, must use DPORT_REG_READ/DPORT_REG_WRITE and DPORT_XXX register operation macro.
2017-05-08 21:53:43 +08:00
Jeroen Domburg
a41ac2d21d Merge branch 'bugfix/spi_example' into 'master'
SPI: Various fixes (examples, mem leak, arg check)

- Fix SPI master example to use DMA-capable memory for display initialization. Fixes https://github.com/espressif/esp-idf/issues/551
- SPI master: Do not leak DMA descriptor pointer array on free
- SPI Master/Slave: Check if DMA'ed buffers actually live in DMA-capable memory



See merge request !735
2017-05-08 17:28:55 +08:00
Jeroen Domburg
9962cc9c9f Fix out-of-bounds on dmaworkaround_channels_busy 2017-05-08 16:11:46 +08:00
island
da67773b02 component/bt: fix adv stop event bug and add attribute table create
error

- Fix bug that advertising stop event produced while calling start_adv function
- Modify gatt server adv data and scan rsp data raw setting
- add create attribute table error msg
- Delete redundant printf in previous commits
2017-05-08 15:44:36 +08:00
He Yin Ling
659cd2af43 CI: remove readme content:
README will be updated in internal wiki
2017-05-08 11:44:45 +08:00
He Yin Ling
24862b1a6c CI: remove CI configs and update test case files:
we'll auto assign cases to test jobs so we don't need those config
files. cases with different wifi modes will now be generated when
creating test case database, we need to remove them from YAML files.
2017-05-08 11:44:38 +08:00
Jiang Jiang Jian
65acd99cce Merge branch 'feature/btdm_gattc_add_API_prepare_write_char_desrc' into 'master'
Component/bt:add API to prepare write descriptor for gattc



See merge request !734
2017-05-05 20:34:41 +08:00
zhiweijian
71401bc9b3 Component/bt:add API to prepare write descriptor for gattc 2017-05-05 18:08:47 +08:00
Jiang Jiang Jian
fd079a8bd6 Merge branch 'bugfix/set_scan_bug_rebase_#10399' into 'master'
component/bt: component/bt: Check own address and filter policy for validity.

rebase the invalid scan params not report error.

See merge request !736
2017-05-05 17:47:27 +08:00
Ivan Grokhotkov
2260c714e7 add esp_chip_info API 2017-05-05 17:28:30 +08:00
Ivan Grokhotkov
33b8b7855e Merge branch 'bugfix/spiflash_fatfs_fixes_and_tests' into 'master'
FATFS fixes and tests

This MR includes a set of fixes related to FATFS, SDMMC, and wear levelling:

- `esp_vfs_fat_spiflash_mount` uses `FM_SFD` flag when creating the partition. The volume layout (given in `VolToPart` variable) was not compatible with SFD mode, so mkfs was failing. This fixes the volume layout to use "autodetect" for both volumes. Merges https://github.com/espressif/esp-idf/pull/559.

- fix `prepend_drive_to_path`function, which didn't prepend drive to path (while consuming 2k of stack space)

- fix stack overflow in vfs_fat_link function which allocated two 4kbyte `FIL` structures on the stack

- fix support for having two FATFS instances (in flash and SD) mounted at the same time

- unit tests written for FATFS on SDMMC are made common between SDMMC and WL implementations; FATFS unit tests on WL will run during CI

- fix inconsistent definition of PATH_MAX and ARG_MAX (TW12207, TW12104, https://github.com/espressif/esp-idf/issues/289)

See merge request !732
2017-05-05 17:03:17 +08:00
Ivan Grokhotkov
00358beb98 Merge branch 'feature/freertos_timer_tests' into 'master'
Unit tests: Add FreeRTOS timer tests

Basic unit tests for FreeRTOS timers.

See merge request !715
2017-05-05 17:02:55 +08:00
Yulong
3453824bf2 component/bt: component/bt: Check own address and filter policy for validity. 2017-05-05 04:31:24 -04:00
Jiang Jiang Jian
a7847dbec9 Merge branch 'bugfix/bt_sniff_mode' into 'master'
component/bt: fix some bugs related to bluetooth sniff mode in controller

1. fix some bugs in bluetooth sniff mode in controller
2. export some symbols to esp32.rom.ld including functions and global variables in ROM code
3. update libbtdm.a which includes "IRAM_ATTR" addition or removal for some functions

See merge request !729
2017-05-05 16:27:37 +08:00
Jiang Jiang Jian
4223c795a7 Merge branch 'feature/btdm_blufi_newcmd' into 'master'
Feature/btdm blufi newcmd

1.add a new cmd for blufi,esp32 close a gatt connection.

See merge request !697
2017-05-05 16:25:41 +08:00
Jiang Jiang Jian
195358ddb7 Merge branch 'bugfix/lwip_loopback' into 'master'
fix(lwip): fix tcp connect fail when enable LOOPIF

when enable the LOOPIF, because of use the loopnetif, the TCP connect will fail. see TW12029

See merge request !711
2017-05-05 15:45:14 +08:00
Ivan Grokhotkov
9f0dae4aeb newlib: define PATH_MAX and ARG_MAX consistently
Fixes https://github.com/espressif/esp-idf/issues/289.
Fixes https://github.com/espressif/esp-idf/issues/534.
2017-05-05 15:21:38 +08:00
Ivan Grokhotkov
53d5c5f668 vfs, fatfs: fix support for two FATFS instances (SD and flash)
- fix null pointer dereference in VFS when VFS implementations are added
  and removed in different order

- vfs_fat_sdmmc, vfs_fat_spiflash: pass correct drive to mkfs
  (previously it would always do mkfs in the first drive)

- add test case
2017-05-05 15:21:38 +08:00
Ivan Grokhotkov
5ac28e843d fatfs: clean up diskio code
- clean up diskio_spiflash, fix the max number of volumes supported
- move SDMMC code into a separate file
2017-05-05 15:21:38 +08:00
Ivan Grokhotkov
4e3ea66ec4 fatfs: run same fatfs tests for WL and SDMMC
This change moves actual test code into test_fatfs_common.c and
refactors setup/teardown code to be contained within separate functions.
For each SDMMC FATFS test, identical test is added which can run with
WL partition in flash.
2017-05-05 15:21:38 +08:00
Ivan Grokhotkov
a428af8c9f unit tests: change type of flash_test partition to ‘fat’
This change makes the spi_flash test partition usable for WL and FATFS
tests.
2017-05-05 15:21:37 +08:00
Ivan Grokhotkov
d18157e108 vfs_fat: allocate FIL structures on the heap in vfs_fat_link
vfs_fat_link opened two files to perform copy operation. File structures
were allocated on the stack. When _MAX_SS setting was increased in
ffconf.h due to wear levelling feature, the size of these structures
increased to ~4k each (~8k total). This exceeds stack size allocated for
tasks in most typical cases.

This change makes file structures dynamically allocated.
2017-05-05 15:21:37 +08:00
Ivan Grokhotkov
1a73b41b10 vfs_fat: fix prepend_drive_to_path
Originally, prepend_drive_to_path was designed to be a macro, and it
modified local path variables to point to a temporary buffers.
When it was converted into a function, modification to path variables
were no longer visible outside of this function.

In addition to that, prepend_drive_to_path allocated 2k bytes on the
stack for temporary path buffers. This is replaced with path buffers
allocated as part of vfs_fat context object. Locking is added around
parts of code which use these temporary buffers.

Additionally, _lock member of vfs_fat_ctx_t was placed after the
variable-sized files array, which caused the first entry in the
array to be never used. This change fixes the order of members
and adds comments.
2017-05-05 15:21:37 +08:00
Angus Gratton
72c7941b5e Unit tests: Add FreeRTOS timer tests 2017-05-05 14:38:15 +10:00
Jeroen Domburg
8af3fe4e84 Warn against and check for non-DMA-capable pointers being passed to SPI when DMA is used 2017-05-05 12:28:03 +08:00
devsaurus
530c3ca05c components/driver/spi_master: free dma descriptors
Signed-off-by: Jeroen Domburg <jeroen@espressif.com>
2017-05-05 11:13:42 +08:00
zhiweijian
fb45ee7a4c Component/bt: add new cmd for blufi ,ESP32 close a gatt connection 2017-05-04 20:31:58 +08:00
Nineis K
b65779eefe Fix vfs_fat_spiflash failed to mount / f_mkfs() 2017-05-04 17:31:14 +08:00
Liu Zhi Fu
7308db6f94 esp32: update wifi lib to enable ebuf sanity check
Modify wifi ebuf sanity checking from disaled to enabled
2017-05-04 15:14:11 +08:00
wangmengyang
244fbf1e84 component/bt: fix some bugs related to bluetooth sniff mode in controller
1. fix some bugs in bluetooth sniff mode in controller
2. export some symbols to esp32.rom.ld including functions and global variables in ROM code
3. update libbtdm.a which includes "IRAM_ATTR" addition or removal for some functions
2017-05-04 15:08:07 +08:00
Jiang Jiang Jian
8f9707fd07 Merge branch 'feature/btdm_vhci_intnum' into 'master'
change VHCI interrupt type to software interrupt

component/bt : change VHCI interrupt type to software interrupt(int no 7)

See merge request !717
2017-05-04 14:58:32 +08:00
Jiang Jiang Jian
79d9d35414 Merge branch 'bugfix/gattc_not_pro_svc_chg_evt_#12079' into 'master'
component/bt:fix the bug with gatt client cant not receive the gatt server service change event.

fix the bug with gatt client cant not receive the gatt server service change event.

See merge request !726
2017-05-04 14:51:42 +08:00
Tian Hao
d648835def component/bt : fix the comment 2017-05-03 11:58:52 +08:00
Yulong
c0825b35c1 component/bt:fix the bug with gatt client cant not receive the gatt server service change event. 2017-05-02 22:53:48 -04:00
Jiang Jiang Jian
1cef8d8ac1 Merge branch 'bugfix/ble_fix_bluedroid6.0_bug_from_7.1' into 'master'
compoent/bt:Fixed the BT/BLE statck bug from bluedroid7.1.1

The bluedroid 7.1.1 has fixed some bug, synchronize to our SDK now.

See merge request !719
2017-05-02 19:38:50 +08:00
Jiang Jiang Jian
29d620fa10 Merge branch 'bugfix/gatts_cannot_set_value_#11754' into 'master'
component/bt:Fixed the bug for #11754:GATT service should provide command to set…

… char/descriptor read value.

See merge request !721
2017-05-02 19:37:45 +08:00
Ivan Grokhotkov
07b61d54f7 Merge branch 'bugfix/rtc_fast_freq_init' into 'master'
esp32: select 8M clock as RTC_FAST_CLK on startup

Even though RTC_CLK_CONFIG_DEFAULT correctly had RTC_FAST_FREQ_8M as the
fast clock, the bootloader modified fast_freq field to the currently
selected RTC_FAST_CLK (so that the clock choice is not affected by the
bootloader). The application startup code never switched to 8M clock,
which caused the default (XTAL/4) to be used as RTC_FAST_CLK. This had
caused a number of issues, such as touch pads not working in deep sleep.

Fixes https://github.com/espressif/esp-idf/issues/542.
Ref TW12053.

See merge request !709
2017-04-28 19:57:42 +08:00
Ivan Grokhotkov
e18f8da528 Merge branch 'bugfix/assert_on_pin_task_nonexistent_cpu' into 'master'
Assert when a new task is started on a nonexisting CPU

Previously, starting a task on a CPU ID higher than the amount of CPUs FreeRTOS is configured with would not start the task and possibly have unintended side effects due to some out-of-bounds array writes. Assert on this so the app aborts cleanly.

See merge request !701
2017-04-28 19:55:26 +08:00
Yulong
e8a3f87e4f component/bt:Fixed the bug for #11754:GATT service should provide command to set char/descriptor read value. 2017-04-28 07:23:52 -04:00
Yulong
834d980e39 compoent/bt:Fixed the BT/BLE statck bug from bluedroid7.1.1 2017-04-28 05:31:57 -04:00
Liu Zhi Fu
e86b2dc9c3 esp32: update WiFi lib for ebuf sanity check fail issue
Fix WiFi ebuf sanity check issue
2017-04-28 17:27:55 +08:00
Tian Hao
5c0d0d4854 component/bt : change VHCI interrupt type to software interrupt(int no 7) 2017-04-28 17:20:06 +08:00
Liu Zhi Fu
5cf3b1c201 esp32/lwip: adjust some lwip options and update wifi lib
1. Modify TCP TX window from 2 to 4
2. Modify TCPIP task stack default size from 2048 to 2560
3. Update wifi lib for TCP performance optimization
2017-04-28 15:25:33 +08:00
Angus Gratton
7db85a386a Merge branch 'bugfix/i2s_driver' into 'master'
I2S driver - fixed support for 24 and 32-bits, fixed tx/rx at the same time

- Modify sample can test with 24, 32-bits audio
- Add i2s sample README
- simply i2s_push function
- change sample rates, bits per sample, channel on fly

See merge request !483
2017-04-28 08:00:07 +08:00
krzychb
1a19747678 Getting started guides 2017-04-27 19:51:42 +02:00
Ivan Grokhotkov
6f0a9f76cd Merge branch 'feature/ci_minor_fixes' into 'master'
ci minor fixes



See merge request !707
2017-04-28 00:25:13 +08:00
Ivan Grokhotkov
b8c1720736 Merge branch 'bugfix/spi_master_ci_test_fix' into 'master'
Fix SPI master CI test

CI test fails because the values it checks haven't been updated to the changes in the clock calculations. This fixes that.

See merge request !710
2017-04-28 00:24:28 +08:00
Jiang Jiang Jian
5728c8bd2a Merge branch 'bugfix/freertos_suspend_resume' into 'master'
freertos: Enable vTaskSuspend()/vTaskResume() API

Adds relevant unit tests.

TW11878

See merge request !702
2017-04-27 21:16:15 +08:00
Jiang Jiang Jian
0759897bfb Merge branch 'bugfix/btdm_gattc_adv_bug' into 'master'
component/bt: Fix memory leakage, connection fail bugs

- Fix memory leakage while deregisting gatt app
- Fix Android connection failed problem
- Fix service_uuid_len error in adv data

See merge request !706
2017-04-27 21:13:16 +08:00
Jiang Jiang Jian
a21d524ca0 Merge branch 'feature/btdm_ble_bt_separa' into 'master'
Feature/btdm ble bt separa

@Jack @snake @igrokhotkov @angus @island please help to review the code.
Separate the bt/ble code. After the separate, can save 15k~25k ram & 240k~460k code size(depending on the menuconfig).

See merge request !684
2017-04-27 21:12:44 +08:00
Jiang Jiang Jian
899a5d223f Merge branch 'feature/opt_scan_before_connect' into 'master'
optimize scan before station connecting to AP

1. Store the information of AP(ssid, password, bssid, channel, etc)
    into nvs when station connects to AP successfully. If station
    connects to the same AP next time, it will scan the stored channel of the AP
    first.

2. Add a parameter of channel for scanning before connecting to AP.
    If the channel is set to 0, station will scan full channels. If it
    is set to 1~13, station will only scan the channel.

See merge request !704
2017-04-27 21:11:13 +08:00
Liu Han
aeecbcc7ee fix(lwip): fix tcp connect fail when enable LOOPIF 2017-04-27 18:59:47 +08:00
Jeroen Domburg
9134c13c73 Fix SPI master CI test 2017-04-27 14:50:02 +08:00
XiaXiaotian
100d2dd938 optimize scan before station connecting to AP
1. Store the information of AP(ssid, password, bssid, channel, etc)
    into nvs when station connects to AP successfully. If station
    connects to the same AP next time, it will scan the stored channel of the AP
    first.

    2. Add a parameter of channel for scanning before connecting to AP.
    If it is set to 1~13, station will scan starting from the channel.
    If the channel of AP is unknown, set it to 0.
2017-04-27 14:28:52 +08:00
Ivan Grokhotkov
1c3b40adeb esp32: select 8M clock as RTC_FAST_CLK on startup
Even though RTC_CLK_CONFIG_DEFAULT correctly had RTC_FAST_FREQ_8M as the
fast clock, the bootloader modified fast_freq field to the currently
selected RTC_FAST_CLK (so that the clock choice is not affected by the
bootloader). The application startup code never switched to 8M clock,
which caused the default (XTAL/4) to be used as RTC_FAST_CLK. This had
caused a number of issues, such as touch pads not working in deep sleep.

Fixes https://github.com/espressif/esp-idf/issues/542.
Ref TW12053.
2017-04-27 12:44:54 +08:00
Jeroen Domburg
46fa2cfb46 Merge branch 'feature/spi_slave' into 'master'
Split common SPI stuff out of master driver; add slave driver; add workaround for DMA issue.

This merge req mainly adds a slave device. In order to do this, the original master driver is refactored into common code shared by master and slave modes, and a slave driver is added.

The other things added are:
- Added a workaround for a 'feature' of the ESP32 silicon that can lock up the receive DMA channel in some situations. This can only be fixed by resetting *both* DMA channels. The workaround implemented makes sure that the reset only happens when both channels are idle
- Got rid of the automatic choice between register- and DMA-based transfers. The master (and slave) code will now always go for a DMA transfer if a DMA channel is given, and always go for register-based transfers if no DMA channel is given.
- Add in a bunch of fixes for outstanding Github issues.

See merge request !659
2017-04-27 12:28:42 +08:00
Jeroen Domburg
04b901e629 SPI: More MR issues fixed, style fixup 2017-04-27 11:49:04 +08:00
Jeroen Domburg
bf0c32364a SPI: Also check SPI_TRANS_USE_[T|R]XDATA when decifding to turn on MOSI/MISO. Fixes https://github.com/espressif/esp-idf/issues/488 2017-04-27 11:49:04 +08:00
Jeroen Domburg
881a90b8ab SPI: SPI master clock calculation: n has a minimum of 2 to allow for both a low and a high cycle. Fixes https://github.com/espressif/esp-idf/issues/491 2017-04-27 11:49:04 +08:00
Jeroen Domburg
cecb846450 SPI: Fix comment for 3wire, make GPIO pins GPIO_MODE_INPUT_OUTOUT. Fixes https://github.com/espressif/esp-idf/issues/533 2017-04-27 11:49:04 +08:00
Jeroen Domburg
4c06dca15c SPI: Small fixes according to MR comments 2017-04-27 11:49:04 +08:00
Jeroen Domburg
e9c372bc2d SPI: Split common SPI stuff out of master driver; add slave driver; add workaround for DMA issue. 2017-04-27 11:49:04 +08:00
Tuan PM
fc1ee2666a I2S: fixed support for 24 and 32-bits, fixed tx/rx at the same time and others in log:
Add support 24, 32 bits

@jxmao optimize i2s_zero_buffer

@jxmao correct config support slave mode

@jxmao correct setup pin support tx/rx at the same time

Enhance pin power

@jxmao add dynamic change number of channels

remove nvs_init

remove start log and enhance power pin setup

using enum for i2s_channel and i2s_bits_per_sample, return ESP_ERR_INVALID_ARG when check params

validate i2s_bits_per_sample and channel

check tx & rx buffer before fill zero

remove checking channel as @jxmao suggest

limit dma buffer

modify i2s pin back to gpio mux before configure gpio matrix, resolve github issue #512

Add support 24, 32 bits

reduce push function

Modify sample can test with 24, 32-bits

Add i2s sample README

Fixed i2s_set_clk got reset sometime

can changes bit-wide while running

Fix sample rate calculation for DAC mode from @jeroen

modify example can change bits per sample every 5 seconds

cleanup

add comment for bytes_per_sample

update as @angus suggestions

Add i2s_set_clk api

I2S driver bug fixed as following log:

@jxmao optimize i2s_zero_buffer

@jxmao correct config support slave mode

@jxmao correct setup pin support tx/rx at the same time

Enhance pin power

@jxmao add dynamic change number of channels

remove nvs_init

remove start log and enhance power pin setup

using enum for i2s_channel and i2s_bits_per_sample, return ESP_ERR_INVALID_ARG when check params

validate i2s_bits_per_sample and channel

check tx & rx buffer before fill zero

remove checking channel as @jxmao suggest

limit dma buffer

modify i2s pin back to gpio mux before configure gpio matrix, resolve github issue #512

limit dma buffer to 4092

change gpio_matrix_*_check to inline function, remove some comments and rename test_i2s function to setup_triangle_sine_waves

for change commit title
2017-04-27 10:00:10 +07:00
Anton Maklakov
079b0128de build: Fix comments and avoid build warning 2017-04-27 10:51:45 +08:00
Ivan Grokhotkov
1324e565fa Merge branch 'bugfix/esp32_core_dump_sanity_checks' into 'master'
esp32: Core dump sanity checks

Adds sanity checks when doing core dump to flash

- CRC for core dump flash partition config
- Tasks with corrupted TCBs are skipped
- Assertions to check that nothing is written beyond core dump flash partition

Ref TW11879

See merge request !686
2017-04-27 10:43:58 +08:00
Ivan Grokhotkov
fe695a9af8 Merge branch 'feature/cpu_restart_sequence' into 'master'
Restart sequence requires set up for app cpu.

These changes required to make correct restart of CPU form JTAG.

See merge request !703
2017-04-27 09:30:42 +08:00
Alexey Gerenkov
98895af68b esp32: Core dump sanity checks were added
- CRC for core dump flash partition config
 - Tasks with corrupted TCBs are skipped
 - Assertions to check that nothing is written beyond core dump flash partition
2017-04-26 21:13:02 +03:00
Yulong
54aaeacb32 component/bt:Change the bt Kconfig BT_ACL_CONNECTIONS type from choice to int(range). 2017-04-26 05:27:21 -04:00
Yulong
c31953a005 component/bt:Fixted the bug of HCI comment timeout error.
1. remove the SMP_INCLUDED == TRUE insite the btm_find_dev_by_handle function.
2. change the Kconfig with BT_ACL_CONNECTIONS
2017-04-26 04:23:45 -04:00
island
a3717515a2 component/bt: Fix memory leakage, connection fail bugs
- Fix memory leakage while deregisting gatt app
- Fix Android connection failed problem
- Fix service_uuid_len error in adv data
2017-04-26 16:07:56 +08:00
Dmitry Yakovlev
baeab37560 Debug info removed. 2017-04-26 10:31:05 +03:00
Yulong
891257b4dd component/bt:Change the bt Kconfig BT_ACL_CONNECTIONS from int to choice. 2017-04-26 02:28:34 -04:00
Ivan Grokhotkov
0fe765a977 Merge branch 'feature/32k_xtal' into 'master'
add support for 32k XTAL as RTC_SLOW_CLK source

- RTC_CNTL_SLOWCLK_FREQ define is removed; rtc_clk_slow_freq_get_hz
  function can be used instead to get an approximate RTC_SLOW_CLK
  frequency

- Clock calibration is performed at startup. The value is saved and used
  for timekeeping and when entering deep sleep.

- When using the 32k XTAL, startup code will wait for the oscillator to
  start up. This can be possibly optimized by starting a separate task
  to wait for oscillator startup, and performing clock switch in that
  task.

- Fix a bug that 32k XTAL would be disabled in rtc_clk_init.

- Fix a rounding error in rtc_clk_cal, which caused systematic frequency
  error.

- Fix an overflow bug which caused rtc_clk_cal to timeout early if the
  slow_clk_cycles argument would exceed certain value

- Improve 32k XTAL oscillator startup time by introducing bootstrapping
  code, which uses internal pullup/pulldown resistors on 32K_N/32K_P
  pins to set better initial conditions for the oscillator.

Ref TW11683.

Ref https://esp32.com/viewtopic.php?f=13&t=1570

Fixes https://github.com/espressif/esp-idf/issues/337.

See merge request !696
2017-04-26 14:01:59 +08:00
Dmitry Yakovlev
00aa73c6cf Restart sequence requires set up for app cpu. 2017-04-26 07:47:37 +03:00
Ivan Grokhotkov
6353bc40d7 Add support for 32k XTAL as RTC_SLOW_CLK source
- RTC_CNTL_SLOWCLK_FREQ define is removed; rtc_clk_slow_freq_get_hz
  function can be used instead to get an approximate RTC_SLOW_CLK
  frequency

- Clock calibration is performed at startup. The value is saved and used
  for timekeeping and when entering deep sleep.

- When using the 32k XTAL, startup code will wait for the oscillator to
  start up. This can be possibly optimized by starting a separate task
  to wait for oscillator startup, and performing clock switch in that
  task.

- Fix a bug that 32k XTAL would be disabled in rtc_clk_init.

- Fix a rounding error in rtc_clk_cal, which caused systematic frequency
  error.

- Fix an overflow bug which caused rtc_clk_cal to timeout early if the
  slow_clk_cycles argument would exceed certain value

- Improve 32k XTAL oscillator startup time by introducing bootstrapping
  code, which uses internal pullup/pulldown resistors on 32K_N/32K_P
  pins to set better initial conditions for the oscillator.
2017-04-26 12:43:22 +08:00
Angus Gratton
66726ec166 freertos: Enable vTaskSuspend()/vTaskResume() API
Adds relevant unit tests.

TW11878
2017-04-26 12:50:20 +10:00
Yulong
572e320795 component/bt:change the kconfig.
1.change the rowdata to rodata;
2.change BT_ACL_CONNECTIONS to Maximum BT/BLE connection count.
3. change the comments of bt_target.h:505 from 40 to 5.
2017-04-25 22:47:16 -04:00
Angus Gratton
08cfcbb6ea bootloader: Add some debug logging around OTA selection 2017-04-26 11:23:35 +10:00
Angus Gratton
e2479b46f7 secure boot: Fix bootloader image verification failure
* Failure prevented secure boot from enabling.
* Also adds unit test cases for esp_image_basic_verify()

Ref https://esp32.com/viewtopic.php?f=2&t=1602
TW11878
2017-04-26 11:23:35 +10:00
Yulong
a4d9aadeca component/bt:Merge the new master to this branch 2017-04-25 08:14:54 -04:00
Yulong
09f69fe9ea Merge branch 'master' of ssh://gitlab.espressif.cn:27227/idf/esp-idf 2017-04-25 07:58:24 -04:00
Ivan Grokhotkov
b540322dc1 Merge branch 'feature/wear_levelling' into 'master'
wear levelling

This MR adds wear levelling component. It presents an interface similar to the interface of spi_flash and esp_partition. Inside, it stores data inside a partition to in a way that reduces worst case number of erase cycles for any given sector.

Also included are APIs similar to the ones provided for SDMMC to mount FAT filesystem on top of the wear levelling partition. A simple example shows how this API can be used.

Ref TW10338.

See merge request !567
2017-04-25 19:46:11 +08:00
Jeroen Domburg
aaeb2bd110 Assert when a new task is started on a nonexisting CPU 2017-04-25 17:47:25 +08:00
Ivan Grokhotkov
8d6a03820a lwip: fix error when building on OS X, only build ppp if enabled
- reorder directories listed in COMPONENT_SRCDIRS so that
  subdirectories precede parent directories

- don’t include PPP source directories if PPP support is not enabled
2017-04-25 17:22:09 +08:00
Yulong
5544f98add component/bt:separate the SMP, GATT module set the macro output the function.
1. close classic bt, can save 233k code size;
2. close smp module, can save 136k code size;
3. close gattc module, can save 24k code size;
4. close gatts module, can save 16k code size;
4. close the bluedroid stack log, can save 120k code size.
2017-04-25 04:55:29 -04:00
Ivan Grokhotkov
8131c77860 Merge branch 'feature/xtal_freq_autodetect' into 'master'
XTAL frequency detection, support for selecting XTAL frequency

This MR adds more robust XTAL frequency detection code (which gets run in the bootloader) and an option to set XTAL frequency in Kconfig. By default we still use autodetection, since it is more reliable than the one used in ROM code.

This will help with issues about XTAL frequency detection in high ambient temperature conditions.

Ref TW12008

See merge request !694
2017-04-25 16:30:36 +08:00
Ivan Grokhotkov
fdfa7e6cc2 Merge branch 'bugfix/sdmmc_timeout' into 'master'
sdmmc: handle card removal when CD is not used

When SD card is removed during transaction, SDMMC peripheral can report
a range of errors, such as timeouts, CRC errors, start/end bit errors.
Under normal conditions (card is inserted), SDMMC peripheral also generates
command done or data done interrupts. When the card is removed, such
interrupts may not be always generated.

This change fixes handling of timeout interrupts and SBE interrupts.
It also adds a one second timeout into the event processing loop. This
timeout allows applications to recover in cases when the SDMMC peripheral
doesn’t generate command/data done event on card removal.

Fixes TW11592.

See merge request !678
2017-04-25 16:27:12 +08:00
Jiang Jiang Jian
3f4e917ad6 Merge branch 'feature/ppp_over_serial' into 'master'
Enable experimental/unsupported PPP over Serial driver

From PR #272 https://github.com/espressif/esp-idf/pull/272

See merge request !690
2017-04-25 14:02:55 +08:00
Jiang Jiang Jian
937940c989 Merge branch 'bugfix/fatfs_sdmmc_cleanup' into 'master'
fat/sdmmc: unmount FATFS object on error

Failure to call f_mount(NULL,...) makes FATFS attempt to clean up the old
FS object upon next mount. If previous mount operation has failed, some
parts of FS object may not be fully initialized, which will cause errors
(such as attempting to delete a mutex which wasn’t allocated).

Fixes TW11594.

See merge request !679
2017-04-25 13:48:34 +08:00
Jiang Jiang Jian
775a1fbc6d Merge branch 'bugfix/remove_unneeded_header_file_including' into 'master'
remove unneeded header file including



See merge request !695
2017-04-25 13:23:03 +08:00
Yulong
45999b69d6 component/bt: Set the style to the same, output the macro in the function.
1.After the separate, can save 15k~25k ram & 240k~460k code size(depending on the menuconfig).
2017-04-24 23:46:37 -04:00
Jiang Jiang Jian
90c8bd93e0 Merge branch 'feature/ethernet_lan8720' into 'master'
ethernet: Add LAN8720 phy support, move PHY to components

Encompasses PR #383 https://github.com/espressif/esp-idf/pull/383

Also includes changes to move PHY support functions into ethernet component, similar to #398 https://github.com/espressif/esp-idf/pull/398/files.





See merge request !540
2017-04-24 17:03:37 +08:00
XiaXiaotian
0c358c37f5 remove unneeded header file including 2017-04-24 16:11:26 +08:00
Ivan Grokhotkov
6b237de909 Add XTAL frequency selection to Kconfig
This change allows XTAL frequency to be selected using menuconfig
2017-04-24 15:55:02 +08:00
Ivan Grokhotkov
3323f31cfb soc: implement XTAL frequency detection
ROM code already implements XTAL frequency detection, but it uses the 8M
clock before the clock tuning parameters are initialized. With the
zero clock tuning parameter, 8M clock has significant frequency deviation
at high temperatures, which can lead to erroneous detection of 40 MHz
crystal as a 26 MHz one.

This change adds XTAL frequency detection code to rtc_clk_init routine,
and detection is performed after the 8M clock tuning parameter as been
initialized.
2017-04-24 15:29:30 +08:00
Jiang Jiang Jian
99e461c676 Merge branch 'bugfix/tw7105_tcp_stable_test_abort_issue' into 'master'
lwip: fix tcp stable test abort issue

This MR covers following changes:
1. Modify dhcp server timer to 1 seconds
2. Enable ETHARP_TRUST_IP_MAC. Consider following scenario: we are in throughput test or traffic stability test, if this option is disabled, then every 5 minutes, the IP/MAC entry in arch cache is aged out, however, the traffic continuously send to lwip from application, because there is no IP/MAC entry in ARP cache, then the packets have to be buffered in ARP queue and a ARP request is triggered, but the ARP queue can only holds 3 packets, the later packets will be dropped, then if the traffic is big, a lot of packets will be dropped here before we get the right ARP response. For TCP, this will trigger re-transmit, it's intolerable for some application, such as real time audio, if re-transmit happen, then performance of voice will be impact. For UDP, sometimes it may also cause problem, such as DHCP, if here we failed to send the DHCP here, we has to wait the DHCP timeout etc... so this option is enabled here by default.

See merge request !681
2017-04-24 13:10:21 +08:00
Jiang Jiang Jian
733e404fcf Merge branch 'feature/optimize_text_rodata_in_iram_dram' into 'master'
optimize WiFi text rodata in iram dram

1. optimize text and rodata in wifi lib

2. update smartconfig

See merge request !668
2017-04-24 13:03:07 +08:00
Jiang Jiang Jian
29002a1c83 Merge branch 'feature/add_limit_for_all_dynamic_ebuf' into 'master'
esp32: update wifi lib for limitting dynamic wifi buffer

Add limit for all dynamic wifi ebuf to avoid wifi run out of memory in some extreme scanrio. 
The default max allocated dynamic tx buffer is 32
The default max allocated dynamic rx buffer is 64, make default value is bigger because when all packets we received are small packets, e.g. the length is 64Bytes, then 64K can hold 1000 packets, so 64 maybe a good candidate default value, anyway the customer can configure it via menuconfig.
The default dynamic wifi internal long/long-long mgmt is 32, generally 32 is enough for mgmt packet (beacon/auth/assoc/probe/null etc). Generally when all the 32 mgmt buffer is run out of memory, it means internal wifi state machine may has problem, we need to debug it.

See merge request !683
2017-04-24 11:49:50 +08:00
Jiang Jiang Jian
97142bb8db Merge branch 'feature/support_read_mac_addr_from_customer_efuse' into 'master'
Add customer MAC address that read from efuse



See merge request !673
2017-04-24 11:30:55 +08:00
XiaXiaotian
9d8425bd72 put RODATA of libphy.a into DRAM
There are some RODATAs of libphy.a that are called in ISR. So need
    to put them into DRAM to avoid access them when R/W SPI flash. Due
    to the RODATAs which are called in ISR haven't been picked out to
    put into DRAM, put all of the RODATA of libphy.a into DRAM. This
    will be optimized in the future.
2017-04-24 11:22:49 +08:00
Alexey Gerenkov
77a92e6dcc esp32: Added dumping info from traceport upon reset by any WDT
- Last PC info and waiti mode indication are printed for both CPUs
 - Raw traceport regs values are printed only for log levels higher than DEBUG
2017-04-23 22:07:56 +03:00
Yulong
2cfde4dfd9 compoent/bt:change the code style 2017-04-23 05:52:18 -04:00
Yulong
1016ab1c2a component/bt:separate the smp_br_connect_callback from the BLE only mode 2017-04-23 00:48:23 -04:00
Ivan Grokhotkov
404e89da4d Merge branch 'bugfix/rtc_reg_fields' into 'master'
soc: allow REG_SET_FIELD to be used for bit fields

- Fixes an issue with `rtc_clk_apll_enable`: https://esp32.com/viewtopic.php?f=13&t=1673
- Fixes `rtc_clk_fast_freq_set` function always selecting XTAL/4 as fast clock source.
- Fixes regression in deep sleep current (7uA instead of 5uA).

See merge request !674
2017-04-21 19:40:45 +08:00
Ivan Grokhotkov
8399ed900a Merge branch 'bugfix/xtal_freq_after_wdt_reset' into 'master'
rtc_clk_init: handle case when XTAL frequency has already been set

On first reset, ROM code writes the estimated XTAL frequency into
RTC_APB_FREQ_REG (aka STORE5). If the application doesn’t specify exact
XTAL frequency (which is always the case for now), rtc_clk_init will
guess what kind of XTAL is used (26M or 40M), based on the estimated
frequency. Later, detected frequency is written into RTC_XTAL_FREQ_REG
(aka STORE4).

When the application switches clock source to PLL, APB frequency changes
and RTC_APB_FREQ_REG is updated. If the application encounters an RTC
WDT reset, RTC_APB_FREQ_REG will not be updated prior to reset. Once the
application starts up again, it will attempt to auto-detect XTAL
frequency based on RTC_APB_FREQ_REG, which now has value of 80000000.
This will fail, and rtc_clk_xtal_freq_estimate will fall back to the
default value of 26 MHz. Due to an incorrect XTAL frequency, PLL
initialization will also take incorrect path, and PLL will run at a
different frequency. Depending on the application this may cause just
garbage output on UART or a crash (if WiFi is used).

This change checks if RTC_XTAL_FREQ_REG has already been set before trying
to estimate XTAL frequency based on the value of RTC_APB_FREQ_REG, and
uses RTC_XTAL_FREQ_REG value if it is valid.

Fixes TW11738.

See merge request !691
2017-04-21 19:38:46 +08:00
XiaXiaotian
b238bc691d Do not put the whole object files into IRAM. Add attributes to the functions called in ISR instead. 2017-04-21 15:38:01 +08:00
XiaXiaotian
5553fbd537 add base MAC address storage choice.
Base MAC address can be stored in default manufacture-defined or customer
    pre-defined place in EFUSE and other place e.g. flash or EEPROM.
    If choose to use base MAC address which is stored in other place, please
    call esp_base_mac_addr_set_external() before initializing WiFi/BT/Ehternet.
2017-04-21 14:55:11 +08:00
Yulong
b5989a6b26 component/bt:Recovery the btm_establish_continue when created the acl connection 2017-04-21 02:43:35 -04:00
Angus Gratton
fd3ef4cdfe Merge branch 'bugfix/github_fixes' into 'master'
Various fixes from Github

Some one-line fixes from Github PRs.

See merge request !689
2017-04-21 12:27:32 +08:00
Angus Gratton
94a61389ff Merge branch 'bugfix/driver_const_params' into 'master'
components/driver: 'const' all config calls.

Merges PR #519 https://github.com/espressif/esp-idf/pull/519

See merge request !687
2017-04-21 12:25:15 +08:00
Angus Gratton
f3a567b65d PPPoS: Rearrange config items (move TCP/IP stack size to LWIP), mark as experimental/unsupported
Ref #272
2017-04-21 14:23:34 +10:00
Adrian Muzyka
47c722d674 Enable lwip PPPoS support
* Fix some lwip api bugs
 * Added PPP_SUPPORT parameter to lwip Kconfig
 * Added example pppos_client

Merges #272 https://github.com/espressif/esp-idf/pull/272
2017-04-21 14:23:34 +10:00
Liu Zhi Fu
561a1a64f2 esp32: update wifi lib for limitting dynamic wifi buffer
Add limit for all dynamic wifi ebuf to avoid wifi run out of memory in some extreme scanrio
2017-04-21 10:38:00 +08:00
Ivan Grokhotkov
6e9d60ef70 rtc_clk_init: handle case when XTAL frequency has already been set
On first reset, ROM code writes the estimated XTAL frequency into
RTC_APB_FREQ_REG (aka STORE5). If the application doesn’t specify exact
XTAL frequency (which is always the case for now), rtc_clk_init will
guess what kind of XTAL is used (26M or 40M), based on the estimated
frequency. Later, detected frequency is written into RTC_XTAL_FREQ_REG
(aka STORE4).

When the application switches clock source to PLL, APB frequency changes
and RTC_APB_FREQ_REG is updated. If the application encounters an RTC
WDT reset, RTC_APB_FREQ_REG will not be updated prior to reset. Once the
application starts up again, it will attempt to auto-detect XTAL
frequency based on RTC_APB_FREQ_REG, which now has value of 80000000.
This will fail, and rtc_clk_xtal_freq_estimate will fall back to the
default value of 26 MHz. Due to an incorrect XTAL frequency, PLL
initialization will also take incorrect path, and PLL will run at a
different frequency. Depending on the application this may cause just
garbage output on UART or a crash (if WiFi is used).
2017-04-21 10:33:58 +08:00
Angus Gratton
52c378b447 bluedroid: Fix compilation warnings related to aliasing
Merges PR #518 https://github.com/espressif/esp-idf/pull/518
2017-04-21 11:31:40 +10:00
Michael Kellner
eeb0aaa09e spidriver: Display length errors correctly
SPI transfer length is bits, not bytes, so the error should indicate bits. Also, there are separate lengths for rx and
tx (confusingly named rxlength and length... if rxlength is 0, length is used). The code checks the tx length for the
rx, so it never validates rxlength.

Originally contributed as part of #511 https://github.com/espressif/esp-idf/pull/511
2017-04-21 11:03:07 +10:00
Jonathan Kaufmann
bf82b441ae Fixed bug in ledc_set_fade_with_step where returned while holding critical section.
Merges PR #515 https://github.com/espressif/esp-idf/pull/515
2017-04-21 11:03:07 +10:00
Michael Kellner
a523aa3ef5 mbedtls port: Fix detection of EWOULDBLOCK/EAGAIN with non-blocking sockets
Since mbedtls_net_errno is reset by fcntl, it is reset after calling
net_would_block, so the call to mbedtls_net_errno in mbedtls_net_recv
and mbedtls_net_send will always get back 0. This change propagates
the value returned by mbedtls_net_errno up through net_would_block,
to allow the correct error value to be used and avoid a redundant
call to mbedtls_net_errno.

Merges PR #511 https://github.com/espressif/esp-idf/pull/511
2017-04-21 10:46:34 +10:00
Yulong
bc807a18d1 component/bt:Finish all the separate code from BT & BLE 2017-04-20 07:18:05 -04:00
Angus Gratton
453b5ded1d ethernet: Add convenience functions esp_eth_smi_wait_value() & esp_eth_smi_wait_set()
Covers the common case of waiting for a particular PHY register to have a particular value.
2017-04-20 18:03:00 +10:00
Angus Gratton
453722ba54 ethernet: Refactor PHY support to be part of ethernet component
Move generic PHY support into its own interface
2017-04-20 18:03:00 +10:00
Liu Zhi Fu
ab37f89f55 lwip: fix tcp stable test abort issue
1. Modify dhcp server timer to 1 seconds
2. Enable ETHARP_TRUST_IP_MAC

modify according to review
2017-04-19 17:39:32 +08:00
Yulong
2723504473 add the GATTC_INCLUDED marco to close the bta_gattc module when not used the GATTC 2017-04-19 05:16:24 -04:00
Yulong
0ddadc98a3 separate the btm layer from SMP security 2017-04-19 03:44:01 -04:00
Ivan Grokhotkov
8f02730e1f fat/sdmmc: unmount FATFS object on error
Failure to call f_mount(NULL,...) makes FATFS attempt to clean up the old
FS object upon next mount. If previous mount operation has failed, some
parts of FS object may not be fully initialized, which will cause errors
(such as attempting to delete a mutex which wasn’t allocated).
2017-04-19 15:03:30 +08:00
Jiang Jiang Jian
29b32be97c Merge branch 'bugfix/tw11779_softAP_crash_when_wifi_connect' into 'master'
esp32: update wifi lib to fix wifi connect cause crash

Fix softap wifi connect crash bug

See merge request !672
2017-04-19 14:34:53 +08:00
Ivan Grokhotkov
49848eaed5 sdmmc: handle card removal when CD is not used
When SD card is removed during transaction, SDMMC peripheral can report
a range of errors, such as timeouts, CRC errors, start/end bit errors.
Under normal conditions (card is inserted), SDMMC peripheral also generates
command done or data done interrupts. When the card is removed, such
interrupts may not be always generated.

This change fixes handling of timeout interrupts and SBE interrupts.
It also adds a one second timeout into the event processing loop. This
timeout allows applications to recover in cases when the SDMMC peripheral
doesn’t generate command/data done event on card removal.
2017-04-19 12:50:51 +08:00
Jeroen Domburg
b209c6dcbb Make internal stack size variables in FreeRTOS 32-bit instead of 16-bit 2017-04-19 10:47:19 +08:00
Yulong
65ff8bd160 l2cap can send data to low layer when close the classic bt. 2017-04-18 05:42:55 -04:00
Ivan Grokhotkov
5d1bb42c18 soc: allow REG_SET_FIELD to be used with single-bit fields 2017-04-18 17:34:26 +08:00
Ivan Grokhotkov
faaf59ccb3 soc: define missing M, V macros for nrx, bb, fe, emac, iomux
Recipe:
- Add _M and _V for single-bit fields
  Search: (#define (\w+)\s*(\(BIT\(\d+\)\)))
  Replace: \1\n#define \2_M \3\n#define \2_V 1

- Add _M and _V for multi-bit fields
  Search: (#define (\w+)\s*(0x[\dA-Fa-f]+))
  Replace: \1\n#define \2_M (\2_V << \2_S)\n#define \2_V \3
2017-04-18 17:34:26 +08:00
Jeroen Domburg
f73c6f875c Merge branch 'bugfix/dont_log_before_bss_inited' into 'master'
Remove ESP_EARLY_LOGI before bss is initialized; it crashes the CPU

There's an ESP_EARLY_LOGI line that can get called before the BSS is initialized; the early logging code doesn't cope well with that: it checks if FreeRTOS is up, but the variables it uses for that contains garbage because it isn't cleared yet, giving the wrong result. The logging code then tries to set a mux, crashing the entire system. This patch removes the log line and adds a warning at the BSS initialization line not to do anything complex before that point.

Fixes https://github.com/espressif/esp-idf/issues/523

See merge request !671
2017-04-18 11:21:31 +08:00
Yulong
22ccf6c368 component/bt:rebase the BT_BLE_separate to the new master 2017-04-17 22:53:43 -04:00
Alexey Gerenkov
55f1a63faf esp32: Adds functionality for application tracing over JTAG
- Implements application tracing module which allows to send arbitrary
   data to host over JTAG. This feature is useful for analyzing
   program modules behavior, dumping run-time application data etc.
 - Implements printf-like logging functions on top of apptrace module.
   This feature is a kind of semihosted printf functionality with lower
   overhead and impact on system behaviour as compared to standard printf.
2017-04-17 23:26:29 +03:00
Ivan Grokhotkov
ad50a70440 fix test for dumping trace data 2017-04-17 22:19:14 +03:00
Ivan Grokhotkov
639557d975 trace: add Kconfig options for app level trace
CONFIG_MEMMAP_TRACEMEM is now a hidden underlying option, which can be enabled using either CONFIG_ESP32_TRAX or CONFIG_ESP32_APP_TRACE
2017-04-17 22:19:14 +03:00
Ivan Grokhotkov
3ac080fc80 test tracing over JTAG 2017-04-17 22:19:14 +03:00
XiaXiaotian
03e2618d35 Add customer MAC address that read from efuse 2017-04-17 21:24:15 +08:00
Liu Zhi Fu
b94e5f7855 esp32: update wifi lib to fix wifi connect cause crash
Fix softap wifi connect crash bug
2017-04-17 19:18:26 +08:00
Ivan Grokhotkov
3624149344 wear_levelling: add unit test sub-component 2017-04-17 11:01:18 +08:00
Ivan Grokhotkov
3a39475d20 wear_levelling: run host side test in CI 2017-04-17 11:01:18 +08:00
Ivan Grokhotkov
8f76fe1d7f move Catch framework header into tools directory 2017-04-17 11:01:18 +08:00
Ivan Grokhotkov
57e380fa99 nvs_flash, wear_levelling: ignore host test files 2017-04-17 11:01:18 +08:00
Ivan Grokhotkov
52b51df859 add wear_levelling component and example 2017-04-17 11:01:17 +08:00
Dmitry Yakovlev
aeabbd305c fatfs: add support for small disc sizes (less then 16 MB) 2017-04-17 11:01:17 +08:00
Ivan Grokhotkov
7388efa953 fatfs: add support for variable sector size 2017-04-17 11:01:17 +08:00
Ivan Grokhotkov
ed6957302f Kconfig: fix “symbol value '' invalid for PHY_DATA_OFFSET” warning
PHY_DATA_OFFSET is only used if ESP32_PHY_INIT_DATA_IN_PARTITION is set
2017-04-17 11:01:17 +08:00
Jeroen Domburg
76a4082de7 Remove ESP_EARLY_LOGI before bss is initialized; it crashes the CPU 2017-04-16 23:34:03 +08:00
Jiang Jiang Jian
0ea4c3c06b Merge branch 'bugfix/btdm_alarm_event_transfer' into 'master'
component/bt: transfer bluedroid timer events to be handled by BTC task

NVS operation can take long time for timer task to handle. Transfer the alarm event to be handled by BTC task.

See merge request !670
2017-04-14 21:20:19 +08:00
Ivan Grokhotkov
15ec487fde Merge branch 'feature/esp32_d2wd_support' into 'master'
ESP32-D2WD support

Support ESP32-D2WD with integrated flash in ESP-IDF.

Includes fix for https://github.com/espressif/esp-idf/issues /521


See merge request !639
2017-04-14 20:57:39 +08:00
wangmengyang
4f3b391674 component/bt: transfer bluedroid timer events to be handled by BTC task 2017-04-14 18:49:30 +08:00
Yulong
4715fa16ae change the make error in bta_dm_ble_set_rand_address func 2017-04-14 02:52:43 -04:00
Yulong
cb5c296829 component/bt:move the bugfix/ble_set_rand_addr_bug here for fix the conflict with the master 2017-04-14 02:45:07 -04:00
Yulong
f6f094213e compoment/bt:Change the tabs to space in btc_ble_storage.c & btc_gap_ble.c file 2017-04-13 23:50:14 -04:00
Yulong
aff8758fe4 delete the debug log in the btc_ble_storage file 2017-04-13 22:40:37 -04:00
Michel Pollet
349a77cb55 components/driver: 'const' all config calls.
Some were, some weren't. They all could/should be.

Signed-off-by: Michel Pollet <buserror@gmail.com>
2017-04-13 18:33:33 +01:00
Yulong
c6a516f122 component/bt:move the btdm_rebase_ssp_api branch to this branch 2017-04-13 10:14:28 -04:00
Jiang Jiang Jian
9050307dfe Merge branch 'feature/check_invalid_cache_access' into 'master'
Detect invalid cache access

This MR adds always-on feature which detects cache invalid access and triggers panic handler when invalid access interrupt is raised.


See merge request !660
2017-04-13 16:11:19 +08:00
Jiang Jiang Jian
7c6c74dff0 Merge branch 'bugfix/check_wifi_state_when_wifi_deinit_is_called' into 'master'
check wifi state when wifi deinit is called



See merge request !663
2017-04-13 16:01:39 +08:00
Angus Gratton
f7793840e1 bootloader: Add QIO support for ESP32-D2WD SPI flash 2017-04-13 17:55:47 +10:00
Angus Gratton
85e76a7cfc spiflash ROM functions: Remove Quad I/O mode enable/disable code from flash ROM functions
Confusion here is that original ROM has two functions:

* SPIReadModeCnfig() - sets mode, calls enable_qio_mode/disable_qio_mode
* SPIMasterReadModeCnfig() - As above, but doesn't set QIO mode in status register

However we never want to use the ROM method to set/clear QIO mode flag, as not all flash chips work this way. Instead we
do it in flash_qio_mode.c in bootloader.

So in both cases (ROM or "patched ROM") we now call SPIMasterReadModeCnfig(), which is now named
esp_rom_spiflash_config_readmode().
2017-04-13 17:54:42 +10:00
Ivan Grokhotkov
378884660a Merge branch 'feature/tw11250_add_tcp_delay_statistics' into 'master'
lwip: refactor to esp specific counter

1. Add tcp debug counter
2. Refactor other ESP specific counter

See merge request !635
2017-04-13 15:29:36 +08:00
Ivan Grokhotkov
3cd6d4e5fc Merge branch 'bugfix/uart_tx_buffer_blocked' into 'master'
Fix uart tx function block issue

To enable tx empty interrupt each time the tx ringbuffer get filled, so that tx function will not block if tx data length is larger than tx ringbuffer size.
Reported from customer of Audio team.

See merge request !658
2017-04-13 15:29:09 +08:00
Ivan Grokhotkov
8a9516a973 Merge branch 'bugfix/bootloader_error_handling_code' into 'master'
Add error handling code in bootloader

Forgotten error handling

See merge request !650
2017-04-13 15:28:49 +08:00
Ivan Grokhotkov
af0ecca492 add test case for invalid cache access interrupt 2017-04-13 15:27:39 +08:00
Ivan Grokhotkov
a8f1918d88 panic handler: access exception frame members via struct fields 2017-04-13 15:27:38 +08:00
Ivan Grokhotkov
aae441951b panic handler: send output to the UART configured as console 2017-04-13 15:27:38 +08:00
Jeroen Domburg
0b79d07d34 add detection of invalid cache access
- fix level 4 interrupt vectors to produce correct backtrace
- initialize invalid cache access interrupt on startup
- handle invalid cache access in panic handler
2017-04-13 15:27:38 +08:00
Ivan Grokhotkov
3c6c1e36ec soc: add invalid cache access interrupt bits to dport_reg 2017-04-13 15:27:38 +08:00
Jiang Jiang Jian
82b7ca92ad Merge branch 'bugfix/lwip_sta_ap_netif_names' into 'master'
give the AP and STA netifs different names for ease of debugging lwip

Both AP and STA netifs used to be called "en". This changes the name to "st" for STA and "ap" for AP.

Ref https://github.com/espressif/esp-idf/pull/456.

See merge request !653
2017-04-13 14:43:13 +08:00
Jiang Jiang Jian
6ace4f6fa4 Merge branch 'feature/btdm_avrc' into 'master'
Feature/btdm avrc

The source branch "feature/btdm_avrc" includes classic Bluetooth profiles A2DP(sink role) and AVRCP(controller role); 
Menuconfig options to control whether to enable classic BT is added.

See merge request !591
2017-04-13 14:36:58 +08:00
XiaXiaotian
454d00e2ae check wifi state when wifi deinit is called 2017-04-13 14:34:40 +08:00
Angus Gratton
66308774db esptool: Update to include ESP32-D2WD support (and other SPI flash remapping) 2017-04-13 16:25:15 +10:00
Liu Zhi Fu
743359a6bf esp32: update wifi lib for some refactor
1. Refactor for wifi ebuf management
2. Refactor for wifi rate control/long rate/tx
2017-04-13 11:41:42 +08:00
Ivan Grokhotkov
4eaf5e218a Merge branch 'feature/change_ssid_len_to_33' into 'master'
change scanned ap's ssid array len to 33



See merge request !661
2017-04-13 11:16:11 +08:00
XiaXiaotian
d61959b583 change scanned ap's ssid array len to 33 2017-04-13 10:09:07 +08:00
Ivan Grokhotkov
a845f211e3 Merge branch 'bugfix/ota_runtime_check_encrypted_flash' into 'master'
Enable checks for encrypted flash in OTA

Even if firmware is compiled without CONFIG_FLASH_ENCRYPTION_ENABLED.

Rationale: CONFIG_FLASH_ENCRYPTION_ENABLED controls whether boot loader generates keys for encryption or not, but flash encryption can be configured externally. With this change, it's possible to have boot loader not generate keys but still have encryption working.

Also fix use of it->part

Ref. https://github.com/espressif/esp-idf/pull/453

See merge request !647
2017-04-12 21:30:07 +08:00
Wangjialin
315aa1fcd8 Fix uart tx function block issue
To enable tx empty interrupt each time the tx ringbuffer get filled, so that tx function will not block if tx data length is larger than tx ringbuffer size.
Reported from customer of Audio team.
2017-04-12 16:57:37 +08:00
wangmengyang
b503d68045 component/bt: implement classic Bluetooth profiles A2DP(sink) and AVRCP(controller) 2017-04-12 16:42:14 +08:00
Jiang Jiang Jian
79173c0f2a Merge branch 'bugfix/btdm_gatt_memory_leak' into 'master'
bt component: Fix memory leak while using gatt server

- fix memory leak while creating attribute table
- fix memory leak while deleting service

See merge request !656
2017-04-12 15:43:32 +08:00
island
f688309b3a bt component: Fix memory leak while using gatt server
- fix memory leak while creating attribute table
- fix memory leak while deleting service
2017-04-12 14:58:45 +08:00
island
941a12cb4e bt component: Add stop adv/scan completed event 2017-04-12 14:19:16 +08:00
Ivan Grokhotkov
935552427c Merge branch 'bugfix/uart_rmt_fixes' into 'master'
Fixes for UART and RMT drivers

- Add const qualifier for config and tx data in RMT (https://github.com/espressif/esp-idf/pull/495)
- Fix rmt_set_tx_thr_intr_en(): check evt_thresh only in enable path (https://github.com/espressif/esp-idf/pull/492)
- Fix impossible check in uart_set_line_inverse (https://github.com/espressif/esp-idf/pull/489)

See merge request !648
2017-04-12 10:39:22 +08:00
Ivan Grokhotkov
9edab21385 Merge branch 'feature/rtc_clk_impl' into 'master'
Introduce soc component, add source of rtc_clk and rtc_pm libraries

This MR adds parts of the RTC library source code (initialization, clock selection functions, sleep functions). WiFi-related power management functions are kept inside the precompiled library. Most of RTC library APIs have been renamed.

Default CPU frequency option in Kconfig is set to 160MHz, pending qualification of 240MHz mode at high temperatures.

Register header files are moved into the new soc component, which will contain chip-specific header files and low-level non-RTOS-aware APIs (such as rtc_ APIs). Some of the files from ESP32 component were also moved: cpu_util.c, brownout.c, and the corresponding header files. Further refactoring of ESP32 component into more meaningful layers (chip-specific low level functions; chip-specific RTOS aware functions; framework-specific RTOS-related functions) will be done in future MRs.

See merge request !633
2017-04-12 10:38:23 +08:00
Edmund Huber
eab6d483a5 give the AP and STA netifs different names for ease of debugging lwip 2017-04-11 20:40:36 +08:00
Ivan Grokhotkov
90e740eb5f esp32: update libraries
This removes librtc_{clk,pm}.a and updates librtc.a to use the new
functions defined in ESP-IDF source code.
2017-04-11 20:20:35 +08:00
Ivan Grokhotkov
1132ef7554 Merge branch 'bugfix/flash_busy_check_Wait_SPI_Idle' into 'master'
Bugfix/flash busy check wait spi idle

This branch moves some ROM SPI flash driver to IDF to fix bug in Wait_SPI_Idle() function.
Also it applies code style rules of IDF to integrated ROM driver sources.

See merge request !584
2017-04-11 20:09:06 +08:00
Deomid Ryabkov
516c708fc7 Enable checks for encrypted flash in OTA
Even if firmware is compiled without CONFIG_FLASH_ENCRYPTION_ENABLED
Rayionale: CONFIG_FLASH_ENCRYPTION_ENABLED controls whether boot loader
generates keys for encryption or not, but flash encryption can be
configured externally. With this change, it's possible to have boot
loader not generate keys but still have encryption working.

Also fix use of it->part
2017-04-11 19:10:26 +08:00
devsaurus
ae94fe04ef components/driver/rmt: Add const qualifier for config and tx data. 2017-04-11 18:55:56 +08:00
devsaurus
cc164b0dc3 fix rmt_set_tx_thr_intr_en(): check evt_thresh only in enable path 2017-04-11 18:55:56 +08:00
shinyquagsire23
8e89a136e1 Fix impossible check in uart_set_line_inverse 2017-04-11 18:55:56 +08:00
Anton Maklakov
e4353f2119 bootloader: Add error handling code 2017-04-11 18:15:36 +08:00
Ivan Grokhotkov
7ee8ee8b7e soc: add source code of rtc_clk, rtc_pm 2017-04-11 15:45:54 +08:00
Ivan Grokhotkov
9ff446e6f9 soc: convert line endings to unix 2017-04-11 15:44:22 +08:00
island
a4f3312d9d bt component: optimize scan feature
1. Add advertising data length and scan response length in scan result
2. Add scan continuously feature
3. Fix non connectable adv topology error
4. Increase BTC queue size
2017-04-11 14:20:20 +08:00
Ivan Grokhotkov
d6dbf15a1f soc: move header files into soc component 2017-04-11 14:06:40 +08:00
Ivan Grokhotkov
724673be83 soc: add apb_ctrl, struct headers for rtc_cntl and rtc_io 2017-04-11 14:06:40 +08:00
Alexey Gerenkov
0860f46220 spi_flash: Fixed bug in SPI flash ROM driver to work with embedded flash chip
1) fixed SPI_read_status: added check for flash busy flag in matrix mode
2) fixed SPI_page_program: enable write before writing data to SPI FIFO
3) SPI flash ROM funcs replacement is controlled via menuconfig option
2017-04-11 10:51:19 +08:00
wangmengyang
ccfe4fefeb component/bt: implement classic Bluetooth profiles A2DP(sink) and AVRCP(controller) 2017-04-10 16:12:21 +08:00
Liu Zhi Fu
ece61944f4 lwip: refractor to esp specific counter
1. Add tcp debug counter
2. Refractor other ESP specific counter
2017-04-10 14:46:48 +08:00
Ivan Grokhotkov
e9913a11c1 Merge branch 'test/reboot_between_unit_test_cases' into 'release/v2.0'
CI: add reset between running each unit test cases

Unit test is designed to detect bug **within** each test case. Therefore we'll reset between each case to provide a clean context. We will later add stress cases to run unit test cases together to detect potential bugs.

See merge request !636
2017-04-10 12:59:49 +08:00
Ivan Grokhotkov
801b87b48a Merge branch 'bugfix/cross_core_int_init_single_core' into 'master'
esp32: initialize cross-core interrupt in single core mode

The software interrupt originally used as the cross-core interrupt is
now also used to yield from a FreeRTOS critical section; therefore it
must be initialized for single core mode as well.

Fixes https://github.com/espressif/esp-idf/issues/496

See merge request !640
2017-04-10 12:19:10 +08:00
Ivan Grokhotkov
aa817a1475 Merge branch 'bugfix/esp_error_check_release_builds' into 'master'
fix warnings generated by ESP_ERROR_CHECK(variable) in release builds

This uses the same pattern as “assert” in release builds to silence the
warning. At the same time, we make sure that if a statement is wrapped
into ESP_ERROR_CHECK, it is executed in release build as well.

Fixes https://github.com/espressif/esp-idf/issues/497

See merge request !641
2017-04-10 12:18:47 +08:00
Ivan Grokhotkov
05e6fba6c3 Merge branch 'feature/mdns_afl_fuzz' into 'master'
Feature/mdns afl fuzz

Implement AFL Fuzz for testing MDNS parser stability

See merge request !632
2017-04-10 11:55:31 +08:00
Ivan Grokhotkov
275b574ace fix warnings generated by ESP_ERROR_CHECK(variable) in release builds
This uses the same pattern as “assert” in release builds to silence the
warning. At the same time, we make sure that if a statement is wrapped
into ESP_ERROR_CHECK, it is executed in release build as well.
2017-04-07 15:24:58 +08:00
Ivan Grokhotkov
85e709705b Merge branch 'bugfix/btdm_task_priority' into 'master'
component/bt : modify bluetooth task priority

modify bluetooth task priority to lower than IPC task priority.

See merge request !631
2017-04-07 14:56:31 +08:00
Ivan Grokhotkov
8915c18f8a esp32: initialize cross-core interrupt in single core mode
The software interrupt originally used as the cross-core interrupt is
now also used to yield from a FreeRTOS critical section; therefore it
must be initialized for single core mode as well.

Fixes https://github.com/espressif/esp-idf/issues/496
2017-04-07 14:48:08 +08:00
Ivan Grokhotkov
fd0539b4ba Merge branch 'feature/panic_wdt' into 'master'
esp32: RWDT is used to reboot system in case of panic handler crash

This branch uses RWDT to reboot system in case of panic handler crash.

See merge request !625
2017-04-07 12:14:30 +08:00
Ivan Grokhotkov
42d819e796 Merge branch 'feature/btdm_uart_hci' into 'master'
Feature/btdm uart hci

    1. support UART HCI, devolper need not to make a bridge between VHCI and UART.
    2. fix bug of rand/srand called in ISR.
    3. fix bug of BLE rx packets may cause assert.

See merge request !626
2017-04-07 12:13:42 +08:00
Alexey Gerenkov
c142b9b9e5 esp32: RWDT is used to reboot system in case of panic handler crash
also fixes TG1WDG protection bug in panic handler
2017-04-07 02:34:29 +03:00
wangmengyang
b5ea92a26e component/bt: implement classic Bluetooth profiles A2DP(sink) and AVRCP(controller) 2017-04-06 16:56:18 +08:00
wangmengyang
dbd4e0522e Merge branch 'master' into feature/btdm_avrc 2017-04-06 14:59:58 +08:00
Tian Hao
d90a35af19 component/bt : modify bluetooth config style 2017-04-06 11:35:53 +08:00
Ivan Grokhotkov
f9fba35d1d Merge branch 'bugfix/btdm_alarm' into 'master'
component/bt : modify alarm APIs to be safely accessible from multiple tasks

Improve the osi_alarm module to make the alarm APIs become thread safe.

See merge request !570
2017-04-06 07:46:01 +08:00
Tian Hao
95d691afdb component/bt : support UART HCI and fix some bugs
1. support UART HCI, devolper need not to make a bridge between VHCI and UART.
2. fix bug of rand/srand called in ISR.
3. fix bug of BLE rx packets may cause assert.
2017-04-05 21:23:43 +08:00
Tian Hao
f5ebeb4c4d component/bt : add uart(1/2) as HCI IO directly 2017-04-05 21:23:42 +08:00
Tian Hao
e384c7c014 component/bt : modify alarm APIs to be safely accessible from multiple tasks 2017-04-05 17:34:26 +08:00
me-no-dev
4c2622755d Add AFL fuzz test 2017-04-05 09:23:09 +03:00
Angus Gratton
0b57054ed3 freertos tests: Extend preemption test cases to cross-core wakeup 2017-04-04 10:10:08 +10:00
Angus Gratton
bdbeaf97d6 freertos tests: Fix accidental "0 delay" in event group tests
Was a slight race condition where tasks on other CPU may not have finished waking up on BIT_CALL when the unity task
polled the event group state.
2017-04-04 10:10:08 +10:00
Angus Gratton
45581dbaca freertos: Delay context switch from queue/task APIs until exiting critical section
Closes #374: https://github.com/espressif/esp-idf/issues/374
2017-04-04 10:10:08 +10:00
me-no-dev
99d39909c4 implement fixes for issues found while fuzz testing 2017-04-03 16:45:59 +03:00
Jiang Jiang Jian
fc15d72038 Merge branch 'feature/implement_lwip_critical_protect_with_mutex' into 'master'
lwip: implement lwip critical session with mutex

Currently lwip critical session is based on interrupt, now replace it with mutex

See merge request !595
2017-04-01 17:27:20 +08:00
Tian Hao
ecb75b69fd component/bt : modify bluetooth task priority 2017-04-01 17:17:57 +08:00
Liu Zhi Fu
68e27f8188 optimize tcpip adapter layer 2017-04-01 16:41:51 +08:00
Liu Zhi Fu
778a475136 lwip: implement lwip critical session with mutex
Currently lwip critical session is based on interrupt, now replace it with mutex
2017-04-01 16:24:58 +08:00
Jiang Jiang Jian
74d0edec0f Merge branch 'feature/tw10169_optimize_dhcp_renew_rebind_timer' into 'master'
lwip: optimize dhcp renew/rebind timer

This MR is used to replace MR581 since MR581 use a bad branch name.

See merge request !585
2017-04-01 16:04:13 +08:00
Ivan Grokhotkov
47b8f78cb0 Merge branch 'bugfix/flash_op_deadlock' into 'master'
spi_flash: fix race condition in s_flash_op_complete access

Flash operation complete flag was cleared by the CPU initiating flash operation. If the other core was running an ISR, then IPC task could be late to enter the loop to check `s_flash_op_complete` by the time next flash operation started. This would cause a deadlock, as the IPC task would still be waiting for `s_flash_op_complete` to be set (which was already cleared by the next flash operation), while the flash operation task would be blocked waiting for IPC task to set `s_flash_op_can_start`.

If the flag is cleared on the CPU waiting on this flag, then the race condition can not happen.

See merge request !615
2017-03-31 16:02:26 +08:00
wangmengyang
9d745be3f7 Merge branch 'master' into feature/btdm_avrc 2017-03-31 12:51:45 +08:00
Jeroen Domburg
a4acf7b67b Merge branch 'bugfix/spi_timing_issues' into 'master'
Fix timing adjustment needed for higher speeds of SPI master bus.

Ref https://github.com/espressif/esp-idf/issues/363 . It was found out the master SPI driver didn't exactly calculate the delay compensation needed, breaking 20 and 26MHz full-duplex mode. This fixes these use cases. We also found out 40MHz full-duplex routed over the GPIO matrix does not work because of a hardware quirk; this MR adds a check/error for that case until we find a workaround.

See merge request !547
2017-03-31 10:44:37 +08:00
XiaXiaotian
4f89cc73e6 Add WiFi static and dynamic tx buffer choice
If static tx buffer is selected, WiFi tx buffers are allocated when WiFi is initialized and released

    when WiFi is de-initialized. If dynamic tx buffer is selected, WiFi tx buffer is allocated when tx

    data is delivered from LWIP to WiFi and released when tx data is sent out by WiFi.

    The size of each static tx buffers is fixed to about 1.6KB and the size of dynamic tx buffers is

    depend on the length of the data delivered from LWIP.

    If PSRAM is enabled, "STATIC" should be selected to guarantee enough WiFi tx buffers.

    If PSRAM is disabled, "DYNAMIC" should be selected to improve the utilization of RAM.
2017-03-30 21:25:44 +08:00
wangmengyang
c9d29d109e component/bt: fix the dependence issue in Kconfig 2017-03-30 21:16:11 +08:00
Jiang Jiang Jian
73612b004f Merge branch 'feature/add_scan_time_config' into 'master'
wifi scan: add wifi scan type and time config



See merge request !586
2017-03-30 20:56:30 +08:00
XiaXiaotian
c690447dd9 wifi scan: add wifi scan type and time config 2017-03-30 20:36:52 +08:00
Ivan Grokhotkov
39c376f0c3 Merge branch 'bugfix/cpu1_isr_stack_location' into 'master'
Fix finding location of ISR stack space for CPU1

Up to now, the CPU1 interrupts erroneously used the area *after* the ISR stack region, leading to bugs in BT Classic. This fixes that.

See merge request !618
2017-03-29 12:05:31 +08:00
Angus Gratton
6ba469e7a4 Merge branch 'feature/mdns_dnssd_metaquery' into 'master'
mdns: add simple dns-sd meta query support

Merges PR #340 https://github.com/espressif/esp-idf/pull/340

See merge request !619
2017-03-29 09:29:31 +08:00
negativekelvin
96e8a3c725 mdns: add simple dns-sd meta query support
tabs to spaces

match domain
2017-03-29 11:48:19 +11:00
Jeroen Domburg
0e39b77d4e Fix finding location of ISR stack space for CPU1 2017-03-28 15:50:10 +08:00
Jeroen Domburg
76295c7a13 Fix timing adjustment needed for higher speeds of SPI master bus. 2017-03-28 11:31:59 +08:00
Ivan Grokhotkov
92436021ab spi_flash: fix race condition in s_flash_op_complete access
Flash operation complete flag was cleared by the core initiating flash
operation. If the other core was running an ISR, then IPC task could
be late to enter the loop to check s_flash_op_complete by the time next
flash operation started. If the flag is cleared on the CPU waiting on
this flag, then the race condition can not happen.
2017-03-28 01:34:17 +08:00
Ivan Grokhotkov
41c6914454 Merge branch 'feature/ulp_toolchain' into 'master'
ULP coprocessor toolchain integration

- build system support for ULP coprocessor toolchain
- documentation for ULP coprocessor instruction set
- documentation for ULP code execution flow, loading programs, exchanging data
- example: counting pulses using ULP


See merge request !394
2017-03-27 13:54:51 +08:00
Dmitry Yakovlev
a6e4e89592 ulp: add build system integration and example 2017-03-27 12:41:00 +08:00
Jiang Jiang Jian
8ee6f8227e Merge branch 'bugfix/reset_mac_cause_bt_cannot_rx_data' into 'master'
Reset WIFI mac when wifi start and update wifi lib

1. reset wifi mac when wifi start

2. roll back rx hung workaround for beacon timeout

3. fix amsdu ap interface wrong issue

4. fix amsdu header parse error

5. fix amsdu flag wrong issue

6. PHY: V350, fix BT rssi bug

7. RTC: V225, fix bt will be not work when wifi is reset

See merge request !606
2017-03-24 17:02:26 +08:00
XiaXiaotian
a30c98c1a2 fix compile bug
1. split some unused rtc functions that calls phy function

2. make check bt idle more safe when reset wifi mac
2017-03-24 16:42:44 +08:00
Ivan Grokhotkov
5cf9ccf6ab Merge branch 'feature/add_auth_type_for_wpa2_enterprise' into 'master'
wpa2: add authenticate type for wpa2 enterprise



See merge request !588
2017-03-24 15:56:21 +08:00
Ivan Grokhotkov
710c853adc Merge branch 'bugfix/spi_flash_lock_period' into 'master'
SPI flash operations lock for shorter periods

Based on bug report here:
https://esp32.com/viewtopic.php?f=13&t=1489&p=6816#p6773

Long SPI flash erase (and possibly write/read) cycles block all tasks on both CPUs for an extended period, and can lead to WiFi dissassociation (and general priority inversion.)

This MR inserts preemption breaks into large operations (all erases, writes every 8KB, reads every 16KB).

Overhead of a single spi_flash_guart_start()/spi_flash_guard_end() cycle measured at approx 67us (assuming no preemption.)

See merge request !600
2017-03-24 15:55:42 +08:00