Select one of the symbols to view example projects that use it.
 
Outline
#include <stdint.h>
#include <stdbool.h>
#include "esp_err.h"
#include "driver/mcpwm_types.h"
mcpwm_timer_sync_src_config_t
mcpwm_new_timer_sync_src(mcpwm_timer_handle_t, const mcpwm_timer_sync_src_config_t *, mcpwm_sync_handle_t *);
mcpwm_gpio_sync_src_config_t
mcpwm_new_gpio_sync_src(const mcpwm_gpio_sync_src_config_t *, mcpwm_sync_handle_t *);
mcpwm_soft_sync_config_t
mcpwm_new_soft_sync_src(const mcpwm_soft_sync_config_t *, mcpwm_sync_handle_t *);
mcpwm_del_sync_src(mcpwm_sync_handle_t);
mcpwm_soft_sync_activate(mcpwm_sync_handle_t);
Files
ESP-IDF
components
app_trace
app_update
bootloader_support
bt
cmock
console
cxx
driver
efuse
esp_adc
esp_app_format
esp_bootloader_format
esp_coex
esp_common
esp_driver_ana_cmpr
esp_driver_cam
esp_driver_dac
esp_driver_gpio
esp_driver_gptimer
esp_driver_i2c
esp_driver_i2s
esp_driver_jpeg
esp_driver_ledc
esp_driver_mcpwm
include
driver
esp_private
src
esp_driver_parlio
esp_driver_pcnt
esp_driver_rmt
esp_driver_sdio
esp_driver_sdm
esp_driver_sdmmc
esp_driver_sdspi
esp_driver_spi
esp_driver_tsens
esp_driver_uart
esp_driver_usb_serial_jtag
esp_eth
esp_event
esp_gdbstub
esp_hid
esp_http_client
esp_http_server
esp_https_ota
esp_https_server
esp_hw_support
esp_lcd
esp_local_ctrl
esp_mm
esp_netif
esp_partition
esp_phy
esp_pm
esp_psram
esp_ringbuf
esp_rom
esp_security
esp_system
esp_timer
esp_vfs_console
esp_wifi
esp-tls
espcoredump
hal
heap
http_parser
ieee802154
log
mqtt
newlib
nvs_flash
nvs_sec_provider
openthread
perfmon
protobuf-c
protocomm
pthread
rt
sdmmc
soc
spi_flash
spiffs
tcp_transport
ulp
unity
vfs
wear_levelling
wifi_provisioning
wpa_supplicant
xtensa
examples
lwIP
FreeRTOS
cJSON
mbedTLS
SourceVuESP-IDF Framework and ExamplesESP-IDFcomponents/esp_driver_mcpwm/include/driver/mcpwm_sync.h
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
/* * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 *//* ... */ #pragma once #include <stdint.h> #include <stdbool.h> #include "esp_err.h" #include "driver/mcpwm_types.h" #ifdef __cplusplus extern "C" { #endif /** * @brief MCPWM timer sync source configuration *//* ... */ typedef struct { mcpwm_timer_event_t timer_event; /*!< Timer event, upon which MCPWM timer will generate the sync signal */ struct { uint32_t propagate_input_sync: 1; /*!< The input sync signal would be routed to its sync output */ }{ ... } flags; /*!< Extra configuration flags for timer sync source */ }{ ... } mcpwm_timer_sync_src_config_t; /** * @brief Create MCPWM timer sync source * * @param[in] timer MCPWM timer handle, allocated by `mcpwm_new_timer()` * @param[in] config MCPWM timer sync source configuration * @param[out] ret_sync Returned MCPWM sync handle * @return * - ESP_OK: Create MCPWM timer sync source successfully * - ESP_ERR_INVALID_ARG: Create MCPWM timer sync source failed because of invalid argument * - ESP_ERR_NO_MEM: Create MCPWM timer sync source failed because out of memory * - ESP_ERR_INVALID_STATE: Create MCPWM timer sync source failed because the timer has created a sync source before * - ESP_FAIL: Create MCPWM timer sync source failed because of other error *//* ... */ esp_err_t mcpwm_new_timer_sync_src(mcpwm_timer_handle_t timer, const mcpwm_timer_sync_src_config_t *config, mcpwm_sync_handle_t *ret_sync); /** * @brief MCPWM GPIO sync source configuration *//* ... */ typedef struct { int group_id; /*!< MCPWM group ID */ int gpio_num; /*!< GPIO used by sync source */ struct { uint32_t active_neg: 1; /*!< Whether the sync signal is active on negedge, by default, the sync signal's posedge is treated as active */ uint32_t io_loop_back: 1; /*!< For debug/test, the signal output from the GPIO will be fed to the input path as well */ uint32_t pull_up: 1; /*!< Whether to pull up internally */ uint32_t pull_down: 1; /*!< Whether to pull down internally */ }{ ... } flags; /*!< Extra configuration flags for GPIO sync source */ }{ ... } mcpwm_gpio_sync_src_config_t; /** * @brief Create MCPWM GPIO sync source * * @param[in] config MCPWM GPIO sync source configuration * @param[out] ret_sync Returned MCPWM GPIO sync handle * @return * - ESP_OK: Create MCPWM GPIO sync source successfully * - ESP_ERR_INVALID_ARG: Create MCPWM GPIO sync source failed because of invalid argument * - ESP_ERR_NO_MEM: Create MCPWM GPIO sync source failed because out of memory * - ESP_ERR_NOT_FOUND: Create MCPWM GPIO sync source failed because can't find free resource * - ESP_FAIL: Create MCPWM GPIO sync source failed because of other error *//* ... */ esp_err_t mcpwm_new_gpio_sync_src(const mcpwm_gpio_sync_src_config_t *config, mcpwm_sync_handle_t *ret_sync); /** * @brief MCPWM software sync configuration structure *//* ... */ typedef struct { }{ ... } mcpwm_soft_sync_config_t; /** * @brief Create MCPWM software sync source * * @param[in] config MCPWM software sync source configuration * @param[out] ret_sync Returned software sync handle * @return * - ESP_OK: Create MCPWM software sync successfully * - ESP_ERR_INVALID_ARG: Create MCPWM software sync failed because of invalid argument * - ESP_ERR_NO_MEM: Create MCPWM software sync failed because out of memory * - ESP_FAIL: Create MCPWM software sync failed because of other error *//* ... */ esp_err_t mcpwm_new_soft_sync_src(const mcpwm_soft_sync_config_t *config, mcpwm_sync_handle_t *ret_sync); /** * @brief Delete MCPWM sync source * * @param[in] sync MCPWM sync handle, allocated by `mcpwm_new_timer_sync_src()` or `mcpwm_new_gpio_sync_src()` or `mcpwm_new_soft_sync_src()` * @return * - ESP_OK: Delete MCPWM sync source successfully * - ESP_ERR_INVALID_ARG: Delete MCPWM sync source failed because of invalid argument * - ESP_FAIL: Delete MCPWM sync source failed because of other error *//* ... */ esp_err_t mcpwm_del_sync_src(mcpwm_sync_handle_t sync); /** * @brief Activate the software sync, trigger the sync event for once * * @param[in] sync MCPWM soft sync handle, allocated by `mcpwm_new_soft_sync_src()` * @return * - ESP_OK: Trigger MCPWM software sync event successfully * - ESP_ERR_INVALID_ARG: Trigger MCPWM software sync event failed because of invalid argument * - ESP_FAIL: Trigger MCPWM software sync event failed because of other error *//* ... */ esp_err_t mcpwm_soft_sync_activate(mcpwm_sync_handle_t sync); #ifdef __cplusplus }{...} #endif
Details