no-OS
iio_max2201x.h
Go to the documentation of this file.
1 /***************************************************************************/
39 #ifndef IIO_MAX2201X_H
40 #define IIO_MAX2201X_H
41 
42 #include <stdint.h>
43 #include <stdbool.h>
44 #include "iio.h"
45 #include "max2201x.h"
46 
52 };
53 
58 };
59 
67 };
68 
73 };
74 
85 };
86 
93 };
94 
100 };
101 
105 
108 
109 #endif /* IIO_MAX2201X_H */
MAX2201X_OUTPUT_VOLTAGE_MONITORRING
@ MAX2201X_OUTPUT_VOLTAGE_MONITORRING
Definition: max2201x.h:127
MAX2201X_TIMEOUT_1000MS
@ MAX2201X_TIMEOUT_1000MS
Definition: max2201x.h:151
MAX2201X_UPDATE_RATE_15KHZ_7KHZ
@ MAX2201X_UPDATE_RATE_15KHZ_7KHZ
Definition: max2201x.h:177
MAX2201X_TIMEOUT_700MS
@ MAX2201X_TIMEOUT_700MS
Definition: max2201x.h:148
max2201x_sr_update_rate
max2201x_sr_update_rate
Definition: max2201x.h:171
iio_max2201x.h
Header file of IIO MAX2201X Driver.
MAX2201X_IIO_STEP_SIZE_AVAILABLE
@ MAX2201X_IIO_STEP_SIZE_AVAILABLE
Definition: iio_max2201x.h:78
MAX2201X_IIO_TIMEOUT_AVAILABLE
@ MAX2201X_IIO_TIMEOUT_AVAILABLE
Definition: iio_max2201x.h:84
max2201x_iio_slew_rate
max2201x_iio_slew_rate
Definition: iio_max2201x.h:47
no_os_alloc.h
END_ATTRIBUTES_ARRAY
#define END_ATTRIBUTES_ARRAY
Definition: iio_types.h:122
max2201x_reg_read
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
@ MAX2201X_IIO_TIMEOUT
Definition: iio_max2201x.h:70
max2201x_iio_init
int max2201x_iio_init(struct max2201x_iio_desc **, struct max2201x_iio_desc_init_param *)
Definition: iio_max2201x.c:770
ID_MAX22018
@ ID_MAX22018
Definition: max2201x.h:118
MAX2201X_TIMEOUT_1200MS
@ MAX2201X_TIMEOUT_1200MS
Definition: max2201x.h:153
MAX2201X_UNIPOLAR
@ MAX2201X_UNIPOLAR
Definition: max2201x.h:133
IIO_VAL_INT
@ IIO_VAL_INT
Definition: iio_types.h:56
iio_channel
Struct describing the scan type.
Definition: iio_types.h:174
max2201x_desc::chip_id
enum max2201x_type chip_id
Definition: max2201x.h:218
MAX2201X_SR_STEP_SIZE_MASK
#define MAX2201X_SR_STEP_SIZE_MASK
Definition: max2201x.h:88
max2201x_iio_desc::max2201x_desc
struct max2201x_desc * max2201x_desc
Definition: iio_max2201x.h:91
max2201x_iio_config
max2201x_iio_config
Definition: iio_max2201x.h:60
MAX2201X_STEP_SIZE_35BITS
@ MAX2201X_STEP_SIZE_35BITS
Definition: max2201x.h:168
MAX2201X_TIMEOUT_400MS
@ MAX2201X_TIMEOUT_400MS
Definition: max2201x.h:145
max2201x_op_mode
max2201x_op_mode
Definition: max2201x.h:121
MAX2201X_CHANNEL
#define MAX2201X_CHANNEL(_addr)
Definition: iio_max2201x.c:51
iio_desc
Definition: iio.c:210
iio_ch_info
Structure holding channel attributess.
Definition: iio_types.h:109
MAX2201X_UPDATE_RATE_32KHZ_16KHZ
@ MAX2201X_UPDATE_RATE_32KHZ_16KHZ
Definition: max2201x.h:179
MAX2201X_IIO_TH_SHTDN
@ MAX2201X_IIO_TH_SHTDN
Definition: iio_max2201x.h:65
no_os_units.h
Header file of Units.
max2201x_cm_sense
max2201x_cm_sense
Definition: max2201x.h:136
MAX2201X_IIO_CM_SENSE_AVAILABLE
@ MAX2201X_IIO_CM_SENSE_AVAILABLE
Definition: iio_max2201x.h:82
max2201x_reg_update
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
@ MAX2201X_IIO_ENABLE_AVAILABLE
Definition: iio_max2201x.h:76
max2201x_reg_write
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
@ MAX2201X_IIO_UPDATE_RATE_AVAILABLE
Definition: iio_max2201x.h:79
MAX2201X_TIMEOUT_1600MS
@ MAX2201X_TIMEOUT_1600MS
Definition: max2201x.h:157
MAX2201X_TIMEOUT_300MS
@ MAX2201X_TIMEOUT_300MS
Definition: max2201x.h:144
MAX2201X_IIO_POLARITY_AVAILABLE
@ MAX2201X_IIO_POLARITY_AVAILABLE
Definition: iio_max2201x.h:81
max2201x_get_data
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
@ MAX2201X_IIO_LD_CTRL
Definition: iio_max2201x.h:62
MAX2201X_IIO_TIMEOUT_EN
@ MAX2201X_IIO_TIMEOUT_EN
Definition: iio_max2201x.h:71
max2201x_config
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
MAX2201X_TIMEOUT_CNFG_MASK
#define MAX2201X_TIMEOUT_CNFG_MASK
Definition: max2201x.h:105
no_os_calloc
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
NO_OS_ARRAY_SIZE
#define NO_OS_ARRAY_SIZE(x)
Definition: no_os_util.h:55
max2201x_iio_desc
Structure holding the MAX2201X IIO descriptor.
Definition: iio_max2201x.h:90
MAX2201X_INPUT_VOLTAGE_MODE
@ MAX2201X_INPUT_VOLTAGE_MODE
Definition: max2201x.h:123
MAX2201X_STEP_SIZE_26BITS
@ MAX2201X_STEP_SIZE_26BITS
Definition: max2201x.h:165
max2201x_gain_calib
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
max2201x_iio_init
int max2201x_iio_init(struct max2201x_iio_desc **iio_desc, struct max2201x_iio_desc_init_param *init_param)
Definition: iio_max2201x.c:770
iio_device::debug_reg_read
int32_t(* debug_reg_read)(void *dev, uint32_t reg, uint32_t *readval)
Definition: iio_types.h:289
MAX2201X_TIMEOUT_EN_MASK
#define MAX2201X_TIMEOUT_EN_MASK
Definition: max2201x.h:106
MAX2201X_OUTPUT_VOLTAGE_NO_MONITORRING
@ MAX2201X_OUTPUT_VOLTAGE_NO_MONITORRING
Definition: max2201x.h:125
MAX2201X_AO_SLEW_RATE_CH1
#define MAX2201X_AO_SLEW_RATE_CH1
Definition: max2201x.h:65
MAX2201X_EXT_DAC_REF_MASK
#define MAX2201X_EXT_DAC_REF_MASK
Definition: max2201x.h:81
MAX2201X_UPDATE_RATE_12KHZ_6KHZ
@ MAX2201X_UPDATE_RATE_12KHZ_6KHZ
Definition: max2201x.h:176
max2201x_channel
max2201x_channel
Definition: max2201x.h:182
no_os_field_prep
uint32_t no_os_field_prep(uint32_t mask, uint32_t val)
MAX2201X_UNI_MASK
#define MAX2201X_UNI_MASK(x)
Definition: max2201x.h:99
MAX2201X_AO_CNFG
#define MAX2201X_AO_CNFG
Definition: max2201x.h:64
MAX2201X_GEN_INT
#define MAX2201X_GEN_INT
Definition: max2201x.h:57
max2201x_init_param
Structure holding the MAX2201X initialization parameter.
Definition: max2201x.h:198
iio.h
Header file of iio.
no_os_error.h
Error codes definition.
max2201x_iio_remove
int max2201x_iio_remove(struct max2201x_iio_desc *)
Definition: iio_max2201x.c:803
MAX2201X_50_OHM_RESISTOR
@ MAX2201X_50_OHM_RESISTOR
Definition: max2201x.h:137
iio_attribute::name
const char * name
Definition: iio_types.h:137
MAX2201X_CH2
@ MAX2201X_CH2
Definition: max2201x.h:184
MAX2201X_TIMEOUT_500MS
@ MAX2201X_TIMEOUT_500MS
Definition: max2201x.h:146
max2201x_iio_setup_channels
int max2201x_iio_setup_channels(struct max2201x_iio_desc *iio_desc)
Definition: iio_max2201x.c:747
MAX2201X_TIMEOUT_600MS
@ MAX2201X_TIMEOUT_600MS
Definition: max2201x.h:147
max2201x_iio_remove
int max2201x_iio_remove(struct max2201x_iio_desc *iio_desc)
Definition: iio_max2201x.c:803
max2201x_iio_desc::iio_dev
struct iio_device * iio_dev
Definition: iio_max2201x.h:92
max2201x_iio_ao_config
max2201x_iio_ao_config
Definition: iio_max2201x.h:54
max2201x.h
Header file of MAX2201X Driver.
MAX2201X_AO_OFFSET_CORR_CH2
#define MAX2201X_AO_OFFSET_CORR_CH2
Definition: max2201x.h:71
MAX2201X_IIO_STEP_SIZE
@ MAX2201X_IIO_STEP_SIZE
Definition: iio_max2201x.h:50
MAX2201X_IIO_LDAC
@ MAX2201X_IIO_LDAC
Definition: iio_max2201x.h:57
MAX2201X_UPDATE_RATE_64KHZ_32KHZ
@ MAX2201X_UPDATE_RATE_64KHZ_32KHZ
Definition: max2201x.h:173
MAX2201X_IIO_TIMEOUT_CFG
@ MAX2201X_IIO_TIMEOUT_CFG
Definition: iio_max2201x.h:72
MAX2201X_GEN_CNFG
#define MAX2201X_GEN_CNFG
Definition: max2201x.h:52
MAX2201X_IIO_OW_DETECT
@ MAX2201X_IIO_OW_DETECT
Definition: iio_max2201x.h:66
iio_attribute
Structure holding pointers to show and store functions.
Definition: iio_types.h:135
MAX2201X_IIO_CONFIG_ENABLE_AVAILABLE
@ MAX2201X_IIO_CONFIG_ENABLE_AVAILABLE
Definition: iio_max2201x.h:83
max2201x_iio_timeout
max2201x_iio_timeout
Definition: iio_max2201x.h:69
MAX2201X_IIO_CM_SENSE
@ MAX2201X_IIO_CM_SENSE
Definition: iio_max2201x.h:56
MAX2201X_UPDATE_RATE_4KHZ_2KHZ
@ MAX2201X_UPDATE_RATE_4KHZ_2KHZ
Definition: max2201x.h:172
MAX2201X_TIMEOUT_1100MS
@ MAX2201X_TIMEOUT_1100MS
Definition: max2201x.h:152
ID_MAX22017
@ ID_MAX22017
Definition: max2201x.h:117
MAX2201X_BIPOLAR
@ MAX2201X_BIPOLAR
Definition: max2201x.h:132
MAX2201X_TIMEOUT_200MS
@ MAX2201X_TIMEOUT_200MS
Definition: max2201x.h:143
MAX2201X_OUTPUT_CURRENT_MONITORRING
@ MAX2201X_OUTPUT_CURRENT_MONITORRING
Definition: max2201x.h:128
max2201x_iio_desc_init_param
Structure holding the MAX2201X IIO initialization parameter.
Definition: iio_max2201x.h:98
iio_parse_value
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
@ MAX2201X_STEP_SIZE_31BITS
Definition: max2201x.h:167
MAX2201X_TIMEOUT_1400MS
@ MAX2201X_TIMEOUT_1400MS
Definition: max2201x.h:155
MAX2201X_STEP_SIZE_512BITS
@ MAX2201X_STEP_SIZE_512BITS
Definition: max2201x.h:161
max2201x_set_data
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
MAX2201X_SR_EN_MASK
#define MAX2201X_SR_EN_MASK
Definition: max2201x.h:86
MAX2201X_TIMEOUT_MASK
#define MAX2201X_TIMEOUT_MASK
Definition: max2201x.h:107
MAX2201X_STEP_SIZE_28BITS
@ MAX2201X_STEP_SIZE_28BITS
Definition: max2201x.h:166
MAX2201X_AO_OFFSET_CORR_CH1
#define MAX2201X_AO_OFFSET_CORR_CH1
Definition: max2201x.h:69
MAX2201X_IIO_SLEW_RATE
@ MAX2201X_IIO_SLEW_RATE
Definition: iio_max2201x.h:48
MAX2201X_250_OHM_RESISTOR
@ MAX2201X_250_OHM_RESISTOR
Definition: max2201x.h:138
MAX2201X_UPDATE_RATE_200KHZ_100KHZ
@ MAX2201X_UPDATE_RATE_200KHZ_100KHZ
Definition: max2201x.h:175
iio_format_value
int iio_format_value(char *buf, uint32_t len, enum iio_val fmt, int32_t size, int32_t *vals)
Definition: iio.c:667
iio_ch_info::address
uint32_t address
Definition: iio_types.h:119
max2201x_desc
Structure holding the MAX2201X device descriptor.
Definition: max2201x.h:212
no_os_field_get
uint32_t no_os_field_get(uint32_t mask, uint32_t word)
iio_types.h
Header file for iio_types.
no_os_free
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
@ MAX2201X_OUTPUT_CURRENT_NO_MONITORRING
Definition: max2201x.h:126
max2201x_out_mode
max2201x_out_mode
Definition: max2201x.h:131
MAX2201X_TIMEOUT_800MS
@ MAX2201X_TIMEOUT_800MS
Definition: max2201x.h:149
MAX2201X_IIO_CURR_LIM
@ MAX2201X_IIO_CURR_LIM
Definition: iio_max2201x.h:63
max2201x_offset_calib
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
max2201x_iio_read_avail
int max2201x_iio_read_avail(const char *const *array_avail, char *buf, uint32_t len)
Definition: iio_max2201x.c:399
NULL
#define NULL
Definition: wrapper.h:64
MAX2201X_CM_SENSE_MASK
#define MAX2201X_CM_SENSE_MASK(x)
Definition: max2201x.h:98
MAX2201X_HIGH_Z
@ MAX2201X_HIGH_Z
Definition: max2201x.h:122
MAX2201X_IIO_DAC_REF
@ MAX2201X_IIO_DAC_REF
Definition: iio_max2201x.h:61
MAX2201X_STEP_SIZE_4096BITS
@ MAX2201X_STEP_SIZE_4096BITS
Definition: max2201x.h:163
init_param
struct ad7616_init_param init_param
Definition: ad7616_sdz.c:119
MAX2201X_TIMEOUT_1300MS
@ MAX2201X_TIMEOUT_1300MS
Definition: max2201x.h:154
iio_device
Structure holding channels and attributes of a device.
Definition: iio_types.h:253
MAX2201X_UPDATE_RATE_160KHZ_80KHZ
@ MAX2201X_UPDATE_RATE_160KHZ_80KHZ
Definition: max2201x.h:174
max2201x_iio_desc_init_param::max2201x_init_param
struct max2201x_init_param * max2201x_init_param
Definition: iio_max2201x.h:99
max2201x_remove
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
@ MAX2201X_STEP_SIZE_1024BITS
Definition: max2201x.h:162
MAX2201X_SR_SEL_MASK
#define MAX2201X_SR_SEL_MASK
Definition: max2201x.h:87
MAX2201X_STEP_SIZE_16384BITS
@ MAX2201X_STEP_SIZE_16384BITS
Definition: max2201x.h:164
MAX2201X_IIO_OVC_SHTDN
@ MAX2201X_IIO_OVC_SHTDN
Definition: iio_max2201x.h:64
MAX2201X_UPDATE_RATE_20KHZ_10KHZ
@ MAX2201X_UPDATE_RATE_20KHZ_10KHZ
Definition: max2201x.h:178
MAX2201X_CH1
@ MAX2201X_CH1
Definition: max2201x.h:183
max2201x_iio_available
max2201x_iio_available
Definition: iio_max2201x.h:75
MAX2201X_LD_CNFG_MASK
#define MAX2201X_LD_CNFG_MASK(x)
Definition: max2201x.h:97
MAX2201X_TIMEOUT_100MS
@ MAX2201X_TIMEOUT_100MS
Definition: max2201x.h:142
MAX2201X_INPUT_CURRENT_MODE
@ MAX2201X_INPUT_CURRENT_MODE
Definition: max2201x.h:124
MAX2201X_IIO_OP_MODE_AVAILABLE
@ MAX2201X_IIO_OP_MODE_AVAILABLE
Definition: iio_max2201x.h:80
max2201x_sr_step_size
max2201x_sr_step_size
Definition: max2201x.h:160
MAX2201X_IIO_RANGE_AVAILABLE
@ MAX2201X_IIO_RANGE_AVAILABLE
Definition: iio_max2201x.h:77
MAX2201X_IIO_POLARITY
@ MAX2201X_IIO_POLARITY
Definition: iio_max2201x.h:55
max2201x_slew_rate
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
no_os_util.h
Header file of utility functions.
MAX2201X_IIO_CNFG_MASK
#define MAX2201X_IIO_CNFG_MASK(x, y)
Definition: iio_max2201x.c:61
MAX2201X_SR_UPDATE_RATE_MASK
#define MAX2201X_SR_UPDATE_RATE_MASK
Definition: max2201x.h:89
MAX2201X_IIO_RANGE
@ MAX2201X_IIO_RANGE
Definition: iio_max2201x.h:49
MAX2201X_TIMEOUT_900MS
@ MAX2201X_TIMEOUT_900MS
Definition: max2201x.h:150
MAX2201X_TIMEOUT_1500MS
@ MAX2201X_TIMEOUT_1500MS
Definition: max2201x.h:156
MAX2201X_IIO_UPDATE_RATE
@ MAX2201X_IIO_UPDATE_RATE
Definition: iio_max2201x.h:51
max2201x_init
int max2201x_init(struct max2201x_desc **desc, struct max2201x_init_param *param)
Initialize and configure the MAX2201X device.
Definition: max2201x.c:593
MAX2201X_AO_CMD
#define MAX2201X_AO_CMD
Definition: max2201x.h:62
MAX2201X_GEN_INTEN
#define MAX2201X_GEN_INTEN
Definition: max2201x.h:58
MAX2201X_AO_SLEW_RATE_CH2
#define MAX2201X_AO_SLEW_RATE_CH2
Definition: max2201x.h:66