Commit graph

667 commits

Author SHA1 Message Date
Darian Leung 0caa96584c CAN: Fix critical section compliance
This commit makes the CAN driver ISR use the ISR version
of critical section.
2019-11-01 12:05:12 +08:00
Jiang Jiang Jian f0855c85ad Merge branch 'bugfix/can_reset_mode_entry_backport_v3.3' into 'release/v3.3'
Bugfix/can reset mode entry backport v3.3

See merge request espressif/esp-idf!6513
2019-10-29 14:41:52 +08:00
Darian Leung bf877941c4 can: Fix reset mode entry and exit calls
This commit fixes multiple bugs caused by incorrect calls to
can_enter_reset_mode() and can_exit_reset_mode. Example test
scripts also updated to match new runners.
2019-10-28 14:47:32 +08:00
Darian Leung f9a51fc784 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-28 13:10:00 +08:00
Angus Gratton c9f1cb2f4c Merge branch 'bugfix/ticks_to_wait_for_uart_and_i2c_v3.3' into 'release/v3.3'
driver: Fix ticks_to_wait for uart and i2c (v3.3)

See merge request espressif/esp-idf!5247
2019-10-22 13:18:24 +08:00
Konstantin Kondrashov f2dfb0cf70 driver: Add uart and i2c UTs to check ticks_to_wait in some functions 2019-10-21 07:32:25 +00:00
Konstantin Kondrashov 03aef3c087 i2c: Fix ticks_to_wait when 0 or time expired
Closes: https://github.com/espressif/esp-idf/issues/3301

Closes: IDFGH-964
2019-10-21 07:32:25 +00:00
Ivan Grokhotkov fd22441494 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-18 11:27:27 +02:00
Angus Gratton 0a0f2caa1d Merge branch 'bugfix/reset_periph_modules_v3.3' into 'release/v3.3'
driver: Add a reset before enabling if a module is off (v3.3)

See merge request espressif/esp-idf!6016
2019-10-18 13:35:09 +08:00
Konstantin Kondrashov 2165154c04 rmt/driver: Add module reset before enabling 2019-10-11 19:13:44 +08:00
Konstantin Kondrashov 46e918cfa1 pcnt/driver: Add module reset before enabling 2019-10-11 19:13:44 +08:00
Konstantin Kondrashov 051d2fbdd5 sdmmc_host/driver: Add module reset before enabling 2019-10-11 19:13:44 +08:00
Konstantin Kondrashov 41f91d3ef6 i2s/driver: Add module reset before enabling 2019-10-11 19:13:44 +08:00
Konstantin Kondrashov ffce53449b can/driver: Add module reset before enabling 2019-10-11 19:13:44 +08:00
Konstantin Kondrashov 7314f44b13 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-10-11 19:13:44 +08:00
Sachin Parekh f3fd849da1 PM: I2S and I2C added in the Power Management docs
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-10-09 11:37:33 +00:00
Sachin Parekh 7a2bd81870 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-10-09 11:37:33 +00:00
Sachin Parekh 2b6f7697b9 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-10-09 11:37:33 +00:00
Martin Thierer d7e257d8ba spi: Put argument of macro SPI_SWAP_DATA_TX/RX in parentheses
Close https://github.com/espressif/esp-idf/pull/3996
2019-09-16 17:34:14 +08:00
Jiang Jiang Jian 4aea2dce15 Merge branch 'fix/sdio_slave_reset_infloop_leak_3.3' into 'release/v3.3'
sdio_slave: fix the send_flush infinite loop issue (backport v3.3)

See merge request espressif/esp-idf!5836
2019-09-08 23:13:41 +08:00
redchenjs 3451f3526f Bugfix(i2s): fixed i2s left/right channels swapped issue for release/v3.3.
The right channel data is in the high position, so the I2S_TX_MSB_RIGHT & I2S_RX_MSB_RIGHT bits should be set.
2019-08-28 19:24:17 +08:00
Michael (XIAO Xufeng) 7b3bedbc10 sdio_slave: fix the send_flush infinite loop issue
Also add some helper functions.
2019-08-20 16:25:58 +08:00
Angus Gratton f2f5a237c0 Merge branch 'bugfix/gpio_intr_enable_bug_v3.3' into 'release/v3.3'
bugfix(GPIO):  Fixed GPIO interrupt bug for v3.3

See merge request espressif/esp-idf!5650
2019-08-12 13:00:15 +08:00
kooho 0929dbbc9b bugfix(GPIO): Fixed the bug that GPIO enables interrupts on one core,
but registers interrupt service routines on another core for release/v3.3
2019-08-06 03:20:11 +00:00
Vikram Dattu b800dfe6f1 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-08-05 05:34:11 +00:00
Ivan Grokhotkov de7a50dca0 Merge branch 'bugfix/i2s_apll_clock_fix_v3.3' into 'release/v3.3'
driver/i2s: fix apll_clock_rate for different sample rates (v3.3)

See merge request espressif/esp-idf!5448
2019-07-17 14:33:59 +08:00
kooho 40171d7307 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
2019-07-09 14:56:26 +08:00
Ajita Chavan 13e6e9f592 i2s: test case for variation in apll clock rate 2019-07-04 18:27:12 +05:30
redchenjs cfc73a6de7 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-07-04 18:24:37 +05:30
Sachin Parekh ae1389afd9 unit-test-app: freertos_compliance config added
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-06-25 04:33:32 +00:00
Sachin Parekh 28a8349fb8 timer: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-06-25 04:33:32 +00:00
Sachin Parekh 4acc941c3d rtc_module: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-06-25 04:33:32 +00:00
Sachin Parekh 4ae01f0c9d rmt: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-06-25 04:33:32 +00:00
Sachin Parekh 2c4e0cf878 periph_ctrl: port*_CRITICAL vanilla FreeRTOS compliance
Signed-off-by: Sachin Parekh <sachin.parekh@espressif.com>
2019-06-25 04:33:32 +00:00
Michael (XIAO Xufeng) 1d2a9efa55 spi: fix a possible concurrency issue 2019-06-19 12:44:24 +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
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
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