Bouffalo SDK  1.0
Bouffalolab Software Development Kit
PWM_V1
Collaboration diagram for PWM_V1:

Modules

 pwm channel definition
 
 pwm interrupt status definition
 
 pwm interrupt clear definition
 
 pwm feature control cmd definition
 
 pwm stop mode definition
 

Data Structures

struct  bflb_pwm_v1_channel_config_s
 PWM configuration structure. More...
 

Functions

void bflb_pwm_v1_channel_init (struct bflb_device_s *dev, uint8_t ch, const struct bflb_pwm_v1_channel_config_s *config)
 Initialize pwm channel. More...
 
void bflb_pwm_v1_channel_deinit (struct bflb_device_s *dev, uint8_t ch)
 Deinitialize pwm channel. More...
 
void bflb_pwm_v1_start (struct bflb_device_s *dev, uint8_t ch)
 Start pwm channel output. More...
 
void bflb_pwm_v1_stop (struct bflb_device_s *dev, uint8_t ch)
 Stop pwm channel output. More...
 
void bflb_pwm_v1_set_period (struct bflb_device_s *dev, uint8_t ch, uint16_t period)
 Set pwm channel period to change pwm frequence. Frequcence(hz) = pwm source clock /div/period. More...
 
void bflb_pwm_v1_channel_set_threshold (struct bflb_device_s *dev, uint8_t ch, uint16_t low_threhold, uint16_t high_threhold)
 Set pwm dutycycle. Dutycycle(%) = (high_threhold - low_threhold)/period * 100%. More...
 
void bflb_pwm_v1_int_enable (struct bflb_device_s *dev, uint8_t ch, bool enable)
 Enable pwm interrupt. More...
 
uint32_t bflb_pwm_v1_get_intstatus (struct bflb_device_s *dev)
 Get pwm interrupt status. More...
 
void bflb_pwm_v1_int_clear (struct bflb_device_s *dev, uint32_t int_clear)
 Clear pwm interrupt status. More...
 
int bflb_pwm_v1_feature_control (struct bflb_device_s *dev, uint8_t ch, int cmd, size_t arg)
 

Detailed Description

Function Documentation

◆ bflb_pwm_v1_channel_deinit()

void bflb_pwm_v1_channel_deinit ( struct bflb_device_s dev,
uint8_t  ch 
)

Deinitialize pwm channel.

Parameters
[in]devdevice handle
[in]chchannel number

◆ bflb_pwm_v1_channel_init()

void bflb_pwm_v1_channel_init ( struct bflb_device_s dev,
uint8_t  ch,
const struct bflb_pwm_v1_channel_config_s config 
)

Initialize pwm channel.

Parameters
[in]devdevice handle
[in]chchannel number
[in]configpointer to save pwm channel config

◆ bflb_pwm_v1_channel_set_threshold()

void bflb_pwm_v1_channel_set_threshold ( struct bflb_device_s dev,
uint8_t  ch,
uint16_t  low_threhold,
uint16_t  high_threhold 
)

Set pwm dutycycle. Dutycycle(%) = (high_threhold - low_threhold)/period * 100%.

Parameters
[in]devdevice handle
[in]chchannel number
[in]low_threholdpwm low threhold
[in]high_threholdpwm high threhold

◆ bflb_pwm_v1_feature_control()

int bflb_pwm_v1_feature_control ( struct bflb_device_s dev,
uint8_t  ch,
int  cmd,
size_t  arg 
)
Parameters
[in]devdevice handle
[in]chchannel number
[in]cmdfeature command, use pwm feature control cmd definition
[in]arguser data
Returns
A negated errno value on failure.

◆ bflb_pwm_v1_get_intstatus()

uint32_t bflb_pwm_v1_get_intstatus ( struct bflb_device_s dev)

Get pwm interrupt status.

Parameters
[in]devdevice handle
Returns
interrupt status, use pwm interrupt status definition

◆ bflb_pwm_v1_int_clear()

void bflb_pwm_v1_int_clear ( struct bflb_device_s dev,
uint32_t  int_clear 
)

Clear pwm interrupt status.

Parameters
[in]devdevice handle
[in]int_clearclear value, use pwm interrupt clear definition

◆ bflb_pwm_v1_int_enable()

void bflb_pwm_v1_int_enable ( struct bflb_device_s dev,
uint8_t  ch,
bool  enable 
)

Enable pwm interrupt.

Parameters
[in]devdevice handle
[in]chchannel number
[in]enabletrue means enable, otherwise disable.

◆ bflb_pwm_v1_set_period()

void bflb_pwm_v1_set_period ( struct bflb_device_s dev,
uint8_t  ch,
uint16_t  period 
)

Set pwm channel period to change pwm frequence. Frequcence(hz) = pwm source clock /div/period.

Parameters
[in]devdevice handle
[in]chchannel number
[in]periodpwm period

◆ bflb_pwm_v1_start()

void bflb_pwm_v1_start ( struct bflb_device_s dev,
uint8_t  ch 
)

Start pwm channel output.

Parameters
[in]devdevice handle
[in]chchannel number

◆ bflb_pwm_v1_stop()

void bflb_pwm_v1_stop ( struct bflb_device_s dev,
uint8_t  ch 
)

Stop pwm channel output.

Parameters
[in]devdevice handle
[in]chchannel number