VSF Documented
Data Structures | Typedefs | Functions
driver_ledc_port.c File Reference
#include "../vsf_espidf_cfg.h"
#include "driver/ledc.h"
#include "../vsf_espidf.h"
#include "kernel/vsf_kernel.h"
#include "hal/driver/driver.h"
#include <string.h>

Data Structures

struct  __ledc_timer_state_t
 
struct  __ledc_channel_state_t
 
struct  __ledc_mode_state_t
 

Typedefs

typedef struct __ledc_timer_state_t __ledc_timer_state_t
 
typedef struct __ledc_channel_state_t __ledc_channel_state_t
 
typedef struct __ledc_mode_state_t __ledc_mode_state_t
 

Functions

void vsf_espidf_ledc_init (const vsf_espidf_ledc_cfg_t *cfg)
 
esp_err_t ledc_timer_config (const ledc_timer_config_t *timer_conf)
 Configure an LEDC timer (counter frequency + resolution).
 
esp_err_t ledc_channel_config (const ledc_channel_config_t *ledc_conf)
 Configure an LEDC channel (duty + timer binding).
 
esp_err_t ledc_set_duty (ledc_mode_t speed_mode, ledc_channel_t channel, uint32_t duty)
 Set duty cycle value for a channel.
 
esp_err_t ledc_update_duty (ledc_mode_t speed_mode, ledc_channel_t channel)
 Apply the previously cached duty of a channel to hardware.
 
esp_err_t ledc_set_duty_with_hpoint (ledc_mode_t speed_mode, ledc_channel_t channel, uint32_t duty, uint32_t hpoint)
 Set duty + hpoint and apply in one call (ESP-IDF v5.x helper).
 
uint32_t ledc_get_duty (ledc_mode_t speed_mode, ledc_channel_t channel)
 Get current duty cycle of a channel.
 
int ledc_get_hpoint (ledc_mode_t speed_mode, ledc_channel_t channel)
 Get hpoint of a channel. Always returns 0 on this shim.
 
esp_err_t ledc_set_freq (ledc_mode_t speed_mode, ledc_timer_t timer_num, uint32_t freq_hz)
 Re-program the timer frequency.
 
uint32_t ledc_get_freq (ledc_mode_t speed_mode, ledc_timer_t timer_num)
 Get the configured frequency of a timer.
 
esp_err_t ledc_stop (ledc_mode_t speed_mode, ledc_channel_t channel, uint32_t idle_level)
 Stop a channel's output and hold it at the given idle level.
 
esp_err_t ledc_timer_pause (ledc_mode_t speed_mode, ledc_timer_t timer_num)
 Pause a timer. Accepted but reduces to a channel-level stop on this shim.
 
esp_err_t ledc_timer_resume (ledc_mode_t speed_mode, ledc_timer_t timer_num)
 Resume a timer. Accepted but reduces to an internal re-enable on this shim.
 
esp_err_t ledc_timer_rst (ledc_mode_t speed_mode, ledc_timer_t timer_num)
 Reset a timer. Accepted but no-op on this shim.
 
esp_err_t ledc_bind_channel_timer (ledc_mode_t speed_mode, ledc_channel_t channel, ledc_timer_t timer_sel)
 Bind a channel to a timer.
 
esp_err_t ledc_fade_func_install (int intr_alloc_flags)
 Install the fade service. Returns ESP_ERR_NOT_SUPPORTED.
 
void ledc_fade_func_uninstall (void)
 Uninstall the fade service. No-op on this shim.
 

Typedef Documentation

◆ __ledc_timer_state_t

◆ __ledc_channel_state_t

◆ __ledc_mode_state_t

Function Documentation

◆ vsf_espidf_ledc_init()

void vsf_espidf_ledc_init ( const vsf_espidf_ledc_cfg_t cfg)
extern

◆ ledc_timer_config()

esp_err_t ledc_timer_config ( const ledc_timer_config_t timer_conf)

Configure an LEDC timer (counter frequency + resolution).

◆ ledc_channel_config()

esp_err_t ledc_channel_config ( const ledc_channel_config_t ledc_conf)

Configure an LEDC channel (duty + timer binding).

◆ ledc_set_duty()

esp_err_t ledc_set_duty ( ledc_mode_t  speed_mode,
ledc_channel_t  channel,
uint32_t  duty 
)

Set duty cycle value for a channel.

Note
Call ledc_update_duty() to apply.

◆ ledc_update_duty()

esp_err_t ledc_update_duty ( ledc_mode_t  speed_mode,
ledc_channel_t  channel 
)

Apply the previously cached duty of a channel to hardware.

◆ ledc_set_duty_with_hpoint()

esp_err_t ledc_set_duty_with_hpoint ( ledc_mode_t  speed_mode,
ledc_channel_t  channel,
uint32_t  duty,
uint32_t  hpoint 
)

Set duty + hpoint and apply in one call (ESP-IDF v5.x helper).

◆ ledc_get_duty()

uint32_t ledc_get_duty ( ledc_mode_t  speed_mode,
ledc_channel_t  channel 
)

Get current duty cycle of a channel.

Returns
duty value, or -1 on invalid argument.

◆ ledc_get_hpoint()

int ledc_get_hpoint ( ledc_mode_t  speed_mode,
ledc_channel_t  channel 
)

Get hpoint of a channel. Always returns 0 on this shim.

◆ ledc_set_freq()

esp_err_t ledc_set_freq ( ledc_mode_t  speed_mode,
ledc_timer_t  timer_num,
uint32_t  freq_hz 
)

Re-program the timer frequency.

◆ ledc_get_freq()

uint32_t ledc_get_freq ( ledc_mode_t  speed_mode,
ledc_timer_t  timer_num 
)

Get the configured frequency of a timer.

Returns
frequency in Hz, or 0 if not configured.

◆ ledc_stop()

esp_err_t ledc_stop ( ledc_mode_t  speed_mode,
ledc_channel_t  channel,
uint32_t  idle_level 
)

Stop a channel's output and hold it at the given idle level.

◆ ledc_timer_pause()

esp_err_t ledc_timer_pause ( ledc_mode_t  speed_mode,
ledc_timer_t  timer_num 
)

Pause a timer. Accepted but reduces to a channel-level stop on this shim.

◆ ledc_timer_resume()

esp_err_t ledc_timer_resume ( ledc_mode_t  speed_mode,
ledc_timer_t  timer_num 
)

Resume a timer. Accepted but reduces to an internal re-enable on this shim.

◆ ledc_timer_rst()

esp_err_t ledc_timer_rst ( ledc_mode_t  speed_mode,
ledc_timer_t  timer_num 
)

Reset a timer. Accepted but no-op on this shim.

◆ ledc_bind_channel_timer()

esp_err_t ledc_bind_channel_timer ( ledc_mode_t  speed_mode,
ledc_channel_t  channel,
ledc_timer_t  timer_sel 
)

Bind a channel to a timer.

◆ ledc_fade_func_install()

esp_err_t ledc_fade_func_install ( int  intr_alloc_flags)

Install the fade service. Returns ESP_ERR_NOT_SUPPORTED.

◆ ledc_fade_func_uninstall()

void ledc_fade_func_uninstall ( void  )

Uninstall the fade service. No-op on this shim.

Variable Documentation

◆ inited

bool inited

◆ pool_count

uint16_t pool_count

◆ pool

vsf_pwm_t* const* pool

◆ modes

Generated from commit: vsfteam/vsf@015f4d1