Function esp_idf_sys::dac_continuous_write

source ·
pub unsafe extern "C" fn dac_continuous_write(
    handle: dac_continuous_handle_t,
    buf: *mut u8,
    buf_size: usize,
    bytes_loaded: *mut usize,
    timeout_ms: c_int,
) -> esp_err_t
Expand description

@brief Write DAC data continuously @note The data in buffer will only be converted one time, This function will be blocked until all data loaded or timeout then the DAC output will keep outputting the voltage of the last data in the buffer @note Specially, on ESP32, the data bit width of DAC continuous data is fixed to 16 bits while only the high 8 bits are available, The driver will help to expand the inputted buffer automatically by default, you can also align the data to 16 bits manually by clearing CONFIG_DAC_DMA_AUTO_16BIT_ALIGN in menuconfig.

@param[in] handle The DAC continuous channel handle that obtained from ‘dac_continuous_new_channels’ @param[in] buf The digital data buffer to convert @param[in] buf_size The buffer size of digital data buffer @param[out] bytes_loaded The bytes that has been loaded into DMA buffer, can be NULL if don’t need it @param[in] timeout_ms The timeout time in millisecond, set a minus value means will block forever @return - ESP_ERR_INVALID_ARG The input parameter is invalid - ESP_ERR_INVALID_STATE The DAC continuous mode has not been enabled yet - ESP_ERR_TIMEOUT Waiting for semaphore or message queue timeout - ESP_OK Success to output the acyclic DAC data