Skip to main content

adc_continuous_parse_data

Function adc_continuous_parse_data 

Source
pub unsafe extern "C" fn adc_continuous_parse_data(
    handle: adc_continuous_handle_t,
    raw_data: *const u8,
    raw_data_size: u32,
    parsed_data: *mut adc_continuous_data_t,
    num_parsed_samples: *mut u32,
) -> esp_err_t
Expand description

@brief Parse ADC continuous mode raw data

@param[in] handle ADC continuous mode driver handle @param[in] raw_data Raw data buffer obtained from adc_continuous_read() @param[in] raw_data_size Size of raw data buffer in bytes @param[out] parsed_data Parsed data array @param[out] num_parsed_samples Number of samples actually parsed and stored in parsed_data

@note The function will parse all available samples from raw_data. User should ensure parsed_data array is large enough to hold raw_data_size/SOC_ADC_DIGI_RESULT_BYTES samples. The function includes comprehensive bounds checking to prevent buffer overflow and integer overflow.

@return - ESP_OK: Success - ESP_ERR_INVALID_ARG: Invalid arguments - ESP_ERR_INVALID_SIZE: raw_data_size is not aligned to SOC_ADC_DIGI_RESULT_BYTES, integer overflow detected, or buffer overflow detected