Commit Graph

30 Commits

Author SHA1 Message Date
morris
b27d69dcad fix(rmt): fix the counting clock used by rx filter on esp32/s2
is always APB, independent to the channel clock selection

Closes https://github.com/espressif/esp-idf/issues/13510
2024-04-08 11:51:02 +08:00
morris
7c88240e38 feat(rmt): added a help function for allocating encoder memory
The encoder memory location should respect the RMT_MEM_ALLOC_CAPS,
which is affected by some Kconfig options, like ISR_IRAM_SAFE

Closes https://github.com/espressif/esp-idf/issues/13032
2024-02-23 10:29:31 +08:00
morris
c940cf08c4 feat(rmt): support update bytes encoder configurations at runtime
Closes https://github.com/espressif/esp-idf/issues/12775
2024-01-11 13:47:04 +08:00
morris
6a7e250442 feat(rmt): support calling rmt_receive in ISR callback 2023-11-08 15:03:44 +08:00
morris
da2399a2c5 fix(rmt): a disabled channel may pick up a pending transaction
because in the trans_done interrupt, the driver didn't check the channel FSM
2023-11-03 02:40:56 +00:00
morris
b07b08d9eb Merge branch 'bugfix/shared_intr_memory_location_v5.0' into 'release/v5.0'
fix(intr): always allocate memory from internal ram (v5.0)

See merge request espressif/esp-idf!26188
2023-09-28 16:44:14 +08:00
morris
36392368f4 fix(rmt): fixed unstable transfer during DFS
Closes https://github.com/espressif/esp-idf/issues/12292
2023-09-27 17:33:18 +08:00
morris
fcfb16050f fix(intr): always allocate memory from internal ram
Closes https://github.com/espressif/esp-idf/issues/12271
2023-09-27 02:36:01 +00:00
Planck (Lu Zeyu)
f089f0d83b feat(rmt): specify interrupt priority 2023-09-18 03:02:49 +00:00
morris
a87a04992e feat(mcpwm): support open drain output for generator IO
Closes https://github.com/espressif/esp-idf/issues/11877
2023-07-19 16:13:12 +08:00
morris
641221a10a Merge branch 'bugfix/rmt_one-wire_v5.0' into 'release/v5.0'
rmt_onewire: refactor example with component registry (v5.0)

See merge request espressif/esp-idf!23510
2023-05-15 10:00:15 +08:00
morris
829cf5aaf6 Merge branch 'bugfix/check_filter_range_v5.0' into 'release/v5.0'
rmt: check filter and idle threashold (v5.0)

See merge request espressif/esp-idf!23605
2023-05-14 14:12:47 +08:00
morris
9716101e7d rmt: check filter and idle threashold
Closes https://github.com/espressif/esp-idf/issues/11262
2023-05-11 02:29:26 +00:00
morris
9d26757763 rmt_onewire: refactor example with component manager
Closes https://github.com/espressif/esp-idf/issues/10790
2023-05-11 02:28:54 +00:00
morris
0542983ed8 rmt: define RMT_ENCODING_RESET in rmt_encode_state_t
Closes https://github.com/espressif/esp-idf/issues/11200
2023-05-11 02:28:31 +00:00
morris
5d11967f2e rmt: calarify the meaning of mem_block_symbols in DMA and non-DMA mode 2023-03-31 09:59:32 +08:00
morris
1884442a80 rmt: no auto light sleep if xtal is working as the clock source 2023-01-16 10:20:40 +08:00
morris
c4aa24c54e rmt: disable rc_fast clock when it's used up 2022-09-18 15:52:25 +08:00
morris
4701d95052 driver: specify the interrupt priority
Closes https://github.com/espressif/esp-idf/issues/9520
2022-08-18 10:57:13 +08:00
morris
998451c60a driver: remove -Wno-format flag 2022-08-18 10:57:12 +08:00
morris
307d26659e Merge branch 'bugfix/rmt_hw_issue' into 'master'
rmt: only use register to control the IDLE state (hardware issue workaround)

See merge request espressif/esp-idf!19344
2022-08-03 17:01:44 +08:00
morris
8de9fd8cd7 rmt: only use register to control IDLE state
hardware issue: we can't control the IDLE level by the stop item
when loop transmission is enabled.
But we can always control the IDLE state by register.
2022-08-03 10:51:43 +08:00
morris
a5a171926b rmt: add test with -O0 2022-08-02 23:07:06 +08:00
Darian Leung
781d06af73 esp_hw_support: Remove compare_set.h API
This function removes the following legacy atomic CAS functions:

From compare_set.h (file removed):
- compare_and_set_native()
- compare_and_set_extram()

From portmacro.h
- uxPortCompareSet()
- uxPortCompareSetExtram()

Users should call esp_cpu_compare_and_set() instead as this function hides the details
of atomic CAS on internal and external RAM addresses.

Due to the removal of compare_set.h, some missing header includes are also fixed in this commit.
2022-07-22 00:06:06 +08:00
wangyuanze
ab0c4abd6e rmt: add open-drain flag on tx channel 2022-07-20 14:12:43 +00:00
morris
9e532696f4 pcnt: add const qualifier to event data 2022-07-20 14:59:50 +08:00
morris
4094f13fd3 rmt: fix error in rmt register file
Closes https://github.com/espressif/esp-idf/issues/9100
2022-06-10 18:38:42 +08:00
songruojing
a5b09cf015 rtc_clk: Clean up some clock related enum and macro in soc/rtc.h, replace with new ones in
soc/clk_tree_defs.h
2022-05-24 22:59:41 +08:00
morris
660ff8e840 rmt: declare RMTMEM as a block of memory 2022-05-09 11:26:30 +08:00
morris
2fb43820c2 driver_ng: implement new rmt driver
The legacy driver can't handle the breaking change between esp chips

very well.

And it's not elegant to extend new feature like DMA, ETM.

The new driver can return a opaque handle for each RMT channel.

An obvious transaction concept was also introduced.

TX and RX functionalities are splited out.
2022-05-07 10:34:50 +00:00