更新:

1、输出&输入记录查询中加入了物理量的单位;
2、修复了曲线显示异常的问题;
This commit is contained in:
吴俊潮 2025-04-29 11:11:40 +08:00
parent fe761e5512
commit 9ef723ed36
10 changed files with 16258 additions and 16120 deletions

View File

@ -32,7 +32,8 @@
"app_screen_main.h": "c", "app_screen_main.h": "c",
"algorithm": "c", "algorithm": "c",
"app_screen_setting.h": "c", "app_screen_setting.h": "c",
"key_functions.h": "c" "key_functions.h": "c",
"sstream": "c"
}, },
"C_Cpp.errorSquiggles": "disabled", "C_Cpp.errorSquiggles": "disabled",
"idf.pythonInstallPath": "F:\\Espressif\\tools\\idf-python\\3.11.2\\python.exe", "idf.pythonInstallPath": "F:\\Espressif\\tools\\idf-python\\3.11.2\\python.exe",

View File

@ -74,41 +74,38 @@ typedef struct
extern MENU_DATA m5data; //界面参数初始化 extern MENU_DATA m5data; //界面参数初始化
extern PLOT_DATA pltdata; //chart绘图参数初始化 extern PLOT_DATA pltdata; //chart绘图参数初始化
//主界面ON
#define IO_ON 1
//主界面OFF
#define IO_OFF 0
//主界面ON //主界面,输入模式
#define IO_ON 1 #define IO_INPUT 0
//主界面OFF //主界面,输出模式
#define IO_OFF 0 #define IO_OUTPUT 1
//主界面,输入模式 //游标-横线起点1小数点的宽度与数字不一样因此分成左右两半
#define IO_INPUT 0 #define IO_CURSOR_START1 136
//主界面,输出模式 //游标-横线起点2
#define IO_OUTPUT 1 #define IO_CURSOR_START2 244
//游标-横线起点1小数点的宽度与数字不一样因此分成左右两半 //游标-数字之间间隔大小
#define IO_CURSOR_START1 136 #define IO_CURSOR_INTERVAL 24
//游标-横线起点2 //游标-y轴坐标值
#define IO_CURSOR_START2 244 #define IO_CURSOR_Y 230
//游标-数字之间间隔大小 //闪烁次数上限
#define IO_CURSOR_INTERVAL 24 #define TWINKLE_CNT_MAX 10
//游标-y轴坐标值 //数码管闪烁功能使能
#define IO_CURSOR_Y 230 #define NIXIE_CUBE_ENABLE 0
//闪烁次数上限 //EEPROM状态监控
#define TWINKLE_CNT_MAX 10 #define EEPROM_MONITOR_ENABLE 1
//数码管闪烁功能使能
#define NIXIE_CUBE_ENABLE 0
//EEPROM状态监控
#define EEPROM_MONITOR_ENABLE 1
//}
//菜单数据初始化 //菜单数据初始化
void screen_data_init(void); void screen_data_init(void);

View File

@ -102,7 +102,9 @@ typedef struct
uint8_t item2_page0_saveflag; //[0, 1,2 ] -> [未保存,保存中,已保存] uint8_t item2_page0_saveflag; //[0, 1,2 ] -> [未保存,保存中,已保存]
char log_time[60][16]; //输入&输出记录,时间戳 char log_time[60][16]; //输入&输出记录,时间戳
float32 input_log_value[60]; //输入记录,实际值 float32 input_log_value[60]; //输入记录,实际值
SIG_FUNCTIONS_TYPE input_log_unit[60]; //输入记录,单位
float32 output_log_value[60]; //输出记录,实际值 float32 output_log_value[60]; //输出记录,实际值
SIG_FUNCTIONS_TYPE output_log_unit[60];//输出记录,单位
uint8_t item2_page0_resetflag; //[0, 1,2 ] -> [未复位,复位中,已复位] uint8_t item2_page0_resetflag; //[0, 1,2 ] -> [未复位,复位中,已复位]
//ITEMS_3 //ITEMS_3
@ -234,9 +236,6 @@ void set_item2_value(ITEM_CONTENTS con, int8_t step);
//修改选项卡3的值 //修改选项卡3的值
void set_item3_value(ITEM_CONTENTS con, int8_t step); void set_item3_value(ITEM_CONTENTS con, int8_t step);
//查看输入输出记录io -> 输入/输出page -> 指定页码
void show_IO_log(uint8_t io, uint8_t page);
//内容游标 uint8_t -> enum //内容游标 uint8_t -> enum
ITEM_CONTENTS content_cur_char2enum(ITEMS ite, uint8_t cur_uint8); ITEM_CONTENTS content_cur_char2enum(ITEMS ite, uint8_t cur_uint8);

View File

@ -7,6 +7,13 @@
#define LIGHT_OFF HAL_GPIO_WritePin(light_GPIO_Port, light_Pin, GPIO_PIN_RESET) #define LIGHT_OFF HAL_GPIO_WritePin(light_GPIO_Port, light_Pin, GPIO_PIN_RESET)
//查看输入输出记录io -> 输入/输出page -> 指定页码
void show_IO_log(uint8_t io, uint8_t page);
//显示时间戳、物理量单位、数值
void show_time_unit_value(lv_obj_t *obj_left, lv_obj_t *obj_right, uint8_t io, uint8_t cur);
#endif #endif

View File

@ -327,13 +327,15 @@ void eep_status_monitor(void)
} }
#endif #endif
uint8_t log_pos = 0;
void runtime_show(void) void runtime_show(void)
{ {
uint8_t log_pos = 0;
if(heart_1000ms_flag) if(heart_1000ms_flag)
{ {
heart_1000ms_flag = 0; heart_1000ms_flag = 0;
//时间戳更新
m5data.runtime_seconds ++; m5data.runtime_seconds ++;
if( m5data.runtime_seconds > 59) //秒溢出 if( m5data.runtime_seconds > 59) //秒溢出
{ {
@ -356,11 +358,26 @@ void runtime_show(void)
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_time_span, m5data.runtime_show); lv_span_set_text(guider_ui.screen_main_spangroup_time_span, m5data.runtime_show);
//记录输出值及其对应时间戳 log_pos = m5data.runtime_seconds;
//记录时间戳
memcpy(tabdata.log_time[log_pos], m5data.runtime_show, sizeof(m5data.runtime_show)); memcpy(tabdata.log_time[log_pos], m5data.runtime_show, sizeof(m5data.runtime_show));
//记录输入值及其单位
tabdata.input_log_value[log_pos]= mux2real(mux_signal.data_pv); tabdata.input_log_value[log_pos]= mux2real(mux_signal.data_pv);
tabdata.output_log_value[log_pos]= mux_signal.data_sv; if(m5data.io_mode == IO_INPUT)
log_pos = (log_pos >= 59)?(0):(log_pos + 1); {
//纯粹输入
tabdata.input_log_unit[log_pos] = m5data.input_mode_type;
}
else
{
//输出回采
tabdata.input_log_unit[log_pos] = m5data.output_mode_type;
}
//记录输出值及其单位
tabdata.output_log_value[log_pos]= get_output_value();
tabdata.output_log_unit[log_pos] = m5data.output_mode_type;
#if EEPROM_MONITOR_ENABLE #if EEPROM_MONITOR_ENABLE
eep_status_monitor(); eep_status_monitor();
@ -1030,8 +1047,15 @@ void plot_drawing(void)
//输出曲线 //输出曲线
//{ //{
//将独立数字转换成实际值 //将独立数字转换成实际值
pltdata.yreal_pri_value = mux_signal.data_sv; if(mux_signal.data_sv == 0)
{
pltdata.yreal_pri_value = 0;
}
else
{
pltdata.yreal_pri_value = get_output_value();
}
//改变之前先记录前一时刻的绘图值 //改变之前先记录前一时刻的绘图值
pltdata.y_pri_value_prv = pltdata.y_pri_value; pltdata.y_pri_value_prv = pltdata.y_pri_value;

View File

@ -24,8 +24,6 @@ void tab_data_init(void)
tabdata.content_focus = 0; //默认无焦点 tabdata.content_focus = 0; //默认无焦点
tabdata.current_content = CONTENT_EMPTY; //当前指向内容,枚举类型 tabdata.current_content = CONTENT_EMPTY; //当前指向内容,枚举类型
//设置界面的初始默认值
//EEPROM部分 //EEPROM部分
eeprom_item_data_init(); eeprom_item_data_init();
@ -39,8 +37,13 @@ void tab_data_init(void)
//ITEMS_2部分内容位于EERPOM读取 //ITEMS_2部分内容位于EERPOM读取
tabdata.item2_page0_saveflag = 0; tabdata.item2_page0_saveflag = 0;
memset(tabdata.log_time, 0, sizeof(tabdata.log_time)); memset(tabdata.log_time, 0, sizeof(tabdata.log_time));
memset(tabdata.input_log_value, 0, sizeof(tabdata.input_log_value)); memset(tabdata.input_log_value, 0, sizeof(tabdata.input_log_value));
memset(tabdata.output_log_value, 0, sizeof(tabdata.output_log_value)); memset(tabdata.input_log_unit, 0, sizeof(tabdata.input_log_unit));
memset(tabdata.output_log_value, 0, sizeof(tabdata.output_log_value));
memset(tabdata.output_log_unit, 0, sizeof(tabdata.output_log_unit));
sprintf(tabdata.log_time[0], "00:00:00");
tabdata.input_log_unit[0] = m5data.input_mode_type;
tabdata.output_log_unit[0] = m5data.output_mode_type;
tabdata.item2_page0_resetflag = 0; tabdata.item2_page0_resetflag = 0;
//ITEMS_3部分内容位于EERPOM读取 //ITEMS_3部分内容位于EERPOM读取

View File

@ -413,115 +413,235 @@ void show_IO_log(uint8_t io, uint8_t page)
cur = (page - 1)*6; cur = (page - 1)*6;
char str[16]; char str[16];
//1秒1条记录60秒才能填满填满之前时间戳以“---”代替
if(tabdata.log_time[cur][2] == 0) if(tabdata.log_time[cur][2] == 0)
{ {
//第1条时间为空后面5*2条也为空
lv_label_set_text(guider_ui.screen_setting_label_00, "---"); lv_label_set_text(guider_ui.screen_setting_label_00, "---");
}
else
{
lv_label_set_text(guider_ui.screen_setting_label_00, tabdata.log_time[cur]);
}
if(tabdata.log_time[cur + 1][2] == 0)
{
lv_label_set_text(guider_ui.screen_setting_label_10, "---"); lv_label_set_text(guider_ui.screen_setting_label_10, "---");
}
else
{
lv_label_set_text(guider_ui.screen_setting_label_10, tabdata.log_time[cur + 1]);
}
if(tabdata.log_time[cur + 2][2] == 0)
{
lv_label_set_text(guider_ui.screen_setting_label_20, "---"); lv_label_set_text(guider_ui.screen_setting_label_20, "---");
}
else
{
lv_label_set_text(guider_ui.screen_setting_label_20, tabdata.log_time[cur + 2]);
}
if(tabdata.log_time[cur + 3][2] == 0)
{
lv_label_set_text(guider_ui.screen_setting_label_30, "---"); lv_label_set_text(guider_ui.screen_setting_label_30, "---");
}
else
{
lv_label_set_text(guider_ui.screen_setting_label_30, tabdata.log_time[cur + 3]);
}
if(tabdata.log_time[cur + 4][2] == 0)
{
lv_label_set_text(guider_ui.screen_setting_label_40, "---"); lv_label_set_text(guider_ui.screen_setting_label_40, "---");
lv_label_set_text(guider_ui.screen_setting_label_50, "---");
lv_label_set_text(guider_ui.screen_setting_label_01, "---");
lv_label_set_text(guider_ui.screen_setting_label_11, "---");
lv_label_set_text(guider_ui.screen_setting_label_21, "---");
lv_label_set_text(guider_ui.screen_setting_label_31, "---");
lv_label_set_text(guider_ui.screen_setting_label_41, "---");
lv_label_set_text(guider_ui.screen_setting_label_51, "---");
}
else if(tabdata.log_time[cur + 1][2] == 0)
{
show_time_unit_value(guider_ui.screen_setting_label_00, guider_ui.screen_setting_label_01, io, cur);
//第2条时间为空后面4*2条也为空
lv_label_set_text(guider_ui.screen_setting_label_10, "---");
lv_label_set_text(guider_ui.screen_setting_label_20, "---");
lv_label_set_text(guider_ui.screen_setting_label_30, "---");
lv_label_set_text(guider_ui.screen_setting_label_40, "---");
lv_label_set_text(guider_ui.screen_setting_label_50, "---");
lv_label_set_text(guider_ui.screen_setting_label_11, "---");
lv_label_set_text(guider_ui.screen_setting_label_21, "---");
lv_label_set_text(guider_ui.screen_setting_label_31, "---");
lv_label_set_text(guider_ui.screen_setting_label_41, "---");
lv_label_set_text(guider_ui.screen_setting_label_51, "---");
}
else if(tabdata.log_time[cur + 2][2] == 0)
{
show_time_unit_value(guider_ui.screen_setting_label_00, guider_ui.screen_setting_label_01, io, cur);
show_time_unit_value(guider_ui.screen_setting_label_10, guider_ui.screen_setting_label_11, io, cur + 1);
//第3条时间为空后面3*2条也为空
lv_label_set_text(guider_ui.screen_setting_label_20, "---");
lv_label_set_text(guider_ui.screen_setting_label_30, "---");
lv_label_set_text(guider_ui.screen_setting_label_40, "---");
lv_label_set_text(guider_ui.screen_setting_label_50, "---");
lv_label_set_text(guider_ui.screen_setting_label_21, "---");
lv_label_set_text(guider_ui.screen_setting_label_31, "---");
lv_label_set_text(guider_ui.screen_setting_label_41, "---");
lv_label_set_text(guider_ui.screen_setting_label_51, "---");
}
else if(tabdata.log_time[cur + 3][2] == 0)
{
show_time_unit_value(guider_ui.screen_setting_label_00, guider_ui.screen_setting_label_01, io, cur);
show_time_unit_value(guider_ui.screen_setting_label_10, guider_ui.screen_setting_label_11, io, cur + 1);
show_time_unit_value(guider_ui.screen_setting_label_20, guider_ui.screen_setting_label_21, io, cur + 2);
//第4条时间为空后面2*2条也为空
lv_label_set_text(guider_ui.screen_setting_label_30, "---");
lv_label_set_text(guider_ui.screen_setting_label_40, "---");
lv_label_set_text(guider_ui.screen_setting_label_50, "---");
lv_label_set_text(guider_ui.screen_setting_label_31, "---");
lv_label_set_text(guider_ui.screen_setting_label_41, "---");
lv_label_set_text(guider_ui.screen_setting_label_51, "---");
}
else if(tabdata.log_time[cur + 4][2] == 0)
{
show_time_unit_value(guider_ui.screen_setting_label_00, guider_ui.screen_setting_label_01, io, cur);
show_time_unit_value(guider_ui.screen_setting_label_10, guider_ui.screen_setting_label_11, io, cur + 1);
show_time_unit_value(guider_ui.screen_setting_label_20, guider_ui.screen_setting_label_21, io, cur + 2);
show_time_unit_value(guider_ui.screen_setting_label_30, guider_ui.screen_setting_label_31, io, cur + 3);
//第5条时间为空后面1*2条也为空
lv_label_set_text(guider_ui.screen_setting_label_40, "---");
lv_label_set_text(guider_ui.screen_setting_label_50, "---");
lv_label_set_text(guider_ui.screen_setting_label_41, "---");
lv_label_set_text(guider_ui.screen_setting_label_51, "---");
}
else if(tabdata.log_time[cur + 5][2] == 0)
{
show_time_unit_value(guider_ui.screen_setting_label_00, guider_ui.screen_setting_label_01, io, cur);
show_time_unit_value(guider_ui.screen_setting_label_10, guider_ui.screen_setting_label_11, io, cur + 1);
show_time_unit_value(guider_ui.screen_setting_label_20, guider_ui.screen_setting_label_21, io, cur + 2);
show_time_unit_value(guider_ui.screen_setting_label_30, guider_ui.screen_setting_label_31, io, cur + 3);
show_time_unit_value(guider_ui.screen_setting_label_40, guider_ui.screen_setting_label_41, io, cur + 4);
//第6条时间为空
lv_label_set_text(guider_ui.screen_setting_label_50, "---");
lv_label_set_text(guider_ui.screen_setting_label_51, "---");
} }
else else
{ {
lv_label_set_text(guider_ui.screen_setting_label_40, tabdata.log_time[cur + 4]); //6条数据时间均不为空
show_time_unit_value(guider_ui.screen_setting_label_00, guider_ui.screen_setting_label_01, io, cur);
show_time_unit_value(guider_ui.screen_setting_label_10, guider_ui.screen_setting_label_11, io, cur + 1);
show_time_unit_value(guider_ui.screen_setting_label_20, guider_ui.screen_setting_label_21, io, cur + 2);
show_time_unit_value(guider_ui.screen_setting_label_30, guider_ui.screen_setting_label_31, io, cur + 3);
show_time_unit_value(guider_ui.screen_setting_label_40, guider_ui.screen_setting_label_41, io, cur + 4);
show_time_unit_value(guider_ui.screen_setting_label_50, guider_ui.screen_setting_label_51, io, cur + 5);
} }
if(tabdata.log_time[cur + 5][2] == 0) sprintf(str,"< %d/%d >", page, 10);
{ lv_label_set_text(guider_ui.screen_setting_label_page, str);
lv_label_set_text(guider_ui.screen_setting_label_50, "---"); }
}
else //显示时间戳、物理量单位、数值
{ void show_time_unit_value(lv_obj_t *obj_left, lv_obj_t *obj_right, uint8_t io, uint8_t cur)
lv_label_set_text(guider_ui.screen_setting_label_50, tabdata.log_time[cur + 5]); {
} char str_temp[16];
char str_temp_val[16];
SIG_FUNCTIONS_TYPE unit;
switch (io) switch (io)
{ {
case IO_INPUT: case IO_INPUT:
{ {
sprintf(str, "%.3f", tabdata.input_log_value[cur]); //数值
lv_label_set_text(guider_ui.screen_setting_label_01, str); sprintf(str_temp_val, "%.3f", tabdata.input_log_value[cur]);
sprintf(str, "%.3f", tabdata.input_log_value[cur + 1]); unit = tabdata.input_log_unit[cur];
lv_label_set_text(guider_ui.screen_setting_label_11, str);
sprintf(str, "%.3f", tabdata.input_log_value[cur + 2]);
lv_label_set_text(guider_ui.screen_setting_label_21, str);
sprintf(str, "%.3f", tabdata.input_log_value[cur + 3]);
lv_label_set_text(guider_ui.screen_setting_label_31, str);
sprintf(str, "%.3f", tabdata.input_log_value[cur + 4]);
lv_label_set_text(guider_ui.screen_setting_label_41, str);
sprintf(str, "%.3f", tabdata.input_log_value[cur + 5]);
lv_label_set_text(guider_ui.screen_setting_label_51, str);
sprintf(str,"< %d/%d >", page, 10);
lv_label_set_text(guider_ui.screen_setting_label_page, str);
} }
break; break;
case IO_OUTPUT: case IO_OUTPUT:
{ {
sprintf(str, "%.3f", tabdata.output_log_value[cur]); //数值
lv_label_set_text(guider_ui.screen_setting_label_01, str); sprintf(str_temp_val, "%.3f", tabdata.output_log_value[cur]);
sprintf(str, "%.3f", tabdata.output_log_value[cur + 1]); unit = tabdata.output_log_unit[cur];
lv_label_set_text(guider_ui.screen_setting_label_11, str); }
break;
sprintf(str, "%.3f", tabdata.output_log_value[cur + 2]); default:
lv_label_set_text(guider_ui.screen_setting_label_21, str); break;
}
sprintf(str, "%.3f", tabdata.output_log_value[cur + 3]); //时间、物理量单位
lv_label_set_text(guider_ui.screen_setting_label_31, str); switch (unit)
{
case VOLTAGE_MV:
{
sprintf(str_temp,"%s mV",tabdata.log_time[cur]);
}
break;
sprintf(str, "%.3f", tabdata.output_log_value[cur + 4]); case VOLTAGE_V:
lv_label_set_text(guider_ui.screen_setting_label_41, str); {
sprintf(str_temp,"%s V",tabdata.log_time[cur]);
}
break;
sprintf(str, "%.3f", tabdata.output_log_value[cur + 5]); case CURRENT_MA:
lv_label_set_text(guider_ui.screen_setting_label_51, str); {
sprintf(str_temp,"%s mA",tabdata.log_time[cur]);
}
break;
sprintf(str,"< %d/%d >", page, 10); case RESISTANT_OHM:
lv_label_set_text(guider_ui.screen_setting_label_page, str); {
sprintf(str_temp,"%s Ω",tabdata.log_time[cur]);
}
break;
case FREQUENCE_KHZ:
{
sprintf(str_temp,"%s KHz",tabdata.log_time[cur]);
}
break;
case TC_K:
{
sprintf(str_temp,"%s ℃",tabdata.log_time[cur]);
}
break;
case TC_S:
{
sprintf(str_temp,"%s ℃",tabdata.log_time[cur]);
}
break;
case TC_N:
{
sprintf(str_temp,"%s ℃",tabdata.log_time[cur]);
}
break;
case TC_B:
{
sprintf(str_temp,"%s ℃",tabdata.log_time[cur]);
}
break;
case TC_E:
{
sprintf(str_temp,"%s ℃",tabdata.log_time[cur]);
}
break;
case TC_J:
{
sprintf(str_temp,"%s ℃",tabdata.log_time[cur]);
}
break;
case TC_R:
{
sprintf(str_temp,"%s ℃",tabdata.log_time[cur]);
}
break;
case TC_T:
{
sprintf(str_temp,"%s ℃",tabdata.log_time[cur]);
}
break;
case RTD_DC:
{
sprintf(str_temp,"%s ℃",tabdata.log_time[cur]);
} }
break; break;
default: default:
break; break;
} }
//左列:时间、物理量单位
lv_label_set_text(obj_left, str_temp);
//右列:数值
lv_label_set_text(obj_right, str_temp_val);
} }

View File

@ -282,14 +282,14 @@
*-----------*/ *-----------*/
/*1: Show CPU usage and FPS count*/ /*1: Show CPU usage and FPS count*/
#define LV_USE_PERF_MONITOR 1 #define LV_USE_PERF_MONITOR 0
#if LV_USE_PERF_MONITOR #if LV_USE_PERF_MONITOR
#define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT #define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT
#endif #endif
/*1: Show the used memory and the memory fragmentation /*1: Show the used memory and the memory fragmentation
* Requires LV_MEM_CUSTOM = 0*/ * Requires LV_MEM_CUSTOM = 0*/
#define LV_USE_MEM_MONITOR 1 #define LV_USE_MEM_MONITOR 0
#if LV_USE_MEM_MONITOR #if LV_USE_MEM_MONITOR
#define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT #define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT
#endif #endif

View File

@ -188,37 +188,37 @@
<Ww> <Ww>
<count>6</count> <count>6</count>
<WinNumber>1</WinNumber> <WinNumber>1</WinNumber>
<ItemText>m5data,0x0A</ItemText> <ItemText>current_operation</ItemText>
</Ww> </Ww>
<Ww> <Ww>
<count>7</count> <count>7</count>
<WinNumber>1</WinNumber> <WinNumber>1</WinNumber>
<ItemText>pltdata,0x0A</ItemText> <ItemText>key_pv,0x0A</ItemText>
</Ww> </Ww>
<Ww> <Ww>
<count>8</count> <count>8</count>
<WinNumber>1</WinNumber> <WinNumber>1</WinNumber>
<ItemText>tabdata,0x0A</ItemText> <ItemText>key_sts,0x0A</ItemText>
</Ww> </Ww>
<Ww> <Ww>
<count>9</count> <count>9</count>
<WinNumber>1</WinNumber> <WinNumber>1</WinNumber>
<ItemText>key_pv,0x0A</ItemText> <ItemText>system_sts,0x0A</ItemText>
</Ww> </Ww>
<Ww> <Ww>
<count>10</count> <count>10</count>
<WinNumber>1</WinNumber> <WinNumber>1</WinNumber>
<ItemText>current_operation</ItemText> <ItemText>m5data,0x0A</ItemText>
</Ww> </Ww>
<Ww> <Ww>
<count>11</count> <count>11</count>
<WinNumber>1</WinNumber> <WinNumber>1</WinNumber>
<ItemText>key_sts</ItemText> <ItemText>pltdata,0x0A</ItemText>
</Ww> </Ww>
<Ww> <Ww>
<count>12</count> <count>12</count>
<WinNumber>1</WinNumber> <WinNumber>1</WinNumber>
<ItemText>system_sts,0x0A</ItemText> <ItemText>tabdata,0x0A</ItemText>
</Ww> </Ww>
</WatchWindow1> </WatchWindow1>
<WatchWindow2> <WatchWindow2>

File diff suppressed because it is too large Load Diff