Commit graph

2223 commits

Author SHA1 Message Date
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
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