mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
49 lines
1.2 KiB
C
49 lines
1.2 KiB
C
/*
|
|
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
// The HAL layer for ADC (esp32s2 specific part)
|
|
|
|
#include "hal/dac_hal.h"
|
|
#include "hal/adc_ll.h"
|
|
#include "hal/dac_types.h"
|
|
|
|
/*---------------------------------------------------------------
|
|
Digital controller setting
|
|
---------------------------------------------------------------*/
|
|
|
|
void dac_hal_digi_init(void)
|
|
{
|
|
dac_ll_digi_clk_inv(true);
|
|
}
|
|
|
|
void dac_hal_digi_deinit(void)
|
|
{
|
|
dac_ll_digi_trigger_output(false);
|
|
dac_ll_digi_enable_dma(false);
|
|
dac_ll_digi_fifo_reset();
|
|
dac_ll_digi_reset();
|
|
}
|
|
|
|
void dac_hal_digi_controller_config(const dac_digi_config_t *cfg)
|
|
{
|
|
dac_ll_digi_set_convert_mode(cfg->mode);
|
|
dac_ll_digi_set_trigger_interval(cfg->interval);
|
|
adc_ll_digi_controller_clk_div(cfg->dig_clk.div_num, cfg->dig_clk.div_b, cfg->dig_clk.div_a);
|
|
adc_ll_digi_clk_sel(cfg->dig_clk.use_apll);
|
|
}
|
|
|
|
void dac_hal_digi_start(void)
|
|
{
|
|
dac_ll_digi_enable_dma(true);
|
|
dac_ll_digi_trigger_output(true);
|
|
}
|
|
|
|
void dac_hal_digi_stop(void)
|
|
{
|
|
dac_ll_digi_trigger_output(false);
|
|
dac_ll_digi_enable_dma(false);
|
|
}
|