Commit graph

978 commits

Author SHA1 Message Date
Angus Gratton 0f1923ab22 Merge branch 'bugfix/o2_build_warnings' into 'master'
Fix -O2 build warnings

Closes IDFGH-1945 and IDFGH-1946

See merge request espressif/esp-idf!6311
2019-10-17 13:09:28 +08:00
Darian 820fd6447d can: Add support for lower bit rates
This commit adds support for lower bit rates in the CAN Driver for
ESP32 Rev 2 or later chips.
2019-10-17 12:33:17 +08:00
Angus Gratton 496ede9bcd Merge branch 'master' into feature/esp32s2beta_merge 2019-10-15 14:59:27 +11:00
Ivan Grokhotkov 6e423d5cf6 drivers/can: fix skipped function calls when assertions disabled
When CONFIG_FREERTOS_ASSERT_DISABLE is set, the function calls wrapped
inside the assertion macros would be removed from the code.

Closes https://github.com/espressif/esp-idf/issues/4143
2019-10-13 15:37:19 +02:00
Michael (XIAO Xufeng) afbe1ba878 spi: move deprecated functions into internal header
Resolves https://github.com/espressif/esp-idf/issues/4132
2019-10-08 11:51:39 +08:00
suda-morris f94711c316 uart: add option to put ISR in IRAM 2019-10-02 16:43:02 +00:00
Angus Gratton adfc06a530 Merge branch 'master' into feature/esp32s2beta_merge 2019-09-20 10:28:37 +10:00
Angus Gratton 438d513a95 Merge branch 'master' into feature/esp32s2beta_merge 2019-09-16 16:18:48 +10:00
Angus Gratton 9d19f4fc8e driver docs: Fix some doxygen warnings 2019-09-13 14:30:06 +10:00
Angus Gratton f406d020d8 driver: Remove features deprecated pre-IDF V4.0 2019-09-13 09:44:07 +10:00
Michael (XIAO Xufeng) 76a3a5fb48 ci: disable unavailable tests for esp32s2beta 2019-09-04 10:53:25 +10:00
Angus Gratton 0c88ef3232 driver: Fix UART interrupt handle read bug 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng) eb158e9a22 ci: disable UTs for esp32s2beta without runners 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng) 3b39e60f97 driver: remove unused drivers for esp32s2beta 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng) 9baa7826be fix unit test and examples for s2beta 2019-09-04 10:53:25 +10:00
Martin Thierer 3bb42d0736 spi: Put argument of macro SPI_SWAP_DATA_TX/RX in parentheses
Close https://github.com/espressif/esp-idf/pull/3996
2019-09-03 15:21:23 +08:00
Angus Gratton ff5cb217fe Merge branch 'bugfix/unicore_config_prevent_ipc_code' into 'master'
ipc: prevent code getting pulled in for unicore configuration

See merge request espressif/esp-idf!5795
2019-08-30 16:26:47 +08:00
Mahavir Jain ebe53416ad ipc: prevent code getting pulled in for unicore configuration 2019-08-28 12:47:08 +05:30
Angus Gratton 8d8d4a57e1 Merge branch 'bugfix/reset_periph_modules' into 'master'
driver: Add a reset before enabling if a module is off

Closes IDF-188

See merge request espressif/esp-idf!4843
2019-08-26 16:38:23 +08:00
liu zhifu 003a9872b7 esp_wifi: wifi support new event mechanism
1. WiFi support new event mechanism
2. Update examples to use new event mechanism
2019-08-20 09:39:51 +00:00
Angus Gratton 0a0bb09585 Merge 'master' into feature/esp32s2beta_update 2019-08-20 13:55:23 +10:00
Angus Gratton 6990a7cd54 Merge branch 'master' into feature/esp32s2beta_update 2019-08-19 15:03:43 +10:00
Angus Gratton 848465da90 driver: Check ledc config result in PCNT tests 2019-08-15 06:53:46 +00:00
Angus Gratton 1dd2f3e07b driver: ledc: Fix low/high speed parameter setting
Fix regression introduced in 2e8c85d8ff
2019-08-15 06:53:46 +00:00
Angus Gratton ee6b1399aa Merge branch 'feature/exclude_rom_from_example_header_files' into 'master'
exclude rom headers in examples

Closes IDF-557

See merge request espressif/esp-idf!5051
2019-08-15 10:50:01 +08:00
Angus Gratton 367ecc2d60 Merge branch 'refactor/timerg_in_test' into 'master'
timer_group: refactoring to avoid direct register access in the ISR

See merge request espressif/esp-idf!5656
2019-08-14 15:32:16 +08:00
Angus Gratton 18c5cfadae Fix function prototypes 2019-08-13 17:14:16 +10:00
suda-morris b1497f2187 exclude rom headers in examples
1. avoid including rom headers directly in examples
2. add common API interface for CRC calculation in esp_common component
2019-08-13 11:10:22 +08:00
Angus Gratton 2f56116db2 Cleanup of previous merge commit 2019-08-12 16:57:40 +10:00
Konstantin Kondrashov 9a669bfbb9 rmt/driver: Add module reset before enabling 2019-08-09 17:09:56 +08:00
Konstantin Kondrashov a418b603d0 pcnt/driver: Add module reset before enabling 2019-08-09 17:09:56 +08:00
Konstantin Kondrashov 5c560e0cd1 sdmmc_host/driver: Add module reset before enabling 2019-08-09 17:09:56 +08:00
Konstantin Kondrashov 437228e947 i2s/driver: Add module reset before enabling 2019-08-09 17:09:56 +08:00
Konstantin Kondrashov d064cd485c can/driver: Add module reset before enabling 2019-08-09 17:09:56 +08:00
Konstantin Kondrashov c082d13075 uart/driver: Add module reset before enabling
This commit prevents infinite restarts caused due to an interrupt flag
was left uncleared.

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

Closes: IDF-188
2019-08-09 17:09:56 +08:00
Michael (XIAO Xufeng) 264ffbeb14 timer_group: use the LL 2019-08-09 13:46:31 +08:00
Michael (XIAO Xufeng) c02981a99b timer_group: support interrupt LL and some utility functions in ISR 2019-08-09 13:46:30 +08:00
chenjianqiang a97fe5615f feat(timer): refator timer group driver (partly pick) 2019-08-09 13:46:29 +08:00
Angus Gratton c1e3e1cd9a Merge branch 'bugfix/fix_ledc_clock_select_bug' into 'master'
driver(ledc): fixed ledc clock selection bug

See merge request espressif/esp-idf!3612
2019-08-08 13:56:21 +08:00
Angus Gratton 04ae56806c Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 15:26:58 +10:00
Angus Gratton 24d26fccde Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 13:44:24 +10:00
Michael (XIAO Xufeng) 3fd896fe64 sdio_slave: update version read from CCCR to 2.0 2019-08-07 17:10:34 +08:00
morris 1877a9fcd8 Merge branch 'feature/esp32s2beta_rtc_driver' into 'feature/esp32s2beta'
Feature/esp32s2beta rtc driver

See merge request espressif/esp-idf!5243
2019-08-07 14:43:17 +08:00
fuzhibo 572084821b add Comment for touchpad 2019-08-07 11:39:17 +08:00
kooho 2e8c85d8ff driver(ledc): fixed ledc clock selection bug. 2019-08-06 16:11:18 +08:00
Michael (XIAO Xufeng) 26fc858ea4 spi_common: remove deprecated spi_common_periph_claim macros 2019-08-05 09:26:47 +00:00
fuzhibo fbb0687b97 1.update touch driver; 2.update adc/dac driver; 3.add temp sensor driver; 2019-08-05 16:21:18 +08:00
fuzhibo bf79e9d70a Driver: gpio and rtcio dirver update 2019-08-05 16:21:18 +08:00
fuzhibo b055bff580 1.update touch driver; 2.update adc/dac driver; 3.add temp sensor driver; 2019-08-05 16:21:18 +08:00
fuzhibo 83e00cf643 Driver: gpio and rtcio dirver update 2019-08-05 16:21:18 +08:00
kooho 2139ca668d Update I2S driver for esp32s2beta. 2019-08-05 16:05:16 +08:00
Anton Maklakov 75c0066f93 Fix remaining -Wstrict-prototypes warnings 2019-08-01 16:28:56 +07:00
Anton Maklakov afbaf74007 tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
redchenjs ff325e84b6 Bugfix(i2s): fixed i2s left/right channels swapped issue.
The right channel data is in the high position, so the I2S_TX_MSB_RIGHT & I2S_RX_MSB_RIGHT bits should be set.

Merges https://github.com/espressif/esp-idf/pull/3717

closes https://github.com/espressif/esp-idf/issues/3399
2019-07-31 17:58:23 +08:00
kooho f98e7bbccf Update LEDC, PCNT,Timer_Group driver for esp32s2beta. 2019-07-31 16:03:22 +08:00
Angus Gratton eae6f5a1d6 Merge branch 'feature/esp32s2beta_rmt_driver' into 'feature/esp32s2beta'
Driver(RMT): Update RMT driver for esp32s2beta

See merge request espressif/esp-idf!5227
2019-07-30 18:21:59 +08:00
kooho 64f81aefae bugfix(GPIO): Fixed the bug that GPIO enables interrupts on one core,
but registers interrupt service routines on another core

closes https://github.com/espressif/esp-idf/issues/2808
closes https://github.com/espressif/esp-idf/issues/2845
2019-07-29 11:09:07 +00:00
Michael (XIAO Xufeng) b98b4c3886 sdmmc_io: support to print CIS information
Currently only ESP slaves can be parsed correctly.
2019-07-29 10:41:17 +08:00
chenjianqiang e43513b610 bugfix(uart): uniform AT_CMD char configuration 2019-07-18 19:24:13 +08:00
chenjianqiang 91ae40e2ff uart: multichip support 2019-07-18 15:57:00 +08:00
chenjianqiang 4cc962353c feat(uart): update uart driver for esp32s2beta 2019-07-18 15:57:00 +08:00
David Cermak c6c6cd7179 rtc: fix minor malloc issues found by static analyzer 2019-07-17 14:45:17 +00:00
houwenxiang 6a8fe5cf79 Update RMT driver for esp32s2beta 2019-07-11 19:15:05 +08:00
chenjianqiang 667113cf94 feat(i2c): update i2c driver for esp32s2beta 2019-07-10 11:41:36 +08:00
kooho 09a63cca51 bugfix(UART): fixed two UART issues:
1. uart_wait_tx_done works incorrect when sending a byte of data.
2. uart_set_rx_timeout sets an incorrect rx timeout value when ref_tick is enabled

closes https://github.com/espressif/esp-idf/issues/3631
2019-07-08 12:27:14 +08:00
Angus Gratton 3ff01d60a4 Merge branch 'fix/sdio_slave_reset_infloop_leak' into 'master'
sdio_slave: fix the send_flush infinite loop issue

See merge request idf/esp-idf!5365
2019-07-03 08:36:26 +08:00
Vikram Dattu da77dcb0be Changed log level for spi_master
There are lot of prints of `Allocate TX buffer for DMA`
Changed these from `ESP_LOGI` to `ESP_LOGD`

Signed-off-by: Vikram Dattu <vikram.dattu@espressif.com>
2019-07-01 20:04:15 +00:00
Jiang Jiang Jian e2b88207b4 Merge branch 'feature/esp32s2beta_wifi' into 'feature/esp32s2beta'
run WiFi on ESP32SBETA

See merge request idf/esp-idf!5293
2019-06-30 00:40:34 +08:00
Xia Xiaotian 99ef587a05 run WiFi on ESP32SBETA 2019-06-28 11:34:49 +08:00
Ivan Grokhotkov 13d9c483b3 Merge branch 'bugfix/i2s_apll_clock_fix' into 'master'
driver/i2s: fix apll_clock_rate for different sample rates

See merge request idf/esp-idf!5159
2019-06-28 03:49:11 +08:00
Michael (XIAO Xufeng) 65c0d354e4 spi_common: add interface to get whether the bus is on IOMUX 2019-06-27 13:27:27 +08:00
Michael (XIAO Xufeng) b76ab9142d spi_common: deprecate some public APIs 2019-06-27 13:27:26 +08:00
Michael (XIAO Xufeng) 28b2e113ca spi_master: move the spi_bus_init function into common header 2019-06-27 13:27:26 +08:00
Michael (XIAO Xufeng) 9805902482 sdio_slave: fix the send_flush infinite loop issue
Also add some helper functions.
2019-06-27 13:24:22 +08:00
Michael (XIAO Xufeng) 17378fd4c2 spi: support new chip esp32s2beta 2019-06-23 12:17:27 +08:00
Michael (XIAO Xufeng) 9b13a04abf spi: multichip support
move hardcoded numbers, etc. into soc files.
create headers for shared types which needs to be documented.

(MINOR CHANGE)
2019-06-22 19:08:47 +08:00
Renz Christian Bagaporo 9b350f9ecc cmake: some formatting fixes
Do not include bootloader in flash target when secure boot is enabled.
Emit signing warning on all cases where signed apps are enabled (secure
boot and signed images)
Follow convention of capital letters for SECURE_BOOT_SIGNING_KEY
variable, since it is
relevant to other components, not just bootloader.
Pass signing key and verification key via config, not requiring
bootloader to know parent app dir.
Misc. variables name corrections
2019-06-21 19:53:29 +08:00
Renz Christian Bagaporo 9eccd7c082 components: use new component registration api 2019-06-21 19:53:29 +08:00
Ajita Chavan 070b86eee5 i2s: test case for variation in apll clock rate 2019-06-20 16:40:58 +00:00
redchenjs 430d9c6fba i2s: fix a bug when calculating i2s apll parameters
Closes https://github.com/espressif/esp-idf/issues/2634
Closes https://github.com/espressif/esp-idf/issues/3380
Fixes https://github.com/espressif/esp-idf/issues/3407
2019-06-20 16:40:58 +00:00
Angus Gratton 126b687c75 Merge branch 'refactor/vfs_uart_multichip_support' into 'master'
vfs_uart & uart: add multichip support

See merge request idf/esp-idf!5298
2019-06-20 18:31:24 +08:00
Angus Gratton 90008e3fd6 Merge branch 'feature/spi_driver_support_multi_chip' into 'master'
spi: multichip support

See merge request idf/esp-idf!5234
2019-06-20 16:45:06 +08:00
morris b395279196 Merge branch 'feature/esp32s2beta_fix_rtcio' into 'feature/esp32s2beta'
fix rtc bug in esp32s2beta

See merge request idf/esp-idf!5294
2019-06-20 13:42:37 +08:00
Michael (XIAO Xufeng) 0bbeb502a8 atomic: support for esp32s2beta 2019-06-20 12:06:52 +08:00
chenjianqiang cf2ba210ef uart: multichip support 2019-06-20 11:32:22 +08:00
fuzhibo f5a21845fd fix rtc bug in esp32s2beta 2019-06-20 11:26:21 +08:00
Michael (XIAO Xufeng) 5c9dc44c49 spi: multichip support
move hardcoded numbers, etc. into soc files.
create headers for shared types which needs to be documented.

(MINOR CHANGE)
2019-06-20 10:38:52 +08:00
suda-morris 3f7a571c90 fix errors when ci testing for esp32 2019-06-19 15:31:47 +08:00
Michael (XIAO Xufeng) 1138133a78 spi: fix a possible concurrency issue 2019-06-17 00:16:01 +00:00
fuzhibo 29ea0dec76 Driver: gpio and rtcio dirver update 2019-06-14 20:27:26 +08:00
David Cermak d127849d80 can: suppress clang tidy warning about nullptr dereference 2019-06-13 16:23:20 +02:00
Ivan Grokhotkov dcaae4a5fc esp32s2beta: convert some todos to warnings 2019-06-12 15:53:57 +08:00
suda-morris 4a79d750a5 clean up build warnings 2019-06-11 13:07:37 +08:00
Angus Gratton ddbd09eb15 esp32/esp32s2beta: Extract common SPIRAM options into esp_commmon component 2019-06-11 13:07:37 +08:00
suda-morris 82c27a39f2 can build and run hello-world app 2019-06-11 13:07:37 +08:00
suda-morris 84b2f9f14d build and link hello-world for esp32s2beta 2019-06-11 13:07:37 +08:00
suda-morris 91508ca27f add esp32s2beta in soc component 2019-06-11 13:06:32 +08:00
Angus Gratton 2331597ed2 Merge branch 'bugfix/ticks_to_wait_for_uart_and_i2c' into 'master'
driver: Fix ticks_to_wait for uart and i2c

Closes IDFGH-964

See merge request idf/esp-idf!5021
2019-06-11 08:41:44 +08:00
Konstantin Kondrashov ed22949847 driver: Add uart and i2c UTs to check ticks_to_wait in some functions 2019-06-05 10:38:23 +08:00
Angus Gratton 045aaf6fb0 Merge branch 'feature/add_xxx_periph_h' into 'master'
soc: Add xxx_periph.h for all modules

Closes IDF-192

See merge request idf/esp-idf!4952
2019-06-04 13:24:14 +08:00
Konstantin Kondrashov 355f209dba uart: Fix ticks_to_wait when 0 or expired
Closes: https://github.com/espressif/esp-idf/issues/3301

Closes: IDFGH-964
2019-06-04 11:50:54 +08:00
Konstantin Kondrashov 22a30e2740 i2c: Fix ticks_to_wait when 0 or time expired
Closes: https://github.com/espressif/esp-idf/issues/3301

Closes: IDFGH-964
2019-06-04 11:50:54 +08:00
Konstantin Kondrashov 399d2d2605 all: Using xxx_periph.h
Using xxx_periph.h in whole IDF instead of xxx_reg.h, xxx_struct.h, xxx_channel.h ... .

Cleaned up header files from unnecessary headers (releated to soc/... headers).
2019-06-03 14:15:08 +08:00
lenhart 920d35b5d0 Update i2c documentation
Description for i2c_slave_read_buffer had leftover from copying from write fct. data
pointer description described the wrong way (writing into internal buffer)

Closes https://github.com/espressif/esp-idf/pull/3268
2019-05-29 18:02:18 +05:30
Oleg Antonyan 4430456b64 Change SPI_USE_RXDATA->SPI_TRANS_USE_RXDATA and SPI_USE_TXDATA->SPI_TRANS_USE_TXDATA on documentation
Closes https://github.com/espressif/esp-idf/pull/2802
2019-05-29 18:02:18 +05:30
Jeroen Domburg 0e7442bb7a Merge branch 'feature/spi_slave_support_hal' into 'master'
spi_slave: add HAL support

See merge request idf/esp-idf!4830
2019-05-22 13:42:11 +08:00
Roland Dobai 0ae53691ba Rename Kconfig options (components/esp32) 2019-05-21 09:09:01 +02:00
Roland Dobai e9f1011b1b Rename Kconfig options (components/driver) 2019-05-21 09:09:01 +02:00
Michael (XIAO Xufeng) 33db6d608e spi_slave: add HAL support 2019-05-20 07:34:34 +00:00
Sachin Parekh e6a714480d unit-test-app: freertos_compliance config added
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh 5979086379 timer: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh 7f37824eb7 rtc_module: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh da41885e85 rmt: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
Sachin Parekh e9898b1280 periph_ctrl: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-05-13 16:39:19 +05:30
michael 0b523c2300 spi_master: fix the dual/quad io issue
introduced in f871cc5ffa

The issue is caused by

1. The hal didn't pass the io_mode to LL.
2. The setup_device function overwrite the trans-specific settings.
2019-04-27 01:36:47 +08:00
Angus Gratton a20d02b7f1 Merge branch 'feature/remove_dependency_to_soc' into 'master'
global: remove dependency to soc everywhere except driver and kernel components

See merge request idf/esp-idf!4678
2019-04-18 08:08:41 +08:00
Ivan Grokhotkov bb4f5617ab test: clean up "leaks" tags from most unit tests 2019-04-16 20:07:40 +08:00
Michael (XIAO Xufeng) 562af8f65e global: move the soc component out of the common list
This MR removes the common dependency from every IDF components to the SOC component.

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

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

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

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

and we have two kinds of depending ways:

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

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

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

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

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

The major broken include chain includes:

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

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

BREAKING CHANGE
2019-04-16 13:21:15 +08:00
Angus Gratton f871cc5ffa Merge branch 'feat/spi_hal_support' into 'master'
spi_master: refactor and add HAL support

See merge request idf/esp-idf!4159
2019-04-15 07:57:11 +08:00
Ivan Grokhotkov 7728f8755e Merge branch 'feat/example_sdio_over_spi' into 'master'
sdio: support SDIO over spi

See merge request idf/esp-idf!3069
2019-04-12 16:12:57 +08:00
Konstantin Kondrashov 5021129e71 Add support a [leaks] tag for UT 2019-04-12 09:31:23 +08:00
michael 8a364b4bdf sdmmc: support SDIO over SPI 2019-04-12 02:24:28 +08:00
Ivan Grokhotkov 7027d2dfe8 spi_master: compile as C11 due to use of stdatomic.h
stdatomic.h is available both in newlib and GCC include directories.
Normally (if you invoke the compiler without any flags) GCC include
directories are first on the list, so GCC’s stdatomic.h is used. In
IDF, we used to pass newlib include path as an extra include
directory, so newlib’s stdint.h got included instead.

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

Since we are no longer going to be including newlib headers into IDF,
GCC stdatomic will be used instead. Hence, add -std=gnu11 for source
files which use atomic features.
2019-04-10 13:48:57 +08:00
morris f5b03c9ea3 misc adjustment of esp32 component 2019-04-03 19:57:46 +08:00
Michael (XIAO Xufeng) af2fc96ee1 spi_master: refactor and add HAL support 2019-03-28 17:14:50 +08:00
morris a2f07b0806 move common include files from esp32 into esp_common 2019-03-26 11:57:03 +08:00
morris c159984264 separate rom from esp32 component to esp_rom
1. separate rom include files and linkscript to esp_rom
2. modefiy "include rom/xxx.h" to "include esp32/rom/xxx.h"
3. Forward compatible
4. update mqtt
2019-03-21 18:51:45 +08:00
Ivan Grokhotkov 106dc05903 Merge branch 'feature/specify_includes_belonging_esp32' into 'master'
move esp32 chip specific includes to esp32/xxx.h

See merge request idf/esp-idf!4534
2019-03-21 18:34:08 +08:00
Ivan Grokhotkov ce07a1057c Merge branch 'feature/make-debug-verbose-usable' into 'master'
logs: Make verbose and debug logging cleaner

Closes IDFGH-782

See merge request idf/esp-idf!4578
2019-03-21 18:29:50 +08:00
Per Malmberg 36c73e6d70 Easier use of -Wsign-conversion warnings needs changes.
Merges https://github.com/espressif/esp-idf/pull/3129
2019-03-21 15:08:04 +08:00
Anuj Deshpande 13cf867023 logs: Make verbose and debug logging cleaner
* Closes #3193
* Closes IDFGH-782

The logs that are deleted in this commit make debug and verbose mode
unusable.
2019-03-21 11:54:04 +05:30
Angus Gratton 34d118d445 Merge branch 'feature/optimized_gpio_intr_service' into 'master'
driver: Add optimization by speed in ISR functions for gpio, rmt, pcnt

Closes IDF-328

See merge request idf/esp-idf!4241
2019-03-20 14:19:17 +08:00
Ivan Grokhotkov 060cf9d6b4 Merge branch 'power_management/i2s+i2c' into 'master'
Power management/i2s+i2c

See merge request idf/esp-idf!4338
2019-03-19 17:27:59 +08:00
Ivan Grokhotkov f0a82d7185 driver/i2c: write i2c command structure to hardware in one operation
GCC compiler can generate 8-bit stores when modifying bitfields of
volatile structs (https://github.com/espressif/esp-idf/issues/597).
In the specific case of I2C driver, this resulted in byte_num field
to be written using s8i. However the peripheral requires 32-bit
writes, and ignores 8-bit writes. This change modifies the code to
compose the 32-bit command register value first, and then write the
complete value to the hardware.
2019-03-18 18:23:50 +08:00
morris 956c25dedd move esp32 chip specific includes to esp32/xxx.h 2019-03-18 17:14:05 +08:00
Sachin Parekh 4de5ae7468 PM: I2S and I2C added in the Power Management docs
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-03-18 08:21:21 +00:00
Sachin Parekh 7fc6445035 I2S: Enable Power Management locks
Acquires PM_APB_FREQ_MAX lock when carrying any transaction on I2S if
Power Management Framework is enabled.

Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-03-18 08:21:21 +00:00
Sachin Parekh d0234ad24a I2C: Enable Power Management locks
Acquires PM_APB_FREQ_MAX lock when carrying any transaction on I2C if
Power Management Framework is enabled.

Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-03-18 08:21:21 +00:00
Konstantin Kondrashov b1b5849c4c rmt/driver: Sped the rmt_driver_isr_default ISR
Used __builtin_ctz function to sped ISR.
2019-03-13 13:50:43 +00:00
Konstantin Kondrashov 3307735bc0 pcnt/driver: Sped the pcnt_intr_service ISR
Used __builtin_ctz function to sped ISR.
2019-03-13 13:50:43 +00:00
Pieter du Preez b8dc48ab18 gpio/driver: Sped the gpio_intr_service ISR up by 1.5 uSeconds (+-50% faster).
Removed as much branching (if statements) from the
gpio_intr_service ISR, as possible and split the while loop into
two. Also forced writing the two status*_w1tc variables only once,
instead of every time after calling the external function hooks.

The measurements below, was done using the following tools:

Toolchain version: crosstool-ng-1.22.0-80-g6c4433a
Compiler version: 5.2.0

Here follows a comparison of the gpio_intr_service ISR's
execution time, using a DS1054 oscilloscope. All the time spent
calling external functions, via the function pointers
gpio_isr_func[gpio_num].fn, were disregarded.

With OPTIMIZATION_FLAGS = -Og, 1.34 uSeconds faster:

3.22 uSec (with this patch)
4.56 uSec (with commit 71c90ac4)

100 - (100 * 4.56 / 3.22) = 42% faster

With OPTIMIZATION_FLAGS = -Os, 1.65 uSeconds faster:

2.89 uSec (with this patch)
4.54 uSec (with commit 71c90ac4)

100 - (100 * 4.54 / 2.89) = 57% faster

Signed-off-by: Konstantin Kondrashov <konstantin@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/2861
2019-03-13 13:50:43 +00:00
Ivan Grokhotkov 7541d23523 Merge branch 'feat/spi_master_variable_dummy' into 'master'
spi_master: add support for variable dummy length in a same device

See merge request idf/esp-idf!4360
2019-03-13 15:15:58 +08:00
Ivan Grokhotkov e77540b695 Merge branch 'test/spi_sio_test' into 'master'
spi: add test for sio mode

See merge request idf/esp-idf!3416
2019-03-13 15:15:43 +08:00
He Yin Ling 8f3fe52b5a test: temp disable spi master slave mode test 2019-03-10 06:21:37 +00:00
Ivan Grokhotkov dace2d6bc5 Merge branch 'bugfix/uart_fix_critical_section_api_from_isr' into 'master'
uart: use correct critical section API from ISR context

See merge request idf/esp-idf!4301
2019-03-04 16:24:22 +08:00
michael 12a6664afa spi test: describe the wiring of param test in the comments 2019-02-28 19:43:58 +08:00
Mahavir Jain e9652e8ef3 uart: use correct critical section API (portENTER_CRITICAL_ISR) from ISR context 2019-02-27 08:36:47 +00:00
michael b812520b19 spi_master: add support for variable dummy length in a same device
Resolves https://github.com/espressif/esp-idf/issues/2741
2019-02-27 02:13:33 +08:00
Angus Gratton 3952d25a99 Merge branch 'feature/add_api_get_rmt_idle_level' into 'master'
feature(rmt):  fixed some RMT related issues.

See merge request idf/esp-idf!3864
2019-02-26 11:57:10 +08:00
Angus Gratton ca72c3e97b Merge branch 'bugfix/fix_dig_gpio_unable_hold_bug' into 'master'
bugfix(gpio):  fixed digital gpio unable hold bug during deep-sleep.

See merge request idf/esp-idf!3877
2019-02-26 11:56:27 +08:00
Angus Gratton 280d39aedd Merge branch 'bugfix/i2s_pdm_adc_use_apll' into 'master'
bugfix(i2s): allow to use apll in pdm/adc/dac mode

See merge request idf/esp-idf!3800
2019-02-26 11:47:49 +08:00
Angus Gratton b966ef9fcd Merge branch 'bugfix/update_ledc_register_and_fix_fade_scale' into 'master'
Bugfix (ledc):  Fixed ledc fade scale  bug

See merge request idf/esp-idf!4109
2019-02-26 11:46:28 +08:00
Darian Leung 099b83af67 CAN: Add functions to clear queues and fix multiple bugs
This commits adds the functions can_clear_transmit_queue() and
can_clear_receive_queue(). Closes #2906

The following bug are fixed:

- CAN_IO_UNUSED is now explicitly cast to enum type. Closes #2825
- Fix multiple documentation errors. Closes #2898, Closes #2794
- can_reconfigure_alerts() returns incorrect current_alerts. Closes #3028
- Add missing header file. Closes #3065
2019-02-18 21:31:33 +08:00
Michael (XIAO Xufeng) 86bcd56109 spi: fix the bug of connecting SPI peripheral to read-only pins
The requirements of pin capabilites is different for spi master and
slave.  The master needs CS, SCLK, MOSI to be output-able, while slave
needs MISO to be output-able.

Previous code is for master only.

This commit allows to place other 3 pins than MISO on input-only pins
for slaves. Refactoring for spi_common is also included.

Resolves https://github.com/espressif/esp-idf/issues/2455
2019-02-16 20:03:14 +08:00
michael 2dc3c61114 test: add unit test for spi sio mode 2019-01-30 20:57:26 +08:00
michael 305354d0a2 test: change spi test host to macros 2019-01-30 20:57:25 +08:00
Roland Dobai 37126d3451 Correct Kconfigs according to the coding style 2019-01-29 13:37:01 +01:00
michael 41e58bc419 spi: add new test for timing and mode
New unit tests added
------------------------

**Local:** Local test uses the GPIO matrix to connect the master and the
slave on the same board. When the master needs the iomux, the master
uses the GPIOs of its own, the slave connect to the pins by GPIO matrix;
When the slave needs the iomux, the slave uses the GPIOs of its own, the
master connects to the pins by GPIO matrix.

- Provide a new unit test which performs freq scanning in mode 0. It
scans frequency of 1M, 8M, 9M and all frequency steps up to the maximum
frequency allowed.

**M & S**: Master & slave tests performs the test with two boards. The
master and slave use iomux or gpio matrix according to the config.

- Provide a new unit test which performs freq scanning in mode 0. It
scans frequency of 1M, 8M, 9M and all frequency steps up to the maximum
frequency allowed.

- Provide a new unit test which performs mode test with significant
frequencies. It tests mode 0,1,2,3 with low frequency, and the maximum
frequency allowed.
2019-01-26 00:10:41 +08:00
Michael (XIAO Xufeng) 155006243e spi_master: fix the timing a little so that can assign delay half clock manually 2019-01-26 00:10:41 +08:00
michael 58955a79a2 spi_slave: improve the timing configuration
SPI Slave
===========

- Correct the configuration of mode 0~3 using new config in the TRM
- Split the workaround for DMA in mode 0/2 out of normal config, to make it clear.
- Update timing and speed document for the SPI slave.

Resolves https://github.com/espressif/esp-idf/issues/1346, https://github.com/espressif/esp-idf/issues/2393
2019-01-26 00:10:41 +08:00
michael d9c5016e08 test: add new test framework for different configurations
Paremeterized Test Framework
-----------------------------

The SPI has a lot of parameters, which works in the same process.
This framework provides a way to easily test different parameter sets.
The framework can work in two different ways:

- local test: which requires only one board to perform the test - master
& slave test: which generates two sub test items which uses the same
config set to cooperate to perform the test.

The user defines a (pair if master/slave) set of init/deinit/loop
functions. Then the test framework will call init once, then call loop
several times with different configurations, then call deinit.

Then a unit test can be appended by add a parameter group, and pass it into
a macro.
2019-01-26 00:10:41 +08:00
Wangjialin d518a19d95 driver(ledc): fix ledc fade API and update the register header file
1. fix error when fading is too fast
2. fix error when setting duty and update immediately
3. update register header file to be in accord with TRM

closes https://github.com/espressif/esp-idf/issues/2903
2019-01-12 00:56:38 +08:00
kooho 919a36b6b5 driver(gpio): fixed digital gpio unable hold bug during deep-sleep. 2018-12-18 17:04:12 +08:00
Paul Abbott be567d3eb5 driver(rmt): Fixed some RMT related issues.
1. Add missing get function to RMT API: rmt_get_idle_level().
2. Suppress error message from rmt_wait_tx_done() if wait_time==0 (allows for polling).
3. Remove the blank lines between parameter lists.

Merges https://github.com/espressif/esp-idf/pull/2666
2018-12-18 13:32:39 +08:00
kooho e22c0cce45 driver(timer_group): fixed bug that init hw_timer caused cresh after system soft reset
closes https://github.com/espressif/esp-idf/issues/2756
2018-12-18 13:10:15 +08:00
Anton Maklakov 81bf07ed4d test: Fix some unused identifier warnings 2018-12-10 12:34:16 +08:00
Jeroen Domburg d6ee27e313 Merge branch 'feat/spi_check_length_buffer' into 'master'
spi: add checks for slave buffer valid and master length

See merge request idf/esp-idf!3744
2018-12-04 11:48:32 +08:00
Wangjialin 924daf7b84 bugfix(i2c): reduce speed of I2C master bus reset routine and release SDA
closes https://github.com/espressif/esp-idf/issues/2494
closes https://github.com/espressif/esp-idf/pull/2493
closes https://github.com/espressif/esp-idf/pull/2496

1. Change bus reset to handle interrupted READ sequences.
2. Slow down I2C to 100khz during reset
3. If a SLAVE device was in a read operation when the bus was interrupted, the SLAVE device is controlling SDA.The only bit during the 9 clock cycles of a byte READ the MASTER(ESP32) is guaranteed control over, is during the ACK bit period.
If the SLAVE is sending a stream of ZERO bytes, it will only release SDA during the ACK bit period. The master(ESP32) cannot generate a STOP unless SDA is HIGH. So, this reset code synchronizes the bit stream with, Either, the ACK bit, Or a 1 bit.
2018-11-30 10:08:28 +08:00
chuck todd e55f9c1e98 1. Slow down I2C to 100khz During Reset
I am stealing this delay coding from @jeremyherbert #2493 pr.

2. Change Bus Reset to handle interrupted READ sequences.

The current code does not handle interrupted READ cycles.

 If a SLAVE device was in a read operation when the bus was interrupted, the SLAVE device is controlling SDA.

The only bit during the 9 clock cycles of a byte READ the MASTER(ESP32) is guaranteed control over, is during the ACK bit period.

If the SLAVE is sending a stream of ZERO bytes, it will only release SDA during the ACK bit period. The master(ESP32) cannot generate a STOP unless SDA is HIGH.

So, this reset code synchronizes the bit stream with, Either, the ACK bit, Or a 1 bit.

3. fix typo

correct `sda_id` to `sda_io` in `i2c_master_clear_bus()` @ryan-ma found it.  This typo was generated when I manually edited this patch on GitHub, I should have done a Copy/Paste operation!
2018-11-30 10:08:28 +08:00
jeremy 34c1d25c7f reduce speed of i2c master bus reset routine and release sda 2018-11-30 10:08:28 +08:00
morris 2b165f99c4 i2c_tool: add i2c_tool example test
1. add example test for i2c-tools
2. make command line arguments number configurable
2018-11-30 10:08:28 +08:00
houchenyao 147447b13e test: components/driver: i2c case 2018-11-29 18:27:58 +08:00
He Yin Ling add7c49a26 Merge branch 'test/driver_i2s' into 'master'
component/driver:add i2s case

See merge request idf/esp-idf!2117
2018-11-29 14:41:09 +08:00
Wang Jia Lin 62cc522f36 Merge branch 'feature/rmt_add_api_get_free_channel' into 'master'
feature(rmt):   Add API get rmt channel's status.

See merge request idf/esp-idf!2440
2018-11-29 11:59:39 +08:00
houchenyao 44fdca94e9 test: components/driver: i2s case 2018-11-29 11:32:40 +08:00
Wang Jia Lin cc5673435b Merge branch 'bugfix/fix_uart_read_bug_when_using_dual_core' into 'master'
bugfix(uart): fix uart read error bug when using dual core.

See merge request idf/esp-idf!3521
2018-11-28 16:17:13 +08:00
kooho da223fad4e driver(rmt): Add API get rmt channel's status.
closes https://github.com/espressif/esp-idf/issues/1175
closes https://github.com/espressif/esp-idf/issues/2599
closes https://github.com/espressif/esp-idf/issues/2452
2018-11-28 07:20:45 +00:00
He Yin Ling 19910c8729 Merge branch 'test/driver_mcpwm' into 'master'
test/mcpwm_case

See merge request idf/esp-idf!1831
2018-11-28 13:56:05 +08:00
Wang Jia Lin 70554e8caa Merge branch 'doc/uart_lightsleep_wakeup_doc' into 'master'
doc(uart):  update the comment of uart_set_wakeup_threshold

See merge request idf/esp-idf!3556
2018-11-28 11:35:56 +08:00
houchenyao 11faab2c5d test: components/driver: pwm case 2018-11-28 10:42:32 +08:00
kooho a9c1124763 driver(uart): fixed uart read error bug when using dual core.
closes https://github.com/espressif/esp-idf/issues/2204
2018-11-27 20:53:26 +08:00
Wangjialin 4b34ae1258 bugfix(i2s): allow to use apll in pdm/adc/dac mode
1. Allow to use apll in pdm mode
2. Add clock frequency configuration for PDM mode
3. Allow to use apll in ADC/DAC mode
2018-11-27 18:41:20 +08:00
michael cfba157fdd spi_slave: add valid check for DMA buffers
The DMA cannot receive data correctly when the buffer address is not
WORD aligned. Currently we only check whether the buffer is in the DRAM
region.

The DMA always write in WORDs, so the length arguments should also be
multiples of 32 bits.

A check is added to see whether the buffer is WORD aligned and has valid
length.
2018-11-26 03:49:26 +00:00
michael 435adaa22a spi_master: add check for trans len
The driver decide whether use MOSI/MISO phases according to the buffer
address together with the SPI_TRANS_USE_*DATA. However someone may assue
that these phases will be skipped when the ``length``/``rxlength`` is
set to 0. In fact it is a feature that ``rxlength`` is allowed to be
set to 0 when tx and rx have the same length, and the driver fill the
``rxlength`` to ``length``.

An error check is added when the rxlength is 0 but there is data to be
sent.
2018-11-26 03:49:26 +00:00
Mahavir Jain 765bf674d0 i2s: add (optional) support to clear tx descriptor in underflow case
It has been observed that, in case of underflow (data unavailability) in
I2S transmission, previously filled up tx descriptors continue to get
transmitted on line, causing noise in case of audio use case.

This change adds optional `tx_desc_auto_clear` field during I2S driver intialization
than can zero initialize tx descriptor in case of underflow situation in
interrupt handler itself.

Closes: https://github.com/espressif/esp-idf/issues/1789
2018-11-23 14:31:09 +05:30
kooho 33138a3dec driver(i2c): enable I2C master hardware filter by default. 2018-11-23 10:27:59 +08:00
Michael (XIAO Xufeng) 8cddfa35b8 spi: fix the crash when callbacks are not in the IRAM
Introduced in 9c23b8e5 and 4f87a62f. To get higher speed, menuconfig
options are added to put ISR and other functions into the IRAM.  The
interrupt flag ESP_INTR_FLAG_IRAM is also mistakenly set when the ISR is
put into the IRAM. However callbacks, which are wrote by the user, are
called in the master and slave ISR. The user may not be aware of that
these callbacks are not disabled during flash operations. Any cache miss
during flash operation will cause panic.

Essentially IRAM functions and intrrupt flag ESP_INTR_FLAG_IRAM are
different, the latter means not disabling the ISR during flash
operations.  New bus_config flag intr_flags is offered to help set the
interrupt attribute, including priority level, SHARED, IRAM (not
disabled during flash operations).  It introduced a small BREAK to
IDFv3.1 (but the same as IDFv3.0) that the user has to manually set IRAM
flag now (therefore he's aware of the IRAM thing) to void the ISR being
disabled during flash operations.
2018-11-20 13:07:13 +08:00
Ivan Grokhotkov a46b884a14 Merge branch 'feature/unit_test_example' into 'master'
Move Unity into components, add unit test example

See merge request idf/esp-idf!3562
2018-11-19 18:35:54 +08:00
Ivan Grokhotkov 6091021e83 unity: separate common and IDF specific functionality
New unity component can be used for testing other applications.
Upstream version of Unity is included as a submodule.
Utilities specific to ESP-IDF unit tests (partitions, leak checking
setup/teardown functions, etc) are kept only in unit-test-app.
Kconfig options are added to allow disabling certain Unity features.
2018-11-19 12:36:31 +08:00
michael 26626dfbf2 spi: add documents explicitly showing the executing core of the ISR
It is an ESP specific FreeRTOS feature that the ISR is always executed
on the core which calls the interrupt register function. In the SPI
driver, the function is always called in the bus initialization
function.

Hence, the ISR will be executed on the core which initialize the driver.

If the core is starved due to higher priority ISRs, or the interrupt is
disabled on the core (spinlock called, etc.), the ISR will not get
executed and SPI transactions will not be handled.

(MINOR CHANGE)

Resolves https://github.com/espressif/esp-idf/issues/2432.
2018-11-13 11:49:31 +08:00
michael a52ab8ca87 spi_master: modify the error msg a little when over freq limit
The MISO signal will be delayed if the GPIO matrix is enabled.
However, delay also comes from the slave.

Previous code only considers the former case, and assume the frequency
limitations is only violated when GPIO matrix is used.

Now we are able to calculate the freq limit when extenal MISO delay is
given (feature introduced in 9c6c6ec34ab0641ace89aeb9b1a133eb6fae1a18).
The frequency limit is lower when the external MISO delay is large, and
the limit is likely to be violated even with IOMUX.

Resolves https://github.com/espressif/esp-idf/issues/2690.
2018-11-13 11:49:31 +08:00
Ivan Grokhotkov 621e316725 Merge branch 'feat/psram_support_hspi' into 'master'
esp32: support to use hspi to output clock for 4M psram

See merge request idf/esp-idf!3377
2018-11-06 20:34:41 +08:00
kooho ea963c480c driver(uart):update the comment of uart_set_wakeup_threshold
closes https://github.com/espressif/esp-idf/issues/2627
2018-11-05 13:09:12 +08:00
Konstantin Kondrashov 8bba348528 aes/sha/mpi: Bugfix a use of shared registers.
This commit resolves a blocking in esp_aes_block function.

Introduce:
The problem was in the fact that AES is switched off at the moment when he should give out the processed data. But because of the disabled, the operation can not be completed successfully, there is an infinite hang. The reason for this behavior is that the registers for controlling the inclusion of AES, SHA, MPI have shared registers and they were not protected from sharing.

Fix some related issue with shared using of AES SHA RSA accelerators.

Closes: https://github.com/espressif/esp-idf/issues/2295#issuecomment-432898137
2018-11-05 04:22:47 +00:00
Michael (XIAO Xufeng) 9b5d0f3322 spi: shown owner of spi host explicitly 2018-10-29 20:22:44 +08:00
Michael (XIAO Xufeng) 90d229eb6d spi_master: speed up polling performance by putting into IRAM 2018-10-25 12:31:45 +08:00
Michael (XIAO Xufeng) d0361a32d7 test: fix the IRAM type conflict issue using heap_caps_malloc 2018-10-25 12:31:44 +08:00
Angus Gratton 38bd836d05 Merge branch 'feature/cmake-unit-test' into 'master'
cmake: add unit tests build support

See merge request idf/esp-idf!3003
2018-10-22 16:29:15 +08:00
Anton Maklakov e3fce506b8 test_spi_slave: fix warnings about unused identifiers 2018-10-21 15:11:45 +08:00
Renz Bagaporo cc774111bf cmake: Add support for test build 2018-10-20 12:07:24 +08:00
Ivan Grokhotkov 0663ab7609 Merge branch 'feature/uart_rs485_test' into 'master'
driver: rs485 test support

See merge request idf/esp-idf!2701
2018-10-19 13:05:55 +08:00
Angus Gratton 159ff6e08e unit tests: Only initialise tcpip_adapter() when needed by the test
Prevents unexpected memory allocations when running tests which
don't require tcpip_adapter.
2018-10-17 22:53:46 +00:00
Alex Lisitsyn 5b7b64b946 driver: rs485 test support (remove timeout tag)
Adds test functionality with TEST_CASE_MULTIPLE_DEVICES() macro for RS485 test support.
2018-10-17 12:47:12 +02:00
Alex Lisitsyn 61bc733791 driver: rs485 test support
Adds test functionality with TEST_CASE_MULTIPLE_DEVICES() macro for RS485 test support.
2018-10-17 12:45:56 +02:00
Krzysztof Budzynski cd5f8bcf74 MCPWM API doc update 2018-10-10 08:15:23 +08:00
Angus Gratton 05c510b44e Merge branch 'test/spi_slave_psram_disable' into 'master'
test: disable the spi slave startup test when psram is enabled

See merge request idf/esp-idf!3373
2018-10-08 16:28:41 +08:00
michael 6b180f70ac test: modify the command/address test a bit to test the LSBFIRST feature 2018-10-04 15:03:26 +08:00
michael e5ed450d95 spi: move gpio direction config to common func for coinsistence
(MINOR CHANGE)
2018-10-04 14:57:31 +08:00
Michael (XIAO Xufeng) 2600f43822 spi_master: fix the command and address field when LSB_FIRST enabled
Resolves https://github.com/espressif/esp-idf/issues/2444.
2018-10-04 14:57:30 +08:00
michael f4d4183000 test: disable the spi slave startup test when psram is enabled 2018-09-26 17:55:37 +08:00
michael d4071a7c19 sdio_slave: fix the ret_queue crash issue when being reset by the master 2018-09-25 20:30:25 +08:00
Michael (Xiao Xufeng) 4af51833f3 spi_master: add new polling mode to decrease time cost each transaction 2018-09-20 19:46:46 +08:00
Mahavir Jain 152043d469 esp_ringbuf: move ringbuf to seperate component
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-09-17 17:04:57 +05:30
Angus Gratton 62c3218981 Merge branch 'fix/spi_slave_free_cs' into 'master'
spi_slave: fix the issue rx dma get broken by master unexpected transaction

See merge request idf/esp-idf!3207
2018-09-13 13:50:56 +08:00
Angus Gratton 500ee99219 Merge branch 'bugfix/fix_mcpwm_api_mismatch_bug' into 'master'
driver(mcpwm): Fix  some mcpwm related bug

See merge request idf/esp-idf!2510
2018-09-12 14:59:02 +08:00
Renz Christian Bagaporo d9939cedd9 cmake: make main a component again 2018-09-11 09:44:12 +08:00
michael 8f88a81f30 sdio_slave: fix the recv crash when trans finish and load at the same time 2018-09-10 13:06:54 +08:00
He Yin Ling 6f5820814f Merge branch 'test/driver_case_review' into 'master'
Test/driver case review

See merge request idf/esp-idf!3206
2018-09-07 16:48:59 +08:00
Angus Gratton 4eeed31a04 Merge branch 'feature/cmake' into 'master'
Merge experimental CMake support to master

See merge request idf/esp-idf!3024
2018-09-07 13:44:17 +08:00
michael 2d748b5d38 spi_slave: fix the issue rx dma get broken by master unexpected transaction 2018-09-07 12:04:55 +08:00
houchenyao 0cfed0b79b rmt test: add the case for bug in github[#1815] 2018-09-06 19:43:30 +08:00
houchenyao 47fcdeaa0b rmt test: add case test test the bug of re-install problem
add pending bug case:rmt_tx_stop function cause the re-install fail when rmt_config_t.tx_config.loop_en==true
2018-09-06 19:43:30 +08:00
houchenyao 09dd1034de rmt test: add case to check memory block.
add RMT channel num and memory block relationship test case to check the memory block range is used in right way.
2018-09-06 19:43:30 +08:00
houchenyao 836d01dcea ledc test: ignore one case.
a bug caused by pcnt. it will fail randomly caused by PCNT bug. It will open when PCNT problem is resolved
2018-09-06 19:43:30 +08:00
houchenyao f647ea81cc pcnt test: ignore pcnt two test cases
a bug caused by pcnt. these two cases has about 10% fail ratio. they fail randomly in CI. stress test needed. they are ignored until this bug fixed.
2018-09-06 19:42:20 +08:00
houchenyao 22ac8cf424 ledc test: test low speed mode frequency.
remove the comment to test the scenario that ledc in low speed mode frequency can be changed, to make sure the bug has been resolved
2018-09-06 17:44:39 +08:00
houchenyao 98c868ff09 gpio test: add GPIO multi-level interrupt test
add case to test the bug of v3.0. If we trigger the level interrupt more than once, will cause the interrupt be triggered many times
2018-09-06 17:43:23 +08:00
Ivan Grokhotkov 002d913ab6 uart: add function to set light sleep wakeup threshold 2018-09-06 15:40:46 +08:00
Ivan Grokhotkov 1c5522575e driver/gpio: support wakeup function for RTC IOs 2018-09-06 15:40:46 +08:00
Angus Gratton b355854d4d Merge branch 'master' into feature/cmake 2018-09-05 10:35:04 +08:00
Ivan Grokhotkov 97b2281c49 Merge branch 'bugfix/can_driver_multiple_bugs' into 'master'
CAN: Add pm_lock, fix gpio bug, update docs

See merge request idf/esp-idf!3138
2018-09-04 20:34:06 +08:00
Darian Leung dc3fa14a26 CAN: Add pm_lock, fix gpio bug, update docs
This commit does the following

- Add power management lock to CAN driver so that APB frequency does not change
whilst CAN driver is in use
- Fix incorrect flag in can_transmit()
- Refactor can_driver_install() and can_driver_uninstall() so that critical sections
are shorter
- Fix CAN gpio configuration bug on RX pin. Closes #2302
- Add docs about multiple ID configuration and fix example links
2018-09-01 02:46:05 +08:00
Angus Gratton 5fbfd20f10 Merge branch 'master' into feature/cmake 2018-08-30 18:52:31 +08:00
Angus Gratton a9c4ed7139 Merge branch 'master' into feature/cmake 2018-08-30 18:51:01 +08:00
Ivan Grokhotkov 78fab8a0f9 sdmmc: implement partial DDR support
Works for 3.3V eMMC in 4 line mode.
Not implemented:
- DDR mode for SD cards (UHS-I) also need voltage to be switched to 1.8V.
- 8-line DDR mode for eMMC to be implemented later.
2018-08-30 13:11:54 +08:00
Ivan Grokhotkov de42d99b1d sdmmc: command layer refactoring 2018-08-30 13:11:54 +08:00
sergiu2014 383464749a eMMC/MMC support for ESP32
Merges https://github.com/espressif/esp-idf/pull/1941
Previous work in https://github.com/espressif/esp-idf/pull/590
2018-08-30 11:36:28 +08:00
Ivan Grokhotkov 80e47a005d sdmmc host: minor cleanup
Code style, comments
2018-08-30 11:36:28 +08:00
Ivan Grokhotkov 9ba5896d86 driver, ethernet: fix non-static inline functions
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81734
2018-08-29 12:49:15 +08:00
Ivan Grokhotkov fc0c110efd driver: test: fix memset out of bounds in spi_master test 2018-08-29 12:49:15 +08:00
Michael (XIAO Xufeng) 4f87a62f18 spi_slave: add new menuconfig item to decide whether spi slave should be put into IRAM 2018-08-23 05:21:49 +00:00
Michael (XIAO Xufeng) e3557b57be spi: fix the issue that spi cannot be used when flash is disabled
The dma configuration function called in the ISR should be put into the IRAM.

Fixes https://github.com/espressif/esp-idf/issues/2307.
2018-08-23 05:21:49 +00:00
Jeroen Domburg 4eb28b9ace Merge branch 'feature/spi_burst_desc' into 'master'
spi_master: change to DMA burst mode when access descriptors

See merge request idf/esp-idf!2824
2018-08-21 16:54:38 +08:00
michael 404e99965d spi_master: change high part config to allow transactions of 64 bytes 2018-08-16 18:55:09 +08:00
Angus Gratton ff2404a272 Merge branch 'master' into feature/cmake 2018-08-16 17:14:17 +10:00
Ivan Grokhotkov 8739111218 Merge branch 'bugfix/gpio_reset_bitmask' into 'master'
gpio: Bitmask overflow fix in gpio_reset_pin

See merge request idf/esp-idf!2966
2018-08-10 17:35:26 +08:00
Michael (XIAO Xufeng) 203ceed1e7 spi_master: change to DMA burst mode when access descriptors 2018-08-08 13:56:01 +00:00
Taavi Hein f7749e18a8 gpio: Bitmask overflow fix in gpio_reset_pin
For pins 32 and up the BIT(nr) macro used here overflowed,
causing undetermined GPIO pins to be reset.
Example: freeing SPI device/bus where CS is on pin 33
caused debug UART to cease communication, TXD0 was
disabled.

Fixed as BIT64(nr) macro, to be used elsewhere as needed.
For example in definitions like GPIO_SEL_32..GPIO_SEL_39.
2018-08-08 15:31:17 +03:00
Angus Gratton a53a5eeabd Merge branch 'bugfix/add_mutex_for_some_touchpad_apis' into 'master'
fix(touch): add_mutex_for_some_touchpad_apis

See merge request idf/esp-idf!2714
2018-08-08 16:28:28 +08:00
Angus Gratton 5f56f2ca01 Merge branch 'feature/nvs_version_check' into 'master'
nvs_flash: Version compatibility check for nvs storage

See merge request idf/esp-idf!2855
2018-08-07 13:31:49 +08:00