no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
adc_demo.h
Go to the documentation of this file.
1/***************************************************************************/
33
34#ifndef IIO_DEMO_ADC_
35#define IIO_DEMO_ADC_
36
37#include <stdint.h>
38#include "iio_types.h"
39#include "no_os_irq.h"
40
41#define MAX_ADC_ADDR 16
42/* For testing a maximum of 16 channels can be enabled */
43#ifndef TOTAL_ADC_CHANNELS
44#define TOTAL_ADC_CHANNELS 2
45#endif
46
53 uint8_t reg[MAX_ADC_ADDR];
59 uint32_t active_ch;
61 uint32_t ext_buff_len;
63 uint16_t **ext_buff;
64};
65
76 uint32_t ext_buff_len;
78 uint16_t **ext_buff;
79};
80
85
86extern const uint16_t sine_lut[128];
87
88int32_t adc_demo_init(struct adc_demo_desc **desc,
89 struct adc_demo_init_param *param);
90
91int32_t adc_demo_remove(struct adc_demo_desc *desc);
92
93int32_t update_adc_channels(void *dev, uint32_t mask);
94
95int32_t close_adc_channels(void* dev);
96
97int32_t adc_submit_samples(struct iio_device_data *dev_data);
98
99int32_t adc_demo_reg_read(struct adc_demo_desc *desc, uint8_t reg_index,
100 uint8_t *readval);
101
102int32_t adc_demo_reg_write(struct adc_demo_desc *desc, uint8_t reg_index,
103 uint8_t writeval);
104
105int32_t adc_demo_trigger_handler(struct iio_device_data *dev_data);
106
107#endif /*IIO_DEMO_ADC_*/
const uint16_t sine_lut[128]
Definition adc_demo.c:43
int32_t adc_demo_trigger_handler(struct iio_device_data *dev_data)
Handles trigger: reads one data-set and writes it to the buffer.
Definition iio_adc_demo.c:184
#define MAX_ADC_ADDR
Definition adc_demo.h:41
int32_t adc_demo_reg_read(struct adc_demo_desc *desc, uint8_t reg_index, uint8_t *readval)
read function for the adc demo driver
Definition adc_demo.c:149
int32_t adc_demo_remove(struct adc_demo_desc *desc)
free allocated resources
Definition adc_demo.c:92
int32_t adc_demo_init(struct adc_demo_desc **desc, struct adc_demo_init_param *param)
init function for the adc demo driver
Definition adc_demo.c:68
int32_t adc_demo_reg_write(struct adc_demo_desc *desc, uint8_t reg_index, uint8_t writeval)
write function for the adc demo driver
Definition adc_demo.c:167
int32_t update_adc_channels(void *dev, uint32_t mask)
active adc channels
Definition adc_demo.c:108
iio_adc_demo_attributes
Definition adc_demo.h:81
@ ADC_GLOBAL_ATTR
Definition adc_demo.h:83
@ ADC_CHANNEL_ATTR
Definition adc_demo.h:82
int32_t close_adc_channels(void *dev)
close all channels
Definition adc_demo.c:128
int32_t adc_submit_samples(struct iio_device_data *dev_data)
function for reading samples from the device.
Definition iio_adc_demo.c:137
Header file for iio_types.
Header file of IRQ interface.
Definition adc_demo.h:51
uint32_t adc_global_attr
Definition adc_demo.h:55
uint16_t ** ext_buff
Definition adc_demo.h:63
uint8_t reg[MAX_ADC_ADDR]
Definition adc_demo.h:53
uint32_t active_ch
Definition adc_demo.h:59
uint32_t ext_buff_len
Definition adc_demo.h:61
uint32_t adc_ch_attr[MAX_ADC_ADDR]
Definition adc_demo.h:57
Definition adc_demo.h:70
uint32_t dev_ch_attr[MAX_ADC_ADDR]
Definition adc_demo.h:74
uint32_t ext_buff_len
Definition adc_demo.h:76
uint32_t dev_global_attr
Definition adc_demo.h:72
uint16_t ** ext_buff
Definition adc_demo.h:78
Definition iio_types.h:217