Commit graph

2644 commits

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