no-OS
pqlib_afe.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * @file pqlib_afe.h
3  * @brief Analog frontend data polling 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 __PQLIB_AFE_H__
35 #define __PQLIB_AFE_H__
36 
37 /******************************************************************************/
38 /***************************** Include Files **********************************/
39 /******************************************************************************/
40 
41 #include "ade9430.h"
42 #include "adi_pqlib.h"
43 #include "afe_config.h"
44 #include "pqlib_example.h"
45 #include "status.h"
46 #include <stdbool.h>
47 #include <stdint.h>
48 
49 #ifdef BASIC_EXAMPLE
50 #include "basic_example.h"
51 #endif
52 
53 /******************************************************************************/
54 /********************** Macros and Constants Definitions **********************/
55 /******************************************************************************/
56 
58 #define ANGLE_VOLTAGE 0
59 
60 #define ANGLE_CURRENT 1
61 
62 /******************************************************************************/
63 /************************ Functions Declarations ******************************/
64 /******************************************************************************/
65 
71 int get_afe_input();
72 
73 #endif /* __PQLIB_AFE_H__ */
PQLIB_EXAMPLE::inputWaveform
ADI_PQLIB_WAVEFORM inputWaveform
Definition: pqlib_example.h:149
afe_read_angle
int afe_read_angle(uint16_t *pAngle, uint16_t numAngles, uint16_t angleVolCur)
reads angle registers.
Definition: afe_config.c:343
ade9430.h
Header file of ADE9430 Driver.
afe_read_status_1
int afe_read_status_1(uint32_t *pSTATUS1)
Read STATUS1 register.
Definition: afe_config.c:362
PQLIB_EXAMPLE::input1012Cycles
ADI_PQLIB_1012_CYCLE_INPUT input1012Cycles
Definition: pqlib_example.h:148
ANGLE_VOLTAGE
#define ANGLE_VOLTAGE
angle for voltage
Definition: pqlib_afe.h:58
get_afe_input
int get_afe_input()
Definition: pqlib_afe.c:48
PQLIB_EXAMPLE::no_os_cb_desc
struct no_os_circular_buffer * no_os_cb_desc
Definition: pqlib_example.h:154
pqlib_afe.h
afe_read_rms_one
int afe_read_rms_one(uint32_t *pRMS, uint16_t numRMS)
reads rmsonevalue registers.
Definition: afe_config.c:323
pqlib_example.h
get_afe_input
int get_afe_input()
Definition: pqlib_afe.c:48
processData
volatile bool processData
Definition: iio_pqm.c:63
iio_pqm.h
pqlibExample
PQLIB_EXAMPLE pqlibExample
Definition: pqlib_example.c:45
afe_read_period
int afe_read_period(uint32_t *pPeriod, uint16_t numPeriods)
reads period registers.
Definition: afe_config.c:310
no_os_cb_write
int32_t no_os_cb_write(struct no_os_circular_buffer *desc, const void *data, uint32_t nb_elements)
afe_read_waveform
int afe_read_waveform(uint16_t *pData, uint16_t numSamples)
reads waveform buffer.
Definition: afe_config.c:286
afe_config.h
PQLIB_EXAMPLE::inputCycle
ADI_PQLIB_CYCLE_INPUT inputCycle
Definition: pqlib_example.h:147
ANGLE_CURRENT
#define ANGLE_CURRENT
angle for current
Definition: pqlib_afe.h:60
afe_read_rms_1012
int afe_read_rms_1012(uint32_t *pRMS, uint16_t numRMS)
reads rms1012value registers.
Definition: afe_config.c:333
status.h
afe_read_status0
int afe_read_status0(uint32_t *pSTATUS0)
Read STATUS0 register.
Definition: afe_config.c:495