public FaultCodesBlock(List<byte> bytes) : base(bytes) { FaultCodes = new(); IEnumerable<byte> data = Body; while (true) { var code = data.Take(3).ToArray(); if (code.Length == 0) { break; } var dtc = code[0] * 256 + code[1]; var status = code[2]; var faultCode = new FaultCode(dtc, status); if (!faultCode.Equals(FaultCode.None)) { FaultCodes.Add(faultCode); } data = data.Skip(3); } }
string Converter_Faults(Tuple <int, int> t) { int Code = t.Item1; FaultCodes fault_id = (FaultCodes)((Code & 0xff00) >> 8); int fault_cat = Code & 0xff; string fault_desc = FaultCodeToString(fault_id); string cat_desc = DTC_Category.ToString((DTC_Category.Code)fault_cat); return(fault_desc + ", " + cat_desc); }
public Handler <T> AddNext(Func <T, bool> condition, FaultCodes faultCodes) { var actionUtility = new ActionUtility <T>() { Type = _type, Func = condition, FaultCodes = faultCodes }; _actionUtility.Add(actionUtility); return(this); }
string FaultCodeToString(FaultCodes Code) { string fault_desc; switch (Code) { case FaultCodes.dtc_General_EcuConfig: fault_desc = "Ошибка памяти"; break; case FaultCodes.dtc_General_EcuDataTimeNotCorrect: fault_desc = "Некорректное дата/время"; break; case FaultCodes.dtc_General_EcuSupplyOutOfRange: fault_desc = "Напряжение питания"; break; case FaultCodes.dtc_General_Interlock: fault_desc = "Интерлок"; break; case FaultCodes.dtc_General_UnexpectedPowerOff: fault_desc = "Неожиданное отключение питания"; break; case FaultCodes.dtc_CAN_ExtCan: fault_desc = "Оффлайн CAN 2"; break; case FaultCodes.dtc_CAN_PCAN: fault_desc = "Оффлайн CAN 1"; break; case FaultCodes.dtc_PwmCircuit_1: fault_desc = "Цепи ШИМ 1"; break; case FaultCodes.dtc_PwmCircuit_2: fault_desc = "Цепи ШИМ 2"; break; case FaultCodes.dtc_PwmCircuit_3: fault_desc = "Цепи ШИМ 3"; break; case FaultCodes.dtc_MeasuringCircuit: fault_desc = "Цепи измерения АЦП"; break; case FaultCodes.dtc_PowerSupplyCircuit: fault_desc = "Цепи питания ECU"; break; default: fault_desc = Code.ToString(); break; } return(fault_desc); }
string FaultCodeToString(FaultCodes Code) { string fault_desc; switch (Code) { case FaultCodes.dtc_General_EcuConfig: fault_desc = "Ошибка памяти"; break; case FaultCodes.dtc_General_EcuDataTimeNotCorrect: fault_desc = "Некорректное дата/время"; break; case FaultCodes.dtc_General_EcuSupplyOutOfRange: fault_desc = "Напряжение питания"; break; case FaultCodes.dtc_General_Interlock: fault_desc = "Интерлок"; break; case FaultCodes.dtc_General_UnexpectedPowerOff: fault_desc = "Неожиданное отключение питания"; break; case FaultCodes.dtc_CAN_Inverter: fault_desc = "Нет связи с инвертором"; break; case FaultCodes.dtc_CAN_Steering: fault_desc = "Нет связи с рулевым управлением"; break; case FaultCodes.dtc_CAN_Battery: fault_desc = "Нет связи с батареей"; break; case FaultCodes.dtc_BatteryFault: fault_desc = "Батарея в ошибке"; break; case FaultCodes.dtc_InverterFault: fault_desc = "Инвертор в ошибке"; break; case FaultCodes.dtc_SteeringPosition: fault_desc = "Ошибка позиционирования рулевой рейки"; break; case FaultCodes.dtc_TrimPosition: fault_desc = "Ошибка позиционирования трим"; break; case FaultCodes.dtc_Accelerator: fault_desc = "Неисправность ручки акселератора"; break; case FaultCodes.dtc_SteeringFeedback: fault_desc = "Обратная связь рулевого рейки"; break; case FaultCodes.dtc_TrimFeedback: fault_desc = "Обратная связь трим"; break; case FaultCodes.dtc_PwmCircuit_1: fault_desc = "Драйвер ШИМ 1"; break; case FaultCodes.dtc_PwmCircuit_2: fault_desc = "Драйвер ШИМ 2"; break; case FaultCodes.dtc_PwmCircuit_3: fault_desc = "Драйвер ШИМ 3"; break; case FaultCodes.dtc_MeasuringCircuit: fault_desc = "Ошибка канала АЦП"; break; case FaultCodes.dtc_PowerSupplyCircuit: fault_desc = "Драйвер питания"; break; default: fault_desc = Code.ToString(); break; } return(fault_desc); }