Пример #1
0
        protected static void CreateVerificationTests(Instrument instrument, IDriveType driveType)
        {
            for (var i = 0; i < 3; i++)
            {
                var verificationTest = new VerificationTest(i, instrument);

                if (instrument.CompositionType == CorrectorType.P)
                {
                    verificationTest.PressureTest = new PressureTest(verificationTest, GetGaugePressure(instrument, i));
                }

                if (instrument.CompositionType == CorrectorType.T)
                {
                    verificationTest.TemperatureTest = new TemperatureTest(verificationTest, GetGaugeTemp(i));
                }

                if (instrument.CompositionType == CorrectorType.PTZ)
                {
                    verificationTest.PressureTest    = new PressureTest(verificationTest, GetGaugePressure(instrument, i));
                    verificationTest.TemperatureTest = new TemperatureTest(verificationTest, GetGaugeTemp(i));
                    verificationTest.SuperFactorTest = new SuperFactorTest(verificationTest);
                }

                if (i == VolumeTestNumber)
                {
                    verificationTest.VolumeTest = new VolumeTest(verificationTest, driveType);
                }

                instrument.VerificationTests.Add(verificationTest);
            }
        }
Пример #2
0
        public static MediaType GetMediaType(IDriveType iDriveType)
        {
            switch (iDriveType)
            {
            case IDriveType.BR1:
            case IDriveType.BR25:
                return(MediaType.AAC);

            case IDriveType.BR27:
            case IDriveType.BR34:
                return(MediaType.MP4);

            case IDriveType.BR28:
            case IDriveType.BR4:
                return(MediaType.MP3);

            case IDriveType.BR29:
            case IDriveType.BR5:
                return(MediaType.WMA);

            case IDriveType.BR30:
                return(MediaType.M3U);

            case IDriveType.BR48:
                return(MediaType.FLAC);

            case IDriveType.BR67:
                return(MediaType.JPG);

            default:
                return(MediaType.Unknown);
            }
        }
Пример #3
0
        public VolumeTest(VerificationTest verificationTest, IDriveType driveType)
        {
            VerificationTest   = verificationTest;
            VerificationTestId = VerificationTest.Id;

            DriveType              = driveType;
            AppliedInput           = DriveType.MaxUnCorrected();
            DriveTypeDiscriminator = DriveType.Discriminator;
        }
Пример #4
0
        public static byte[] Convert(byte[] bytesIn, IDriveType type, HeadUnit hu)
        {
            if (bytesIn.Length < 1)
            {
                return new byte[] { }
            }
            ;

            var bytesOut = new byte[bytesIn.Length];

            for (int i = 0; i < bytesIn.Length; i++)
            {
                // Only first 131072 bytes (128KB) are inverted
                if (type == IDriveType.BR29 || type == IDriveType.BR34 || type == IDriveType.BR48)
                {
                    if (i < 0x20000)
                    {
                        bytesOut[i] = (byte)(~bytesIn[i]);
                    }
                    else
                    {
                        bytesOut[i] = bytesIn[i];
                    }
                }
                // Last 3 bytes are not inverted
                else if (type == IDriveType.BR25 || type == IDriveType.BR4)
                {
                    if (bytesIn.Length - i > 3)
                    {
                        bytesOut[i] = (byte)(~bytesIn[i]);
                    }
                    else if (hu != HeadUnit.CIC)
                    {
                        bytesOut[i] = bytesIn[i];
                    }
                    // Not for CIC
                    else
                    {
                        bytesOut[i] = (byte)(~bytesIn[i]);
                    }
                }
                // Last byte is not inverted
                else if (type == IDriveType.BR28 || type == IDriveType.BR30)
                {
                    if (bytesIn.Length - i > 1)
                    {
                        bytesOut[i] = (byte)(~bytesIn[i]);
                    }
                    else
                    {
                        bytesOut[i] = bytesIn[i];
                    }
                }
                else
                {
                    bytesOut[i] = (byte)(~bytesIn[i]);
                }
            }

            return(bytesOut);
        }
    }