first commit
This commit is contained in:
425
S100App/Src/CTRL.c
Normal file
425
S100App/Src/CTRL.c
Normal file
@@ -0,0 +1,425 @@
|
||||
/********************* (C) COPYRIGHT 2015 e-Design Co.,Ltd. **********************
|
||||
File Name : CTRL.c
|
||||
Version : S100 APP Ver 2.11
|
||||
Description:
|
||||
Author : Celery
|
||||
Data: 2015/08/03
|
||||
History:
|
||||
2015/07/07 ͳһ<CDB3><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
2015/08/03 <20>Ż<EFBFBD><C5BB>ƶ<EFBFBD><C6B6>ж<EFBFBD>
|
||||
*******************************************************************************/
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "CTRL.h"
|
||||
#include "Bios.h"
|
||||
#include "UI.h"
|
||||
#include "HARDWARE.h"
|
||||
#include "S100V0_1.h"
|
||||
#include "Disk.h"
|
||||
#include "MMA8652FC.h"
|
||||
|
||||
#define HEATINGCYCLE 30
|
||||
/******************************************************************************/
|
||||
DEVICE_INFO_SYS device_info;
|
||||
/******************************************************************************/
|
||||
|
||||
u8 gCtrl_status = 1;
|
||||
u16 gHt_flag = 0;
|
||||
vs16 gTemp_data = 250;//25<32><35>
|
||||
s16 gPrev_temp = 250; // ǰһ<C7B0><D2BB><EFBFBD>¶<EFBFBD>ֵ
|
||||
u8 gIs_restartkey = 0;/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־*/
|
||||
u8 gPre_status = 1;
|
||||
|
||||
const DEVICE_INFO_SYS info_def = {
|
||||
"2.11", //Ver
|
||||
2000, //T_Standby; // 200<30><30>C=1800 2520,<2C><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>
|
||||
3000, // T_Work; // 350<35><30>C=3362, <20><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>
|
||||
100, //T_Step;
|
||||
3*60*100, //Wait_Time; //3*60*100 3 mintute
|
||||
6*60*100 // Idle_Time; //6*60*100 6 minute
|
||||
};
|
||||
struct _pid {
|
||||
s16 settemp; //<2F><><EFBFBD><EFBFBD><EFBFBD>趨<EFBFBD>¶<EFBFBD>
|
||||
s16 actualtemp; //<2F><><EFBFBD><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>¶<EFBFBD>
|
||||
s16 err; //<2F><><EFBFBD><EFBFBD><EFBFBD>¶Ȳ<C2B6>ֵ
|
||||
s16 err_last; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>¶Ȳ<C2B6>ֵ
|
||||
s32 ht_time; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
u16 kp,ki,kd; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><EFBFBD><CEA2>ϵ<EFBFBD><CFB5>
|
||||
s32 integral; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
||||
} pid;
|
||||
|
||||
/*******************************************************************************
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Get_Ctrl_Status
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><>ȡ<EFBFBD><C8A1>ǰ״̬
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD>:<3A><>ǰ״̬
|
||||
*******************************************************************************/
|
||||
u8 Get_CtrlStatus(void)
|
||||
{
|
||||
return gCtrl_status;
|
||||
}
|
||||
/*******************************************************************************
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Set_CtrlStatus
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><><EFBFBD>õ<EFBFBD>ǰ״̬
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:status <20><><EFBFBD>õ<EFBFBD>״̬
|
||||
<EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD>:<3A><>
|
||||
*******************************************************************************/
|
||||
void Set_CtrlStatus(u8 status)
|
||||
{
|
||||
gCtrl_status = status;
|
||||
}
|
||||
/*******************************************************************************
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Set_PrevTemp
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD>ǰһ<C7B0>¶<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:temp ǰһ<C7B0>¶<EFBFBD>ֵ
|
||||
<EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD>:<3A><>
|
||||
*******************************************************************************/
|
||||
void Set_PrevTemp(s16 temp)
|
||||
{
|
||||
gPrev_temp = temp;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Get_HtFlag
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:<3A><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD>ȱ<EFBFBD>־,<2C><><EFBFBD>ȱ<EFBFBD>־<EFBFBD>ɼ<EFBFBD><C9BC><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:NULL
|
||||
<EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD>:<3A><>ǰ<EFBFBD><C7B0><EFBFBD>ȱ<EFBFBD>־
|
||||
*******************************************************************************/
|
||||
u16 Get_HtFlag(void)
|
||||
{
|
||||
return gHt_flag;
|
||||
}
|
||||
/*******************************************************************************
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Get_TempVal
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD>¶ȵ<C2B6>ֵ
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:NULL
|
||||
<EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD>:<3A><>ǰ<EFBFBD>¶<EFBFBD>
|
||||
*******************************************************************************/
|
||||
s16 Get_TempVal(void)
|
||||
{
|
||||
return gTemp_data;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: System_Init
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ϵͳ<CFB5><CDB3>ʼ<EFBFBD><CABC>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:NULL
|
||||
<EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD>:NULL
|
||||
*******************************************************************************/
|
||||
void System_Init(void)
|
||||
{
|
||||
memcpy((void*)&device_info,(void*)&info_def,sizeof(device_info));
|
||||
}
|
||||
/*******************************************************************************
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: PID_init
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: PID<49><44><EFBFBD>ݳ<EFBFBD>ʼ<EFBFBD><CABC>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:NULL
|
||||
<EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD>:NULL
|
||||
*******************************************************************************/
|
||||
void Pid_Init(void)
|
||||
{
|
||||
pid.settemp = 0;
|
||||
pid.actualtemp = 0;
|
||||
pid.err = 0;
|
||||
pid.err_last = 0;
|
||||
pid.integral = 0;
|
||||
pid.ht_time = 0;
|
||||
pid.kp = 15;
|
||||
pid.ki = 2;
|
||||
pid.kd = 1;
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Pid_Realize
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: PID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:temp<6D><70>ǰ<EFBFBD>¶<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>λ/50us
|
||||
*******************************************************************************/
|
||||
u16 Pid_Realize(s16 temp)
|
||||
{
|
||||
u8 index = 0,index1 = 1;
|
||||
s16 d_err = 0;
|
||||
|
||||
pid.actualtemp = temp;
|
||||
pid.err = pid.settemp - pid.actualtemp; //<2F>²<EFBFBD>
|
||||
|
||||
if(pid.err >= 500) index = 0;
|
||||
else {
|
||||
index = 1;
|
||||
pid.integral += pid.err;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//<2F><><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>
|
||||
if(pid.settemp < pid.actualtemp) {
|
||||
d_err = pid.actualtemp - pid.settemp;
|
||||
if(d_err > 20){
|
||||
pid.integral = 0; //<2F><><EFBFBD><EFBFBD>5<EFBFBD><35>
|
||||
index1 = 0;
|
||||
index = 0;
|
||||
}
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
if(pid.err <= 30) index1 = 0;
|
||||
else index1 = 1;
|
||||
pid.ht_time = pid.kp * pid.err + pid.ki * index * pid.integral + pid.kd * (pid.err - pid.err_last)*index1;
|
||||
pid.err_last = pid.err;
|
||||
|
||||
if(pid.ht_time <= 0) pid.ht_time = 0;
|
||||
else if(pid.ht_time > 30*200) pid.ht_time = 30*200;
|
||||
|
||||
return pid.ht_time;
|
||||
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Heating_Time
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȱ<EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:temp<6D><70>ǰ<EFBFBD>¶ȣ<C2B6>wk_temp <20><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD>:<3A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD>λ/50us
|
||||
*******************************************************************************/
|
||||
u32 Heating_Time(s16 temp,s16 wk_temp)
|
||||
{
|
||||
u32 heat_timecnt;
|
||||
|
||||
pid.settemp = wk_temp;
|
||||
if(wk_temp > temp) {
|
||||
if(wk_temp - temp >= 18)gHt_flag = 0;//<2F><><EFBFBD><EFBFBD>
|
||||
else gHt_flag = 2;//<2F><><EFBFBD><EFBFBD>
|
||||
} else {
|
||||
if(temp - wk_temp <= 18)gHt_flag = 2;//<2F><><EFBFBD><EFBFBD>
|
||||
else gHt_flag = 1;//<2F><><EFBFBD><EFBFBD>
|
||||
}
|
||||
|
||||
heat_timecnt = Pid_Realize(temp);//Sub_data * 1000;
|
||||
|
||||
return heat_timecnt;
|
||||
}
|
||||
/*******************************************************************************
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Status_Tran
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD><C2B6>жϵȿ<CFB5><C8BF><EFBFBD>״̬ת<CCAC><D7AA>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: NULL
|
||||
<EFBFBD><EFBFBD><EFBFBD>ز<EFBFBD><EFBFBD><EFBFBD>: NULL
|
||||
*******************************************************************************/
|
||||
void Status_Tran(void)//״̬ת<CCAC><D7AA>
|
||||
{
|
||||
static u16 init_waitingtime = 0;//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>־λ: 0=> δ<><CEB4>ʼ<EFBFBD><CABC>,1=><3E>ѳ<EFBFBD>ʼ<EFBFBD><CABC>
|
||||
static u8 back_prestatus = 0;
|
||||
s16 heat_timecnt = 0,wk_temp;
|
||||
u16 mma_active;
|
||||
|
||||
switch (Get_CtrlStatus()) {
|
||||
case IDLE:
|
||||
switch(Get_gKey()) {
|
||||
case KEY_V1:
|
||||
if(gIs_restartkey != 1) {
|
||||
if(Read_Vb(1) < 4) {
|
||||
Set_CtrlStatus(TEMP_CTR);
|
||||
init_waitingtime = 0;
|
||||
TEMPSHOW_TIMER = 0;
|
||||
UI_TIMER = 0;
|
||||
G6_TIMER = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case KEY_V2:
|
||||
if(gIs_restartkey != 1) {
|
||||
Set_CtrlStatus(THERMOMETER);
|
||||
UI_TIMER = 0;
|
||||
Set_LongKeyFlag(1);
|
||||
}
|
||||
break;
|
||||
case KEY_CN|KEY_V3:
|
||||
break;
|
||||
}
|
||||
if(gIs_restartkey && (KD_TIMER == 0)) {
|
||||
gIs_restartkey = 0;
|
||||
Set_gKey(NO_KEY);
|
||||
}
|
||||
if(Read_Vb(1) == 0){
|
||||
if(Get_UpdataFlag() == 1) Set_UpdataFlag(0);
|
||||
Set_CtrlStatus(ALARM);
|
||||
}
|
||||
if(gPre_status != WAIT && gPre_status != IDLE){
|
||||
G6_TIMER = device_info.idle_time;
|
||||
Set_gKey(NO_KEY);
|
||||
gPre_status = IDLE;
|
||||
}
|
||||
break;
|
||||
case TEMP_CTR:
|
||||
switch(Get_gKey()) {
|
||||
case KEY_CN|KEY_V1:
|
||||
case KEY_CN|KEY_V2:
|
||||
Set_HeatingTime(0);
|
||||
Set_CtrlStatus(TEMP_SET);
|
||||
HEATING_TIMER = 0;
|
||||
EFFECTIVE_KEY_TIMER = 500;
|
||||
break;
|
||||
case KEY_CN|KEY_V3:
|
||||
Set_HeatingTime(0);
|
||||
Set_LongKeyFlag(0);
|
||||
Set_CtrlStatus(IDLE);
|
||||
gPre_status = TEMP_CTR;
|
||||
gIs_restartkey = 1;
|
||||
KD_TIMER = 50; //
|
||||
break;
|
||||
}
|
||||
|
||||
if(Read_Vb(1) >= 4) {
|
||||
Set_HeatingTime(0);
|
||||
Set_LongKeyFlag(0);
|
||||
Set_CtrlStatus(IDLE);
|
||||
gPre_status = TEMP_CTR;
|
||||
gIs_restartkey = 1;
|
||||
KD_TIMER = 50; // 2<><32>
|
||||
}
|
||||
|
||||
wk_temp = device_info.t_work;
|
||||
if(HEATING_TIMER == 0) {
|
||||
gTemp_data = Get_Temp(wk_temp);
|
||||
heat_timecnt = Heating_Time(gTemp_data,wk_temp); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
Set_HeatingTime(heat_timecnt);
|
||||
HEATING_TIMER = HEATINGCYCLE;
|
||||
}
|
||||
if(Get_HeatingTime() == 0) {
|
||||
HEATING_TIMER = 0;
|
||||
}
|
||||
|
||||
|
||||
mma_active = Get_MmaShift();
|
||||
if(mma_active == 0) { //MMA_active = 0 ==> static ,MMA_active = 1 ==>move
|
||||
if(init_waitingtime == 0) {
|
||||
init_waitingtime = 1;
|
||||
ENTER_WAIT_TIMER = device_info.wait_time;
|
||||
}
|
||||
if((init_waitingtime != 0) && (ENTER_WAIT_TIMER == 0)) {
|
||||
gHt_flag = 0;
|
||||
UI_TIMER = 0;
|
||||
Set_HeatingTime(0);
|
||||
Set_gKey(0);
|
||||
G6_TIMER = device_info.idle_time;
|
||||
Set_CtrlStatus(WAIT);
|
||||
}
|
||||
} else {
|
||||
init_waitingtime = 0;
|
||||
}
|
||||
if(Get_AlarmType() > NORMAL_TEMP) { //////////////////<2F><><EFBFBD><EFBFBD>
|
||||
if(Get_UpdataFlag() == 1) Set_UpdataFlag(0);
|
||||
Set_CtrlStatus(ALARM);
|
||||
}
|
||||
break;
|
||||
case WAIT:
|
||||
wk_temp = device_info.t_standby;
|
||||
if(device_info.t_standby > device_info.t_work) { //<2F><><EFBFBD><EFBFBD><EFBFBD>¶ȱȹ<C8B1><C8B9><EFBFBD><EFBFBD>¶ȸ<C2B6>
|
||||
wk_temp = device_info.t_work;
|
||||
}
|
||||
if(HEATING_TIMER == 0) {
|
||||
gTemp_data = Get_Temp(wk_temp);
|
||||
heat_timecnt = Heating_Time(gTemp_data,wk_temp); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
||||
Set_HeatingTime(heat_timecnt);
|
||||
HEATING_TIMER = 30;
|
||||
}
|
||||
|
||||
if(Read_Vb(1) >= 4) {
|
||||
Set_HeatingTime(0);
|
||||
Set_LongKeyFlag(0);
|
||||
Set_CtrlStatus(IDLE);
|
||||
G6_TIMER = device_info.idle_time;
|
||||
gPre_status = WAIT;
|
||||
gIs_restartkey = 1;
|
||||
KD_TIMER = 50; // 2<><32>
|
||||
}
|
||||
|
||||
if(G6_TIMER == 0) { //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
Set_HeatingTime(0);
|
||||
Set_LongKeyFlag(0);
|
||||
gIs_restartkey = 1;
|
||||
KD_TIMER = 200; // 2<><32>
|
||||
gPre_status = WAIT;
|
||||
Set_CtrlStatus(IDLE);
|
||||
}
|
||||
|
||||
mma_active = Get_MmaShift();
|
||||
if(mma_active == 1 || Get_gKey() != 0) {
|
||||
UI_TIMER = 0;
|
||||
G6_TIMER = 0;
|
||||
init_waitingtime = 0;
|
||||
Set_CtrlStatus(TEMP_CTR);
|
||||
}
|
||||
|
||||
if(Get_AlarmType() > NORMAL_TEMP) { //////////////////<2F><><EFBFBD><EFBFBD>
|
||||
if(Get_UpdataFlag() == 1) Set_UpdataFlag(0);
|
||||
Set_CtrlStatus(ALARM);
|
||||
}
|
||||
break;
|
||||
case TEMP_SET:
|
||||
if(EFFECTIVE_KEY_TIMER == 0) {
|
||||
Set_CtrlStatus(TEMP_CTR);
|
||||
TEMPSHOW_TIMER = 0;
|
||||
}
|
||||
break;
|
||||
case THERMOMETER:
|
||||
if(KD_TIMER > 0) {
|
||||
Set_gKey(NO_KEY);
|
||||
break;
|
||||
}
|
||||
switch(Get_gKey()) {
|
||||
case KEY_CN|KEY_V1:
|
||||
case KEY_CN|KEY_V2:
|
||||
back_prestatus = 1;
|
||||
break;
|
||||
case KEY_CN|KEY_V3:
|
||||
Zero_Calibration();
|
||||
if(Get_CalFlag() == 1) {
|
||||
Disk_BuffInit();
|
||||
Config_Analysis(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>U<EFBFBD><55>
|
||||
}
|
||||
KD_TIMER = 200; //20150717 <20><EFBFBD>
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if(back_prestatus == 1) {
|
||||
back_prestatus = 0;
|
||||
Set_HeatingTime(0);
|
||||
Set_CtrlStatus(IDLE);
|
||||
gPre_status = THERMOMETER;
|
||||
gIs_restartkey = 1;
|
||||
Set_LongKeyFlag(0);
|
||||
KD_TIMER = 50; //
|
||||
}
|
||||
break;
|
||||
case ALARM:
|
||||
switch(Get_AlarmType()) {
|
||||
case HIGH_TEMP:
|
||||
case SEN_ERR:
|
||||
wk_temp = device_info.t_work;
|
||||
gTemp_data = Get_Temp(wk_temp);
|
||||
if(Get_AlarmType() == NORMAL_TEMP) {
|
||||
Set_CtrlStatus(TEMP_CTR);
|
||||
Set_UpdataFlag(0);
|
||||
}
|
||||
break;
|
||||
case HIGH_VOLTAGE:
|
||||
case LOW_VOLTAGE:
|
||||
if(Read_Vb(1) >= 1 && Read_Vb(1) <= 3) {
|
||||
Set_HeatingTime(0);
|
||||
Set_LongKeyFlag(0);
|
||||
gIs_restartkey = 1;
|
||||
UI_TIMER = 2; // 2<><32>
|
||||
gPre_status = THERMOMETER;
|
||||
Set_CtrlStatus(IDLE);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if(Get_HeatingTime != 0) {
|
||||
Set_HeatingTime(0) ; //<2F><><EFBFBD><EFBFBD>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
|
||||
HEAT_OFF();
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/******************************** END OF FILE *********************************/
|
||||
Reference in New Issue
Block a user