no-OS
app.h
Go to the documentation of this file.
1 /***************************************************************************/
40 #ifndef APP_H_
41 #define APP_H_
42 #include <stdint.h>
43 #include <stdbool.h>
44 #include "ad5940.h"
45 
46 struct eit_config {
47  uint16_t nElectrodeCnt;
48  uint16_t nForceDist;
49  uint16_t nSenseDist;
50  uint16_t nRefEl;
51 };
52 
54  uint16_t nFrequency; // Frequency of Excitation in Khz
55  uint16_t nAmplitudePP; // Amplitude of DAC output in mV
56  bool bMagnitudeMode; // If true, will return magnitude
57  // otherwise, will return
58  // comma-separated complex numbers
59  bool bImpedanceReadMode; // If true, it will measure Impedance
60  // otherwise, it will measure Voltage.
61  bool bSweepEn; // Enable Sweep Frequency
62 };
63 
64 extern volatile uint32_t
65 ucInterrupted; /* Flag to indicate interrupt occurred */
66 int app_main();
67 int ADG2128_SwRst(struct ad5940_dev *dev);
68 uint32_t GetMCUIntFlag(void);
69 uint32_t ClrMCUIntFlag(void);
70 void AD5940BiaStructInit(void);
71 #endif /* APP_H_ */
spi_engine_offload_init_param::offload_config
uint8_t offload_config
Definition: spi_engine.h:153
NO_OS_SPI_MODE_1
@ NO_OS_SPI_MODE_1
Definition: no_os_spi.h:69
ad713x_init_param::gpio_dclkmode
struct no_os_gpio_init_param * gpio_dclkmode
Definition: ad713x.h:719
iio_app_init_param
IIO application descriptor initialization parameters.
Definition: iio_app.h:107
no_os_gpio_init_param
Structure holding the parameters for GPIO initialization.
Definition: no_os_gpio.h:85
spi_engine_offload_message::no_commands
uint32_t no_commands
Definition: spi_engine.h:167
no_os_pwm_init_param
Structure containing the init parameters needed by the PWM generator.
Definition: no_os_pwm.h:72
ad713x.h
Header file for the ad713x Driver.
ad713x_dig_filter_sel_ch
int32_t ad713x_dig_filter_sel_ch(struct ad713x_dev *dev, enum ad713x_dig_filter_sel filter, enum ad713x_channels ch)
Digital filter type selection for each channel.
Definition: ad713x.c:321
iio_app_init_param::uart_init_params
struct no_os_uart_init_param uart_init_params
Definition: iio_app.h:121
IIO_APP_DEVICE
#define IIO_APP_DEVICE(_name, _dev, _dev_descriptor, _read_buff, _write_buff, _default_trigger_id)
Definition: iio_app.h:53
CN0561_SPI_CS
#define CN0561_SPI_CS
Definition: parameters.h:56
GPIO_PS
@ GPIO_PS
Definition: xilinx_gpio.h:62
SPI_PS
@ SPI_PS
Definition: xilinx_spi.h:68
ad713x_init_param::clk_delay_en
bool clk_delay_en
Definition: ad713x.h:742
SINC3
@ SINC3
Definition: ad713x.h:647
iio_data_buffer::size
uint32_t size
Definition: iio_app.h:69
ZED_DATA_CLK_FREQ_HZ
#define ZED_DATA_CLK_FREQ_HZ
Definition: parameters.h:80
no_os_spi.h
Header file of SPI Interface.
parameters.h
Parameters Definitions.
NO_OS_UART_STOP_1_BIT
@ NO_OS_UART_STOP_1_BIT
Definition: no_os_uart.h:100
no_os_irq.h
Header file of IRQ interface.
CN0561_SPI_ENGINE_BASEADDR
#define CN0561_SPI_ENGINE_BASEADDR
Definition: parameters.h:54
xil_uart_init_param::type
enum xil_uart_type type
Definition: xilinx_uart.h:75
ad713x_init_param::dev_id
enum ad713x_supported_dev_ids dev_id
Definition: ad713x.h:735
spi_engine_offload_init
int32_t spi_engine_offload_init(struct no_os_spi_desc *desc, const struct spi_engine_offload_init_param *param)
Initialize the SPI engine's offload module.
Definition: spi_engine.c:759
iio_desc
Definition: iio.c:209
iio_app.h
Header file of iio_app.
clk_axi_clkgen.h
Driver for the Analog Devices AXI CLKGEN.
DMA_PARTIAL_REPORTING_EN
@ DMA_PARTIAL_REPORTING_EN
Definition: axi_dmac.h:99
xilinx_uart.h
iio_app_desc
IIO application descriptor.
Definition: iio_app.h:86
main
int main()
Definition: cn0561.c:80
QUAD_CH_PO
@ QUAD_CH_PO
Definition: ad713x.h:632
ad713x_init_param
AD713x driver initialization structure.
Definition: ad713x.h:713
spi_engine_offload_message::commands_data
uint32_t * commands_data
Definition: spi_engine.h:169
iio_data_buffer::buff
void * buff
Definition: iio_app.h:70
no_os_pwm_init_param::period_ns
uint32_t period_ns
Definition: no_os_pwm.h:76
no_os_delay.h
Header file of Delay functions.
xil_gpio_ops
const struct no_os_gpio_platform_ops xil_gpio_ops
Xilinx platform specific GPIO platform ops structure.
Definition: xilinx_gpio.c:456
ADC_24_BIT_DATA
@ ADC_24_BIT_DATA
Definition: ad713x.h:602
axi_clkgen_init
Definition: clk_axi_clkgen.h:56
ad713x_init_param::crc_header
enum ad713x_crc_header crc_header
Definition: ad713x.h:739
axi_clkgen_set_rate
int32_t axi_clkgen_set_rate(struct axi_clkgen *clkgen, uint32_t rate)
axi_clkgen_set_rate
Definition: clk_axi_clkgen.c:419
app_main
int app_main()
no_os_spi_init_param::mode
enum no_os_spi_mode mode
Definition: no_os_spi.h:139
ad713x_init_param::pnd
bool pnd
Definition: ad713x.h:733
spi_engine_offload_message
Structure representing an offload message.
Definition: spi_engine.h:160
ad713x_init_param::dclkio_out_nin
bool dclkio_out_nin
Definition: ad713x.h:731
eit_config::nRefEl
uint16_t nRefEl
Definition: app.h:50
UART_PS
@ UART_PS
Definition: xilinx_uart.h:65
no_os_gpio_init_param::number
int32_t number
Definition: no_os_gpio.h:89
measurement_config::nFrequency
uint16_t nFrequency
Definition: app.h:54
xil_gpio_init_param::device_id
uint32_t device_id
Definition: xilinx_gpio.h:74
measurement_config::bSweepEn
bool bSweepEn
Definition: app.h:61
axi_clkgen_init
int32_t axi_clkgen_init(struct axi_clkgen **clk, const struct axi_clkgen_init *init)
axi_clkgen_init
Definition: clk_axi_clkgen.c:525
ADC_BUFFER_SIZE
#define ADC_BUFFER_SIZE
Definition: parameters.h:81
axi_clkgen
Definition: clk_axi_clkgen.h:50
ad713x_init_param::gpio_pnd
struct no_os_gpio_init_param * gpio_pnd
Definition: ad713x.h:725
NO_OS_ARRAY_SIZE
#define NO_OS_ARRAY_SIZE(x)
Definition: no_os_util.h:53
ad713x_init_param::adc_data_len
enum ad713x_adc_data_len adc_data_len
Definition: ad713x.h:737
CN0561_DMA_BASEADDR
#define CN0561_DMA_BASEADDR
Definition: parameters.h:53
GPIO_RESETN
#define GPIO_RESETN
Definition: parameters.h:59
no_os_spi_init_param::platform_ops
const struct no_os_spi_platform_ops * platform_ops
Definition: no_os_spi.h:142
eit_config::nForceDist
uint16_t nForceDist
Definition: app.h:48
measurement_config::bImpedanceReadMode
bool bImpedanceReadMode
Definition: app.h:59
axi_pwm_ops
const struct no_os_pwm_platform_ops axi_pwm_ops
AXI platform specific PWM platform ops structure.
Definition: axi_pwm.c:412
no_os_spi_init_param::device_id
uint32_t device_id
Definition: no_os_spi.h:133
no_os_spi_init_param::chip_select
uint8_t chip_select
Definition: no_os_spi.h:137
no_os_mdelay
void no_os_mdelay(uint32_t msecs)
Wait until msecs milliseconds passed.
Definition: aducm3029_delay.c:132
spi_engine_init_param::type
enum xil_spi_type type
Definition: spi_engine.h:93
spi_engine_offload_init_param::dma_flags
uint32_t * dma_flags
Definition: spi_engine.h:151
iio.h
Header file of iio.
no_os_error.h
Error codes definition.
ad713x_spi_reg_dump
int32_t ad713x_spi_reg_dump(struct ad713x_dev *dev)
Print all registers values for the AD4134 device. Register map has gaps, reg dump function specific f...
Definition: ad713x.c:639
ad713x_spi_reg_write
int32_t ad713x_spi_reg_write(struct ad713x_dev *dev, uint8_t reg_addr, uint8_t reg_data)
Write to device.
Definition: ad713x.c:135
spi_eng_init_param
struct spi_engine_init_param spi_eng_init_param
Definition: parameters.c:60
ad713x_remove
int32_t ad713x_remove(struct ad713x_dev *dev)
Free the resources allocated by ad713x_init().
Definition: ad713x.c:613
AD713X_REG_GPIO_DIR_CTRL
#define AD713X_REG_GPIO_DIR_CTRL
Definition: ad713x.h:96
iio_app_device
Definition: iio_app.h:73
measurement_config::bMagnitudeMode
bool bMagnitudeMode
Definition: app.h:56
spi_engine.h
axi_clkgen_init::base
uint32_t base
Definition: clk_axi_clkgen.h:58
axi_dmac.h
Driver for the Analog Devices AXI-DMAC core.
iio_data_buffer
Definition: iio_app.h:68
UART_IRQ_ID
#define UART_IRQ_ID
Definition: parameters.h:56
CH0
@ CH0
Definition: ad713x.h:658
CRC_6
@ CRC_6
Definition: ad713x.h:617
ad713x_init_param::spi_init_prm
struct no_os_spi_init_param spi_init_prm
Definition: ad713x.h:715
spi_engine_offload_message::tx_addr
uint32_t tx_addr
Definition: spi_engine.h:171
UART_BAUDRATE
#define UART_BAUDRATE
Definition: parameters.h:59
no_os_spi_desc
Structure holding SPI descriptor.
Definition: no_os_spi.h:177
xilinx_gpio.h
ad713x_init_param::gpio_dclkio
struct no_os_gpio_init_param * gpio_dclkio
Definition: ad713x.h:721
ID_AD4134
@ ID_AD4134
Definition: ad713x.h:580
iio_ad713x.h
Header file of iio_axi_adc.
xil_uart_init_param
Structure holding the initialization parameters for Xilinx platform specific UART parameters.
Definition: xilinx_uart.h:73
xil_spi_init_param::type
enum xil_spi_type type
Definition: xilinx_spi.h:80
ad713x_init_param::gpio_mode
struct no_os_gpio_init_param * gpio_mode
Definition: ad713x.h:717
xilinx_irq.h
iio_app_run
int iio_app_run(struct iio_app_desc *app)
spi_engine_offload_message::commands
uint32_t * commands
Definition: spi_engine.h:165
spi_engine_offload_init_param::rx_dma_baseaddr
uint32_t rx_dma_baseaddr
Definition: spi_engine.h:147
no_os_pwm_desc
Structure representing an PWM generator device.
Definition: no_os_pwm.h:99
axi_pwm_init_param
Structure holding the initialization parameters for axi PWM.
Definition: axi_pwm_extra.h:56
SPI_ENGINE
@ SPI_ENGINE
Definition: xilinx_spi.h:70
no_os_pwm_init
int32_t no_os_pwm_init(struct no_os_pwm_desc **desc, const struct no_os_pwm_init_param *param)
Initialize the PWM peripheral.
Definition: no_os_pwm.c:57
xil_spi_init_param
Structure holding the initialization parameters for Xilinx platform specific SPI parameters when usin...
Definition: xilinx_spi.h:78
iio_app_init
int iio_app_init(struct iio_app_desc **app, struct iio_app_init_param app_init_param)
no_os_spi_init_param::max_speed_hz
uint32_t max_speed_hz
Definition: no_os_spi.h:135
no_os_pwm.h
Header file of PWM Interface.
OFFLOAD_RX_EN
#define OFFLOAD_RX_EN
Definition: spi_engine.h:59
xil_uart_ops
const struct no_os_uart_platform_ops xil_uart_ops
Xilinx platform specific UART platform ops structure.
Definition: xilinx_uart.c:520
NULL
#define NULL
Definition: wrapper.h:64
no_os_uart_init_param
Structure holding the parameters for UART initialization.
Definition: no_os_uart.h:116
ad713x_dev
AD713x driver handler structure.
Definition: ad713x.h:686
xil_spi_ops
const struct no_os_spi_platform_ops xil_spi_ops
Spi engine platform specific SPI platform ops structure.
Definition: xilinx_spi.c:459
SPI_DEVICE_ID
#define SPI_DEVICE_ID
Definition: parameters.h:75
ADG2128_SwRst
int ADG2128_SwRst(struct ad5940_dev *dev)
Definition: app.c:69
spi_engine_init_param
Structure containing the init parameters needed by the SPI engine.
Definition: spi_engine.h:89
NO_OS_UART_PAR_NO
@ NO_OS_UART_PAR_NO
Definition: no_os_uart.h:83
spi_eng_platform_ops
const struct no_os_spi_platform_ops spi_eng_platform_ops
Spi engine platform specific SPI platform ops structure.
Definition: spi_engine.c:65
ad713x_init_param::format
enum ad713x_doutx_format format
Definition: ad713x.h:740
GPIO_PDN
#define GPIO_PDN
Definition: parameters.h:60
GPIO_DEVICE_ID
#define GPIO_DEVICE_ID
Definition: parameters.h:89
CH3
@ CH3
Definition: ad713x.h:664
no_os_uart_init_param::device_id
uint8_t device_id
Definition: no_os_uart.h:118
spi_engine_offload_transfer
int32_t spi_engine_offload_transfer(struct no_os_spi_desc *desc, struct spi_engine_offload_message msg, uint32_t no_samples)
Initiate a SPI transfer in offload mode.
Definition: spi_engine.c:805
CN0561_FMC_CH_NO
#define CN0561_FMC_CH_NO
Definition: parameters.h:70
GetMCUIntFlag
uint32_t GetMCUIntFlag(void)
Definition: app.c:78
xil_gpio_init_param
Structure holding the initialization parameters for Xilinx platform specific GPIO parameters.
Definition: xilinx_gpio.h:70
ad713x_init_param::spi_common_dev
struct no_os_spi_desc * spi_common_dev
Definition: ad713x.h:745
measurement_config
Definition: app.h:53
ad713x_init_param::dclkmode_free_ngated
bool dclkmode_free_ngated
Definition: ad713x.h:729
spi_engine_offload_init_param
Structure containing the init parameters needed by the offload module.
Definition: spi_engine.h:145
no_os_gpio.h
Header file of GPIO Interface.
no_os_uart.h
Header file of UART interface.
CN0561_SPI_ENG_REF_CLK_FREQ_HZ
#define CN0561_SPI_ENG_REF_CLK_FREQ_HZ
Definition: parameters.h:55
ad713x_init_param::gpio_resetn
struct no_os_gpio_init_param * gpio_resetn
Definition: ad713x.h:723
no_os_spi_init
int32_t no_os_spi_init(struct no_os_spi_desc **desc, const struct no_os_spi_init_param *param)
Initialize the SPI communication peripheral.
Definition: no_os_spi.c:58
UART_DEVICE_ID
#define UART_DEVICE_ID
Definition: parameters.h:58
DMA_LAST
@ DMA_LAST
Definition: axi_dmac.h:98
eit_config::nSenseDist
uint16_t nSenseDist
Definition: app.h:49
axi_pwm_init_param::base_addr
uint32_t base_addr
Definition: axi_pwm_extra.h:58
no_os_util.h
Header file of utility functions.
iio_uart_ip
struct no_os_uart_init_param iio_uart_ip
Definition: common_data.c:52
CN0561_FMC_SAMPLE_NO
#define CN0561_FMC_SAMPLE_NO
Definition: parameters.h:71
eit_config
Definition: app.h:46
no_os_spi_init_param::extra
void * extra
Definition: no_os_spi.h:145
NO_OS_SPI_MODE_0
@ NO_OS_SPI_MODE_0
Definition: no_os_spi.h:67
CORA_Z7S_DATA_CLK_FREQ_HZ
#define CORA_Z7S_DATA_CLK_FREQ_HZ
Definition: parameters.h:79
spi_engine_offload_message::rx_addr
uint32_t rx_addr
Definition: spi_engine.h:173
eit_config::nElectrodeCnt
uint16_t nElectrodeCnt
Definition: app.h:47
adc_buffer
uint16_t adc_buffer[ADC_BUFFER_SAMPLES *ADC_CHANNELS]
Definition: main.c:106
xilinx_spi.h
AD713X_REG_GPIO_DATA
#define AD713X_REG_GPIO_DATA
Definition: ad713x.h:97
NO_OS_UART_CS_8
@ NO_OS_UART_CS_8
Definition: no_os_uart.h:72
ClrMCUIntFlag
uint32_t ClrMCUIntFlag(void)
Definition: app.c:83
ad713x_init
int32_t ad713x_init(struct ad713x_dev **device, struct ad713x_init_param *init_param)
Initialize the device.
Definition: ad713x.c:526
iio_app_init_param::devices
struct iio_app_device * devices
Definition: iio_app.h:113
AD5940BiaStructInit
void AD5940BiaStructInit(void)
Definition: app.c:297
xil_gpio_init_param::type
enum xil_gpio_type type
Definition: xilinx_gpio.h:72
READ
#define READ(no_bytes)
Definition: spi_engine.h:68
ad713x_init_param::mode_master_nslave
bool mode_master_nslave
Definition: ad713x.h:727
measurement_config::nAmplitudePP
uint16_t nAmplitudePP
Definition: app.h:55
iio_app_init_param::nb_devices
uint32_t nb_devices
Definition: iio_app.h:115
GPIO_MODE
#define GPIO_MODE
Definition: parameters.h:61
ucInterrupted
volatile uint32_t ucInterrupted
Definition: app.c:64
axi_pwm_extra.h
no_os_spi_init_param
Structure holding the parameters for SPI initialization.
Definition: no_os_spi.h:131