VSF Documented
Macros | Functions
pwm_common.c File Reference
#include "hal/driver/driver.h"

Macros

#define VSF_PWM_CFG_FUNCTION_RENAME   DISABLED
 

Functions

vsf_err_t vsf_pwm_init (vsf_pwm_t *pwm_ptr, vsf_pwm_cfg_t *cfg_ptr)
 Initialize a PWM instance.
 
void vsf_pwm_fini (vsf_pwm_t *pwm_ptr)
 Finalize a PWM instance.
 
fsm_rt_t vsf_pwm_enable (vsf_pwm_t *pwm_ptr)
 Enable PWM instance.
 
fsm_rt_t vsf_pwm_disable (vsf_pwm_t *pwm_ptr)
 Disable a PWM instance.
 
vsf_pwm_capability_t vsf_pwm_capability (vsf_pwm_t *pwm_ptr)
 Get the capability of PWM instance.
 
vsf_err_t vsf_pwm_set (vsf_pwm_t *pwm_ptr, uint8_t channel, uint32_t period, uint32_t pulse)
 PWM set the period width and pulse width for a channel.
 
uint32_t vsf_pwm_get_freq (vsf_pwm_t *pwm_ptr)
 PWM get clock frequency.
 
vsf_err_t vsf_pwm_set_ns (vsf_pwm_t *pwm_ptr, uint8_t channel, uint32_t period_ns, uint32_t pulse_ns)
 Set PWM period in nanoseconds.
 
vsf_err_t vsf_pwm_set_us (vsf_pwm_t *pwm_ptr, uint8_t channel, uint32_t period_us, uint32_t pulse_us)
 Set PWM period in microseconds.
 
vsf_err_t vsf_pwm_set_ms (vsf_pwm_t *pwm_ptr, uint8_t channel, uint32_t period_ms, uint32_t pulse_ms)
 Set PWM period in milliseconds.
 

Macro Definition Documentation

◆ VSF_PWM_CFG_FUNCTION_RENAME

#define VSF_PWM_CFG_FUNCTION_RENAME   DISABLED

Function Documentation

◆ vsf_pwm_init()

vsf_err_t vsf_pwm_init ( vsf_pwm_t pwm_ptr,
vsf_pwm_cfg_t cfg_ptr 
)

Initialize a PWM instance.

Parameters
[in]pwm_ptrpointer to structure vsf_pwm_t
[in]cfg_ptrpointer to configuration structure vsf_pwm_cfg_t
Returns
vsf_err_t: VSF_ERR_NONE if initialization successful, otherwise return error code
Note
It is not necessary to call vsf_pwm_fini() to deinitialize. vsf_pwm_init() should be called before any other PWM API except vsf_pwm_capability().

◆ vsf_pwm_fini()

void vsf_pwm_fini ( vsf_pwm_t pwm_ptr)

Finalize a PWM instance.

Parameters
[in]pwm_ptra pointer to structure vsf_pwm_t
Returns
none

◆ vsf_pwm_enable()

fsm_rt_t vsf_pwm_enable ( vsf_pwm_t pwm_ptr)

Enable PWM instance.

Parameters
[in]pwm_ptrpointer to structure vsf_pwm_t
Returns
fsm_rt_t: fsm_rt_cpl if PWM was enabled, fsm_rt_on_going if PWM is still enabling

◆ vsf_pwm_disable()

fsm_rt_t vsf_pwm_disable ( vsf_pwm_t pwm_ptr)

Disable a PWM instance.

Parameters
[in]pwm_ptra pointer to structure vsf_pwm_t
Returns
fsm_rt_t: fsm_rt_cpl if PWM was disabled, fsm_rt_on_going if PWM is still disabling

◆ vsf_pwm_capability()

vsf_pwm_capability_t vsf_pwm_capability ( vsf_pwm_t pwm_ptr)

Get the capability of PWM instance.

Parameters
[in]pwm_ptra pointer to structure vsf_pwm_t
Returns
vsf_pwm_capability_t: all capabilities of current PWM vsf_pwm_capability_t

◆ vsf_pwm_set()

vsf_err_t vsf_pwm_set ( vsf_pwm_t pwm_ptr,
uint8_t  channel,
uint32_t  period,
uint32_t  pulse 
)

PWM set the period width and pulse width for a channel.

Parameters
[in]pwm_ptra pointer to structure vsf_pwm_t
[in]channelPWM channel
[in]periodPWM period width (in clock counter)
[in]pulsePWM pulse width (in clock counter)
Returns
vsf_err_t: VSF_ERR_NONE if the PWM set was successful, or a negative error code

◆ vsf_pwm_get_freq()

uint32_t vsf_pwm_get_freq ( vsf_pwm_t pwm_ptr)

PWM get clock frequency.

Parameters
[in]pwm_ptra pointer to structure vsf_pwm_t
Returns
uint32_t: PWM clock frequency in Hz

◆ vsf_pwm_set_ns()

vsf_err_t vsf_pwm_set_ns ( vsf_pwm_t pwm_ptr,
uint8_t  channel,
uint32_t  period,
uint32_t  pulse 
)

Set PWM period in nanoseconds.

Parameters
[in]pwm_ptra pointer to structure vsf_pwm_t
[in]channelPWM channel
[in]periodPWM period width (in nanoseconds)
[in]pulsePWM pulse width (in nanoseconds)
Returns
vsf_err_t: VSF_ERR_NONE if the PWM set was successful, otherwise returns error code

◆ vsf_pwm_set_us()

vsf_err_t vsf_pwm_set_us ( vsf_pwm_t pwm_ptr,
uint8_t  channel,
uint32_t  period,
uint32_t  pulse 
)

Set PWM period in microseconds.

Parameters
[in]pwm_ptra pointer to structure vsf_pwm_t
[in]channelPWM channel
[in]periodPWM period width (in microseconds)
[in]pulsePWM pulse width (in microseconds)
Returns
vsf_err_t: VSF_ERR_NONE if the PWM set was successful, otherwise returns error code

◆ vsf_pwm_set_ms()

vsf_err_t vsf_pwm_set_ms ( vsf_pwm_t pwm_ptr,
uint8_t  channel,
uint32_t  period,
uint32_t  pulse 
)

Set PWM period in milliseconds.

Parameters
[in]pwm_ptra pointer to structure vsf_pwm_t
[in]channelPWM channel
[in]periodPWM period width (in milliseconds)
[in]pulsePWM pulse width (in milliseconds)
Returns
vsf_err_t: VSF_ERR_NONE if the PWM set was successful, otherwise returns error code
Generated from commit: vsfteam/vsf@2b286be