Commit graph

3905 commits

Author SHA1 Message Date
Angus Gratton
04103e96f5 esp-tls: Log errors for all "connection failed" code paths 2018-04-19 11:34:27 +10:00
Angus Gratton
507ca8196c esp-tls: Allow esp_tls_conn_delete() to be called with a NULL pointer 2018-04-19 11:34:06 +10:00
Ivan Grokhotkov
cbd7431d94 fatfs/test: increase stack size in read-write unit test
2048 byte stack was not sufficient when some error was logged by SD
card driver, leading to stack overflows.
2018-04-18 14:35:21 +08:00
Angus Gratton
fe907bde60 Merge branch 'bugfix/heap_tracing_newlib_allocations' into 'master'
heap tracing: Fix tracing of newlib internal allocations

See merge request idf/esp-idf!1992
2018-04-18 12:07:15 +08:00
Ivan Grokhotkov
b76c9ef706 Merge branch 'feature/esp-tls' into 'master'
esp-tls: Fix connection failure

See merge request idf/esp-idf!2241
2018-04-18 11:11:49 +08:00
Ivan Grokhotkov
17ab60d642 Merge branch 'bugfix/nvs_failed_crc_assert' into 'master'
nvs: don’t expect items with bad CRC to be in cache

See merge request idf/esp-idf!2239
2018-04-18 11:01:21 +08:00
qiyueixa
899f2fa1ed mesh: update mesh libs
1. fix issues on sending beacon caused by too much tx retries on other packets.
2. modify not to scan if rc exists when connect.
3. modify scan dwell time to default 120ms fo root.
2018-04-17 11:49:54 +00:00
Konstantin Kondrashov
86256b3541 bootloader: Refactoring
Need to make the bootloader modular so that users can redefine its functional part.

- refactoring and moving functions to the bootloader_support component
- Changed function to `void` bootloader_utility_load_image(...);

TW19596
2018-04-17 16:36:49 +05:00
Roland Dobai
6852d653bd Allow VFS file descriptors in select() 2018-04-17 11:25:30 +02:00
Sagar Bijwe
9a3c4b7134 nvs: Fix recovery after power-off during erase operation
Current code for recovery after power-off do not clean-up partially
erased items for FULL pages. If the erasure was part of modification
operation, this gets luckily cleaned-up because of duplicate detection
logic. For erase-only operation, the problem still exists. This patch
adds the recovery for FULL pages also.

Closes TW<20284>
2018-04-17 12:24:21 +05:30
Jiang Jiang Jian
16ad81c636 Merge branch 'feature/btdm_get_and_set_cod' into 'master'
component/bt: Add API: get cod & set cod

See merge request idf/esp-idf!2127
2018-04-17 14:21:18 +08:00
Jiang Jiang Jian
a3cfbdb150 Merge branch 'bugfix/btdm_a2dp_source_cleanup_bug' into 'master'
component/bt: Fix bug of a2dp source cleanup bug when connected

See merge request idf/esp-idf!2042
2018-04-17 14:20:15 +08:00
Jiang Jiang Jian
0d55f2cb7b Merge branch 'bugfix/btdm_add_assert_when_no_device_name' into 'master'
component/bt: Fix exception when there is no device name

See merge request idf/esp-idf!2184
2018-04-17 14:19:39 +08:00
Mahavir Jain
60ab582ba6 bt: fix incorrect comments for error codes
Closes https://github.com/espressif/esp-idf/issues/1845

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-04-17 10:44:48 +05:30
Mahavir Jain
959c677025 rtc_module: fix build failure if assertions are disabled
Closes https://github.com/espressif/esp-idf/issues/1841

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-04-17 10:44:48 +05:30
Konstantin Kondrashov
6a4033b8a7 nvs: fix nvs_get_stats unit test
Changed check for the returned parameter from ESP_ERR_NVS_PART_NOT_FOUND to ESP_ERR_NVS_NOT_INITIALIZED.
2018-04-16 13:28:45 +00:00
He Yin Ling
c36687aac6 Merge branch 'test/fix_ci_test_fail_in_jap_case' into 'master'
test: fix CI fail when join AP

See merge request idf/esp-idf!2245
2018-04-16 19:02:46 +08:00
Ivan Grokhotkov
2c3644a09f nvs: don’t expect items with bad CRC to be in cache
When erasing a variable length item with an incorrect CRC32, the span
value of the item can not be trusted, so the item will be erased with
span = 1. Subsequent entries represent the data of the variable
length item, and these will be treated as separate items. For each
entry CRC32 is checked, the check most likely fails (because the
entry contains arbitrary data, and not a proper NVS item), and the
entry is erased. Erase function assumed that every item should be
present in cache, but it is not the case for the entries which are
just parts of item’s payload. This change allows for the item to be
not found in the hashlist, if the CRC32 check fails.
2018-04-16 09:36:17 +00:00
Ivan Grokhotkov
fc1e944f59 Merge branch 'bugfix/nvs_stat_test' into 'master'
NVS: fix nvs_get_stats unit test

See merge request idf/esp-idf!2248
2018-04-16 14:45:43 +08:00
Ivan Grokhotkov
d3fd00c049 Merge branch 'bugfix/spi_miso_on_input_only_pins' into 'master'
fix(spi): allow to use MISO on GPIO34-39.

See merge request idf/esp-idf!2136
2018-04-16 14:39:02 +08:00
Ivan Grokhotkov
20405fbbcc nvs: make nvs_flash_deinit useable from unit tests 2018-04-16 14:06:52 +08:00
Ivan Grokhotkov
fa3bd16d75 nvs: deinit NVS in nvs_stats unit test
This fixes the failure when this test runs after another test which
leaves NVS initialized.
2018-04-16 12:50:57 +08:00
Ivan Grokhotkov
d0d314d8f8 Merge branch 'bugfix/nvs_page_selection' into 'master'
nvs: Fix page selection algo to consider free entry counts as well

See merge request idf/esp-idf!2240
2018-04-16 10:32:01 +08:00
Ivan Grokhotkov
5029eb4b3b Merge branch 'feature/nvs_get_count_used_entries' into 'master'
NVS: add API to get used entries count

See merge request idf/esp-idf!1982
2018-04-16 10:25:01 +08:00
He Yin Ling
7cfd08deca test: fix join AP fail during AP power on 2018-04-16 09:27:46 +08:00
Angus Gratton
8b3fda99f5 Merge branch 'feature/uart_add_api_get_cmd_position' into 'master'
driver(uart): Add API to get the position of cmd_char

See merge request idf/esp-idf!2177
2018-04-16 08:03:25 +08:00
Ivan Grokhotkov
9c7207ed3c Merge branch 'bugfix/soc_clk_out_fields' into 'master'
soc/io_mux: make CLK_OUT fields compatible with REG_SET/GET_FIELD

See merge request idf/esp-idf!2133
2018-04-13 19:42:20 +08:00
Jitin George
0d0445103b esp-tls: Fix connection failure when esp-tls config is empty 2018-04-13 16:58:19 +05:30
Jiang Jiang Jian
c17b59ebe1 Merge branch 'feature/mesh' into 'master'
mesh: update mesh libs

See merge request idf/esp-idf!2218
2018-04-13 18:55:39 +08:00
Sagar Bijwe
7e79471ece nvs: Fix page selection algo to consider free entry counts as well
Current page selection algorithm selects a page for compaction based on just erased counts
and gives up when it does not find any page with erased count greater than 0. This is
problematic since the current allocation procedure skips the active page if there is not
enough room for the item in that page leaving free chunks on the pages. This change modifies
the algorithm to consider both erased as well as free counts on the candidate pages.

Closes TW<20297>
2018-04-13 14:49:05 +05:30
konstantin
c93626db3f nvs:Add functions for calculating used/free entries
Users needs functions to count the number of free and used entries.

1. `nvs_get_stats()` This function return structure of statistic about the uspace NVS.
(Struct: used_entries, free_entries, total_entries and namespace_count)
2. `nvs_get_used_entry_count()` The second function return amount of entries in the namespace (by handler)
3. Added unit tests.

Closes TW<12282>
2018-04-13 10:34:13 +05:00
Wang Jia Lin
6c44fc70bc Merge branch 'feature/gpio_add_hold_support' into 'master'
driver(gpio):   Add api support digital pad hold function

See merge request idf/esp-idf!2186
2018-04-13 12:18:44 +08:00
qiyueixa
92fd4c42e1 mesh: update mesh libs
1. fix a bug in initliazing map beacon interval.
2. fix not send MESH_EVENT_ROUTING_TABLE_REMOVE when MESH_NWK_CHILD_DISCONNECTED.
3. fix a bug in returning roots ie len.
2018-04-13 11:52:31 +08:00
Michael (Xiao Xufeng)
45f8bcf3f8 fix(spi): allow using MISO on GPIO34-39
Breaking Changes: arguments of ``spicommon_bus_initialize_io`` are changed.

Closes https://github.com/espressif/esp-idf/issues/1736.
2018-04-12 17:01:38 +08:00
Michael (Xiao Xufeng)
77629129c0 chore(spi): update the return value of spi init functions 2018-04-12 17:01:38 +08:00
Michael (Xiao Xufeng)
dceb3452c7 doc(spi_master): format the documentation of several fields and macros in spi_master.h 2018-04-12 17:01:37 +08:00
Angus Gratton
234723c061 Merge branch 'feature/pcnt_add_isr_manage_apis' into 'master'
Driver(pcnt) :  Add new feature that each unit can  has it's own interrupt handler.

See merge request idf/esp-idf!2086
2018-04-12 09:06:56 +08:00
Angus Gratton
c626a8fe74 Merge branch 'feature/build_out_of_tree_srcs' into 'master'
make: Build out of tree component srcs under component build dir

See merge request idf/esp-idf!2190
2018-04-12 08:49:56 +08:00
Jiang Jiang Jian
12dbe4dac5 Merge branch 'feature/btdm_add_set_local_icon_api' into 'master'
Component/bt: add set gap icon API

See merge request idf/esp-idf!2129
2018-04-11 20:48:13 +08:00
Jiang Jiang Jian
6b7ad6b707 Merge branch 'bugfix/btdm_do_not_update_conn_params_when_have_key_in_slave' into 'master'
Component/bt: do not update connection params when already have keys in slave

See merge request idf/esp-idf!2176
2018-04-11 20:47:27 +08:00
kooho
2236249555 driver(pcnt): Add some APIs to support each unit can have it's own interrupt handler. 2018-04-11 16:15:09 +08:00
Ivan Grokhotkov
bdadd95dd7 Merge branch 'feature/wwrite_string_for_idf' into 'master'
Enable -Wwrite-strings when compiling IDF's own C files

See merge request idf/esp-idf!2193
2018-04-11 14:59:08 +08:00
Ivan Grokhotkov
bae9709a79 Merge branch 'feature/sdio_master' into 'master'
SDIO master driver

See merge request idf/esp-idf!2008
2018-04-11 12:38:42 +08:00
Ivan Grokhotkov
c6829fa5b8 sdmmc: improve error handling during SPI mode init
- In SPI mode, the card will respond to the initial SDIO reset (done
using CMD52) with “invalid command” error. Handle this correctly.

- sdmmc_card_init had a hack where GO_IDLE_STATE (CMD0) command was
sent twice. Add explanation why this is done, and don’t expect
correct response from the card on first CMD0.

- improve logs printed at debug level by adding CMD index
2018-04-11 11:11:17 +08:00
Ivan Grokhotkov
ee600784c5 sdmmc: add SDIO support
- Add SDIO support at protocol layer (probing, data transfer, interrupts)
- Add SDIO interrupts support in SDMMC host
- Add test (communicate with ESP32 in SDIO download mode)
2018-04-11 11:07:13 +08:00
Ivan Grokhotkov
5f97e6bebb sdmmc: fill as many DMA descriptors as possible 2018-04-11 11:06:50 +08:00
Ivan Grokhotkov
20a8c3318a sdmmc: do expect CMD_DONE interrupt after response timeout
Existing code assumed that response timeout is not followed by CMD_DONE,
which was not true, in fact. Host datasheet states that CMD_DONE is sent
after an RTO.
2018-04-11 11:06:50 +08:00
Ivan Grokhotkov
01cd2fce73 sdmmc: print error status only once 2018-04-11 11:06:50 +08:00
Ivan Grokhotkov
5fc6fb58ea sdmmc: don't whitelist the opcodes when handling response timeout
All the commands which do not have a response must have their flags set
accordingly. Therefore the host will not send RTO interrupt if response
is not expected. It is a bug in the code logic if it happens otherwise.
2018-04-11 11:06:50 +08:00
Ivan Grokhotkov
f02cff13cc sdmmc: set highest possible host clock divider
SDMMC host suffers from an issue that it outputs data near the rising
edge of the card clock, which is the edge used by the card to sample
data. If sampling time constraint is not satisfied, card may read data
after the transition.

The phases of output/input data can, in fact, be adjusted. However this
adjustment happens in the clock generation block outside of the host.
So the maximum phase change which can be created this way is equal to
half of the host clock period. So if the host clock is set to the lowest
possible frequency (for the given card frequency), then the phase offset
(and hence the hold time) will be the highest. This change modifies the
logic used to determine clock dividers accordingly.

sdmmc host: set correct dout phase and print correct frequency
2018-04-11 11:06:50 +08:00
Ivan Grokhotkov
84d6793f77 sdmmc: don't set data_expected on SET_BUS_WIDTH command
SET_BUS_WIDTH is not a data transfer command. Extensive search in the
host datasheet and SD card spec did not reveal the origin of this hack
or 'feature'. Further testing showed that removing this does not lead to
regressions.
2018-04-11 11:06:50 +08:00
Ivan Grokhotkov
42de5fb76d sdmmc: send init sequence before CMD0 2018-04-11 11:06:50 +08:00
Ivan Grokhotkov
907fc1167a gpio: add special GPIO signal values 2018-04-11 11:06:50 +08:00
huchaoru
f409a33653 test: update ci test case 2018-04-10 14:08:10 +00:00
Hrishikesh Dhayagude
9c41c93f5f components/bt: Correct the enquiry mode name
Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-04-10 17:58:11 +05:30
Ivan Grokhotkov
2522c1b2f9 Merge branch 'bugfix/rtc_clk_fixes' into 'master'
Power management and RTC fixes

See merge request idf/esp-idf!2131
2018-04-10 18:17:02 +08:00
baohongde
52dbcef908 component/bt: Fix exception when there is no device name 2018-04-10 17:55:33 +08:00
Roland Dobai
744c2dcdd9 Resolve problems found by enabling -Wwrite-strings compilation flag 2018-04-10 08:53:43 +02:00
Angus Gratton
f7b7b4ef59 Merge branch 'bugfix/mdns_fixes' into 'master'
MDNS: Fix some issues when hostname is not set or services are removed

See merge request idf/esp-idf!2179
2018-04-10 13:43:02 +08:00
Angus Gratton
2914111c8c Merge branch 'bugfix/heap_fragmentation_on_split_pr1761' into 'master'
heap: Try to merge tail with next block when splitting

See merge request idf/esp-idf!2147
2018-04-10 12:14:57 +08:00
Hrishikesh Dhayagude
284f332f06 components/bt: Add NULL value check in bta_gattc_get_service_with_uuid()
Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-04-10 09:34:03 +05:30
kooho
ccf09c3b39 driver(gpio): Add api support digital pad hold function. 2018-04-10 11:31:59 +08:00
Ing. Jaroslav Safka
801632d68b bt: Add option to ena/dis BLE service change registration
Add option to enable/disable automatic registration of BLE Gattc
service change notify. Which sends in parralel
(with user message flow) commands to BLE server which
sometime leads to GATT_BUSY.
(BLE server is able to handle only one command at time)

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

Merges https://github.com/espressif/esp-idf/pull/1673
2018-04-10 12:27:33 +10:00
Angus Gratton
2bfef060ba Merge branch 'bugfix/small_fixes_from_github' into 'master'
Bugfix/small fixes from github

See merge request idf/esp-idf!2200
2018-04-10 09:19:19 +08:00
Angus Gratton
58ed6cc9af Merge branch 'bugfix/wifi_ps_modem' into 'master'
wifi: Add WIFI_PS_MODEM for backwards compatibility with V3.0 API

See merge request idf/esp-idf!2203
2018-04-10 09:18:53 +08:00
baohongde
789edc0b52 component/bt: Add API: get cod & set cod
In response to: https://github.com/espressif/esp-idf/issues/1565
2018-04-09 19:25:26 +08:00
Angus Gratton
97a382077f wifi: Add WIFI_PS_MODEM for backwards compatibility with V3.0 API 2018-04-09 16:55:38 +10:00
me-no-dev
421c6f154b Fix exception when service is removed while there are pending packets that depend on it 2018-04-09 09:40:08 +03:00
Tian Hao
1bde34c1f1 component/esp32 : remove pm gpio dbg 2018-04-09 14:33:48 +08:00
Ivan Grokhotkov
b11209b070 Merge branch 'feature/esp-tls' into 'master'
feature/add simplified TLS socket APIs

See merge request idf/esp-idf!1951
2018-04-09 14:25:21 +08:00
Anton Maklakov
046ff2e628 Make error codes looks like literals in the code of them (easy for searching). Minor fixes, typos 2018-04-09 13:54:18 +10:00
Ing. Jaroslav Šafka
3d89c8ba74 rmt: Fix LoadProhibited on RX END
Fixes exceptions LoadProhibited, when rmt tries read variable p_rmt on RX END which can be 0.
It happens after esp_reset()  (OTA) and the rmt is not probably stopped by it.
In other words the routine rmt_driver_isr_default was called before second rx channel was registered.

scenario:
register tx channel
register rx channel
reboot
register tx channel
-> exception (because rx channel is accessed)

Merges https://github.com/espressif/esp-idf/pull/1671
2018-04-09 12:29:05 +10:00
Mixerito
9f39411e80 esp32: get_chip_info_esp32() return correct model number
out_info->model was zeroed by memset

Merges https://github.com/espressif/esp-idf/pull/1760
2018-04-09 12:28:23 +10:00
Fredrik
97c6a94a03 Bugfix GPIO_DIS_OUTPUT to work with pin 32 and up
Merges https://github.com/espressif/esp-idf/pull/1796
2018-04-09 12:28:23 +10:00
Jitin George
b09c3e9878 mbedtls integration in esp-tls 2018-04-06 17:16:27 +05:30
Jitin George
30b50cbfb3 esp-tls header file name change 2018-04-06 17:16:27 +05:30
Jitin George
e29294b49a Resolved Issues 2018-04-06 17:16:27 +05:30
Jitin George
8a1dcc0765 CA Certificate verification 2018-04-06 17:16:27 +05:30
Kedar Sovani
8211a16207 Use esp-tls in the http2 example 2018-04-06 17:16:27 +05:30
Kedar Sovani
070884fc2e Include error log in case of error 2018-04-06 17:13:14 +05:30
Kedar Sovani
433bd8c91c Minor fixes 2018-04-06 17:13:14 +05:30
Kedar Sovani
1c72c8d126 Supports TLS with HTTP2 client 2018-04-06 17:13:14 +05:30
Kedar Sovani
eb051fe72f Minor fixes 2018-04-06 17:13:14 +05:30
Anuj Deshpande
adbcaf8938 Cast to remove warnings 2018-04-06 17:13:14 +05:30
Kedar Sovani
e45024e088 Don't use 'port' number for DNS query
- In some cases where the HTTP URL contains the port number
(http://hostname:334), the DNS querier fails to resolve the hostname.
- Hence we have to populate the port number ourselves.
- This can only be done based on whether we get an IPv4 or IPv6
  address.
2018-04-06 17:13:14 +05:30
Kedar Sovani
306d59d32c Make read/write function pointers
as per Ivan's feedback
2018-04-06 17:13:14 +05:30
Kedar Sovani
7f35c4ff3e esp-tls: Basic structure
Purpose:
1. TLS calls can be too many, and require a user to know the expected behaviour. A simple TLS socket wrapper that can be used in any higher level protocol.
2. Uses OpenSSL compatibility layer, so applications using esp-tls can be built on the host, and it should just work on ESP
2018-04-06 17:13:14 +05:30
Angus Gratton
5b05a1f822 make: Build out of tree component srcs under component build dir
Strips leading ../ when generating object file paths, keeps these in sync with the source files
otherwise.

This prevents object files landing in other directories, including outside the build directory, if
the component_srcdirs start with ../
2018-04-06 13:10:19 +10:00
Xia Xiaotian
e727582180 Fix two WiFi and LWIP typos
1. close github issue: https://github.com/espressif/esp-idf/issues/1792
    2. close github issue: https://github.com/espressif/esp-idf/issues/1781
2018-04-05 11:46:42 +08:00
qiyueixa
2984cdbbe3 add mesh feature 2018-04-04 22:57:45 +08:00
Jiang Jiang Jian
c842725be0 Merge branch 'bugfix/pm_coex_minor_things' into 'master'
Bugfix/pm coex minor things

See merge request idf/esp-idf!2180
2018-04-04 17:54:40 +08:00
Ivan Grokhotkov
1a302cbac1 Merge branch 'bugfix/open_uart_non_blocking' into 'master'
Make UART non-blocking when the file descriptor was opened with the O_NONBLOCK flag

See merge request idf/esp-idf!2153
2018-04-04 14:43:31 +08:00
Angus Gratton
53234ef2bc Merge branch 'refactor/rtc_split_module' into 'master'
bugfix(rtc): make sure peripherals (DAC, HALL) are turned off before conversion.

See merge request idf/esp-idf!1848
2018-04-04 09:00:58 +08:00
Tian Hao
58e7464dc0 component/esp32 : clear some minor thingsw about PM and coexistence 2018-04-03 20:13:49 +08:00
Ivan Grokhotkov
595ddfd825 Merge branch 'feature/build_ssc_in_multiple_ci_jobs' into 'master'
CI: support build SSC in multiple jobs

See merge request idf/esp-idf!1622
2018-04-03 18:20:38 +08:00
Ivan Grokhotkov
139d49894c Merge branch 'feature/deactivate_wakeup_trigger' into 'master'
esp32: Add deactivation of wake up trigger for different sources

See merge request idf/esp-idf!2079
2018-04-03 15:19:10 +08:00
Angus Gratton
3ccb12530b heap: Change test_multi_heap_on_host multi-config to bash script not Makefile
Hopefully fix some CI building issues with parallel builds.
2018-04-03 16:34:02 +10:00
kooho
305c788c60 driver(uart): Add API to get the position of cmd_char 2018-04-03 12:34:16 +08:00
Deomid Ryabkov
4b7eb1792e Try to merge tail with next block when splitting
When splitting a memory block, check if the next block is free.
If it is, then just extend it upwards instead of creating a new block.
This fixes a bug where when shrinking existing allocations would result in irreversible free space fragmentation.

When testing on the host, test all the poisoning configurations.
2018-04-03 12:30:52 +10:00
Jiang Jiang Jian
393f3da37c Merge branch 'feature/btdm_add_get_local_used_addr_API' into 'master'
Component/bt: add esp_ble_gap_get_local_used_addr() API

See merge request idf/esp-idf!2137
2018-04-02 22:28:00 +08:00