#include "common_include.h"
#include "bsp_button.h"
#include "bsp_speed_check.h"
#include "bsp_app_led_output.h"
#include "bsp_app_tft_output.h"

uint8_t ClearedOdoFlag;


void EndSpeedTachoMax(uint32_t uiStartTime, uint32_t uiEndTime)
{
#if (CAN_2ND)        
        WHL_SPD11.msg.bits.WHL_SPD_FL = 0x2080;//260
        WHL_SPD11.msg.bits.WHL_SPD_RL = 0x2080;//260
        CGW_PC4.msg.bits.N            = 0x7D00;//8000
        HEV_PC4.msg.bits.CR_Ems_EngSpd_rpm = 0x7D00;
        CGW_PC5.msg.bits.G_SEL_DISP = 0x0;
        Speed_Output_Update(PWMCH_SPEED_OUT, 150, 90);//JA硬线发车速最大专用
#endif     
#if (CAN_3RD)
     //if(EndCurrent.Time > uiStartTime && EndCurrent.Time < uiEndTime) {    
        WHL_01_10ms.WHL_SpdFLVal = 0x2080;//260
        WHL_01_10ms.WHL_SpdRLVal = 0x2080;//260
        EMS_01_10ms.ENG_EngSpdVal = 0x7D00;
    	EMS_07_10ms.HEV_EngSpdVal  = 0x7D00;
     //}   
#endif

}

void EndPlaySound(uint32_t uiStartTime, uint32_t uiEndTime)
{
    if(EndCurrent.Time > uiStartTime && EndCurrent.Time < uiEndTime) {    
#if (CAN_2ND)        
        FCA12.msg.bits.FCA_WarningTargetDisplay = 1;//FCA 紧急制动
        PAS11.msg.bits.CF_Gway_PASCheckSound = 0x2;//SOUND_PDW_SENSORFAIL
        CGW2.msg.bits.CF_Gway_IDoutWarn = 1;//SOUND_IDOUT
        CGW2.msg.bits.CF_Gway_WngBuz = 0x2;//SOUND_KEY_OPERATED_WARNING    
#endif     
#if (CAN_3RD)
        EMS_01_10ms.ENG_IsgBzrReq = 0x1 ;              //  ISG_Warning      
        ADAS_CMD_10_20ms.FCA_WrngSndSta = 0x3;             //  FCA紧急制动
        BCM_05_200ms.PDW_SysChkSndSta = 0x2 ;  //  PDW_Sensor_Fail
        BCM_04_200ms.Warn_BzrWrngSta = 0x5 ;   //  Key_Learning_Sound
#endif
    }
}

void JudeEndResult(uint32_t uiStartTime1, uint32_t uiEndTime1,uint32_t uiEndTime2, uint32_t uiEndTime3)
{
        if(EndCurrent.Time > uiStartTime1 && EndCurrent.Time < uiEndTime1)
        {
            EndCurrent.statu = 1;// 清大计结束标志
        }
        if(EndCurrent.statu == 1)
        {
            if(EndCurrent.Time < uiEndTime2) {
                // 校验程序
                if (ClearedOdoFlag == 1) {
                    EndCurrent.Flag = END_SUCC; // 清大计成功
                }
            }
        	if(EndCurrent.Time > uiEndTime2) {
#if (PRO_SU2ID)
              if(BUTTON_S_IN == PortGpioHigh)
              {
                  EndCurrent.Flag = END_FAIL; // 清大计失败
                  EndCurrent.enable = 0;
                  
              }
              if(BUTTON_S_IN == PortGpioLow)
              {
                  EndCurrent.Flag = END_SUCC; // 清大计成功
                  EndCurrent.enable = 0;
                  ClearedOdoFlag = 1;
                  EndCurrent.Flag = END_FINISH; // 清大计完成

              }
#else
                if (ClearedOdoFlag == 1) {
                    EndCurrent.enable = 0;
                    EndCurrent.Flag = END_FINISH; // 清大计完成                  
                } else {
                    if(EndCurrent.Time > uiEndTime3) {
                        EndCurrent.Flag = END_FAIL; // 清大计失败
                        EndCurrent.enable = 0;
                    }
                }
#endif
            }
        }
        else {
//#if (PRO_SQFL)                    
//            if(EndCurrent.statu == 0 && EndCurrent.Flag == END_FINISH) {
//                EndCurrent.count++;
//            }
//#endif  
        }
}


extern uint8_t ClearOdoFlagTimer; 
uint8_t ClearOdoFunFlag = 0;
void APP_END(void)//清大计 
{
    if(ClearOdoFunFlag == 0)
    {
        ClearOdoFlagTimer = 200;
        ClearOdoFunFlag = 1;
    }
    ESP_ABS_FailSts.msg.bits.ESP_VehicleSpeedVSOSig_L = 0xC;
    ESP_ABS_FailSts.msg.bits.ESP_VehicleSpeedVSOSig_H = 0x80;
    VCU_PercentgPwrUsage.msg.bits.VCU_PercentgPwrUsage_L = 0x64;
    VCU_PercentgPwrUsage.msg.bits.VCU_PercentgPwrUsage_H = 0x0;
    MCU_MotorSpd.msg.bits.MCU_MotorSpd_L = 0xFA;
    MCU_MotorSpd.msg.bits.MCU_MotorSpd_H = 0x0;
    if(ClearOdoFlagTimer == 0)
    {
        PressKey(LONGOKKeyCurrent.count,KEY_SW1_MENU,TRIPSW_OK_LONG_PRESS);
    }
//     Default_flag=1;
//     LampState_L.Lamps.RELAY_L4 = 1;
//     LampState_L.Lamps.RELAY_F1 = 1;//满点 
//     LampState_L.Lamps.RELAY_F2 = 1;
//     LampState_L.Lamps.RELAY_F3 = 1;
//     LampState_L.Lamps.RELAY_F4 = 1;
//     LampState_L.Lamps.RELAY_L3 = 1;
//     if(EndCurrent.enable == 1)
//     { 
// #if (PRO_NUPE)    
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_KU)    
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_NQ5C)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }

// #endif
// #if (PRO_SQFL)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,CLUSTER_START_TIME);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(0,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,400);
//             break;  
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,400);
//             break;      
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,400);
//             break; 
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,400);
//             break;     
//         case 7:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:    
//             JudeEndResult(0,500,1000,1500);
//             //JudeEndResult(15000,16000,19000,20000);
//             break;
//         //case 9:
//         //    PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//         //    AfterTimeGoNext(&EndCurrent,12000);
//         //    break;
//         //case 10:
//         //    EndCurrent.enable = 0;
//         //    EndCurrent.Time = 0;
//         //    break;
//         }

// #endif
// #if (PRO_CN7C)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }

// #endif
// #if (PRO_PDEPE2)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }

// #endif
// #if (PRO_BN7R)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }

// #endif
// #if (PRO_SU2IFL)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }

// #endif
// #if (PRO_US4)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_SP2C_PE)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_SP2)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_JAPE2)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             Speed_Output_Update(PWMCH_SPEED_OUT, 0, 0);
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_ONPE)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_NU2)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_KY)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_QX23)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_KS)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_NQ5)
//     if (g_VehicleType == CAR_TYPE_PHEV){
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;    
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;
//         case 7:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
//     }else {
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;    
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
//     }
// #endif
// #if (PRO_GL3)     
//          switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_SG2)     
// //    if(JudgePartNum() == PartNum_SG2_24MY){
//         if (g_VehicleType == CAR_TYPE_HEV) {
//             switch(EndCurrent.count){
//             case 0:
//                 EndCurrent.Flag = END_BEGIN;
//                 PressStateReset();
//                 EndCurrent.count = 1;
//                 break;
//             case 1:
//                 PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//                 AfterTimeGoNext(&EndCurrent,4000);
//                 break;    
//             case 2:
//                 EndCurrent.Flag = END_GOING;
//                 EndSpeedTachoMax(0,0);
//                 EndPlaySound(1000,7000);
//                 AfterTimeGoNext(&EndCurrent,7000);
//                 break;
//             case 3:
//                 EndSpeedTachoMax(0,0);
//                 PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//                 AfterTimeGoNext(&EndCurrent,500);
//                 break;   
//             case 4:
//                 EndSpeedTachoMax(0,0);
//                 PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//                 AfterTimeGoNext(&EndCurrent,500);
//                 break; 
//             case 5:
//                 EndSpeedTachoMax(0,0);
//                 PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//                 AfterTimeGoNext(&EndCurrent,500);
//                 break;
//             case 6:
//                 EndSpeedTachoMax(0,0);
//                 PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//                 AfterTimeGoNext(&EndCurrent,7000);
//                 break;
//             default:
//                 JudeEndResult(15000,16000,19000,20000);
//                 break;
//             }
//         }
//         else if (g_VehicleType == CAR_TYPE_PHEV) {
//             switch(EndCurrent.count){
//             case 0:
//                 EndCurrent.Flag = END_BEGIN;
//                 PressStateReset();
//                 EndCurrent.count = 1;
//                 break;
//             case 1:
//                 PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//                 AfterTimeGoNext(&EndCurrent,4000);
//                 break;    
//             case 2:
//                 EndCurrent.Flag = END_GOING;
//                 EndSpeedTachoMax(0,0);
//                 EndPlaySound(1000,7000);
//                 AfterTimeGoNext(&EndCurrent,7000);
//                 break;
//             case 3:
//                 EndSpeedTachoMax(0,0);
//                 PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//                 AfterTimeGoNext(&EndCurrent,500);
//                 break;   
//             case 4:
//                 EndSpeedTachoMax(0,0);
//                 PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//                 AfterTimeGoNext(&EndCurrent,500);
//                 break; 
//             case 5:
//                 EndSpeedTachoMax(0,0);
//                 PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//                 AfterTimeGoNext(&EndCurrent,500);
//                 break;
//             case 6:
//                 EndSpeedTachoMax(0,0);
//                 PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//                 AfterTimeGoNext(&EndCurrent,500);
//                 break;
//             case 7:
//                 EndSpeedTachoMax(0,0);
//                 PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//                 AfterTimeGoNext(&EndCurrent,7000);
//                 break;
//             default:
//                 JudeEndResult(15000,16000,19000,20000);
//                 break;
//             }
//         }
// //    }
// //    else if (JudgePartNum() ==  PartNum_SG2){
// //
// //    }
// #endif
// #if (PRO_YB_PE)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_AC3_PE)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_SK3_PE)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_SU2ID)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_AI3)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_TAM)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_AX)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_BL7M)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_BL7R)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_CN7)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_BN7I)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_BR2)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_BC3)    
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_LX2)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_QXI)     
        
//         // switch(EndCurrent.count){
//         // case 0:
//         //     EndCurrent.Flag = END_BEGIN;
//         //     PressStateReset();
//         //     EndCurrent.count = 1;
//         //     break;
//         // case 1:
//         //     PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//         //     AfterTimeGoNext(&EndCurrent,4000);
//         //     break;    
//         // case 2:
//         //     EndCurrent.Flag = END_GOING;
//         //     EndSpeedTachoMax(0,0);
//         //     EndPlaySound(1000,7000);
//         //     AfterTimeGoNext(&EndCurrent,7000);
//         //     break;
//         // case 3:
//         //     EndSpeedTachoMax(0,0);
//         //     PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//         //     AfterTimeGoNext(&EndCurrent,500);
//         //     break;   
//         // case 4:
//         //     EndSpeedTachoMax(0,0);
//         //     PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//         //     AfterTimeGoNext(&EndCurrent,500);
//         //     break; 
//         // case 5:
//         //     EndSpeedTachoMax(0,0);
//         //     PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//         //     AfterTimeGoNext(&EndCurrent,500);
//         //     break;     
//         // case 6:
//         //     EndSpeedTachoMax(0,0);
//         //     PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//         //     AfterTimeGoNext(&EndCurrent,7000);
//         //     break;
//         // default:
//         //     JudeEndResult(15000,16000,19000,20000);
//         //     break;
//         // }
// #endif
// #if (PRO_QYC)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,34000,35000);
//             break;
//         }
// #endif
// #if (PRO_BDC_PE)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_SU2BFL)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_SU2ID_FL)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;   
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 5:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break;     
//         case 6:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_DL3C)     
//         switch(EndCurrent.count){
//         case 0:
//             EndCurrent.Flag = END_BEGIN;
//             PressStateReset();
//             EndCurrent.count = 1;
//             break;
//         case 1:
//             PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,4000);
//             break;    
//         case 2:
//             EndCurrent.Flag = END_GOING;
//             EndSpeedTachoMax(0,0);
//             EndPlaySound(1000,7000);
//             AfterTimeGoNext(&EndCurrent,7000);
//             break;
//         case 3:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//             AfterTimeGoNext(&EndCurrent,500);
//             break; 
//         case 4:
//             EndSpeedTachoMax(0,0);
//             PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//             AfterTimeGoNext(&EndCurrent,2000);
//             break;
//         default:
//             JudeEndResult(15000,16000,19000,20000);
//             break;
//         }
// #endif
// #if (PRO_NX4C)     
//         if ((GetCluType() == SVC_CFG) && (g_VehicleType == CAR_TYPE_HEV)){
//             switch(EndCurrent.count){
//             case 0:
//                 EndCurrent.Flag = END_BEGIN;
//                 PressStateReset();
//                 EndCurrent.count = 1;
//                 break;
//             case 1:
//                 PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//                 AfterTimeGoNext(&EndCurrent,4000);
//                 break;    
//             case 2:
//                 EndCurrent.Flag = END_GOING;
//                 EndSpeedTachoMax(0,0);
//                 EndPlaySound(1000,7000);
//                 AfterTimeGoNext(&EndCurrent,7000);
//                 break;
//             case 3:
//                 EndSpeedTachoMax(0,0);
//                 PressKey(EndCurrent.count,KEY_SW1_MENU,TRIPSW_SHORT_PRESS);
//                 AfterTimeGoNext(&EndCurrent,500);
//                 break;   
//             case 4:
//                 EndSpeedTachoMax(0,0);
//                 PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//                 AfterTimeGoNext(&EndCurrent,500);
//                 break; 
//             case 5:
//                 EndSpeedTachoMax(0,0);
//                 PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//                 AfterTimeGoNext(&EndCurrent,500);
//                 break;     
//             case 6:
//                 EndSpeedTachoMax(0,0);
//                 PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//                 AfterTimeGoNext(&EndCurrent,7000);
//                 break;
//             default:
//                 JudeEndResult(15000,16000,19000,20000);
//                 break;
//             }
//         }
//         else {
//             switch(EndCurrent.count){
//             case 0:
//                 EndCurrent.Flag = END_BEGIN;
//                 PressStateReset();
//                 EndCurrent.count = 1;
//                 break;
//             case 1:
//                 PressKey(EndCurrent.count,KEY_30,TRIPSW_SHORT_PRESS);
//                 AfterTimeGoNext(&EndCurrent,4000);
//                 break;    
//             case 2:
//                 EndCurrent.Flag = END_GOING;
//                 EndSpeedTachoMax(0,0);
//                 EndPlaySound(1000,7000);
//                 AfterTimeGoNext(&EndCurrent,7000);
//                 break;
//             case 3:
//                 EndSpeedTachoMax(0,0);
//                 PressKey(EndCurrent.count,KEY_SW1_DOWN,TRIPSW_SHORT_PRESS);
//                 AfterTimeGoNext(&EndCurrent,500);
//                 break;     
//             case 4:
//                 EndSpeedTachoMax(0,0);
//                 PressKey(EndCurrent.count,KEY_SW1_OK,TRIPSW_OK_LONG_PRESS);
//                 AfterTimeGoNext(&EndCurrent,7000);
//                 break;
//             default:
//                 JudeEndResult(15000,16000,19000,20000);
//                 break;
//             }
//         }
// #endif
//     }    
    
//     if(EndCurrent.Flag == END_FAIL)
//     {
//         Buzzer_Alarm();//蜂鸣器报警
//         Err_Status = 1;
//         ErrorCode = 99;//返回错误码 
//         g_stCheckResult.End_State = 1;
//         SetError(ErrorCode);//返回错误码
//     }

//     if(EndCurrent.Flag == END_FINISH && EndCurrent.statu == 1)
//     {
//         EndCurrent.statu = 0;
//         Diaplay_test ++;
//         NewData.Data1 = Diaplay_test; 
//         SaveMiscValid = 1;
//         bsp_Save_Check_Service(2);//存储检表等数据
//     }
}


