precision-converters-firmware
Loading...
Searching...
No Matches
Classes | Macros | Typedefs | Enumerations | Functions | Variables
dpot_iio.c File Reference
#include <stdbool.h>
#include "dpot_iio.h"
#include "dpot_user_config.h"
#include "dpot_support.h"
#include "version.h"
#include "no_os_delay.h"
Include dependency graph for dpot_iio.c:

Classes

struct  dpot_board
 

Macros

#define NUM_OF_IIO_DEV   2
 
#define DPOT_CHN_ATTR(_name, _priv)
 
#define DPOT_CHN_AVAIL_ATTR(_name, _priv)
 
#define DPOT_CH(_name, _dev, _idx, _type, attr)
 

Typedefs

typedef struct dpot_board dpot_board
 

Enumerations

enum  dpot_iio_attr_id {
  DPOT_RAW_ATTR_ID ,
  DPOT_SCALE_ATTR_ID ,
  DPOT_INPUT_REG_VAL_ATTR_ID ,
  DPOT_EEPROM_VAL_ATTR_ID ,
  DPOT_RDAC_LINEAR_ATTR_ID ,
  DPOT_RDAC_LINEAR_AVL_ATTR_ID ,
  DPOT_RDAC_6DB_ATTR_ID ,
  DPOT_RDAC_6DB_AVL_ATTR_ID ,
  DPOT_SHUTDOWN_VAL_ATTR_ID ,
  DPOT_SHUTDOWN_VAL_AVL_ATTR_ID ,
  DPOT_SW_LRDAC_ATTR_ID ,
  DPOT_SW_LRDAC_AVL_ATTR_ID ,
  DPOT_COPY_RDAC_TO_EEPROM_ATTR_ID ,
  DPOT_COPY_RDAC_TO_EEPROM_AVL_ATTR_ID ,
  DPOT_COPY_EEPROM_TO_RDAC_ATTR_ID ,
  DPOT_COPY_EEPROM_TO_RDAC_AVL_ATTR_ID ,
  DPOT_TOP_SCALE_ID ,
  DPOT_TOP_SCALE_ID_AVL_ATTR_ID ,
  DPOT_BOTTOM_SCALE_ID ,
  DPOT_BOTTOM_SCALE_ID_AVL_ATTR_ID ,
  DPOT_TOLERANCE_ATTR_ID ,
  DPOT_SET_MID_SCALE_ATTR_ID ,
  DPOT_SET_MID_SCALE_AVL_ATTR_ID ,
  NUM_OF_CHN_ATTR ,
  DPOT_OPERATING_MODE_ATTR_ID ,
  DPOT_OPERATING_MODE_AVL_ATTR_ID ,
  DPOT_RDAC_WP_ATTR_ID ,
  DPOT_RDAC_WP_AVL_ATTR_ID ,
  DPOT_NVM_PROGRAMMING_ATTR_ID ,
  DPOT_NVM_PROGRAMMING_AVL_ATTR_ID ,
  DPOT_RESTART_IIO_ATTR_ID ,
  DPOT_DEVICE_GENERIC_ATTR_ID ,
  DPOT_DEVICE_GENERIC_AVL_ATTR_ID ,
  DPOT_INTERFACE_ATTR_ID ,
  DPOT_INTERFACE_AVL_ATTR_ID ,
  NUM_OF_DEV_ATTR = DPOT_INTERFACE_AVL_ATTR_ID - NUM_OF_CHN_ATTR
}
 

Functions

int init_default (void)
 Initialize default values for the active device and interface type if unset.
 
int iio_params_deinit (void)
 DeInitialize the IIO params.
 
int dpot_iio_init (void)
 Initialize the IIO interface for digipot IIO device.
 
void dpot_iio_event_handler (void)
 Run the digipot IIO event handler.
 

Variables

struct dpot_devdpot_dev_desc
 
bool restart_iio_flag = false
 

Macro Definition Documentation

◆ DPOT_CH

#define DPOT_CH (   _name,
  _dev,
  _idx,
  _type,
  attr 
)
Value:
{\
.name = _name, \
.ch_type = _type,\
.ch_out = 0,\
.indexed = true,\
.channel = _idx,\
.scan_index = _idx,\
.scan_type = &chn_scan,\
.attributes = attr[_dev]\
}
struct scan_type chn_scan[RESOLVER_CHANNELS]
Definition ad2s1210_iio.c:110

◆ DPOT_CHN_ATTR

#define DPOT_CHN_ATTR (   _name,
  _priv 
)
Value:
{\
.name = _name,\
.priv = _priv,\
.show = dpot_iio_attr_get,\
.store = dpot_iio_attr_set\
}

◆ DPOT_CHN_AVAIL_ATTR

#define DPOT_CHN_AVAIL_ATTR (   _name,
  _priv 
)
Value:
{\
.name = _name,\
.priv = _priv,\
.show = dpot_iio_attr_available_get,\
.store = dpot_iio_attr_available_set\
}

◆ NUM_OF_IIO_DEV

#define NUM_OF_IIO_DEV   2

Typedef Documentation

◆ dpot_board

typedef struct dpot_board dpot_board

Enumeration Type Documentation

◆ dpot_iio_attr_id

Enumerator
DPOT_RAW_ATTR_ID 
DPOT_SCALE_ATTR_ID 
DPOT_INPUT_REG_VAL_ATTR_ID 
DPOT_EEPROM_VAL_ATTR_ID 
DPOT_RDAC_LINEAR_ATTR_ID 
DPOT_RDAC_LINEAR_AVL_ATTR_ID 
DPOT_RDAC_6DB_ATTR_ID 
DPOT_RDAC_6DB_AVL_ATTR_ID 
DPOT_SHUTDOWN_VAL_ATTR_ID 
DPOT_SHUTDOWN_VAL_AVL_ATTR_ID 
DPOT_SW_LRDAC_ATTR_ID 
DPOT_SW_LRDAC_AVL_ATTR_ID 
DPOT_COPY_RDAC_TO_EEPROM_ATTR_ID 
DPOT_COPY_RDAC_TO_EEPROM_AVL_ATTR_ID 
DPOT_COPY_EEPROM_TO_RDAC_ATTR_ID 
DPOT_COPY_EEPROM_TO_RDAC_AVL_ATTR_ID 
DPOT_TOP_SCALE_ID 
DPOT_TOP_SCALE_ID_AVL_ATTR_ID 
DPOT_BOTTOM_SCALE_ID 
DPOT_BOTTOM_SCALE_ID_AVL_ATTR_ID 
DPOT_TOLERANCE_ATTR_ID 
DPOT_SET_MID_SCALE_ATTR_ID 
DPOT_SET_MID_SCALE_AVL_ATTR_ID 
NUM_OF_CHN_ATTR 
DPOT_OPERATING_MODE_ATTR_ID 
DPOT_OPERATING_MODE_AVL_ATTR_ID 
DPOT_RDAC_WP_ATTR_ID 
DPOT_RDAC_WP_AVL_ATTR_ID 
DPOT_NVM_PROGRAMMING_ATTR_ID 
DPOT_NVM_PROGRAMMING_AVL_ATTR_ID 
DPOT_RESTART_IIO_ATTR_ID 
DPOT_DEVICE_GENERIC_ATTR_ID 
DPOT_DEVICE_GENERIC_AVL_ATTR_ID 
DPOT_INTERFACE_ATTR_ID 
DPOT_INTERFACE_AVL_ATTR_ID 
NUM_OF_DEV_ATTR 

Function Documentation

◆ dpot_iio_event_handler()

void dpot_iio_event_handler ( void  )

Run the digipot IIO event handler.

Returns
none

This function monitors the new IIO client event

Here is the caller graph for this function:

◆ dpot_iio_init()

int dpot_iio_init ( void  )

Initialize the IIO interface for digipot IIO device.

Returns
0 in case of success, negative error code otherwise
Here is the caller graph for this function:

◆ iio_params_deinit()

int iio_params_deinit ( void  )

DeInitialize the IIO params.

Returns
0 in case of success, negative error code otherwise
Here is the caller graph for this function:

◆ init_default()

int init_default ( void  )

Initialize default values for the active device and interface type if unset.

Here is the caller graph for this function:

Variable Documentation

◆ dpot_dev_desc

struct dpot_dev* dpot_dev_desc

◆ restart_iio_flag

bool restart_iio_flag = false