Commit graph

3004 commits

Author SHA1 Message Date
Alexey Gerenkov 8859dab10c Cleanup 2017-09-06 10:30:23 +08:00
Alexey Gerenkov bf8ff8c98b 1) Thread detach functionality added
2) Recursive mutexes support
3) C++ test updated
2017-09-06 10:30:23 +08:00
Alexey Gerenkov c631c6b358 1) Mux API was added
2) C++ test for threading and mux functions
2017-09-06 10:30:23 +08:00
Alexey Gerenkov 0b09c7006d pthread: Initial version of thread API 2017-09-06 10:30:23 +08:00
Jeroen Domburg 604308f4ab Merge branch 'bugfix/soft_reboot_psram' into 'master'
Fix rebooting when external RAM is active

See merge request !1207
2017-09-05 15:43:30 +08:00
Angus Gratton 74d5f85c53 Merge branch 'feature/build_warn_undefined_vars' into 'master'
Add --warn-undefined-variables to MAKEFLAGS (github #138)

See merge request !1214
2017-09-05 15:39:48 +08:00
Angus Gratton 9471ce9135 dhcpserver: Move DHCP option names to a separate header
Avoids naming conflicts. Resolves TW13826.
2017-09-05 17:28:40 +10:00
Angus Gratton 48333aea48 bluedroid: Move fixed_queue.h to implementation of hci_layer.c
Avoids pulling types like list_node into the public interface.

Closes https://github.com/espressif/esp-idf/issues/948
2017-09-05 17:14:40 +10:00
Angus Gratton 1be6bf6790 dhcpserver: Move list_node to implementation not public interface
Was unused in the public interface.

Closes https://github.com/espressif/esp-idf/issues/948
2017-09-05 17:14:23 +10:00
Alex Burr 93cc3a77cb uart: Add api call to switch on hardware support for 'software' flow control.
Cherry-picks https://github.com/espressif/esp-idf/pull/890
2017-09-05 16:30:21 +10:00
krzychb ba42c46cb3 Touch Pad driver overview 2017-09-05 08:28:44 +02:00
Deomid Ryabkov 1ea082a053 Expand vars before splitting fields
This allows making entire partition table line a variable.

Merges https://github.com/espressif/esp-idf/pull/841
2017-09-05 16:23:54 +10:00
Angus Gratton f17bbff4b5 Merge branch 'feature/tcp_msl_menuconfig' into 'master'
components/lwip: Expose TCP_MSL in menuconfig. (github #783)

See merge request !1175
2017-09-05 14:18:36 +08:00
Angus Gratton 8670844acf build system: Restore ifdef/ifndef in Makefiles, clean up examples build 2017-09-05 16:11:03 +10:00
Deomid Ryabkov 9903ea1c11 Add --warn-undefined-variables to MAKEFLAGS
Fix warnings where undefined vars are used.

Make Kconfig emit "FOO=" for unset bool options
To ensure make variables are always defined, even if empty.

When writing auto.conf, include symbols disabled by dependency to make sure all make variables are always defined.

Fixes espressif/esp-idf#137

Cherry-picked from https://github.com/espressif/esp-idf/pull/138
2017-09-05 16:10:46 +10:00
Angus Gratton 167f2cf9e1 Merge branch 'bugfix/nvs_item_crc_check' into 'master'
nvs: check CRC of items on full pages

See merge request !1200
2017-09-05 12:09:40 +08:00
Angus Gratton 5361c08989 heap: Support adding new heap regions at runtime
To facilitate this, the list of registered heap regions is now a linked list
(allowing entries to be appended at runtime.)
2017-09-05 14:07:02 +10:00
Ivan Grokhotkov 8433fed7f4 Merge branch 'bugfix/core_dump_loop' into 'master'
esp32: Fixes infinite loop caused by exception during core dumping

See merge request !1210
2017-09-05 11:40:31 +08:00
Angus Gratton 74a017e1e4 Merge branch 'bugfix/mbedtls_net_failures' into 'master'
mbedtls: Don't assign ctx->fd until connect() or bind() has succeeded

See merge request !1211
2017-09-05 11:28:43 +08:00
Ivan Grokhotkov 9362d66812 Merge branch 'feature/adc_calibration' into 'master'
Bugfix/ added esp_adc_cal include guards

See merge request !1192
2017-09-05 11:23:05 +08:00
Ivan Grokhotkov c007213fed Merge branch 'bugfix/deep_sleep_wakeup_stub' into 'master'
deep sleep: don't use protected DPORT access in wake stub

See merge request !1194
2017-09-05 11:22:52 +08:00
Alexey Gerenkov fb8b0c534a esp32: Fixes infinite loop caused by exception during core dumping 2017-09-05 11:15:27 +08:00
Ivan Grokhotkov 51e8f439b8 Merge branch 'bugfix/cpu_clk_disable_spi' into 'master'
spi_master, sdmmc: fix regressions due to peripherals being disabled by default

See merge request !1193
2017-09-05 10:41:51 +08:00
Angus Gratton d531b56d93 Merge branch 'bugfix/spinlock_performance' into 'master'
freertos: Reduce CPU spinlock (portmux) overhead

See merge request !497
2017-09-05 09:16:10 +08:00
Angus Gratton 8ce09c2c1c mbedtls: Don't assign ctx->fd until connect() or bind() has succeeded
Avoid leaking closed file descriptors via ctx->fd

Reported: https://esp32.com/viewtopic.php?f=13&t=2910&sid=8568b1fd93a4c8d5760628a638efc48b#p13620
2017-09-05 11:08:35 +10:00
Angus Gratton 11a87ca811 Merge branch 'bugfix/bootloader_ota_sel' into 'master'
Fix bootloader OTA regression

See merge request !1205
2017-09-05 07:25:08 +08:00
Ivan Grokhotkov e93c33050e ethernet: enable EMAC module clock on initialization 2017-09-04 22:43:52 +08:00
Ivan Grokhotkov b38186dc43 sdmmc: use periph_ctrl to enable peripheral when initializing the host 2017-09-04 22:43:52 +08:00
Ivan Grokhotkov 956a28a95c driver: add periph_ctrl support for SDMMC, SDIO slave, CAN, EMAC 2017-09-04 22:43:51 +08:00
michael b834fcf78a fix(spi_master): this fix the SPI MOSI output missing bug. 2017-09-04 22:43:51 +08:00
Jiang Jiang Jian f254555a41 Merge branch 'feature/btdm_add_set_local_MTU_API_for_gatt' into 'master'
component/bt: add set local MTU API

See merge request !1152
2017-09-04 21:32:23 +08:00
Alexey Gerenkov cf29dd47a9 apptrace lock acquire function was re-designed to minimize waiting time with disabled IRQs 2017-09-04 20:44:11 +08:00
Jeroen Domburg 0e74ec67be Fix rebooting when PSRAM is active 2017-09-04 19:00:47 +08:00
Ivan Grokhotkov 9da1bf1a45 Merge branch 'bugfix/lwip_send_timeout' into 'master'
match sys tick with lwip_send_timeout

See merge request !1203
2017-09-04 18:19:59 +08:00
Angus Gratton a19aaf2072 esp32: Update wifi lib to use new spinlock implementation 2017-09-04 19:11:51 +10:00
Angus Gratton 4486d4cb10 portmux: Add vPortCPUAcquireMutexTimeout() function
Refactor app_trace locking to use this function.
2017-09-04 19:11:51 +10:00
Angus Gratton 397c0bfb4b freertos scheduler test: Free timer group interrupt handle when test finishes 2017-09-04 19:11:51 +10:00
Angus Gratton 5c996a1b29 freertos: Inline vPortCPUAcquireMutex/vPortCPUReleaseMutex into implementations
Further improves performance:
No contention -> 134 cycles
Recursion -> 117 cycles
Contention -> 323 cycles
2017-09-04 19:11:51 +10:00
Angus Gratton db58a2732b freertos: vPortCPUReleaseMutex() no longer returns a value
Unlocking a never-locked mutex is an assertion failure in debug mode.

In release mode, this further improves performance:
No-Contention ->  153 cycles
Recursion No-Contention -> 138 cycles
Contention -> 378 cycles
2017-09-04 19:11:51 +10:00
Angus Gratton 4d42b2d100 freertos spinlock/portmux: Reduce spinlocking overhead
Ref TW7117

Microbenchmarks in unit tests:

(All numbers in cycles per benchmarked operation):

Release mode
No lock contention lock/unlock -       301 -> 167 (-45%)
Recursive no contention lock/unlock -  289 -> 148 (-49%)
Lock contention two CPUs (lock/unlock) 699 -> 400 (-43%)

Debug mode
No lock contention lock/unlock -       355 -> 203 (-43%)
Recursive no contention lock/unlock -  345 -> 188 (-46%)
Lock contention two CPUs (lock/unlock) 761 -> 483 (-36%)
2017-09-04 19:11:51 +10:00
Angus Gratton f2952de3a5 freertos spinlocks/portmux: Add combination unit tests & microbenchmarks 2017-09-04 19:11:51 +10:00
Angus Gratton f487bb19d7 Merge branch 'bugfix/ci_build_examples_more' into 'master'
CI build_examples: Fix build flakiness

See merge request !1191
2017-09-04 16:02:12 +08:00
Angus Gratton c275ad4ca4 build system: Add dependencies to component clean steps
Build directory must exist, component_project_vars.mk must be generated if it is going to be.
2017-09-04 17:40:15 +10:00
Angus Gratton 3dfcc312c8 ota_ops: Fix get_selected_boot_partition() in case there is no factory partition
get_selected_boot_partition() now follows the same basic logic as the bootloader to find the
default boot partition.
2017-09-04 17:37:28 +10:00
Angus Gratton 1cd2ce2471 bootloader: Fix regression preventing OTA updates
Regression introduced in 43e231c.

Thanks to @yanbe for pointing out issue in https://github.com/espressif/esp-idf/pull/955

This is a different fix, tries to keep the behaviour that 43e231c was aiming to correct (unnecessarily testing an
invalid slot more than once.)
2017-09-04 17:37:28 +10:00
zhangyanjiao 547b7b0246 match sys tick with lwip_send_timeout 2017-09-04 14:52:16 +08:00
Ivan Grokhotkov c0269bc1cd nvs: check CRC of items on full pages
Previously NVS did check CRC values of key-value pairs on the active
page, but the check for full pages was missing. This adds the necessary
check and a test for it.
2017-09-04 14:37:33 +08:00
Jeroen Domburg c0510c4266 Merge branch 'feature/psram_in_address_space' into 'master'
Feature/psram in address space

See merge request !1069
2017-09-04 14:18:23 +08:00
Jeroen Domburg 153275b743 Merge branch 'bugfix/uart_5mbaud' into 'master'
Fix off-by-one in 5MBaud arg checking; propagate errors better

See merge request !1184
2017-09-04 12:06:33 +08:00
Jeroen Domburg 34372a091c Add initial SPI RAM support. This adds support for an ESP-PSRAM32 chip connected to the default flash pins and GPIO 16 and 17. The RAM is mapped to address 0x3F800000, but otherwise ignored by esp-idf as of yet. 2017-09-04 12:05:49 +08:00
zhiweijian f1c4eda373 Component/bt: add set local MTU API
- add esp_ble_gatt_set_local_mtu( ) API
- modify esp_ble_gattc_config_mtu(esp_gatt_if_t gattc_if, uint16_t conn_id)
- modify  gattc demo
2017-09-01 21:55:28 +08:00
Jiang Jiang Jian 3a1de7dba3 Merge branch 'bugfix/btdm_fix_connection_parameters_update' into 'master'
component/bt: fix connection parameters update

See merge request !1099
2017-09-01 20:15:30 +08:00
Ivan Grokhotkov b9ff771e2c deep sleep: don't use protected DPORT access in wake stub 2017-09-01 18:35:42 +08:00
Jeroen Domburg 518edac42f Add GD chip into qio data, so (at least my) ESP-WROVER uses QIO mode succesfully. 2017-09-01 16:53:05 +08:00
Ivan Grokhotkov 5666fc0a56 Merge branch 'feature/esp_timer_improvements' into 'master'
esp_timer improvements

See merge request !1172
2017-09-01 16:14:01 +08:00
Jeroen Domburg fe140fe347 Fix off-by-one in 5MBaud arg checking; propagate errors better 2017-09-01 12:15:28 +08:00
Darian Leung 4fbeaba77f Bugfix/ added esp_adc_cal include guards 2017-09-01 12:07:37 +08:00
Ivan Grokhotkov f31efb697c newlib: rename esp_setup_time_syscalls to esp_set_time_from_rtc
This function no longer sets up syscalls, and new name reflects its
purpose better.
2017-09-01 10:36:14 +08:00
Ivan Grokhotkov d2acf1ce77 sleep: add light sleep, factor out APIs common for deep/light sleep 2017-09-01 10:36:14 +08:00
Ivan Grokhotkov 65b046f17f dport access: introduce pause/resume instead of deinit 2017-09-01 10:36:14 +08:00
Ivan Grokhotkov f8b719d911 soc/rtc: add sleep flag to control powerdown of VDD_SDIO 2017-09-01 10:36:14 +08:00
Ivan Grokhotkov 06af8cd086 esp_timer: return signed timestamp (int64_t)
Since timestamps are 64-bit, loosing one bit of range due to sign does
not present an issue, however for applications doing calculations on
timestamps, signed return type is more convenient.
2017-09-01 10:34:36 +08:00
Ivan Grokhotkov c5632d3012 esp32: use ref_clock in esp_timer and delay tests 2017-09-01 10:34:36 +08:00
Ivan Grokhotkov 1af6384349 esp_timer: lock-free implementation of esp_timer_get_time
The implementation of esp_timer_get_time used a critical section, which
resulted in a call time of ~1.8us. To make esp_timer_get_time more
useable as a high-resolution time source, this change replaces the lock
with polling. Call time is reduced to ~0.7us.
2017-09-01 10:34:36 +08:00
Ivan Grokhotkov c743bdac88 soc/rtc: round APB clock frequency to nearest MHz 2017-09-01 10:34:36 +08:00
Ivan Grokhotkov d24e0dcc2c Merge branch 'bugfix/ci_build_examples' into 'master'
ci: fix example builds and unit tests

See merge request !1188
2017-09-01 10:33:38 +08:00
Ivan Grokhotkov d4e950d311 Merge branch 'feature/cxx_exceptions' into 'master'
Partial support for C++ exceptions

See merge request !930
2017-09-01 00:27:41 +08:00
Ivan Grokhotkov b76a672aed ci: disable sd card tests 2017-08-31 23:50:56 +08:00
Ivan Grokhotkov c92fba3261 Merge branch 'feature/timeradd' into 'master'
feat(time): enable the macro timeradd, timersub, timerclear, etc.

See merge request !1177
2017-08-31 13:57:19 +08:00
Ivan Grokhotkov 0a5a705ca8 Merge branch 'bugfix/log_tag_change_level' into 'master'
bugfix(log): fix the log tag to update existing rather than add new tag when calling ``esp_log_level_set``

See merge request !1153
2017-08-31 10:45:55 +08:00
Ivan Grokhotkov 1cfe96b1d7 Merge branch 'bugfix/i2s_dac_channel' into 'master'
fix(i2s_dac): fix the disable function which only disables DAC_CHANNEL_1.

See merge request !1169
2017-08-31 10:45:30 +08:00
Ivan Grokhotkov b4857fc159 Merge branch 'bugfix/memory_issues_pr838' into 'master'
vfat, i2s, mdns: Fix two memory leaks, one double free (github #838)

See merge request !1173
2017-08-31 10:45:19 +08:00
Ivan Grokhotkov e57a664798 Merge branch 'feature/freertos_interrupt_backtrace_opt' into 'master'
freertos: introduce CONFIG_FREERTOS_INTERRUPT_BACKTRACE

See merge request !1167
2017-08-31 10:45:06 +08:00
Angus Gratton 96f9ae3e30 Merge branch 'bugfix/minor_prs_github' into 'master'
Minor bugfixes and corrections from github

See merge request !1181
2017-08-31 07:11:30 +08:00
Angus Gratton 4f812eb29c Remove redundant code line from uart.c
Merges part of https://github.com/espressif/esp-idf/pull/650
2017-08-30 17:55:00 +10:00
Simon Werner c8d8fb58e7 Fixed incorrect value in comments for GPIO_NUM_33.
Merges https://github.com/espressif/esp-idf/pull/676
2017-08-30 17:55:00 +10:00
Deomid Ryabkov 3e6c515d5b Using a 128-bit UUID is not an error
Merges https://github.com/espressif/esp-idf/pull/713
2017-08-30 17:55:00 +10:00
Geza Husi eb8bd937c6 deep_sleep: RTC-GPIO pin calculation incorrect
Merges https://github.com/espressif/esp-idf/pull/822
2017-08-30 17:55:00 +10:00
Lacy Rhoades c61b3e89f1 Typo fixes
Merges https://github.com/espressif/esp-idf/pull/831
2017-08-30 17:55:00 +10:00
phuzi 762d5fcb4c Update documentation for esp_avrc_api
Updated documentation for esp_err_t esp_avrc_ct_send_passthrough_cmd to show both pressed and released key states

Merges https://github.com/espressif/esp-idf/pull/846
2017-08-30 17:55:00 +10:00
Stephen Casner 1e3dd2a4fa Add missing debug log message for out-of-sockets case
Merges https://github.com/espressif/esp-idf/pull/903
2017-08-30 17:55:00 +10:00
Deomid Ryabkov 8c1acb0363 Provide a default for CONFIG_BT_RESERVE_DRAM
...when BT is not built

Merges https://github.com/espressif/esp-idf/pull/910
2017-08-30 17:55:00 +10:00
devsaurus 92535158e7 components/lwip: Expose TCP_MSL in menuconfig.
Merges https://github.com/espressif/esp-idf/pull/783
2017-08-30 16:44:53 +10:00
michael 8f994b9dce feat(time): enable the macro timeradd, timersub, timerclear, etc.
TW#14488

Closes https://github.com/espressif/esp-idf/issues/867
2017-08-30 14:08:14 +08:00
Henrik Maier 95fe7929c0 Fix spinlock bug for uart_set_rts and uart_set_dtr
Merges https://github.com/espressif/esp-idf/pull/649
2017-08-30 15:32:23 +10:00
Angus Gratton ef60d73fe4 Merge branch 'bugfix/mdns_tcpip_threadsafe' into 'master'
mdns: Use LwIP IPC for low-level API calls

See merge request !925
2017-08-30 13:28:51 +08:00
Henrik Maier 58ba8a2a24 tcpip_adapter: Fix bug which prevents setting a static IP address for Ethernet interface
Merges https://github.com/espressif/esp-idf/pull/657
2017-08-30 14:50:22 +10:00
Ivan Grokhotkov a25eb825e1 Merge branch 'bugfix/dport_protect_crypto' into 'master'
add protection for crypto registers in DPORT

See merge request !928
2017-08-30 11:45:35 +08:00
Ivan Grokhotkov 547ef83020 Merge branch 'feature/disable_some_perip_clk_when_cpu_start' into 'master'
Disable some peripheral clocks when cpu starts

See merge request !1089
2017-08-30 11:43:38 +08:00
zhiweijian 1a9b02ccbc component/bt: fix connection parameters update
- update connection parameters timeout due to master update illegal connection parameters
- slave returns error status when slave check the connection parameters
- slave connection parameters update callback get that interval_max is equal to interval_min
2017-08-30 11:29:25 +08:00
Quentin Thérond b6b36bd9dd mdns: fix leak after _mdns_create_service if we have a malloc error. 2017-08-30 12:11:57 +10:00
Quentin Thérond 88e71a680e vfs: fix double free. 2017-08-30 12:11:57 +10:00
Quentin Thérond 36eccee213 i2s: fix leak in i2s_create_dma_queue if we have a malloc issue. 2017-08-30 12:11:03 +10:00
Jeroen Domburg a1b5813049 Merge branch 'feature/adc_calibration' into 'master'
esp_adc_cal component

See merge request !1084
2017-08-30 10:00:19 +08:00
Angus Gratton 8bd6feedd4 Merge branch 'bugfix/docs_updates' into 'master'
Removed redundant 'Logging to Host' and docs cleaning

See merge request !1158
2017-08-30 09:43:00 +08:00
Angus Gratton b4eda4c4f7 Merge branch 'feature/disable_rom_console' into 'master'
esp32: Add KConfig option to disable BASIC ROM Console fallback on first boot

See merge request !1134
2017-08-30 07:56:00 +08:00
krzychb 8c3169b6be Removed redundant 'Logging to Host' and docs cleaning 2017-08-29 20:47:10 +02:00
Darian Leung 88b05f9391 esp_adc_cal: Added ADC calibration component
Added component containg API that is able to correct raw ADC readings
into a voltage in mV. Also provided a helper function that combines
the process of getting the raw ADC1 reading then converting it to a
voltage in mV. In doing so, the adc1_get_voltage() function of the ADC
driver has been deprecated. Instead there is now adc1_get_raw to obtain
the raw ADC1 reading, and adc1_to_voltage() that gets the raw reading
and converts all in one function. Functions using the deprecated
adc1_get_voltage() have also been updated to use adc1_get_raw().

Conversion is based on ADC characteristics. The characteristics are based
on the ADC's v_ref, herefore the appropriate structure and functions have
been provided to obtain the ADC characteristics.

The existing ADC driver has also been modified by adding a function to
route the internal ADC reference voltage to a GPIO allowing users to measure
it manually.

Relevant documentation has also been updated
2017-08-29 18:43:14 +08:00
michael 9ec3757349 fix(i2s_dac): fix the disable function which only disables DAC_CHANNEL_1. 2017-08-29 15:31:39 +08:00
Ivan Grokhotkov 9a764f3108 Merge branch 'bugfix/freertos_xportgetcoreid_iram' into 'master'
freertos: make sure xPortGetCoreID is placed into IRAM

See merge request !1165
2017-08-29 13:32:37 +08:00
Ivan Grokhotkov 71fa25c560 Merge branch 'bugfix/vfs_uart_read_write_lock' into 'master'
vfs_uart: fix write operation blocked by a read

See merge request !1164
2017-08-29 13:32:24 +08:00
Angus Gratton 7a18575af8 flash encryption: Also always disable ROM BASIC console when enabling flash encryption 2017-08-29 14:52:00 +10:00
Angus Gratton 1e22bcdfde esp32: Add KConfig option to disable ROM Console fallback on first boot 2017-08-29 14:52:00 +10:00
Jeroen Domburg 881aa43b69 Merge branch 'bugfix/struct_h_extern_c' into 'master'
fix(struct_h): add extern "C" protection to *_struct.h header files.

See merge request !1162
2017-08-29 11:24:34 +08:00
Jeroen Domburg edbeee8326 Merge branch 'bugfix/spi_def_typo_lsbfirst' into 'master'
bugfix(spi_master): fix the definition of ``SPI_DEVICE_BIT_LSBFIRST``.

See merge request !1154
2017-08-29 11:24:31 +08:00
XiaXiaotian 4776f73ca4 Disable some peripheral clocks when cpu starts
All peripheral clocks are default enabled after chip is powered on.
    When CPU starts, if reset reason is CPU reset, disable those clocks
    that are not enabled before reset. Otherwise, disable all those
    useless clocks.
    These peripheral clocks must be enabled when the peripherals are
    initialized and disabled when they are deinitialized.
2017-08-29 11:18:42 +08:00
Jeroen Domburg 4da7ee1295 Merge branch 'bugfix/ringbuf_fix_assert_0byte_payload' into 'master'
Fix faulty ringbuffer assert

See merge request !1163
2017-08-29 11:15:34 +08:00
Ivan Grokhotkov 99a4b6b2db freertos: introduce CONFIG_FREERTOS_INTERRUPT_BACKTRACE
The code in xtensa_vectors.S did not handle XT_DEBUG_BACKTRACE
consistently: #if was used in one case, and #ifdef in another. This makes
the checks consistent, and also introduces a Kconfig option to enable
backtrace.
2017-08-29 08:54:26 +08:00
Angus Gratton 3c992f872f Merge branch 'bugfix/secure_boot_enable' into 'master'
Fix regression when enabling secure boot

See merge request !1120
2017-08-29 08:44:13 +08:00
Ivan Grokhotkov eb1b4f971b freertos: make sure xPortGetCoreID is placed into IRAM
In some cases, xPortGetCoreID was not inlined, and ended up in flash.
Since this function is used in many situations when cache is disabled,
that caused exceptions. Adding IRAM attribute to fix that.
2017-08-29 08:31:36 +08:00
Ivan Grokhotkov 13ef3938a6 vfs_uart: fix write operation blocked by a read
vfs_uart used same locks for read and write operations on a single UART.
If read operation was blocking (i.e. carried out via UART driver), the
lock was held by reading task until it received a line. During this time,
other tasks trying to write to the same UART would get blocked.

This change introduces separate read/write locks, and adds a test.

Another vfs_uart test if fixed (it was disabled since the
CONFIG_NEWLIB_STDOUT_ADDCR option was removed).
2017-08-29 08:27:36 +08:00
Jeroen Domburg d0bf9e61da Fix an assert that erroneously triggered when popping a zero-byte payload from the end of the ringbuffer 2017-08-28 19:31:26 +08:00
michael c7173e0d08 fix(struct_h): add extern "C" protection to *_struct.h header files. 2017-08-28 18:10:46 +08:00
Ivan Grokhotkov 3161854efb Merge branch 'bugfix/spi_hd_rx' into 'master'
fix(spi_dma_rx): add check to avoid using SPI half-duplex mode DMA with both MOSI and MISO phases.

See merge request !1111
2017-08-28 17:36:58 +08:00
Ivan Grokhotkov 82763a02af Merge branch 'feature/ets_timer' into 'master'
esp_timer: add high-resolution timer api

See merge request !1090
2017-08-28 16:38:11 +08:00
michael cfd95b62cb feat(log): add tags only when no one exist, otherwise refresh linked list and cache. 2017-08-28 16:25:40 +08:00
michael 940f5fcb89 refactor(log): replace the tag uncached list with standard SLIST.
NOTE: split the header modify outside.
2017-08-28 16:25:39 +08:00
michael 28c4ba1288 doc(log): document the log macros. 2017-08-28 16:25:39 +08:00
Jeroen Domburg a589411a3c Place uart_tx_wait_idle in IRAM 2017-08-28 11:35:27 +08:00
Ivan Grokhotkov d8b66e5088 soc: release interrupts which are not reserved by timers any more 2017-08-28 11:35:27 +08:00
Ivan Grokhotkov 42e9d49bb1 newlib: implement gettimeofday using of esp_timer 2017-08-28 11:35:27 +08:00
Ivan Grokhotkov 857a29872d esp_timer: add high resolution software timer API 2017-08-28 11:35:26 +08:00
Ivan Grokhotkov a4fe12cb6d Merge branch 'bugfix/sdmmc_test' into 'master'
sdmmc: don't use high speed mode with SD over SPI

See merge request !1149
2017-08-28 11:32:20 +08:00
Jeroen Domburg ce03879300 Merge branch 'bugfix/uart_wait_idle_iram' into 'master'
Place uart_tx_wait_idle in IRAM

See merge request !1157
2017-08-28 10:55:58 +08:00
Ivan Grokhotkov b636f81619 Merge branch 'bugfix/spi_command' into 'master'
fix(spi_master): fix the command field to make it more intuitive to use.

See merge request !1119
2017-08-28 10:29:56 +08:00
michael 0cb14f1648 fix(spi_dma_rx): add check to avoid using SPI half-duplex mode DMA with both MOSI and MISO phases. 2017-08-26 02:15:30 +08:00
michael dd1e6ea296 typo(spi_master): fix the definition of `SPI_DEVICE_BIT_LSBFIRST`.
also fix the documentation of spi_device_transmit.
2017-08-26 02:04:37 +08:00
Jeroen Domburg 3e4627479b Place uart_tx_wait_idle in IRAM 2017-08-25 17:46:28 +08:00
Jiang Jiang Jian 4654278b1b Merge branch 'bugfix/btdm_controller_hci_fc' into 'master'
component/bt: bugfix for hci acl flow control

See merge request !1151
2017-08-25 16:16:47 +08:00
Ivan Grokhotkov 631f552489 sdmmc: don't use high speed mode with SD over SPI
Disabling due to limitation of SPI driver (max 26MHz for full-duplex
mode over GPIO matrix)
2017-08-25 14:33:19 +08:00
Angus Gratton 703d143619 hwcrypto: Fix bug with concurrent SHA access
If two different types of SHA hashes were active in the hardware
concurrently, a race condition meant the SHA unit could be incorrectly
reset leading to all-zero results.
2017-08-25 16:08:03 +10:00
Angus Gratton 0ea4cd67dd mbedtls: Remove "unsafe" warning, enable AES by default & make SHA/MPI optional 2017-08-25 16:08:03 +10:00
Angus Gratton afb6119504 dport access: Fix WDT bug (permanent locking) in non-pinned tasks
If scheduler switches cores in narrow window during esp_dport_access_stall_other_cpu_start(), could cause the stall
interrupt to occur on the running CPU - halting the CPU until WDT cleans up.

Related to https://github.com/espressif/esp-idf/issues/630
2017-08-25 16:08:03 +10:00
Angus Gratton 50e0a54630 esp32 hwcrypto: Use spinlock instead of lock to protect AES
More than doubles performance of mbedTLS AES self-tests.
2017-08-25 16:08:03 +10:00
Angus Gratton 2624e10055 esp32 hwcrypto: Use AES registers directly 2017-08-25 16:08:03 +10:00
Angus Gratton e256fb6d96 hwcrypto: Use DPORT-safe accesses with AES 2017-08-25 16:08:03 +10:00
Angus Gratton 99c663a6e9 mbedtls tests: utility tests for APB corruption
Used when running mbedTLS self-tests to verify DPORT protection is working correctly.
2017-08-25 16:08:03 +10:00
Angus Gratton d0c300c52d hwcrypto: SHA acceleration using safe DPORT reads 2017-08-25 16:08:03 +10:00
Angus Gratton 7be002ec0f hwcrypto bignum/MPI: Batch safe DPORT reads to improve performance 2017-08-25 16:08:02 +10:00
Angus Gratton cb31222e8b dport access: Add _DPORT_REG_SET_BIT & _DPORT_REG_CLR_BIT 2017-08-25 16:08:02 +10:00
Angus Gratton dc8c33892e dport access: Fix nested calls to DPORT_STALL_OTHER_CPU_START() 2017-08-25 16:08:02 +10:00
Ivan Grokhotkov 08287852ab esp32: add protection for DPORT registers of RSA 2017-08-25 16:08:02 +10:00
wangmengyang d532f33bdb component/bt: bugfix for hci acl flow control
1. trigger hci data transmission upon reception of hci_host_nb_of_cmpl_pkts when hci acl flow control is in effect
2017-08-24 20:59:32 +08:00
Wu Jian Gang 791daea835 Merge branch 'bugfix/xtal_freq_40' into 'master'
esp32: by default, set 40MHz crystal frequency

See merge request !1140
2017-08-24 20:40:22 +08:00
Ivan Grokhotkov a66df0826e soc: fix/update definitions related to FRC timers
1. BIT(8) of CTRL is actually read-only bit indicating interrupt status

2. BIT(0) or CTRL had inverted meaning: 1 is “level”, 0 is “edge”

3. Add definitions of prescaler values
2017-08-24 16:33:12 +08:00
Ivan Grokhotkov 0420c4ec82 Merge branch 'feature/multipart_nvs_support' into 'master'
Multiple partition support in NVS

See merge request !1129
2017-08-24 14:42:14 +08:00
Ivan Grokhotkov b9cdbfea87 Merge branch 'test/UT_SDMMC' into 'master'
Enable SDMMC driver test cases

See merge request !1106
2017-08-24 14:41:39 +08:00
Ivan Grokhotkov 922c584de6 Merge branch 'feature/libsodium_use_mbedtls' into 'master'
libsodium: Use mbedTLS implementations for SHA256 & SHA512

See merge request !1121
2017-08-24 14:40:52 +08:00
Ivan Grokhotkov 87a0ec77b5 Merge branch 'bugfix/mbedtls_config_mismatch' into 'master'
mbedtls: Add a shim header to account for including "mbedtls/config.h" directly in program

See merge request !1125
2017-08-24 14:40:39 +08:00
Ivan Grokhotkov d02e850785 Merge branch 'bugfix/nghttp2_v124' into 'master'
nghttp: Restore nghttp2 v1.24

See merge request !1132
2017-08-24 14:40:24 +08:00
Ivan Grokhotkov e0e1c07bd1 Merge branch 'bugfix/console_cmd_register' into 'master'
console: initialize buf_size before calling open_memstream

See merge request !1138
2017-08-24 14:35:29 +08:00
Ivan Grokhotkov 0ead095512 Merge branch 'bugfix/dport_stall_in_esp32_component' into 'master'
Also do dport stalling in esp32 component

See merge request !1141
2017-08-24 14:35:16 +08:00
Ivan Grokhotkov 327f0b6225 Merge branch 'bugfix/menuconfig_phy' into 'master'
component/esp32 : move Phy out of Wifi section

See merge request !1145
2017-08-24 14:34:56 +08:00
Jiang Jiang Jian 72a6b26244 Merge branch 'bugfix/tw14823_lwip_assert_err' into 'master'
assert when close a connecting socket

See merge request !1136
2017-08-24 11:29:32 +08:00
Jiang Jiang Jian d42208ffe8 Merge branch 'bugfix/ampdu_default_wifi_settings' into 'master'
wifi: Fix compilation error in WIFI_INIT_CONFIG_DEFAULT() if AMPDU disabled

See merge request !1139
2017-08-24 11:02:54 +08:00
Jiang Jiang Jian 258480822b Merge branch 'bugfix/btdm_config_local_privacy_func' into 'master'
component/bt: bugfix config local privacy

See merge request !1137
2017-08-24 10:48:57 +08:00
Jiang Jiang Jian 8b4229fcd6 Merge branch 'bugfix/btdm_fix_set_rand_addr_func' into 'master'
component/bt: fixbug_set_rand_addr()

See merge request !1123
2017-08-24 10:48:20 +08:00
Wang Jia Lin f1ecffb46c Merge branch 'bugfix/touch_pad_driver' into 'master'
driver(touch): fix bug and add more features

See merge request !1056
2017-08-23 19:12:39 +08:00
Ivan Grokhotkov de10032717 Merge branch 'feature/btdm_remove_gki' into 'master'
component/bt : remove all GKI reference

See merge request !1122
2017-08-23 18:01:54 +08:00
Tian Hao 08221589fc component/esp32 : move Phy outof Wifi section
1. move Phy out of Wifi section
2. lowercase the Ethernet and Phy from 2nd letter.
2017-08-23 17:51:31 +08:00
zhiweijian 19bf8cef1f Component/bt: bugifx config local privacy 2017-08-23 17:42:38 +08:00
Jeroen Domburg 123966deea Also do dport stalling in esp32 component 2017-08-23 16:43:57 +08:00
Ivan Grokhotkov 9a8c0392f5 esp32: by default, set 40MHz crystal frequency 2017-08-23 16:33:26 +08:00
Tian Hao e4f63819a1 component/bt : remove all GKI reference
1. remove GKI(not use osi_free_and_reset)
2. modify mutex/semaphore to individual directory
3. set osi_malloc as malloc(previously use calloc)
4. change osi allocator debug osi_free
5. fix rebase of remove GKI
2017-08-23 15:29:30 +08:00
Angus Gratton 7755015f4f secure boot: Fix enabling secure boot on first bootloader boot
Bootloader would accidentally check its own image for a secure boot signature,
but bootloader is unsigned (protected by secure boot digest).
2017-08-23 11:19:42 +10:00
Angus Gratton 43e231c916 bootloader: Don't unnecessarily test OTA app slots more than once per boot
Would loop more than once through each OTA possibility, but really only
needs to try each slot once.
2017-08-23 11:19:42 +10:00
Angus Gratton 83a3241341 wifi: Fix compilation error in WIFI_INIT_CONFIG_DEFAULT() if AMPDU disabled 2017-08-23 09:33:47 +10:00
Ivan Grokhotkov 0ed64da963 console: initialize buf_size before calling open_memstream
POSIX open_memstream documentation [1] does not mention that it may use
the  value supplied in buf_size before the call.
newlib implementation of open_memstream does use it as a hint of the
buffer size [2]. To avoid using potential garbage in this variable,
newlib caps the size to 64kB (!).

If the allocation of this initial buffer fails, NULL file pointer is
returned. Previous code did not check returned file pointer and crashed
when it was used.

Initialize size to zero (in which case newlib allocates a 64 byte
buffer), and check the returned file pointer.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/functions/open_memstream.html
[2] https://github.com/espressif/newlib-esp32/blob/23c0f21/newlib/libc/stdio/open_memstream.c#L26-L29
    https://github.com/espressif/newlib-esp32/blob/23c0f21/newlib/libc/stdio/open_memstream.c#L324-L336
2017-08-23 01:10:30 +08:00
Ivan Grokhotkov 2861f3e88e Merge branch 'bugfix/spi_dma_align' into 'master'
fix(spi_dma): fix the receive error with RX DMA start with non-aligned address.

See merge request !1112
2017-08-22 23:39:53 +08:00
Wangjialin 842caaab21 driver(touch): fix bug and add more features
1. add sens_struct.h
2. add definition of RTCCNTL and RTCIO
3. modify touch pad examples
4. update example code.
5. add comments add option in menuconfig
6. fix issue that pad index 8 and 9 are mismatched
7. add touch_pad_read_filtered() api to get value filtered by iir filter
8. modify touch pad isr func
9. Make the items in perihperal.ld in the sequence of address
10. delete Kconfig for touch pad
11. add touchpad filter APIs to adjust the filter
12. add touch_pad into index.rst
13. add touch_pad in Doxyfile
14. add touch_pad.rst
2017-08-22 21:21:39 +08:00
houchenyao cf64c7e9a6 unit test: add sd env and spi env for sdmmc 2017-08-22 21:01:34 +08:00
zhangyanjiao 61f64e38d9 assert when close a connecting socket 2017-08-22 20:36:35 +08:00
Ivan Grokhotkov 4f4808445f Merge branch 'feature/sdmmc_highspeed_mode' into 'master'
SDMMC: add support for high-speed mode

See merge request !1108
2017-08-22 19:31:10 +08:00
Ivan Grokhotkov 0532d37373 Merge branch 'feature/esptool-v2.1' into 'master'
esptool: Update to v2.1 final release

See merge request !1131
2017-08-22 19:30:48 +08:00
baohongde 593fbe6d8d updata gatt read by type response bug 2017-08-22 18:11:01 +08:00
Amey Inamdar a2dcf7faa8 nvs: Support for handling multiple NVS partitions
This commit adds support for multiple NVS partitions. This provides application a flexibility to have multiple NVS
partitions such as separate partition with read-only manufacturing data and read-write partition with configuration.
Application can also use this to separate out application's configuration storage from system configuration.

This feature does not change any of the basic property of NVS subsystem. The same-named namespaces across partitions are
considered to be different namespaces. The original NVS API available for the applications remains unchanged. The only
difference is that instead of first NVS partition in the partition table, it now operates on the partition with label
"nvs" (which is default in the IDF provided partition table files). Additional APIs are provided to open a handle and
erase NVS with partition name as a parameter.

A test case is added in the host tests and it is made sure that all the host tests pass. nvs_rw_value app is also tested
with multiple partitions.

Signed-off-by: Amey Inamdar <amey.inamdar@gmail.com>
2017-08-22 13:48:14 +05:30
Amey Inamdar 3e4e4dd07a nvs_flash: Reduced visibility of handle counter
Monotonically increasing handle counter need not be visible outside the HandleEntry class.

Signed-off-by: Amey Inamdar <amey.inamdar@gmail.com>
2017-08-22 12:58:56 +05:30
Ivan Grokhotkov 08e787dc4d mbedtls: remove duplicate Kconfig options 2017-08-22 15:12:35 +08:00
Ivan Grokhotkov fb43948413 Update several Kconfig files to make help texts compatible with ReST 2017-08-22 14:34:19 +08:00
zhiweijian 974cff4773 Component/bt: fixbug_set_rand_addr()
- The two most significant bits of the address shall be equal to 1
- All bits of the random part of the address shall not be equal to 1
- All bits of the random part of the address shall not be equal to 0
2017-08-22 14:25:10 +08:00
Jiang Jiang Jian 9b18625d29 Merge branch 'bugfix/memory_leak_when_run_wpa2' into 'master'
wpa2: fix memory leak when run wpa2

See merge request !1126
2017-08-22 14:18:17 +08:00
Jiang Jiang Jian 9f24f06a65 Merge branch 'bugfix/btdm_security_section_remove_bug' into 'master'
component/bt: Change the remove section error &&  SMP_INCLUDE marco

See merge request !1133
2017-08-22 14:13:29 +08:00
Jiang Jiang Jian b0188b3f29 Merge branch 'bugfix/btdm_add_check_value_length_for_gatts_get_attribute_value' into 'master'
component/bt: add check value and length for esp_ble_gatts_get_attr_value(uint16…

See merge request !1110
2017-08-22 11:37:56 +08:00
Yulong 71d35c7770 component/bt: Change the remove section error. 2017-08-21 23:28:45 -04:00
Angus Gratton 581aa57a05 nghttp: Restore nghttp2 v1.24
We had already updated to v1.24 months ago, but the submodule commit was accidentally
reverted in 1fb85b494c.

Fixes (again) error when compiling with assertions disabled.

As reported on forum: https://esp32.com/viewtopic.php?f=13&t=2750&p=13069
2017-08-22 13:01:36 +10:00
Deng Xin d739e6bf05 WPA2:Fix the issue memory leak when run wifi enterprise
fix the issue memory leak when run wpa2
2017-08-22 10:49:31 +08:00
Angus Gratton d6c3fb52c8 esptool: Update to v2.1 final release
Replaces v2.1-beta1 release.

Compared to beta, fixes issues with espefuse.py not prompting correctly on Windows (TW11139).
2017-08-22 11:49:07 +10:00
michael 4c9754726f fix(spi_master): fix the command field to make it more intuitive to use. 2017-08-21 20:37:57 +08:00
Jiang Jiang Jian fc85cb683d Merge branch 'feature/wifi_and_ip_event_process_refactor' into 'master'
Feature/wifi and ip event process refactor

See merge request !986
2017-08-21 19:49:30 +08:00
Jiang Jiang Jian 5c9d9ae696 Merge branch 'bugfix/btdm_smp_invalid_key_size' into 'master'
component/bt: Change the SMP key size analyzing conditions.

See merge request !958
2017-08-21 19:38:15 +08:00
Yulong 202c5783db component/bt:squash the 2 commits.
component/bt: cherry-pick the bugfix/btdm_api_manage_pair_info_#13119 to this branch.

component/bt: Change the ble gap API code format & added the status judgment in the btc_storage_load_bonded_ble_devices function.
2017-08-21 06:17:21 -04:00
Yulong c5ea00c727 component/bt: Change the debug info. 2017-08-21 17:49:05 +08:00
Yulong eebc2e2df1 component/bt: Change the btm ble security key size range. 2017-08-21 17:49:05 +08:00
Yulong 677f58577f component/bt: Change the SMP key size analyzing conditions. 2017-08-21 17:49:05 +08:00
Ivan Grokhotkov abe9516fdc newlib: implement usleep 2017-08-21 15:58:28 +08:00
Ivan Grokhotkov 10f0543080 console: add support for terminal probing and dumb terminal mode 2017-08-21 15:58:28 +08:00
Ivan Grokhotkov 1e4587a09f vfs: implement fcntl via VFS interface 2017-08-21 15:58:28 +08:00
Ivan Grokhotkov 489c523870 vfs: support for blocking reads, more newline conversion options
Previously VFS driver for UART could only use simple non-blocking
functions to read from and write to the UART. UART driver provides more
complex blocking and interrupt-driven functions, which can be used
instead.
This commit adds optional support for using UART driver's functions.

Also added is a more flexible mechanism for configuring newline
conversion rules on input and output.

This commit also fixes a bug that all UARTs shared one static variable
used as a character buffer in newline conversion code. This variable is
changed to be per-UART.
2017-08-21 15:58:28 +08:00
Ivan Grokhotkov a8075ea140 console/argtable3: expose arg_print_formatted function 2017-08-21 15:58:28 +08:00
Ivan Grokhotkov 160f842d35 console/argtable3: fix usage of char as argument to ctype functions 2017-08-21 15:58:27 +08:00
Ivan Grokhotkov 5de7c91a54 add console component and example 2017-08-21 15:58:27 +08:00
Jiang Jiang Jian 363f201603 Merge branch 'bugfix/exection_not_init_bt_use_smp_api_#13691' into 'master'
component/bt: Added the bluedorid status checkout for the BLE security API.

See merge request !1045
2017-08-21 14:51:17 +08:00
Liu Zhi Fu b45433110f tcpip_adapter/lwip: optimize wifi/ip event 2017-08-21 14:36:44 +08:00
Angus Gratton 2c0ff0c1e1 mbedtls: Add a shim header to account for including "mbedtls/config.h" directly in program
Previously this resulted in a config mismatch between default config and esp_config.h

Closes https://github.com/espressif/esp-idf/issues/711
2017-08-21 12:37:53 +10:00
Angus Gratton f44091e48a Merge branch 'feature/mbedtls_cipher_config' into 'master'
mbedtls: Add compile-time configuration, better default configuration

See merge request !1118
2017-08-21 07:19:24 +08:00
zhiweijian 6276e71fc1 Component/bt: add check value and length for esp_ble_gatts_get_attr_value(uint16_t attr_handle, uint16_t *length, const uint8_t **value); 2017-08-20 19:12:57 +08:00
Ivan Grokhotkov bb7d5fc10f Merge branch 'feature/remove_ethernet_config_option' into 'master'
ethernet: remove CONFIG_ETHERNET

See merge request !1116
2017-08-18 18:45:49 +08:00
Angus Gratton 66ad84d318 mbedtls: Add more config options to disable Elliptic Curve features
Can save up to an additional 20KB when not using EC in TLS, or disable
unwanted features as needed.
2017-08-18 17:44:33 +10:00
Angus Gratton c0f65f6680 mbedtls: Expose compile-time config, disable some things by default
* Disables 3DES, Camellia, Blowfish, RC4, RIPEMD160, SSLv3, TLS-PSK modes, DTLS by default
* Saves about 40KB from the default TLS client code size
* Defaults no longer get "Bad" howsmyssl.com rating (no more vulnerable 3DES)
  (ping https://github.com/espressif/arduino-esp32/issues/575 )
* Allows up to another 20-30KB code size to be trimmed without security
  implications if using DER formatted certificates, RSA ciphersuites only,
  etc.
* Can save up to another 8KB by setting the TLS Role to Server or Client only.
2017-08-18 17:15:08 +10:00
Angus Gratton 979eabeba5 libsodium: Use mbedTLS implementations for SHA256 & SHA512
* Adds support for hardware accelerated SHA
* Saves code size (~5.5KB) for SHA256 & SHA512 where libsodium & mbedTLS both used
2017-08-18 16:29:04 +10:00
Kedar Sovani 4c1c62a453 wifi: refactor code to match ethernet's init function structure 2017-08-18 08:33:02 +05:30
Kedar Sovani 8348a71847 ethernet: remove CONFIG_ETHERNET
1. Hello World application shows no footprint difference before and
after this change
2. examples/ethernet/ethernet application compiles properly (can't
test with my board)
2017-08-18 08:31:43 +05:30
michael a01db5569c fix(spi_dma): fix the receive error with RX DMA start with non-aligned address. 2017-08-18 10:14:49 +08:00
Ivan Grokhotkov eddc07eebf Merge branch 'feature/set_static_ip_to_zero' into 'master'
Zero static IP address can also be set

See merge request !1101
2017-08-16 19:12:01 +08:00
Ivan Grokhotkov 14c96838bf sdmmc: add more comments about card initialization steps 2017-08-16 18:59:04 +08:00
Ivan Grokhotkov 6baf8195ee sdmmc: add support for high speed (HS) mode
By default SD cards are initialized in default speed (DS) mode. Enabling
HS mode requires SWITCH_FUNC command to be sent twice: first time to
query if the card supports switching to HS mode, second time to perform
the switch.

This change implements SWITCH_FUNC command and adds the procedure to
switch to HS mode.
2017-08-16 18:59:04 +08:00
Ivan Grokhotkov 9253d316e7 sdmmc: implement deselecting a card
In some cases the card needs to be returned to standby mode from data
transfer mode. This is done using CMD7 command, which does not receive
any response in this case.
2017-08-16 18:59:04 +08:00
Ivan Grokhotkov f908425b13 sdmmc: introduce is_app_cmd flag, check it along with opcode
‘make_hw_cmd’ function checks opcodes in a few cases. Comparing opcode
does not tell the whole story, because for some SD commands there is are
APP commands with the same opcodes. This change introduces a flag which
indicates whether the next command is going to be an APP command.
The check for APP_SET_BUS_WIDTH command is updated to use this flag.
This fixes a bug with an unexpected STOP_TRANSMISSION command sent after
SWITCH_FUNC command, which has opcode 6, same as APP_SET_BUS_WIDTH.
2017-08-16 18:59:04 +08:00
Ivan Grokhotkov e6258ac6cb sdmmc: don’t flip word order in MMC_RSP_BITS
MMC_RSP_BITS helper function had a hack that it flipped word order in
the response, assuming that response size is 4 words. This hack does not
work for responses which are not 4 words long (such as the SWITCH_FUNC
response, which is 64 words long).

This change removes the hack and the matching word order reversal code
in sdmmc driver.
2017-08-16 18:59:04 +08:00
Ivan Grokhotkov 159a2d01d1 Merge branch 'bugfix/spi_dma' into 'master'
bugfix(spi_master): fix several issues when using RX DMA

See merge request !1006
2017-08-16 18:55:25 +08:00
Ivan Grokhotkov 8a7bc34b78 Merge branch 'feature/remove_wifi_config_option' into 'master'
Remove wifi config option

Remove Wi-Fi enable/disable option from Kconfig. This can be detected by the presence of esp_wifi_init() function in the application. Minimum footprint impact after the change.

See merge request !1098
2017-08-16 18:43:56 +08:00
Kedar Sovani 6405d6f874 kconfig: Add an option for skipping binary blobs 2017-08-16 15:55:42 +05:30
Kedar Sovani ba8cd58b08 kconfig: Remove Wi-Fi on/off as a menuconfig option
This is no longer required since the functions automatically get
pulled in based on the usage. A quick summary of footprint
comparisions before and after these set of patches is shown below:

Hello-World: (simplified for readability)
 old Total image size:~ 104902 bytes (.bin may be padded larger)
 old Total image size:~ 105254 bytes (.bin may be padded larger)
 Per-archive contributions to ELF file:
             Archive File DRAM .data & .bss   IRAM Flash code & rodata   Total
 old              libesp32.a       1973    177   4445       3939     2267   12801
 new              libesp32.a       1973    185   4473       3939     2267   12837

 new             libnvs_flash.a          0     92      0        274        8     374
 new             libstdc++.a          0      0      0         24        0      24

For some reason, nvs_flash.a (~400bytes) gets pulled in (particularly
the nvs_flash_init() function).

Power-Save: (simplified for readability)
 old Total image size:~ 421347 bytes (.bin may be padded larger)
 old Total image size:~ 421235 bytes (.bin may be padded larger)

 old      libtcpip_adapter.a          0     81      0       1947      115       2143
 new      libtcpip_adapter.a          0     69      0       1897      115       2081

The size actually shrinks a bit, since the AP interface function
doesn't get pulled in.
2017-08-16 15:55:28 +05:30
Kedar Sovani a24130b390 tcpip_adapter: Decompose tcpip_adapter_start() into interface specification options
Since only the used interface's start function gets called, it pulls
in only the functions that are required in the current application,
thereby saving footprint.
2017-08-16 15:54:29 +05:30
Kedar Sovani 159e7e81b4 esp32: Make 'restart' function independent of Wi-Fi
Restart being a lower-layer system-level function, needn't depend on
the higher level Wi-Fi libraries.

This also enables us to get rid of one more WIFI_ENABLED ifdef check
2017-08-16 15:54:28 +05:30
Kedar Sovani a41b1a9d1f esp32: Register event handlers on the esp_wifi_init() call 2017-08-16 15:54:28 +05:30
Kedar Sovani 55a6aca355 wifi: Map esp_wifi_init() to esp_wifi_init_internal()
Follow-on patches will include additional functionality in
esp_wifi_init()
2017-08-16 15:54:28 +05:30
Kedar Sovani 8063b93497 wifi_lib: Update to the change in the wifi_lib repository 2017-08-16 15:54:13 +05:30
Ivan Grokhotkov 1633582ac4 Merge branch 'bugfix/spi_address' into 'master'
fix(spi_master): make the address field more intuitive to use.

See merge request !1074
2017-08-16 10:25:21 +08:00
Nilay Sheth 0eb59844bb bugfix(driver): fix RMT issues from github
1. Rename api from rmt_get_ringbuf_handler to rmt_get_ringbuf_handle (Github Issue #274)
2. doxygen param rename
3. change API rmt_wait_tx_done to specify maximum waiting time
4.Change return type of rmt_wait_tx_done API from bool to esp_err_t
5. update doc
2017-08-15 17:23:51 +08:00
michael ed1d084aea fix(spi_master): make the address field more intuitive to use.
The address field should be placed at the highest bits of address and slv_wr_status registers. Instead of breaking the address into two parts and fill in each register, move the address to the highest bits and write to the registers respectively.

Breaking change: if you fill-in the SPI address filed in a previous version in some way and it works correctly, you still have to rewrite the address, in a more intuitive way.
2017-08-15 14:49:31 +08:00
Angus Gratton 969f1bb9be Merge branch 'bugfix/ota_failsafe' into 'master'
bootloader: Fallback if OTA data is invalid

See merge request !1033
2017-08-15 08:11:38 +08:00
Angus Gratton 5eef5e7a5d bootloader: Fallback if OTA data is invalid
Make bootloader more robust if either OTA data or some OTA app slots are corrupt.
2017-08-15 09:42:19 +10:00
michael 366e4397e9 fix(spi_dma_rx): fixed the invalid argument issue in full-duplex mode.
force rxlength=length and mosi=1 and inlink.start=1 on in full-duplex mode.
set rxlength > length is forbidden in full-duplex mode.

TW#12609, TW#14240, https://www.esp32.com/viewtopic.php?f=13&t=2519
2017-08-14 17:25:30 +08:00
michael 227b011f6a fix(spi_master): fix SPI master, now able to transfer more than 32 bytes in non-DMA-accessable area.
apply for internal space to hold these data.
use DMA when it's enabled, no matter long or short.

TW#12226, github#551
2017-08-14 17:19:57 +08:00
Angus Gratton 8f44efc619 Merge branch 'bugfix/ledc_fade_divided_by_zero' into 'master'
bugfix(ledc): fix integer divided by zero in function ledc_set_fade_with_time

See merge request !1048
2017-08-14 13:52:36 +08:00
Ivan Grokhotkov 5fdde089e5 Merge branch 'bugfix/wl_ext_size_test' into 'master'
wear_levelling: fix unit test, fix sector erase in performance mode

See merge request !1093
2017-08-14 09:35:12 +08:00
Kedar Sovani 0cc59d5f67 build: Print real paths for 'ulp' build objects as well
Signed-off-by: Kedar Sovani <kedars@gmail.com>
2017-08-11 14:26:44 +05:30
baohongde b041c042bb component/bt: Fix gatt read by type response bug 2017-08-10 20:05:10 +08:00
XiaXiaotian 67b6327c4e Zero static IP address can also be set 2017-08-10 19:43:26 +08:00
Ivan Grokhotkov 43b81c8f11 Merge branch 'feature/fast_crypto_used_in_supplicant' into 'master'
Add the fast crypto function in supplicant, relate to the task tw13712

See merge request !1075
2017-08-09 21:55:05 +08:00
Deng Xin 57bc38d867 Add the fast crypto function in supplicant
optimize the speed when do wifi connect
2017-08-09 21:36:13 +08:00
Dmitry Yakovlev af414eadbd Log level changed to remove useless info. 2017-08-09 10:25:40 +03:00
Dmitry Yakovlev 8f0f9d8ab0 Fix: tests now process correct. The length of written array now fit to the defined range.
Fix: perfomance mode bugfix for big sector sizes.
2017-08-09 09:35:32 +03:00
Yulong 4efc97efc1 component/bt: All esp_bluedroid_get_status check-return could be used as MACRO ESP_BLUEDROID_STATUS_CHECK(ESP_BLUEDROID_STATUS_ENABLED); 2017-08-08 05:28:19 -04:00
Ivan Grokhotkov 5539bfb83b sdmmc: mark new unit test as ignored 2017-08-08 03:51:54 +08:00
Ivan Grokhotkov 59a28ebccc wear_levelling: temporarily disable 512 byte sectors
Unit tests are failing with the new 512 byte sector option. Disabling
this option to let the tests pass.
2017-08-08 03:26:14 +08:00
Ivan Grokhotkov 097dced499 wear_levelling: clean up Kconfig 2017-08-08 03:26:14 +08:00
Ivan Grokhotkov b260f6cb25 Merge branch 'bugfix/sdmmc_unaligned_write' into 'master'
sdmmc: fix reads/writes to/from unaligned buffers

See merge request !1071
2017-08-08 02:55:13 +08:00
Ivan Grokhotkov a88435ccbf Merge branch 'feature/aws_iot_menuconfig' into 'master'
aws_iot: Expose common SDK compile-time configuration in menuconfig

See merge request !1030
2017-08-07 17:22:48 +08:00
Ivan Grokhotkov dfda0fa67b Merge branch 'feature/add_gpio_drive_capability' into 'master'
feature(gpio): add APIs to set and get pad drive capability.

See merge request !1010
2017-08-07 17:21:42 +08:00
Ivan Grokhotkov 7421452ca2 Merge branch 'bugfix/nghttp_build_port' into 'master'
nghttp: build port directory

See merge request !1057
2017-08-07 17:21:15 +08:00
Ivan Grokhotkov 72ee0120cd Merge branch 'feature/wl_ext_sector_size' into 'master'
Feature/wl ext sector size

See merge request !1038
2017-08-07 17:20:34 +08:00
Ivan Grokhotkov 938085e749 Merge branch 'bugfix/windows_build' into 'master'
Disable link time optimisation for bootloader

See merge request !1044
2017-08-07 17:19:16 +08:00
Jiang Jiang Jian a92806b089 Merge branch 'bugfix/tw14130_fix_buf_err' into 'master'
emac:fix rx buf err

See merge request !1073
2017-08-04 15:17:33 +08:00
shangke 01a2c31e1f change copy right 2017-08-04 14:56:58 +08:00
Jiang Jiang Jian 886ea722ec Merge branch 'bugfix/btdm_add_set_local_privacy_callback' into 'master'
component/bt: add set local privacy func callback

See merge request !1026
2017-08-04 14:52:02 +08:00
Jiang Jiang Jian ea3b3046c2 Merge branch 'bugfix/btdm_fix_esp_ble_gatts_set_attr_value_memory_leak' into 'master'
component/bt: fix esp_ble_gatts_set_attr_value() memory leak

See merge request !1068
2017-08-04 14:40:54 +08:00
shangke 05aa09fbb9 beautify the code 2017-08-04 14:24:44 +08:00
shangke 1e6f904d38 add comments for rx list 2017-08-03 14:44:22 +08:00
Jiang Jiang Jian e165336428 Merge branch 'bugfix/btdm_Wrong_return_code_type_for_esp_ble_gattc_register_for_notify_and_unregister_for_notify_func' into 'master'
component/bt: fix wrong return code type for notify functions

See merge request !1070
2017-08-03 10:49:47 +08:00
Ivan Grokhotkov d286d2f647 Merge branch 'feature/apptrace_api_ext' into 'master'
esp32: Apptrace API enhancement

See merge request !1021
2017-08-02 14:34:42 +08:00
shangke ae571ddddf fix rx buf 2017-08-01 11:59:57 +08:00
Tian Hao d2872cbf2e component/bt : remove fixed queue from btu 2017-08-01 11:35:22 +08:00
Jiang Jiang Jian fedc5090d1 Merge branch 'bugfix/btdm_optimize_controller_task' into 'master'
component/bt : fix a bug and optimize controller task handler

See merge request !1066
2017-08-01 11:10:56 +08:00
Ivan Grokhotkov 512898edee sdmmc: fix reads/writes to/from unaligned buffers
SDMMC hardware treats all buffers as aligned, and ignores 2 LSBs of
addresses written into DMA descriptors. Previously SDMMC host driver
assumed that data buffers passed from SDDMC command layer would be
aligned. However alignment checks were never implemented in the command
layer, as were the checks that the buffer coming from the application
would be in DMA capable memory. Most of the time this was indeed true.
However in some cases FATFS library can pass buffers offset by 2 bytes
from word boundary. “DMA capable” restriction may be broken if pSRAM
support is used.

This change adds buffer checks to the SDMMC host driver (alignment and
DMA capability), so that the host layer will error out for incompatible
buffers. In SDMMC command layer, a check is added to read and write
functions. If an incompatible buffer is passed from the application, new
buffer (512 bytes size) is allocated, and the transfer is performed
using {READ,WRITE}_SINGLE_BLOCK commands.
2017-08-01 03:15:11 +08:00
Jeroen Domburg 9314bf0d37 Merge branch 'bugfix/spi_change_host' into 'master'
fix(spi_master): fix the bug that VSPI no respond when host changed from HSPI to VSPI, and vice versa.

See merge request !997
2017-07-31 18:33:36 +08:00
Dmitry Yakovlev 831cc4b42f Typos correction. 2017-07-31 13:19:41 +03:00
Dmitry Yakovlev 06805842ea Some typos corrected in readme. 2017-07-31 13:19:38 +03:00
Dmitry Yakovlev 9ebb68c2dc Added component to change standard size of the flash device. Now the sector size could be less. The configuration supports it. 2017-07-31 13:19:36 +03:00
zhiweijian 6ff53d1967 Component/bt: wrong return code type for notify func
- fix  esp_ble_gattc_register_for_notify()  returen wrong code type
- fix  esp_ble_gattc_unregister_for_notify()  returen wrong code type
2017-07-31 18:02:15 +08:00
zhiweijian 87d58b9ddb Component/bt: fix esp_ble_gatts_set_attr_value( ) memory leak 2017-07-31 17:24:07 +08:00
Tian Hao 6afadc3286 component/bt : fix a bug and optimize controller task handler
1. fix controller task printf in ISR may cause exception.
2. optimize task handler process.
2017-07-31 14:48:39 +08:00
XiaXiaotian 1c4f7f2081 add get and set wifi maximum transmit power API 2017-07-28 15:06:52 +08:00
Jiang Jiang Jian a31736990c Merge branch 'bugfix/btdm_osi' into 'master'
component/bt : add osi_is_in_isr && fix vhci delay

See merge request !1054
2017-07-28 11:35:04 +08:00
Jiang Jiang Jian ff3aa69e76 Merge branch 'feature/tw13968_optimize_for_tcp_close' into 'master'
lwip: optimize TCP close

See merge request !1022
2017-07-28 11:34:12 +08:00
Ivan Grokhotkov 3bd6194c58 Merge branch 'feature/docs_jtag_debugging' into 'master'
Update and extension of Debugging documentation

See merge request !850
2017-07-27 22:03:45 +08:00
Liu Zhi Fu 4ad1f2b272 lwip: optimize TCP close
Optimize TCP close:
1. Not remove TCP pcb when IP address is changed since the lwip netconn still need the pcb
2. If the TCP connection is in TCP_FIN_WAIT_1 for too long time, remove it
2017-07-27 12:44:39 +08:00
Jiang Jiang Jian 843159b0d7 Merge branch 'feature/add_menuconfig_option_for_ba_window' into 'master'
esp32: add menuconfig options to configure BA window

See merge request !915
2017-07-27 10:46:04 +08:00
zhiweijian fc05851b05 Component/bt: add set local privacy func callback 2017-07-26 17:29:10 +08:00
krzychb 1fb85b494c JTAG Debugging - revamping of Debugging documentation 2017-07-26 14:53:43 +08:00
Ivan Grokhotkov ee6d0631f4 nghttp: build port directory
Fixes https://github.com/espressif/esp-idf/issues/843
2017-07-26 14:27:20 +08:00
Ivan Grokhotkov 002f38fa8f Merge branch 'feature/sdspi_driver' into 'master'
SD SPI mode driver

This MR adds functionality to support SD cards connected via SPI interface.
Additionally, two bugs are fixed:
- Definition of `SPI_TRANS_MODE_DIOQIO_ADDR` in spi_master driver
- SD card probing frequency was 4000kHz instead of 400kHz as required by the standard

See merge request !727
2017-07-26 13:51:37 +08:00
Jiang Jiang Jian 460ab2e33b Merge branch 'feature/make_tcp_udp_receive_mbox_configurable' into 'master'
lwip: Make UDP/TCP receive mail box configurable

See merge request !1051
2017-07-25 20:45:38 +08:00
Tian Hao b500d6558a component/bt : add osi_is_in_isr && fix vhci delay 2017-07-25 19:58:39 +08:00
Liu Zhi Fu 7b2f388abc lwip: Make UDP/TCP receive mail box configurable
Different application may require different TCP/UDP receiv mail box size,
so make them configurable.
2017-07-25 13:56:32 +08:00
Liu Zhi Fu c99c5d13e6 esp32: add menuconfig options to configure BA window
Make AMPDU Block Ack Window configurable in menuconfig because we need to configure it
in some special cases, such as iperf test etc
2017-07-25 13:11:38 +08:00
Liu Zhi Fu 9ae5c6700b lwip/ethernet: fix emac rx buf err
1. Lwip not free the ethernet buf in lwip layer
2. Fix emac counter error
2017-07-25 11:19:31 +08:00
Alexey Gerenkov 60c45ae2c4 Updated acc to comments 2017-07-24 20:07:21 +03:00
Alexey Gerenkov c2c9149a24 esp32: Apptrace API enhancement
- User down buffer configuration support
 - bugfix: ring buf - avalable write size undeflow
 - SysView down buf support updated
2017-07-24 19:57:44 +03:00
Ivan Grokhotkov 6fbd6a007b Merge branch 'bugfix/uart_tx_glitch' into 'master'
bugfix(uart): fix signal glitch on tx pin

See merge request !1032
2017-07-24 19:43:25 +08:00
Yulong 9d9280a8ea component/bt: Added the bluedorid status checkout for the BLE security API. 2017-07-24 02:50:23 -04:00
Ivan Grokhotkov 967611cfaa Revert "bootloader: Add option to build with Link Time Optimisation enabled"
This reverts commit d1b66a08c1.
2017-07-24 05:14:31 +08:00
qianyicheng acec9b9d35 bugfix(ledc): fix integer divided by zero in function ledc_set_fade_with_time 2017-07-21 19:06:44 +08:00
michael 99769f0b00 fix(spi_master): fix the bug that VSPI no respond when host changed
from HSPI to VSPI, and vice versa.

fix the SPI control bits written wrong in the headers.

TW#12123, Github#477
2017-07-21 14:50:17 +08:00
Tian Hao 63566f6650 component/bt : fix RX packets losing bug 2017-07-20 15:53:01 +08:00
Jiang Jiang Jian 8fd6ab9a39 Merge branch 'feature/btdm_ble_tx_power_new' into 'master'
component/bt : add ble tx power && fix controller deinit mem leak

See merge request !1018
2017-07-20 15:16:13 +08:00
Wangjialin 9d466de235 bugfix(uart): fix signal glitch on tx pin
gpio_matrix_out function will set output enable for GPIO, seems in gpio_matrix_out there will be a short moment that the chip will output GPIO level.
So we can set GPIO as high before gpio_matrix_out function.
2017-07-20 14:34:11 +08:00
Ivan Grokhotkov 292c2abd3b Merge branch 'bugfix/init_nvs_in_bluetooth' into 'master'
bt: call nvs_flash_init in examples, show error if NVS is not initialized

See merge request !1003
2017-07-20 14:25:49 +08:00
Dmitry Yakovlev e5bb45f381 driver: SD protocol driver for SPI peripheral 2017-07-20 13:43:07 +08:00
Ivan Grokhotkov 5f8785eaec sdmmc: add support for SPI protocol commands 2017-07-20 13:34:21 +08:00
Ivan Grokhotkov 3b96771feb sdmmc: fix probing clock frequency
Probing clock frequency should be 400kHz, not 4MHz.
2017-07-20 13:34:21 +08:00
Ivan Grokhotkov 54dc350907 spi_master: fix duplicate bit mask for SPI_TRANS_MODE_DIOQIO_ADDR 2017-07-20 13:34:21 +08:00
Angus Gratton eeb8dc9c35 aws_iot: Expose common SDK compile-time configuration in menuconfig
Closes https://github.com/espressif/esp-idf/issues/637
2017-07-20 15:28:29 +10:00
Ivan Grokhotkov b9f660524c Merge branch 'bugfix/exception_lomem_heap_init' into 'master'
heap_caps: Allow for possibility a region is too small to register a heap

See merge request !1024
2017-07-20 12:13:12 +08:00
Angus Gratton 871ba41a09 bootloader: Remove unnecessary KEEP on data/bss sections, save static RAM 2017-07-19 18:31:59 +10:00
Angus Gratton d1b66a08c1 bootloader: Add option to build with Link Time Optimisation enabled 2017-07-19 18:31:59 +10:00
Angus Gratton 17adb40ca8 bootloader: Calculate SHA256 hash of image on every boot
Makes app image booting more reliable (256-bit rather than 8-bit verification.)

Some measurements, time to boot a 655KB app.bin file and run to app_main() execution.

(All for rev 1 silicon, ie no 340ms spurious WDT delay.)

80MHz QIO mode:
before = 300ms
after = 140ms

40MHz DIO mode:
before = 712ms
after = 577ms

40MHz DIO mode, secure boot enabled
before = 1380ms
after = 934ms

(Secure boot involves two ECC signature verifications (partition table, app) that take approx 300ms each with 80MHz CPU.)
2017-07-19 18:31:59 +10:00
Angus Gratton caaa29c676 esp_image_format: ESP32 additional header does not contain an encrypt flag 2017-07-19 18:25:17 +10:00
Angus Gratton 43b99edf2b bootloader: Calculate SHA-256 of image while loading/verifying 2017-07-19 18:25:17 +10:00
Angus Gratton 8f6134dd96 bootloader: Obfuscate loaded memory until verification is complete 2017-07-19 18:25:17 +10:00
Angus Gratton 0c8888d68f bootloader: Combine loading from flash & verifying to save boot time
Still needs updating to account for secure boot.
2017-07-19 18:25:17 +10:00
Angus Gratton 105c4b7386 Merge branch 'feature/esptool_image_padding' into 'master'
esptool: Optimise app image size by using RAM-loaded data for padding

See merge request !1017
2017-07-19 15:52:22 +08:00
Angus Gratton 2d9770fd00 linker script: Add some comments about significance of 0x18 byte offset 2017-07-19 17:38:05 +10:00
Angus Gratton 0feb40833a heap_caps: Allow for possibility a region is too small to register a heap
May happen due to sdkconfig, static allocation of RAM.

Closes https://github.com/espressif/esp-idf/issues/802
2017-07-19 17:24:24 +10:00
Angus Gratton c230e4280c linker scripts: Limit DROM/IROM section lengths correctly 2017-07-19 16:33:48 +10:00
Angus Gratton d92c541b1a esptool: Optimise generated image size by using RAM-loaded data for padding
Can save almost 128KB from some images.
2017-07-19 16:24:17 +10:00
Angus Gratton ec64fa3416 bootloader flash QIO mode: Restore DIO/DOUT mode if enabling quad fails
Previously, flash was degraded to single I/O mode.
2017-07-19 15:04:09 +10:00
Angus Gratton 0715d1f8c1 bootloader: When customising SPI flash pins in efuse, set WP pin in menuconfig
Allows custom configurations for QIO/QOUT mode.
2017-07-19 15:04:08 +10:00
Wangjialin c30149e4bd feature(gpio): add APIs to set and get pad drive capability. RTC pads use RTC registers to contol drive capability. 2017-07-19 11:23:41 +08:00
Angus Gratton d664e32394 build system: Use component.mk for all components, refactor bootloader build
For config-only components, component.mk should now contain "COMPONENT_CONFIG_ONLY := 1"

Also refactored some of the generation of linker paths, library list. This required cleaning up the way the bootloader
project works, it's now mostly independent from the parent.
2017-07-19 09:10:48 +10:00
Tian Hao 006a90e075 component/bt : add ble tx power && fix controller deinit mem leak
1. add ble tx power functions
2. add more osi functions.
3. modify bluetooth controller task procedure
4. fix a memory leak when controller deinit
5. add controller disable return value.
2017-07-18 20:22:28 +08:00
Ivan Grokhotkov aef5e90cce Merge branch 'feature/mmap_unordered_flash_pages' into 'master'
Add function to map non-contiguous flash pages to contiguous memory space.

See merge request !873
2017-07-18 10:49:12 +08:00
Ivan Grokhotkov 0ae916d555 Merge branch 'feature/high_level_interrupts' into 'master'
Break out high-level interrupts so a component can override them

See merge request !675
2017-07-18 10:42:31 +08:00
Angus Gratton 4029ed1df4 Merge branch 'bugfix/rom_gpio_typo' into 'master'
bugfix(typo): fix typo in rom/gpio.h

See merge request !1009
2017-07-18 06:53:30 +08:00
Ivan Grokhotkov 979fce0df5 bt: call nvs_flash_init in examples, show error if NVS is not initialized
NVS is used to store PHY calibration data, WiFi configuration, and BT
configuration. Previously BT examples did not call nvs_flash_init,
relying on the fact that it is called during PHY init. However PHY init
did not handle possible NVS initialization errors.

This change moves PHY init procedure into the application, and adds
diagnostic messages to BT config management routines if NVS is not
initialized.
2017-07-17 21:29:50 +08:00
Ivan Grokhotkov fd2d53fca6 Merge branch 'bugfix/wl_write' into 'master'
wear_levelling: fix write and read length for single access was wrong.

See merge request !993
2017-07-17 18:31:27 +08:00
Dmitry Yakovlev b36e580756 wear_levelling: fix write and read length for single access was wrong. 2017-07-17 12:00:40 +03:00
Wangjialin 10340d718f bugfix(typo): fix typo in rom/gpio.h 2017-07-17 15:41:02 +08:00
Angus Gratton c2e6e10dcc Merge branch 'bugfix/nghttp2_build_submodules' into 'master'
nghttp2: Add submodule to COMPONENT_SUBMODULES, update to v1.24

See merge request !977
2017-07-17 14:14:28 +08:00
Angus Gratton e50870c2dc Merge branch 'bugfix/bootloader_stack_smash' into 'master'
Fix crashes when >approx 185KB of DRAM is statically allocated

See merge request !983
2017-07-17 14:11:35 +08:00
Angus Gratton f824829a13 Merge branch 'bugfix/dont_link_unused_data_sections' into 'master'
ld: Save RAM by removing unused .data sections at link time

See merge request !985
2017-07-17 14:10:12 +08:00
Jiang Jiang Jian 4ec2abbf23 Merge branch 'feature/some_refactor_for_tcpip_adapter' into 'master'
tcpip_adapter: not remove netif when tcpip adapter is stopped

See merge request !943
2017-07-13 22:16:00 +08:00
Jiang Jiang Jian 5ac0503ce7 Merge branch 'bugfix/btdm_modify_BTA_GATTC_KNOWN_SR_MAX_for_Multi-connection' into 'master'
component/bt: modify BTA_GATTC_KNOWN_SR_MAX for Multi-connection bug

See merge request !992
2017-07-13 21:55:24 +08:00
Liu Zhi Fu d724cc23d2 tcpip_adapter: not free netif when tcpip adapter is stopped
When tcpip adapter is stop, don't free the netif
2017-07-13 18:42:45 +08:00
Angus Gratton 399ec29a68 Merge branch 'feature/silent_assertions' into 'master'
Add "silent" assertion option

See merge request !984
2017-07-13 17:21:09 +08:00
zhiweijian ca3bf570cd Component/bt: modify BTA_GATTC_KNOWN_SR_MAX for Multi-connection bug 2017-07-13 16:22:44 +08:00
Angus Gratton 1ed4eadfab Merge branch 'bugfix/mbedtls_ecp_failure_memory_leak' into 'master'
mbedtls: Fix memory leak in initial ECDH exchange if OOM/failure occurs

See merge request !987
2017-07-13 15:39:40 +08:00
Ivan Grokhotkov 0c28b3bc4c Merge branch 'bugfix/btdm_update_connect_params_for_gattc' into 'master'
component/bt: bugfix update connect params for gattc

See merge request !991
2017-07-13 14:32:20 +08:00
Jiang Jiang Jian fc4d3df890 Merge branch 'bugfix/tw13744_make_low_rate_work' into 'master'
esp32: update wifi lib to make low rate work

See merge request !965
2017-07-13 14:26:02 +08:00
Ivan Grokhotkov 7fc25f18d2 Merge branch 'feature/enable_brownout_detector' into 'master'
Enable brownout detector

See merge request !811
2017-07-13 11:40:37 +08:00
Angus Gratton 8cd03c84d0 Merge branch 'feature/ip_route_base_on_source_ip' into 'master'
Broadcast IP route based on source IP address.

See merge request !942
2017-07-12 17:31:24 +08:00
Angus Gratton 7b565e4b25 assertions: Add "silent" option
Reduces assertion codesize overhead by approximately 35%
2017-07-12 17:29:26 +08:00
Angus Gratton d8d2933bde Merge branch 'bugfix/gdbstub_handler_noreturn' into 'master'
gdbstub: Mark the panic handler entry as noreturn

See merge request !975
2017-07-12 17:23:59 +08:00
Angus Gratton ffefeef5ea mbedtls: Fix memory leak in initial ECDH exchange if OOM/failure occurs
In ecp_mul_comb(), if (!p_eq_g && grp->T == NULL) and ecp_precompute_comb() fails (which can happen due to OOM), then the new array of points T was leaked.
2017-07-12 16:34:26 +08:00
Angus Gratton cfbb1a652b Merge branch 'doc/esp_random' into 'master'
esp_random: Add some documentation about using before RF subsystem is on

See merge request !976
2017-07-12 16:18:43 +08:00
Angus Gratton 99fe61716c startup: Add assertion checks around various initialisation sequences
These may fail if close to 192KB of static RAM is allocated (remaining early heap RAM is too small.)
2017-07-12 13:06:56 +08:00
Angus Gratton 2b0f623259 bootloader/early boot: Error out if >192KB of static DRAM is allocated (temporary fix)
Currently the last 128KB of DRAM is reserved for the bootloader & early boot stacks. This means if >192KB of static DRAM
is allocated, the only available heap is this region - which is disabled until the scheduler starts. As a result, you
get either heap corruption on early boot if the static data overlaps startup heap (leading to very weird errors), or
FreeRTOS will fail to start when it can't malloc() anything.

Long term fix is to move the stacks & bootloader data to the very end of RAM, and only reserve that part for early
boot. This is a little fiddly because of also wanting to make sure this memory is not preemptively fragmented when it
gets reintroduced to the heap. This will become more important if/when we have more static allocation options in the
future.

For now, these errors make it clear why the boot has failed.

Ref TW13909
2017-07-12 13:06:56 +08:00
Angus Gratton 187b5fb888 ld: Remove unused .data sections at link time
Reduces static RAM, code size.
2017-07-12 13:05:54 +08:00
Angus Gratton 083f7d667b nghttp2: Add submodule to COMPONENT_SUBMODULES, update to release v1.24
Removes need for -DNDEBUG hack in component.mk (fixed upstream).
2017-07-12 11:16:55 +08:00
Angus Gratton d601bedb85 pvPortMalloc: Fix regression when changing to new heap implementation 2017-07-12 11:10:11 +08:00
Angus Gratton 7ae93f271c Merge branch 'feature/multi_heap' into 'master'
Separate the heap implementation from FreeRTOS

See merge request !731
2017-07-12 10:53:37 +08:00
Angus Gratton 3ad163e644 freertos: Bump idle stack size to 1KB, min stack to 768 bytes, make configurable
Reverts regression mentioned at
3fe0022efa (commitcomment-23013504)
2017-07-11 14:48:15 +08:00
Angus Gratton 3bb90bab97 esp_random: Add some documentation about using before RF subsystem is on 2017-07-11 14:27:20 +08:00
zhiweijian 8460f1a972 Component/bt: bugfix update connect params for gattc 2017-07-11 11:27:36 +08:00
Angus Gratton c049cd55a6 gdbstub: Mark the panic handler entry as noreturn
Fixes a warning in panic.c when this panic mode is enabled.
2017-07-11 10:18:08 +08:00
Angus Gratton ad60c30de0 heap: Rename memory "tags" to "types" to avoid confusion w/ old tag allocator API 2017-07-10 17:46:03 +08:00
Angus Gratton 8d7074ed5c soc: Move esp_ptr_dma_capable() function to soc_memory_layout.h 2017-07-10 17:46:03 +08:00
Angus Gratton 71c70cb15c heap: Refactor heap regions/capabilities out of FreeRTOS
Remove tagged heap API, rename caps_xxx to heap_caps_xxx

Also includes additional heap_caps_xxx inspection functions.
2017-07-10 17:46:03 +08:00
Angus Gratton 5ee49fd311 heap: Add new multi_heap heap implementation to replace FreeRTOS-based tagged heaps 2017-07-10 17:46:03 +08:00
Ivan Grokhotkov 01b185977c brownout detector: enable by default
Because of errata related to BOD reset function, brownout is handled as follows:

- attach an ISR to brownout interrupt
- when ISR happens, print a message and do a software restart
- esp_restart_nonos enables RTC watchdog, so if restart fails,
  there will be  one more attempt to restart (using the RTC
  watchdog)
2017-07-10 17:25:55 +08:00
Ivan Grokhotkov 780569c04a esp32: fix RTC watchdog configuration in esp_restart
RTC watchdog didn’t have any actions configured for any of the stages.
This change configures it to use SW_SYSTEM_RESET at stage 0 and a
full reset at stage 1. The timeout is now calculated based on
RTC_SLOW_CLK frequency.
2017-07-10 17:21:49 +08:00
Ivan Grokhotkov cbe23147bf driver/rtc: add support for attaching handlers to RTC_CNTL interrupts 2017-07-10 17:21:49 +08:00
Liu Zhi Fu e1f13eda49 esp32: update wifi lib to make low rate work
Make low rate work
2017-07-07 22:05:54 +08:00
Tian Hao 7a79d31db0 fix reg operation missing 2017-07-07 20:04:24 +08:00
Jeroen Domburg d3290479b2 Merge panic and dport high level interrupt code to both use int level 4 2017-07-07 12:51:33 +08:00
Jeroen Domburg 1d748db209 Break out high-level interrupts so a component can override them 2017-07-07 12:51:33 +08:00
Anton Maklakov 3d1d4fe150 build: Fix the warnings that break the tests
unused variable 'lfn'
    'isr_handler' defined but not used
    'servo_set_angle' defined but not used
    'gpio_test_signal' defined but not used
    'change_duty' defined but not used
2017-07-07 11:03:25 +08:00
Jeroen Domburg 927b5685cd Merge branch 'bugfix/partition_mmap_size' into 'master'
esp_partition_mmap size calculation fix

See merge request !947
2017-07-06 18:44:59 +08:00
Jeroen Domburg 6c2b4854e1 Add test for partition mmap straddling 64K page issue 2017-07-06 18:22:43 +08:00
Angus Gratton fd9d889e62 mbedtls unit tests: Allow for longer timeout using software SHA
Hardware SHA runs SHA operations faster than software...
2017-07-06 15:54:01 +08:00
Jiang Jiang Jian 6d03d42d2f Merge branch 'bugfix/btdm_error_length_unit' into 'master'
Component/bt: fix bug for  error length unit

See merge request !950
2017-07-06 14:48:29 +08:00
Ivan Grokhotkov 9aa0188655 Merge branch 'bugfix/small_typos' into 'master'
Fix a few minor typos in docs

See merge request !954
2017-07-06 14:27:22 +08:00
Ivan Grokhotkov 571ee9d1cb Merge branch 'bugfix/disable_crypto_acceleration' into 'master'
mbedtls: Temporarily disable hardware acceleration in dual-core mode

See merge request !956
2017-07-06 14:26:41 +08:00
Ivan Grokhotkov 6b2e16e51b soc: fix typo in register name 2017-07-06 12:36:06 +08:00
Ivan Grokhotkov 1194f59e1a Merge branch 'bugfix/i2s_return_err_code' into 'master'
i2s driver: return error code if register isr error

See merge request !829
2017-07-06 11:25:40 +08:00
Ivan Grokhotkov a054ced740 esp_chip_info: populate ‘model’ field 2017-07-06 11:01:40 +08:00
Angus Gratton c35aa1d9a2 mbedtls: Temporarily disable hardware acceleration in dual-core mode
Temporary fix, until DPORT bugs in crypto accelerators are completely fixed.
2017-07-05 12:03:00 +08:00
Ivan Grokhotkov ef63811e6d phy_init: fix log level for "PHY data partition validated" message 2017-07-05 11:29:53 +08:00
zhiweijian ad8cce3053 Component/bt: fix bug for error length unit 2017-07-04 10:57:36 +08:00
Jiang Jiang Jian 55b3ea9ccc Merge branch 'bugfix/btdm_cherry-pick_ble_smp_bonding_issues' into 'master'
component/bt: Fixed the bug crash of disconnet BLE when close the SMP module in the menuconfig.

See merge request !941
2017-07-03 19:41:56 +08:00
Jeroen Domburg 93b7eaf5b2 esp_partition_mmap could map a page less than needed because it did not take the region offset into account. 2017-07-03 18:02:28 +08:00
wangmengyang 8959c7de20 component/bt: bugfix for AVDTP state machine during disconnection in failure to handle NULL parameter 2017-07-03 17:25:44 +08:00
Yulong 5b9a89f04d component/bt: squech the commit
component/bt: Fixed the bug crash of disconnet BLE when close the SMP module in the menuconfig.

component/bt: Removed the Excess #endid ///SMP_INCLUDED == TRUE in the l2cu_no_dynamic_ccbs function.
2017-07-03 03:07:23 -04:00
Ivan Grokhotkov 0837b3b743 Merge branch 'doc/wifi_set_vendor_ie' into 'master'
Document the WiFi Vendor-Specific Information Element API

See merge request !933
2017-06-30 16:37:18 +08:00
Ivan Grokhotkov 15231f1cce Merge branch 'bugfix/newlib_lock_init' into 'master'
newlib locks: Fix _lock_init() & _lock_init_recursive() failing to initialise a lock

See merge request !937
2017-06-30 16:36:47 +08:00
Ivan Grokhotkov a4ae3efcd2 Merge branch 'bugfix/ipc_task_stack_size' into 'master'
Bugfix IPC task stack size

See merge request !938
2017-06-30 16:36:18 +08:00
XiaXiaotian 7a64e19ba8 Broadcast IP route based on source IP address.
If destination IP address of the packet is broadcast address, firstly compare
    source IP address with the that of each network interface. If it matches,
    packet is forwarded from the interface.
2017-06-30 16:18:29 +08:00
Angus Gratton 9297edaf60 ipc task: Allow configuration of IPC task stack size
Fixes regression in 3fe0022ef
2017-06-30 15:04:19 +10:00
Ivan Grokhotkov 016a579806 Merge branch 'bugfix/uart_tx_buffer_length' into 'master'
bugfix(uart): fix bugs reported from github

See merge request !927
2017-06-30 12:30:25 +08:00
Angus Gratton 75d6fdf73c newlib locks: Fix _lock_init() & _lock_init_recursive() failing to initialise a lock
If scheduler was running, and lock was an automatic variable (ie stack-allocated) to be initialised by _lock_init*,
initialisation could be skipped if the lock variable was non-zero (and lock would be left invalid).

In other cases the lock is statically initialised to zero by __LOCK_INIT*
2017-06-30 08:54:56 +10:00
Angus Gratton 5c925bf96e esp_wifi.h: Document the Vendor-Specific Information Element functions 2017-06-29 17:29:23 +10:00
Angus Gratton b3603ccf58 esp_wifi header: Fix typo 2017-06-29 17:19:17 +10:00
Angus Gratton 3fe0022efa stack sizes: Revert stack size increases added in 8d43859
Set min stack size to 2048 if AppTrace support is enabled, 512 bytes otherwise.
2017-06-29 14:57:13 +10:00
Angus Gratton 415a7d742a dport_access: Fix spurious warning in unicore mode, refactor 2017-06-29 13:57:13 +10:00
Ivan Grokhotkov 9b955f4c9f Merge branch 'feature/sysview_via_apptrace' into 'master'
sysview via apptrace

See merge request !708
2017-06-29 08:40:13 +08:00
Jan Mrázek f698a1b2d3 Add missing support for C++ exceptions
Specifying -fexceptions for the compiler is not enough.

- add necessary zero padding after .eh_frame section
- link .gcc_except_table_table in a way flash script does not complain
- call __registrer_frame_info before global constructors

Kudos jcmvbkbc for the necessary help.
2017-06-28 13:53:42 +08:00
Angus Gratton 540a506d0f Merge branch 'bugfix/lwip_assert' into 'master'
lwip: Remove port-specific sys_arch_assert(), use libc __assert_func() instead

See merge request !926
2017-06-28 06:09:04 +08:00
Alexey Gerenkov 8d43859b6a esp32: SEGGER SystemView Tracing Support
Implements support for system level traces compatible with SEGGER
SystemView tool on top of ESP32 application tracing module.
That kind of traces can help to analyse program's behaviour.
SystemView can show timeline of tasks/ISRs execution, context switches,
statistics related to the CPUs' load distribution etc.

Also this commit adds useful feature to ESP32 application tracing module:
 - Trace data buffering is implemented to handle temporary peaks of events load
2017-06-27 20:52:43 +03:00
Ivan Grokhotkov bd09f186b6 Merge branch 'test/ci_add_ble_cases' into 'master'
CI: add ble cases to CI

See merge request !917
2017-06-27 23:49:17 +08:00