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

Implementation of iio. More...

#include "iio.h"
#include "iio_types.h"
#include "iiod.h"
#include "ctype.h"
#include "no_os_util.h"
#include "no_os_list.h"
#include "no_os_error.h"
#include "no_os_uart.h"
#include "no_os_alloc.h"
#include "no_os_circular_buffer.h"
#include <inttypes.h>
#include <stdio.h>
#include <string.h>
Include dependency graph for iio.c:

Classes

struct  attr_fun_params
 
struct  iio_buffer_priv
 
struct  iio_dev_priv
 Links a physical device instance "void *dev_instance" with a "iio_device *iio" that describes capabilities of the device. More...
 
struct  iio_trig_priv
 Links a physical trigger instance "void *instance" with a "iio_trigger *descriptor" that describes capabilities of the trigger. More...
 
struct  iio_desc
 

Macros

#define IIOD_PORT   30431
 
#define MAX_SOCKET_TO_HANDLE   10
 
#define REG_ACCESS_ATTRIBUTE   "direct_reg_access"
 
#define IIOD_CONN_BUFFER_SIZE   0x1000
 
#define NO_TRIGGER   (uint32_t)-1
 
#define NO_OS_STRINGIFY(x)
 
#define NO_OS_TOSTRING(x)
 

Functions

int32_t iio_parse_value (char *buf, enum iio_val fmt, int32_t *val, int32_t *val2)
 
int iio_format_value (char *buf, uint32_t len, enum iio_val fmt, int32_t size, int32_t *vals)
 
int iio_process_trigger_type (struct iio_desc *desc, char *trigger_name)
 Searches for trigger name and processes the trigger based on its type (sync or async with the interrupt).
 
int iio_buffer_get_block (struct iio_buffer *buffer, void **addr)
 
int iio_buffer_block_done (struct iio_buffer *buffer)
 
int iio_buffer_push_scan (struct iio_buffer *buffer, void *data)
 
int iio_buffer_pop_scan (struct iio_buffer *buffer, void *data)
 
int iio_step (struct iio_desc *desc)
 Execute an iio step.
 
int iio_init (struct iio_desc **desc, struct iio_init_param *init_param)
 Set communication ops and read/write ops.
 
int iio_remove (struct iio_desc *desc)
 Free the resources allocated by "iio_init()".
 

Detailed Description

Implementation of iio.

Author
Cristian Pop (crist.nosp@m.ian..nosp@m.pop@a.nosp@m.nalo.nosp@m.g.com)
Mihail Chindris (mihai.nosp@m.l.ch.nosp@m.indri.nosp@m.s@an.nosp@m.alog..nosp@m.com)
Vilmos-Csaba Jozsa (vilmo.nosp@m.scsa.nosp@m.ba.jo.nosp@m.zsa@.nosp@m.analo.nosp@m.g.co.nosp@m.m)

Copyright 2019-2026(c) Analog Devices, Inc.

SPDX-License-Identifier: BSD-3-Clause

Macro Definition Documentation

◆ IIOD_CONN_BUFFER_SIZE

#define IIOD_CONN_BUFFER_SIZE   0x1000

◆ IIOD_PORT

#define IIOD_PORT   30431

◆ MAX_SOCKET_TO_HANDLE

#define MAX_SOCKET_TO_HANDLE   10

◆ NO_OS_STRINGIFY

#define NO_OS_STRINGIFY ( x)
Value:
#x

◆ NO_OS_TOSTRING

#define NO_OS_TOSTRING ( x)
Value:
#define NO_OS_STRINGIFY(x)
Definition iio.c:45

◆ NO_TRIGGER

#define NO_TRIGGER   (uint32_t)-1

◆ REG_ACCESS_ATTRIBUTE

#define REG_ACCESS_ATTRIBUTE   "direct_reg_access"

Function Documentation

◆ iio_buffer_block_done()

int iio_buffer_block_done ( struct iio_buffer * buffer)

◆ iio_buffer_get_block()

int iio_buffer_get_block ( struct iio_buffer * buffer,
void ** addr )

◆ iio_buffer_pop_scan()

int iio_buffer_pop_scan ( struct iio_buffer * buffer,
void * data )

◆ iio_buffer_push_scan()

int iio_buffer_push_scan ( struct iio_buffer * buffer,
void * data )

◆ iio_format_value()

int iio_format_value ( char * buf,
uint32_t len,
enum iio_val fmt,
int32_t size,
int32_t * vals )

◆ iio_init()

int iio_init ( struct iio_desc ** desc,
struct iio_init_param * init_param )

Set communication ops and read/write ops.

Parameters
desc- iio descriptor.
init_param- appropriate init param.
Returns
0 in case of success or negative value otherwise.

◆ iio_parse_value()

int32_t iio_parse_value ( char * buf,
enum iio_val fmt,
int32_t * val,
int32_t * val2 )

◆ iio_process_trigger_type()

int iio_process_trigger_type ( struct iio_desc * desc,
char * trigger_name )

Searches for trigger name and processes the trigger based on its type (sync or async with the interrupt).

Parameters
desc- IIO descriptor.
trigger_name- Trigger name.
Returns
ret - Result of the processing procedure.

◆ iio_remove()

int iio_remove ( struct iio_desc * desc)

Free the resources allocated by "iio_init()".

Parameters
desciio descriptor.
Returns
0 in case of success or negative value otherwise.

◆ iio_step()

int iio_step ( struct iio_desc * desc)

Execute an iio step.

Parameters
desc- IIo descriptor
Returns
0 in case of success or negative value otherwise.