1
6
7
8
9
12
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
80
/* ... */
#include "driver/mcpwm_prelude.h"
/* ... */
typedef struct inverter_config {
mcpwm_timer_config_t timer_config;
mcpwm_operator_config_t operator_config;
mcpwm_comparator_config_t compare_config;
int gen_gpios[3][2];
mcpwm_dead_time_config_t dt_config;
mcpwm_dead_time_config_t inv_dt_config;
}{ ... } inverter_config_t;
typedef struct mcpwm_svpwm_ctx *inverter_handle_t;
/* ... */
esp_err_t svpwm_new_inverter(const inverter_config_t *config, inverter_handle_t *ret_inverter);
/* ... */
esp_err_t svpwm_inverter_register_cbs(inverter_handle_t handle, const mcpwm_timer_event_callbacks_t *event, void *user_ctx);
/* ... */
esp_err_t svpwm_inverter_start(inverter_handle_t handle, mcpwm_timer_start_stop_cmd_t command);
/* ... */
esp_err_t svpwm_inverter_set_duty(inverter_handle_t handle, uint16_t u, uint16_t v, uint16_t w);
/* ... */
esp_err_t svpwm_del_inverter(inverter_handle_t handle);