Files
fastbee/firmware/stm32-esp/user/show/dev_work.c
2021-09-01 14:03:46 +08:00

128 lines
3.2 KiB
C

#include "dev_work.h"
void Dev_ScanExtIndicate(void)
{
/*开机检测*/
if(DevParam.RunPhase==0)
{
if(Read_BootKey())
{
Delay_ms(200);
if(Read_BootKey())
{
while(Read_BootKey());
DevParam.ShortRunPhase = RunPhase_Runing;
}
}
else
{
DevParam.ShortRunPhase = RunPhase_Standby;
}
}
// 待机模式
if(DevParam.RunPhase==RunPhase_Standby)
{
if(Read_BootKey())
{
Delay_ms(200);
if(Read_BootKey())
{
while(Read_BootKey());
DevParam.ShortRunPhase = RunPhase_Runing;
}
}
}
// 运行模式
if(DevParam.RunPhase==RunPhase_Runing)
{
if(Read_BootKey())
{
Delay_ms(200);
if(Read_BootKey())
{
while(Read_BootKey());
// 关机/进入待机状态
if(DevParam.BatCharging)
DevParam.ShortRunPhase = RunPhase_Standby;
else
DevParam.ShortRunPhase = RunPhase_Close;
}
}
}
}
/*切换工作模式*/
void Dev_SwitchWorkMode(void)
{
if(DevParam.RunPhase!=DevParam.ShortRunPhase)
{
if(DevParam.ShortRunPhase == RunPhase_Runing)
{
// 显示初始化
#ifdef Device_LCD
Power_LCD(0);
/*显示部分,基础外形刷新*/
Show_BasicShapeRefresh();
/*显示部分,电池图标外形刷新*/
if(DevParam.RunPhase == 0)
Show_BatIconShapeRefresh();
else
Power_LCD(1);
#endif
// 侧边跳动初始化
DevParam.SideBeat = 1;
/*空气检测仪初始化*/
PMD4_Init();
DevParam.RunPhase = RunPhase_Runing;
}
if(DevParam.ShortRunPhase == RunPhase_Standby)
{
Power_PMD4(0);
#ifdef Device_LCD
Power_LCD(0);
if(DevParam.RunPhase==0)
{
/*显示部分,电池图标外形刷新*/
Show_BatIconShapeRefresh();
}
else if(DevParam.RunPhase==RunPhase_Runing)
{
// 进行清屏操作
SimLCD_Clear(SimLCDColor_BLACK);
/*显示部分,电池图标外形刷新*/
Show_BatIconShapeRefresh();
// 数据部分清零
DevParam.BatSOC = 0;
Power_LCD(1);
}
#endif
DevParam.RunPhase = RunPhase_Standby;
}
// 关机模式
if(DevParam.ShortRunPhase == RunPhase_Close)
{
Delay_ms(1000);
Power_PMD4(0);
Power_LCD(0);
Power_3V3(0);
DevParam.RunPhase = RunPhase_Close;
while(1);
}
}
}