Analog Devices / Mbed OS EVAL-AD4110

Dependencies:   tempsensors sdp_k1_sdram

Embed: (wiki syntax)

« Back to documentation index

ad4110_data_capture.c File Reference

ad4110_data_capture.c File Reference

Source file for AD4110 Data capture. More...

Go to the source code of this file.

Functions

static void reset_data_capture (void)
 Reset the data capture specific variables.
static int32_t adc_start_data_capture (void)
 Trigger a data capture in continuous/burst mode.
static int32_t adc_stop_data_capture (void)
 Stop a data capture operation.
int32_t prepare_data_transfer (uint32_t ch_mask, uint8_t num_of_chns, uint8_t sample_size)
 Function to prepare the data ADC capture for new READBUFF request from IIO client (for active channels)
int32_t end_data_transfer (void)
 Function to end data capture.
static int32_t read_burst_data (int8_t *pbuf, uint32_t nb_of_samples)
 Capture requested number of ADC samples in burst mode.
static int32_t buffer_read_operations (uint32_t nb_of_samples)
 Perform buffer read operations to read requested samples.
static void buffer_write_operations (void)
 Perform buffer write operations such as buffer full or empty check, resetting buffer index and pointers, etc.
static int32_t read_continuous_conv_data (int8_t **pbuf, uint32_t nb_of_samples)
 Read requested number of ADC samples in continuous mode.
static int32_t adc_read_converted_sample (uint32_t *adc_data, uint8_t input_chn)
 Read ADC raw data for recently sampled channel.
void data_capture_callback (void *ctx)
 This is an ISR (Interrupt Service Routine) to monitor end of conversion event.
int32_t read_buffered_data (int8_t **pbuf, uint32_t nb_of_bytes)
 Function to read the ADC buffered raw data requested by IIO client.

Detailed Description

Source file for AD4110 Data capture.

Copyright (c) 2022 Analog Devices, Inc. All rights reserved.

This software is proprietary to Analog Devices, Inc. and its licensors. By using this software you agree to the terms of the associated Analog Devices Software License Agreement.

Definition in file ad4110_data_capture.c.


Function Documentation

static int32_t adc_read_converted_sample ( uint32_t *  adc_data,
uint8_t  input_chn 
) [static]

Read ADC raw data for recently sampled channel.

Parameters:
adc_data[out]- Pointer to adc data read variable
input_chn[in]- Input channel
Returns:
0 in case of success, negative error code otherwise
Note:
This function is intended to call from the conversion end trigger event. Therefore, this function should just read raw ADC data without further monitoring conversion end event

Definition at line 396 of file ad4110_data_capture.c.

static int32_t adc_start_data_capture ( void   ) [static]

Trigger a data capture in continuous/burst mode.

Returns:
0 in case of success, negative error code otherwise

Definition at line 127 of file ad4110_data_capture.c.

static int32_t adc_stop_data_capture ( void   ) [static]

Stop a data capture operation.

Returns:
0 in case of success, negative error code otherwise

Definition at line 137 of file ad4110_data_capture.c.

static int32_t buffer_read_operations ( uint32_t  nb_of_samples ) [static]

Perform buffer read operations to read requested samples.

Parameters:
nb_of_samples[in]- Requested number of samples to read
Returns:
0 in case of success, negative error code otherwise

Definition at line 273 of file ad4110_data_capture.c.

static void buffer_write_operations ( void   ) [static]

Perform buffer write operations such as buffer full or empty check, resetting buffer index and pointers, etc.

Returns:
none

Definition at line 307 of file ad4110_data_capture.c.

void data_capture_callback ( void *  ctx )

This is an ISR (Interrupt Service Routine) to monitor end of conversion event.

Parameters:
ctx[in]- Callback context (unused)
Returns:
none

This is an Interrupt callback function/ISR invoked in synchronous/asynchronous manner depending upon the application implementation. The conversion results are read into acquisition buffer and control continue to sample next channel. This continues until conversion is stopped (through IIO client command)

Definition at line 433 of file ad4110_data_capture.c.

int32_t end_data_transfer ( void   )

Function to end data capture.

Returns:
0 in case of success, negative error code otherwise

Definition at line 211 of file ad4110_data_capture.c.

int32_t prepare_data_transfer ( uint32_t  ch_mask,
uint8_t  num_of_chns,
uint8_t  sample_size 
)

Function to prepare the data ADC capture for new READBUFF request from IIO client (for active channels)

Parameters:
chn_mask[in]- Channels to enable for data capturing
num_of_chns[in]- ADC channel count
sample_size[in]- Sample size in bytes
Returns:
0 in case of success, negative error code otherwise

Definition at line 151 of file ad4110_data_capture.c.

int32_t read_buffered_data ( int8_t **  pbuf,
uint32_t  nb_of_bytes 
)

Function to read the ADC buffered raw data requested by IIO client.

Parameters:
pbuf[in]- Pointer to data buffer
nb_of_bytes[in]- Number of bytes to read
Returns:
0 in case of success, negative error code otherwise

Definition at line 488 of file ad4110_data_capture.c.

static int32_t read_burst_data ( int8_t *  pbuf,
uint32_t  nb_of_samples 
) [static]

Capture requested number of ADC samples in burst mode.

Parameters:
pbuf[out]- Pointer to ADC data buffer
nb_of_samples[in]- Number of samples to be read
Returns:
0 in case of success, negative error code otherwise

Definition at line 229 of file ad4110_data_capture.c.

static int32_t read_continuous_conv_data ( int8_t **  pbuf,
uint32_t  nb_of_samples 
) [static]

Read requested number of ADC samples in continuous mode.

Parameters:
pbuf[in]- Pointer to data buffer
nb_of_samples[in]- Number of samples to read
Returns:
0 in case of success, negative error code otherwise
Note:
The actual sample capturing happens through interrupt. This function tracks the buffer read pointer to read block of data

Definition at line 347 of file ad4110_data_capture.c.

static void reset_data_capture ( void   ) [static]

Reset the data capture specific variables.

Returns:
none

Definition at line 105 of file ad4110_data_capture.c.