no-OS
Loading...
Searching...
No Matches
iio_lt3074.c File Reference

Source file for the LT3074 IIO Driver. More...

#include <inttypes.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "no_os_alloc.h"
#include "no_os_error.h"
#include "no_os_units.h"
#include "no_os_util.h"
#include "lt3074.h"
#include "iio_lt3074.h"
Include dependency graph for iio_lt3074.c:

Macros

#define LT3074_IIO_CHAN_ATTR(_name, _value)
 
#define LT3074_IIO_GLOBAL_ATTR(_name, _value)
 
#define LT3074_IIO_DBG_ATTR(_name, _value)
 

Enumerations

enum  lt3074_iio_chan_type {
  LT3074_IIO_VIN_CHAN ,
  LT3074_IIO_VOUT_CHAN ,
  LT3074_IIO_IOUT_CHAN ,
  LT3074_IIO_TEMP_CHAN ,
  LT3074_IIO_VBIAS_CHAN
}
 
enum  lt3074_iio_attr_id {
  LT3074_IIO_CHAN_ATTR_RAW ,
  LT3074_IIO_CHAN_ATTR_SCALE ,
  LT3074_IIO_GLOBAL_ATTR_VOUT_MARGIN_LOW ,
  LT3074_IIO_GLOBAL_ATTR_VOUT_MARGIN_HIGH ,
  LT3074_IIO_GLOBAL_ATTR_VOUT_MARGIN_AVAILABLE ,
  LT3074_IIO_GLOBAL_ATTR_VOUT_OV_WARN_LIMIT = LT3074_VOUT_OV_WARN_LIMIT_TYPE ,
  LT3074_IIO_GLOBAL_ATTR_VOUT_UV_WARN_LIMIT = LT3074_VOUT_UV_WARN_LIMIT_TYPE ,
  LT3074_IIO_GLOBAL_ATTR_IOUT_OC_FAULT_LIMIT = LT3074_IOUT_OC_FAULT_LIMIT_TYPE ,
  LT3074_IIO_GLOBAL_ATTR_OT_WARN_LIMIT = LT3074_OT_WARN_LIMIT_TYPE ,
  LT3074_IIO_GLOBAL_ATTR_VIN_OV_WARN_LIMIT = LT3074_VIN_OV_WARN_LIMIT_TYPE ,
  LT3074_IIO_GLOBAL_ATTR_VIN_UV_WARN_LIMIT = LT3074_VIN_UV_WARN_LIMIT_TYPE ,
  LT3074_IIO_GLOBAL_ATTR_VBIAS_OV_WARN_LIMIT = LT3074_VBIAS_OV_WARN_LIMIT_TYPE ,
  LT3074_IIO_GLOBAL_ATTR_VBIAS_UV_WARN_LIMIT = LT3074_VBIAS_UV_WARN_LIMIT_TYPE ,
  LT3074_IIO_GLOBAL_ATTR_IOUT_MIN_WARN_LIMIT = LT3074_IOUT_MIN_WARN_LIMIT_TYPE ,
  LT3074_IIO_DBG_ATTR_STATUS_BYTE = LT3074_STATUS_BYTE ,
  LT3074_IIO_DBG_ATTR_STATUS_VOUT = LT3074_STATUS_VOUT ,
  LT3074_IIO_DBG_ATTR_STATUS_IOUT = LT3074_STATUS_IOUT ,
  LT3074_IIO_DBG_ATTR_STATUS_INPUT = LT3074_STATUS_INPUT ,
  LT3074_IIO_DBG_ATTR_STATUS_TEMPERATURE = LT3074_STATUS_TEMPERATURE ,
  LT3074_IIO_DBG_ATTR_STATUS_CML = LT3074_STATUS_CML ,
  LT3074_IIO_DBG_ATTR_STATUS_MFR_SPECIFIC = LT3074_STATUS_MFR_SPECIFIC ,
  LT3074_IIO_DBG_ATTR_STATUS_WORD = LT3074_STATUS_WORD
}
 

Functions

int lt3074_iio_init (struct lt3074_iio_desc **iio_desc, struct lt3074_iio_desc_init_param *init_param)
 Initializes the LT3074 IIO descriptor.
 
int lt3074_iio_remove (struct lt3074_iio_desc *iio_desc)
 Free resources allocated by the init function.
 

Detailed Description

Source file for the LT3074 IIO Driver.

Author
Cedric Justine Encarnacion (cedri.nosp@m.cjus.nosp@m.tine..nosp@m.enca.nosp@m.rnaci.nosp@m.on@a.nosp@m.nalog.nosp@m..com)

Copyright 2025(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Macro Definition Documentation

◆ LT3074_IIO_CHAN_ATTR

#define LT3074_IIO_CHAN_ATTR ( _name,
_value )
Value:
{ \
.name = #_name, \
.show = lt3074_iio_attr_read, \
.priv = LT3074_IIO_CHAN_ATTR_##_value, \
}

◆ LT3074_IIO_DBG_ATTR

#define LT3074_IIO_DBG_ATTR ( _name,
_value )
Value:
{ \
.name = #_name, \
.show = lt3074_iio_attr_read, \
.priv = LT3074_IIO_DBG_ATTR_##_value, \
}

◆ LT3074_IIO_GLOBAL_ATTR

#define LT3074_IIO_GLOBAL_ATTR ( _name,
_value )
Value:
{ \
.name = #_name, \
.show = lt3074_iio_attr_read, \
.store = lt3074_iio_attr_write, \
.priv = LT3074_IIO_GLOBAL_ATTR_##_value, \
}

Enumeration Type Documentation

◆ lt3074_iio_attr_id

Enumerator
LT3074_IIO_CHAN_ATTR_RAW 
LT3074_IIO_CHAN_ATTR_SCALE 
LT3074_IIO_GLOBAL_ATTR_VOUT_MARGIN_LOW 
LT3074_IIO_GLOBAL_ATTR_VOUT_MARGIN_HIGH 
LT3074_IIO_GLOBAL_ATTR_VOUT_MARGIN_AVAILABLE 
LT3074_IIO_GLOBAL_ATTR_VOUT_OV_WARN_LIMIT 
LT3074_IIO_GLOBAL_ATTR_VOUT_UV_WARN_LIMIT 
LT3074_IIO_GLOBAL_ATTR_IOUT_OC_FAULT_LIMIT 
LT3074_IIO_GLOBAL_ATTR_OT_WARN_LIMIT 
LT3074_IIO_GLOBAL_ATTR_VIN_OV_WARN_LIMIT 
LT3074_IIO_GLOBAL_ATTR_VIN_UV_WARN_LIMIT 
LT3074_IIO_GLOBAL_ATTR_VBIAS_OV_WARN_LIMIT 
LT3074_IIO_GLOBAL_ATTR_VBIAS_UV_WARN_LIMIT 
LT3074_IIO_GLOBAL_ATTR_IOUT_MIN_WARN_LIMIT 
LT3074_IIO_DBG_ATTR_STATUS_BYTE 
LT3074_IIO_DBG_ATTR_STATUS_VOUT 
LT3074_IIO_DBG_ATTR_STATUS_IOUT 
LT3074_IIO_DBG_ATTR_STATUS_INPUT 
LT3074_IIO_DBG_ATTR_STATUS_TEMPERATURE 
LT3074_IIO_DBG_ATTR_STATUS_CML 
LT3074_IIO_DBG_ATTR_STATUS_MFR_SPECIFIC 
LT3074_IIO_DBG_ATTR_STATUS_WORD 

◆ lt3074_iio_chan_type

Enumerator
LT3074_IIO_VIN_CHAN 
LT3074_IIO_VOUT_CHAN 
LT3074_IIO_IOUT_CHAN 
LT3074_IIO_TEMP_CHAN 
LT3074_IIO_VBIAS_CHAN 

Function Documentation

◆ lt3074_iio_init()

int lt3074_iio_init ( struct lt3074_iio_desc ** iio_desc,
struct lt3074_iio_desc_init_param * init_param )

Initializes the LT3074 IIO descriptor.

Parameters
iio_desc- The iio device descriptor.
init_param- The structure that contains the device initial parameters.
Returns
0 in case of success, an error code otherwise.

◆ lt3074_iio_remove()

int lt3074_iio_remove ( struct lt3074_iio_desc * iio_desc)

Free resources allocated by the init function.

Parameters
iio_desc- The iio device descriptor.
Returns
0 in case of success, an error code otherwise.