Commit Graph

83 Commits

Author SHA1 Message Date
Song Ruo Jing 3e44f63640 fix(ledc): fix race condition in ledc_fade_stop causing assert failure
Closes https://github.com/espressif/esp-idf/issues/15580
2025-03-27 20:17:36 +08:00
Song Ruo Jing c6fc6d9c6c fix(ledc): fix ledc_get_freq calculation err due to overflow
Closes https://github.com/espressif/esp-idf/pull/14882
2024-12-26 19:00:43 +08:00
Song Ruo Jing c0a1d27858 fix(ledc): fix ledc driver 100% duty cycle configuration
Update ledc duty cycle value range in doxygen.
Fix duty configuration error at 100% duty cycle for ESP32.
Improve LEDC API doxygen.

Closes https://github.com/espressif/esp-idf/pull/11516
Closes https://github.com/espressif/esp-idf/issues/12593
Closes https://github.com/espressif/esp-idf/issues/12083
2023-11-22 03:12:38 +00:00
IhorNehrutsa fb81668aab fix(ledc): fix frequency calculation
ledc.c: Fix frequency calculation.
Round int instead of truncate.

Merges https://github.com/espressif/esp-idf/pull/11810
2023-07-11 15:28:19 +08:00
Song Ruo Jing bdffb4403d ledc: Add check for whether the registered callback is in iram in ledc_cb_register 2023-03-03 17:21:56 +08:00
Song Ruo Jing e8386ed732 ledc: Fix -Werror=maybe-uninitialized warning on glb_clk variable on specific kconfig options selected
Closes https://github.com/espressif/esp-idf/pull/9025
Closes https://github.com/espressif/esp-idf/issues/10322
2023-01-07 17:29:45 +08:00
Song Ruo Jing 26a4803048 ledc: Fix the usage of ledc_ls_timer_update and ledc_timer_rst
ledc_ls_timer_update is required only when CLK_DIV and DUTY_RES bits are changed.
Calling ledc_timer_rst while re-configure PWM frequency through ledc_set_freq can cause glitch in the signal
2022-08-22 22:02:15 +08:00
morris 998451c60a driver: remove -Wno-format flag 2022-08-18 10:57:12 +08:00
jingli 7211b0a89a esp_hw_support/sleep: fix cannot pd cpu and rc fast at the same time during light sleep
Since cpu retention dma use rc fast as clk source, so rc_fast_digi
will be enabled when we config to pd cpu. And cpu retention does not
need rc fast keep on during light sleep. So, if we use rc_fast_digi
to determine whether rc fast can be powered down, then cpu and and
rc fast cannot pd at the same time.
2022-07-28 11:10:58 +08:00
Michael (XIAO Xufeng) d64c6f581d ledc: cleanup the clock selection code 2022-04-14 08:15:14 +00:00
songruojing 534346f4bb ledc: Provide support for esp32c2 and esp32h2
LEDC examples, unit test, and programming guide are all updated.
2022-04-14 08:15:14 +00:00
songruo 60bb5c913d clk_tree: prework of introducing clk subsystem control
1. Clean up clk usage in IDF, replace rtc_clk_xtal/apb_freq_get with
   upper level API esp_clk_xtal/apb_freq
2. Fix small errors and wrong comments related to clock
3. Add clk_tree_defs.h to provide an unified clock id for each chip
   Modify the NGed drivers to adopt new clock ids
2022-04-11 12:09:06 +08:00
songruo 38090a0248 gpio: fix GPIO_IS_VALID_(OUTPUT_)GPIO macro
... which has the potential of doing bit shift by a negative amount
2022-03-24 21:36:03 +08:00
Ivan Grokhotkov 0fe3281713 driver: fix issues reported by PVS-Studio
https://www.viva64.com/en/b/0790/#ID88049D3FA2
https://www.viva64.com/en/b/0790/#IDE0890EE01C
Reported in https://github.com/espressif/esp-idf/issues/6440
2022-03-14 18:46:47 +01:00
morris f38c13adea Merge branch 'contrib/github_pr_8497' into 'master'
ledc: Do not drive output during init if the output is inverted (GitHub PR)

Closes IDFGH-6875

See merge request espressif/esp-idf!17433
2022-03-10 16:55:59 +08:00
Sudeep Mohanty a9fda54d39 esp_hw_support/esp_system: Re-evaluate header inclusions and include directories
This commit updates the visibility of various header files and cleans up
some unnecessary inclusions. Also, this commit removes certain header
include paths which were maintained for backward compatibility.
2022-03-07 11:18:08 +05:30
Nonoo 062f6164ae ledc: Do not drive output during init if the output is inverted 2022-03-04 08:39:57 +01:00
Darian Leung 57fd78f5ba freertos: Remove legacy data types
This commit removes the usage of all legacy FreeRTOS data types that
are exposed via configENABLE_BACKWARD_COMPATIBILITY. Legacy types can
still be used by enabling CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY.
2022-02-09 23:05:45 +08:00
songruojing 68e12f7092 ledc: Add ledc_fade_stop API to support stopping the fade operation.
Note that ESP32 cannot support this new feature.
2022-01-25 11:19:20 +08:00
songruojing be2ab09832 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
2022-01-25 11:19:10 +08:00
songruojing e175086226 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
2022-01-24 19:36:13 +08:00
morris e51474ef70 build: fix unused tag string
Closes https://github.com/espressif/esp-idf/issues/8250
2022-01-18 10:06:08 +08:00
Michael (XIAO Xufeng) 466f3a91cb ledc: fixed check to s_ledc_fade_rec array 2022-01-06 03:28:05 +00:00
Omar Chebib 1e8a0909f6 LEDC: divisor calculation will now be rounded up when necessary
Closes https://github.com/espressif/esp-idf/issues/7722
2021-11-11 12:21:22 +08:00
Omar Chebib aa2ca7dd94 LEDC: improved support for ESP32-C3 and refactored divisor calculation
As ESP32C3 does not have support for REF_TICK source clock, it is now not
possible to select it anymore.
Auto cfg clock has been improved for all boards.
2021-11-11 12:21:15 +08:00
morris 16677b0d3c global: make periph enable/disable APIs private
peripheral enable/disable usually should be managed by driver itself,
so make it as espressif private APIs, not recommended for user to use it
in application code.
However, if user want to re-write the driver or ports to other platform,
this is still possible by including the header in this way:
"esp_private/peripheral_ctrl.h"
2021-11-08 10:37:47 +08:00
morris c2d5af17a2 dac: apply generic check macro 2021-08-26 14:01:24 +08:00
songruojing 9d098cc9bd ledc: Add a callback for LEDC fade end
This commit adds a feature where users can register a callback that is
called when an LEDC fade completes.
2021-07-29 17:56:22 +08:00
Michael (XIAO Xufeng) dd47340d0e Merge branch 'update_copyright_notice_driver_part_4' into 'master'
driver: update copyright notice, part 4

See merge request espressif/esp-idf!13652
2021-05-31 07:37:19 +00:00
Jan Brudný 690974e32f driver: update copyright notice 2021-05-25 17:43:57 +02:00
bizhuangyang 31cdeb538d ledc: apply general check macro
Standardize LEDC_CHECK() and LEDC_ARG_CHECK() in ledc.c to ESP_RETURN_ON_FALSE() in esp_check.h.
2021-05-13 16:57:16 +08:00
laokaiyao 48c848a895 driver/ledc: support invert channel output 2021-05-11 11:54:16 +08:00
Omar Chebib cd79f3907d gpio: Disable USB JTAG when setting pins 18 and 19 as GPIOs on ESP32C3
When `DIS_USB_JTAG` eFuse is NOT burned (`False`), it is not possible
to set pins 18 and 19 as GPIOs. This commit solves this by manually
disabling USB JTAG when using pins 18 or 19.
The functions shall use `gpio_hal_iomux_func_sel` instead of
`PIN_FUNC_SELELECT`.
2021-04-08 14:01:18 +08:00
morris 753a929525 global: fix sign-compare warnings 2021-01-12 14:05:08 +08:00
Angus Gratton 27a9cf861e driver: Add esp32c3 drivers (except ADC/DAC) and update tests
Some ESP32-C3 drivers are still pending.

Based on internal commit 3ef01301fffa552d4be6d81bc9d199c223224305
2020-12-23 09:53:24 +11:00
Angus Gratton 5228d9f9ce esp32c3: Apply one-liner/small changes for ESP32-C3 2020-12-01 10:58:50 +11:00
morris 2917651478 esp_rom: extract common ets apis into esp_rom_sys.h 2020-07-27 15:27:01 +08:00
morris a4d0033c03 esp_rom: extract common GPIO apis into esp_rom_gpio.h 2020-07-07 11:40:19 +08:00
morris e30cd361a8 global: rename esp32s2beta to esp32s2 2020-01-22 12:14:38 +08:00
chenjianqiang 41fca84064 bugfix(ledc): fix crash when use one speed mode and enable ledc fade test case 2019-12-16 02:49:26 +00:00
chenjianqiang 857dec108d feat(ledc): refactor ledc driver
1. add hal and low-level layer for ledc driver
2. support esp32s2beta ledc
2019-11-21 16:25:22 +08:00
houwenxiang 30b2e02088 bugfix(LEDC):fix ledc CI issue for esp32s2beta. 2019-11-14 12:20:29 +08:00
Angus Gratton 0a0bb09585 Merge 'master' into feature/esp32s2beta_update 2019-08-20 13:55:23 +10:00
Angus Gratton 6990a7cd54 Merge branch 'master' into feature/esp32s2beta_update 2019-08-19 15:03:43 +10:00
Angus Gratton 1dd2f3e07b driver: ledc: Fix low/high speed parameter setting
Fix regression introduced in 2e8c85d8ff
2019-08-15 06:53:46 +00:00
Angus Gratton 04ae56806c Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 15:26:58 +10:00
kooho 2e8c85d8ff driver(ledc): fixed ledc clock selection bug. 2019-08-06 16:11:18 +08:00
Anton Maklakov afbaf74007 tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
kooho f98e7bbccf Update LEDC, PCNT,Timer_Group driver for esp32s2beta. 2019-07-31 16:03:22 +08:00
suda-morris 84b2f9f14d build and link hello-world for esp32s2beta 2019-06-11 13:07:37 +08:00