Exemplo n.º 1
0
        public void Read(XeReader reader)
        {
            reader.Seek(0, SeekOrigin.Begin);

            magic   = reader.ReadUInt16();
            version = reader.ReadUInt16();

            reader.Seek(0x08, SeekOrigin.Begin);
            bootloaderOffset = reader.ReadUInt32();
            length           = reader.ReadUInt32();
            copyright        = reader.ReadString(0x37);

            reader.Seek(0x60, SeekOrigin.Begin);
            kvOffset = reader.ReadUInt32();

            reader.Seek(0x78, SeekOrigin.Begin);
            smcSize   = reader.ReadUInt32();
            smcOffset = reader.ReadUInt32();

            reader.Seek(smcOffset, SeekOrigin.Begin);
            SMC = new SMC();
            SMC.Read(reader, (int)smcSize);

            reader.Seek(bootloaderOffset, SeekOrigin.Begin);

            SB = new CXBootloader(Stream);

            SC = new CXBootloader(Stream);

            SD = new CXBootloader(Stream);

            SE = new CEBootloader(Stream);
        }
 private void ClosedLoop_ChangeToe_Invoker()
 {
     //Start:
     //if (ClosedLoop_ToeCheck(0.0009))
     //{
     //    return;
     //}
     //else
     //{
     ///<remarks>Invoking the <see cref="ClosedLoop_ChangeToe(double)"/> method </remarks>
     if (SetupChange_CV_Base.toeAdjustmentType == AdjustmentType.Direct)
     {
         ClosedLoop_ChangeToe(/*-*/ AngleToBeRotatedForToe[AngleToBeRotatedForToe.Count - 1].Degrees);
     }
     else
     {
         //SetupChange_DB.AdjOptions.NoOfShims_OR_ShimsVectorLengthChanged(SetupChange_DB.AdjOptions.MToeAdjusterLine, SetupChange_DB.AdjOptions.MToeAdjusterVector, OC[0].sccvOP.deltaToeLinkLength - Final_ToeAdjusterLength[Final_ToeAdjusterLength.Count - 1]);
         //Angle angleToBeRotated = SetupChange_DB.AdjOptions.GetNewUprightTrianglePosition(ref SetupChange_DB.UprightTriangle, SetupChange_DB.UBJ, SetupChange_DB.LBJ, SetupChange_DB.AdjOptions.MToeAdjusterLine[SetupChange_DB.AdjOptions.MToeAdjusterLine.Count - 1].EndPoint, SetupChange_DB);
         Angle angleToBeRotated = SMC.SetupChange_ToeLinkLengthChanged(OC[0].sccvOP.deltaToeLinkLength - Final_ToeAdjusterLength[Final_ToeAdjusterLength.Count - 1]);
         ClosedLoop_ChangeToe(angleToBeRotated.Degrees);
     }
     //    goto Start;
     //}
 }
 private void ClosedLoop_ChangeCamber_Invoker()
 {
     //Start:
     //if (ClosedLoop_CamberCheck(0.0009))
     //{
     //    return;
     //}
     //else
     //{
     ///<summary>Invoking the <see cref="ClosedLoop_ChangeCamber(double)"/> method </summary>
     if (SetupChange_CV_Base.camberAdjustmentType == AdjustmentType.Direct)
     {
         ClosedLoop_ChangeCamber(AngleToBeRotatedForCamber[AngleToBeRotatedForCamber.Count - 1].Degrees, SetupChange_DB.AdjOptions.MCamberAdjusterLine, SetupChange_DB.AdjOptions.MCamberAdjusterVector, 0);
     }
     else
     {
         //SetupChange_DB.AdjOptions.NoOfShims_OR_ShimsVectorLengthChanged(SetupChange_DB.AdjOptions.MCamberAdjusterLine, SetupChange_DB.AdjOptions.MCamberAdjusterVector, ((OC[0].sccvOP.deltaCamberShims * OC[0].sccvOP.camberShimThickness) - Final_CamberAdjusterLength[Final_CamberAdjusterLength.Count - 1]));
         Angle angleTobeRotated = SMC.SetupChange_CamberShims_OR_ShimsVectorLengthChanged((OC[0].sccvOP.deltaCamberShims * OC[0].sccvOP.camberShimThickness) - Final_CamberAdjusterLength[Final_CamberAdjusterLength.Count - 1], SetupChange_DB.UBJ, SetupChange_DB.LBJ,
                                                                                          SetupChange_CV_Base.camberAdjustmentTool);
         ClosedLoop_ChangeCamber(angleTobeRotated.Degrees, SetupChange_DB.AdjOptions.MCamberAdjusterLine, SetupChange_DB.AdjOptions.MCamberAdjusterVector, SetupChange_DB.AdjOptions.UprightIndexForCamber);
     }
     //    goto Start;
     //}
 }
 private void ClosedLoop_ChangeKPI(double _dKPI_New)
 {
     SMC.SetupChange_KPIChange(_dKPI_New, OC[0], true, SetupChange_CV_Base, SetupChange_DB.AdjOptions.MKPIAdjusterLine, SetupChange_DB.AdjOptions.MKPIAdjusterVector, SetupChange_DB.AdjOptions.AxisRotation_KPI[SetupChange_DB.AdjOptions.AxisRotation_KPI.Count - 1],
                               SetupChange_DB.AdjOptions.UprightIndexForKPI);
 }
 private void ClosedLoop_ChangeCaster(double _dCaster_New)
 {
     SMC.SetupChange_CasterChange(_dCaster_New, OC[0], true, SetupChange_CV_Base, SetupChange_DB.AdjOptions.MCasterAdjustmenterLine, SetupChange_DB.AdjOptions.MCasterAdjusterVector, SetupChange_DB.AdjOptions.AxisRotation_Caster[SetupChange_DB.AdjOptions.AxisRotation_Caster.Count - 1],
                                  SetupChange_DB.AdjOptions.UprightIndexForCaster);
 }
        private void ClosedLoop_ChangeToe(double _dToe_New)
        {
            //SetupChange_DB.AdjOptions.AxisRotation_Toe = SetupChange_DB.SteeringAxis.Line.DeltaLine;

            SMC.SetupChange_ToeChange(_dToe_New, OC[0], true, SetupChange_CV_Base, SetupChange_DB.AdjOptions.MToeAdjusterLine, SetupChange_DB.AdjOptions.MToeAdjusterVector, SetupChange_DB.AdjOptions.AxisRotation_Toe[SetupChange_DB.AdjOptions.AxisRotation_Toe.Count - 1], 2);
        }
 private void ClosedLoop_ChangeCamber(double _dCamber_New, List <Line> shimsLine, List <Vector3D> shimsVector, int _uprightVertexIndex)
 {
     SMC.SetupChange_CamberChange(_dCamber_New, OC[0], true, SetupChange_CV_Base, shimsLine, shimsVector, SetupChange_DB.AdjOptions.AxisRotation_Camber[SetupChange_DB.AdjOptions.AxisRotation_Camber.Count - 1], _uprightVertexIndex);
 }