Commit Graph

37 Commits

Author SHA1 Message Date
morris
491f4af657 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:50:37 +08:00
morris
bfd1cfd382 Merge branch 'feature/rmt_encoder_memory_allocator_v5.1' into 'release/v5.1'
feat(rmt): added a help function for allocating encoder memory (v5.1)

See merge request espressif/esp-idf!28791
2024-02-28 11:39:58 +08:00
morris
dcf0d5b67c 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-01-30 17:03:54 +08:00
morris
1daeac210b feat(rmt): support update bytes encoder configurations at runtime
Closes https://github.com/espressif/esp-idf/issues/12775
2024-01-29 13:28:53 +08:00
morris
bfeae3857c feat(rmt): support calling rmt_receive in ISR callback 2023-11-15 05:57:45 +00:00
morris
d260d43168 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-15 05:57:45 +00:00
morris
35f1a02ebf fix(rmt): fixed unstable transfer during DFS
Closes https://github.com/espressif/esp-idf/issues/12292
2023-09-27 16:56:47 +08:00
morris
1cbed4e2c1 fix(intr): always allocate memory from internal ram
Closes https://github.com/espressif/esp-idf/issues/12271
2023-09-25 15:41:15 +08:00
Planck (Lu Zeyu)
3b9c57ac32 feat(rmt): specify interrupt priority 2023-09-04 13:12:02 +08:00
morris
c8ec729252 feat(mcpwm): support open drain output for generator IO
Closes https://github.com/espressif/esp-idf/issues/11877
2023-07-21 05:08:20 +00:00
morris
d12ad17373 rmt: check filter and idle threashold
Closes https://github.com/espressif/esp-idf/issues/11262
2023-05-05 19:07:59 +08:00
morris
2004bf4e11 Merge branch 'bugfix/rmt_one-wire_v5.1' into 'release/v5.1'
rmt_onewire: refactor example with component registry (v5.1)

See merge request espressif/esp-idf!23509
2023-05-04 13:32:18 +08:00
morris
14dac35540 rmt_onewire: refactor example with component manager
Closes https://github.com/espressif/esp-idf/issues/10790
2023-04-28 13:38:33 +08:00
Song Ruo Jing
202b18b5fa esp_clk_tree: Rename clk_tree_xxx to esp_clk_tree_xxx, add compilation warning to clk_tree.h 2023-04-27 11:11:18 +00:00
morris
b5572b1db0 rmt: define RMT_ENCODING_RESET in rmt_encode_state_t
Closes https://github.com/espressif/esp-idf/issues/11200
2023-04-17 21:28:45 +08:00
morris
5d1a272b1c rmt: calarify the meaning of mem_block_symbols in DMA and non-DMA mode 2023-03-30 11:09:13 +08:00
morris
d82981c437 rmt: use gpio_num_t to define gpio number 2023-03-30 10:30:27 +08:00
morris
f534247a00 driver: add parallel IO TX driver 2023-03-01 00:43:14 +00:00
morris
d9f82baca7 driver: fix typo "destroy" 2023-03-01 00:43:14 +00:00
morris
195f6b99ad rmt: expose private API to get channel ID
Closes https://github.com/espressif/esp-idf/issues/10596
2023-02-16 11:37:25 +08:00
morris
1626766abf rmt: simplify rmt source clock configure with clk_tree API
Also decrease the payload size for testing the multi-channel behaviour.
2023-02-10 18:24:27 +08:00
laokaiyao
f27cd67c00 driver: pack peripherals 2023-02-02 18:19:58 +08:00
morris
7c9e3b60c6 rmt: no auto light sleep if xtal is working as the clock source 2022-12-29 11:33:43 +08:00
morris
32cd193ddf rmt: support pll clock source on esp32c6 2022-12-22 11:25:54 +08:00
morris
c71bd0e4fa rmt: disable rc_fast clock when it's used up 2022-09-17 04:56:49 +00:00
morris
0d881fc9e0 driver: specify the interrupt priority
Closes https://github.com/espressif/esp-idf/issues/9520
2022-08-15 14:46:56 +08:00
morris
d91c8759c0 driver: remove -Wno-format flag 2022-08-08 08:30:09 +00: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