no-OS
Loading...
Searching...
No Matches
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
53 uint32_t irq_id;
58 /* IRQ Callback descriptor */
60};
61
74
93
103};
104
113 const char *name;
114};
115
116#ifndef LINUX_PLATFORM
118int iio_hw_trig_init(struct iio_hw_trig **iio_trig,
121int iio_trig_enable(void *trig);
123int iio_trig_disable(void *trig);
125void iio_hw_trig_handler(void *trig);
127int iio_hw_trig_remove(struct iio_hw_trig *trig);
128#endif
129
131int iio_sw_trig_init(struct iio_sw_trig **iio_trig,
134int iio_sw_trig_handler(void *trig, char *buf, uint32_t len,
135 const struct iio_ch_info *channel,
136 intptr_t priv);
138int iio_trig_remove(struct iio_sw_trig *trig);
139
140#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:152
int iio_trig_enable(void *trig)
Enable system interrupt which is linked to the given trigger.
Definition iio_trigger.c:102
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:212
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:181
int iio_trig_disable(void *trig)
Disable system interrupt which is linked to the given trigger.
Definition iio_trigger.c:119
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:135
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:66
void * handle
Definition iio_trigger.h:72
enum no_os_irq_event event
Definition iio_trigger.h:68
enum no_os_irq_peripheral peripheral
Definition iio_trigger.h:70
IIO hardware trigger initialization structure.
Definition iio_trigger.h:79
struct iio_hw_trig_cb_info cb_info
Definition iio_trigger.h:89
uint32_t irq_id
Definition iio_trigger.h:85
struct iio_desc * iio_desc
Definition iio_trigger.h:81
enum no_os_irq_trig_level irq_trig_lvl
Definition iio_trigger.h:87
struct no_os_irq_ctrl_desc * irq_ctrl
Definition iio_trigger.h:83
const char * name
Definition iio_trigger.h:91
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
struct no_os_callback_desc irq_cb
Definition iio_trigger.h:59
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:109
const char * name
Definition iio_trigger.h:113
struct iio_desc * iio_desc
Definition iio_trigger.h:111
IIO software trigger structure.
Definition iio_trigger.h:98
struct iio_desc * iio_desc
Definition iio_trigger.h:100
char name[TRIG_MAX_NAME_SIZE+1]
Definition iio_trigger.h:102
Structure describing a callback to be registered.
Definition no_os_irq.h:136
Definition no_os_irq.h:117