/* * 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); }