Implementation of the AD5933 IIO driver.
More...
#include <errno.h>
#include <inttypes.h>
#include <stdio.h>
#include <math.h>
#include "iio_ad5933.h"
#include "ad5933.h"
#include "iio.h"
#include "no_os_alloc.h"
#include "no_os_util.h"
#include <string.h>
|
| enum | ad5933_iio_chan {
AD5933_CH_REAL
,
AD5933_CH_IMAG
,
AD5933_CH_TEMP
} |
| |
| enum | ad5933_iio_attr_priv {
AD5933_ATTR_TEMP_SCALE
,
AD5933_ATTR_PGA_GAIN
,
AD5933_ATTR_PGA_GAIN_AVAILABLE
,
AD5933_ATTR_OUTPUT_RANGE
,
AD5933_ATTR_OUTPUT_RANGE_AVAILABLE
,
AD5933_ATTR_START_FREQ
,
AD5933_ATTR_FREQ_INCREMENT
,
AD5933_ATTR_FREQ_POINTS
,
AD5933_ATTR_SETTLING_CYCLES
,
AD5933_ATTR_SWEEP_INITIALIZED
,
AD5933_ATTR_SWEEP_STARTED
,
AD5933_ATTR_CURRENT_OUTPUT_FREQ
,
AD5933_ATTR_REPEAT_MEASUREMENT
,
AD5933_ATTR_INCREMENTED_MEASUREMENT
,
AD5933_ATTR_CLK_FREQ
,
AD5933_ATTR_MIN_OUTPUT_FREQ
,
AD5933_ATTR_MAX_OUTPUT_FREQ
} |
| |
Implementation of the AD5933 IIO driver.
- Author
- Mark John Lerry Casero (markj.nosp@m.ohnl.nosp@m.erry..nosp@m.case.nosp@m.ro@an.nosp@m.alog.nosp@m..com)
Copyright 2026(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause
◆ AD5933_CH_RO_ATTR
| #define AD5933_CH_RO_ATTR |
( |
| _name, |
|
|
| _priv ) |
Value: { \
.name = _name, \
.priv = _priv, \
.show = ad5933_iio_read_attr, \
}
◆ AD5933_CH_RW_ATTR
| #define AD5933_CH_RW_ATTR |
( |
| _name, |
|
|
| _priv ) |
Value: { \
.name = _name, \
.priv = _priv, \
.show = ad5933_iio_read_attr, \
.store = ad5933_iio_write_attr, \
}
◆ AD5933_INIT_EXCITATION_TIME_ms
| #define AD5933_INIT_EXCITATION_TIME_ms 100 |
◆ AD5933_STATE_SWEEP_DONE
| #define AD5933_STATE_SWEEP_DONE 0x0C |
◆ AD5933_TEMP_SCALE_INT
| #define AD5933_TEMP_SCALE_INT 0 |
◆ AD5933_TEMP_SCALE_MICRO
| #define AD5933_TEMP_SCALE_MICRO 31250 |
◆ DECIMAL_TO_MICROS
| #define DECIMAL_TO_MICROS |
( |
| x | ) |
|
◆ MICROS_TO_DECIMAL
| #define MICROS_TO_DECIMAL |
( |
| x | ) |
|
◆ ad5933_iio_attr_priv
Device-attribute selector carried through iio_attribute.priv.
| Enumerator |
|---|
| AD5933_ATTR_TEMP_SCALE | |
| AD5933_ATTR_PGA_GAIN | |
| AD5933_ATTR_PGA_GAIN_AVAILABLE | |
| AD5933_ATTR_OUTPUT_RANGE | |
| AD5933_ATTR_OUTPUT_RANGE_AVAILABLE | |
| AD5933_ATTR_START_FREQ | |
| AD5933_ATTR_FREQ_INCREMENT | |
| AD5933_ATTR_FREQ_POINTS | |
| AD5933_ATTR_SETTLING_CYCLES | |
| AD5933_ATTR_SWEEP_INITIALIZED | |
| AD5933_ATTR_SWEEP_STARTED | |
| AD5933_ATTR_CURRENT_OUTPUT_FREQ | |
| AD5933_ATTR_REPEAT_MEASUREMENT | |
| AD5933_ATTR_INCREMENTED_MEASUREMENT | |
| AD5933_ATTR_CLK_FREQ | |
| AD5933_ATTR_MIN_OUTPUT_FREQ | |
| AD5933_ATTR_MAX_OUTPUT_FREQ | |
◆ ad5933_iio_chan
Per-channel selector carried through iio_channel.address.
| Enumerator |
|---|
| AD5933_CH_REAL | |
| AD5933_CH_IMAG | |
| AD5933_CH_TEMP | |
◆ ad5933_iio_init()
Initialize the AD5933 IIO driver.
- Parameters
-
| iio_dev | - The AD5933 IIO device descriptor. |
| init_param | - The AD5933 IIO device initialization parameters. |
- Returns
- 0 in case of success, negative error code otherwise.
◆ ad5933_iio_remove()
Free the resources allocated by ad5933_iio_init().
- Parameters
-
| desc | - The AD5933 IIO device descriptor. |
- Returns
- 0 in case of success, negative error code otherwise.