注释补充

This commit is contained in:
吴俊潮 2025-03-07 15:28:49 +08:00
parent baf9ef537c
commit 13369ef45b
1 changed files with 92 additions and 42 deletions

View File

@ -2,22 +2,22 @@
* @Author: wujunchao wujunchao@wuxismart.com * @Author: wujunchao wujunchao@wuxismart.com
* @Date: 2024-12-27 11:50:56 * @Date: 2024-12-27 11:50:56
* @LastEditors: wujunchao wujunchao@wuxismart.com * @LastEditors: wujunchao wujunchao@wuxismart.com
* @LastEditTime: 2025-03-06 18:48:20 * @LastEditTime: 2025-03-07 15:27:25
* @FilePath: \signal_generator\App\APP_WU\Src\apps_gather.c * @FilePath: \signal_generator\App\APP_WU\Src\apps_gather.c
* @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/ */
#include "apps_gather.h" //用于头文件打包汇总,函数和变量注释 #include "apps_gather.h" //用于头文件打包汇总,函数声明和变量定义
// lv_conf.h { line:282->CPU&FPS; line:289->MEM used } // lv_conf.h { line:282->CPU&FPS; line:289->MEM used }
/**********test5**********/ /**********test5**********/
MENU_DATA m5data; MENU_DATA m5data; //界面参数初始化
PLOT_DATA pltdata; PLOT_DATA pltdata; //chart绘图参数初始化
TABVIEW_DATA tabdata; TABVIEW_DATA tabdata; //设置页面参数初始化
void menu_data_init(void) void menu_data_init(void)
{ {
//general //general
m5data.scr_now = SCREEN_INIT; m5data.scr_now = SCREEN_INIT; //初始界面为开机动画
m5data.tick_prv = -1; //前一时刻,用于计时 m5data.tick_prv = -1; //前一时刻,用于计时
m5data.tick_cur = -1; //当前时刻,用于计时 m5data.tick_cur = -1; //当前时刻,用于计时
m5data.menu_reset_flag = 0; //复位使能标志置1后复位复位完成后变回0 m5data.menu_reset_flag = 0; //复位使能标志置1后复位复位完成后变回0
@ -89,6 +89,12 @@ void menu_data_init(void)
void menu_reset(void) void menu_reset(void)
{ {
//界面复位 //界面复位
if(m5data.scr_now == SCREEN_INIT)
{
//如果正处于开机动画中,立即返回。
return;
}
//加载初始界面 //加载初始界面
setup_scr_screen_init(&guider_ui); setup_scr_screen_init(&guider_ui);
lv_scr_load(guider_ui.screen_init); lv_scr_load(guider_ui.screen_init);
@ -112,7 +118,7 @@ void menu_reset(void)
break; break;
} }
//参数复位 //参数复位内部会对m5data.scr_now进行更改因此放置于最后。
menu_data_init(); menu_data_init();
} }
@ -231,8 +237,10 @@ void key_functions_main(void)
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始 m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
m5data.twk_cnt = 0; //每次按下后闪烁计数清零 m5data.twk_cnt = 0; //每次按下后闪烁计数清零
//该部分需要作溢出判断第0个数字达到9之后不作循环处理第1~5个数字达到9后循环计数并向前进1直至第0个为9
switch (m5data.io_cursor) switch (m5data.io_cursor)
{ {
//达到9之后保持不变不作循环处理
case 0: case 0:
{ {
m5data.o_numbers[0] = (m5data.o_numbers[0] >= 9)?(9):(m5data.o_numbers[0] + 1); m5data.o_numbers[0] = (m5data.o_numbers[0] >= 9)?(9):(m5data.o_numbers[0] + 1);
@ -241,6 +249,7 @@ void key_functions_main(void)
} }
break; break;
//当前面第0个数字不全为9时循环计数溢出标志置1否则保持9不变。
case 1: case 1:
{ {
if(m5data.o_numbers[1] >= 9) if(m5data.o_numbers[1] >= 9)
@ -263,6 +272,7 @@ void key_functions_main(void)
} }
break; break;
//当前面第0~1个数字不全为9时循环计数溢出标志置1否则保持9不变。
case 2: case 2:
{ {
if(m5data.o_numbers[2] >= 9) if(m5data.o_numbers[2] >= 9)
@ -285,6 +295,7 @@ void key_functions_main(void)
} }
break; break;
//当前面第0~2个数字不全为9时循环计数溢出标志置1否则保持9不变。
case 3: case 3:
{ {
if(m5data.o_numbers[3] >= 9) if(m5data.o_numbers[3] >= 9)
@ -307,6 +318,7 @@ void key_functions_main(void)
} }
break; break;
//当前面第0~3个数字不全为9时循环计数溢出标志置1否则保持9不变。
case 4: case 4:
{ {
if(m5data.o_numbers[4] >= 9) if(m5data.o_numbers[4] >= 9)
@ -329,6 +341,7 @@ void key_functions_main(void)
} }
break; break;
//当前面第0~4个数字不全为9时循环计数溢出标志置1否则保持9不变。
case 5: case 5:
{ {
if(m5data.o_numbers[5] >= 9) if(m5data.o_numbers[5] >= 9)
@ -355,12 +368,15 @@ void key_functions_main(void)
break; break;
} }
if(m5data.overflow_flag_up) //发生向上溢出 //发生向上溢出时,根据溢出的位置对实际数值进行处理
if(m5data.overflow_flag_up)
{ {
int oftemp = 0; int oftemp = 0;
//还原成实际数值
oftemp = 100000*m5data.o_numbers[0] + 10000*m5data.o_numbers[1] + 1000*m5data.o_numbers[2] + \ oftemp = 100000*m5data.o_numbers[0] + 10000*m5data.o_numbers[1] + 1000*m5data.o_numbers[2] + \
100*m5data.o_numbers[3] + 10*m5data.o_numbers[4] + m5data.o_numbers[5]; 100*m5data.o_numbers[3] + 10*m5data.o_numbers[4] + m5data.o_numbers[5];
//根据溢出的位置对实际值进行计算
switch (m5data.overflow_flag_up) switch (m5data.overflow_flag_up)
{ {
case 1: case 1:
@ -397,6 +413,7 @@ void key_functions_main(void)
break; break;
} }
//将实际值转换成6个独立数字
m5data.o_numbers[0] = (oftemp/100000 > 9)?(9):(oftemp/100000); m5data.o_numbers[0] = (oftemp/100000 > 9)?(9):(oftemp/100000);
lv_img_set_src(guider_ui.screen_main_animimg_2, screen_main_animimg_2_imgs[ m5data.o_numbers[0] ]); lv_img_set_src(guider_ui.screen_main_animimg_2, screen_main_animimg_2_imgs[ m5data.o_numbers[0] ]);
m5data.o_numbers[1] = (oftemp/10000) % 10; m5data.o_numbers[1] = (oftemp/10000) % 10;
@ -410,6 +427,7 @@ void key_functions_main(void)
m5data.o_numbers[5] = oftemp % 10; m5data.o_numbers[5] = oftemp % 10;
lv_img_set_src(guider_ui.screen_main_animimg_7, screen_main_animimg_7_imgs[ m5data.o_numbers[5] ]); lv_img_set_src(guider_ui.screen_main_animimg_7, screen_main_animimg_7_imgs[ m5data.o_numbers[5] ]);
//溢出处理完成,标志清零
m5data.overflow_flag_up = 0; m5data.overflow_flag_up = 0;
} }
} }
@ -426,9 +444,9 @@ void key_functions_main(void)
m5data.i_numbers[i] = 0; //输入值/测量值 m5data.i_numbers[i] = 0; //输入值/测量值
m5data.o_numbers[i] = 0; //输出值/设定值 m5data.o_numbers[i] = 0; //输出值/设定值
} }
m5data.twk_flag = 0; //闪烁中止 m5data.twk_flag = 0; //闪烁中止
m5data.twk_cnt = 0; //闪烁计数清零 m5data.twk_cnt = 0; //闪烁计数清零
m5data.twk_flip = 0; //0显示1不显示 m5data.twk_flip = 0; //0显示1不显示
//加载菜单界面 //加载菜单界面
setup_scr_screen_setting(&guider_ui); setup_scr_screen_setting(&guider_ui);
@ -450,12 +468,15 @@ void key_functions_main(void)
if(m5data.io_mode == IO_OUTPUT) if(m5data.io_mode == IO_OUTPUT)
{ {
m5data.io_mode = IO_INPUT; m5data.io_mode = IO_INPUT;
//继承之前的输出类型
m5data.input_mode = m5data.output_mode; m5data.input_mode = m5data.output_mode;
io_on2off_status(); //更新状态指示 io_on2off_status(); //更新状态指示
} }
else else
{ {
//枚举类型不能直接运算于是使用临时变量cursor_temp
cursor_temp = (uint8_t)m5data.input_mode; cursor_temp = (uint8_t)m5data.input_mode;
cursor_temp = (cursor_temp >= 5)?(0):(cursor_temp + 1); cursor_temp = (cursor_temp >= 5)?(0):(cursor_temp + 1);
m5data.input_mode = (SIG_FUNCTIONS)cursor_temp; m5data.input_mode = (SIG_FUNCTIONS)cursor_temp;
@ -510,9 +531,9 @@ void key_functions_main(void)
key = 0; key = 0;
m5data.twk_flag = 1; //上、下、左、右 任意一个键按下后,闪烁开始 m5data.twk_flag = 1; //上、下、左、右 任意一个键按下后,闪烁开始
m5data.twk_cnt = 0; //每次按下后闪烁计数清零 m5data.twk_cnt = 0; //每次按下后闪烁计数清零
switch (m5data.io_cursor) //避免游标移动的瞬间数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值 switch (m5data.io_cursor) //避免游标移动的瞬间,前一刻的数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值
{ {
case 0: case 0:
{ {
@ -557,7 +578,9 @@ void key_functions_main(void)
m5data.io_cursor_prv = m5data.io_cursor; m5data.io_cursor_prv = m5data.io_cursor;
m5data.io_cursor = (m5data.io_cursor <= 0)?(5):(m5data.io_cursor - 1); m5data.io_cursor = (m5data.io_cursor <= 0)?(5):(m5data.io_cursor - 1);
//中间有个小数点,小数点的显示宽度与数字不同,间隔与两个起点在头文件中设置
// 【】IO_CURSOR_INTERVAL【】IO_CURSOR_INTERVAL【】.【】IO_CURSOR_INTERVAL【】IO_CURSOR_INTERVAL【】
// ↑ IO_CURSOR_START1 ↑ IO_CURSOR_START2
if(m5data.io_cursor <= 2) if(m5data.io_cursor <= 2)
{ {
lv_obj_set_pos(guider_ui.screen_main_img_3, IO_CURSOR_START1 + IO_CURSOR_INTERVAL * m5data.io_cursor, IO_CURSOR_Y); lv_obj_set_pos(guider_ui.screen_main_img_3, IO_CURSOR_START1 + IO_CURSOR_INTERVAL * m5data.io_cursor, IO_CURSOR_Y);
@ -574,6 +597,7 @@ void key_functions_main(void)
{ {
key = 0; key = 0;
//主界面用OK键控制开关ON&OFF
if(m5data.io_on2off == IO_ON) if(m5data.io_on2off == IO_ON)
{ {
m5data.io_on2off = IO_OFF; m5data.io_on2off = IO_OFF;
@ -594,7 +618,7 @@ void key_functions_main(void)
key = 0; key = 0;
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始 m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
m5data.twk_cnt = 0; //每次按下后闪烁计数清零 m5data.twk_cnt = 0; //每次按下后闪烁计数清零
switch (m5data.io_cursor) //避免游标移动的瞬间数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值 switch (m5data.io_cursor) //避免游标移动的瞬间数值处于闪烁熄灭的状态,移动游标前重新显示一次当前数值
{ {
@ -656,7 +680,7 @@ void key_functions_main(void)
{ {
key = 0; key = 0;
switch (m5data.io_mode) //输入、输出模式切换 switch (m5data.io_mode) //输入、输出模式切换
{ {
case IO_OUTPUT: case IO_OUTPUT:
{ {
@ -788,6 +812,7 @@ void key_functions_main(void)
case KEY_SOURCE: case KEY_SOURCE:
{ {
//电源开关靠硬件电路实现,此处可做预留
key = 0; key = 0;
} }
break; break;
@ -799,6 +824,7 @@ void key_functions_main(void)
m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始 m5data.twk_flag = 1; // 上、下、左、右 任意一个键按下后,闪烁开始
m5data.twk_cnt = 0; //每次按下后闪烁计数清零 m5data.twk_cnt = 0; //每次按下后闪烁计数清零
//溢出处理方式同KEY_UPLine233
switch (m5data.io_cursor) switch (m5data.io_cursor)
{ {
case 0: case 0:
@ -1011,7 +1037,7 @@ void key_functions_main(void)
void scr_init_run(void) void scr_init_run(void)
{ {
if( m5data.scr_init_cnt <= SCREEN_INIT_CNT_MAX ) if( m5data.scr_init_cnt <= SCREEN_INIT_CNT_MAX ) //进度条变化次数,在头文件中设置
{ {
if( m5data.tick_prv == -1 ) if( m5data.tick_prv == -1 )
{ {
@ -1100,7 +1126,7 @@ void runtime_show(void)
m5data.runtime_hours = 0; m5data.runtime_hours = 0;
} }
// 000000 // 000000该字符串的长度大于8因此runtime_show应该分配大于8的内存
sprintf(m5data.runtime_show, "%02d:%02d:%02d",m5data.runtime_hours, m5data.runtime_minutes, m5data.runtime_seconds); sprintf(m5data.runtime_show, "%02d:%02d:%02d",m5data.runtime_hours, m5data.runtime_minutes, m5data.runtime_seconds);
lv_span_set_text(guider_ui.screen_main_spangroup_1_span, m5data.runtime_show); lv_span_set_text(guider_ui.screen_main_spangroup_1_span, m5data.runtime_show);
@ -1124,17 +1150,22 @@ void input_value_show(void)
{ {
int32_t pvi = 0; int32_t pvi = 0;
pvi = (int32_t)(pltdata.yreal_scd_value * 1000); //副轴用于绘制实时输入测量值 pvi = (int32_t)(pltdata.yreal_scd_value * 1000); //副轴用于绘制实时输入测量值
//显示当前测量值 //显示当前测量值,从左往右 0->5
m5data.i_numbers[0] = (pvi/100000 > 9)?(0):(pvi/100000); m5data.i_numbers[0] = (pvi/100000 > 9)?(0):(pvi/100000);
lv_img_set_src(guider_ui.screen_main_animimg_9, screen_main_animimg_9_imgs[ m5data.i_numbers[0] ]); lv_img_set_src(guider_ui.screen_main_animimg_9, screen_main_animimg_9_imgs[ m5data.i_numbers[0] ]);
m5data.i_numbers[1] = (pvi/10000) % 10; m5data.i_numbers[1] = (pvi/10000) % 10;
lv_img_set_src(guider_ui.screen_main_animimg_10, screen_main_animimg_10_imgs[ m5data.i_numbers[1] ]); lv_img_set_src(guider_ui.screen_main_animimg_10, screen_main_animimg_10_imgs[ m5data.i_numbers[1] ]);
m5data.i_numbers[2] = (pvi/1000) % 10; m5data.i_numbers[2] = (pvi/1000) % 10;
lv_img_set_src(guider_ui.screen_main_animimg_11, screen_main_animimg_11_imgs[ m5data.i_numbers[2] ]); lv_img_set_src(guider_ui.screen_main_animimg_11, screen_main_animimg_11_imgs[ m5data.i_numbers[2] ]);
m5data.i_numbers[3] = (pvi/100) % 10; m5data.i_numbers[3] = (pvi/100) % 10;
lv_img_set_src(guider_ui.screen_main_animimg_12, screen_main_animimg_12_imgs[ m5data.i_numbers[3] ]); lv_img_set_src(guider_ui.screen_main_animimg_12, screen_main_animimg_12_imgs[ m5data.i_numbers[3] ]);
m5data.i_numbers[4] = (pvi/10) % 10; m5data.i_numbers[4] = (pvi/10) % 10;
lv_img_set_src(guider_ui.screen_main_animimg_13, screen_main_animimg_13_imgs[ m5data.i_numbers[4] ]); lv_img_set_src(guider_ui.screen_main_animimg_13, screen_main_animimg_13_imgs[ m5data.i_numbers[4] ]);
m5data.i_numbers[5] = pvi % 10; m5data.i_numbers[5] = pvi % 10;
lv_img_set_src(guider_ui.screen_main_animimg_14, screen_main_animimg_14_imgs[ m5data.i_numbers[5] ]); lv_img_set_src(guider_ui.screen_main_animimg_14, screen_main_animimg_14_imgs[ m5data.i_numbers[5] ]);
} }
@ -1208,9 +1239,10 @@ void key_functions_setting(void)
{ {
key = 0; key = 0;
//所有选项卡均未选中时,返回主界面,否则熄灭当前选中 //所有选项卡均未选中时,返回主界面,否则熄灭当前选中
if(tabdata.tab_cursor_inner == 99) if(tabdata.tab_cursor_inner == 99)
{ {
//下次进入设置页面时从选项卡0开始
tabdata.tab_cursor = 0; tabdata.tab_cursor = 0;
//加载主界面 //加载主界面
@ -1220,9 +1252,11 @@ void key_functions_setting(void)
//切换至菜单后,清除主界面对象,释放内存 //切换至菜单后,清除主界面对象,释放内存
lv_obj_del(guider_ui.screen_setting); lv_obj_del(guider_ui.screen_setting);
m5data.scr_now = SCREEN_MAIN; //当前界面为主界面 //当前界面为主界面
m5data.scr_now = SCREEN_MAIN;
scr_main_recover(); //恢复之前显示的数据 //恢复之前显示的数据
scr_main_recover();
} }
else else
{ {
@ -1231,7 +1265,8 @@ void key_functions_setting(void)
{ {
case ITEMS_0: case ITEMS_0:
{ {
setting_items_check(99, tabdata.tab_cursor_inner, 1); //熄灭当前内容 //熄灭当前内容
setting_items_check(99, tabdata.tab_cursor_inner, 1);
tabdata.tab_cursor_inner = 99; tabdata.tab_cursor_inner = 99;
tabdata.tab_cursor_inner_prv = 99; tabdata.tab_cursor_inner_prv = 99;
@ -1271,7 +1306,8 @@ void key_functions_setting(void)
{ {
key = 0; key = 0;
if(tabdata.tab_cursor_inner == 99) //内部游标为99时说明未选中任何一个选项卡此时的up和down用于切换选项卡 //内部游标为99时说明未选中任何一个选项卡此时的up和down用于切换选项卡
if(tabdata.tab_cursor_inner == 99)
{ {
tabdata.tab_cursor_prv = tabdata.tab_cursor; tabdata.tab_cursor_prv = tabdata.tab_cursor;
tabdata.tab_cursor = (tabdata.tab_cursor <= 0)?(3):(tabdata.tab_cursor - 1); tabdata.tab_cursor = (tabdata.tab_cursor <= 0)?(3):(tabdata.tab_cursor - 1);
@ -1522,8 +1558,10 @@ void key_functions_setting(void)
void setting_items_check(uint8_t cursor, uint8_t cursor_prv, uint8_t tab_cont) void setting_items_check(uint8_t cursor, uint8_t cursor_prv, uint8_t tab_cont)
{ {
if(tab_cont) //内容点亮和熄灭 //需要操作的是内容还是选项卡
{ if(tab_cont)
{
//操作内容
switch (tabdata.tab_cursor) switch (tabdata.tab_cursor)
{ {
case ITEMS_0: case ITEMS_0:
@ -1600,8 +1638,9 @@ void setting_items_check(uint8_t cursor, uint8_t cursor_prv, uint8_t tab_cont)
break; break;
} }
} }
else //标签点亮和熄灭 else
{ {
//操作选项卡
switch (cursor) //点亮当前选中目标 switch (cursor) //点亮当前选中目标
{ {
case ITEMS_0: case ITEMS_0:
@ -1778,6 +1817,7 @@ void scr_main_recover(void)
lv_label_set_text(guider_ui.screen_main_label_Mode, "Volt"); lv_label_set_text(guider_ui.screen_main_label_Mode, "Volt");
switch (m5data.output_mode_type) //功能类型切换电压V/mV switch (m5data.output_mode_type) //功能类型切换电压V/mV
{ {
//切换单位后,坐标轴随之切换
case VOLTAGE_MV: case VOLTAGE_MV:
{ {
lv_label_set_text(guider_ui.screen_main_label_unit, "mV"); lv_label_set_text(guider_ui.screen_main_label_unit, "mV");
@ -1932,6 +1972,7 @@ void num_twinkle(void) //数值闪烁
{ {
if(m5data.twk_flag == 0) if(m5data.twk_flag == 0)
{ {
//不需要闪烁的情况下直接返回
return; return;
} }
else else
@ -2063,14 +2104,14 @@ void num_twinkle(void) //数值闪烁
} }
} }
if(m5data.twk_cnt > TWINKLE_CNT_MAX) // 10秒无动作(上、下、左、右无按下)后停止闪烁 if(m5data.twk_cnt > TWINKLE_CNT_MAX) // TWINKLE_CNT_MAX秒无动作(上、下、左、右无按下)后停止闪烁
{ {
m5data.twk_cnt = 0; m5data.twk_cnt = 0;
m5data.twk_flip = 0; m5data.twk_flip = 0;
m5data.twk_flag = 0; m5data.twk_flag = 0;
m5data.io_cursor_prv = m5data.io_cursor; m5data.io_cursor_prv = m5data.io_cursor;
switch (m5data.io_cursor) //防止空白残留 switch (m5data.io_cursor) //防止空白残留
{ {
case 0: case 0:
{ {
@ -2124,23 +2165,32 @@ void plot_drawing(void)
plot_1500ms_flag = 0; plot_1500ms_flag = 0;
//输出曲线 //输出曲线
pltdata.yreal_pri_value = m5data.o_numbers[0]*100 + m5data.o_numbers[1]*10 + m5data.o_numbers[2] + \ //{
m5data.o_numbers[3]*(float32)0.1 + m5data.o_numbers[4]*(float32)0.01 + m5data.o_numbers[5]*(float32)0.001; //将独立数字转换成实际值
pltdata.yreal_pri_value = m5data.o_numbers[0]*100 + m5data.o_numbers[1]*10 + m5data.o_numbers[2] + \
m5data.o_numbers[3]*(float32)0.1 + m5data.o_numbers[4]*(float32)0.01 + m5data.o_numbers[5]*(float32)0.001;
pltdata.y_pri_value = ( pltdata.y_pri_up - pltdata.y_pri_low ) * \ //将实际值线性转换成chart组件上的绘图值pltdata.y_pri_low~up一般0~100
( pltdata.yreal_pri_value - pltdata.yreal_pri_low ) / ( pltdata.yreal_pri_up - pltdata.yreal_pri_low ); pltdata.y_pri_value = ( pltdata.y_pri_up - pltdata.y_pri_low ) * \
( pltdata.yreal_pri_value - pltdata.yreal_pri_low ) / ( pltdata.yreal_pri_up - pltdata.yreal_pri_low );
if(pltdata.y_pri_value >= pltdata.y_pri_up) pltdata.y_pri_value = pltdata.y_pri_up; //数值限幅
if(pltdata.y_pri_value <= pltdata.y_pri_low) pltdata.y_pri_value = pltdata.y_pri_low; if(pltdata.y_pri_value >= pltdata.y_pri_up) pltdata.y_pri_value = pltdata.y_pri_up;
lv_chart_set_next_value(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_0, pltdata.y_pri_value); if(pltdata.y_pri_value <= pltdata.y_pri_low) pltdata.y_pri_value = pltdata.y_pri_low;
lv_chart_set_next_value(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_0, pltdata.y_pri_value);
//}
//输入曲线 //输入曲线
pltdata.y_scd_value = ( pltdata.y_scd_up - pltdata.y_scd_low ) * \ //{
( pltdata.yreal_scd_value - pltdata.yreal_scd_low ) / ( pltdata.yreal_scd_up - pltdata.yreal_scd_low ); //将实际值线性转换成chart组件上的绘图值pltdata.y_pri_low~up一般0~100
pltdata.y_scd_value = ( pltdata.y_scd_up - pltdata.y_scd_low ) * \
if(pltdata.y_scd_value >= pltdata.y_scd_up) pltdata.y_scd_value = pltdata.y_scd_up; ( pltdata.yreal_scd_value - pltdata.yreal_scd_low ) / ( pltdata.yreal_scd_up - pltdata.yreal_scd_low );
if(pltdata.y_scd_value <= pltdata.y_scd_low) pltdata.y_scd_value = pltdata.y_scd_low;
lv_chart_set_next_value(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_1, pltdata.y_scd_value); //数值限幅
if(pltdata.y_scd_value >= pltdata.y_scd_up) pltdata.y_scd_value = pltdata.y_scd_up;
if(pltdata.y_scd_value <= pltdata.y_scd_low) pltdata.y_scd_value = pltdata.y_scd_low;
lv_chart_set_next_value(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_1, pltdata.y_scd_value);
//}
} }
} }