private static RobDependantAxis ReadRobDependantAxis(AstSeq dependantAxis) { return(new RobDependantAxis() { ElementType = (RobElementType)dependantAxis.ReadAsInt(0), ValueDirection = (RobDirection)dependantAxis.ReadAsInt(1), MinimumLimit = dependantAxis.ReadAsLong(2), MaximumLimit = dependantAxis.ReadAsLong(3), Reserve4 = dependantAxis.ReadAsInt(4), Reserve5 = dependantAxis.ReadAsInt(5), Description = dependantAxis.ReadAsText(6), PhysicalLabelAbbreviation = dependantAxis.ReadAsText(7), EngineeringUnit = dependantAxis.ReadAsText(8), ConversionEquation = dependantAxis.ReadAsText(9), DecimalPlaces = dependantAxis.ReadAsInt(10), Reserve11 = dependantAxis.ReadAsInt(11), Reserve12 = dependantAxis.ReadAsInt(12), Reserve13 = dependantAxis.ReadAsInt(13), }); }
private static RobFileHeader ReadRobFileHeader(AstSeq astFileHeader) { var robControlUnitType = (RobControlUnitType)astFileHeader.ReadAsInt(2); RobFileHeader robFileHeader; if (robControlUnitType.HasFlag(RobControlUnitType.CAN)) { robFileHeader = new RobFileHeaderCan() { EmulationModuleNumber = astFileHeader.ReadAsInt(0), RomSize = astFileHeader.ReadAsInt(1), ControlUnitType = robControlUnitType, CanBusFrequency = astFileHeader.ReadAsInt(3), CanEcuNodeId = astFileHeader.ReadAsInt(4), CanDefaultSamplingInterval = astFileHeader.ReadAsInt(5), CanIdentifierDtoCcp = astFileHeader.ReadAsInt(6), CanIdentifierCroCcp = astFileHeader.ReadAsInt(7), }; } else if (robControlUnitType.HasFlag(RobControlUnitType.ABUS)) { robFileHeader = new RobFileHeaderAnio() { EmulationModuleNumber = astFileHeader.ReadAsInt(0), RomSize = astFileHeader.ReadAsInt(1), ControlUnitType = robControlUnitType, AnioSignalAveragingTime = astFileHeader.ReadAsInt(3), AnioReserved4 = astFileHeader.ReadAsInt(4), AnioScanRate = astFileHeader.ReadAsInt(5), AnioReserved6 = astFileHeader.ReadAsInt(6), AnioReserved7 = astFileHeader.ReadAsInt(7), }; } else { robFileHeader = new RobFileHeaderRom() { EmulationModuleNumber = astFileHeader.ReadAsInt(0), RomSize = astFileHeader.ReadAsInt(1), ControlUnitType = robControlUnitType, RomCycleTriggerAddress = astFileHeader.ReadAsInt(3), RomReserved4 = astFileHeader.ReadAsInt(4), RomBusMonitoringTimeGate = astFileHeader.ReadAsInt(5), RomReserved6 = astFileHeader.ReadAsInt(6), RomRamOffset = astFileHeader.ReadAsUInt(7), }; } return(robFileHeader); }