no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
iio_trigger.h
Go to the documentation of this file.
1/***************************************************************************/
33
34#ifndef IIO_TRIGGER_H_
35#define IIO_TRIGGER_H_
36
37#include "iio.h"
38#include "iio_types.h"
39#include "no_os_irq.h"
40
41#define TRIG_MAX_NAME_SIZE 20
42
59
72
91
101};
102
111 const char *name;
112};
113
114#ifndef LINUX_PLATFORM
116int iio_hw_trig_init(struct iio_hw_trig **iio_trig,
119int iio_trig_enable(void *trig);
121int iio_trig_disable(void *trig);
123void iio_hw_trig_handler(void *trig);
125int iio_hw_trig_remove(struct iio_hw_trig *trig);
126#endif
127
129int iio_sw_trig_init(struct iio_sw_trig **iio_trig,
132int iio_sw_trig_handler(void *trig, char *buf, uint32_t len,
133 const struct iio_ch_info *channel,
134 intptr_t priv);
136int iio_trig_remove(struct iio_sw_trig *trig);
137
138#endif /* IIO_TRIGGER_H_ */
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
Header file of iio.
int iio_hw_trig_remove(struct iio_hw_trig *trig)
Free the resources allocated by iio_hw_trig_init().
Definition iio_trigger.c:154
int iio_trig_enable(void *trig)
Enable system interrupt which is linked to the given trigger.
Definition iio_trigger.c:104
int iio_sw_trig_handler(void *trig, char *buf, uint32_t len, const struct iio_ch_info *channel, intptr_t priv)
Handles the write request for trigger_now attribute.
Definition iio_trigger.c:202
int iio_trig_remove(struct iio_sw_trig *trig)
int iio_sw_trig_init(struct iio_sw_trig **iio_trig, struct iio_sw_trig_init_param *init_param)
Initialize software trigger.
Definition iio_trigger.c:171
int iio_trig_disable(void *trig)
Disable system interrupt which is linked to the given trigger.
Definition iio_trigger.c:121
int iio_hw_trig_init(struct iio_hw_trig **iio_trig, struct iio_hw_trig_init_param *init_param)
Initialize hardware trigger.
Definition iio_trigger.c:50
#define TRIG_MAX_NAME_SIZE
Definition iio_trigger.h:41
void iio_hw_trig_handler(void *trig)
Trigger interrupt handler. This function will be called when a system interrupt is asserted for the c...
Definition iio_trigger.c:137
Header file for iio_types.
Header file of IRQ interface.
no_os_irq_trig_level
Definition no_os_irq.h:69
no_os_irq_event
Definition no_os_irq.h:53
no_os_irq_peripheral
Definition no_os_irq.h:77
Structure holding channel attributess.
Definition iio_types.h:94
Hardware trigger callback extra information structure.
Definition iio_trigger.h:64
void * handle
Definition iio_trigger.h:70
enum no_os_irq_event event
Definition iio_trigger.h:66
enum no_os_irq_peripheral peripheral
Definition iio_trigger.h:68
IIO hardware trigger initialization structure.
Definition iio_trigger.h:77
struct iio_hw_trig_cb_info cb_info
Definition iio_trigger.h:87
uint32_t irq_id
Definition iio_trigger.h:83
struct iio_desc * iio_desc
Definition iio_trigger.h:79
enum no_os_irq_trig_level irq_trig_lvl
Definition iio_trigger.h:85
struct no_os_irq_ctrl_desc * irq_ctrl
Definition iio_trigger.h:81
const char * name
Definition iio_trigger.h:89
IIO hardware trigger structure.
Definition iio_trigger.h:47
struct no_os_irq_ctrl_desc * irq_ctrl
Definition iio_trigger.h:51
uint32_t irq_id
Definition iio_trigger.h:53
char name[TRIG_MAX_NAME_SIZE+1]
Definition iio_trigger.h:57
enum no_os_irq_trig_level irq_trig_lvl
Definition iio_trigger.h:55
struct iio_desc * iio_desc
Definition iio_trigger.h:49
IIO software trigger initialization structure.
Definition iio_trigger.h:107
const char * name
Definition iio_trigger.h:111
struct iio_desc * iio_desc
Definition iio_trigger.h:109
IIO software trigger structure.
Definition iio_trigger.h:96
struct iio_desc * iio_desc
Definition iio_trigger.h:98
char name[TRIG_MAX_NAME_SIZE+1]
Definition iio_trigger.h:100
Definition no_os_irq.h:117