#include "UDS_2FService_Main.h" /** *2F服务函数入口 *@param A_TA_type 收到数据的地址 *@param A_Length 收到数据的长度 *@param A_Data 收到数据的数据 */ void UDS_Service_2F_Indication(uint32_t A_TA_type, uint16_t A_Length, uint8_t A_Data[]) { uint8_t NRC = positiveResponse; setDiagMSG(A_TA_type, A_Length, A_Data); if(NRC == positiveResponse) { NRC = UDS_2FService_NRC11(); /*2F服务是否支持功能寻址*/ } if(NRC == positiveResponse) { NRC = UDS_2FService_NRC7F(); /*2F服务会话是否支持验证*/ } if(NRC == positiveResponse) { NRC = UDS_2FService_NRC13_MinLengthCheck(); /*2F服务最小长度验证*/ } if(NRC == positiveResponse) { NRC = UDS_2FService_NRC31(); /*2F服务超出请求范围验证*/ } if(NRC == positiveResponse) { NRC = UDS_2FService_NRC13_TotalLengthCheck(); /*2F服务总长度长度验证*/ } if(NRC == positiveResponse) { NRC = UDS_2FService_NRC33(); /*2F服务解锁等级验证*/ } if(NRC == positiveResponse) { NRC = UDS_2FService_NRC22(); /*2F服务条件验证*/ } if(NRC == positiveResponse) { NRC = UDS_2FService_SubParameter_NRC31(); /*2F服务条件验证*/ } if(NRC == positiveResponse) { UDS_2FService_DID(); /*2F服务DID判断*/ } clearDiagMSG(); /*清除诊断信息*/ } /** *2F服务子功能 */ void UDS_2FService_DID(void) { switch(getDID(DiagMSG.msgData.DidDetail.DID_H, DiagMSG.msgData.DidDetail.DID_L))/*2F服务DID判断*/ { case 0x6048u: UDS_2FService_DID_6048(); break; case 0x6091u: UDS_2FService_DID_6048(); break; case 0x6046u: UDS_2FService_DID_6046(); break; case 0x6040u: UDS_2FService_DID_6040(); break; case 0x6092u: UDS_2FService_DID_6092(); break; case 0x6020u: UDS_2FService_DID_6020(); break; case 0x6093u: UDS_2FService_DID_6093(); break; case 0x6021u: UDS_2FService_DID_6021(); break; case 0x6094u: UDS_2FService_DID_6094(); break; case 0x601Bu: UDS_2FService_DID_601B(); break; case 0x601Cu: UDS_2FService_DID_601C(); break; case 0x601Du: UDS_2FService_DID_601D(); break; case 0x601Eu: UDS_2FService_DID_601E(); break; case 0x6038u: UDS_2FService_DID_6038(); break; case 0x601Au: UDS_2FService_DID_601A(); break; case 0x6095u: UDS_2FService_DID_6095(); break; case 0x6024u: UDS_2FService_DID_6024(); break; case 0x6025u: UDS_2FService_DID_6025(); break; case 0x603Du: UDS_2FService_DID_603D(); break; case 0x6035u: UDS_2FService_DID_6035(); break; case 0x6036u: UDS_2FService_DID_6036(); break; case 0x6034u: UDS_2FService_DID_6034(); break; case 0x6028u: UDS_2FService_DID_6028(); break; case 0x6090u: UDS_2FService_DID_6090(); break; //case 0x6091u: // break; case 0x6037u: UDS_2FService_DID_6037(); break; // case 0x6092u: // break; // case 0x6093u: break; case 0x6022u: UDS_2FService_DID_6022(); break; case 0x601Fu: UDS_2FService_DID_601F(); break; //case 0x6094u: // break; //case 0x6095u: //break; case 0x6096u: UDS_2FService_DID_6096(); break; case 0x6097u: UDS_2FService_DID_6097(); break; case 0x6098u: UDS_2FService_DID_6098(); break; case 0x603Bu: UDS_2FService_DID_603B(); break; case 0x6018u: UDS_2FService_DID_6018(); break; case 0x6099u: UDS_2FService_DID_6099(); break; case 0x609Au: UDS_2FService_DID_609A(); break; case 0x604Bu: UDS_2FService_DID_604B(); break; case 0x609Bu: UDS_2FService_DID_609B(); break; case 0x6047u: UDS_2FService_DID_6047(); break; case 0x6026u: UDS_2FService_DID_6026(); break; case 0x6030u: UDS_2FService_DID_6030(); break; case 0x602Bu: UDS_2FService_DID_602B(); break; case 0x609Cu: UDS_2FService_DID_609C(); break; case 0x609Du: UDS_2FService_DID_609D(); break; case 0x609Eu: UDS_2FService_DID_609E(); break; case 0x609Fu: UDS_2FService_DID_609F(); break; case 0x60A0u: UDS_2FService_DID_60A0(); break; case 0x60A1u: UDS_2FService_DID_60A1(); break; case 0x6051u: UDS_2FService_DID_6051(); break; case 0x6052u: UDS_2FService_DID_6052(); break; case 0x60A3u: UDS_2FService_DID_60A3(); break; case 0x60A4u: UDS_2FService_DID_60A4(); break; case 0x60A5u: UDS_2FService_DID_60A5(); break; case 0x60A6u: UDS_2FService_DID_60A6(); break; case 0x60A7u: UDS_2FService_DID_60A7(); break; case 0x60A8u: UDS_2FService_DID_60A8(); break; case 0x60A9u: UDS_2FService_DID_60A9(); break; case 0x6043u: UDS_2FService_DID_6043(); break; case 0x60ACu: UDS_2FService_DID_60AC(); break; //case 0x6048u: // break; case 0x60ADu: UDS_2FService_DID_60AD(); break; case 0x60AEu: UDS_2FService_DID_60AE(); break; case 0x60AFu: UDS_2FService_DID_60AF(); break; case 0x60B0u: UDS_2FService_DID_60B0(); break; case 0x60B1u: UDS_2FService_DID_60B1(); break; case 0x60B2u: UDS_2FService_DID_60B2(); break; case 0x60B3u: UDS_2FService_DID_60B3(); break; case 0x60B4u: UDS_2FService_DID_60B4(); break; //case 0x60ACu: //break; case 0x60B5u: UDS_2FService_DID_60B5(); break; case 0x60B6u: UDS_2FService_DID_60B6(); break; case 0x60B7u: UDS_2FService_DID_60B7(); break; case 0x60B8u: UDS_2FService_DID_60B8(); break; case 0x60B9u: UDS_2FService_DID_60B9(); break; case 0x60BAu: UDS_2FService_DID_60BA(); break; case 0x60BBu: UDS_2FService_DID_60BB(); break; case 0x60BCu: UDS_2FService_DID_60BC(); break; case 0x60BDu: UDS_2FService_DID_60BD(); break; case 0x60BEu: UDS_2FService_DID_60BE(); break; case 0x60BFu: UDS_2FService_DID_60BF(); break; case 0x60C0u: UDS_2FService_DID_60C0(); break; case 0x60C1u: UDS_2FService_DID_60C1(); break; case 0x60C2u: UDS_2FService_DID_60C2(); break; case 0x60C3u: UDS_2FService_DID_60C3(); break; case 0x60C4u: UDS_2FService_DID_60C4(); break; case 0x60C5u: UDS_2FService_DID_60C5(); break; case 0x60C6u: UDS_2FService_DID_60C6(); break; case 0x60C7u: UDS_2FService_DID_60C7(); break; //case 0x6048u: //break; case 0x6065u: UDS_2FService_DID_6065(); break; case 0x6066u: UDS_2FService_DID_6066(); break; case 0x606Au: UDS_2FService_DID_606A(); break; case 0x606Bu: UDS_2FService_DID_606B(); break; case 0x606Cu: UDS_2FService_DID_606C(); break; case 0x6077u: UDS_2FService_DID_6077(); break; } } /** *2F服务DID6048 *ADR 工作异常指示灯(预留) */ void UDS_2FService_DID_6048(void) { Ab_ADRWorking(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6091 *蓄电池充电指示灯状态 */ void UDS_2FService_DID_6091(void) { BatteryCharging(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6046 *OBD 报警灯状态 */ void UDS_2FService_DID_6046(void) { OBDAlarm(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6040 *主车 ABS 指示灯状态 */ void UDS_2FService_DID_6040(void) { M_ABSIndicator(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /**zhucche *2F服务DID6092 *挂车 ABS 指示灯状态guache */ void UDS_2FService_DID_6092(void) { T_ABSIndicator(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6020 *主车左转向指示灯 */ void UDS_2FService_DID_6020(void) { M_TurnLeft(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6093 *挂车左转向指示灯 */ void UDS_2FService_DID_6093(void) { T_TurnLeft(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6021 *主车右转向指示灯 */ void UDS_2FService_DID_6021(void) { M_TurnRight(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6094 *挂车右转向指示灯 */ void UDS_2FService_DID_6094(void) { T_TurnRight(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID601B *远光灯 */ void UDS_2FService_DID_601B(void) { HighBeam(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID601C *前雾灯 */ void UDS_2FService_DID_601C(void) { FrontFog(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID601D *后雾灯 */ void UDS_2FService_DID_601D(void) { RearFog(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID601E *位置灯 */ void UDS_2FService_DID_601E(void) { PositionLight(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6038 *STOP 停车灯 */ void UDS_2FService_DID_6038(void) { StopLight(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID601A *驻车制动指示灯 */ void UDS_2FService_DID_601A(void) { ParkingBrake(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6095 *EDC 诊断指示灯 */ void UDS_2FService_DID_6095(void) { EDCLight(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6024 *定速巡航指示 */ void UDS_2FService_DID_6024(void) { CruiseControl(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6025 *自适应巡航指示(预留) */ void UDS_2FService_DID_6025(void) { IntelligentAdaptiveCruise(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID603D *安全带未系指示灯 */ void UDS_2FService_DID_603D(void) { SeatBelt(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6035 *机油压力低指示灯 */ void UDS_2FService_DID_6035(void) { LowOilPressure(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6036 *制动气压低指示灯 */ void UDS_2FService_DID_6036(void) { LowBrakeAirPressure(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6034 *冷却液温度高指示灯(预留) */ void UDS_2FService_DID_6034(void) { HighCoolantTemPerature(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6028 *排气制动指示灯(预留) */ void UDS_2FService_DID_6028(void) { ExhaustBrake(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6090 *辅助制动 1 档指示灯(预留) */ void UDS_2FService_DID_6090(void) { AuxiliaryBrake_1(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6091 *辅助制动 2 档指示灯(预留) */ /* void UDS_2FService_DID_6091(void) { AuxiliaryBrake_2(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } */ /** *2F服务DID6037 *燃油油量低指示灯(预留) */ void UDS_2FService_DID_6037(void) { LowFuelOil(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6092 *维修指示灯(预留) */ /* void UDS_2FService_DID_6092(void) { ServiceIndicator(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } */ /** *2F服务DID6093 *变速箱低档指示灯(预留) */ /* void UDS_2FService_DID_6093(void) { GearboxLow(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } */ /** *2F服务DID6022 *ASR 指示灯(预留) */ void UDS_2FService_DID_6022(void) { ASRIndicator(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID601F *日间行车灯(预留) */ void UDS_2FService_DID_601F(void) { DaytimeDriving(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6094 *遥控钥匙电量低指示灯(预留) */ /* void UDS_2FService_DID_6094(void) { LowBatteryOfKey(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } */ /** *2F服务DID6095 *发动机防盗指示灯(预留) */ /* void UDS_2FService_DID_6095(void) { EngineAntiTheft(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } */ /** *2F服务DID6096 *驾驶室翻转指示灯(预留) */ void UDS_2FService_DID_6096(void) { CabFlip(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6097 *车厢举升指示灯(预留) */ void UDS_2FService_DID_6097(void) { CarLift(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6098 *冷却液位低指示灯(预留) */ void UDS_2FService_DID_6098(void) { LowCoolantLevel(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID603B *EDC 维修指示灯(预留) */ void UDS_2FService_DID_603B(void) { EDCRepair(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6018 *尿素液位低指示灯(预留) */ void UDS_2FService_DID_6018(void) { LowUreaLevel(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6099 *胎压报警指示灯(预留) */ void UDS_2FService_DID_6099(void) { TirePressureAlarm(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID609A *盘式制动器磨损盘式制动器磨损v指示灯(预留) */ void UDS_2FService_DID_609A(void) { DiscBrakeWear(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID604B *缓速器故障指示灯(预留) */ void UDS_2FService_DID_604B(void) { RetarderFailure(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID609B *变速箱故障指示灯(预留) */ void UDS_2FService_DID_609B(void) { GearboxFailure(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6047 *ECAS 故障指示灯 */ void UDS_2FService_DID_6047(void) { ECASFailure(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6026 *ECAS 工作指示灯(预留) */ void UDS_2FService_DID_6026(void) { ECASIndicator(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6030 *缓速器工作指示灯(预留) */ void UDS_2FService_DID_6030(void) { RetarderIndicator(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID602B *轮差速锁工作指示灯(预留) */ void UDS_2FService_DID_602B(void) { WheelDifferentialLock(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID609C *浮动桥指示灯(预留) */ void UDS_2FService_DID_609C(void) { FloatingBridgeIndicator(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID609CD *变速箱油温高指示灯(预留) */ void UDS_2FService_DID_609D(void) { HighGearboxOil(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID609E *停车取力指示灯(预留) */ void UDS_2FService_DID_609E(void) { ParkingPower(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID609F *空滤器阻塞指示灯(预留) */ void UDS_2FService_DID_609F(void) { AirFilterBlocked(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60A0 *行车取力指示灯(预留) */ void UDS_2FService_DID_60A0(void) { DrivingPower(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60A1 *分动器高档指示灯(预留) */ void UDS_2FService_DID_60A1(void) { SplitterHigh_end (DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6051 *主驾侧门开关状态信号(预留) */ void UDS_2FService_DID_6051(void) { DriverDoorSwitch_St(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6052 *副驾侧门开关状态信号(预留) */ void UDS_2FService_DID_6052(void) { CoDriverDoorSwitch_ST(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u , DiagMSG.msgData.Data); } /** *2F服务DID60A3 *自适应前照工作灯(预留) */ void UDS_2FService_DID_60A3(void) { AdaptiveFrontWorkingLight(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60A4 *自适应前照报警灯(预留) */ void UDS_2FService_DID_60A4(void) { AdaptiveFrontAlarmLight(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60A5 *坡道辅助提示指示灯(预留) */ void UDS_2FService_DID_60A5(void) { RampAssistTips(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60A6 *ACC 巡航指示灯(预留) */ void UDS_2FService_DID_60A6(void) { ACCCruiseIndicator(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60A7 *ACC 巡航故障指示灯(预留) */ void UDS_2FService_DID_60A7(void) { ACCCruiseFaultIndicator(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60A8 *全轮驱动指示灯(预留) */ void UDS_2FService_DID_60A8(void) { AllWheelDriveIndicator(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60A9 *整车信息指示灯(预留) */ void UDS_2FService_DID_60A9(void) { VehicleInformation(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6043 *碰撞报警指示灯(预留) */ void UDS_2FService_DID_6043(void) { CollisionAlarm(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60AC *燃气泄漏报警指示灯(预留) */ void UDS_2FService_DID_60AC(void) { GasLeakIndicator(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6048 *ADR 工作异常指示灯(预留) */ /* void UDS_2FService_DID_6048(void) { Ab_ADRIndicator(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } */ /** *2F服务DID60AD *前轮轮间差速锁指示灯(预留) */ void UDS_2FService_DID_60AD(void) { FrontWheelsLocking(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60AE *EBS 红灯(预留) */ void UDS_2FService_DID_60AE(void) { EBSRedLight(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60AF *EBS 黄灯(预留) */ void UDS_2FService_DID_60AF(void) { EBSYellowLight(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60B0 *喷淋壶液位低(预留) */ void UDS_2FService_DID_60B0(void) { LowLevelOfSprayPot(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60B1 *助力转向报警(预留) */ void UDS_2FService_DID_60B1(void) { PowerSteeringAlarm(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60B2 *自动驻车状态指示灯(预留) */ void UDS_2FService_DID_60B2(void) { AutomaticParking_ST(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60B3 *驻车独立制动状态指示灯(预留) */ void UDS_2FService_DID_60B3(void) { IndependentAutomaticParking_ST(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60B4 *负载转移指示灯(预留) */ void UDS_2FService_DID_60B4(void) { LoadTransfer(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60B5 *柴油粒子过滤器再生禁止状态/ DPF 再生禁止灯(预留) */ void UDS_2FService_DID_60B5(void) { DPFReproductionProhibited(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60B6 *超速报警指示灯/TSR 工作状态指示灯(预留) */ void UDS_2FService_DID_60B6(void) { SpeedingAlarm(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60B7 *行人碰撞报警灯(预留) */ void UDS_2FService_DID_60B7(void) { PedestrianCollision(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60B8 *TSR 目标车速限制(预留) */ void UDS_2FService_DID_60B8(void) { TSRIndicator(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60B9 *高级辅助驾驶状态指示灯 */ void UDS_2FService_DID_60B9(void) { AdvancedAssistedDriving_ST(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60BA *SVS 指示灯(预留) */ void UDS_2FService_DID_60BA(void) { SVSIndicator(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60BB *NCD 指示灯(预留) */ void UDS_2FService_DID_60BB(void) { NCDIndicator(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60BC *IHC 工作状态指示灯(预留) */ void UDS_2FService_DID_60BC(void) { IHCWorkingIndicator(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60BD *动力电池系统故障指示灯(预留) */ void UDS_2FService_DID_60BD(void) { PowerBatterySystemFailure(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60BE *驱动电机故障指示灯(预留) */ void UDS_2FService_DID_60BE(void) { DriveMotorFailure(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60BF *绝缘电阻过低报警指示灯(预留) */ void UDS_2FService_DID_60BF(void) { LowResistance(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60C0 *动力电池切断指示灯(预留) */ void UDS_2FService_DID_60C0(void) { BreakPowerBattery(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60C1 *高压上电指示灯(预留) */ void UDS_2FService_DID_60C1(void) { HighVoltagePowerUp(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60C2 *驱动限功率状态指示灯(预留) */ void UDS_2FService_DID_60C2(void) { DriveLimitedPower_ST(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60C3 *驱动系统就绪指示灯(预留) */ void UDS_2FService_DID_60C3(void) { DriveSystemReady(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60C4 *SOC 容量过低指示灯(预留) */ void UDS_2FService_DID_60C4(void) { SOCCapacityTooLow(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60C5 *动力电池充电状态指示灯(预留) */ void UDS_2FService_DID_60C5(void) { PowerBatteryCharging(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60C6 *外部充电线连接指示灯(预留) */ void UDS_2FService_DID_60C6(void) { ExChargingCableConnect(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID60C7 *车辆低速警示音关闭指示灯(预留) */ void UDS_2FService_DID_60C7(void) { OffLowSpeedAlarm(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6048 *离合器故障报警灯(预留) */ /* void UDS_2FService_DID_6048(void) { ClutchFailure(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } */ /** *2F服务DID6065 *气量(LNG) */ void UDS_2FService_DID_6065(void) { AirVolume_LNG(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6066 *气量(CNG) */ void UDS_2FService_DID_6066(void) { AirVolume_CNG(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID606A *背光检测 */ void UDS_2FService_DID_606A(void) { BackLightTest(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID606B *LCD 测试 */ void UDS_2FService_DID_606B(void) { LCDTest(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID606C *声音测试 */ void UDS_2FService_DID_606C(void) { SoundTest(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); } /** *2F服务DID6077 *重新计算仪表综合油耗(注:仪表重新计算当前油耗和综合油耗) */ void UDS_2FService_DID_6077(void) { RecaculateFuelConsumption(DiagMSG.msgData.DidDetail.Data[0], DiagMSG.msgData.DidDetail.Data[1]); UDS_Service_Response(0x2Fu, POSITIVE_RSP, DIAG_ID_Tx, 4u, DiagMSG.msgData.Data); }