Commit graph

6247 commits

Author SHA1 Message Date
Angus Gratton
ba51e9fb5c Merge branch 'bugfix/aes_fault_inj' into 'master'
mbedtls: Add simple fault injection check for hardware AES peripheral

See merge request idf/esp-idf!5023
2019-05-21 13:44:32 +08:00
Ivan Grokhotkov
0ccb7541f5 Merge branch 'feature/nvs_check_item_modified' into 'master'
nvs: Check if an item is modified before writing out an identical copy

See merge request idf/esp-idf!4934
2019-05-21 10:54:21 +08:00
Angus Gratton
af98ca6b46 hwcrypto: Add AES fault injection check
Hardware AES-CBC performance changes:

Release config 11.0MB/sec -> 10.8MB/sec
Debug config 9.4MB/sec -> 9.8MB/sec

(Unrolling the loop to optimize the check improves
performance at -Og, even with the fault check.)
2019-05-21 12:41:42 +10:00
Angus Gratton
c9edb7c8a9 mbedtls: Add AES-CBC performance test
Hardware AES engine gets 11.0MB/sec on Release config
Software AES is around 2.3MB/sec on Release config
2019-05-21 12:41:40 +10:00
David Cermak
d41d70b8ef tcp_transport: reading http header in a chunked mode until header terminator received (or timeout) to correctly receive all header if fragmented
Closes https://github.com/espressif/esp-idf/issues/3461
2019-05-20 16:40:03 +02:00
xiehang
2273646bda wifi: fix softap crash when sta reset 2019-05-20 19:57:50 +08:00
Michael (XIAO Xufeng)
33db6d608e spi_slave: add HAL support 2019-05-20 07:34:34 +00:00
Angus Gratton
595d702e97 Merge branch 'feature/update_esp_tls_config' into 'master'
esp-tls: Add support to add CN from config and validate PEM buffers

See merge request idf/esp-idf!4929
2019-05-20 14:00:37 +08:00
Angus Gratton
8c6ff874af Merge branch 'bugfix/custom_log_uart_rx_pin' into 'master'
bootloader_support: Fix UART RXD pin for console output (CUSTOM option)

Closes IDFGH-505

See merge request idf/esp-idf!5009
2019-05-20 13:58:37 +08:00
Angus Gratton
826acbc3de Merge branch 'bugfix/custom_bootloader_subproject_build' into 'master'
CMake: Fix custom bootloader does not override original

See merge request idf/esp-idf!5000
2019-05-20 13:58:03 +08:00
Ivan Grokhotkov
2b301f53e4 Merge branch 'bugfix/fix_build_make_macos' into 'master'
make: fix build failure on macos with GNU make <= 3.81

See merge request idf/esp-idf!5010
2019-05-20 10:44:49 +08:00
Jitin George
d1c6bbf42e esp-tls: Add support to add CN from config and validate PEM buffers 2019-05-17 20:06:44 +05:30
Renz Christian Bagaporo
927007fdd2 cmake: fix custom bootloader issue
Issue is that when users creates a custom bootloader from
$IDF_PATH/components/bootloader. Parent project build uses the copy but
bootloader subproject build uses the original still. The issue is solved
by passing the custom bootloader as extra component directory so
bootloader build knows to use the new copy (itself) in the build.
2019-05-17 15:17:32 +08:00
Angus Gratton
907471ce41 Merge branch 'feature/cmake_changes_for_4.0' into 'master'
CMake for 4.0

See merge request idf/esp-idf!4452
2019-05-17 14:21:48 +08:00
David Cermak
8f91d730da make: fix build failure on macos with GNU make <= 3.81
Closes https://github.com/espressif/esp-idf/issues/3459
2019-05-16 14:09:43 +02:00
Konstantin Kondrashov
98c77cebb2 bootloader_support: Fix UART RXD pin for console output (CUSTOM option)
The RXD pin is assigned as input (fix for custom uart option).

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

Closes: IDFGH-505
2019-05-16 11:18:56 +00:00
Anurag Kar
120bd3a456 protocomm_ble : Fixed custom service UUID support
List of changes:
* Use 128 bit characteristic UUIDs when creating GATT table entries
* Change primary service attribute value to 128 bit custom service UUID
* Use raw advertisement data to convey flags and 128 bit primary service UUID
* Use raw scan response to send device name as complete local name
* Increase maximum device name length in relation to maximum scan response length
* Set Characteristic User Description attributes for each characteristic to convey protocomm endpoint names
2019-05-15 12:27:03 +00:00
Angus Gratton
1b4c7d30e5 Merge branch 'bugfix/esp_efuse_fields_unused_variable' into 'master'
efuse: Fix unused variable warning when NDEBUG

Closes IDFGH-1114

See merge request idf/esp-idf!4955
2019-05-15 12:48:28 +08:00
Angus Gratton
3f7bd872ac Merge branch 'refactor/power_management' into 'master'
power_management: Using port*_CRITICAL_ISR to be consistent with FreeRTOS

See merge request idf/esp-idf!4412
2019-05-15 12:27:58 +08:00
Angus Gratton
0458bacc4e Merge branch 'bugfix/httpd_log_purge' into 'master'
esp_http_server : Logging of purged data to monitor made configurable

Closes IDFGH-1034

See merge request idf/esp-idf!4941
2019-05-14 18:07:51 +08:00
Renz Christian Bagaporo
477fa49fc0 examples: update idf_as_lib example to use new api 2019-05-14 18:01:14 +08:00
Renz Christian Bagaporo
c564d1730f esp_common: append gc sections link flag 2019-05-14 18:01:14 +08:00
Renz Christian Bagaporo
ffec9d4947 components: update with build system changes 2019-05-13 19:59:17 +08:00
Sachin Parekh
e6a714480d unit-test-app: freertos_compliance config added
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
a190b527ac power_management: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
db8041a67f intr_alloc: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
f3db0b5a4a crosscore_init: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
5979086379 timer: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
7f37824eb7 rtc_module: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
da41885e85 rmt: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
e9898b1280 periph_ctrl: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh
5c6b9adf11 freertos: port*_CRITICAL_SAFE API added
port*_CRITICAL_SAFE API calls port*_CRITICAL or port*_CRITICAL_ISR
depending on the context (Non-ISR or ISR respectively).

FREERTOS_CHECK_PORT_CRITICAL_COMPLIANCE Kconfig option added

Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Angus Gratton
56078159d4 Merge branch 'bugfix/xTaskIncrementTick' into 'master'
freertos: Fix xTaskIncrementTick for unwind the Tick for CPU1

Closes IDF-183

See merge request idf/esp-idf!4792
2019-05-13 12:34:54 +08:00
Konstantin Kondrashov
bbdeff1da1 esp32: Rewrite esp_sha function
It removes using a STALL_OTHER_CPU while sha operations.
It improves performance with SHA.
2019-05-13 12:32:45 +08:00
Angus Gratton
014de712ab Merge branch 'feature/update_cjson_lib_to_1.7.11' into 'master'
cJSON: update to v1.7.11

Closes IDFGH-1004

See merge request idf/esp-idf!4881
2019-05-13 12:31:19 +08:00
Anurag Kar
6bf423d1e1 esp_http_server : Logging of purged data to monitor made configurable
List of changes:
* Kconfig option HTTPD_LOG_PURGE_DATA enables logging of purged data
* Kconfig option HTTPD_PURGE_BUF_LEN sets purge buffer length
* Purged data is logged in hex

Closes https://github.com/espressif/esp-idf/issues/3359
2019-05-10 14:25:39 +05:30
Jiang Jiang Jian
1c46caf70c Merge branch 'bugfix/modify_TCP_MSS_range' into 'master'
Change the default value of TCP_MSS to 1440 and TCP_MSS Range : [536 1460]

See merge request idf/esp-idf!4968
2019-05-10 13:52:16 +08:00
Angus Gratton
ce45e7806b Merge branch 'feature/add_promiscuous_control_for_ethernet' into 'master'
add promiscuous mode control for Ethernet

See merge request idf/esp-idf!4953
2019-05-10 12:51:15 +08:00
Angus Gratton
b6a24bbd25 Merge branch 'feature/esp-https-ota-basic-auth' into 'master'
esp_https_ota: component refactoring, bugfixes and feature additions

See merge request idf/esp-idf!4245
2019-05-10 12:39:14 +08:00
Angus Gratton
b991aa1ecb Merge branch 'bugfix/fix_minor_gh_issues' into 'master'
mdns: minor fixes mainly from GitHub

Closes #77

See merge request idf/esp-idf!4930
2019-05-10 12:31:30 +08:00
Angus Gratton
073573aa5d Merge branch 'bugfix/issue_with_encryption_flag_for_partition' into 'master'
partition: Fix "encrypted" read/write when encryption is disabled

See merge request idf/esp-idf!4927
2019-05-10 10:51:21 +08:00
Angus Gratton
8720a13d0f Merge branch 'bugfix/spiffsgen_path_on_windows' into 'master'
Fix issue with spiffsgen path when creating image in Windows

Closes IDFGH-1095

See merge request idf/esp-idf!4931
2019-05-10 10:23:28 +08:00
xiehang
403f588fd0 Change the default value of TCP_MSS to 1440 and TCP_MSS Range : [536 1460] 2019-05-09 19:49:59 +08:00
xiehang
67dd55eae8 Change the default value of TCP_MSS to 1440 and TCP_MSS Range : [576 1460] 2019-05-09 17:59:25 +08:00
suda-morris
63e4677c55 pass IDF_TARGET variable to bootloader build process 2019-05-09 14:19:02 +08:00
Ivan Grokhotkov
eeca0804e6 Merge branch 'bugfix/https_doc_api' into 'master'
esp_http_server : Minor clarification in httpd_req_get_url_query_str() API documentation

Closes IDFGH-1052

See merge request idf/esp-idf!4942
2019-05-09 11:23:01 +08:00
suda-morris
15070ea648 add promiscuous mode control in emac driver
1. add promiscuous mode control in emac driver
2. fix minor bugs in IP101 driver
2019-05-08 17:15:21 +08:00
V.Dudnik
7822484aaa efuse: Fix unused variable warning when NDEBUG
Merges: https://github.com/espressif/esp-idf/pull/3429
Closes: https://github.com/espressif/esp-idf/issues/3432
2019-05-08 09:14:24 +08:00
Roland Dobai
bfe5b13905 tools/gen_esp_err_to_name.py: Don't include already included headers 2019-05-06 15:08:37 +02:00
Roland Dobai
20bd142077 Fix paths to the new esp_common in the ESP error code generator 2019-05-06 15:07:27 +02:00
Hagen Fritsch
051b5c45c5 Fix includes in esp_err_to_name.c.in.
esp_err_t provided by esp_err.h and thus is required and not optional.
While the python script adds the header, it wraps it with an __has_include
directive that is not supported on all compilers (notably GCC 4.8).

Closes https://github.com/espressif/esp-idf/pull/3424
2019-05-06 14:52:13 +02:00
Anurag Kar
5e1c19d73d esp_http_server : Minor clarification in httpd_req_get_url_query_str() API documentation
Closes https://github.com/espressif/esp-idf/issues/3374
2019-05-06 14:32:24 +05:30
suda-morris
e0097bc740 cJSON: update to v1.7.11
Closes https://github.com/espressif/esp-idf/issues/3332
2019-05-06 14:07:54 +08:00
Angus Gratton
df61612f8f Merge branch 'bugifx/httpd_reuseaddr' into 'master'
esp_http_server : Allow binding to same address and port upon restarting server without delay

Closes IDFGH-1060

See merge request idf/esp-idf!4903
2019-05-06 08:45:09 +08:00
V.Dudnik
867ea68d5a fix spiffsgen.py wrong path delimiter on windows 2019-05-05 17:50:15 +08:00
David Cermak
af48977f21 mdns: fixed mdns crashing on reception of txt packet without a corresponding service
closes #2866
2019-05-03 16:37:43 +02:00
David Cermak
c050a75616 mdns: use const char* for mdns txt items types to remove warning when assigning 2019-05-03 16:31:32 +02:00
David Cermak
a851aac255 mdns: updated doxygen comments documenting mdns api
Closes https://github.com/espressif/esp-idf/issues/1718
2019-05-03 16:29:12 +02:00
David Cermak
eddd5c4f2c mdns: update mdns_out_question_s to be in line with mdns_parsed_question_s struct
Closes  https://github.com/espressif/esp-idf/issues/1568
2019-05-03 14:54:59 +02:00
Tim Nordell
7892cf6a03 partition: Fix "encrypted" read/write when encryption is disabled
According to the documentation[1][2] for partitions, setting the encrypted
flag for partitions should be a no-op when system level encryption isn't
enabled.  The current implementation, however, does not actually match
the documentation and it ends up with an unreadable partition via the
partition API if a partition flag is marked as encrypted without
system-level encryption enabled.  (This is because the writes go through
the encryption block, and reads do not go through the encryption block
when this situation occurs causing unreadable data to the application
running.) This fixes up the read-back of the partition table to match
whether or not the partition is currently encrypted under the hood.

This should not affect the bootloader's code for reading/writing encrypted
partitions as the bootloader directly invokes the spi_flash_write*(...)
APIs.

[1] https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/partition-tables.html#flags
[2] https://docs.espressif.com/projects/esp-idf/en/latest/security/flash-encryption.html#encrypted-partition-flag

Closes https://github.com/espressif/esp-idf/pull/3328

Signed-off-by: Tim Nordell <tim.nordell@nimbelink.com>
2019-05-03 15:03:04 +05:30
Jitin George
4e6d39f009 esp-http-client: Fix incorrect event name HTTP_EVENT_HEADER_SENT
Closes https://github.com/espressif/esp-idf/issues/3095
2019-05-02 16:15:59 +05:30
Anurag Kar
ffad8b27a3 esp_http_server : Allow binding to same address and port upon restarting server without delay
Issue : Restarting the server without 30sec delay between httpd_stop() and httpd_start() causes EADDRINUSE error
Resolution : Use setsockopt() to enable SO_REUSEADDR on listener socket

Closes https://github.com/espressif/esp-idf/issues/3381
2019-05-02 05:29:38 +00:00
Tim Nordell
c3fa2497b9 nvs: Check if an item is modified before writing out an identical copy
This prevents wear and tear on the flash, and it also is faster in some
cases since the read-out of flash is a cheaper operation than the erasure
of flash.  Some library modules (such as the esp_wifi) write out to NVS
upon every initialization without checking first that the existing value
is the same, and this speeds up initialization of modules that make
these design choices and moves it into a centralized place.

The comparison functions are based on the read-out functions of the same
name, and changes out the memcpy(...) operations for memcmp(...)
operations.

Signed-off-by: Tim Nordell <tim.nordell@nimbelink.com>
2019-04-30 11:39:58 -05:00
Jitin George
f49e91f744 esp_https_ota: Add support for URL redirection, basic auth and more control with new APIs
Bugfixes:
- Fix http url redirection issue
- Fix basic/digest auth issue with http url

Features:
- Add support for adding custom http header
- Add support for reading firmware image header
- Add support for monitoring upgrade status
  - This requires breaking down esp_https_ota API such that it allows finer application level control
  - For simpler use-cases previous API is still supported

Closes https://github.com/espressif/esp-idf/issues/3218
Closes https://github.com/espressif/esp-idf/issues/2921
2019-04-29 18:58:07 +05:30
Jitin George
86e1fc564e esp_http_client: Add API for adding authorization info
There was existing support for adding authorization info in esp_http_client
but it was functional only while using `esp_http_client_perform` API. This commit just moves
existing authorization addition logic into publicly exposed API.
2019-04-29 11:44:37 +05:30
michael
0b523c2300 spi_master: fix the dual/quad io issue
introduced in f871cc5ffa

The issue is caused by

1. The hal didn't pass the io_mode to LL.
2. The setup_device function overwrite the trans-specific settings.
2019-04-27 01:36:47 +08:00
Konstantin Kondrashov
643d0f2164 freertos/test: Add unit tests for xTaskIncrementTick 2019-04-26 22:36:12 +08:00
Angus Gratton
fe2565f5d7 Merge branch 'feature/make_bootloader_support_target_dependent' into 'master'
make bootloader_support depend on IDF_TARGET

See merge request idf/esp-idf!4798
2019-04-26 15:36:48 +08:00
Angus Gratton
df9113e0e1 Merge branch 'feature/kconfig_backward_comp' into 'master'
Rename deprecated Kconfig options in a backward compatible way

Closes IDF-155

See merge request idf/esp-idf!4551
2019-04-26 10:09:29 +08:00
Angus Gratton
207e87932b Merge branch 'fix/fix_soc_dram_low_addr' into 'master'
fix the dram low addr defined in the soc.h header

See merge request idf/esp-idf!4882
2019-04-26 08:43:22 +08:00
Jiang Jiang Jian
b5bbd42b9a Merge branch 'bugfix/btdm_abort_if_deinit_spp_without_init' into 'master'
components/bt: Fix abort if call esp_spp_deinit without calling esp_spp_init

See merge request idf/esp-idf!4859
2019-04-25 20:38:37 +08:00
Jiang Jiang Jian
9c7fb51d7d Merge branch 'feature/btdm_add_ble_link_timeout_config' into 'master'
Component/bt: add ble link timeout config in menuconfig

See merge request idf/esp-idf!4786
2019-04-25 20:04:53 +08:00
Ivan Grokhotkov
89798b328b Merge branch 'bugfix/select_init_sem' into 'master'
VFS: Allocate socket select semaphore outside ISR

See merge request idf/esp-idf!4591
2019-04-25 19:10:08 +08:00
Michael (XIAO Xufeng)
9a00b7706e fix the dram low addr defined in the soc.h header 2019-04-25 17:29:48 +08:00
Jiang Jiang Jian
7724a2e1a0 Merge branch 'bugfix/wifi_fix_wps_fail_when_ap_is_encrypted' into 'master'
esp_wifi: fix the bug that WPS fails when AP is encrypted

Closes IDF-623

See merge request idf/esp-idf!4827
2019-04-25 17:05:48 +08:00
Konstantin Kondrashov
8e434c1bf0 freertos: Fix xTaskIncrementTick for unwind the Tick for CPU1
xTaskIncrementTick have to unwind uxPendedTicks on CPU1 and CPU0.

Use case: If an erase operation was run on the CPU1 then it leads
to starving other tasks which waiting time. Waited tasks just skipped.

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

Closes: IDF-183
2019-04-25 13:03:01 +08:00
Roland Dobai
23ee93ea76 Rename deprecated Kconfig options in a backward compatible way 2019-04-24 12:53:02 +02:00
XiaXiaotian
e1f743c8eb esp_wifi: fix the bug that WPS fails when AP is encrypted 2019-04-24 13:57:14 +08:00
baohongde
db6b210a5f components/bt: Fix abort if call esp_spp_deinit without calling esp_spp_init 2019-04-24 11:17:54 +08:00
Vikram Dattu
e0d796bf33 Add a esp_http_client_set_redirection function When using direct operations instead of esp_http_client_perform, we need a way to set redirection URL when we get 30x response codes. Added the function for the same. User can now check status code and call esp_http_client_set_redirection function to enable redirection. Related change in adf: https://gitlab.espressif.cn:6688/adf/esp-adf-internal/merge_requests/187
Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2019-04-23 19:29:49 +05:30
zhiweijian
0ae4eb4f09 Component/bt: add ble link timeout config in menuconfig
- add ble link timeout config in menuconfig
- disable background connection when call gatts_open
2019-04-22 09:16:19 +00:00
zhangyanjiao
513353c641 wifi: fix the bug when scan fail after STA failed to connect to a nonexistent AP 2019-04-22 11:59:40 +08:00
He Yin Ling
9549ae4c12 test: sync integration test cases 2019-04-19 16:44:00 +08:00
Angus Gratton
4b9a38d883 Merge branch 'feature/freemodbus_master_support_upd_arch' into 'master'
examples: freemodbus port common master and slave interface implementation

See merge request idf/esp-idf!3707
2019-04-18 12:42:05 +08:00
He Yin Ling
dd9de16100 Merge branch 'test/modify_mesh_ci_master' into 'master'
test: update mesh test cases for ci test

See merge request idf/esp-idf!4647
2019-04-18 11:28:50 +08:00
Ivan Grokhotkov
912c8e31fc Merge branch 'bugfix/pm_isr_exit_lock' into 'master'
pm: prevent interrupt nesting during esp_pm_impl_isr_hook

See merge request idf/esp-idf!4775
2019-04-18 11:16:26 +08:00
Angus Gratton
a20d02b7f1 Merge branch 'feature/remove_dependency_to_soc' into 'master'
global: remove dependency to soc everywhere except driver and kernel components

See merge request idf/esp-idf!4678
2019-04-18 08:08:41 +08:00
chenyudong
801e2cdaa3 test: update mesh test cases for ci
add mesh cases in files:
TC_IT_MESH_EST.yml, TC_IT_MESH_COMM.yml and TC_IT_MESH_MISC.yml
2019-04-17 17:05:33 +08:00
liu zhifu
4c50e51305 esp_wifi: fix a bug caused by signal test code
Fix a bug caused by signal test code.
2019-04-17 16:32:15 +08:00
Ivan Grokhotkov
48109e1f5d Merge branch 'bugfix/adjtime_ut' into 'master'
newlib: Fix adjtime

See merge request idf/esp-idf!4676
2019-04-17 15:15:31 +08:00
Ivan Grokhotkov
d31ee806be pm: prevent interrupt nesting during esp_pm_impl_isr_hook
Follows the approach proposed in https://github.com/espressif/esp-idf/pull/3110,
but masks the interrupts during the entire ISR hook, not only during
leave_idle. Interrupt nesting during update_ccompare may also cause
issues.

Closes https://github.com/espressif/esp-idf/issues/3057
2019-04-17 07:13:52 +00:00
Ivan Grokhotkov
92989b5718 Merge branch 'bugfix/esp_tls_closing_fd0' into 'master'
esp_tls: fix incorrect closing of fd 0 on connection failure

See merge request idf/esp-idf!4726
2019-04-17 15:10:20 +08:00
Ivan Grokhotkov
8edc995ad6 Merge branch 'bugfix/pr_3250' into 'master'
Fix: Lost username when setting new URL with a path.

Closes IDFGH-904

See merge request idf/esp-idf!4755
2019-04-17 15:08:26 +08:00
Ivan Grokhotkov
327963e0cc Merge branch 'bugfix/ut_leaks_tags' into 'master'
test: clean up "leaks" tags from most unit tests

See merge request idf/esp-idf!4779
2019-04-17 14:52:34 +08:00
Ivan Grokhotkov
bb4f5617ab test: clean up "leaks" tags from most unit tests 2019-04-16 20:07:40 +08:00
suda-morris
3f2d6a0891 make bootloader_support depend on IDF_TARGET
1. move chip-specific code(e.g. encryption) into IDF_TARGET directory
2. splict app-only code to idf directory which won't be compiled into bootloader
2019-04-16 17:37:56 +08:00
Alex Lisitsyn
449d2a6367 freemodbus: Fix bug with incorrect coils read mask
Contains two different component folders per each implementation (serial_master and serial_slave) with concrete ports.
Added common public api for master and slave and common interface for master and slave implementation.
Add support of cmake system (added cmake files).
Added sdkconfig.defaults files for slave and master modbus examples.
Updated make file and KConfig for freemodbus component
Update according to review and fix doxygen warnings
Fix Doxyfile to pass documentation build
Update headers and change interface file names as per review comments
Merge  branch feature/freemodbus_move_rs485_mode_control
Update after review:
The stack modbus folder updated to support master and slave ports together and moved into freemodbus/modbus
Stack and port files updated to remove duplicated simbols
Make file, KConfig and CMakeLists.txt updated to compile master and slave stacks, common interface and concrete implementations of ports
Stack callback functions execute callbacks using interface pointer from concrete port implementation
User can instantiate any of concrete port using common API (only one concrete port at a time) and it does not require to select port by KConfig
Port pins and mode configuration moved into example files from port files to allow user select pins and port mode (customer request)
Changes tested using pymodbus, ModbusPoll and communication between two boards
Updated DoxyFile according to public include path
Fix maximum instance size for slave (merge from master of customer issue)
Fix critical section issue TW#28622 (change spin lock based critical section to semaphore)
Move serial port files into component port folder for master and slave accordingly
Fix example issue showed in the log when IO slave is not configured correctly
Fix conflicts while merging from origin/master
Fix errors handling in modbus controller interface + some final corrections according to review
Update maximum allowed number of slaves in the network segment
Fix bug with incorrect coils read mask

Closes https://github.com/espressif/esp-idf/issues/858
2019-04-16 10:21:20 +02:00
Roland Dobai
74dd9b4f5f esp_http_client: fix CI issues & return value 2019-04-16 09:03:14 +02:00
Nguyễn Hồng Quân
4a6c5032f4 Fix: Lost username when setting new URL with a path.
Closes https://github.com/espressif/esp-idf/pull/3250
2019-04-16 08:58:36 +02:00
Michael (XIAO Xufeng)
562af8f65e global: move the soc component out of the common list
This MR removes the common dependency from every IDF components to the SOC component.

Currently, in the ``idf_functions.cmake`` script, we include the header path of SOC component by default for all components.
But for better code organization (or maybe also benifits to the compiling speed), we may remove the dependency to SOC components for most components except the driver and kernel related components.

In CMAKE, we have two kinds of header visibilities (set by include path visibility):

(Assume component A --(depends on)--> B, B is the current component)

1. public (``COMPONENT_ADD_INCLUDEDIRS``): means this path is visible to other depending components (A) (visible to A and B)
2. private (``COMPONENT_PRIV_INCLUDEDIRS``): means this path is only visible to source files inside the component (visible to B only)

and we have two kinds of depending ways:

(Assume component A --(depends on)--> B --(depends on)--> C, B is the current component)

1. public (```COMPONENT_REQUIRES```): means B can access to public include path of C. All other components rely on you (A) will also be available for the public headers. (visible to A, B)
2. private (``COMPONENT_PRIV_REQUIRES``): means B can access to public include path of C, but don't propagate this relation to other components (A). (visible to B)

1. remove the common requirement in ``idf_functions.cmake``, this makes the SOC components invisible to all other components by default.
2. if a component (for example, DRIVER) really needs the dependency to SOC, add a private dependency to SOC for it.
3. some other components that don't really depends on the SOC may still meet some errors saying "can't find header soc/...", this is because it's depended component (DRIVER) incorrectly include the header of SOC in its public headers. Moving all this kind of #include into source files, or private headers
4. Fix the include requirements for some file which miss sufficient #include directives. (Previously they include some headers by the long long long header include link)

This is a breaking change. Previous code may depends on the long include chain.
You may need to include the following headers for some files after this commit:

- soc/soc.h
- soc/soc_memory_layout.h
- driver/gpio.h
- esp_sleep.h

The major broken include chain includes:

1. esp_system.h no longer includes esp_sleep.h. The latter includes driver/gpio.h and driver/touch_pad.h.
2. ets_sys.h no longer includes soc/soc.h
3. freertos/portmacro.h no longer includes soc/soc_memory_layout.h

some peripheral headers no longer includes their hw related headers, e.g. rom/gpio.h no longer includes soc/gpio_pins.h and soc/gpio_reg.h

BREAKING CHANGE
2019-04-16 13:21:15 +08:00