Commit 8fe74d55 authored by 时昊's avatar 时昊

🎉 init:删除无用代码-按键

parent 0a4755cd
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -40,7 +40,6 @@ ...@@ -40,7 +40,6 @@
".\objects\data_gear.o" ".\objects\data_gear.o"
".\objects\backgroundlight.o" ".\objects\backgroundlight.o"
".\objects\bglinterface.o" ".\objects\bglinterface.o"
".\objects\key.o"
".\objects\can_communication_matrix.o" ".\objects\can_communication_matrix.o"
".\source\Application\APPCan\CAN_Lib.lib" ".\source\Application\APPCan\CAN_Lib.lib"
".\objects\can_user.o" ".\objects\can_user.o"
......
This source diff could not be displayed because it is too large. You can view the blob instead.
/******************************************************************************
文 件 名:Key.c
功能描述:按键检测函数库文件
作 者:张暄
版 本:V1.0
日 期:2016.11.21
******************************************************************************/
#include "Key.h"
#include "AW93015.h"
#include "gpio.h"
KeyDetectStruct KeyStatus[KEY_TOTAL_NUMBER];
/******************************************************************************
函数名:Key_Status_Init
功 能:初始化按键状态
参 数:无
返回值:无
******************************************************************************/
void Key_Status_Init(void)
{
uint8_t i;
for (i = 0; i < KEY_TOTAL_NUMBER; i++)
{
KeyStatus[i].UpdateEnable = 1;
KeyStatus[i].Timer = 0;
KeyStatus[i].IdleTimer = 0;
KeyStatus[i].FinalStatus = KEY_IDLE;
KeyStatus[i].CurrentStatus = KEY_IDLE;
}
}
/******************************************************************************
函数名:Get_Key1_Line_In_Sts
功 能:获取按键电平状态
参 数:无
返回值:无
******************************************************************************/
uint8_t Get_Key1_Line_In_Sts(void)
{
uint8_t u8Result = 0u;
u8Result = (GET_Key_Prosess() == 1) ? 1 : 0;
return u8Result;
}
/******************************************************************************
函数名:Get_Key1_Line_In_Sts
功 能:获取按键电平状态
参 数:无
返回值:无
******************************************************************************/
uint8_t Get_Key2_Line_In_Sts(void)
{
uint8_t u8Result = 0u;
u8Result = (GET_Key_Prosess() == 2) ? 1 : 0;
return u8Result;
}
/******************************************************************************
函数名:Key_Status_Detect_Service
功 能:按键检测服务函数,用于检测并更新按键的状态
参 数:无
返回值:无
******************************************************************************
注 意:该服务函数必须每10ms被调用一次
******************************************************************************/
void Key_Status_Detect_Service(void)
{
uint8_t i;
volatile uint8_t pSig = 0;
for (i = 0; i < KEY_TOTAL_NUMBER; i++)
{
if(KeyAttrTable[i].InputSignal != (( void * )0) ){
pSig = KeyAttrTable[i].InputSignal();
}
if (pSig)
{
if (KeyStatus[i].Timer < 0xFFFF)
KeyStatus[i].Timer++;
switch (KeyAttrTable[i].HoldDetMode)
{
case KEY_HOLD_DISABLE : if (KeyAttrTable[i].DoubleDetEn)
{
if (KeyStatus[i].IdleTimer)
{
KeyStatus[i].CurrentStatus = KEY_DOUBLE;
if (KeyStatus[i].UpdateEnable)
{
KeyStatus[i].FinalStatus = KEY_DOUBLE;
KeyStatus[i].UpdateEnable = 0;
}
}
else
KeyStatus[i].CurrentStatus = KEY_PRESS;
}
else
{
KeyStatus[i].CurrentStatus = KEY_PRESS;
if (KeyStatus[i].UpdateEnable)
{
KeyStatus[i].FinalStatus = KEY_PRESS;
KeyStatus[i].UpdateEnable = 0;
}
}
break;
case KEY_HOLD_ONLY : if (KeyStatus[i].Timer < KeyHoldThreshold[i] / 10)
{
if (KeyStatus[i].IdleTimer)
KeyStatus[i].CurrentStatus = KEY_DOUBLE;
else
KeyStatus[i].CurrentStatus = KEY_PRESS;
}
else
{
KeyStatus[i].CurrentStatus = KEY_HOLD;
if (KeyStatus[i].UpdateEnable)
{
KeyStatus[i].FinalStatus = KEY_HOLD;
KeyStatus[i].UpdateEnable = 0;
//KeyStatus[i].IdleTimer = 25;
}
else
{
/*if (KeyStatus[i].IdleTimer)
KeyStatus[i].IdleTimer--;
else
{
KeyStatus[i].FinalStatus = KEY_HOLD;
KeyStatus[i].IdleTimer = 25;
}*/
}
}
break;
case KEY_STUCK_ONLY : if (KeyStatus[i].Timer < KEY_STUCK_THRESHOLD / 10)
{
if (KeyStatus[i].IdleTimer)
KeyStatus[i].CurrentStatus = KEY_DOUBLE;
else
KeyStatus[i].CurrentStatus = KEY_PRESS;
}
else
{
KeyStatus[i].CurrentStatus = KEY_STUCK;
if (KeyStatus[i].UpdateEnable)
{
KeyStatus[i].FinalStatus = KEY_STUCK;
KeyStatus[i].UpdateEnable = 0;
}
}
break;
case KEY_HOLD_STUCK : if (KeyStatus[i].Timer < KeyHoldThreshold[i] / 10)
{
if (KeyStatus[i].IdleTimer)
KeyStatus[i].CurrentStatus = KEY_DOUBLE;
else
KeyStatus[i].CurrentStatus = KEY_PRESS;
}
else if (KeyStatus[i].Timer < KEY_STUCK_THRESHOLD / 10)
{
KeyStatus[i].CurrentStatus = KEY_HOLD;
}
else
{
KeyStatus[i].CurrentStatus = KEY_STUCK;
if (KeyStatus[i].UpdateEnable)
{
KeyStatus[i].FinalStatus = KEY_STUCK;
KeyStatus[i].UpdateEnable = 0;
}
}
break;
case KEY_HOLD_LONG : if (KeyStatus[i].Timer < KeyHoldThreshold[i] / 10)
{
if (KeyStatus[i].IdleTimer)
KeyStatus[i].CurrentStatus = KEY_DOUBLE;
else
KeyStatus[i].CurrentStatus = KEY_PRESS;
}
else if (KeyStatus[i].Timer < KEY_LONG_THRESHOLD / 10)
{
KeyStatus[i].CurrentStatus = KEY_HOLD;
}
else
{
KeyStatus[i].CurrentStatus = KEY_LONG;
if (KeyStatus[i].UpdateEnable)
{
KeyStatus[i].FinalStatus = KEY_LONG;
KeyStatus[i].UpdateEnable = 0;
}
}
break;
case KEY_HOLD_LONG_STUCK : if (KeyStatus[i].Timer < KeyHoldThreshold[i] / 10)
{
if (KeyStatus[i].IdleTimer)
KeyStatus[i].CurrentStatus = KEY_DOUBLE;
else
KeyStatus[i].CurrentStatus = KEY_PRESS;
}
else if (KeyStatus[i].Timer < KEY_LONG_THRESHOLD / 10)
{
KeyStatus[i].CurrentStatus = KEY_HOLD;
}
else if (KeyStatus[i].Timer < KEY_STUCK_THRESHOLD / 10)
{
KeyStatus[i].CurrentStatus = KEY_LONG;
}
else
{
KeyStatus[i].CurrentStatus = KEY_STUCK;
if (KeyStatus[i].UpdateEnable)
{
KeyStatus[i].FinalStatus = KEY_STUCK;
KeyStatus[i].UpdateEnable = 0;
}
}
break;
default : break;
}
}
else
{
if (KeyAttrTable[i].DoubleDetEn)
{
if (KeyStatus[i].CurrentStatus == KEY_PRESS)
{
if (KeyStatus[i].Timer == 0)
KeyStatus[i].IdleTimer = KEY_DOUBLE_INTERVAL / 10;
}
else
KeyStatus[i].IdleTimer = 0;
if (KeyStatus[i].IdleTimer)
KeyStatus[i].IdleTimer--;
else
{
if ((KeyStatus[i].CurrentStatus != KEY_IDLE) && (KeyStatus[i].UpdateEnable != 0))
KeyStatus[i].FinalStatus = KeyStatus[i].CurrentStatus;
KeyStatus[i].CurrentStatus = KEY_IDLE;
KeyStatus[i].UpdateEnable = 1;
}
}
else
{
if ((KeyStatus[i].CurrentStatus != KEY_IDLE) && (KeyStatus[i].UpdateEnable != 0))
KeyStatus[i].FinalStatus = KeyStatus[i].CurrentStatus;
KeyStatus[i].CurrentStatus = KEY_IDLE;
KeyStatus[i].UpdateEnable = 1;
KeyStatus[i].IdleTimer = 0;
}
KeyStatus[i].Timer = 0;
}
}
}
/******************************************************************************
函数名:Reset_Key_Status
功 能:复位某一按键的按键检测状态
参 数:Key:需要复位的按键
返回值:无
******************************************************************************/
void Reset_Key_Status(uint8_t Key)
{
KeyStatus[Key].UpdateEnable = 1;
KeyStatus[Key].Timer = 0;
KeyStatus[Key].IdleTimer = 0;
KeyStatus[Key].FinalStatus = KEY_IDLE;
KeyStatus[Key].CurrentStatus = KEY_IDLE;
}
/******************************************************************************
函数名:Key_Get_Status
功 能:获取某一按键的检测结果
按键的检测结果在按键的状态可以被确定时更新
经由此函数获取检测结果后,按键检测结果被自动清除至KEY_IDLE状态
参 数:Key:需要获取结果的按键
返回值:无
******************************************************************************/
KeyStatusEnum Key_Get_Status(uint8_t Key)
{
KeyStatusEnum Status;
Status = KeyStatus[Key].FinalStatus;
KeyStatus[Key].FinalStatus = KEY_IDLE;
return Status;
}
/******************************************************************************
函数名:Key_Get_Current_Status
功 能:获取某一按键的当前状态
返回的结果反映按键当前所处的状态,并不判定按键的最终状态,在按键符合某一
状态的条件时实时变化为该状态(包括按键释放后恢复为KEY_IDLE状态)
参 数:Key:需要获取状态的按键
返回值:无
******************************************************************************/
KeyStatusEnum Key_Get_Current_Status(uint8_t Key)
{
return KeyStatus[Key].CurrentStatus;
}
/******************************************************************************
文 件 名:Key.h
功能描述:按键检测函数库头文件
作 者:张暄
版 本:V1.0
日 期:2016.11.21
******************************************************************************/
#ifndef _KEY_H_
#define _KEY_H_
#include "Line_In.h"
/******************************************************************************
按键列表
******************************************************************************/
/*** 按键属性结构 ***/
typedef struct
{
uint8_t(*InputSignal)(void);//输入信号
uint8_t HoldDetMode; //长按检测模式
uint8_t DoubleDetEn; //连按(双击)检测使能
}KeyAttrStruct;
/*** 长按检测模式 ***/
#define KEY_HOLD_DISABLE 0x00 //不支持长按检测
#define KEY_HOLD_ONLY 0x01 //仅支持按住检测
#define KEY_STUCK_ONLY 0x02 //仅支持卡住检测
#define KEY_HOLD_STUCK 0x03 //支持按住/卡住检测
#define KEY_HOLD_LONG 0x04 //支持按住/长按检测
#define KEY_HOLD_LONG_STUCK 0x05 //支持按住/长按/卡住检测
/******************************************************************************
旋扭按键状态检测结构
******************************************************************************/
typedef union{
uint8_t Byte;
struct
{
uint8_t KEY_LINE_L :1;
uint8_t KEY_LINE_R :1;
uint8_t KEY_NEWKEY :2;
uint8_t KEY_MIDKEY :2;
uint8_t KEY_OLDKEY :2;
}KnobSwitch;
}KEY_Union;
/******************************************************************************
旋扭按键状态输出结构
******************************************************************************/
typedef union
{
uint8_t Byte;
struct
{
uint8_t KEY_Right_Turn :2;
uint8_t KEY_Left_Turn :2;
}Sig;
}KeyStates;
extern volatile KeyStates KEYSTA;
extern uint8_t Get_Key1_Line_In_Sts(void);
extern uint8_t Get_Key2_Line_In_Sts(void);
/*** 按键属性列表 ***/
static const KeyAttrStruct KeyAttrTable[] =
{
/*=====================================================================
注意:1.应定义按键ID为该按键的属性位于本属性列表中的序号
2.如果只启用一种长按状态检测,应使能HoldDetEn而不是LongDetEn
-----------------------------------------------------------------------
ID | 输入信号 | 长按检测模式 | 连按检测使能 |
---------------------------------------------------------------------*/
{/* 01 */ Get_Key1_Line_In_Sts, KEY_HOLD_ONLY, 0 },
{/* 02 */ Get_Key2_Line_In_Sts, KEY_HOLD_ONLY, 0 },
/*===================================================================*/
};
/*** 按键ID列表 ***/
#define KEY_MODE 0x00
#define KEY_SET 0x01
/******************************************************************************
按键检测配置
******************************************************************************/
#define KEY_DOUBLE_INTERVAL 500 //连按(双击)最长间隔
//#define KEY_HOLD_THRESHOLD 800 //按住判定时间阈值
static const uint16_t KeyHoldThreshold[] = { 3000, 3000 }; //按住判定时间阈值,顺序与KeyAttrTable一一对应
#define KEY_LONG_THRESHOLD 10000 //长按判定时间阈值
#define KEY_STUCK_THRESHOLD 15000 //按键卡住判定时间阈值
#define KEY_TOTAL_NUMBER (sizeof(KeyAttrTable) / sizeof(KeyAttrStruct))
/******************************************************************************
按键状态枚举
******************************************************************************/
typedef enum
{
KEY_IDLE = 0, //空闲,按键未按下
KEY_PRESS, //按键短按 1
KEY_HOLD, //按键按住(比KEY_LONG时间短) 2
KEY_LONG, //按键长按 3
KEY_STUCK, //按键卡住 4
KEY_DOUBLE, //按键连续按下两次(双击) 5
}KeyStatusEnum;
/******************************************************************************
按键状态检测结构
******************************************************************************/
typedef struct
{
uint8_t UpdateEnable;
uint16_t Timer;
uint16_t IdleTimer; //间隔时间
KeyStatusEnum FinalStatus;
KeyStatusEnum CurrentStatus;
}KeyDetectStruct;
/******************************************************************************
函数声明
******************************************************************************/
void Key_Status_Init(void);
void Key_Status_Detect_Service(void);
void Reset_Key_Status(uint8_t Key);
void Key_Knob(void);
KeyStatusEnum Key_Get_Status(uint8_t Key);
KeyStatusEnum Key_Get_Current_Status(uint8_t Key);
#endif
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
#include "eeManager_Interface.h" #include "eeManager_Interface.h"
#include "Data_Gear.h" #include "Data_Gear.h"
#include "timerA_B_C.h" #include "timerA_B_C.h"
#include "Key.h"
#include "uds_includes.h" #include "uds_includes.h"
#include "U2_uds_includes.h" #include "U2_uds_includes.h"
...@@ -195,7 +195,7 @@ void Power_Wakeup_Init ( void ) ...@@ -195,7 +195,7 @@ void Power_Wakeup_Init ( void )
// UART2_Init(115200); // UART2_Init(115200);
// uart2_User_KL30_Init(); // uart2_User_KL30_Init();
Common_DataInit(); Common_DataInit();
Key_Status_Init();
IS31_OFF_Wakeup(); IS31_OFF_Wakeup();
IS31FL3236_Update(); IS31FL3236_Update();
...@@ -239,7 +239,6 @@ void Power_IG_ON_Init(void) ...@@ -239,7 +239,6 @@ void Power_IG_ON_Init(void)
TMB0_PWM_Pin33_Init(); TMB0_PWM_Pin33_Init();
DiagnosisInit_main(); DiagnosisInit_main();
U2_DiagnosisInit_main(); U2_DiagnosisInit_main();
Key_Status_Init();
uart2_User_KL15_Init(); uart2_User_KL15_Init();
APP_CAN_Init(); APP_CAN_Init();
CalcODOKL15Init(); CalcODOKL15Init();
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
#include "app_Telltales.h" #include "app_Telltales.h"
#include "Fuel.h" #include "Fuel.h"
#include "Key.h"
const LED_Attribute_st LED_Attribute[LED_Max]__attribute__ ((aligned (4))); const LED_Attribute_st LED_Attribute[LED_Max]__attribute__ ((aligned (4)));
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#include "eepromManage.h" #include "eepromManage.h"
#include "Data_Gear.h" #include "Data_Gear.h"
#include "BGLInterface.h" #include "BGLInterface.h"
#include "Key.h"
#include "CAN_User.h" #include "CAN_User.h"
#include "gpio.h" #include "gpio.h"
...@@ -62,7 +62,7 @@ void Sys_Run_Mode_Pseudo_Real_Time_Tasks(void) ...@@ -62,7 +62,7 @@ void Sys_Run_Mode_Pseudo_Real_Time_Tasks(void)
if (CAN_Initflag == 0xeb) if (CAN_Initflag == 0xeb)
{ {
Diagnosis_main(); Diagnosis_main();
// Key_Status_Detect_Service();
// IS31FL3236_Update(); // IS31FL3236_Update();
U2_Diagnosis_main(); U2_Diagnosis_main();
// DoCAN_Communication_Service(); // DoCAN_Communication_Service();
...@@ -105,39 +105,9 @@ void Sys_Run_Mode_10ms_Tasks(void) ...@@ -105,39 +105,9 @@ void Sys_Run_Mode_10ms_Tasks(void)
BackLightDamp(10u); BackLightDamp(10u);
// DisplayServices();
// loc_Display_Service();
Line_In_Debounce_Service(); Line_In_Debounce_Service();
Telltales_Management(); Telltales_Management();
Can_BusOff_Fun(10u); Can_BusOff_Fun(10u);
Key_Status_Detect_Service();
//Test();
// Telltales_Left_Right_Management_Service();
// Key_Service();
// //CAN_BUSOFF_Recover();
// /*车�?�处�?*/
// SetGaugesPara(VehGauges, VehSpeedAmplification(Cal_Veh_Val()));
// /*转�?�处�?*/
// Common_Set_Act_E_Speed(Get_ID_CF00400_Sig_EngineSpeed() / 8);
// SetGaugesPara(RevGauges, RevSpeedManage(Common_Get_Act_E_Speed()));
// /*表头调度函数 added by yutian*/
// UserGaugeSchedule();/*在主循环中调�?*/
// /*end*/
// Sound_Play_Service();
// CD4051B_ReadSignal_Serviece();
// Can_BusOff_Fun();
// //for (i = 0; i < LED_Max ; i++)
// //{
// // Telltales_DiagCtrl(i, 1u);
// //}
//if(Common_Get_IG_Sts() == COMMON_POWER_ON)
} }
/*============================================================================*/ /*============================================================================*/
......
...@@ -1167,30 +1167,6 @@ ...@@ -1167,30 +1167,6 @@
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>.\source\Application\Key\Key.h</PathWithFileName>
<FilenameWithoutPath>Key.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>78</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\source\Application\Key\Key.c</PathWithFileName>
<FilenameWithoutPath>Key.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>79</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\source\Application\APPCan\CAN_Communication_Matrix.h</PathWithFileName> <PathWithFileName>.\source\Application\APPCan\CAN_Communication_Matrix.h</PathWithFileName>
<FilenameWithoutPath>CAN_Communication_Matrix.h</FilenameWithoutPath> <FilenameWithoutPath>CAN_Communication_Matrix.h</FilenameWithoutPath>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
...@@ -1198,7 +1174,7 @@ ...@@ -1198,7 +1174,7 @@
</File> </File>
<File> <File>
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>80</FileNumber> <FileNumber>78</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1210,7 +1186,7 @@ ...@@ -1210,7 +1186,7 @@
</File> </File>
<File> <File>
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>81</FileNumber> <FileNumber>79</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1222,7 +1198,7 @@ ...@@ -1222,7 +1198,7 @@
</File> </File>
<File> <File>
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>82</FileNumber> <FileNumber>80</FileNumber>
<FileType>4</FileType> <FileType>4</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1234,7 +1210,7 @@ ...@@ -1234,7 +1210,7 @@
</File> </File>
<File> <File>
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>83</FileNumber> <FileNumber>81</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1246,7 +1222,7 @@ ...@@ -1246,7 +1222,7 @@
</File> </File>
<File> <File>
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>84</FileNumber> <FileNumber>82</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1258,7 +1234,7 @@ ...@@ -1258,7 +1234,7 @@
</File> </File>
<File> <File>
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>85</FileNumber> <FileNumber>83</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1270,7 +1246,7 @@ ...@@ -1270,7 +1246,7 @@
</File> </File>
<File> <File>
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>86</FileNumber> <FileNumber>84</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1290,7 +1266,7 @@ ...@@ -1290,7 +1266,7 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>87</FileNumber> <FileNumber>85</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1302,7 +1278,7 @@ ...@@ -1302,7 +1278,7 @@
</File> </File>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>88</FileNumber> <FileNumber>86</FileNumber>
<FileType>4</FileType> <FileType>4</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1322,7 +1298,7 @@ ...@@ -1322,7 +1298,7 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>89</FileNumber> <FileNumber>87</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1334,7 +1310,7 @@ ...@@ -1334,7 +1310,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>90</FileNumber> <FileNumber>88</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1346,7 +1322,7 @@ ...@@ -1346,7 +1322,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>91</FileNumber> <FileNumber>89</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1358,7 +1334,7 @@ ...@@ -1358,7 +1334,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>92</FileNumber> <FileNumber>90</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1370,7 +1346,7 @@ ...@@ -1370,7 +1346,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>93</FileNumber> <FileNumber>91</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1382,7 +1358,7 @@ ...@@ -1382,7 +1358,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>94</FileNumber> <FileNumber>92</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1394,7 +1370,7 @@ ...@@ -1394,7 +1370,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>95</FileNumber> <FileNumber>93</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1406,7 +1382,7 @@ ...@@ -1406,7 +1382,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>96</FileNumber> <FileNumber>94</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1418,7 +1394,7 @@ ...@@ -1418,7 +1394,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>97</FileNumber> <FileNumber>95</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1430,7 +1406,7 @@ ...@@ -1430,7 +1406,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>98</FileNumber> <FileNumber>96</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1442,7 +1418,7 @@ ...@@ -1442,7 +1418,7 @@
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>5</GroupNumber>
<FileNumber>99</FileNumber> <FileNumber>97</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1462,7 +1438,7 @@ ...@@ -1462,7 +1438,7 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>100</FileNumber> <FileNumber>98</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1474,7 +1450,7 @@ ...@@ -1474,7 +1450,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>101</FileNumber> <FileNumber>99</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1486,7 +1462,7 @@ ...@@ -1486,7 +1462,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>102</FileNumber> <FileNumber>100</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1498,7 +1474,7 @@ ...@@ -1498,7 +1474,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>103</FileNumber> <FileNumber>101</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1510,7 +1486,7 @@ ...@@ -1510,7 +1486,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>104</FileNumber> <FileNumber>102</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1522,7 +1498,7 @@ ...@@ -1522,7 +1498,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>105</FileNumber> <FileNumber>103</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1534,7 +1510,7 @@ ...@@ -1534,7 +1510,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>106</FileNumber> <FileNumber>104</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1546,7 +1522,7 @@ ...@@ -1546,7 +1522,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>107</FileNumber> <FileNumber>105</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1558,7 +1534,7 @@ ...@@ -1558,7 +1534,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>108</FileNumber> <FileNumber>106</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
...@@ -1570,7 +1546,7 @@ ...@@ -1570,7 +1546,7 @@
</File> </File>
<File> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>109</FileNumber> <FileNumber>107</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
......
...@@ -773,16 +773,6 @@ ...@@ -773,16 +773,6 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>.\source\Application\BackLight\BGLInterface.c</FilePath> <FilePath>.\source\Application\BackLight\BGLInterface.c</FilePath>
</File> </File>
<File>
<FileName>Key.h</FileName>
<FileType>5</FileType>
<FilePath>.\source\Application\Key\Key.h</FilePath>
</File>
<File>
<FileName>Key.c</FileName>
<FileType>1</FileType>
<FilePath>.\source\Application\Key\Key.c</FilePath>
</File>
<File> <File>
<FileName>CAN_Communication_Matrix.h</FileName> <FileName>CAN_Communication_Matrix.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment