Michael (XIAO Xufeng)
934f99710b
Merge branch 'bugfix/fix_uart_fake_tx_done_v4.2' into 'release/v4.2'
...
uart: Fix unwanted processing of TX_DONE interrupt immediately after calling uart_wait_tx_done() (backport v4.2)
See merge request espressif/esp-idf!20315
2022-10-31 16:16:46 +08:00
Cao Sen Miao
9a59ed4b7a
I2C: patch for solving watchdog timeout issue
2022-10-10 11:05:25 +08:00
Song Ruo Jing
0f051a5e3b
uart: Fix unwanted processing of TX_DONE interrupt immediately after calling uart_wait_tx_done()
...
In previous transmission(s), the TX_DONE interrupt raw bit may be raised, but never been cleared.
TX_DONE interrrupt status bit should be cleared before enabling it to check the new transmission.
Introduced in 239e56541c
2022-09-23 16:24:30 +08:00
morris
04f2766b3e
Merge branch 'bugfix/fix_spi_bus_lock_concurrency_issue_v4.2' into 'release/v4.2'
...
spi_bus_lock: fix a concurrency issue (v4.2)
See merge request espressif/esp-idf!20140
2022-09-22 13:30:47 +08:00
morris
949d7da779
Merge branch 'bugfix/driver_rs485_fix_test_sync_issues_v42' into 'release/v4.2'
...
driver: uart rs485 fix test sync issues and fail threshold (backport v4.2)
See merge request espressif/esp-idf!19615
2022-09-15 15:23:21 +08:00
Alex Lisitsyn
3c67e26dce
driver: uart rs485 fix test sync issues and fail threshold (backport v4.2)
2022-09-15 15:23:21 +08:00
Armando
19098d3eb0
SPI_BUS_LOCK: fix a concurrency issue
...
define: lock_bits = (lock->status & LOCK_MASK) >> LOCK_SHIFT; This `lock_bits` is the Bit 29-20 of the lock->status
1. spi_hdl_1:
acquire_end_core():
uint32_t status = lock_status_clear(lock, dev_handle->mask & LOCK_MASK);
Becuase this is the first `spi_hdl_1`, so after this , lock_bits == 0`b0. status == 0
2. spi_hdl_2:
acquire_core:
uint32_t status = lock_status_fetch_set(lock, dev_handle->mask & LOCK_MASK);
Then here status is 0`b0, but lock_bits == 0`b10. Because this is the `spi_hdl_2`
3. spi_hdl_2:
`acquire_core` return true, because status == 0. `spi_bus_lock_acquire_start(spi_hdl_2)` then won't block.
4. spi_hdl_2:
spi_device_polling_end(spi_hdl_2).
5. spi_hdl_1:
acquire_end_core:
status is 0, so it cleas the lock->acquiring_dev
6. spi_hdl_2:
spi_device_polling_end:
assert(handle == get_acquiring_dev(host)); Fail
Closes https://github.com/espressif/esp-idf/issues/8179
2022-09-14 12:15:06 +08:00
Ivan Grokhotkov
ed22f22632
Merge branch 'bugfix/spi_slave_intr_iram_v4.2' into 'release/v4.2'
...
driver: spi_slave: make sure CS helpers are in IRAM if the ISR is (v4.2)
See merge request espressif/esp-idf!17833
2022-09-13 16:28:14 +08:00
Omar Chebib
17a5d4aff7
I2C: Fix a bug making the I2C task wait too long on an event
...
The I2C ISR will now notify the task waiting on an event. Thus, the task can stop waiting on the event queue as soon as possible.
2022-08-17 17:39:10 +08:00
Ivan Grokhotkov
5a65ac50e0
driver: spi_slave: make sure CS helpers are in IRAM if the ISR is
...
Closes https://github.com/espressif/esp-idf/issues/3870
2022-08-08 10:34:09 +02:00
xiongweichao
06d169e518
Update the note of the gpio_intr_enable function
2022-07-26 12:39:42 +00:00
Alex Lisitsyn
eaf03e06d5
modbus: fix esp restart does not reset timer groups periph (backport v4.2)
2022-07-11 16:42:42 +08:00
Jiang Jiang Jian
b6b7a59958
Merge branch 'bugfix/twai_esp32_errata_workarounds_backport_v4.2' into 'release/v4.2'
...
TWAI: Add FIFO overrun handling and ESP32 hardware errata workarounds + Refactor TWAI HAL to store state information (backport v4.2)
See merge request espressif/esp-idf!17106
2022-05-19 10:55:59 +08:00
Jiang Jiang Jian
b74fc002f1
Merge branch 'bugfix/driver_uart_fix_tx_bytes_rts_assert_failure_v42' into 'release/v4.2'
...
driver: fixes context switch while sending cause rts reset before send (backport v4.2)
See merge request espressif/esp-idf!17942
2022-05-19 10:55:36 +08:00
Alex Lisitsyn
721e26019e
driver: fixes context switch while sending cause rts reset before send (backport v4.2)
2022-05-19 10:55:35 +08:00
morris
d0db75899d
Merge branch 'bugfix/ledc_consecutive_fade_v4.2' into 'release/v4.2'
...
ledc: Bugfixes for issues related to fade protection (backport v4.2)
See merge request espressif/esp-idf!16955
2022-05-07 18:24:45 +08:00
Michael (XIAO Xufeng)
5edd6a4ddf
spi_master: fix the error log when use tx/rx_data with larger data
2022-04-18 15:15:06 +08:00
Michael (XIAO Xufeng)
396159299c
Merge branch 'bugfix/gpio_pin_num_fix_v4.2' into 'release/v4.2'
...
gpio: Fix some gpio pin num errors on esp32s2 (backport v4.2)
See merge request espressif/esp-idf!17110
2022-04-18 14:49:52 +08:00
Michael (XIAO Xufeng)
69c95bf983
Merge branch 'bugfix/spi_free_crash_uninitialized_v4.2' into 'release/v4.2'
...
spi: fixed crash when calling spi_bus_free when not initialized (v4.2)
See merge request espressif/esp-idf!17610
2022-04-01 11:17:54 +08:00
chaijie
b2e08332e3
ESP32: Fix xtal 32k not oscillate or oscillate too slowly issue
...
ESP32 in revision0 and revision1 uses touchpad to provide
current to oscillate xtal 32k. But revision2 and revision3
do not need to do that.
Note: touchpad can not work and toupad/ULP wakeup sources
are not available when toupad provides current to xtal 32k
2022-03-30 15:27:03 +08:00
songruojing
9e79d0e06f
ledc: Fix FADE_NO_WAIT mode concurrency problem.
...
Add test cases for fade concurrency issue and fade timing check.
Closes https://github.com/espressif/esp-idf/issues/6710
(cherry picked from commit be2ab09832
)
2022-03-29 03:42:06 +00:00
songruojing
01547c4bd8
ledc: Simplify the procedure to perform a one-time duty update
...
Avoid adding one extra fade cycle when performing a one-time duty update.
Add some notes to ledc_get_duty and ledc_update_duty APIs, so that users
are aware of when the new duty will be effective.
Closes https://github.com/espressif/esp-idf/issues/7288
(cherry picked from commit e175086226
)
2022-03-29 03:42:06 +00:00
songruojing
4c267ef0a6
gpio: Fix some gpio pin num errors on esp32s2
2022-03-29 03:40:54 +00:00
Michael (XIAO Xufeng)
49231ae961
spi: fixed crash when calling spi_bus_free when not initialized
...
introduced in 49a48644e4
Closes: https://github.com/espressif/esp-idf/issues/8642
2022-03-27 02:41:09 +08:00
Michael (XIAO Xufeng)
6c21202065
Merge branch 'fix/sdio_slave_recv_intr_unhandled_v4.2' into 'release/v4.2'
...
sdio_slave: fixed the issue that interrupt may be cleared with finished trans unhandled (v4.2)
See merge request espressif/esp-idf!17150
2022-03-15 22:06:19 +08:00
laokaiyao
0c71604b80
i2s: fix write failure issue in slave mode (backport v4.2)
2022-03-03 15:16:53 +08:00
Darian Leung
a0666b9be8
TWAI: FIFO overrun handling and errata workarounds
...
This commit adds handling for FIFO overruns and
adds workarounds for HW erratas on the ESP32.
Closes https://github.com/espressif/esp-idf/issues/2519
Closes https://github.com/espressif/esp-idf/issues/4276
2022-02-15 14:16:53 +08:00
Darian Leung
90ee294139
TWAI: Track HW state in HAL
...
This commit refactors the TWAI HAL such that it now tracks
the harwdare's state instead of at the driver layer.
Some HAL and LL cleanup was also done.
2022-02-15 14:16:53 +08:00
Zim Kalinowski
15a20d8100
Merge branch 'bugfix/sdio_slave_dma_desc_int_v4.2' into 'release/v4.2'
...
sdio_slave: Fixed the issue that DMA descriptors allocated to non-DMA capable area (v4.2)
See merge request espressif/esp-idf!17139
2022-02-15 03:38:38 +00:00
Michael (XIAO Xufeng)
aed907c728
sdio_slave: fixed the issue that interrupt may be cleared with finished trans unhandled
2022-02-15 00:01:46 +08:00
Michael (XIAO Xufeng)
dbf33d7947
sdio_slave: fixed the issue DMA desc not capable
2022-02-14 12:57:57 +08:00
morris
c7b5d3494c
rmt: do not support rx wrap on esp32s2
...
Closes https://github.com/espressif/esp-idf/issues/8354
2022-02-13 12:20:20 +08:00
Ivan Grokhotkov
dd67f769d9
driver: add diagnostic information into UART test, enable flow control
2022-02-11 13:47:06 +08:00
Jiang Jiang Jian
9bf6cf5ed4
Merge branch 'bugfix/alarm_update_invalid_v4.2' into 'release/v4.2'
...
timer: stop alarm if alarm value doesn't change in ISR callback (v4.2)
See merge request espressif/esp-idf!16534
2022-01-14 03:04:36 +00:00
Jiang Jiang Jian
6683751579
Merge branch 'bugfix/gpio_uninstall_isr_service_intr_wdt_crash_v4.2' into 'release/v4.2'
...
gpio: Bugfix - Move esp_intr_free() out of the critical section in gpio_uninstall_isr_service() (backport v4.2)
See merge request espressif/esp-idf!16597
2022-01-14 03:04:15 +00:00
Roland Dobai
698efba393
Merge branch 'bugfix/fix_modbus_rs485_rts_en_fail_v42' into 'release/v4.2'
...
Bugfix/fix modbus rs485 rts en fail (backport v4.2)
See merge request espressif/esp-idf!11566
2022-01-12 08:44:05 +00:00
Krzysztof Budzynski
476a0eb26d
Merge branch 'fix/remove_deprecated_macro_SPI_TRANS_SET_CD_v4.2' into 'release/v4.2'
...
Remove a deprecated macro: SPI_TRANS_SET_CD (v4.2)
See merge request espressif/esp-idf!16690
2022-01-12 05:50:53 +00:00
aleks
239e56541c
freemodbus: fix uart_wait_tx_done() reenable tx_done interrupt
2022-01-07 16:45:47 +00:00
Wang Fang
fec6e140fb
fix: remove a deprecated macro: SPI_TRANS_SET_CD
2022-01-07 16:39:31 +08:00
Armando
a129933ccd
adc: apply adc power API to adc driver
2022-01-06 11:42:55 +08:00
songruojing
7ef8012019
gpio: Bugfix - Move esp_intr_free() out of the critical section in gpio_uninstall_isr_service()
...
Closes https://github.com/espressif/esp-idf/issues/5571
Fix the bug that if the API was called from one core to free the interrupt source on the other core, it would trigger interrupt watchdog.
(cherry picked from commit 0e8286c57b
)
2021-12-30 14:45:13 +08:00
morris
93c784e1c8
timer: stop alarm if alarm value doesn't change in ISR handler
...
Alarm will be disabled by hardware when alarm event happend.
In the ISR, if auto-reload is enabled, we should re-enable the alarm.
If the alarm target value is changed in user's callback,
the alarm will be reenabled as well.
Closes https://github.com/espressif/esp-idf/issues/7001
Closes https://github.com/espressif/esp-idf/issues/8095
2021-12-24 13:08:33 +08:00
morris
9b6d4c4015
uart: support alloc driver object in SRAM
...
If CONFIG_UART_ISR_IN_IRAM is on, which means user hope the uart
interrupt can still be serviced even when cache is diabled (e.g.
writing to flash). In that case, the driver should make sure to
put the all related objects into SRAM, avoid putting them in the PSRAM.
Closes https://github.com/espressif/esp-idf/issues/7044
Closes https://github.com/espressif/esp-idf/pull/7355
2021-09-22 12:01:04 +08:00
morris
5253a6c916
uart: format driver code by astyle
2021-09-22 12:01:04 +08:00
Omar Chebib
60ce887308
uart: cleaner way of handling error in a critical section
...
Some critical sections have also been added, making the code more
symetric accross the similar functions.
Closes https://github.com/espressif/esp-idf/pull/6396
2021-09-03 15:20:33 +08:00
Luca Burelli
3691fb9f48
uart: Add missing critical section wrappers around rx_buffered_len
...
The missing barriers caused uart_get_buffered_data_len() to (very rarely)
return a garbage value. When used in MicroPython, though, this caused
select() to return and a subsequent read() to stall indefinitely until
a char was actually available.
Signed-off-by: Chen Yi Qun <chenyiqun@espressif.com>
Closes https://github.com/espressif/esp-idf/issues/6397
Merges https://github.com/espressif/esp-idf/pull/6396
2021-09-03 15:20:33 +08:00
Michael (XIAO Xufeng)
d91d6945d7
spi_master: fix the crash when using interrupt mode when cache is disabled
...
Closes https://github.com/espressif/esp-idf/issues/6529
Closes https://github.com/espressif/esp-idf/issues/6781
Closes https://github.com/espressif/esp-idf/issues/7368
2021-08-06 12:22:15 +08:00
Marius Vikhammer
2f02863fff
uart: fix typo in error message
...
Closes https://github.com/espressif/esp-idf/issues/7360
2021-08-03 09:28:39 +08:00
laokaiyao
8872c6a3ac
driver/i2c: add notes to i2c deleteing function
2021-07-16 14:26:48 +08:00
Melissa LeBlanc-Williams
59d08d4467
dreiver/i2c: delete i2c cmd_mux semaphore more cleanly
...
Merges https://github.com/espressif/esp-idf/pull/6847
2021-07-16 14:26:48 +08:00