precision-converters-firmware
Loading...
Searching...
No Matches
pl_gui_views.h
Go to the documentation of this file.
1/*************************************************************************/
13#ifndef _PL_GUI_VIEWES_
14#define _PL_GUI_VIEWES_
15
16/******************************************************************************/
17/***************************** Include Files **********************************/
18/******************************************************************************/
19
20#include <stdint.h>
21#include "lvgl/lvgl.h"
22#include "adi_fft.h"
23
24/******************************************************************************/
25/********************** Macros and Constants Definition ***********************/
26/******************************************************************************/
27
28#define PL_GUI_ADD_POWER_UP_DEF_VIEW {\
29 .view_name = " ", \
30 .create_view = &pl_gui_create_power_up_view\
31}
32
33#define PL_GUI_ADD_ATTR_EDIT_DEF_VIEW {\
34 .view_name = "Configure", \
35 .create_view = &pl_gui_create_attributes_view\
36}
37
38#define PL_GUI_ADD_REG_DEBUG_DEF_VIEW {\
39 .view_name = "Register", \
40 .create_view = &pl_gui_create_register_view\
41}
42
43#define PL_GUI_ADD_DMM_DEF_VIEW {\
44 .view_name = "DMM", \
45 .create_view = &pl_gui_create_dmm_view\
46}
47
48#define PL_GUI_ADD_CAPTURE_DEF_VIEW {\
49 .view_name = "Capture", \
50 .create_view = &pl_gui_create_capture_view\
51}
52
53#define PL_GUI_ADD_ANALYSIS_DEF_VIEW {\
54 .view_name = "Analysis", \
55 .create_view = &pl_gui_create_analysis_view\
56}
57
58#define PL_GUI_ADD_ABOUT_DEF_VIEW {\
59 .view_name = "About", \
60 .create_view = &pl_gui_create_about_view\
61}
62
63#define PL_GUI_ADD_VIEW(_name, _function) {\
64 .view_name = _name,\
65 .create_view = _function\
66}
67
68/* Requested data samples for capture. These number of samples would
69 * be displayed onto display GUI capture tab at single instance */
70#define PL_GUI_REQ_DATA_SAMPLES 400
71
72/******************************************************************************/
73/************************ Public Declarations *********************************/
74/******************************************************************************/
75
76/* Pocket lab GUI device parameters */
80
81/* Pocket lab GUI init parameters */
83 /* Pocket lab GUI views */
85 /* Pocket lab GUI device parameters */
88 void (*event1)(void);
89 void(*event2)(struct adi_fft_processing*, uint32_t fft_samples,
90 uint32_t fft_bins);
91 /* Init parameters extra */
92 void *extra;
93};
94
95/* Pocket Lab structure to extend views */
97 void(*extend_analysis_view)(lv_obj_t *);
98};
99
100/* Pocket lab GUI view parameters */
102 /* View name */
103 const char *view_name;
104 /* View create function */
105 int32_t(*create_view)(lv_obj_t *, struct pl_gui_init_param *);
106};
107
108/* Pocket lab GUI run time parameters */
110 /* View object */
111 lv_obj_t *view_obj;
112};
113
114int32_t pl_gui_init(struct pl_gui_desc **desc,
115 struct pl_gui_init_param *param);
116int32_t pl_gui_create_power_up_view(lv_obj_t* parent,
117 struct pl_gui_init_param *param);
118int32_t pl_gui_create_attributes_view(lv_obj_t* parent,
119 struct pl_gui_init_param *param);
120int32_t pl_gui_create_register_view(lv_obj_t* parent,
121 struct pl_gui_init_param *param);
122int32_t pl_gui_create_dmm_view(lv_obj_t* parent,
123 struct pl_gui_init_param *param);
124int32_t pl_gui_create_capture_view(lv_obj_t* parent,
125 struct pl_gui_init_param *param);
126int32_t pl_gui_create_analysis_view(lv_obj_t* parent,
127 struct pl_gui_init_param *param);
128int32_t pl_gui_create_about_view(lv_obj_t* parent,
129 struct pl_gui_init_param *param);
130uint32_t get_data_samples_count(void);
131void pl_gui_get_capture_chns_mask(uint32_t *chn_mask);
132void pl_gui_display_captured_data(uint8_t *buf, uint32_t rec_bytes);
133bool pl_gui_is_dmm_running(void);
135bool pl_gui_is_fft_running(void);
136void pl_gui_perform_dmm_read(void);
137uint32_t pl_gui_get_active_device_index(void);
138float pl_gui_cnv_data_to_volt_without_vref(int32_t data, uint8_t chn);
139float pl_gui_cnv_data_to_volt_wrt_vref(int32_t data, uint8_t chn);
140int32_t pl_gui_cnv_code_to_straight_binary(uint32_t code, uint8_t chn);
141
142#endif // _PL_GUI_VIEWES_
FFT library implementation headers.
int32_t pl_gui_create_capture_view(lv_obj_t *parent, struct pl_gui_init_param *param)
Create pocket lab GUI data capture view.
Definition pl_gui_views.c:1651
int32_t pl_gui_create_attributes_view(lv_obj_t *parent, struct pl_gui_init_param *param)
Create pocket lab GUI attributes view.
Definition pl_gui_views.c:1144
int32_t pl_gui_init(struct pl_gui_desc **desc, struct pl_gui_init_param *param)
Init pocket lab GUI.
Definition pl_gui_views.c:2239
uint32_t get_data_samples_count(void)
Get the count for data samples to be captured.
Definition pl_gui_views.c:563
float pl_gui_cnv_data_to_volt_without_vref(int32_t data, uint8_t chn)
Convert input data to voltage without Vref.
Definition pl_gui_views.c:1078
float pl_gui_cnv_data_to_volt_wrt_vref(int32_t data, uint8_t chn)
Convert input data code to voltage w.r.t Vref.
Definition pl_gui_views.c:1093
int32_t pl_gui_create_about_view(lv_obj_t *parent, struct pl_gui_init_param *param)
Create pocket lab GUI about view.
Definition pl_gui_views.c:2129
int32_t pl_gui_create_register_view(lv_obj_t *parent, struct pl_gui_init_param *param)
Create pocket lab GUI register view.
Definition pl_gui_views.c:1321
int32_t pl_gui_create_dmm_view(lv_obj_t *parent, struct pl_gui_init_param *param)
Create pocket lab GUI DMM view.
Definition pl_gui_views.c:1482
bool pl_gui_is_dmm_running(void)
DMM running status check.
Definition pl_gui_views.c:621
uint32_t pl_gui_get_active_device_index(void)
Read the active device index for current view.
Definition pl_gui_views.c:233
int32_t pl_gui_cnv_code_to_straight_binary(uint32_t code, uint8_t chn)
Convert input code to straight binary data.
Definition pl_gui_views.c:1108
int32_t pl_gui_create_analysis_view(lv_obj_t *parent, struct pl_gui_init_param *param)
Create pocket lab GUI analysis view.
Definition pl_gui_views.c:1918
bool pl_gui_is_capture_running(void)
Capture running status check.
Definition pl_gui_views.c:630
void pl_gui_display_captured_data(uint8_t *buf, uint32_t rec_bytes)
Display the captured data onto GUI.
Definition pl_gui_views.c:462
void pl_gui_perform_dmm_read(void)
Perform the DMM read operations.
Definition pl_gui_views.c:415
bool pl_gui_is_fft_running(void)
FFT running status check.
Definition pl_gui_views.c:639
int32_t pl_gui_create_power_up_view(lv_obj_t *parent, struct pl_gui_init_param *param)
Create pocket lab GUI power-up view.
Definition pl_gui_views.c:1123
void pl_gui_get_capture_chns_mask(uint32_t *chn_mask)
Get the channels mask based on enabled channels count.
Definition pl_gui_views.c:588
Definition adi_fft.h:50
Definition adi_fft.h:70
Definition pl_gui_views.h:96
void(* extend_analysis_view)(lv_obj_t *)
Definition pl_gui_views.h:97
Definition pl_gui_views.h:109
lv_obj_t * view_obj
Definition pl_gui_views.h:111
Definition pl_gui_views.h:77
struct adi_fft_init_params * fft_params
Definition pl_gui_views.h:78
Definition pl_gui_views.h:82
void(* event2)(struct adi_fft_processing *, uint32_t fft_samples, uint32_t fft_bins)
Definition pl_gui_views.h:89
void(* event1)(void)
Definition pl_gui_views.h:88
struct extend_view * view_extender
Definition pl_gui_views.h:87
void * extra
Definition pl_gui_views.h:92
struct pl_gui_device_param * device_params
Definition pl_gui_views.h:86
struct pl_gui_views * views
Definition pl_gui_views.h:84
Definition pl_gui_views.h:101
int32_t(* create_view)(lv_obj_t *, struct pl_gui_init_param *)
Definition pl_gui_views.h:105
const char * view_name
Definition pl_gui_views.h:103