Go to the documentation of this file.
39 #ifndef IIO_MAX2201X_H
40 #define IIO_MAX2201X_H
@ MAX2201X_OUTPUT_VOLTAGE_MONITORRING
Definition: max2201x.h:127
@ MAX2201X_TIMEOUT_1000MS
Definition: max2201x.h:151
@ MAX2201X_UPDATE_RATE_15KHZ_7KHZ
Definition: max2201x.h:177
@ MAX2201X_TIMEOUT_700MS
Definition: max2201x.h:148
max2201x_sr_update_rate
Definition: max2201x.h:171
Header file of IIO MAX2201X Driver.
@ MAX2201X_IIO_STEP_SIZE_AVAILABLE
Definition: iio_max2201x.h:78
@ MAX2201X_IIO_TIMEOUT_AVAILABLE
Definition: iio_max2201x.h:84
max2201x_iio_slew_rate
Definition: iio_max2201x.h:47
#define END_ATTRIBUTES_ARRAY
Definition: iio_types.h:122
int max2201x_reg_read(struct max2201x_desc *desc, uint32_t addr, uint32_t *val)
Read the value of a device register.
Definition: max2201x.c:495
@ MAX2201X_IIO_TIMEOUT
Definition: iio_max2201x.h:70
int max2201x_iio_init(struct max2201x_iio_desc **, struct max2201x_iio_desc_init_param *)
Definition: iio_max2201x.c:770
@ ID_MAX22018
Definition: max2201x.h:118
@ MAX2201X_TIMEOUT_1200MS
Definition: max2201x.h:153
@ MAX2201X_UNIPOLAR
Definition: max2201x.h:133
@ IIO_VAL_INT
Definition: iio_types.h:56
Struct describing the scan type.
Definition: iio_types.h:174
enum max2201x_type chip_id
Definition: max2201x.h:218
#define MAX2201X_SR_STEP_SIZE_MASK
Definition: max2201x.h:88
struct max2201x_desc * max2201x_desc
Definition: iio_max2201x.h:91
max2201x_iio_config
Definition: iio_max2201x.h:60
@ MAX2201X_STEP_SIZE_35BITS
Definition: max2201x.h:168
@ MAX2201X_TIMEOUT_400MS
Definition: max2201x.h:145
max2201x_op_mode
Definition: max2201x.h:121
#define MAX2201X_CHANNEL(_addr)
Definition: iio_max2201x.c:51
Structure holding channel attributess.
Definition: iio_types.h:109
@ MAX2201X_UPDATE_RATE_32KHZ_16KHZ
Definition: max2201x.h:179
@ MAX2201X_IIO_TH_SHTDN
Definition: iio_max2201x.h:65
max2201x_cm_sense
Definition: max2201x.h:136
@ MAX2201X_IIO_CM_SENSE_AVAILABLE
Definition: iio_max2201x.h:82
int max2201x_reg_update(struct max2201x_desc *desc, uint32_t addr, uint32_t mask, uint32_t val)
Update the value of a device register (read/write sequence).
Definition: max2201x.c:571
@ MAX2201X_IIO_ENABLE_AVAILABLE
Definition: iio_max2201x.h:76
int max2201x_reg_write(struct max2201x_desc *desc, uint32_t addr, uint32_t val)
Write the value of a device register.
Definition: max2201x.c:540
@ MAX2201X_IIO_UPDATE_RATE_AVAILABLE
Definition: iio_max2201x.h:79
@ MAX2201X_TIMEOUT_1600MS
Definition: max2201x.h:157
@ MAX2201X_TIMEOUT_300MS
Definition: max2201x.h:144
@ MAX2201X_IIO_POLARITY_AVAILABLE
Definition: iio_max2201x.h:81
int max2201x_get_data(struct max2201x_desc *desc, enum max2201x_channel ch, int32_t *data)
Get data from requestec channel.
Definition: max2201x.c:303
@ MAX2201X_IIO_LD_CTRL
Definition: iio_max2201x.h:62
@ MAX2201X_IIO_TIMEOUT_EN
Definition: iio_max2201x.h:71
int max2201x_config(struct max2201x_desc *desc, enum max2201x_channel ch, enum max2201x_out_mode uni, enum max2201x_cm_sense cm_sense, bool ldac)
Set AO configuration.
Definition: max2201x.c:428
#define MAX2201X_TIMEOUT_CNFG_MASK
Definition: max2201x.h:105
void * no_os_calloc(size_t nitems, size_t size)
Allocate memory and return a pointer to it, set memory to 0.
Definition: chibios_alloc.c:60
#define NO_OS_ARRAY_SIZE(x)
Definition: no_os_util.h:55
Structure holding the MAX2201X IIO descriptor.
Definition: iio_max2201x.h:90
@ MAX2201X_INPUT_VOLTAGE_MODE
Definition: max2201x.h:123
@ MAX2201X_STEP_SIZE_26BITS
Definition: max2201x.h:165
int max2201x_gain_calib(struct max2201x_desc *desc, enum max2201x_channel ch, uint16_t gain)
Set gain value for calibration of requested channel.
Definition: max2201x.c:380
int max2201x_iio_init(struct max2201x_iio_desc **iio_desc, struct max2201x_iio_desc_init_param *init_param)
Definition: iio_max2201x.c:770
int32_t(* debug_reg_read)(void *dev, uint32_t reg, uint32_t *readval)
Definition: iio_types.h:289
#define MAX2201X_TIMEOUT_EN_MASK
Definition: max2201x.h:106
@ MAX2201X_OUTPUT_VOLTAGE_NO_MONITORRING
Definition: max2201x.h:125
#define MAX2201X_AO_SLEW_RATE_CH1
Definition: max2201x.h:65
#define MAX2201X_EXT_DAC_REF_MASK
Definition: max2201x.h:81
@ MAX2201X_UPDATE_RATE_12KHZ_6KHZ
Definition: max2201x.h:176
max2201x_channel
Definition: max2201x.h:182
uint32_t no_os_field_prep(uint32_t mask, uint32_t val)
#define MAX2201X_UNI_MASK(x)
Definition: max2201x.h:99
#define MAX2201X_AO_CNFG
Definition: max2201x.h:64
#define MAX2201X_GEN_INT
Definition: max2201x.h:57
Structure holding the MAX2201X initialization parameter.
Definition: max2201x.h:198
int max2201x_iio_remove(struct max2201x_iio_desc *)
Definition: iio_max2201x.c:803
@ MAX2201X_50_OHM_RESISTOR
Definition: max2201x.h:137
const char * name
Definition: iio_types.h:137
@ MAX2201X_CH2
Definition: max2201x.h:184
@ MAX2201X_TIMEOUT_500MS
Definition: max2201x.h:146
int max2201x_iio_setup_channels(struct max2201x_iio_desc *iio_desc)
Definition: iio_max2201x.c:747
@ MAX2201X_TIMEOUT_600MS
Definition: max2201x.h:147
int max2201x_iio_remove(struct max2201x_iio_desc *iio_desc)
Definition: iio_max2201x.c:803
struct iio_device * iio_dev
Definition: iio_max2201x.h:92
max2201x_iio_ao_config
Definition: iio_max2201x.h:54
Header file of MAX2201X Driver.
#define MAX2201X_AO_OFFSET_CORR_CH2
Definition: max2201x.h:71
@ MAX2201X_IIO_STEP_SIZE
Definition: iio_max2201x.h:50
@ MAX2201X_IIO_LDAC
Definition: iio_max2201x.h:57
@ MAX2201X_UPDATE_RATE_64KHZ_32KHZ
Definition: max2201x.h:173
@ MAX2201X_IIO_TIMEOUT_CFG
Definition: iio_max2201x.h:72
#define MAX2201X_GEN_CNFG
Definition: max2201x.h:52
@ MAX2201X_IIO_OW_DETECT
Definition: iio_max2201x.h:66
Structure holding pointers to show and store functions.
Definition: iio_types.h:135
@ MAX2201X_IIO_CONFIG_ENABLE_AVAILABLE
Definition: iio_max2201x.h:83
max2201x_iio_timeout
Definition: iio_max2201x.h:69
@ MAX2201X_IIO_CM_SENSE
Definition: iio_max2201x.h:56
@ MAX2201X_UPDATE_RATE_4KHZ_2KHZ
Definition: max2201x.h:172
@ MAX2201X_TIMEOUT_1100MS
Definition: max2201x.h:152
@ ID_MAX22017
Definition: max2201x.h:117
@ MAX2201X_BIPOLAR
Definition: max2201x.h:132
@ MAX2201X_TIMEOUT_200MS
Definition: max2201x.h:143
@ MAX2201X_OUTPUT_CURRENT_MONITORRING
Definition: max2201x.h:128
Structure holding the MAX2201X IIO initialization parameter.
Definition: iio_max2201x.h:98
int32_t iio_parse_value(char *buf, enum iio_val fmt, int32_t *val, int32_t *val2)
Definition: iio.c:616
@ MAX2201X_STEP_SIZE_31BITS
Definition: max2201x.h:167
@ MAX2201X_TIMEOUT_1400MS
Definition: max2201x.h:155
@ MAX2201X_STEP_SIZE_512BITS
Definition: max2201x.h:161
int max2201x_set_data(struct max2201x_desc *desc, enum max2201x_channel ch, int32_t data)
Set data of the selected channel.
Definition: max2201x.c:280
#define MAX2201X_SR_EN_MASK
Definition: max2201x.h:86
#define MAX2201X_TIMEOUT_MASK
Definition: max2201x.h:107
@ MAX2201X_STEP_SIZE_28BITS
Definition: max2201x.h:166
#define MAX2201X_AO_OFFSET_CORR_CH1
Definition: max2201x.h:69
@ MAX2201X_IIO_SLEW_RATE
Definition: iio_max2201x.h:48
@ MAX2201X_250_OHM_RESISTOR
Definition: max2201x.h:138
@ MAX2201X_UPDATE_RATE_200KHZ_100KHZ
Definition: max2201x.h:175
int iio_format_value(char *buf, uint32_t len, enum iio_val fmt, int32_t size, int32_t *vals)
Definition: iio.c:667
uint32_t address
Definition: iio_types.h:119
Structure holding the MAX2201X device descriptor.
Definition: max2201x.h:212
uint32_t no_os_field_get(uint32_t mask, uint32_t word)
Header file for iio_types.
void no_os_free(void *ptr)
Deallocate memory previously allocated by a call to no_os_calloc or no_os_malloc.
Definition: chibios_alloc.c:75
@ MAX2201X_OUTPUT_CURRENT_NO_MONITORRING
Definition: max2201x.h:126
max2201x_out_mode
Definition: max2201x.h:131
@ MAX2201X_TIMEOUT_800MS
Definition: max2201x.h:149
@ MAX2201X_IIO_CURR_LIM
Definition: iio_max2201x.h:63
int max2201x_offset_calib(struct max2201x_desc *desc, enum max2201x_channel ch, int16_t offset)
Set offset value for output calibration.
Definition: max2201x.c:359
int max2201x_iio_read_avail(const char *const *array_avail, char *buf, uint32_t len)
Definition: iio_max2201x.c:399
#define NULL
Definition: wrapper.h:64
#define MAX2201X_CM_SENSE_MASK(x)
Definition: max2201x.h:98
@ MAX2201X_HIGH_Z
Definition: max2201x.h:122
@ MAX2201X_IIO_DAC_REF
Definition: iio_max2201x.h:61
@ MAX2201X_STEP_SIZE_4096BITS
Definition: max2201x.h:163
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:119
@ MAX2201X_TIMEOUT_1300MS
Definition: max2201x.h:154
Structure holding channels and attributes of a device.
Definition: iio_types.h:253
@ MAX2201X_UPDATE_RATE_160KHZ_80KHZ
Definition: max2201x.h:174
struct max2201x_init_param * max2201x_init_param
Definition: iio_max2201x.h:99
int max2201x_remove(struct max2201x_desc *desc)
Free the resources allocated during init and perform a soft reset.
Definition: max2201x.c:683
@ MAX2201X_STEP_SIZE_1024BITS
Definition: max2201x.h:162
#define MAX2201X_SR_SEL_MASK
Definition: max2201x.h:87
@ MAX2201X_STEP_SIZE_16384BITS
Definition: max2201x.h:164
@ MAX2201X_IIO_OVC_SHTDN
Definition: iio_max2201x.h:64
@ MAX2201X_UPDATE_RATE_20KHZ_10KHZ
Definition: max2201x.h:178
@ MAX2201X_CH1
Definition: max2201x.h:183
max2201x_iio_available
Definition: iio_max2201x.h:75
#define MAX2201X_LD_CNFG_MASK(x)
Definition: max2201x.h:97
@ MAX2201X_TIMEOUT_100MS
Definition: max2201x.h:142
@ MAX2201X_INPUT_CURRENT_MODE
Definition: max2201x.h:124
@ MAX2201X_IIO_OP_MODE_AVAILABLE
Definition: iio_max2201x.h:80
max2201x_sr_step_size
Definition: max2201x.h:160
@ MAX2201X_IIO_RANGE_AVAILABLE
Definition: iio_max2201x.h:77
@ MAX2201X_IIO_POLARITY
Definition: iio_max2201x.h:55
int max2201x_slew_rate(struct max2201x_desc *desc, enum max2201x_channel ch, enum max2201x_sr_step_size step_size, enum max2201x_sr_update_rate update_rate, bool enable, bool hart)
Set slew rate settings for requested channels.
Definition: max2201x.c:333
Header file of utility functions.
#define MAX2201X_IIO_CNFG_MASK(x, y)
Definition: iio_max2201x.c:61
#define MAX2201X_SR_UPDATE_RATE_MASK
Definition: max2201x.h:89
@ MAX2201X_IIO_RANGE
Definition: iio_max2201x.h:49
@ MAX2201X_TIMEOUT_900MS
Definition: max2201x.h:150
@ MAX2201X_TIMEOUT_1500MS
Definition: max2201x.h:156
@ MAX2201X_IIO_UPDATE_RATE
Definition: iio_max2201x.h:51
int max2201x_init(struct max2201x_desc **desc, struct max2201x_init_param *param)
Initialize and configure the MAX2201X device.
Definition: max2201x.c:593
#define MAX2201X_AO_CMD
Definition: max2201x.h:62
#define MAX2201X_GEN_INTEN
Definition: max2201x.h:58
#define MAX2201X_AO_SLEW_RATE_CH2
Definition: max2201x.h:66