Commit ce596ba3 authored by 梁百峰's avatar 梁百峰

feat:打点流程

parent 92c49461
......@@ -272,6 +272,41 @@ uint8_t Get_CAN_CH0_ID_18FEFC17_Sig_Fuel_level(void)
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0_ID_Send18FEFC17_Msg_Count, 0u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_794_byte0_Sig(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0_ID_UDS_REC_Msg_Count, 0u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_794_byte1_Sig(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0_ID_UDS_REC_Msg_Count, 1u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_794_byte2_Sig(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0_ID_UDS_REC_Msg_Count, 2u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_794_byte3_Sig(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0_ID_UDS_REC_Msg_Count, 3u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_794_byte4_Sig(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0_ID_UDS_REC_Msg_Count, 4u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_794_byte5_Sig(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0_ID_UDS_REC_Msg_Count, 5u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_794_byte6_Sig(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0_ID_UDS_REC_Msg_Count, 6u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_794_byte7_Sig(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0_ID_UDS_REC_Msg_Count, 7u) >> 0u) & 0xFFu));
}
......
......@@ -76,7 +76,14 @@ extern uint32_t Get_CAN_CH0_ID_18FEC1EE_Sig_Total_Vehicle_Distance(void);
extern uint16_t Get_CAN_CH0_ID_0CFE6CEE_Sig_Tachograph_vehicle_speed(void);
extern uint8_t Get_CAN_CH0_ID_18FEFC17_Sig_Fuel_level(void);
extern uint8_t Get_CAN_CH0_ID_794_byte0_Sig(void);
extern uint8_t Get_CAN_CH0_ID_794_byte1_Sig(void);
extern uint8_t Get_CAN_CH0_ID_794_byte2_Sig(void);
extern uint8_t Get_CAN_CH0_ID_794_byte3_Sig(void);
extern uint8_t Get_CAN_CH0_ID_794_byte4_Sig(void);
extern uint8_t Get_CAN_CH0_ID_794_byte5_Sig(void);
extern uint8_t Get_CAN_CH0_ID_794_byte6_Sig(void);
extern uint8_t Get_CAN_CH0_ID_794_byte7_Sig(void);
......
......@@ -72,7 +72,8 @@ void MENU_CHECK_STEP_ADD(void)
{
MENU_CHECK_STEP++;
if(MENU_CHECK_STEP > 17)
// if(MENU_CHECK_STEP > 17)
if(MENU_CHECK_STEP > 13)
{
MENU_CHECK_STEP = 0;
}
......
......@@ -3687,7 +3687,12 @@ void Display_Version_Info(uint32_t ON_OFF)
guominbanben[0] = CAN_MSG_Read(10, 7u);
guominhoumian = CAN_MSG_Read(10, 6u);
}
esp32banben[0] = CAN_MSG_Read(10, 3u);
esp32houmian = CAN_MSG_Read(10, 2u);
mbuffruanjian[0] = CAN_MSG_Read(9, 5u);
wifihoumian = CAN_MSG_Read(9, 4u);
guominbanben[0] = CAN_MSG_Read(10, 7u);
guominhoumian = CAN_MSG_Read(10, 6u);
General_Number_Disp(esp32banben, 5, 50);
GUI_General_Digit_Display(esp32houmian, Num_15, 2, 0, banebenhao1, 50);
......@@ -3752,7 +3757,22 @@ void Display_Version_Info(uint32_t ON_OFF)
wuliao[14] = CAN_MSG_Read(8, 0u);
wuliao[15] = 0xFF;
}
wuliao[0] = CAN_MSG_Read(6, 4u);
wuliao[1] = CAN_MSG_Read(6, 3u);
wuliao[2] = CAN_MSG_Read(6, 2u);
wuliao[3] = CAN_MSG_Read(6, 1u);
wuliao[4] = CAN_MSG_Read(6, 0u);
wuliao[5] = CAN_MSG_Read(7, 4u);
wuliao[6] = CAN_MSG_Read(7, 3u);
wuliao[7] = CAN_MSG_Read(7, 2u);
wuliao[8] = CAN_MSG_Read(7, 1u);
wuliao[9] = CAN_MSG_Read(7, 0u);
wuliao[10] = CAN_MSG_Read(8, 4u);
wuliao[11] = CAN_MSG_Read(8, 3u);
wuliao[12] = CAN_MSG_Read(8, 2u);
wuliao[13] = CAN_MSG_Read(8, 1u);
wuliao[14] = CAN_MSG_Read(8, 0u);
wuliao[15] = 0xFF;
if(CAN_MSG_Read(7, 2u) == 0x47 || (R485_ID4Dh.Sig.MaterialCode07 == 0x47))
{
nowbanbenhao = 1;
......
......@@ -65,7 +65,7 @@
#define NEG_8_Ctrl GPIO_OUT_PORT10_PIN03
#define NEG_9_Ctrl GPIO_OUT_PORT10_PIN04
#define NEG_10_Ctrl GPIO_OUT_PORT00_PIN08
#define can_std_io GPIO_OUT_PORT00_PIN04
#define queren GPIO_OUT_PORT00_PIN06
#define LINE_SafeBelt_1 NEG_1_Ctrl
#define LINE_SafeBelt_2 NEG_2_Ctrl
......
......@@ -21,6 +21,7 @@
#include "api_RS485.h"
#include "RTE_WDT.h"
#include "R485_Communication_Matrix.h"
#include "CAN_Communication_Matrix.h"
/*******************************************************************************
* *
* ϵͳ��������ģʽ(SYS_MODE_OFF / SYS_MODE_ON / SYS_MODE_STANDBY )�����б� *
......@@ -41,7 +42,7 @@ uint8_t compareresult;
extern uint8_t keyopenble;
const unsigned char gImage_cuo1[] = {24, 24,0X00,0X00,0X00,0X00,0X30,0X70,0XE0,0XC0,0X80,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X80,0XC0,0X70,0X30,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X83,0XC7,0X66,0X38,0X38,0X7C,0XE6,0XC3,0X81,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X0C,0X0C,0X06,0X03,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X03,0X07,0X0E,0X0C,0X00,0X00,0X00,0X00,};
const unsigned char gImage_dui1[] = {24, 24,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X80,0XC0,0XE0,0X40,0X00,0X00,0X00,0X00,0X08,0X18,0X30,0X70,0XC0,0X80,0X00,0X00,0X80,0XC0,0XE0,0X70,0X38,0X1C,0X0E,0X07,0X03,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X01,0X03,0X07,0X03,0X01,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,};
void Get_PN_msg(void);
void Sys_Run_Mode_Pseudo_Real_Time_Tasks(void)
{
SD_FMQ = 1;
......@@ -62,10 +63,11 @@ void Sys_Run_Mode_Pseudo_Real_Time_Tasks(void)
------------------------------------------------------------------------------*/
void Sys_Run_Mode_2ms_Tasks_Group(void)
{
Can_Write_Fun(2); //报文外发
// Can_Write_Fun(2); //报文外发
COM_RX_Process( );
RTE_ADC_Services( );
Get_static_Current();
// can_std_io = 0;
}
/*==============================================================================
......@@ -96,187 +98,180 @@ void Sys_Run_Mode_10ms_Tasks_Group(void)
{
devicename = 0;
}
if(firstpowerflag == 2)
{
if(clearOdoFlag == 0)
{
backsend();
// RS485_TX_finish = 0;
if(RS485_TX_finish == 0)
{
LINE_OUT_NEG_09 = 0;
if(LINE_OUT_NEG_09 == 1)///////////////////////////等于0 不发送485
{
if(connectbleFlag == 0)
{
if(zhenduanflag == 0)
{
// R485_Send_Line_0x47(MENU_CHECK_STEP);
RS485_User_Tx_Data();
comparestart = 0;
}
else if(zhenduanflag == 1)
{
R485_Send_0x47();
comparestart = 0;
}
else if(zhenduanflag == 2)
{
R485_Sendcheck_0x47();
}
else
{
;
}
}
else
{
// if(send0x42time<0xFFFFFFFF)
// {
// send0x42time++;
// }
// if(bleOFFtoONtime<0xFFFFFFFF)
// {
// bleOFFtoONtime++;
// }
if(RS485_TX_finish == 0)
{
// if(firstpowerflag == 2)
// {
// if(clearOdoFlag == 0)
// {
// backsend();
// // RS485_TX_finish = 0;
// if(RS485_TX_finish == 0)
// {
// LINE_OUT_NEG_09 = 0;
// if(LINE_OUT_NEG_09 == 1)///////////////////////////等于0 不发送485
// {
// if(connectbleFlag == 0)
// {
// if(zhenduanflag == 0)
// {
// // R485_Send_Line_0x47(MENU_CHECK_STEP);
// RS485_User_Tx_Data();
// comparestart = 0;
// }
// else if(zhenduanflag == 1)
// {
// R485_Send_0x47();
// comparestart = 0;
// }
// else if(zhenduanflag == 2)
// {
// R485_Sendcheck_0x47();
// }
// else
// {
// ;
// }
// }
// else
// {
// // if(send0x42time<0xFFFFFFFF)
// // {
// // send0x42time++;
// // }
// // if(bleOFFtoONtime<0xFFFFFFFF)
// // {
// // bleOFFtoONtime++;
// // }
// if(RS485_TX_finish == 0)
// {
if(startONfalg == 0)
{
if(send0x42time<130)
{
// if(sendflag == 1)
// {
R485_Send_0x42();
// sendflag = 0;
// }
// if(startONfalg == 0)
// {
// if(send0x42time<130)
// {
// // if(sendflag == 1)
// // {
// R485_Send_0x42();
// // sendflag = 0;
// // }
queren = 0;
}
else
{
// bleOFFtoONtime = 0;
LINE_OUT_NEG_01 = 0;
LINE_OUT_NEG_02 = 0;
LINE_OUT_NEG_03 = 0;
LINE_OUT_NEG_04 = 0;
startONfalg = 1;
Display_TFT_Clear();
}
}
else
{
if(startIGONtime >= 50)
{
LINE_OUT_NEG_01 = 1;
LINE_OUT_NEG_02 = 1;
LINE_OUT_NEG_03 = 1;
LINE_OUT_NEG_04 = 1;
if(startIGONtime >= 100)
{
Openble[0] = 0x59;
Openble[1] = 0x44;
Openble[2] = 0xA;
Openble[3] = 0x8A;
Openble[4] = 0xA;
Openble[5] = 0xA;
Openble[6] = name2;
Openble[7] = name1;
Openble[8] = 1;
Openble[9] = 0x4B;
Openble[10] = 0x4A;
// queren = 0;
// }
// else
// {
// // bleOFFtoONtime = 0;
// LINE_OUT_NEG_01 = 0;
// LINE_OUT_NEG_02 = 0;
// LINE_OUT_NEG_03 = 0;
// LINE_OUT_NEG_04 = 0;
// startONfalg = 1;
// Display_TFT_Clear();
// }
// }
// else
// {
// if(startIGONtime >= 50)
// {
// LINE_OUT_NEG_01 = 1;
// LINE_OUT_NEG_02 = 1;
// LINE_OUT_NEG_03 = 1;
// LINE_OUT_NEG_04 = 1;
// if(startIGONtime >= 100)
// {
// Openble[0] = 0x59;
// Openble[1] = 0x44;
// Openble[2] = 0xA;
// Openble[3] = 0x8A;
// Openble[4] = 0xA;
// Openble[5] = 0xA;
// Openble[6] = name2;
// Openble[7] = name1;
// Openble[8] = 1;
// Openble[9] = 0x4B;
// Openble[10] = 0x4A;
// RS485_User_Tx_Data();
if(sendflag == 1)
{
R485_Send_0x41();
sendflag = 0;
}
else
{
R485_Send_0x80();
sendflag = 1;
}
blename[4] = 0xFF;
// if(send0x42time % 20 == 0)
// {
UART_Ch2_Send_Multiple_Byte(Openble,sizeof(Openble));
// if(startIGONtime > 500)
// {
// queren = 1;
// }
// // RS485_User_Tx_Data();
// if(sendflag == 1)
// {
// R485_Send_0x41();
// sendflag = 0;
// }
// else
// {
// R485_Send_0x80();
// sendflag = 1;
// }
// blename[4] = 0xFF;
// // if(send0x42time % 20 == 0)
// // {
// UART_Ch2_Send_Multiple_Byte(Openble,sizeof(Openble));
// // if(startIGONtime > 500)
// // {
// // queren = 1;
// // }
// }
}
// // }
// }
}
}
RS485_send_time = 0;
RS485_TX_finish = 1;
}
else
{
// }
// }
// RS485_send_time = 0;
// RS485_TX_finish = 1;
// }
// else
// {
}
// }
}
// }
}
else
{
if(zhenduanflag == 0)
{
;
// R485_Send_Line_0x47(MENU_CHECK_STEP);
// RS485_User_Tx_Data();
// comparestart = 0;
}
else if(zhenduanflag == 1)
{
// R485_Send_0x47();
// comparestart = 0;
Can_Send_0x714();
}
else if(zhenduanflag == 2)
{
//R485_Sendcheck_0x47();
Can_Send_0x714_CHECK();
}
else
{
;
}
}
// else
// {
// RS485_TX_finish = 0;
// }
// }
// else
// {
// }
// // else
// // {
// // RS485_TX_finish = 0;
// // }
}
else
{
// backsend();
LINE_OUT_NEG_09 = 0;
if(LINE_OUT_NEG_09 == 0)
{
Recv_Byte();
}
// }
// else
// {
// // backsend();
// LINE_OUT_NEG_09 = 0;
// if(LINE_OUT_NEG_09 == 0)
// {
// Recv_Byte();
// }
}
// }
}
else
{
// }
// else
// {
// MENU_CHECK_STEP = 3;
// backsend();
// RS485_User_Tx_Data();
// if(clearodotime < 3000)
// clearodotime++;
// if(clearodotime >= 1500)
// {
// // Port_SetPortPinLevel(2,9,PortGpioHigh);
// queren = 1;
// }
// }
// }
if(clearOdoFlag)
{
MENU_CHECK_STEP = 3;
backsend();
RS485_User_Tx_Data();
// backsend();
// RS485_User_Tx_Data();
if(clearodotime < 3000)
clearodotime++;
if(clearodotime >= 1500)
......@@ -284,10 +279,31 @@ void Sys_Run_Mode_10ms_Tasks_Group(void)
// Port_SetPortPinLevel(2,9,PortGpioHigh);
queren = 1;
}
}
}
if (zhenduanflag == 0)
{
// R485_Send_Line_0x47(MENU_CHECK_STEP);
// RS485_User_Tx_Data();
// comparestart = 0;
}
else
if (zhenduanflag == 1)
{
// R485_Send_0x47();
// comparestart = 0;
Can_Send_0x714();
}
else if (zhenduanflag == 2)
{
// R485_Sendcheck_0x47();
Can_Send_0x714_CHECK();
Get_PN_msg();
}
else
{
;
}
}
/*==============================================================================
......@@ -338,8 +354,15 @@ void Sys_Run_Mode_50ms_Tasks_Group(void)
{
timerms++;
}
if (zhenduanflag == 0)
{
// R485_Send_Line_0x47(MENU_CHECK_STEP);
// RS485_User_Tx_Data();
// comparestart = 0;
can_submit();
}
// if ( timer_100ms >= 500 )
// {
......@@ -400,7 +423,7 @@ void Sys_Run_Mode_100ms_Tasks_Group(void)
}
Display_PageNum();
can_submit();
// Freln_Duty_HZ_Service();
if(RS485_send_time<0xFFFFFFFF)
......@@ -642,7 +665,7 @@ void can_mid(CAN_Frame_st_t Msg)
RSCAN0_CH4_Set_FIFO0_Data(&m_msg);
}
uint8_t sendcanstep = 0;
void can_submit(void)
{
//车速
......@@ -724,6 +747,9 @@ void can_submit(void)
CAN_Frame_st_t m_msg19;//密码
uint8_t data19[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C21FFD3
CAN_Frame_st_t m_msg25;//密码
uint8_t data25[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x0C20FFD1
switch (MENU_CHECK_STEP)
{
case 0:
......@@ -804,6 +830,8 @@ void can_submit(void)
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 报警器报警状态 整车状态 free
data3[1] = 4 << 2;
data3[0] = 0x3;
data3[5] = 0x3;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 整车操作状态反馈
data4[0] = 0;
......@@ -856,8 +884,9 @@ void can_submit(void)
init_CAN_Frame(&m_msg18, 0x0CA0FFDC, 8, 1, data18); // abs驱动tcs
break;
case 2:
data1[2] = 5100 & 0xFF;
data1[3] = (5100 >> 8) & 0xFF;//母线电流
data1[0] = 0x64;
data1[2] = 0x1E;
data1[3] = 0x14;//母线电流
data1[7] = (10133 >> 8) & 0xFF;
data1[6] = 10133 & 0xFF;
......@@ -867,6 +896,8 @@ void can_submit(void)
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 报警器报警状态 整车状态 sport
data3[1] = 3 << 2;
data3[0] = 0x3;
data3[5] = 0x3;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
......@@ -885,8 +916,8 @@ void can_submit(void)
init_CAN_Frame(&m_msg9, 0x0C11FFD1, 8, 1, data9); // 总电池电量
data5[4] = 750 & 0xFF;
data5[5] = (750 >> 8) & 0xFF;
// data5[4] = 800 & 0xFF;
// data5[5] = (800 >> 8) & 0xFF;
init_CAN_Frame(&m_msg5, 0x0C10FFD1, 8, 1, data5); // 总电池电压
......@@ -915,18 +946,39 @@ void can_submit(void)
init_CAN_Frame(&m_msg18, 0x0CA0FFDC, 8, 1, data18); // abs驱动tcs
break;
case 3:
data1[2] = 5100 & 0xFF;
data1[3] = (5100 >> 8) & 0xFF;//母线电流
// data1[0] = 0xF4;
// data1[1] = 0x1;
// data1[2] = 0x1E;
// data1[3] = 0x14;//母线电流
data1[7] = (10266 >> 8) & 0xFF;
data1[6] = 10266 & 0xFF;
init_CAN_Frame(&m_msg1, 0x0C20FFD2, 8, 1, data1); // 车速 22
if(clearOdoFlag == 1)
{
data1[7] = (12200 >> 8) & 0xFF;
data1[6] = 12200 & 0xFF;
data1[0] = 0xF8;
data1[1] = 0x1;
data1[2] = 0xB4;
data1[3] = 0x14;//母线电流
}
else
{
data1[7] = (10266 >> 8) & 0xFF;
data1[6] = 10266 & 0xFF;
data1[0] = 0xF4;
data1[1] = 0x1;
data1[2] = 0x1E;
data1[3] = 0x14;//母线电流
}
init_CAN_Frame(&m_msg1, 0x0C20FFD2, 8, 1, data1); // 车速 22
data2[0] = 3;
data2[1] = 1 << 4;
data3[0] = 0x3;
data3[5] = 0x3;
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态 ttfar
data3[1] = 1 << 2;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
......@@ -975,17 +1027,24 @@ void can_submit(void)
init_CAN_Frame(&m_msg18, 0x0CA0FFDC, 8, 1, data18); // abs驱动tcs
break;
case 4:
data1[2] = 5100 & 0xFF;
data1[3] = (5100 >> 8) & 0xFF;//母线电流
data1[0] = 0xF4;
data1[1] = 0x1;
data1[2] = 0xB4;
data1[3] = 0x14;//母线电流
data1[7] = (10399 >> 8) & 0xFF;
data1[6] = 10399 & 0xFF;
init_CAN_Frame(&m_msg1, 0x0C20FFD2, 8, 1, data1); // 车速 33
data2[0] = 3;
// data2[0] = 3;
data2[1] = 1 << 4;
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态
//data3[1] = 0 << 2;
data3[0] = 1 << 3;
data3[1] = 1 << 2;
data3[0] = 0x3;
data3[5] = 0x3;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
......@@ -998,7 +1057,7 @@ void can_submit(void)
data4[7] = 0;
init_CAN_Frame(&m_msg4, 0x0C50FFD0, 8, 1, data4); // 时间显示
data8[0] = 1 << 6 | 2 << 4;
// data8[0] = 1 << 6 | 2 << 4;
data8[1] = 1 << 4;
init_CAN_Frame(&m_msg8, 0x0C23FFD2, 8, 1, data8); // ready 刹车开关信号反馈 巡航灯 氛围灯红
......@@ -1023,7 +1082,7 @@ void can_submit(void)
init_CAN_Frame(&m_msg6, 0x0C50FFD2, 8, 1, data6); // 整车故障灯
data7[0] = 1 << 5 | 1 << 2;
// data7[0] = 1 << 5 | 1 << 2;
init_CAN_Frame(&m_msg7, 0x0C5AFFD2, 8, 1, data7); // TCS T动力
//ABS
......@@ -1036,9 +1095,9 @@ void can_submit(void)
init_CAN_Frame(&m_msg18, 0x0CA0FFDC, 8, 1, data18); // abs驱动tcs
break;
case 5:
data1[2] = 4900 & 0xFF;
data1[3] = (4900 >> 8) & 0xFF;//母线电流
data1[0] = 0x1D;
data1[2] = 0x94;//母线电流
data1[3] = 0x11;//母线电流
data1[7] = (10532 >> 8) & 0xFF;
data1[6] = 10532 & 0xFF;
init_CAN_Frame(&m_msg1, 0x0C20FFD2, 8, 1, data1); // 车速 44
......@@ -1046,8 +1105,10 @@ void can_submit(void)
data2[0] = 3;
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态
data3[0] = 1 << 3;
data3[1] = 0 << 2;
data3[0] =0xB;
data3[1] = 0xC;
// data3[0] = 0x3;
data3[5] = 0x3;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
......@@ -1060,13 +1121,16 @@ void can_submit(void)
data4[7] = 0;
init_CAN_Frame(&m_msg4, 0x0C50FFD0, 8, 1, data4); // 时间显示
// data8[0] = 0x8;
init_CAN_Frame(&m_msg8, 0x0C23FFD2, 8, 1, data8); // ready 刹车开关信号反馈
data9[4] = 88;
// data9[6] = 0x77;
// data9[7] = 0x4D;
init_CAN_Frame(&m_msg9, 0x0C11FFD1, 8, 1, data9); // 总电池电量
data5[4] = 150 & 0xFF;
data5[5] = (150 >> 8) & 0xFF;
data5[4] = 0x77;
data5[5] = 0x4D;
init_CAN_Frame(&m_msg5, 0x0C10FFD1, 8, 1, data5); // 总电池电压
......@@ -1078,7 +1142,7 @@ void can_submit(void)
init_CAN_Frame(&m_msg14, 0x0C25FFD2, 8, 1, data14); // 陡坡缓降
data15[0] = 1 << 3;
data15[0] = 0x8;
init_CAN_Frame(&m_msg15, 0x0C27FFD3, 8, 1, data15); // 坐桶开启
init_CAN_Frame(&m_msg6, 0x0C50FFD2, 8, 1, data6); // 整车故障灯
......@@ -1094,12 +1158,14 @@ void can_submit(void)
init_CAN_Frame(&m_msg17, 0x0CC0FFDC, 8, 1, data17); // ABS故障 激活 可回复
//abs驱动tcs
data18[0] = 0x12;
init_CAN_Frame(&m_msg18, 0x0CA0FFDC, 8, 1, data18); // abs驱动tcs
break;
case 6:
data1[2] = 4900 & 0xFF;
data1[3] = (4900 >> 8) & 0xFF;//母线电流
data1[0] = 0x7D;
data1[2] = 0x30;//母线电流
data1[3] = 0x11;//母线电流
data1[7] = (10665 >> 8) & 0xFF;
data1[6] = 10665 & 0xFF;
......@@ -1108,8 +1174,10 @@ void can_submit(void)
data2[0] = 3;
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态
data3[0] = 1 << 3;
data3[1] = 0 << 2;
data3[0] =0xB;
data3[1] = 0xC;
// data3[0] = 0x3;
data3[5] = 0x3;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
......@@ -1163,9 +1231,9 @@ void can_submit(void)
break;
case 7:
data1[2] = 4900 & 0xFF;
data1[3] = (4900 >> 8) & 0xFF;//母线电流
data1[0] = 0xF0;
data1[2] = 0x10;//母线电流
data1[3] = 0x11;//母线电流
data1[7] = (10798 >> 8) & 0xFF;
data1[6] = 10798 & 0xFF;
init_CAN_Frame(&m_msg1, 0x0C20FFD2, 8, 1, data1); // 车速 66
......@@ -1173,8 +1241,10 @@ void can_submit(void)
data2[0] = 3;
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态
data3[0] = 1 << 3;
data3[1] = 0 << 2;
data3[0] =0xB;
data3[1] = 0xC;
// data3[0] = 0x3;
data3[5] = 0x3;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
......@@ -1234,6 +1304,8 @@ void can_submit(void)
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态
//data3[1] = 0 << 2;
data3[0] = 0x3;
data3[5] = 0x3;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
......@@ -1291,6 +1363,8 @@ void can_submit(void)
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态
data3[1] = 0 << 2;
data3[0] = 0x3;
data3[5] = 0x3;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
......@@ -1335,6 +1409,8 @@ void can_submit(void)
//abs驱动tcs
init_CAN_Frame(&m_msg18, 0x0CA0FFDC, 8, 1, data18); // abs驱动tcs
data25[0] = 0x1;
init_CAN_Frame(&m_msg25, 0x0CA0FFDC, 8, 1, data25); // abs驱动tcs
break;
case 10:// 全亮 全亮 全亮 全亮 全亮 全亮 全亮
......@@ -1346,6 +1422,8 @@ void can_submit(void)
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态
data3[1] = 0 << 2;
data3[0] = 0x3;
data3[5] = 0x3;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
data4[0] = 0;
......@@ -1395,6 +1473,8 @@ void can_submit(void)
//abs驱动tcs
init_CAN_Frame(&m_msg18, 0x0CA0FFDC, 8, 1, data18); // abs驱动tcs
data25[0] = 0x1;
init_CAN_Frame(&m_msg25, 0x0CA0FFDC, 8, 1, data25); // abs驱动tcs
break;
case 11:
data1[7] = (11200 >> 8) & 0xFF;
......@@ -1405,6 +1485,8 @@ void can_submit(void)
init_CAN_Frame(&m_msg2, 0x0C10FFD3, 8, 1, data2); // 驾驶模式 整车状态
data3[1] = 0 << 2;
data3[0] = 0x3;
data3[5] = 0x3;
init_CAN_Frame(&m_msg3, 0x0C22FFD2, 8, 1, data3); // 驾驶模式 挡位反馈
......@@ -1447,6 +1529,8 @@ void can_submit(void)
//abs驱动tcs
init_CAN_Frame(&m_msg18, 0x0CA0FFDC, 8, 1, data18); // abs驱动tcs
data25[0] = 0x1;
init_CAN_Frame(&m_msg25, 0x0CA0FFDC, 8, 1, data25); // abs驱动tcs
break;
// case 12://进不去
......@@ -1523,45 +1607,119 @@ void can_submit(void)
}
else if(MENU_CHECK_STEP == 14)
{
can_mid(m_msg19);
// can_mid(m_msg19);
}
else
{
can_mid(m_msg1);
can_mid(m_msg2);
can_mid(m_msg3);
can_mid(m_msg4);
can_mid(m_msg5);
can_mid(m_msg6);
can_mid(m_msg7);
can_mid(m_msg8);
can_mid(m_msg9);
can_mid(m_msg11);
can_mid(m_msg12);
switch (sendcanstep)
{
case 0:
can_mid(m_msg1);
sendcanstep++;
break;
case 1:
can_mid(m_msg2);
sendcanstep++;
break;
case 2:
can_mid(m_msg3);
sendcanstep++;
break;
case 3:
can_mid(m_msg4);
sendcanstep++;
break;
case 4:
can_mid(m_msg5);
sendcanstep++;
break;
case 5:
can_mid(m_msg6);
sendcanstep++;
break;
case 6:
can_mid(m_msg7);
sendcanstep++;
break;
case 7:
can_mid(m_msg8);
sendcanstep++;
break;
case 8:
can_mid(m_msg9);
sendcanstep++;
break;
case 9:
can_mid(m_msg11);
sendcanstep++;
break;
case 10:
can_mid(m_msg12);
sendcanstep++;
break;
case 11:
can_mid(m_msg14);
sendcanstep++;
break;
case 12:
can_mid(m_msg15);
sendcanstep++;
break;
case 13:
can_mid(m_msg16);
sendcanstep++;
break;
case 14:
can_mid(m_msg17);
sendcanstep++;
break;
case 15:
can_mid(m_msg18);
sendcanstep++;
break;
case 16:
can_mid(m_msg25);
sendcanstep++;
break;
default:
sendcanstep = 0;
break;
}
// can_mid(m_msg13);
can_mid(m_msg14);
can_mid(m_msg15);
can_mid(m_msg16);
can_mid(m_msg17);
can_mid(m_msg18);
}
}
//诊断
CAN_Frame_st_t m_msg20;
uint8_t data20[8] = {0, 0, 0, 0, 0, 0, 0, 0};//0x714
uint8_t test[20] = {0};
void Can_Send_0x714(void)
{
switch (zhenduansendStep)
{
case 0:
if(barcode_Msg[0] != 51 && barcode_Msg[1] != 55)
{
zhenduansendStep = 0;
break;
}
// if(barcode_Msg[0] != 51 && barcode_Msg[1] != 55)
// {
// zhenduansendStep = 0;
// break;
// }
data20[0] = 0x02;
data20[1] = 0x10;
data20[2] = 0x03;
......@@ -1585,7 +1743,12 @@ void Can_Send_0x714(void)
data20[7] = 0xAA;
init_CAN_Frame(&m_msg20, 0x714, 8, 0, data20); //诊断
can_mid(m_msg20);
seed_value[0] = CAN_MSG_Read(11,3);
seed_value[1] = CAN_MSG_Read(11,4);
seed_value[2] = CAN_MSG_Read(11,5);
seed_value[3] = CAN_MSG_Read(11,6);
zhenduansendStep++;
break;
case 2:
......@@ -1600,10 +1763,13 @@ void Can_Send_0x714(void)
}
else
{
// seed_value[0] = CAN_MSG_Read(11,1);
// seed_value[1] = CAN_MSG_Read(11,2);
// zhenduansendStep--;
return;
}
//Gen_TimeDelay(10000, 50);
break;
case 3:
//Gen_TimeDelay(10000, 50);
data20[0] = 0x06;
......@@ -1680,6 +1846,7 @@ void Can_Send_0x714(void)
{
return;
}
break;
case 9:
data20[0] = 0x10;
data20[1] = 0x08;
......@@ -1693,6 +1860,7 @@ void Can_Send_0x714(void)
can_mid(m_msg20);
Gen_TimeDelay(10000, 50);
zhenduansendStep++;
break;
case 10:
data20[0] = 0x21;
data20[1] = barcode_Msg[18];
......@@ -1706,7 +1874,7 @@ void Can_Send_0x714(void)
can_mid(m_msg20);
Gen_TimeDelay(10000, 50);
zhenduansendStep++;
break;
case 11:
if(CAN_MSG_Read(11,0) == 0x03 && CAN_MSG_Read(11,1) == 0x6E && CAN_MSG_Read(11,3) == 0x8A)
{
......@@ -1716,6 +1884,7 @@ void Can_Send_0x714(void)
{
return;
}
break;
case 12:
data20[0] = 0x07;
data20[1] = 0x2E;
......@@ -1729,6 +1898,7 @@ void Can_Send_0x714(void)
can_mid(m_msg20);
Gen_TimeDelay(10000, 50);
zhenduansendStep++;
break;
case 13:
Gen_TimeDelay(10000, 50);
if(CAN_MSG_Read(11,0) == 0x03 && CAN_MSG_Read(11,1) == 0x6E && CAN_MSG_Read(11,3) == 0x99)
......@@ -1739,6 +1909,7 @@ void Can_Send_0x714(void)
{
return;
}
break;
case 14:
data20[0] = 0x10;
data20[1] = 0x09;
......@@ -1753,7 +1924,7 @@ void Can_Send_0x714(void)
Gen_TimeDelay(10000, 50);
zhenduansendStep++;
break;
case 15:
data20[0] = 0x21;
data20[1] = barcode_Msg[31] - 0x30;
......@@ -1767,6 +1938,7 @@ void Can_Send_0x714(void)
can_mid(m_msg20);
Gen_TimeDelay(10000, 50);
zhenduansendStep++;
break;
case 16:
Gen_TimeDelay(10000, 50);
if(CAN_MSG_Read(11,0) == 0x03 && CAN_MSG_Read(11,1) == 0x6E && CAN_MSG_Read(11,3) == 0x8C)
......@@ -1777,7 +1949,7 @@ void Can_Send_0x714(void)
{
return;
}
break;
case 17:
LINE_OUT_NEG_01 = 0;
LINE_OUT_NEG_02 = 0;
......@@ -1845,18 +2017,88 @@ void get_key_value(void)
key_value_all = SeedValue;
}
}
uint8_t u8get714msg[8];
uint8_t PNtestresult = 0;
uint8_t lingjianhao[21];
uint8_t PNresult = 0;
void Get_PN_msg(void)
{
if(PNtestresult == 1)
{
return ;
}
u8get714msg[0] = Get_CAN_CH0_ID_794_byte0_Sig();
u8get714msg[1] = Get_CAN_CH0_ID_794_byte1_Sig();
u8get714msg[2] = Get_CAN_CH0_ID_794_byte2_Sig();
u8get714msg[3] = Get_CAN_CH0_ID_794_byte3_Sig();
u8get714msg[4] = Get_CAN_CH0_ID_794_byte4_Sig();
u8get714msg[5] = Get_CAN_CH0_ID_794_byte5_Sig();
u8get714msg[6] = Get_CAN_CH0_ID_794_byte6_Sig();
u8get714msg[7] = Get_CAN_CH0_ID_794_byte7_Sig();
if(u8get714msg[0] == 0x10 && u8get714msg[4] == 0x87 && PNresult == 0)
{
memset(lingjianhao,0xFF,sizeof(lingjianhao));
// memcpy(&lingjianhao[0],&u8get714msg[5],3);
lingjianhao[0] = u8get714msg[5];
lingjianhao[1] = u8get714msg[6];
lingjianhao[2] = u8get714msg[7];
PNresult = 1;
}
else if(u8get714msg[0] == 0x21 && PNresult == 1)
{
// memcpy(&lingjianhao[3],&u8get714msg[1],7);
lingjianhao[3] = u8get714msg[1];
lingjianhao[4] = u8get714msg[2];
lingjianhao[5] = u8get714msg[3];
lingjianhao[6] = u8get714msg[4];
lingjianhao[7] = u8get714msg[5];
lingjianhao[8] = u8get714msg[6];
lingjianhao[9] = u8get714msg[7];
PNresult = 2;
}
else if(u8get714msg[0] == 0x22 && PNresult == 2)
{
// memcpy(&lingjianhao[10],&u8get714msg[1],7);
lingjianhao[10] = u8get714msg[1];
lingjianhao[11] = u8get714msg[2];
lingjianhao[12] = u8get714msg[3];
lingjianhao[13] = u8get714msg[4];
lingjianhao[14] = u8get714msg[5];
lingjianhao[15] = u8get714msg[6];
// lingjianhao[16] = u8get714msg[7];
PNresult = 3;
}
else if(u8get714msg[0] == 0x23 && PNresult == 3)
{
// lingjianhao[21] = 0xFF;
// memcpy(&lingjianhao[17],&u8get714msg[1],7);
General_Number_Disp(lingjianhao, 15, 100);
PNtestresult = 1;
}
}
void Can_Send_0x714_CHECK(void)
{
// if (Get_CAN_CH0_ID_794_byte0_Sig() == 0x21)
// {
// get_num_buf[3] = Get_CAN_CH0_ID_794_byte1_Sig();
// get_num_buf[4] = Get_CAN_CH0_ID_794_byte2_Sig();
// get_num_buf[5] =Get_CAN_CH0_ID_794_byte3_Sig();
// get_num_buf[6] = Get_CAN_CH0_ID_794_byte4_Sig();
// get_num_buf[7] = Get_CAN_CH0_ID_794_byte5_Sig();
// get_num_buf[8] =Get_CAN_CH0_ID_794_byte6_Sig();
// get_num_buf[9] = Get_CAN_CH0_ID_794_byte7_Sig();
// // zhenduansendStep++;
// }
switch (zhenduansendStep)
{
case 0:
if(barcode_Msg1[0] != 51 && barcode_Msg1[1] != 55)
{
zhenduansendStep = 0;
break;
}
// if(barcode_Msg1[0] != 51 && barcode_Msg1[1] != 55)
// {
// zhenduansendStep = 0;
// break;
// }
data20[0] = 0x03;
data20[1] = 0x22;
data20[2] = 0xF1;
......@@ -1867,16 +2109,11 @@ void Can_Send_0x714_CHECK(void)
data20[7] = 0xAA;
init_CAN_Frame(&m_msg20, 0x714, 8, 0, data20); //诊断
can_mid(m_msg20);
Gen_TimeDelay(10000, 50);
// Gen_TimeDelay(10000, 50);
zhenduansendStep++;
break;
case 1:
get_num_buf[0] = CAN_MSG_Read(11,5);
get_num_buf[1] = CAN_MSG_Read(11,6);
get_num_buf[2] = CAN_MSG_Read(11,7);
zhenduansendStep++;
case 2:
Get_PN_msg();
data20[0] = 0x30;
data20[1] = 0x00;
data20[2] = 0x00;
......@@ -1885,8 +2122,13 @@ void Can_Send_0x714_CHECK(void)
data20[5] = 0xAA;
data20[6] = 0xAA;
data20[7] = 0xAA;
init_CAN_Frame(&m_msg20, 0x714, 8, 0, data20); //诊断
init_CAN_Frame(&m_msg20, 0x714, 8, 0, data20); // 诊断
can_mid(m_msg20);
zhenduansendStep++;
Get_PN_msg();
break;
case 2:
Get_PN_msg();
//Gen_TimeDelay(10000, 50);
zhenduansendStep++;
break;
......@@ -1895,37 +2137,51 @@ void Can_Send_0x714_CHECK(void)
// uint8_t bzy = 0;
// asd = CAN_MSG_Read(11,0);
// bzy = CAN_MSG_Read(11,1);
// if(CAN_MSG_Read(11,0) == 0x21)
// {
get_num_buf[3] = CAN_MSG_Read(11,1);
get_num_buf[4] = CAN_MSG_Read(11,2);
get_num_buf[5] = CAN_MSG_Read(11,3);
get_num_buf[6] = CAN_MSG_Read(11,4);
get_num_buf[7] = CAN_MSG_Read(11,5);
get_num_buf[8] = CAN_MSG_Read(11,6);
get_num_buf[9] = CAN_MSG_Read(11,7);
zhenduansendStep++;
// }
test[3] = CAN_MSG_Read(11, 1);
test[4] = CAN_MSG_Read(11, 2);
test[5] = CAN_MSG_Read(11, 3);
test[6] = CAN_MSG_Read(11, 4);
test[7] = CAN_MSG_Read(11, 5);
test[8] = CAN_MSG_Read(11, 6);
test[9] = CAN_MSG_Read(11, 7);
if (CAN_MSG_Read(11, 0) == 0x21)
{
get_num_buf[3] = CAN_MSG_Read(11, 1);
get_num_buf[4] = CAN_MSG_Read(11, 2);
get_num_buf[5] = CAN_MSG_Read(11, 3);
get_num_buf[6] = CAN_MSG_Read(11, 4);
get_num_buf[7] = CAN_MSG_Read(11, 5);
get_num_buf[8] = CAN_MSG_Read(11, 6);
get_num_buf[9] = CAN_MSG_Read(11, 7);
zhenduansendStep++;
}
// else
// {
// return;
// }
break;
case 4:
if(CAN_MSG_Read(11,0) == 0x22)
// if(CAN_MSG_Read(11,0) == 0x22)
// {
if (CAN_MSG_Read(11, 0) == 0x22)
{
get_num_buf[10] = CAN_MSG_Read(11,5);
get_num_buf[11] = CAN_MSG_Read(11,6);
get_num_buf[12] = CAN_MSG_Read(11,7);
get_num_buf[13] = CAN_MSG_Read(11,5);
get_num_buf[14] = CAN_MSG_Read(11,6);
get_num_buf[15] = CAN_MSG_Read(11,7);
get_num_buf[16] = CAN_MSG_Read(11,7);
get_num_buf[10] = CAN_MSG_Read(11, 1);
get_num_buf[11] = CAN_MSG_Read(11, 2);
get_num_buf[12] = CAN_MSG_Read(11, 3);
get_num_buf[13] = CAN_MSG_Read(11, 4);
get_num_buf[14] = CAN_MSG_Read(11, 5);
get_num_buf[15] = CAN_MSG_Read(11, 6);
get_num_buf[16] = CAN_MSG_Read(11, 7);
zhenduansendStep++;
}
else
{
return;
}
// }
// else
// {
// return;
// }
break;
case 5:
data20[0] = 0x03;
data20[1] = 0x22;
......@@ -1939,11 +2195,13 @@ void Can_Send_0x714_CHECK(void)
can_mid(m_msg20);
Gen_TimeDelay(10000, 50);
zhenduansendStep++;
break;
case 6:
get_num_buf[17] = CAN_MSG_Read(11,5);
get_num_buf[18] = CAN_MSG_Read(11,6);
get_num_buf[19] = CAN_MSG_Read(11,7);
zhenduansendStep++;
break;
case 7:
data20[0] = 0x30;
data20[1] = 0x00;
......@@ -1974,6 +2232,7 @@ void Can_Send_0x714_CHECK(void)
{
return;
}
break;
case 9:
data20[0] = 0x03;
data20[1] = 0x22;
......@@ -1987,6 +2246,7 @@ void Can_Send_0x714_CHECK(void)
can_mid(m_msg20);
Gen_TimeDelay(10000, 50);
zhenduansendStep++;
break;
case 10:
if(CAN_MSG_Read(11,0) == 0x07 && CAN_MSG_Read(11,1) == 0x62)
{
......@@ -2000,7 +2260,7 @@ void Can_Send_0x714_CHECK(void)
{
return;
}
break;
case 11:
data20[0] = 0x03;
data20[1] = 0x22;
......@@ -2014,6 +2274,7 @@ void Can_Send_0x714_CHECK(void)
can_mid(m_msg20);
Gen_TimeDelay(10000, 50);
zhenduansendStep++;
break;
case 12:
get_num_buf[17] = CAN_MSG_Read(11,5);
get_num_buf[18] = CAN_MSG_Read(11,6);
......@@ -2050,12 +2311,12 @@ void Can_Send_0x714_CHECK(void)
return;
}
break;
case 15:
LINE_OUT_NEG_01 = 0;
LINE_OUT_NEG_02 = 0;
LINE_OUT_NEG_03 = 0;
LINE_OUT_NEG_04 = 0;
// LINE_OUT_NEG_01 = 0;
// LINE_OUT_NEG_02 = 0;
// LINE_OUT_NEG_03 = 0;
// LINE_OUT_NEG_04 = 0;
zhenduansendStep = 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