Commit 563cbae5 authored by hu's avatar hu

增加TYW内部版本号读取

parent bf58bbf3
...@@ -287,6 +287,8 @@ void Power_IG_ON_Init(void) ...@@ -287,6 +287,8 @@ void Power_IG_ON_Init(void)
/*气压1 气压2 WET气压数据初始化*/ /*气压1 气压2 WET气压数据初始化*/
AirPressure_KL15_ON_Init(); AirPressure_KL15_ON_Init();
App_TYWUDS_SetStatus_Init();
} }
Power_Status_t Power_Stay_ON(void) Power_Status_t Power_Stay_ON(void)
......
...@@ -2226,3 +2226,57 @@ uint8_t Common_Get_L12_Air_Sta(void) ...@@ -2226,3 +2226,57 @@ uint8_t Common_Get_L12_Air_Sta(void)
{ {
return L12_Air_Sta ; return L12_Air_Sta ;
} }
uint8_t LineHighbeamStatusOld;
uint8_t LineHighbeamStatusNum;
uint8_t LineHighbeamStatusTime;
uint8_t TYWUDS_Status;
void App_TYWUDS_SetStatus(uint8_t LineHighbeamStatus, uint8_t HighbeamTime)
{
if (LineHighbeamStatusOld != LineHighbeamStatus)
{
LineHighbeamStatusOld = LineHighbeamStatus;
if (LineHighbeamStatusOld == 1)
{
LineHighbeamStatusNum++;
}
else
{
;/**/
}
}
else
{
;/**/
}
if (LineHighbeamStatusNum != 0)
{
if (LineHighbeamStatusTime <= (HighbeamTime + 1))
{
LineHighbeamStatusTime ++ ;
}
if ((LineHighbeamStatusTime < HighbeamTime) && (LineHighbeamStatusNum >= 5))
{
TYWUDS_Status = 1;
}
else
{
;/**/
}
}
//return TYWUDS_Status;
}
void App_TYWUDS_SetStatus_Init(void)
{
TYWUDS_Status = 0;
LineHighbeamStatusOld = 0;
LineHighbeamStatusNum = 0;
LineHighbeamStatusTime = 0;
}
uint8_t App_TYWUDS_GetStatus(void)
{
return TYWUDS_Status;
}
\ No newline at end of file
...@@ -10,4 +10,8 @@ uint8_t GET_LED_RIGHT_G_Judgement(void); ...@@ -10,4 +10,8 @@ uint8_t GET_LED_RIGHT_G_Judgement(void);
uint8_t GET_LED_LEFT_G_Judgement(void); uint8_t GET_LED_LEFT_G_Judgement(void);
uint8_t Common_Get_L12_Air_Sta(void); uint8_t Common_Get_L12_Air_Sta(void);
void App_TYWUDS_SetStatus(uint8_t LineHighbeamStatus, uint8_t HighbeamTime);
void App_TYWUDS_SetStatus_Init(void);
uint8_t App_TYWUDS_GetStatus(void);
#endif #endif
...@@ -2052,7 +2052,7 @@ void Level4_4Menu_5Exit(void) ...@@ -2052,7 +2052,7 @@ void Level4_4Menu_5Exit(void)
/*长时间怠速设定子菜单*/ /*长时间怠速设定子菜单*/
void Level4_4Menu_6Enter(void) void Level4_4Menu_6Enter(void)
{ {
User_set_Num.User_IDLING = User_App.User_IDLING ; User_set_Num.User_IDLING = 0;//User_App.User_IDLING ;
} }
void Level4_4Menu_6Do(void) void Level4_4Menu_6Do(void)
{ {
......
...@@ -1487,7 +1487,7 @@ void K_LINE_EOL_InitVal(void) ...@@ -1487,7 +1487,7 @@ void K_LINE_EOL_InitVal(void)
K_Line_Set.K_Line_LID2B = 0x00u; /* 00 ISS //0:无、1: eco stop、 2:Idle Stop */ K_Line_Set.K_Line_LID2B = 0x00u; /* 00 ISS //0:无、1: eco stop、 2:Idle Stop */
K_Line_Set.K_Line_LID2C = 0x01u; /* 00 装货台工作警报蜂鸣 //0:无、1:有 */ K_Line_Set.K_Line_LID2C = 0x01u; /* 00 装货台工作警报蜂鸣 //0:无、1:有 */
K_Line_Set.K_Line_LID2D = 0x01u; /* 00 ROWS //0:无、1:ROWS有、2LOCAL警报有 */ K_Line_Set.K_Line_LID2D = 0x01u; /* 00 ROWS //0:无、1:ROWS有、2LOCAL警报有 */
K_Line_Set.K_Line_LID2E = 0x01u; /* 00 行车记录仪 //0:模拟记录仪、1:数字记录仪或行车记录仪 */ K_Line_Set.K_Line_LID2E = 0x00u; /* 00 行车记录仪 //0:模拟记录仪、1:数字记录仪或行车记录仪 */
K_Line_Set.K_Line_LID2F = 0x00u; /* 00 车型 //0:单车、1:拖车、2:全拖车 */ K_Line_Set.K_Line_LID2F = 0x00u; /* 00 车型 //0:单车、1:拖车、2:全拖车 */
K_Line_Set.K_Line_LID30 = 0x01u; /* 00 缓速器 //0:无、1:有(C&E)、2:有(F) */ K_Line_Set.K_Line_LID30 = 0x01u; /* 00 缓速器 //0:无、1:有(C&E)、2:有(F) */
K_Line_Set.K_Line_LID31 = 0x01u; /* -- 定速巡航 //0:无、1:有 */ K_Line_Set.K_Line_LID31 = 0x01u; /* -- 定速巡航 //0:无、1:有 */
...@@ -1508,13 +1508,13 @@ void K_LINE_EOL_InitVal(void) ...@@ -1508,13 +1508,13 @@ void K_LINE_EOL_InitVal(void)
K_Line_Set.K_Line_LID40 = 0x00u; /* 00 发动机种类 */ K_Line_Set.K_Line_LID40 = 0x00u; /* 00 发动机种类 */
K_Line_Set.K_Line_LID41 = 0x01u; /* 50 变速器种类&控制 /*初值50*/ K_Line_Set.K_Line_LID41 = 0x01u; /* 50 变速器种类&控制 /*初值50*/
K_Line_Set.K_Line_LID42 = 0x00u; /* 00 驻车管道 /*初值 0*/ K_Line_Set.K_Line_LID42 = 0x00u; /* 00 驻车管道 /*初值 0*/
K_Line_Set.K_Line_LID43 = 0x82u; /* 82 车型 /*初值44*/ K_Line_Set.K_Line_LID43 = 0x00u; /* 82 车型 /*初值44*/
K_Line_Set.K_Line_LID44 = 0xFFu; /* FF 速度警报 /*初值FF*/ K_Line_Set.K_Line_LID44 = 0xFFu; /* FF 速度警报 /*初值FF*/
K_Line_Set.K_Line_LID45 = 0x01u; /* FF 发动机转速 /*初值FF*/ K_Line_Set.K_Line_LID45 = 0xFFu; /* FF 发动机转速 /*初值FF*/
K_Line_Set.K_Line_LID46 = 0x01u; /* FF 急加速 /*初FF*/ K_Line_Set.K_Line_LID46 = 0xFFu; /* FF 急加速 /*初FF*/
K_Line_Set.K_Line_LID47 = 0x01u; /* FF 急减速 /*初值FF*/ K_Line_Set.K_Line_LID47 = 0xFFu; /* FF 急减速 /*初值FF*/
K_Line_Set.K_Line_LID48 = 0x01u; /* FF 长时间怠速 /*初值FF*/ K_Line_Set.K_Line_LID48 = 0xFFu; /* FF 长时间怠速 /*初值FF*/
K_Line_Set.K_Line_LID49 = 0x01u; /* FF 辅助驻车 /*初值FF*/ K_Line_Set.K_Line_LID49 = 0xFFu; /* FF 辅助驻车 /*初值FF*/
K_Line_Set.K_Line_LID4A = 0x32u; /* 37 变速箱油 55000 */ K_Line_Set.K_Line_LID4A = 0x32u; /* 37 变速箱油 55000 */
K_Line_Set.K_Line_LID4B = 0x32u; /* 37 差速器油 55000 */ K_Line_Set.K_Line_LID4B = 0x32u; /* 37 差速器油 55000 */
K_Line_Set.K_Line_LID4C = 0x32u; /* 37 离合器油 55000 */ K_Line_Set.K_Line_LID4C = 0x32u; /* 37 离合器油 55000 */
......
...@@ -23,7 +23,7 @@ uint16_t enableMaxTimer = KL15DTCEnableTimer; ...@@ -23,7 +23,7 @@ uint16_t enableMaxTimer = KL15DTCEnableTimer;
const uint8_t Ser22_DID_F187[13] = {0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20}; /*IC 零件号*/ const uint8_t Ser22_DID_F187[13] = {0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20}; /*IC 零件号*/
const uint8_t Ser22_DID_F18A[8] = {0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20}; /*系统供应商编号*/ const uint8_t Ser22_DID_F18A[8] = {0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20}; /*系统供应商编号*/
const uint8_t Ser22_DID_F18B[4] = {0x20, 0x21, 0x08, 0x03}; /*IC 生产日期*/ const uint8_t Ser22_DID_F18B[4] = {0x20, 0x24, 0x03, 0x26}; /*IC 生产日期*/
const uint8_t Ser22_DID_F18C[20] = {0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20}; const uint8_t Ser22_DID_F18C[20] = {0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20};
/*IC 系列号*/ /*IC 系列号*/
const uint8_t Ser22_DID_F190[17] = {0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20}; const uint8_t Ser22_DID_F190[17] = {0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20};
......
#include "UDS_22Service_Filter.h" #include "UDS_22Service_Filter.h"
uint8_t S22DLC[] = {2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2U, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u}; uint8_t S22DLC[] =
uint16_t S22DID[] = {0xF180u, 0xF181u, 0xF182u, 0xF183u, 0xF184u, 0xF185u, 0xF187u, 0xF18Au, 0xF18Bu, 0xF18Cu, 0xF190u, 0xF193u, 0xF195u, 0xF1F0u, 0xF1F1u, 0x6000u, 0x6001u, 0x6078u, 0x6079u, 0x607Au, 0x607Bu, 0x607Cu, 0x607Du, 0x60C8u, 0x6005u, 0x600Bu, 0x607Eu, 0x607Fu, 0x6080u, 0x6002u, 0x600Fu, 0x6011u, 0x600Eu, 0x6081u, 0x6009u, 0x6010u, 0x6082u, 0x6083u, 0x6084u, 0x600Au, 0x6085u, 0x6086u, 0x6087u, 0x6088u, 0x6089u, 0x608Au, 0x608Bu, 0x608Cu, 0x608Du, 0x608Eu, 0x6029u, 0x6090u, 0x6013u, 0x602Au, 0x6023u, 0x602Cu, 0x60A2u, 0x60ABu, 0x60ACu, 0x605Cu, 0x605Du, 0x605Eu, 0x605Fu, 0x6060u, 0x6062u, 0x6063u, 0x6064u, 0x6065u, 0x6066u, 0x6068u, 0x6069u, 0x606Du, 0x606Eu, 0x606Fu, 0x6070u, 0x6071u, 0x6072u, 0x6073u, 0x6074u, 0x6075u, 0x6076u, 0x6077u, 0x60C9u, 0x60CAu, 0x60CBu, 0x60CCu, 0x60CDu, 0x60CEu, 0x60CFu, 0x60D0u, 0x60D1u, 0x60D2u}; {
2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u,
2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u,
2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u,
2U, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u,
2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u,
2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u,
2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u,
2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u,
2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u, 2u,
2u, 2u
};
uint16_t S22DID[] =
{
0xF180u, 0xF181u, 0xF182u, 0xF183u, 0xF184u, 0xF185u, 0xF187u, 0xF18Au, 0xF18Bu, 0xF18Cu,
0xF190u, 0xF193u, 0xF195u, 0xF1F0u, 0xF1F1u, 0x6000u, 0x6001u, 0x6078u, 0x6079u, 0x607Au,
0x607Bu, 0x607Cu, 0x607Du, 0x60C8u, 0x6005u, 0x600Bu, 0x607Eu, 0x607Fu, 0x6080u, 0x6002u,
0x600Fu, 0x6011u, 0x600Eu, 0x6081u, 0x6009u, 0x6010u, 0x6082u, 0x6083u, 0x6084u, 0x600Au,
0x6085u, 0x6086u, 0x6087u, 0x6088u, 0x6089u, 0x608Au, 0x608Bu, 0x608Cu, 0x608Du, 0x608Eu,
0x6029u, 0x6090u, 0x6013u, 0x602Au, 0x6023u, 0x602Cu, 0x60A2u, 0x60ABu, 0x60ACu, 0x605Cu,
0x605Du, 0x605Eu, 0x605Fu, 0x6060u, 0x6062u, 0x6063u, 0x6064u, 0x6065u, 0x6066u, 0x6068u,
0x6069u, 0x606Du, 0x606Eu, 0x606Fu, 0x6070u, 0x6071u, 0x6072u, 0x6073u, 0x6074u, 0x6075u,
0x6076u, 0x6077u, 0x60C9u, 0x60CAu, 0x60CBu, 0x60CCu, 0x60CDu, 0x60CEu, 0x60CFu, 0x60D0u,
0x60D1u, 0x60D2u
};
/** /**
*22服务是否支持功能寻址 *22服务是否支持功能寻址
...@@ -42,7 +66,7 @@ uint8_t UDS_22Service_NRC33(void) ...@@ -42,7 +66,7 @@ uint8_t UDS_22Service_NRC33(void)
uint8_t UDS_22Service_NRC13_MinLengthCheck(void) uint8_t UDS_22Service_NRC13_MinLengthCheck(void)
{ {
uint8_t NRC = positiveResponse; uint8_t NRC = positiveResponse;
if(DiagMSG.msgDLC < 2u) if (DiagMSG.msgDLC < 2u)
{ {
NRC = incorrectMessageLength; NRC = incorrectMessageLength;
UDS_Service_Response(0x22u, NEGATIVE_RSP, DIAG_ID_Tx, 1u, (uint8_t*)&NRC); UDS_Service_Response(0x22u, NEGATIVE_RSP, DIAG_ID_Tx, 1u, (uint8_t*)&NRC);
...@@ -64,18 +88,25 @@ uint8_t UDS_22Service_NRC31(void) ...@@ -64,18 +88,25 @@ uint8_t UDS_22Service_NRC31(void)
uint8_t i; uint8_t i;
uint8_t NRC = requestOutOfRange; uint8_t NRC = requestOutOfRange;
uint8_t count = 0u; uint8_t count = 0u;
count = sizeof(S22DID); count = DIM(S22DID);
for(i = 0u; i < count; ++i) if (App_TYWUDS_GetStatus() == 1)
{ {
if(getDID(DiagMSG.msgData.DidDetail.DID_H, DiagMSG.msgData.DidDetail.DID_L) == S22DID[i]) NRC = positiveResponse;
}
else
{
for (i = 0u; i < count; ++i)
{ {
NRC = positiveResponse; if (getDID(DiagMSG.msgData.DidDetail.DID_H, DiagMSG.msgData.DidDetail.DID_L) == S22DID[i])
break; {
NRC = positiveResponse;
break;
}
} }
} }
//NRC = requestOutOfRange; //NRC = requestOutOfRange;
if((NRC == requestOutOfRange) && (DiagMSG.msgID == DIAG_ID_Rx_PHY)) if ((NRC == requestOutOfRange) && (DiagMSG.msgID == DIAG_ID_Rx_PHY))
{ {
UDS_Service_Response(0x22u, NEGATIVE_RSP, DIAG_ID_Tx, 1u, (uint8_t*)&NRC); UDS_Service_Response(0x22u, NEGATIVE_RSP, DIAG_ID_Tx, 1u, (uint8_t*)&NRC);
} }
...@@ -90,7 +121,7 @@ uint8_t UDS_22Service_NRC13_TotalLengthCheck(void) ...@@ -90,7 +121,7 @@ uint8_t UDS_22Service_NRC13_TotalLengthCheck(void)
{ {
uint8_t i; uint8_t i;
uint8_t NRC = positiveResponse; uint8_t NRC = positiveResponse;
if(DiagMSG.msgDLC != 2u) if (DiagMSG.msgDLC != 2u)
{ {
NRC = incorrectMessageLength; NRC = incorrectMessageLength;
UDS_Service_Response(0x22u, NEGATIVE_RSP, DIAG_ID_Tx, 1u, (uint8_t*)&NRC); UDS_Service_Response(0x22u, NEGATIVE_RSP, DIAG_ID_Tx, 1u, (uint8_t*)&NRC);
...@@ -99,22 +130,22 @@ uint8_t UDS_22Service_NRC13_TotalLengthCheck(void) ...@@ -99,22 +130,22 @@ uint8_t UDS_22Service_NRC13_TotalLengthCheck(void)
{ {
NRC = positiveResponse; NRC = positiveResponse;
} }
/* for(i = 0u; i < DIM(S22DID); ++i) /* for(i = 0u; i < DIM(S22DID); ++i)
{ {
if(getDID(DiagMSG.msgData.DidDetail.DID_H, DiagMSG.msgData.DidDetail.DID_L) == S22DID[i]) if(getDID(DiagMSG.msgData.DidDetail.DID_H, DiagMSG.msgData.DidDetail.DID_L) == S22DID[i])
{ {
if(DiagMSG.msgDLC != S22DLC[i]) if(DiagMSG.msgDLC != S22DLC[i])
{ {
NRC = incorrectMessageLength; NRC = incorrectMessageLength;
UDS_Service_Response(0x22u, NEGATIVE_RSP, DIAG_ID_Tx, 1u, (uint8_t*)&NRC); UDS_Service_Response(0x22u, NEGATIVE_RSP, DIAG_ID_Tx, 1u, (uint8_t*)&NRC);
} }
else else
{ {
NRC = positiveResponse; NRC = positiveResponse;
} }
break; break;
} }
}*/ }*/
return NRC; return NRC;
} }
......
#include "UDS_22Service_Main.h" #include "UDS_22Service_Main.h"
const uint8_t TYW_UDS_BWVersion[7] = "BV:1.00"; // TYW BOOT -- 00 01
const uint8_t TYW_UDS_SWVersion[7] = "SV:1.10"; // TYW Software -- 00 02
const uint8_t TYW_UDS_HWVersion[7] = "HV:1.03"; // TYW Hardware -- 00 03
const uint8_t TYW_UDS_FWVersion[7] = "FV:1.06"; // TYW Flash -- 00 04
const uint8_t TYW_UDS_BLVersion[7] = "BL:-.--"; // TYW BL -- 00 05
const uint8_t TYW_UDS_ProgrammingDate[8] = "20240326"; // TYW Compilation Date -- 00 06
const uint8_t TYW_UDS_FUVersion[7] = "FU:1.50"; // TYW FUEL -- 00 07
/** /**
*22服务函数入口 *22服务函数入口
...@@ -11,31 +18,31 @@ void UDS_Service_22_Indication(uint32_t A_TA_type, uint16_t A_Length, uint8_t A_ ...@@ -11,31 +18,31 @@ void UDS_Service_22_Indication(uint32_t A_TA_type, uint16_t A_Length, uint8_t A_
{ {
uint8_t NRC = positiveResponse; uint8_t NRC = positiveResponse;
setDiagMSG(A_TA_type, A_Length, A_Data); setDiagMSG(A_TA_type, A_Length, A_Data);
if(NRC == positiveResponse) if (NRC == positiveResponse)
{ {
NRC = UDS_22Service_NRC11(); /*22服务是否支持功能寻址*/ NRC = UDS_22Service_NRC11(); /*22服务是否支持功能寻址*/
} }
if(NRC == positiveResponse) if (NRC == positiveResponse)
{ {
NRC = UDS_22Service_NRC7F(); /*22服务会话是否支持验证*/ NRC = UDS_22Service_NRC7F(); /*22服务会话是否支持验证*/
} }
if(NRC == positiveResponse) if (NRC == positiveResponse)
{ {
NRC = UDS_22Service_NRC31(); /*22服务超出请求范围验证*/ NRC = UDS_22Service_NRC31(); /*22服务超出请求范围验证*/
} }
if(NRC == positiveResponse) if (NRC == positiveResponse)
{ {
NRC = UDS_22Service_NRC13_TotalLengthCheck(); /*22服务总长度长度验证*/ NRC = UDS_22Service_NRC13_TotalLengthCheck(); /*22服务总长度长度验证*/
} }
if(NRC == positiveResponse) if (NRC == positiveResponse)
{ {
NRC = UDS_22Service_NRC33(); /*22服务解锁等级验证*/ NRC = UDS_22Service_NRC33(); /*22服务解锁等级验证*/
} }
if(NRC == positiveResponse) if (NRC == positiveResponse)
{ {
NRC = UDS_22Service_NRC22(); /*22服务条件验证*/ NRC = UDS_22Service_NRC22(); /*22服务条件验证*/
} }
if(NRC == positiveResponse) if (NRC == positiveResponse)
{ {
UDS_22Service_DID(); /*22服务DID判断*/ UDS_22Service_DID(); /*22服务DID判断*/
} }
...@@ -52,7 +59,7 @@ void UDS_22Service_DID(void) ...@@ -52,7 +59,7 @@ void UDS_22Service_DID(void)
//ReadDFlashData(EEPROM_BLOCK_UDS_S2E, (uint32_t *)&BootToDFlashInfo.Flag, sizeof(BootToDFlashInfo) / 4u, BootToDFlashInfoInit); //ReadDFlashData(EEPROM_BLOCK_UDS_S2E, (uint32_t *)&BootToDFlashInfo.Flag, sizeof(BootToDFlashInfo) / 4u, BootToDFlashInfoInit);
ReadDFlashData(EEPROM_BLOCK_UDS_S2E, (uint32_t *)&Ser2EToDFlashInfo.Flag, sizeof(Ser2EToDFlashInfo) / 4u, Ser2EToDFlashInfoInit); ReadDFlashData(EEPROM_BLOCK_UDS_S2E, (uint32_t *)&Ser2EToDFlashInfo.Flag, sizeof(Ser2EToDFlashInfo) / 4u, Ser2EToDFlashInfoInit);
ReadDFlashData(EEPROM_BLOCK_UDS_CONFIG, (uint32_t *)&EOL_Data_Type.Flag, sizeof(EOL_Data_Type) / 4u, EOL_InitVal); ReadDFlashData(EEPROM_BLOCK_UDS_CONFIG, (uint32_t *)&EOL_Data_Type.Flag, sizeof(EOL_Data_Type) / 4u, EOL_InitVal);
switch(getDID(DiagMSG.msgData.DidDetail.DID_H, DiagMSG.msgData.DidDetail.DID_L))/*22服务DID判断*/ switch (getDID(DiagMSG.msgData.DidDetail.DID_H, DiagMSG.msgData.DidDetail.DID_L)) /*22服务DID判断*/
{ {
case 0xF180u: case 0xF180u:
UDS_22Service_DID_F180(); /*引导软件标识*/ UDS_22Service_DID_F180(); /*引导软件标识*/
...@@ -330,6 +337,27 @@ void UDS_22Service_DID(void) ...@@ -330,6 +337,27 @@ void UDS_22Service_DID(void)
case 0X60D2u: case 0X60D2u:
UDS_22Service_DID_60D2(); /*电池管理系统 */ UDS_22Service_DID_60D2(); /*电池管理系统 */
break; break;
case 0X0001u:
UDS_22Service_DID_01(); /**/
break;
case 0X0002u:
UDS_22Service_DID_02(); /**/
break;
case 0X0003u:
UDS_22Service_DID_03(); /**/
break;
case 0X0004u:
UDS_22Service_DID_04(); /**/
break;
case 0X0005u:
UDS_22Service_DID_05(); /**/
break;
case 0X0006u:
UDS_22Service_DID_06(); /**/
break;
case 0X0007u:
UDS_22Service_DID_07(); /**/
break;
default: default:
break; break;
} }
...@@ -516,7 +544,7 @@ void UDS_22Service_DID_6078(void) ...@@ -516,7 +544,7 @@ void UDS_22Service_DID_6078(void)
/** /**
*22服务DID6079 *22服务DID6079
* 轴差速锁信号 * 轴差速锁信号
*/ */
void UDS_22Service_DID_6079(void) void UDS_22Service_DID_6079(void)
{ {
...@@ -525,7 +553,7 @@ void UDS_22Service_DID_6079(void) ...@@ -525,7 +553,7 @@ void UDS_22Service_DID_6079(void)
/** /**
*22服务DID607A *22服务DID607A
* 行车取力 * 行车取力
*/ */
void UDS_22Service_DID_607A(void) void UDS_22Service_DID_607A(void)
{ {
...@@ -534,7 +562,7 @@ void UDS_22Service_DID_607A(void) ...@@ -534,7 +562,7 @@ void UDS_22Service_DID_607A(void)
/** /**
*22服务DID607B *22服务DID607B
* 停车取力 * 停车取力
*/ */
void UDS_22Service_DID_607B(void) void UDS_22Service_DID_607B(void)
{ {
...@@ -543,7 +571,7 @@ void UDS_22Service_DID_607B(void) ...@@ -543,7 +571,7 @@ void UDS_22Service_DID_607B(void)
/** /**
*22服务DID607C *22服务DID607C
* ADR 工作异常信号 * ADR 工作异常信号
*/ */
void UDS_22Service_DID_607C(void) void UDS_22Service_DID_607C(void)
{ {
...@@ -552,7 +580,7 @@ void UDS_22Service_DID_607C(void) ...@@ -552,7 +580,7 @@ void UDS_22Service_DID_607C(void)
/** /**
*22服务DID607D *22服务DID607D
* 燃气泄漏传感器 1 报警信号 * 燃气泄漏传感器 1 报警信号
*/ */
void UDS_22Service_DID_607D(void) void UDS_22Service_DID_607D(void)
{ {
...@@ -561,7 +589,7 @@ void UDS_22Service_DID_607D(void) ...@@ -561,7 +589,7 @@ void UDS_22Service_DID_607D(void)
/** /**
*22服务DID60C8 *22服务DID60C8
* 燃气泄漏传感器 2 报警信号 * 燃气泄漏传感器 2 报警信号
*/ */
void UDS_22Service_DID_60C8(void) void UDS_22Service_DID_60C8(void)
{ {
...@@ -570,7 +598,7 @@ void UDS_22Service_DID_60C8(void) ...@@ -570,7 +598,7 @@ void UDS_22Service_DID_60C8(void)
/** /**
*22服务DID6005 *22服务DID6005
* 全轮驱动工作信号 * 全轮驱动工作信号
*/ */
void UDS_22Service_DID_6005(void) void UDS_22Service_DID_6005(void)
{ {
...@@ -579,7 +607,7 @@ void UDS_22Service_DID_6005(void) ...@@ -579,7 +607,7 @@ void UDS_22Service_DID_6005(void)
/** /**
*22服务DID600B *22服务DID600B
* 分动器低档位信号 * 分动器低档位信号
*/ */
void UDS_22Service_DID_600B(void) void UDS_22Service_DID_600B(void)
{ {
...@@ -588,7 +616,7 @@ void UDS_22Service_DID_600B(void) ...@@ -588,7 +616,7 @@ void UDS_22Service_DID_600B(void)
/** /**
*22服务DID607E *22服务DID607E
* 挂车ABS指示信号 * 挂车ABS指示信号
*/ */
void UDS_22Service_DID_607E(void) void UDS_22Service_DID_607E(void)
{ {
...@@ -597,7 +625,7 @@ void UDS_22Service_DID_607E(void) ...@@ -597,7 +625,7 @@ void UDS_22Service_DID_607E(void)
/** /**
*22服务DID607F *22服务DID607F
* 蜂鸣器输入 * 蜂鸣器输入
*/ */
void UDS_22Service_DID_607F(void) void UDS_22Service_DID_607F(void)
{ {
...@@ -606,7 +634,7 @@ void UDS_22Service_DID_607F(void) ...@@ -606,7 +634,7 @@ void UDS_22Service_DID_607F(void)
/** /**
*22服务DID6080 *22服务DID6080
* 喷淋壶液位低报警 * 喷淋壶液位低报警
*/ */
void UDS_22Service_DID_6080(void) void UDS_22Service_DID_6080(void)
{ {
...@@ -615,7 +643,7 @@ void UDS_22Service_DID_6080(void) ...@@ -615,7 +643,7 @@ void UDS_22Service_DID_6080(void)
/** /**
*22服务DID6002 *22服务DID6002
* 主驾安全带开关信号 * 主驾安全带开关信号
*/ */
void UDS_22Service_DID_6002(void) void UDS_22Service_DID_6002(void)
{ {
...@@ -624,7 +652,7 @@ void UDS_22Service_DID_6002(void) ...@@ -624,7 +652,7 @@ void UDS_22Service_DID_6002(void)
/** /**
*22服务DID600F *22服务DID600F
* 驾驶室翻转信号 * 驾驶室翻转信号
*/ */
void UDS_22Service_DID_600F(void) void UDS_22Service_DID_600F(void)
{ {
...@@ -633,7 +661,7 @@ void UDS_22Service_DID_600F(void) ...@@ -633,7 +661,7 @@ void UDS_22Service_DID_600F(void)
/** /**
*22服务DID6011 *22服务DID6011
* 车厢举升信号 * 车厢举升信号
*/ */
void UDS_22Service_DID_6011(void) void UDS_22Service_DID_6011(void)
{ {
...@@ -642,7 +670,7 @@ void UDS_22Service_DID_6011(void) ...@@ -642,7 +670,7 @@ void UDS_22Service_DID_6011(void)
/** /**
*22服务DID600E *22服务DID600E
* 空滤器阻塞报警开关信号 * 空滤器阻塞报警开关信号
*/ */
void UDS_22Service_DID_600E(void) void UDS_22Service_DID_600E(void)
{ {
...@@ -651,7 +679,7 @@ void UDS_22Service_DID_600E(void) ...@@ -651,7 +679,7 @@ void UDS_22Service_DID_600E(void)
/** /**
*22服务DID6081 *22服务DID6081
* 冷却液液位过低报警信号 * 冷却液液位过低报警信号
*/ */
void UDS_22Service_DID_6081(void) void UDS_22Service_DID_6081(void)
{ {
...@@ -660,7 +688,7 @@ void UDS_22Service_DID_6081(void) ...@@ -660,7 +688,7 @@ void UDS_22Service_DID_6081(void)
/** /**
*22服务DID6009 *22服务DID6009
* 机械变速器低档信号 * 机械变速器低档信号
*/ */
void UDS_22Service_DID_6009(void) void UDS_22Service_DID_6009(void)
{ {
...@@ -669,7 +697,7 @@ void UDS_22Service_DID_6009(void) ...@@ -669,7 +697,7 @@ void UDS_22Service_DID_6009(void)
/** /**
*22服务DID6010 *22服务DID6010
* 发电机充电指示信号(预留) * 发电机充电指示信号(预留)
*/ */
void UDS_22Service_DID_6010(void) void UDS_22Service_DID_6010(void)
{ {
...@@ -876,7 +904,7 @@ void UDS_22Service_DID_60AB(void) ...@@ -876,7 +904,7 @@ void UDS_22Service_DID_60AB(void)
/** /**
*22服务DID60AC *22服务DID60AC
* 后轮转向报警指示灯(预留) * 后轮转向报警指示灯(预留)
*/ */
void UDS_22Service_DID_60AC(void) void UDS_22Service_DID_60AC(void)
{ {
...@@ -885,7 +913,7 @@ void UDS_22Service_DID_60AC(void) ...@@ -885,7 +913,7 @@ void UDS_22Service_DID_60AC(void)
/** /**
*22服务DID605C *22服务DID605C
* LDWS(车道偏离)系统开关 * LDWS(车道偏离)系统开关
*/ */
void UDS_22Service_DID_605C(void) void UDS_22Service_DID_605C(void)
{ {
...@@ -894,7 +922,7 @@ void UDS_22Service_DID_605C(void) ...@@ -894,7 +922,7 @@ void UDS_22Service_DID_605C(void)
/** /**
*22服务DID605D *22服务DID605D
* AFS 系统开关 * AFS 系统开关
*/ */
void UDS_22Service_DID_605D(void) void UDS_22Service_DID_605D(void)
{ {
...@@ -903,7 +931,7 @@ void UDS_22Service_DID_605D(void) ...@@ -903,7 +931,7 @@ void UDS_22Service_DID_605D(void)
/** /**
*22服务DID605E *22服务DID605E
* HUD 系统开关 * HUD 系统开关
*/ */
void UDS_22Service_DID_605E(void) void UDS_22Service_DID_605E(void)
{ {
...@@ -913,7 +941,7 @@ void UDS_22Service_DID_605E(void) ...@@ -913,7 +941,7 @@ void UDS_22Service_DID_605E(void)
/** /**
*22服务DID605F *22服务DID605F
* ACC 系统开关 * ACC 系统开关
*/ */
void UDS_22Service_DID_605F(void) void UDS_22Service_DID_605F(void)
{ {
...@@ -923,7 +951,7 @@ void UDS_22Service_DID_605F(void) ...@@ -923,7 +951,7 @@ void UDS_22Service_DID_605F(void)
/** /**
*22服务DID6060 *22服务DID6060
* 称重系统开关 * 称重系统开关
*/ */
void UDS_22Service_DID_6060(void) void UDS_22Service_DID_6060(void)
{ {
...@@ -963,7 +991,7 @@ void UDS_22Service_DID_6064(void) ...@@ -963,7 +991,7 @@ void UDS_22Service_DID_6064(void)
/** /**
*22服务DID6065 *22服务DID6065
* 气量(LNG) * 气量(LNG)
*/ */
void UDS_22Service_DID_6065(void) void UDS_22Service_DID_6065(void)
{ {
...@@ -973,7 +1001,7 @@ void UDS_22Service_DID_6065(void) ...@@ -973,7 +1001,7 @@ void UDS_22Service_DID_6065(void)
/** /**
*22服务DID6066 *22服务DID6066
* 气量(CNG) * 气量(CNG)
*/ */
void UDS_22Service_DID_6066(void) void UDS_22Service_DID_6066(void)
{ {
...@@ -983,7 +1011,7 @@ void UDS_22Service_DID_6066(void) ...@@ -983,7 +1011,7 @@ void UDS_22Service_DID_6066(void)
/** /**
*22服务DID6068 *22服务DID6068
* 语言 * 语言
*/ */
void UDS_22Service_DID_6068(void) void UDS_22Service_DID_6068(void)
{ {
...@@ -993,7 +1021,7 @@ void UDS_22Service_DID_6068(void) ...@@ -993,7 +1021,7 @@ void UDS_22Service_DID_6068(void)
/** /**
*22服务DID6069 *22服务DID6069
* 钥匙开关 ON 档 * 钥匙开关 ON 档
*/ */
void UDS_22Service_DID_6069(void) void UDS_22Service_DID_6069(void)
{ {
...@@ -1004,7 +1032,7 @@ void UDS_22Service_DID_6069(void) ...@@ -1004,7 +1032,7 @@ void UDS_22Service_DID_6069(void)
/** /**
*22服务DID606D *22服务DID606D
* 轮胎防盗使能开关 * 轮胎防盗使能开关
*/ */
void UDS_22Service_DID_606D(void) void UDS_22Service_DID_606D(void)
{ {
...@@ -1014,7 +1042,7 @@ void UDS_22Service_DID_606D(void) ...@@ -1014,7 +1042,7 @@ void UDS_22Service_DID_606D(void)
/** /**
*22服务DID606E *22服务DID606E
* 换挡提示设置 * 换挡提示设置
*/ */
void UDS_22Service_DID_606E(void) void UDS_22Service_DID_606E(void)
{ {
...@@ -1024,7 +1052,7 @@ void UDS_22Service_DID_606E(void) ...@@ -1024,7 +1052,7 @@ void UDS_22Service_DID_606E(void)
/** /**
*22服务DID606F *22服务DID606F
* 油箱容量设置 * 油箱容量设置
*/ */
void UDS_22Service_DID_606F(void) void UDS_22Service_DID_606F(void)
{ {
...@@ -1034,7 +1062,7 @@ void UDS_22Service_DID_606F(void) ...@@ -1034,7 +1062,7 @@ void UDS_22Service_DID_606F(void)
/** /**
*22服务DID6070 *22服务DID6070
* HAS 系统开关 * HAS 系统开关
*/ */
void UDS_22Service_DID_6070(void) void UDS_22Service_DID_6070(void)
{ {
...@@ -1044,7 +1072,7 @@ void UDS_22Service_DID_6070(void) ...@@ -1044,7 +1072,7 @@ void UDS_22Service_DID_6070(void)
/** /**
*22服务DID6071 *22服务DID6071
* ESC 系统开关 * ESC 系统开关
*/ */
void UDS_22Service_DID_6071(void) void UDS_22Service_DID_6071(void)
{ {
...@@ -1054,7 +1082,7 @@ void UDS_22Service_DID_6071(void) ...@@ -1054,7 +1082,7 @@ void UDS_22Service_DID_6071(void)
/** /**
*22服务DID6072 *22服务DID6072
* 盘式制动磨损报警功能 * 盘式制动磨损报警功能
*/ */
void UDS_22Service_DID_6072(void) void UDS_22Service_DID_6072(void)
{ {
...@@ -1064,7 +1092,7 @@ void UDS_22Service_DID_6072(void) ...@@ -1064,7 +1092,7 @@ void UDS_22Service_DID_6072(void)
/** /**
*22服务DID6073 *22服务DID6073
* 挂车设置 * 挂车设置
*/ */
void UDS_22Service_DID_6073(void) void UDS_22Service_DID_6073(void)
{ {
...@@ -1074,7 +1102,7 @@ void UDS_22Service_DID_6073(void) ...@@ -1074,7 +1102,7 @@ void UDS_22Service_DID_6073(void)
/** /**
*22服务DID6074 *22服务DID6074
* 排放配置 * 排放配置
*/ */
void UDS_22Service_DID_6074(void) void UDS_22Service_DID_6074(void)
{ {
...@@ -1084,7 +1112,7 @@ void UDS_22Service_DID_6074(void) ...@@ -1084,7 +1112,7 @@ void UDS_22Service_DID_6074(void)
/** /**
*22服务DID6075 *22服务DID6075
* 超速报警车型信号 * 超速报警车型信号
*/ */
void UDS_22Service_DID_6075(void) void UDS_22Service_DID_6075(void)
{ {
...@@ -1095,7 +1123,7 @@ void UDS_22Service_DID_6075(void) ...@@ -1095,7 +1123,7 @@ void UDS_22Service_DID_6075(void)
/** /**
*22服务DID6076 *22服务DID6076
* 总里程(注:当总里程被写成任何值时,短里程都应该为 0) * 总里程(注:当总里程被写成任何值时,短里程都应该为 0)
*/ */
void UDS_22Service_DID_6076(void) void UDS_22Service_DID_6076(void)
{ {
uint32_t Odometer; uint32_t Odometer;
...@@ -1113,7 +1141,7 @@ void UDS_22Service_DID_6076(void) ...@@ -1113,7 +1141,7 @@ void UDS_22Service_DID_6076(void)
*/ */
void UDS_22Service_DID_6077(void) void UDS_22Service_DID_6077(void)
{ {
// memcpy(DiagMSG.msgData.DidDetail.Data, &Ser2EToDFlashInfo.DID_6077, 1); // memcpy(DiagMSG.msgData.DidDetail.Data, &Ser2EToDFlashInfo.DID_6077, 1);
DiagMSG.msgData.DidDetail.Data[0] = 0; DiagMSG.msgData.DidDetail.Data[0] = 0;
UDS_Service_Response(0x22u, POSITIVE_RSP, DIAG_ID_Tx, 2u + 1u, DiagMSG.msgData.Data); UDS_Service_Response(0x22u, POSITIVE_RSP, DIAG_ID_Tx, 2u + 1u, DiagMSG.msgData.Data);
} }
...@@ -1151,7 +1179,7 @@ void UDS_22Service_DID_60CB(void) ...@@ -1151,7 +1179,7 @@ void UDS_22Service_DID_60CB(void)
/** /**
*22服务DID60CC *22服务DID60CC
* 油箱类型 * 油箱类型
*/ */
void UDS_22Service_DID_60CC(void) void UDS_22Service_DID_60CC(void)
{ {
...@@ -1181,7 +1209,7 @@ void UDS_22Service_DID_60CE(void) ...@@ -1181,7 +1209,7 @@ void UDS_22Service_DID_60CE(void)
/** /**
*22服务DID60CF *22服务DID60CF
* 驱动能源类型 * 驱动能源类型
*/ */
void UDS_22Service_DID_60CF(void) void UDS_22Service_DID_60CF(void)
{ {
...@@ -1191,7 +1219,7 @@ void UDS_22Service_DID_60CF(void) ...@@ -1191,7 +1219,7 @@ void UDS_22Service_DID_60CF(void)
/** /**
*22服务DID60D0 *22服务DID60D0
* 驱动形式 * 驱动形式
*/ */
void UDS_22Service_DID_60D0(void) void UDS_22Service_DID_60D0(void)
{ {
...@@ -1219,23 +1247,44 @@ void UDS_22Service_DID_60D2(void) ...@@ -1219,23 +1247,44 @@ void UDS_22Service_DID_60D2(void)
UDS_Service_Response(0x22u, POSITIVE_RSP, DIAG_ID_Tx, 2u + 1u, DiagMSG.msgData.Data); UDS_Service_Response(0x22u, POSITIVE_RSP, DIAG_ID_Tx, 2u + 1u, DiagMSG.msgData.Data);
} }
void UDS_22Service_DID_01(void)
{
memcpy(DiagMSG.msgData.DidDetail.Data, TYW_UDS_BWVersion, sizeof(TYW_UDS_BWVersion));
UDS_Service_Response(0x22u, POSITIVE_RSP, DIAG_ID_Tx, 2u + sizeof(TYW_UDS_BWVersion), DiagMSG.msgData.Data);
}
void UDS_22Service_DID_02(void)
{
memcpy(DiagMSG.msgData.DidDetail.Data, TYW_UDS_SWVersion, sizeof(TYW_UDS_SWVersion));
UDS_Service_Response(0x22u, POSITIVE_RSP, DIAG_ID_Tx, 2u + sizeof(TYW_UDS_SWVersion), DiagMSG.msgData.Data);
}
void UDS_22Service_DID_03(void)
{
memcpy(DiagMSG.msgData.DidDetail.Data, TYW_UDS_HWVersion, sizeof(TYW_UDS_HWVersion));
UDS_Service_Response(0x22u, POSITIVE_RSP, DIAG_ID_Tx, 2u + sizeof(TYW_UDS_HWVersion), DiagMSG.msgData.Data);
}
void UDS_22Service_DID_04(void)
{
memcpy(DiagMSG.msgData.DidDetail.Data, &TYW_UDS_FWVersion, sizeof(TYW_UDS_FWVersion));
UDS_Service_Response(0x22u, POSITIVE_RSP, DIAG_ID_Tx, 2u + sizeof(TYW_UDS_FWVersion), DiagMSG.msgData.Data);
}
void UDS_22Service_DID_05(void)
{
memcpy(DiagMSG.msgData.DidDetail.Data, TYW_UDS_BLVersion, sizeof(TYW_UDS_BLVersion));
UDS_Service_Response(0x22u, POSITIVE_RSP, DIAG_ID_Tx, 2u + sizeof(TYW_UDS_BLVersion), DiagMSG.msgData.Data);
}
void UDS_22Service_DID_06(void)
{
memcpy(DiagMSG.msgData.DidDetail.Data, TYW_UDS_ProgrammingDate, sizeof(TYW_UDS_ProgrammingDate));
UDS_Service_Response(0x22u, POSITIVE_RSP, DIAG_ID_Tx, 2u + sizeof(TYW_UDS_ProgrammingDate), DiagMSG.msgData.Data);
}
void UDS_22Service_DID_07(void)
{
memcpy(DiagMSG.msgData.DidDetail.Data, TYW_UDS_FUVersion, sizeof(TYW_UDS_FUVersion));
UDS_Service_Response(0x22u, POSITIVE_RSP, DIAG_ID_Tx, 2u + sizeof(TYW_UDS_FUVersion), DiagMSG.msgData.Data);
}
\ No newline at end of file
...@@ -106,4 +106,11 @@ void UDS_22Service_DID_60CF(void); ...@@ -106,4 +106,11 @@ void UDS_22Service_DID_60CF(void);
void UDS_22Service_DID_60D0(void); /*������ʽ */ void UDS_22Service_DID_60D0(void); /*������ʽ */
void UDS_22Service_DID_60D1(void); /*�������� */ void UDS_22Service_DID_60D1(void); /*�������� */
void UDS_22Service_DID_60D2(void); /*��ع���ϵͳ */ void UDS_22Service_DID_60D2(void); /*��ع���ϵͳ */
void UDS_22Service_DID_01(void);
void UDS_22Service_DID_02(void);
void UDS_22Service_DID_03(void);
void UDS_22Service_DID_04(void);
void UDS_22Service_DID_05(void);
void UDS_22Service_DID_06(void);
void UDS_22Service_DID_07(void);
#endif #endif
...@@ -289,6 +289,7 @@ void Sys_Run_Mode_100ms_Tasks(void) ...@@ -289,6 +289,7 @@ void Sys_Run_Mode_100ms_Tasks(void)
Gui_Display_Test(); Gui_Display_Test();
Gui_9810_Test(); Gui_9810_Test();
App_TYWUDS_SetStatus(Line_In_Get_Status(LINE_IN_HI_BEAM), 50);
//YZHD_Count++; //YZHD_Count++;
//if (YZHD_Count == 20) //if (YZHD_Count == 20)
//{ //{
......
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