precision-converters-firmware
Loading...
Searching...
No Matches
Macros | Functions | Variables
ad4134_iio.c File Reference

Implementation of AD4134 IIO Application interfaces. More...

#include <stdint.h>
#include <string.h>
#include "no_os_error.h"
#include "no_os_alloc.h"
#include "no_os_pwm.h"
#include "app_config.h"
#include "common.h"
#include "ad4134_support.h"
#include "ad4134_user_config.h"
#include "iio_trigger.h"
#include "stm32_tdm_support.h"
#include "version.h"
Include dependency graph for ad4134_iio.c:

Macros

#define ADC_DEFAULT_REF_VOLTAGE   (4.096)
 
#define ADC_DEFAULT_SCALE   ((ADC_DEFAULT_REF_VOLTAGE / (ADC_MAX_COUNT_BIPOLAR)) * 1000)
 
#define AD7134_IIO_TRIGGER_NAME   "ad4134_iio_trigger"
 
#define NUM_OF_IIO_DEVICES   1
 
#define DATA_BUFFER_SIZE   (128000)
 

Functions

int32_t debug_reg_read (void *dev, uint32_t reg, uint32_t *readval)
 Read the debug register value.
 
int32_t debug_reg_write (void *dev, uint32_t reg, uint32_t writeval)
 Write into the debug register.
 
int32_t ad7134_trigger_handler (struct iio_device_data *iio_dev_data)
 
int32_t iio_app_initialize (void)
 Initialize the AD7134 device for iio interface.
 
void iio_app_event_handler (void)
 Run the AD7134 IIO event handler.
 

Variables

struct iio_attribute channel_input_attributes []
 
struct scan_type chn_scan
 
struct iio_device_data * ad7134_iio_dev_data
 
bool data_capture_operation = false
 
uint16_t adc_data_continuous_mode [AD7134_NUM_CHANNELS] = {0}
 

Detailed Description

Implementation of AD4134 IIO Application interfaces.

Copyright (c) 2020-21, 2023-25 Analog Devices, Inc.

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.

Macro Definition Documentation

◆ AD7134_IIO_TRIGGER_NAME

#define AD7134_IIO_TRIGGER_NAME   "ad4134_iio_trigger"

◆ ADC_DEFAULT_REF_VOLTAGE

#define ADC_DEFAULT_REF_VOLTAGE   (4.096)

◆ ADC_DEFAULT_SCALE

#define ADC_DEFAULT_SCALE   ((ADC_DEFAULT_REF_VOLTAGE / (ADC_MAX_COUNT_BIPOLAR)) * 1000)

◆ DATA_BUFFER_SIZE

#define DATA_BUFFER_SIZE   (128000)

◆ NUM_OF_IIO_DEVICES

#define NUM_OF_IIO_DEVICES   1

Function Documentation

◆ ad7134_trigger_handler()

int32_t ad7134_trigger_handler ( struct iio_device_data *  iio_dev_data)

◆ debug_reg_read()

int32_t debug_reg_read ( void *  dev,
uint32_t  reg,
uint32_t *  readval 
)

Read the debug register value.

Parameters
dev-Pointer to IIO device instance
reg-Register address to read from
readval-Pointer to variable to read data into
Returns
0 in case of success, negative value otherwise

◆ debug_reg_write()

int32_t debug_reg_write ( void *  dev,
uint32_t  reg,
uint32_t  writeval 
)

Write into the debug register.

Parameters
dev-Pointer to IIO device instance
reg-Register address to write into
writeval-Register value to write
Returns
0 in case of success, negative value otherwise

◆ iio_app_event_handler()

void iio_app_event_handler ( void  )

Run the AD7134 IIO event handler.

Run the AD3530R IIO event handler.

Returns
none

This function monitors the new IIO client event

◆ iio_app_initialize()

int32_t iio_app_initialize ( void  )

Initialize the AD7134 device for iio interface.

Initialize the IIO interface for AD3530R IIO device.

Returns
0 in case of success, negative error code otherwise

Variable Documentation

◆ ad7134_iio_dev_data

struct iio_device_data* ad7134_iio_dev_data

◆ adc_data_continuous_mode

uint16_t adc_data_continuous_mode[AD7134_NUM_CHANNELS] = {0}

◆ channel_input_attributes

struct iio_attribute channel_input_attributes[]
Initial value:
= {
{
.name = "raw",
.show = get_raw,
.store = set_raw,
},
{
.name = "scale",
.show = get_scale,
.store = set_scale,
},
{
.name = "offset",
.show = get_offset,
.store = set_offset,
},
END_ATTRIBUTES_ARRAY
}

◆ chn_scan

struct scan_type chn_scan
Initial value:
= {
.sign = 'u',
.realbits = ADC_RESOLUTION,
.storagebits = ADC_RESOLUTION,
.shift = 0,
.is_big_endian = false
}
#define ADC_RESOLUTION
Definition app_config.h:161

◆ data_capture_operation

bool data_capture_operation = false