Commit Graph

34 Commits

Author SHA1 Message Date
Chen Jichang
0ce2683d81 feature(MCPWM): Add MCPWM trigger driver and test
Each MCPWM operator has two Trigger (named T0 and T1), and they can be
routed to GPIO fault signal or timer sync event.Generator can be set up
to perform different action on Trigger event.
This commit add a trigger driver and a test for the driver.
2023-11-15 05:57:37 +00:00
morris
9b4a42e728 feat(mcpwm): support update timer period dynamically
Implement the requirement asked in
https://www.esp32.com/viewtopic.php?f=13&t=35919
2023-10-24 10:11:47 +08:00
Chen Jichang
d8e5b2ac41 feat(mcpwm): Set group clock prescale dynamically
MCPWM group clock pre scale was originally fixed to 2, which is
inconvenient. Set group clock prescale dynamically. Now the maximum
resolution of the MCPWM timer is up to 160MHz(when the prescale set
to 1). And add a resulotion config for MCPWM capture.
2023-09-11 11:29:28 +08:00
morris
8da2c57889 Merge branch 'feature/mcpwm_interrupt_prioity_v5.1' into 'release/v5.1'
feat(MCPWM): Support set interrupt priority(v5.1)

See merge request espressif/esp-idf!25573
2023-08-28 11:21:55 +08:00
morris
2a80451b24 Merge branch 'feature/add_mcpwm_carrier_clk_source_v5.1' into 'release/v5.1'
feat(MCPWM): Add mcpwm carrier clk source(v5.1)

See merge request espressif/esp-idf!25572
2023-08-28 11:11:04 +08:00
Chen Jichang
d3aba34baa feat(MCPWM): Support set interrupt priority 2023-08-25 17:41:31 +08:00
Chen Jichang
c240a1f46b feat(MCPWM): Add mcpwm carrier clk source
The MCPWM carrier is part of the operator and can work independently
without the MCPWM timer being enabled. This commit add the MCPWM
carrier clk source.
2023-08-25 17:34:58 +08:00
morris
842f5385a3 feat(mcpwm): default clock source setting can leave empty 2023-08-25 10:29:57 +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
Anne Brondijk
c818ddd282 feat(mcpwm): Allow for pull up/down to be configurable on generators 2023-07-21 05:08:20 +00:00
morris
a7021c3e44 mcpwm: fix bldc example force output level inverted
set_force_level can only set the generator level before the deadtime module.
if the deadtime module enables the inverter, then the real output level is inverted accordingly
2023-05-12 14:40:10 +08:00
morris
7b93cf91aa mcpwm: can't apply the same delay module to multiple generators
This is a hardware limitation, one delay module can only be used by one generator at one time.

Closes https://github.com/espressif/esp-idf/issues/11327
2023-05-10 10:09:48 +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
d9f82baca7 driver: fix typo "destroy" 2023-03-01 00:43:14 +00:00
Cao Sen Miao
8cc6a535b2 mcpwm: modify wrong config name 2023-02-14 11:12:08 +08:00
Kevin (Lao Kaiyao)
421e5e6416 Merge branch 'refactor/pack_driver_source_files' into 'master'
components/driver: pack peripherals

See merge request espressif/esp-idf!22173
2023-02-07 10:20:57 +08:00
morris
15b9352f60 mcpwm: support esp32h2 2023-02-02 19:05:31 +08:00
laokaiyao
f27cd67c00 driver: pack peripherals 2023-02-02 18:19:58 +08:00
morris
c83d1db2ed Merge branch 'feature/mcpwm_cap_not_reset_io_at_exit' into 'master'
mcpwm: support not reset GPIO config at exit

Closes IDFGH-8916

See merge request espressif/esp-idf!21568
2023-01-12 13:20:47 +08:00
morris
592673b052 mcpwm: support non-varg version of generator functions
Closes https://github.com/espressif/esp-idf/issues/10449
2023-01-03 14:42:49 +08:00
morris
f0bea3ce51 mcpwm: support not reset GPIO config at exit
By default, the driver will reset the GPIO used by the MCPWM capture
channel at exit. But in some special use cases, the same gpio may also
be used by another device, which shares the same gpio configuration,
resetting the gpio is not expected.

Closes https://github.com/espressif/esp-idf/issues/10327
2022-12-12 17:50:06 +08:00
morris
f997b81242 mcpwm: support esp32c6 2022-10-20 11:55:03 +08:00
morris
7b425cbcd7 mcpwm: new function to fetch capture resolution 2022-10-20 11:30:14 +08:00
morris
ad376e2d99 mcpwm: allow compare equals to period 2022-10-11 11:25:33 +08:00
morris
c99edc6715 mcpwm: make set_compare_value iram safe
Closes https://github.com/espressif/esp-idf/issues/9793
2022-09-21 13:37:49 +00:00
morris
1fc458b3f7 mcpwm: check sync direction is valid 2022-09-14 11:49:37 +08:00
morris
2c5a866ea3 mcpwm: don't use keyword operator
Closes https://github.com/espressif/esp-idf/issues/9510
2022-08-17 06:31:50 +00:00
morris
1d4c08cef4 mcpwm: added enable/disable functions
Closes https://github.com/espressif/esp-idf/pull/9523
2022-08-15 14:46:56 +08:00
morris
970d4cab09 driver: add doc on how to unregister event callbacks
Closes https://github.com/espressif/esp-idf/pull/9523
2022-08-15 14:46:56 +08: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
f24983a942 unity_utils: added helper function to disable cache and run user function 2022-08-12 11:29:52 +08:00
morris
d91c8759c0 driver: remove -Wno-format flag 2022-08-08 08:30:09 +00:00
morris
480f80868a mcpwm: test iram safe interrupt 2022-08-02 23:07:06 +08:00
morris
1571417679 mcpwm: new driver implementation 2022-07-27 15:22:24 +08:00