mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
82 lines
1.6 KiB
C
82 lines
1.6 KiB
C
/*
|
|
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "esp_intr_alloc.h"
|
|
#include "hal/dma_types.h"
|
|
#include "hal/adc_hal.h"
|
|
#include "../adc_continuous_internal.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* @brief Initialize DMA interrupt event
|
|
*
|
|
* @param[in] adc_ctx ADC continuous mode driver handle
|
|
*
|
|
* @return
|
|
* - ESP_OK: On success
|
|
*/
|
|
esp_err_t adc_dma_intr_event_init(adc_continuous_ctx_t *adc_ctx);
|
|
|
|
/**
|
|
* @brief Initialize DMA on ADC continuous mode
|
|
*
|
|
* @param[in] adc_dma ADC DMA context
|
|
*
|
|
* @return
|
|
* - ESP_OK: On success
|
|
*/
|
|
esp_err_t adc_dma_init(adc_dma_t *adc_dma);
|
|
|
|
/**
|
|
* @brief Deinitialize DMA on ADC continuous mode
|
|
*
|
|
* @param[in] adc_dma ADC DMA context
|
|
*
|
|
* @return
|
|
* - ESP_OK: On success
|
|
*/
|
|
esp_err_t adc_dma_deinit(adc_dma_t adc_dma);
|
|
|
|
/**
|
|
* @brief Start DMA on ADC continuous mode
|
|
*
|
|
* @param[in] adc_dma ADC DMA context
|
|
* @param[in] addr ADC DMA descriptor
|
|
*
|
|
* @return
|
|
* - ESP_OK: On success
|
|
*/
|
|
esp_err_t adc_dma_start(adc_dma_t adc_dma, dma_descriptor_t *addr);
|
|
|
|
/**
|
|
* @brief Stop DMA on ADC continuous mode
|
|
*
|
|
* @param[in] adc_dma ADC DMA context
|
|
*
|
|
* @return
|
|
* - ESP_OK: On success
|
|
*/
|
|
esp_err_t adc_dma_stop(adc_dma_t adc_dma);
|
|
|
|
/**
|
|
* @brief Reset DMA on ADC continuous mode
|
|
*
|
|
* @param[in] adc_dma ADC DMA context
|
|
*
|
|
* @return
|
|
* - ESP_OK: On success
|
|
*/
|
|
esp_err_t adc_dma_reset(adc_dma_t adc_dma);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|