Analog Devices / Mbed OS EVAL-AD717x-AD411x-IIO

Dependencies:   sdp_k1_sdram

Embed: (wiki syntax)

« Back to documentation index

ad717x_data_capture.c File Reference

ad717x_data_capture.c File Reference

Source file for AD717x 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, uint32_t event, void *extra)
 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 AD717x Data capture.

Copyright (c) 2021-22 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 ad717x_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 443 of file ad717x_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 133 of file ad717x_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 144 of file ad717x_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 320 of file ad717x_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 354 of file ad717x_data_capture.c.

void data_capture_callback ( void *  ctx,
uint32_t  event,
void *  extra 
)

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

Parameters:
ctx[in]- Callback context (unused)
event[in]- Callback event (unused)
extra[in]- Callback extra (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 493 of file ad717x_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 227 of file ad717x_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 159 of file ad717x_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 550 of file ad717x_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 280 of file ad717x_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 394 of file ad717x_data_capture.c.

static void reset_data_capture ( void   ) [static]

Reset the data capture specific variables.

Returns:
none

Definition at line 111 of file ad717x_data_capture.c.