no-OS
pqlib_convert.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * @file pqlib_convert.h
3  * @brief Heder file for converting data
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_CONVERT_H__
35 #define __PQLIB_CONVERT_H__
36 
37 /******************************************************************************/
38 /***************************** Include Files **********************************/
39 /******************************************************************************/
40 
41 #include "adi_pqlib.h"
42 #include <math.h>
43 #include <stdint.h>
44 #include <stdio.h>
45 /******************************************************************************/
46 /********************** Macros and Constants Definitions **********************/
47 /******************************************************************************/
48 
53 typedef enum {
54  EVENT_DIPS,
56  EVENT_RVC,
58 } EVENT_TYPE;
59 
66 float convert_rms_type(ADI_AFE_RMS_TYPE mag, float scale);
67 
73 float convert_pct_type(ADI_PQLIB_PCT_TYPE val);
74 
80 ADI_PQLIB_COEF_TYPE convert_to_coef_fract_type(float val);
81 
87 ADI_PQLIB_PCT_TYPE convert_to_pct_type(float val);
88 
94 ADI_PQLIB_FREQ_TYPE convert_to_freq_type(float val);
95 
101 uint32_t convert_to_time_ms(float timesec);
102 
111 int prepara_string(EVENT_TYPE event_type, int event_value, char *buf);
112 
113 #endif /* __PQLIB_CONVERT_H__ */
convert_rms_type
float convert_rms_type(ADI_AFE_RMS_TYPE mag, float scale)
Converts ADI_AFE_RMS_TYPE to voltage/current magnitude.
Definition: pqlib_convert.c:54
prepara_string
int prepara_string(EVENT_TYPE event_type, int event_value, char *buf)
Prepare string output for specific event attribute types.
Definition: pqlib_convert.c:104
CHAN_EVENT_DELTA_U_SS
#define CHAN_EVENT_DELTA_U_SS
Definition: iio_pqm.h:108
convert_to_coef_fract_type
ADI_PQLIB_COEF_TYPE convert_to_coef_fract_type(float val)
Converts val to correction coefficient.
Definition: pqlib_convert.c:90
convert_to_pct_type
ADI_PQLIB_PCT_TYPE convert_to_pct_type(float val)
Converts val to percentage.
Definition: pqlib_convert.c:74
CHAN_EVENT_DURATION_IN_CYCL
#define CHAN_EVENT_DURATION_IN_CYCL
Definition: iio_pqm.h:104
convert_pct_type
float convert_pct_type(ADI_PQLIB_PCT_TYPE val)
Converts ADI_PQLIB_PCT_TYPE to percentage.
Definition: pqlib_convert.c:64
CHAN_EVENT_MIN_MAG
#define CHAN_EVENT_MIN_MAG
Definition: iio_pqm.h:105
convert_to_time_ms
uint32_t convert_to_time_ms(float timesec)
Converts time in sec to time in ms.
Definition: pqlib_convert.c:97
EVENT_TYPE
EVENT_TYPE
Enumeration for possible event types for iio output preparation.
Definition: pqlib_convert.h:53
pqlib_convert.h
EVENT_RVC
@ EVENT_RVC
Definition: pqlib_convert.h:87
EVENT_DIPS
@ EVENT_DIPS
Definition: pqlib_convert.h:85
convert_to_freq_type
ADI_PQLIB_FREQ_TYPE convert_to_freq_type(float val)
Converts val to freq in mhz.
Definition: pqlib_convert.c:82
convert_rms_type
float convert_rms_type(ADI_AFE_RMS_TYPE mag, float scale)
Converts ADI_AFE_RMS_TYPE to voltage/current magnitude.
Definition: pqlib_convert.c:54
convert_to_pct_type
ADI_PQLIB_PCT_TYPE convert_to_pct_type(float val)
Converts val to percentage.
Definition: pqlib_convert.c:74
EVENT_SWELL
@ EVENT_SWELL
Definition: pqlib_convert.h:86
CHAN_EVENT_END_TIME
#define CHAN_EVENT_END_TIME
Definition: iio_pqm.h:103
convert_angle_type
ADI_AFE_ANGLE_TYPE convert_angle_type(ADI_AFE_ANGLE_TYPE angleRaw)
Definition: pqlib_convert.c:46
CHAN_EVENT_DELTA_U_MAX
#define CHAN_EVENT_DELTA_U_MAX
Definition: iio_pqm.h:107
CHAN_EVENT_MAX_MAG
#define CHAN_EVENT_MAX_MAG
Definition: iio_pqm.h:106
pqlibExample
PQLIB_EXAMPLE pqlibExample
Definition: pqlib_example.c:45
convert_pct_type
float convert_pct_type(ADI_PQLIB_PCT_TYPE val)
Converts ADI_PQLIB_PCT_TYPE to percentage.
Definition: pqlib_convert.c:64
prepara_string
int prepara_string(EVENT_TYPE event_type, int event_value, char *buf)
Prepare string output for specific event attribute types.
Definition: pqlib_convert.c:104
convert_to_coef_fract_type
ADI_PQLIB_COEF_TYPE convert_to_coef_fract_type(float val)
Converts val to correction coefficient.
Definition: pqlib_convert.c:90
EVENT_INTRPS
@ EVENT_INTRPS
Definition: pqlib_convert.h:88
EXAMPLE_CONFIG::voltageScale
float voltageScale
Definition: pqlib_example.h:116
CHAN_EVENT_START_TIME
#define CHAN_EVENT_START_TIME
Definition: iio_pqm.h:102
PQLIB_EXAMPLE::exampleConfig
EXAMPLE_CONFIG exampleConfig
Definition: pqlib_example.h:150
MAX_EVENT_NUMBER
#define MAX_EVENT_NUMBER
Definition: common_data.h:77
PQLIB_EXAMPLE::output
ADI_PQLIB_OUTPUT * output
Definition: pqlib_example.h:151
convert_to_time_ms
uint32_t convert_to_time_ms(float timesec)
Converts time in sec to time in ms.
Definition: pqlib_convert.c:97
convert_to_freq_type
ADI_PQLIB_FREQ_TYPE convert_to_freq_type(float val)
Converts val to freq in mhz.
Definition: pqlib_convert.c:82
common_data.h