新增向下溢出,完善向上溢出

This commit is contained in:
吴俊潮 2025-02-07 09:13:35 +08:00
parent 9fae18f944
commit efbcce8886
366 changed files with 72923 additions and 45175 deletions

View File

@ -2,7 +2,7 @@
* @Author: wujunchao wujunchao@wuxismart.com
* @Date: 2024-12-27 11:50:56
* @LastEditors: wujunchao wujunchao@wuxismart.com
* @LastEditTime: 2025-02-06 17:00:55
* @LastEditTime: 2025-02-07 09:05:47
* @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
*/
@ -100,7 +100,8 @@ void menu_test5(void)
}
uint8_t twk_cnt = 0; //闪烁计数
uint8_t overflow_flag = 0; //溢出标志
uint8_t overflow_flag = 0; //向上溢出标志
uint8_t overflow_flag_low = 0; //向下溢出标志
void key_functions_main(void) //按键功能
{
uint8_t cursor_temp = 0; //临时游标,替代枚举变量进行加减运算
@ -180,7 +181,7 @@ void key_functions_main(void) //按键功能
{
case 0:
{
m5data.io_numbers[0] = (m5data.io_numbers[0] >= 9)?(0):(m5data.io_numbers[0] + 1);
m5data.io_numbers[0] = (m5data.io_numbers[0] >= 9)?(9):(m5data.io_numbers[0] + 1);
// sprintf(buff_io,"%d",m5data.io_numbers[0]);
// lv_span_set_text(guider_ui.screen_main_spangroup_7_span, buff_io);
@ -193,8 +194,15 @@ void key_functions_main(void) //按键功能
{
if(m5data.io_numbers[1] >= 9)
{
m5data.io_numbers[1] = 0;
overflow_flag = 1;
if( m5data.io_numbers[0]!=9 )
{
m5data.io_numbers[1] = 0;
overflow_flag = 1;
}
else
{
m5data.io_numbers[1] = 9;
}
}else
{
m5data.io_numbers[1]++;
@ -211,8 +219,15 @@ void key_functions_main(void) //按键功能
{
if(m5data.io_numbers[2] >= 9)
{
m5data.io_numbers[2] = 0;
overflow_flag = 2;
if( (m5data.io_numbers[0]!=9)||(m5data.io_numbers[1]!=9))
{
m5data.io_numbers[2] = 0;
overflow_flag = 2;
}
else
{
m5data.io_numbers[2] = 9;
}
}else
{
m5data.io_numbers[2]++;
@ -229,8 +244,15 @@ void key_functions_main(void) //按键功能
{
if(m5data.io_numbers[3] >= 9)
{
m5data.io_numbers[3] = 0;
overflow_flag = 3;
if( (m5data.io_numbers[0]!=9)||(m5data.io_numbers[1]!=9)||(m5data.io_numbers[2]!=9))
{
m5data.io_numbers[3] = 0;
overflow_flag = 3;
}
else
{
m5data.io_numbers[3] = 9;
}
}else
{
m5data.io_numbers[3]++;
@ -247,8 +269,15 @@ void key_functions_main(void) //按键功能
{
if(m5data.io_numbers[4] >= 9)
{
m5data.io_numbers[4] = 0;
overflow_flag = 4;
if( (m5data.io_numbers[0]!=9)||(m5data.io_numbers[1]!=9)||(m5data.io_numbers[2]!=9)||(m5data.io_numbers[3]!=9))
{
m5data.io_numbers[4] = 0;
overflow_flag = 4;
}
else
{
m5data.io_numbers[4] = 9;
}
}else
{
m5data.io_numbers[4]++;
@ -265,8 +294,15 @@ void key_functions_main(void) //按键功能
{
if(m5data.io_numbers[5] >= 9)
{
m5data.io_numbers[5] = 0;
overflow_flag = 5;
if( (m5data.io_numbers[0]!=9)||(m5data.io_numbers[1]!=9)||(m5data.io_numbers[2]!=9)||(m5data.io_numbers[3]!=9)||(m5data.io_numbers[4]!=9))
{
m5data.io_numbers[5] = 0;
overflow_flag = 5;
}
else
{
m5data.io_numbers[5] = 9;
}
}else
{
m5data.io_numbers[5]++;
@ -325,7 +361,7 @@ void key_functions_main(void) //按键功能
break;
}
m5data.io_numbers[0] = (oftemp/100000 > 9)?(0):(oftemp/100000);
m5data.io_numbers[0] = (oftemp/100000 > 9)?(9):(oftemp/100000);
lv_img_set_src(guider_ui.screen_main_animimg_2, screen_main_animimg_2_imgs[ m5data.io_numbers[0] ]);
m5data.io_numbers[1] = (oftemp/10000) % 10;
lv_img_set_src(guider_ui.screen_main_animimg_3, screen_main_animimg_3_imgs[ m5data.io_numbers[1] ]);
@ -706,7 +742,15 @@ void key_functions_main(void) //按键功能
{
case 0:
{
m5data.io_numbers[0] = (m5data.io_numbers[0] <= 0)?(9):(m5data.io_numbers[0] - 1);
if(m5data.io_numbers[0] <= 0)
{
m5data.io_numbers[0] = 0;
overflow_flag_low = 0;
}
else
{
m5data.io_numbers[0] = m5data.io_numbers[0] - 1;
}
// sprintf(buff_io,"%d",m5data.io_numbers[0]);
// lv_span_set_text(guider_ui.screen_main_spangroup_7_span, buff_io);
@ -717,7 +761,22 @@ void key_functions_main(void) //按键功能
case 1:
{
m5data.io_numbers[1] = (m5data.io_numbers[1] <= 0)?(9):(m5data.io_numbers[1] - 1);
if(m5data.io_numbers[1] <= 0)
{
if(m5data.io_numbers[0])
{
m5data.io_numbers[1] = 9;
overflow_flag_low = 1;
}
else
{
m5data.io_numbers[1] = 0;
}
}
else
{
m5data.io_numbers[1] = m5data.io_numbers[1] - 1;
}
// sprintf(buff_io,"%d",m5data.io_numbers[1]);
// lv_span_set_text(guider_ui.screen_main_spangroup_8_span, buff_io);
@ -728,7 +787,22 @@ void key_functions_main(void) //按键功能
case 2:
{
m5data.io_numbers[2] = (m5data.io_numbers[2] <= 0)?(9):(m5data.io_numbers[2] - 1);
if(m5data.io_numbers[2] <= 0)
{
if(m5data.io_numbers[0]||m5data.io_numbers[1])
{
m5data.io_numbers[2] = 9;
overflow_flag_low = 2;
}
else
{
m5data.io_numbers[2] = 0;
}
}
else
{
m5data.io_numbers[2] = m5data.io_numbers[2] - 1;
}
// sprintf(buff_io,"%d",m5data.io_numbers[2]);
// lv_span_set_text(guider_ui.screen_main_spangroup_9_span, buff_io);
@ -739,7 +813,22 @@ void key_functions_main(void) //按键功能
case 3:
{
m5data.io_numbers[3] = (m5data.io_numbers[3] <= 0)?(9):(m5data.io_numbers[3] - 1);
if(m5data.io_numbers[3] <= 0)
{
if(m5data.io_numbers[0]||m5data.io_numbers[1]||m5data.io_numbers[2])
{
m5data.io_numbers[3] = 9;
overflow_flag_low = 3;
}
else
{
m5data.io_numbers[3] = 0;
}
}
else
{
m5data.io_numbers[3] = m5data.io_numbers[3] - 1;
}
// sprintf(buff_io,"%d",m5data.io_numbers[3]);
// lv_span_set_text(guider_ui.screen_main_spangroup_10_span, buff_io);
@ -750,7 +839,22 @@ void key_functions_main(void) //按键功能
case 4:
{
m5data.io_numbers[4] = (m5data.io_numbers[4] <= 0)?(9):(m5data.io_numbers[4] - 1);
if(m5data.io_numbers[4] <= 0)
{
if(m5data.io_numbers[0]||m5data.io_numbers[1]||m5data.io_numbers[2]||m5data.io_numbers[3])
{
m5data.io_numbers[4] = 9;
overflow_flag_low = 4;
}
else
{
m5data.io_numbers[4] = 0;
}
}
else
{
m5data.io_numbers[4] = m5data.io_numbers[4] - 1;
}
// sprintf(buff_io,"%d",m5data.io_numbers[4]);
// lv_span_set_text(guider_ui.screen_main_spangroup_11_span, buff_io);
@ -761,7 +865,22 @@ void key_functions_main(void) //按键功能
case 5:
{
m5data.io_numbers[5] = (m5data.io_numbers[5] <= 0)?(9):(m5data.io_numbers[5] - 1);
if(m5data.io_numbers[5] <= 0)
{
if(m5data.io_numbers[0]||m5data.io_numbers[1]||m5data.io_numbers[2]||m5data.io_numbers[3]||m5data.io_numbers[4])
{
m5data.io_numbers[5] = 9;
overflow_flag_low = 5;
}
else
{
m5data.io_numbers[5] = 0;
}
}
else
{
m5data.io_numbers[5] = m5data.io_numbers[5] - 1;
}
// sprintf(buff_io,"%d",m5data.io_numbers[5]);
// lv_span_set_text(guider_ui.screen_main_spangroup_12_span, buff_io);
@ -773,6 +892,64 @@ void key_functions_main(void) //按键功能
default:
break;
}
if(overflow_flag_low) //发生向下溢出
{
int oftemp = 0;
oftemp = 100000*m5data.io_numbers[0] + 10000*m5data.io_numbers[1] + 1000*m5data.io_numbers[2] + \
100*m5data.io_numbers[3] + 10*m5data.io_numbers[4] + m5data.io_numbers[5];
switch (overflow_flag_low)
{
case 1:
{
oftemp -= 100000;
}
break;
case 2:
{
oftemp -= 10000;
}
break;
case 3:
{
oftemp -= 1000;
}
break;
case 4:
{
oftemp -= 100;
}
break;
case 5:
{
oftemp -= 10;
}
break;
default:
break;
}
m5data.io_numbers[0] = (oftemp/100000 > 9)?(0):(oftemp/100000);
lv_img_set_src(guider_ui.screen_main_animimg_2, screen_main_animimg_2_imgs[ m5data.io_numbers[0] ]);
m5data.io_numbers[1] = (oftemp/10000) % 10;
lv_img_set_src(guider_ui.screen_main_animimg_3, screen_main_animimg_3_imgs[ m5data.io_numbers[1] ]);
m5data.io_numbers[2] = (oftemp/1000) % 10;
lv_img_set_src(guider_ui.screen_main_animimg_4, screen_main_animimg_4_imgs[ m5data.io_numbers[2] ]);
m5data.io_numbers[3] = (oftemp/100) % 10;
lv_img_set_src(guider_ui.screen_main_animimg_5, screen_main_animimg_5_imgs[ m5data.io_numbers[3] ]);
m5data.io_numbers[4] = (oftemp/10) % 10;
lv_img_set_src(guider_ui.screen_main_animimg_6, screen_main_animimg_6_imgs[ m5data.io_numbers[4] ]);
m5data.io_numbers[5] = oftemp % 10;
lv_img_set_src(guider_ui.screen_main_animimg_7, screen_main_animimg_7_imgs[ m5data.io_numbers[5] ]);
overflow_flag_low = 0;
}
}
break;
@ -1129,6 +1306,8 @@ void plot_drawing(void) //实时曲线绘制
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;
lv_chart_set_next_value(guider_ui.screen_main_chart_1, guider_ui.screen_main_chart_1_0, pltdata.y_pri_value);
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More