no-OS
Loading...
Searching...
No Matches
common_data.h
Go to the documentation of this file.
1/*******************************************************************************
2 * @file common_data.h
3 * @brief Common data header file
4 * @author Robert Budai (robert.budai@analog.com)
5 ********************************************************************************
6 * Copyright (c) 2024 Analog Devices, Inc.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions are met:
10 *
11 * 1. Redistributions of source code must retain the above copyright notice,
12 * this list of conditions and the following disclaimer.
13 *
14 * 2. Redistributions in binary form must reproduce the above copyright notice,
15 * this list of conditions and the following disclaimer in the documentation
16 * and/or other materials provided with the distribution.
17 *
18 * 3. Neither the name of Analog Devices, Inc. nor the names of its
19 * contributors may be used to endorse or promote products derived from this
20 * software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES, INC. “AS IS” AND ANY EXPRESS OR
23 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
24 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
25 * EVENT SHALL ANALOG DEVICES, INC. BE LIABLE FOR ANY DIRECT, INDIRECT,
26 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
28 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
31 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 *******************************************************************************/
33
34#ifndef __COMMON_DATA_H__
35#define __COMMON_DATA_H__
36
37#if defined(PQM_CONN_ETH)
38#include "w5500_network.h"
39#endif
40
41#if defined(PQM_CONN_T1L)
42#include "lwip_socket.h"
43#include "lwip_adin1110.h"
44#include "adin1110.h"
45#endif
46
47#include "adi_pqlib.h"
48#include "iio.h"
49#include "iio_app.h"
50#include "iio_pqm.h"
51#include "iio_types.h"
52#include "no_os_i2c.h"
53#include "no_os_irq.h"
54#include "no_os_spi.h"
55#include "no_os_timer.h"
56#include "no_os_uart.h"
57#include "parameters.h"
58#include "pqlib_example.h"
59
60#define FW_VERSION 2.2
61
62#define IIO_BUFF_TYPE int16_t
63#define SAMPLES_PER_CHANNEL_PLATFORM 256
64#define MAX_SIZE_BASE_ADDR (SAMPLES_PER_CHANNEL_PLATFORM * TOTAL_PQM_CHANNELS)
65#define MAX_SIZE_BASE_ADDR_WITH_SIZE \
66 (MAX_SIZE_BASE_ADDR * sizeof(IIO_BUFF_TYPE))
67
68#define TOTAL_PQM_CHANNELS 11
69#define VOLTAGE_CH_NUMBER 3
70#define MAX_CH_ATTRS 23
71#define PQM_DEVICE_ATTR_NUMBER 35
72#define WAVEFORM_BUFFER_LENGTH (256 * 7)
73#define MAX_EVENT_NUMBER 6
74
76
77#if defined(PQM_CONN_ETH)
78extern const struct no_os_spi_init_param w5500_spi_init_params;
79
80extern struct w5500_init_param w5500_ip;
81extern struct w5500_network_init_param w5500_network_ip;
82#endif
83
84#if defined(PQM_CONN_USB)
85extern struct no_os_uart_init_param iio_demo_usb_ip;
86#elif defined(PQM_CONN_SERIAL)
87extern struct no_os_uart_init_param iio_demo_serial_ip;
88#elif defined(PQM_CONN_T1L)
89extern struct no_os_uart_init_param iio_demo_serial_ip;
90extern const struct no_os_gpio_init_param adin1110_int_ip;
92extern const struct no_os_gpio_init_param adin1110_swpd_ip;
95extern const struct no_os_gpio_init_param adin1110_cfg0_ip;
96extern const struct no_os_gpio_init_param adin1110_cfg1_ip;
97extern const struct no_os_spi_init_param adin1110_spi_ip;
98
100extern struct lwip_network_param lwip_ip;
101#endif
102
103extern struct pqm_init_para pqm_ip;
104extern struct no_os_spi_init_param spi_egy_ip;
105extern struct no_os_i2c_init_param i2c_ip;
107extern struct no_os_timer_init_param timer_ip;
112
113static const char *const pqm_v_consel_available[] = {
114 [VCONSEL_4W_WYE] = "4W_WYE",
115 [VCONSEL_3W_DELTA_VB_VA_NEGVC] = "3W_DELTA_VA_VB_NEGVC",
116 [VCONSEL_4W_WYE_VB_NEGVA_NEGVC] = "4W_WYE_VB_NEGVA_NEGVC",
117 [VCONSEL_4W_DELTA_VB_NEGVA] = "4W_DELTA_VB_NEGVA",
118 [VCONSEL_4W_DELTA_VA_VB_VC] = "4W_DELTA_VA_VB_VC",
119};
120
121static const char *const pqm_flicker_model_available[] = {
122 [ADI_PQLIB_FLICKER_MODEL_230V_50HZ] = "230V_50HZ",
123 [ADI_PQLIB_FLICKER_MODEL_120V_50HZ] = "120V_50HZ",
124 [ADI_PQLIB_FLICKER_MODEL_230V_60HZ] = "230V_60HZ",
125 [ADI_PQLIB_FLICKER_MODEL_120V_60HZ] = "120V_60HZ",
126};
127
128static const char *const pqm_nominal_frequency_available[] = {
129 [ADI_PQLIB_NOMINAL_FREQUENCY_50HZ] = "50",
130 [ADI_PQLIB_NOMINAL_FREQUENCY_60HZ] = "60",
131};
132
141
148
149#endif /* __COMMON_DATA_H__ */
#define MAX_SIZE_BASE_ADDR
Definition parameters.h:51
struct no_os_spi_init_param adin1110_spi_ip
Definition common_data.c:46
struct no_os_gpio_init_param reset_gpio_ip
Definition common_data.c:262
struct no_os_timer_init_param timer_ip
Definition common_data.c:54
struct no_os_uart_init_param uart_ip_stdio
Definition common_data.c:241
struct no_os_gpio_init_param intr_gpio_ip
Definition common_data.c:270
struct no_os_callback_desc afe0_callback_desc
Definition common_data.c:286
struct no_os_irq_init_param afe_callback_ctrl_ip
Definition common_data.c:279
struct no_os_spi_init_param spi_egy_ip
Definition common_data.c:252
IIO_BUFF_TYPE iio_data_buffer_loc[MAX_SIZE_BASE_ADDR]
Definition common_data.c:185
struct pqm_init_para pqm_ip
Definition common_data.c:187
struct no_os_i2c_init_param i2c_ip
Definition common_data.c:233
#define TOTAL_PQM_CHANNELS
Definition common_data.h:68
#define MAX_CH_ATTRS
Definition common_data.h:70
#define PQM_DEVICE_ATTR_NUMBER
Definition common_data.h:71
#define IIO_BUFF_TYPE
Definition common_data.h:62
Header file of iio.
Header file of iio_app.
struct adin1110_init_param adin1110_ip
Definition iio_lwip_example.c:67
Header file for iio_types.
Header file of I2C Interface.
Header file of IRQ interface.
Header file of SPI Interface.
Timer control module header.
Header file of UART interface.
@ VCONSEL_4W_WYE
Definition pqlib_example.h:67
@ VCONSEL_4W_WYE_VB_NEGVA_NEGVC
Definition pqlib_example.h:69
@ VCONSEL_4W_DELTA_VA_VB_VC
Definition pqlib_example.h:71
@ VCONSEL_4W_DELTA_VB_NEGVA
Definition pqlib_example.h:70
@ VCONSEL_3W_DELTA_VB_VA_NEGVC
Definition pqlib_example.h:68
Initialization parameter for the device descriptor.
Definition adin1110.h:220
Structure describing a callback to be registered.
Definition no_os_irq.h:136
Structure holding the parameters for GPIO initialization.
Definition no_os_gpio.h:67
Structure holding the parameters for I2C initialization.
Definition no_os_i2c.h:52
Structure holding the initial parameters for Interrupt Request.
Definition no_os_irq.h:101
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128
Structure holding the parameters for timer initialization.
Definition no_os_timer.h:71
Structure holding the parameters for UART initialization.
Definition no_os_uart.h:98
Definition common_data.h:133
float pqm_global_attr[PQM_DEVICE_ATTR_NUMBER]
Definition common_data.h:135
uint32_t active_ch
Definition common_data.h:137
uint32_t ext_buff_len
Definition common_data.h:138
uint32_t pqm_ch_attr[TOTAL_PQM_CHANNELS][MAX_CH_ATTRS]
Definition common_data.h:136
int16_t * ext_buff
Definition common_data.h:139
uint8_t reg[TOTAL_PQM_CHANNELS]
Definition common_data.h:134
Definition common_data.h:142
uint32_t dev_ch_attr[TOTAL_PQM_CHANNELS][MAX_CH_ATTRS]
Definition common_data.h:144
float dev_global_attr[PQM_DEVICE_ATTR_NUMBER]
Definition common_data.h:143
int16_t * ext_buff
Definition common_data.h:146
uint32_t ext_buff_len
Definition common_data.h:145
Definition w5500.h:228
const struct no_os_gpio_init_param adin1110_tx2p4_ip
Definition common_data.c:173
const struct no_os_gpio_init_param adin1110_rst_gpio_ip
Definition common_data.c:77
const struct no_os_gpio_init_param adin1110_int_ip
Definition common_data.c:69
const struct no_os_gpio_init_param adin1110_mssel_ip
Definition common_data.c:181
const struct no_os_gpio_init_param adin1110_cfg0_ip
Definition common_data.c:189
const struct no_os_gpio_init_param adin1110_swpd_ip
Definition common_data.c:165
const struct no_os_gpio_init_param adin1110_cfg1_ip
Definition common_data.c:197