RUI3 (RAK Unified Interface 3) - RAK4631
udrv_pwm.h
Go to the documentation of this file.
1 
9 #ifndef _UDRV_PWM_H_
10 #define _UDRV_PWM_H_
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 #include <stdint.h>
17 #include <stddef.h>
18 
19 #define PWM_NO_TIMEOUT UINT32_MAX
20 
21 typedef enum{
22  UDRV_PWM_RESOLUTION_8BIT = (0UL), //< 8 bit resolution.
23  UDRV_PWM_RESOLUTION_10BIT = (1UL), //< 10 bit resolution.
24  UDRV_PWM_RESOLUTION_12BIT = (2UL), //< 12 bit resolution.
25  UDRV_PWM_RESOLUTION_14BIT = (3UL) //< 14 bit resolution.
27 
28 typedef enum {
29  UDRV_PWM_0 = 0x0,
30  UDRV_PWM_1 = 0x1,
31  UDRV_PWM_2 = 0x2,
32  UDRV_PWM_MAX = 0x3,
34 
41 void udrv_pwm_init(udrv_pwm_port port, uint32_t freq_hz, uint8_t is_invert, uint32_t pin);
42 
48 
55 int32_t udrv_pwm_set_duty(udrv_pwm_port port, uint32_t duty);
56 
64 int32_t udrv_pwm_enable(udrv_pwm_port port, uint32_t duration);
65 
73 
78 void udrv_pwm_suspend(void);
79 
84 void udrv_pwm_resume(void);
85 
91 
97 
98 #ifdef __cplusplus
99 }
100 #endif
101 
102 #endif //_UDRV_PWM_H_
Definition: udrv_pwm.h:23
void udrv_pwm_deinit(udrv_pwm_port port)
UDRV_PWM_RESOLUTION udrv_pwm_get_resolution(void)
void udrv_pwm_disable(udrv_pwm_port port)
Definition: udrv_pwm.h:30
void udrv_pwm_suspend(void)
Definition: udrv_pwm.h:29
Definition: udrv_pwm.h:24
int32_t udrv_pwm_set_duty(udrv_pwm_port port, uint32_t duty)
Definition: udrv_pwm.h:32
udrv_pwm_port
Definition: udrv_pwm.h:28
int32_t udrv_pwm_enable(udrv_pwm_port port, uint32_t duration)
void udrv_pwm_resume(void)
void udrv_pwm_init(udrv_pwm_port port, uint32_t freq_hz, uint8_t is_invert, uint32_t pin)
Definition: udrv_pwm.h:31
UDRV_PWM_RESOLUTION
Definition: udrv_pwm.h:21
Definition: udrv_pwm.h:22
Definition: udrv_pwm.h:25
void udrv_pwm_set_resolution(UDRV_PWM_RESOLUTION resolution)