Commit 09cfdaf2 authored by 李鑫3's avatar 李鑫3

feat:GT400全功能检测台

parent 199dbc5f
......@@ -75,4 +75,10 @@ extern uint8_t u8get714msg[8];
extern uint8_t UIDdelay;
extern uint8_t UDSStep;
extern uint8_t Meterfieldstep;
extern uint8_t ruanjianinsidebanbenhao[13];
extern uint8_t ruanjianoutsidebanbenhao[25];
extern uint8_t H630BUFFER[10];
extern uint8_t BOOT2[9];
extern uint8_t HWin[5];
extern uint8_t HWout[8];
#endif
......@@ -11,6 +11,7 @@ typedef enum
KEY_8,
KEY_9,
KEY_10,
KEY_11,
KEY_NUM_MAX,
} Key_Num_en_t;
......@@ -81,6 +82,10 @@ extern uint8_t middlekeytime;
extern uint8_t clear_odo;
extern void Key_Init(void);
extern void Key_Service(void); /*10ms*/
extern uint8_t leftflag;
extern uint8_t rightflag;
extern uint8_t leftflag2;
extern Key_Set_en_t Key_Parameter_Set_Short_Press_Time(uint16_t u16Time);
extern Key_Set_en_t Key_Parameter_Set_Long_Press_Time(uint16_t u16Time);
......
......@@ -3,7 +3,7 @@
#include "Display_Info.h"
#include "Check_Ctrl.h"
#include "CAN_APP.h"
#include "GenDelay.h"
uint8_t rightkey;
uint8_t rightkeytime;
uint8_t clear_odo;
......@@ -11,11 +11,15 @@ void Key_Operation_SW5(Key_Event_en_t enKeyEvent)
{
if ( enKeyEvent == KEY_EVENT_SHORT_PRESS )
{
if(clear_odo == 0)
{
key_right = 1;
rightkey = 1;
}
// if(clear_odo == 0)
// {
// key_right = 1;
// rightkey = 1;
// }
key_on=1;
Gen_TimeDelay ( 100 *1000,50U);
key_on=0;
}
else if ( enKeyEvent == KEY_EVENT_LONG_PRESS )
{
......@@ -27,38 +31,38 @@ void Key_Operation_SW5(Key_Event_en_t enKeyEvent)
}
else
{
if(clear_odo == 0)
{
if(rightkey)
{
if(rightkeytime < 10)
{
;
}
else
{
rightkey = 0;
rightkeytime = 0;
}
}
else
{
key_right = 0;
}
}
// if(clear_odo == 0)
// {
// if(rightkey)
// {
// if(rightkeytime < 10)
// {
// ;
// }
// else
// {
// rightkey = 0;
// rightkeytime = 0;
// }
// }
// else
// {
// key_right = 0;
// }
// }
}
}
uint8_t leftkey;
uint8_t leftkeytime;
uint8_t rightflag=0;
void Key_Operation_SW4(Key_Event_en_t enKeyEvent)
{
if ( enKeyEvent == KEY_EVENT_SHORT_PRESS )
{
if(clear_odo == 0)
{
key_left = 1;
leftkey = 1;
}
key_right=1;
Gen_TimeDelay ( 100 *1000,50U);
key_right=0;
}
else if ( enKeyEvent == KEY_EVENT_LONG_PRESS )
{
......@@ -70,32 +74,23 @@ void Key_Operation_SW4(Key_Event_en_t enKeyEvent)
}
else
{
if(clear_odo == 0)
{
if(leftkey)
{
if(leftkeytime < 10)
{
;
}
else
{
leftkey = 0;
leftkeytime = 0;
}
}
else
{
key_left = 0;
}
}
}
}
void Key_Operation_SW7(Key_Event_en_t enKeyEvent)
{
if ( enKeyEvent == KEY_EVENT_SHORT_PRESS )
{
if(MENU_CHECK_STEP==8)
{
key_right=1;
rightflag=1;
key_left=1;
leftflag2=1;
}
}
else if ( enKeyEvent == KEY_EVENT_LONG_PRESS )
{
......@@ -112,7 +107,9 @@ void Key_Operation_SW8(Key_Event_en_t enKeyEvent)
{
if ( enKeyEvent == KEY_EVENT_SHORT_PRESS )
{
key_up=1;
Gen_TimeDelay ( 100 *1000,50U);
key_up=0;
}
else if ( enKeyEvent == KEY_EVENT_LONG_PRESS )
{
......@@ -124,25 +121,22 @@ void Key_Operation_SW8(Key_Event_en_t enKeyEvent)
{
}
}
uint8_t leftflag=0;
uint8_t leftflag2=0;
uint8_t middlekey;
uint8_t middlekeytime;
void Key_Operation_SW2(Key_Event_en_t enKeyEvent)
{
if ( enKeyEvent == KEY_EVENT_SHORT_PRESS )
{
if(clear_odo == 0)
{
key_middle = 1;
middlekey = 1;
}
key_left=1;
leftflag=1;
}
else if ( enKeyEvent == KEY_EVENT_LONG_PRESS )
{
if(MENU_CHECK_STEP == 9)
{
clear_odo = 1;
}
}
else if ( enKeyEvent == KEY_EVENT_SUPER_LONG_PRESS )
{
......@@ -150,25 +144,6 @@ void Key_Operation_SW2(Key_Event_en_t enKeyEvent)
}
else
{
if(clear_odo == 0)
{
if(middlekey)
{
if(middlekeytime < 10)
{
;
}
else
{
middlekey = 0;
middlekeytime = 0;
}
}
else
{
key_middle = 0;
}
}
}
}
void Key_Operation_SW1(Key_Event_en_t enKeyEvent)
......@@ -180,6 +155,30 @@ void Key_Operation_SW1(Key_Event_en_t enKeyEvent)
}
else if ( enKeyEvent == KEY_EVENT_LONG_PRESS )
{
}
else if ( enKeyEvent == KEY_EVENT_SUPER_LONG_PRESS )
{
}
else
{
}
}
void Key_Operation_SW3(Key_Event_en_t enKeyEvent)
{
if ( enKeyEvent == KEY_EVENT_SHORT_PRESS )
{
LINE_RESET=1;
Gen_TimeDelay ( 100 *1000,50U);
LINE_RESET=0;
}
else if ( enKeyEvent == KEY_EVENT_LONG_PRESS )
{
}
else if ( enKeyEvent == KEY_EVENT_SUPER_LONG_PRESS )
......@@ -265,6 +264,17 @@ Key_Real_Status_en_t Key_Real_sw1(void)
}
return enKeyRealStatus;
}
Key_Real_Status_en_t Key_Real_sw3(void)
{
Key_Real_Status_en_t enKeyRealStatus = KEY_LINE_LOOSEN;
if ( SW3 == 0U )
{
enKeyRealStatus = KEY_LINE_PRESS;
}
return enKeyRealStatus;
}
/*---------------------------------------------------------------------------------------*/
const Key_Attribute_st_t stKeyAttribute [ KEY_NUM_MAX ] = {
......@@ -274,5 +284,6 @@ const Key_Attribute_st_t stKeyAttribute [ KEY_NUM_MAX ] = {
{KEY_TYPE_LINE, Key_Real_sw8, Key_Operation_SW8},
{KEY_TYPE_LINE, Key_Real_sw2, Key_Operation_SW2}, //SW2-
{KEY_TYPE_LINE, Key_Real_sw1, Key_Operation_SW1}, //SW1+
{KEY_TYPE_LINE, Key_Real_sw3, Key_Operation_SW3}, //SW1+
};
......@@ -39,6 +39,13 @@
#define FUEL_RES_3 GPIO_OUT_PORT09_PIN04
#define FUEL_RES_4 GPIO_OUT_PORT09_PIN03
#define FUEL_T_1 GPIO_OUT_PORT10_PIN03
#define FUEL_T_2 GPIO_OUT_PORT10_PIN04
#define FUEL_T_3 GPIO_OUT_PORT10_PIN15
#define FUEL_T_4 GPIO_OUT_PORT11_PIN00
// #define LINE_OUT_CHARGER GPIO_OUT_PORT10_PIN06//
// #define LINE_OUT_OIL GPIO_OUT_PORT10_PIN06
// #define LINE_OUT_BREAK_LEVEL GPIO_OUT_PORT10_PIN06
......@@ -56,6 +63,9 @@
#define key_right GPIO_OUT_APORT00_PIN07
#define key_middle GPIO_OUT_PORT00_PIN06
#define key_on GPIO_OUT_PORT00_PIN00
#define key_up GPIO_OUT_PORT00_PIN02
#define SD_FMQ GPIO_OUT_PORT10_PIN02
#define PWM_FMQ GPIO_OUT_PORT10_PIN11
......@@ -67,8 +77,8 @@
#define NEG_5_Ctrl GPIO_OUT_PORT09_PIN02
#define NEG_6_Ctrl GPIO_OUT_PORT09_PIN01
#define NEG_7_Ctrl GPIO_OUT_PORT10_PIN07
#define NEG_8_Ctrl GPIO_OUT_PORT10_PIN03
#define NEG_9_Ctrl GPIO_OUT_PORT10_PIN04
// #define NEG_8_Ctrl GPIO_OUT_PORT10_PIN03
// #define NEG_9_Ctrl GPIO_OUT_PORT10_PIN04
#define NEG_10_Ctrl GPIO_OUT_PORT00_PIN08
......@@ -93,7 +103,7 @@
//防盗
#define LINE_OUT_POS_11 GPIO_OUT_APORT00_PIN12
//远光
#define LINE_OUT_POS_02 GPIO_OUT_PORT00_PIN14
#define LINE_OUT_POS_02 GPIO_OUT_PORT10_PIN13
//复位
#define LINE_RESET GPIO_OUT_APORT00_PIN14
//位置灯
......
......@@ -110,7 +110,7 @@ void Sys_Run_Mode_10ms_Tasks_Group(void)
// cycleflag = 1;
}
if(MENU_CHECK_STEP == 0)
if(MENU_CHECK_STEP == 1)
{
if(send0x714time < 4)
{
......@@ -216,6 +216,14 @@ void Sys_Run_Mode_50ms_Tasks_Group(void)
uint16_t u16LJSText;
uint8_t time300ms;
uint8_t clear_odo_time;
uint8_t lestadd=0;
uint8_t leftad2=0;
uint8_t rightadd=0;
uint8_t igoff=0;
uint8_t leftflg=0;
uint8_t rightflg=0;
void Sys_Run_Mode_100ms_Tasks_Group(void)
{
static uint32_t loc_timer = 0;
......@@ -248,16 +256,70 @@ void Sys_Run_Mode_100ms_Tasks_Group(void)
if(clear_odo_time < 52)
{
clear_odo_time++;
key_left = 1;
key_right = 1;
// key_left = 1;
// key_right = 1;
}
else
{
clear_odo = 0;
clear_odo_time = 0;
key_left = 0;
key_right = 0;
// key_left = 0;
// key_right = 0;
}
}
if(leftflag==1)
{
lestadd++;
if(lestadd == 22)
{
key_left=0;
leftflag=0;
lestadd=0;
}
}
if(leftflag2==1)
{
leftad2++;
if(leftad2==60)
{
key_left=0;
leftad2=0;
leftflg=1;
leftflag2=0;
}
}
if(rightflag==1)
{
rightadd++;
if(rightadd==60)
{
key_right=0;
rightadd=0;
rightflg=1;
rightflag=0;
}
}
if((rightflg==1) && (leftflg==1))
{
igoff++;
if(igoff==60)
{
POWER_CTRL_KL30 = 0u; //B+
POWER_CTRL_KL15 = 0u; //KL15
rightflg=0;
leftflg=0;
igoff=0;
}
}
}
/*=================================================================*/
......
......@@ -8,6 +8,8 @@
#include "RSCAN.h"
#include "RSCAN_Table.h"
#include "CAN_APP.h"
#include "Display_Info.h"
#define RSCAN_CKSCLK_IPERI2_CLKC 40000000UL /*PPLLCLK2*/
#define RSCAN_CKSCLK_ICANOSC_CLK_XIN_CAN 8000000UL /*MainOSC*/
#define RSCAN_F_CAN RSCAN_CKSCLK_IPERI2_CLKC
......@@ -787,31 +789,223 @@ void RSCAN0_CH3_Receive(CAN_Frame_st_t *pstCANFrame)
g_stRSCAN0Config.stRSCANCh3.pfnRSCANReadMsgCallBack(pstCANFrame->u32CANID, pstCANFrame->u8CANLEN, pstCANFrame->unCANData.u8CANData);
}
}
uint8_t u8getSWmsg1[8];
uint8_t SWFlag =0;
uint8_t SWoutflag=0;
uint8_t eflag =0;
uint8_t zhenduanbuffer=0;
void RSCAN0_CH4_Receive(CAN_Frame_st_t *pstCANFrame)
{
if (g_stRSCAN0Config.stRSCANCh4.pfnRSCANReadMsgCallBack)
{
g_stRSCAN0Config.stRSCANCh4.pfnRSCANReadMsgCallBack(pstCANFrame->u32CANID, pstCANFrame->u8CANLEN, pstCANFrame->unCANData.u8CANData);
if(UDSStep == 0)
{
Get_SWIN_msg();
}
else if(UDSStep == 1)
{
Get_SWOUT_msg();
}
else if(UDSStep == 2)
{
Get_HWIN_msg();
}
else if(UDSStep == 3)
{
Get_HWOUT_msg();
}
else if(UDSStep == 4)
{
Get_PN_msg();
}
// if(UDSStep == 0)
// {
// Get_SWIN_msg();
// }
// else if(UDSStep == 1)
// {
// Get_SWOUT_msg();
// }
// else if(UDSStep == 2)
// {
// Get_HWIN_msg();
// }
// else if(UDSStep == 3)
// {
// Get_HWOUT_msg();
// }
// else if(UDSStep == 4)
// {
// Get_PN_msg();
// }
u8getSWmsg1[0] = pstCANFrame->unCANData.u8CANData[0];
u8getSWmsg1[1] = pstCANFrame->unCANData.u8CANData[1];
u8getSWmsg1[2] = pstCANFrame->unCANData.u8CANData[2];
u8getSWmsg1[3] = pstCANFrame->unCANData.u8CANData[3];
u8getSWmsg1[4] = pstCANFrame->unCANData.u8CANData[4];
u8getSWmsg1[5] = pstCANFrame->unCANData.u8CANData[5];
u8getSWmsg1[6] = pstCANFrame->unCANData.u8CANData[6];
u8getSWmsg1[7] = pstCANFrame->unCANData.u8CANData[7];
if((u8getSWmsg1[0] == 0x10) && (u8getSWmsg1[4] == 0x24) &&(SWFlag==0))
{
// memset(ruanjianinsidebanbenhao,0xFF,sizeof(ruanjianinsidebanbenhao));
ruanjianinsidebanbenhao[0] = u8getSWmsg1[5];
ruanjianinsidebanbenhao[1] = u8getSWmsg1[6];
ruanjianinsidebanbenhao[2] = u8getSWmsg1[7];
SWFlag=1;
zhenduanstep=1;
}
else if((u8getSWmsg1[0] == 0x21) &&(SWFlag==1))
{
ruanjianinsidebanbenhao[3] = u8getSWmsg1[1];
ruanjianinsidebanbenhao[4] = u8getSWmsg1[2];
ruanjianinsidebanbenhao[5] = u8getSWmsg1[3];
ruanjianinsidebanbenhao[6] = u8getSWmsg1[4];
ruanjianinsidebanbenhao[7] = u8getSWmsg1[5];
ruanjianinsidebanbenhao[8] = u8getSWmsg1[6];
ruanjianinsidebanbenhao[9] = u8getSWmsg1[7];
SWFlag=2;
zhenduanstep=2;
}
else if((u8getSWmsg1[0] == 0x22) && (SWFlag==2))
{
ruanjianinsidebanbenhao[10] = u8getSWmsg1[1];
ruanjianinsidebanbenhao[11] = u8getSWmsg1[2];
ruanjianinsidebanbenhao[12] = 0xFF;
General_Number_Disp(ruanjianinsidebanbenhao, 03, 50);
SWFlag=0;
}
else if((u8getSWmsg1[0] == 0x10) && (u8getSWmsg1[4] == 0x26) && (SWoutflag==0))
{
// memset(ruanjianoutsidebanbenhao,0xFF,sizeof(ruanjianoutsidebanbenhao));
ruanjianoutsidebanbenhao[0] = u8getSWmsg1[5];
ruanjianoutsidebanbenhao[1] = u8getSWmsg1[6];
ruanjianoutsidebanbenhao[2] = u8getSWmsg1[7];
zhenduanstep=4;
SWoutflag=1;
}
else if((u8getSWmsg1[0] == 0x21) &&(SWoutflag==1))
{
ruanjianoutsidebanbenhao[3] = u8getSWmsg1[1];
ruanjianoutsidebanbenhao[4] = u8getSWmsg1[2];
ruanjianoutsidebanbenhao[5] = u8getSWmsg1[3];
ruanjianoutsidebanbenhao[6] = u8getSWmsg1[4];
ruanjianoutsidebanbenhao[7] = u8getSWmsg1[5];
ruanjianoutsidebanbenhao[8] = 0xFF;
General_Number_Disp(ruanjianoutsidebanbenhao, 03, 100);
// UDSStep = 2;
SWoutflag=2;
}
else if((u8getSWmsg1[0] == 0x10) && (u8getSWmsg1[4] == 0x25) && (SWoutflag==2))
{
H630BUFFER[0] = u8getSWmsg1[5];
H630BUFFER[1] = u8getSWmsg1[6];
H630BUFFER[2] = u8getSWmsg1[7];
zhenduanstep=7;
SWoutflag=3;
}
else if((u8getSWmsg1[0] == 0x21) &&(SWoutflag==3))
{
H630BUFFER[3] = u8getSWmsg1[1];
H630BUFFER[4] = u8getSWmsg1[2];
H630BUFFER[5] = u8getSWmsg1[3];
H630BUFFER[6] = u8getSWmsg1[4];
H630BUFFER[7] = u8getSWmsg1[5];
H630BUFFER[8] = u8getSWmsg1[6];
H630BUFFER[9]=0xFF;
General_Number_Disp(H630BUFFER, 03, 300);
// UDSStep = 2;
SWoutflag=4;
}
else if((u8getSWmsg1[0] == 0x10) && (u8getSWmsg1[4] == 0x27) && (SWoutflag==4))
{
BOOT2[0] = u8getSWmsg1[5];
BOOT2[1] = u8getSWmsg1[6];
BOOT2[2] = u8getSWmsg1[7];
zhenduanstep=9;
SWoutflag=5;
}
else if((u8getSWmsg1[0] == 0x21) &&(SWoutflag==5))
{
BOOT2[3] = u8getSWmsg1[1];
BOOT2[4] = u8getSWmsg1[2];
BOOT2[5] = u8getSWmsg1[3];
BOOT2[6] = u8getSWmsg1[4];
BOOT2[7] = u8getSWmsg1[5];
BOOT2[8]=0xFF;
General_Number_Disp(BOOT2, 03, 250);
// UDSStep = 2;
SWoutflag=6;
}
else if((u8getSWmsg1[0] == 0x07) && (u8getSWmsg1[3] == 0x28) && (SWoutflag==6))
{
HWin[0] = u8getSWmsg1[4];
HWin[1] = u8getSWmsg1[5];
HWin[2] = u8getSWmsg1[6];
HWin[3] = u8getSWmsg1[7];
HWin[4] = 0xFF;
zhenduanstep=11;
SWoutflag=7;
General_Number_Disp(HWin, 03, 150);
}
else if((u8getSWmsg1[0] == 0x10) && (u8getSWmsg1[4] == 0x29) && (SWoutflag==7))
{
HWout[0] = u8getSWmsg1[5];
HWout[1] = u8getSWmsg1[6];
HWout[2] = u8getSWmsg1[7];
zhenduanstep=13;
SWoutflag=8;
}
else if((u8getSWmsg1[0] == 0x21) &&(SWoutflag==8))
{
HWout[3] = u8getSWmsg1[1];
HWout[4] = u8getSWmsg1[2];
HWout[5] = u8getSWmsg1[3];
HWout[6] = u8getSWmsg1[4];
HWout[7] = u8getSWmsg1[5];
HWout[8]=0xFF;
General_Number_Disp(HWout, 03, 200);
// UDSStep = 2;
SWoutflag=0;
}
else if((u8getSWmsg1[0]==0x06) && (u8getSWmsg1[1]==0x50))
{
UIDStep=1;
}
else if((u8getSWmsg1[1]==0x67) && (u8getSWmsg1[2]==0x02))
{
UIDStep=4;
}
else if((u8getSWmsg1[2] == 0x01) && (u8getSWmsg1[3] == 0x56) && (eflag==0))
{
eflag=0;
UIDStep=5;
zhenduanbuffer=u8getSWmsg1[4];
eflag=1;
}
else if((u8getSWmsg1[2] == 0x01) && (u8getSWmsg1[3] == 0x84)&& (eflag==1))
{
UIDStep=6;
eflag=2;
}
else if((u8getSWmsg1[2] == 0x10) && (u8getSWmsg1[3] == 0x56))
{
UIDStep=7;
}
else if((u8getSWmsg1[2] == 0x01) && (u8getSWmsg1[3] == 0x56))
{
UIDStep=9;
}
else if(pstCANFrame->u32CANID==0x6A1u)
{
Meterfieldstep=1;
}
else if((u8getSWmsg1[0]==0x30) && (u8getSWmsg1[2]==0x0A))
{
Meterfieldstep=2;
}
}
}
void RSCAN0_CH5_Receive(CAN_Frame_st_t *pstCANFrame)
......
......@@ -84,8 +84,8 @@ void Sys_Startup_Init(void)
Buzzer_Init();
UIDdelay = 0;
CAN_STB = 0;
POWER_CTRL_KL30 = 1u; //B+
POWER_CTRL_KL15 = 1u; //KL15
// POWER_CTRL_KL30 = 1u; //B+
// POWER_CTRL_KL15 = 1u; //KL15
for (int i = 0; i < 33; i++)
{
UIDcode1[i] = 0;
......
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