Bouffalo SDK
1.0
Bouffalolab Software Development Kit
|
![]() |
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) |
void bflb_pwm_v1_channel_deinit | ( | struct bflb_device_s * | dev, |
uint8_t | ch | ||
) |
Deinitialize pwm channel.
[in] | dev | device handle |
[in] | ch | channel number |
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.
[in] | dev | device handle |
[in] | ch | channel number |
[in] | config | pointer to save pwm channel config |
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%.
[in] | dev | device handle |
[in] | ch | channel number |
[in] | low_threhold | pwm low threhold |
[in] | high_threhold | pwm high threhold |
int bflb_pwm_v1_feature_control | ( | struct bflb_device_s * | dev, |
uint8_t | ch, | ||
int | cmd, | ||
size_t | arg | ||
) |
[in] | dev | device handle |
[in] | ch | channel number |
[in] | cmd | feature command, use pwm feature control cmd definition |
[in] | arg | user data |
uint32_t bflb_pwm_v1_get_intstatus | ( | struct bflb_device_s * | dev | ) |
Get pwm interrupt status.
[in] | dev | device handle |
void bflb_pwm_v1_int_clear | ( | struct bflb_device_s * | dev, |
uint32_t | int_clear | ||
) |
Clear pwm interrupt status.
[in] | dev | device handle |
[in] | int_clear | clear value, use pwm interrupt clear definition |
void bflb_pwm_v1_int_enable | ( | struct bflb_device_s * | dev, |
uint8_t | ch, | ||
bool | enable | ||
) |
Enable pwm interrupt.
[in] | dev | device handle |
[in] | ch | channel number |
[in] | enable | true means enable, otherwise disable. |
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.
[in] | dev | device handle |
[in] | ch | channel number |
[in] | period | pwm period |
void bflb_pwm_v1_start | ( | struct bflb_device_s * | dev, |
uint8_t | ch | ||
) |
Start pwm channel output.
[in] | dev | device handle |
[in] | ch | channel number |
void bflb_pwm_v1_stop | ( | struct bflb_device_s * | dev, |
uint8_t | ch | ||
) |
Stop pwm channel output.
[in] | dev | device handle |
[in] | ch | channel number |