Commit Graph

8623 Commits

Author SHA1 Message Date
Ivan Grokhotkov
25784ba87a wifi: don’t disable event handling for SoftAP
Events are needed to initialise the tcpip_adapter and start the DHCP server
2019-04-11 12:05:27 +08:00
Ivan Grokhotkov
74cd8dac9d esp_event: don’t warn if no handlers are present for specific event 2019-04-11 12:05:27 +08:00
Ivan Grokhotkov
198d7d4754 tcpip_adapter: unregister shutdown handlers, don’t fail on repeated registration 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
b1a722b2ca system_api: return error on repeated registration of shutdown handler 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
bd309a133f system_api: add esp_unregister_shutdown_handler 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
b94fcb192e event: re-add wifi disconnect reason logging (e621e0af) 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
6890ea09cd docs: add event handling API guide 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
a2d59525e5 mdns: use esp_event library to handle events 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
b1d1e37f87 event loop: re-implement based on esp_event library
Includes ds2ds unit test fix, iperf example test fix
2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
1872e34115 tcpip_adapter: add event declarations 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
c001553027 ethernet: add event declarations 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
8b57fe9515 wifi: add event declarations 2019-04-11 12:04:58 +08:00
Ivan Grokhotkov
e37b0ad648 esp_event: move trailing semicolons out of defines 2019-04-11 12:04:58 +08:00
Jiang Jiang Jian
76b39403ad Merge branch 'bugfix/wifi_spike_power' into 'master'
esp32: fix the issue that the spike transmit power of WiFi is higher than configured when WiFi and Bluetooth coexist

See merge request idf/esp-idf!4611
2019-04-11 11:49:26 +08:00
Angus Gratton
0b59b6069e Merge branch 'feature/post_events_from_isr' into 'master'
Support posting events from ISR

See merge request idf/esp-idf!4283
2019-04-11 09:15:13 +08:00
Anton Maklakov
a567b6c1f6 pthread: Use a definition only if we have the old toolchain 2019-04-10 21:07:10 +07:00
Anurag Kar
62b0d51c02 Enable secure boot only after encrypting flash
This prevents a device from being bricked in case when both secure boot & flash encryption are enabled and encryption gets interrupted during first boot. After interruption, all partitions on the device need to be reflashed (including the bootloader).

List of changes:
* Secure boot key generation and bootloader digest generation logic, implemented inside function esp_secure_boot_permanently_enable(), has been pulled out into new API esp_secure_boot_generate_digest(). The enabling of R/W protection of secure boot key on EFUSE still happens inside esp_secure_boot_permanently_enable()
* Now esp_secure_boot_permanently_enable() is called only after flash encryption process completes
* esp_secure_boot_generate_digest() is called before flash encryption process starts
2019-04-10 18:17:58 +05:30
negativekelvin
9a319772e1 nvs_flash: Multi-page blob erased using nvs_erase_key should be cleaned properly
Earlier eraseItem function in Storage class would do lazy cleanup of
multi-page blobs if called using type "ANY" instead of "BLOB". It used to
just delete BLOB data and index would remain as is. Any subsequent read
would delete index entry as well. This however would return a valid
length without error if nvs_get_blob API was just used for finding
length and not reading the complete blob. This change fixes this issue.

Closes https://github.com/espressif/esp-idf/issues/3255
2019-04-10 11:45:29 +00:00
Renz Christian Bagaporo
659f1a1253 esp_event: test posting from interrupt handler 2019-04-10 18:06:05 +08:00
Renz Christian Bagaporo
2b914f2d22 esp_event: allow posting events from ISRs 2019-04-10 18:06:05 +08:00
Renz Christian Bagaporo
c43a83596b ci: add unit test job 2019-04-10 18:06:05 +08:00
baohongde
72eb170c4f components/bt: Fix errors caused by rebase 2019-04-10 17:59:23 +08:00
wangmengyang
61bd453c15 component/bt: implement AVRCP Target APIs
1. Add more notification events to the enum according to the event list in AVRCP specification.
2. Add API and callback events for basic AVRCP target functionalities to do init, deinit, callback-registration, connection status indication.
3. Implement API to set/get supported PASSTHROUGH command on local AVRCP TG, implement callback events for remote passthrough command indication.
4. Implement API to set/get supported notification eventIDs on local AVRCP TG, implement API to send event notifications to remote CT. \
   Currently supported event in TG only includes ESP_AVRC_RN_VOLUME_CHANGE(0xd), which can be extended in later commits.
5. Implement callback events for SetAbsoluteVolume command indication on TG.
6. Add limitation of event_ids supported in RegisterNotification command in CT. The supported event_ids include: \
   ESP_AVRC_RN_PLAY_STATUS_CHANGE(0x1), ESP_AVRC_RN_TRACK_CHANGE(0x2), ESP_AVRC_RN_PLAY_POS_CHANGE(0x5), ESP_AVRC_RN_VOLUME_CHANGE(0xd).
7. Add feature bit mask in parameter of callback event ESP_AVRC_CT_REMOTE_FEATURES_EVT for peer feature information got from SDP.
8. Add API and callback event to AVRCP CT to retrieve remote TG's supported notification event capabilities.
9. Modify data type for parameter of callback event ESP_AVRC_CT_CHANGE_NOTIFY_EVT.
10. Change AVRCP version from 1.3 to 1.4 for compatibility cause in using AbsoluteVolume feature.
11. Modify local AVRCP device to be category 1 as CT and category 2 as TG that applies to bluetooth headphones or speakers.
12. Update the use of AVRCP APIs and events in the two examples: a2dp_sink and a2dp_gatts_coex, which include the demo of volume control and notification.
2019-04-10 16:34:13 +08:00
Angus Gratton
a9425cd045 Merge branch 'bugfix/http_client_redirection' into 'master'
Fix url redirection issue

See merge request idf/esp-idf!4623
2019-04-10 14:48:22 +08:00
Anton Maklakov
2e6c8cdce3 esp32: disable -Wframe-address
Since the behavior is well defined on Xtensa with Window ABI we can
suppress a frame-address warning. Also fix the CMAKE_C*_FLAGS parsing.
2019-04-10 13:52:30 +08:00
Ivan Grokhotkov
5719cd6fac newlib: when compiling with GCC8, use newlib headers and libraries from toolchain 2019-04-10 13:52:30 +08:00
Ivan Grokhotkov
05aab5c0b9 newlib: force including IDF locks implementation 2019-04-10 13:52:30 +08:00
Ivan Grokhotkov
898b4bdf4d newlib: when compiling with GCC8, use newlib headers and libraries from toolchain 2019-04-10 13:52:30 +08:00
Ivan Grokhotkov
8c2f2867d8 esp_rom: don’t include locale functions when compiling with newlib 3 2019-04-10 13:52:30 +08:00
Ivan Grokhotkov
e84b26f531 esp_rom: export newlib functions as strong symbols 2019-04-10 13:52:30 +08:00
Ivan Grokhotkov
31b4fc8eb8 pthread: add dummy implementation of pthread_setcancelstate
Used by new versions of newlib in stdio functions.
2019-04-10 13:48:57 +08:00
Ivan Grokhotkov
d15e18aa5d newlib: fixes for compatibility with newlib 3.0 2019-04-10 13:48:57 +08:00
Ivan Grokhotkov
4770acf1cb newlib: add missing tzset() to the time test 2019-04-10 13:48:57 +08:00
Anton Maklakov
5a203a5371 sysview: fix test case for compatibility with new binutils
Since the ‘addr2line’ works correctly in the new version of binutils,
line numbers are different.
2019-04-10 13:48:57 +08:00
Ivan Grokhotkov
7027d2dfe8 spi_master: compile as C11 due to use of stdatomic.h
stdatomic.h is available both in newlib and GCC include directories.
Normally (if you invoke the compiler without any flags) GCC include
directories are first on the list, so GCC’s stdatomic.h is used. In
IDF, we used to pass newlib include path as an extra include
directory, so newlib’s stdint.h got included instead.

Newlib 2.2.0 stdatomic implementation is compatible with -std=gnu99
but incompatible with -std=gnu11. And GCC doesn’t support atomic_load
with -std=gnu99 (it’s a C11 feature). So when we used atomic_load
with -std=gnu99, it worked due to newlib’s header.

Since we are no longer going to be including newlib headers into IDF,
GCC stdatomic will be used instead. Hence, add -std=gnu11 for source
files which use atomic features.
2019-04-10 13:48:57 +08:00
Vikram Dattu
a875505546 Fix url redirection issue.
Operation:
In `esp_http_client_set_url`, we check for if old_host is same as new_host.
Delete and open new connection if host is different.

Issue:
We just pointed `client->connection_info.host` to `old_host` and reassigned it.
This made old_host and new_host always point to same location and hence, using old_host with new request.

Fix:
Made a separate copy for old_host using strdup.

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

Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2019-04-10 05:40:16 +00:00
Angus Gratton
c064e00842 Merge branch 'bugfix/make_bootloader_depends_on_target' into 'master'
make bootloader depend on IDF_TARGET

See merge request idf/esp-idf!4704
2019-04-10 13:07:52 +08:00
Konstantin Kondrashov
62a9eacced newlib: Fix adjtime
Fixed adjtime function: While using the adjtime() function,
the time correction accumulated an error
when reading the time frequently (using gettimeofday).
2019-04-10 04:33:44 +00:00
XiaXiaotian
c580eecf89 esp32_wifi: fix the issue that the spike transmit power of WiFi is higher
than configured when WiFi and Bluetooth coexist
2019-04-10 10:19:55 +08:00
Jiang Jiang Jian
83d2ff07c6 Merge branch 'bugfix/increase_block_scan_timeout_value' into 'master'
esp_wifi: increase block scan timeout value

Closes WIFI-396

See merge request idf/esp-idf!4695
2019-04-09 20:45:21 +08:00
Wangjialin
448d32bc53 bugfix(psram): improve spi cs timing settings for psram
1. remove redundant SPI clock settings, use rom functions to set clock.
2. remove redundant SPI cs setup and hold settings.
3. for old 32Mbit psram, cs hold time must only be 0.5T due to the special driving mode.(cs_setup = 0; cs_hold = 0)
4. for new 64Mbit psram, cs hold time is recommended to be 2.5T. (cs_setup = 1, cs_setup_time = 0;cs_hold = 1, cs_hold_time = 1)
2019-04-09 11:24:10 +08:00
Angus Gratton
2cf4a69f9b Merge branch 'bugfix/ws_transport_crash_on_connect_fail' into 'master'
transport_ws: Stop connecting when the parent's connect call has failed

See merge request idf/esp-idf!4701
2019-04-09 10:19:47 +08:00
Angus Gratton
911e503a36 Merge branch 'bugfix/prov_fix_conn_id' into 'master'
Unified Provisioning: Miscellaneous fixes in BLE

See merge request idf/esp-idf!4691
2019-04-09 09:28:18 +08:00
liu zhifu
005f95e3f3 esp_wifi: increase WiFi block scan timeout value
Increase WiFi block scan internal timeout value.
2019-04-09 09:24:34 +08:00
Angus Gratton
49d04250e9 Merge branch 'fix/mfg_util_todo_leftback' into 'master'
mfg_util: Remove to-do line leftback

See merge request idf/esp-idf!4707
2019-04-09 09:18:44 +08:00
Angus Gratton
8e91677701 Merge branch 'bugfix/bootloader_flash_crypt_cnt_ff' into 'master'
flash encryption: reduce FLASH_CRYPT_CNT bit width to 7 bits

See merge request idf/esp-idf!4642
2019-04-09 08:10:06 +08:00
Jiang Jiang Jian
daee3dfa5f Merge branch 'bugfix/wifi_fix_no_tbtt_after_rx_wrong_beacon' into 'master'
esp_wifi: fix the bug that no TBTT will be generated anymore after receiving wrong beacon when WiFi and BT coexist.

Closes IDF-589

See merge request idf/esp-idf!4716
2019-04-08 19:38:23 +08:00
suda-morris
78034879a8 make bootloader depend on IDF_TARGET 2019-04-08 11:08:06 +08:00
XiaXiaotian
5d43ec64bd esp_wifi: fix the bug that no TBTT will be generated anymore after receiving
wrong beacon when WiFi and BT coexist.
2019-04-08 10:36:29 +08:00
Hrishikesh Dhayagude
a717825b7e Unified Provisioning: Miscellaneous fixes in BLE
1. Pass the correct conn_id to protocomm_req_handle
In transport_simple_ble_write(), passing param->exec_write.conn_id would
be invalid. Instead param->write.conn_id should be passed
Similar change in transport_simple_ble_exec_write() to use
param->exec_write.conn_id

2. simple_ble_start() assumes that the mode is BLE only and enables
Bluetooth controller accordingly. For, cases having BT + BLE like Alexa
(Provisioning over BLE + Audio over classic BT), this assumption should
be removed.
2019-04-05 14:27:24 +05:30