parent
7d0c8795e1
commit
868daca080
|
@ -76,6 +76,9 @@ void key_functions_main(void);
|
|||
//开机动画
|
||||
void scr_init_run(void);
|
||||
|
||||
//进度条设置, start[0, end], end[start,100], interval[ms],结束后返回1
|
||||
uint8_t init_set_bar(uint8_t start, uint8_t end, uint16_t interval);
|
||||
|
||||
//主界面
|
||||
void scr_main_run(void);
|
||||
|
||||
|
@ -128,6 +131,9 @@ void set_working_mode(SIG_FUNCTIONS mode, SIG_FUNCTIONS_TYPE type);
|
|||
//更新上下限&显示,曲线上下限,数值上下限
|
||||
void up2down_update(int16_t low, int16_t up);
|
||||
|
||||
//eeprom状态监控
|
||||
void eep_status_monitor(void);
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -98,8 +98,8 @@ typedef struct
|
|||
|
||||
//screen_init
|
||||
uint8_t scr_init_flag; //初始界面标志,是否播放过开机动画
|
||||
uint8_t scr_init_bar; //进度条实时值
|
||||
uint8_t scr_init_cnt; //进度条计数
|
||||
uint8_t bar_anime_step; //进度条动画步骤
|
||||
uint8_t bar_anime_end_flag; //进度条动画结束标志
|
||||
|
||||
//screen_main
|
||||
uint8_t runtime_seconds;
|
||||
|
@ -224,7 +224,7 @@ extern PHYSICAL_QUANTITY RTD; //热电阻
|
|||
#define KEY_OK 85
|
||||
#define KEY_RIGHT 94
|
||||
#define KEY_SWITCH 69
|
||||
#define KEY_SOURCE -1
|
||||
#define KEY_SOURCE 111
|
||||
#define KEY_DOWN 86
|
||||
#define KEY_BACK 70
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ void screen_data_init(void)
|
|||
|
||||
//screen_init
|
||||
m5data.scr_init_flag = 0; //是否进行过初始化(开机动画)
|
||||
m5data.scr_init_bar = 0; //进度条值,0~100
|
||||
m5data.scr_init_cnt = 0; //进度条计数(控制进度条动画)
|
||||
m5data.bar_anime_step = 0; //进度条动画步骤
|
||||
m5data.bar_anime_end_flag = 0; //进度条动画结束标志
|
||||
|
||||
//screen_main
|
||||
main_data_init();
|
||||
|
@ -538,38 +538,28 @@ void key_functions_main(void)
|
|||
|
||||
void scr_init_run(void)
|
||||
{
|
||||
if( m5data.scr_init_cnt <= SCREEN_INIT_CNT_MAX ) //进度条变化次数,在头文件中设置
|
||||
//进度条动画结束后,界面切换至主界面
|
||||
if( m5data.bar_anime_end_flag != 2 )
|
||||
{
|
||||
if( m5data.tick_prv == -1 )
|
||||
if(m5data.bar_anime_end_flag == 0)
|
||||
{
|
||||
m5data.tick_prv = xTaskGetTickCount(); //记录起始时刻
|
||||
|
||||
}else
|
||||
if( init_set_bar(0, 30, 1500) )
|
||||
{
|
||||
m5data.tick_cur = xTaskGetTickCount(); //记录当前时刻
|
||||
|
||||
if(m5data.tick_cur < m5data.tick_prv) //防止溢出(当前tick小于前一刻的tick)
|
||||
{
|
||||
m5data.tick_prv = -1; //溢出后复位并返回
|
||||
m5data.tick_cur = -1;
|
||||
return;
|
||||
}
|
||||
|
||||
if(m5data.tick_cur - m5data.tick_prv >= 1000) //tick间隔达到目标后,执行功能
|
||||
{
|
||||
m5data.tick_prv = -1;
|
||||
m5data.tick_cur = -1;
|
||||
|
||||
m5data.scr_init_bar = m5data.scr_init_cnt * ( 100/SCREEN_INIT_CNT_MAX );
|
||||
lv_bar_set_value(guider_ui.screen_init_bar_1, m5data.scr_init_bar, LV_ANIM_OFF);
|
||||
|
||||
m5data.scr_init_cnt ++;
|
||||
m5data.bar_anime_end_flag = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if(m5data.bar_anime_end_flag == 1)
|
||||
{
|
||||
if( init_set_bar(60, 100, 1500) )
|
||||
{
|
||||
m5data.bar_anime_end_flag = 2;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
// //开机动画结束后,清除初始界面内部组件,保留对象,释放内存
|
||||
// lv_obj_clean(guider_ui.screen_init);
|
||||
|
||||
|
@ -587,7 +577,90 @@ void scr_init_run(void)
|
|||
}
|
||||
}
|
||||
|
||||
//uint8_t ee_status_test = 0;
|
||||
//进度条设置, start[0, end], end[start,100], interval[ms],结束后返回1
|
||||
//时间轴:开始 -> 设置起点 -> 等待interval[ms] -> 设置终点 -> 等待interval[ms] -> 结束
|
||||
uint8_t init_set_bar(uint8_t start, uint8_t end, uint16_t interval)
|
||||
{
|
||||
switch (m5data.bar_anime_step)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
if( m5data.tick_prv == -1 )
|
||||
{
|
||||
//如果当前值就是起点,那么直接设置终点,并转至下一步
|
||||
if( lv_bar_get_value(guider_ui.screen_init_bar_1) == start )
|
||||
{
|
||||
lv_bar_set_value(guider_ui.screen_init_bar_1, end, LV_ANIM_ON);
|
||||
|
||||
m5data.bar_anime_step = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
lv_bar_set_value(guider_ui.screen_init_bar_1, start, LV_ANIM_ON);
|
||||
|
||||
m5data.tick_prv = xTaskGetTickCount(); //记录起始时刻
|
||||
}
|
||||
|
||||
}else
|
||||
{
|
||||
m5data.tick_cur = xTaskGetTickCount(); //记录当前时刻
|
||||
|
||||
if(m5data.tick_cur < m5data.tick_prv) //防止溢出(当前tick小于前一刻的tick)
|
||||
{
|
||||
m5data.tick_prv = -1; //溢出后复位并返回
|
||||
m5data.tick_cur = -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(m5data.tick_cur - m5data.tick_prv >= interval) //tick间隔达到目标后,执行功能
|
||||
{
|
||||
m5data.tick_prv = -1;
|
||||
m5data.tick_cur = -1;
|
||||
|
||||
lv_bar_set_value(guider_ui.screen_init_bar_1, end, LV_ANIM_ON);
|
||||
|
||||
m5data.bar_anime_step = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case 1:
|
||||
{
|
||||
if( m5data.tick_prv == -1 )
|
||||
{
|
||||
m5data.tick_prv = xTaskGetTickCount(); //记录起始时刻
|
||||
}else
|
||||
{
|
||||
m5data.tick_cur = xTaskGetTickCount(); //记录当前时刻
|
||||
|
||||
if(m5data.tick_cur < m5data.tick_prv) //防止溢出(当前tick小于前一刻的tick)
|
||||
{
|
||||
m5data.tick_prv = -1; //溢出后复位并返回
|
||||
m5data.tick_cur = -1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(m5data.tick_cur - m5data.tick_prv >= interval) //tick间隔达到目标后,执行功能
|
||||
{
|
||||
m5data.tick_prv = -1;
|
||||
m5data.tick_cur = -1;
|
||||
|
||||
m5data.bar_anime_step = 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void scr_main_run(void)
|
||||
{
|
||||
//实时更新设定值
|
||||
|
@ -607,19 +680,24 @@ void scr_main_run(void)
|
|||
|
||||
//数值闪烁
|
||||
//num_twinkle(); //1000ms
|
||||
}
|
||||
|
||||
// EEPROM_CS_L;
|
||||
// delay_cnt(10);
|
||||
// eeprom_spi_writebyte(WRITE_ENABLE);
|
||||
// delay_cnt(10);
|
||||
// EEPROM_CS_H;
|
||||
//eeprom状态监控
|
||||
uint8_t ee_status_test = 0;
|
||||
void eep_status_monitor(void)
|
||||
{
|
||||
EEPROM_CS_L;
|
||||
delay_cnt(10);
|
||||
eeprom_spi_writebyte(WRITE_ENABLE);
|
||||
delay_cnt(10);
|
||||
EEPROM_CS_H;
|
||||
|
||||
// EEPROM_CS_L;
|
||||
// delay_cnt(10);
|
||||
// eeprom_spi_writebyte(READ_STATUS);
|
||||
// ee_status_test = eeprom_spi_readbyte();
|
||||
// delay_cnt(10);
|
||||
// EEPROM_CS_H;
|
||||
EEPROM_CS_L;
|
||||
delay_cnt(10);
|
||||
eeprom_spi_writebyte(READ_STATUS);
|
||||
ee_status_test = eeprom_spi_readbyte();
|
||||
delay_cnt(10);
|
||||
EEPROM_CS_H;
|
||||
}
|
||||
|
||||
void runtime_show(void)
|
||||
|
@ -650,7 +728,7 @@ void runtime_show(void)
|
|||
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);
|
||||
|
||||
input_value_show(); //显示当前测量值
|
||||
eep_status_monitor();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -41,6 +41,7 @@ void item0_data_init(void)
|
|||
}
|
||||
else
|
||||
{
|
||||
//针对不存在数据的情况,在eeprom_device_check()中已经进行了处理
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -233,6 +233,9 @@ void eeprom_datasave(void)
|
|||
eeprom_writedata(VOL_V_LOW_ADDR, temp_h);
|
||||
eeprom_writedata(VOL_V_LOW_ADDR + 8, temp_l);
|
||||
|
||||
//出现错误后,提前返回
|
||||
if(eeprom_wrt_error_flag) return;
|
||||
|
||||
//VOL mV
|
||||
temp_h = tabdata.item0_page0_vup[1] >> 8;
|
||||
temp_l = tabdata.item0_page0_vup[1] & 0xFF;
|
||||
|
@ -392,6 +395,9 @@ void eeprom_dataread(void)
|
|||
temp_l = eeprom_readdata(VOL_V_LOW_ADDR + 8);
|
||||
tabdata.item0_page0_vlow[0] = ( temp_h << 8 ) + temp_l;
|
||||
|
||||
//出现错误后,提前返回
|
||||
if(eeprom_rd_error_flag) return;
|
||||
|
||||
//VOL mV
|
||||
temp_h = eeprom_readdata(VOL_MV_UP_ADDR);
|
||||
temp_l = eeprom_readdata(VOL_MV_UP_ADDR + 8);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue