mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-25 17:58:46 +00:00

In esp32p4, the MCPWM has a new feature, mainly ETM-oriented. Each operator has two event comparators, can generate an event when the count value of the timer that operator connects is equal to the value of event comparator.
44 lines
1.2 KiB
C
44 lines
1.2 KiB
C
/*
|
|
* 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 "esp_etm.h"
|
|
#include "driver/mcpwm_types.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* @brief MCPWM event comparator ETM event configuration
|
|
*/
|
|
typedef struct {
|
|
mcpwm_comparator_etm_event_type_t event_type; /*!< MCPWM comparator ETM event type */
|
|
} mcpwm_cmpr_etm_event_config_t;
|
|
|
|
/**
|
|
* @brief Get the ETM event for MCPWM comparator
|
|
*
|
|
* @note The created ETM event object can be deleted later by calling `esp_etm_del_event`
|
|
*
|
|
* @param[in] cmpr MCPWM comparator, allocated by `mcpwm_new_comparator()` or `mcpwm_new_event_comparator()`
|
|
* @param[in] config MCPWM ETM comparator event configuration
|
|
* @param[out] out_event Returned ETM event handle
|
|
* @return
|
|
* - ESP_OK: Get ETM event successfully
|
|
* - ESP_ERR_INVALID_ARG: Get ETM event failed because of invalid argument
|
|
* - ESP_FAIL: Get ETM event failed because of other error
|
|
*/
|
|
esp_err_t mcpwm_comparator_new_etm_event(mcpwm_cmpr_handle_t cmpr, const mcpwm_cmpr_etm_event_config_t *config, esp_etm_event_handle_t *out_event);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|