Ejemplo n.º 1
0
        public static List <Tm> GetTmList()
        {
            if (_list == null || _list.Count <= 0)
            {
                _list = new List <Tm>();
                DataTable dt = TmDal.GetLisTmDataTable();
                if (dt != null && dt.Rows.Count > 0)
                {
                    foreach (DataRow row in dt.Rows)
                    {
                        Tm tm = new Tm()
                        {
                            Iflnr  = row["iflnr"].ToString(),
                            Sfdy   = row["sfdy"].ToString(),
                            Sqxmdh = row["sqxmdh"].ToString(),
                            Tmbm   = row["tmbm"].ToString(),
                            Tmmc   = row["tmmc"].ToString(),
                            Yljgbm = row["yljgbm"].ToString()
                        };
                        _list.Add(tm);
                    }
                }
            }

            return(_list);
        }
Ejemplo n.º 2
0
        private void ApplyChanges()
        {
            var selectedSearchResult = SourceSearchResults.Where(s => s.TuSelected).ToList();
            var tusToAnonymize       = new List <AnonymizeTranslationMemory>();
            //file base tms
            var fileBasedSearchResult = selectedSearchResult.Where(t => !t.IsServer).ToList();

            if (fileBasedSearchResult.Count > 0)
            {
                BackupFileBasedTm();
                tusToAnonymize = GetTranslationUnitsToAnonymize(fileBasedSearchResult);
                Tm.AnonymizeFileBasedTu(tusToAnonymize);
            }
            //server based tms
            var serverBasedSearchResult = selectedSearchResult.Where(t => t.IsServer).ToList();

            if (serverBasedSearchResult.Count > 0)
            {
                tusToAnonymize = GetTranslationUnitsToAnonymize(serverBasedSearchResult);
                var uri = new Uri(_tmViewModel.Credentials.Url);
                var translationProvider = new TranslationProviderServer(uri, false, _tmViewModel.Credentials.UserName,
                                                                        _tmViewModel.Credentials.Password);

                BackupServerBasedTm(translationProvider, tusToAnonymize);
                Tm.AnonymizeServerBasedTu(translationProvider, tusToAnonymize);
            }
            RemoveSelectedTusToAnonymize();
        }
Ejemplo n.º 3
0
        public override void DoTest(string title, out TestResult tr)
        {
            // Two channels of testing
            tr = new TestResult(2);

            Tm.SetToDefaults();

            if (File.Exists(AuditionFileName) == false)
            {
                throw new FileLoadException("Specified audition file doesn't exist");
            }

            try
            {
                ((IAudioAnalyzer)Tm.TestClass).AuditionStart(AuditionFileName, AuditionAmplitude, true);

                DlgAudition dlg = new DlgAudition((IAudioAnalyzer)Tm.TestClass, AuditionAmplitude, OperatorInstruction);

                if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    tr.Pass = true;
                }
                else
                {
                    tr.Pass = false;
                }
            }
            catch
            {
            }

            ((IAudioAnalyzer)Tm.TestClass).AuditionStop();
        }
Ejemplo n.º 4
0
        public override void DoTest(string title, out TestResult tr)
        {
            // Two channels
            tr = new TestResult(2);

            Tm.SetToDefaults();
            SetupBaseTests();

            ((IAudioAnalyzer)Tm.TestClass).AudioAnalyzerSetTitle(title);
            ((IAudioAnalyzer)Tm.TestClass).SetInputRange(AnalyzerInputRange);
            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen1(true, AnalyzerOutputLevel, TestFrequency);
            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen2(false, AnalyzerOutputLevel, TestFrequency);

            ((IAudioAnalyzer)Tm.TestClass).DoAcquisition();

            TestResultBitmap = ((IAudioAnalyzer)Tm.TestClass).GetBitmap();

            // Compute the total RMS around the freq of interest
            ((IAudioAnalyzer)Tm.TestClass).ComputePeakDb(TestFrequency * 0.90f, TestFrequency * 1.10f, out tr.Value[0], out tr.Value[1]);
            tr.Value[0] = tr.Value[0] - AnalyzerOutputLevel;
            tr.Value[1] = tr.Value[1] - AnalyzerOutputLevel;

            bool passLeft = false, passRight = false;

            if (LeftChannel)
            {
                passLeft = CheckChannel(0, tr);
            }
            else
            {
                tr.StringValue[1] = "SKIP";
            }

            if (RightChannel)
            {
                passRight = CheckChannel(1, tr);
            }
            else
            {
                tr.StringValue[1] = "SKIP";
            }


            if (LeftChannel && RightChannel)
            {
                tr.Pass = passLeft && passRight;
            }
            else if (LeftChannel)
            {
                tr.Pass = passLeft;
            }
            else if (RightChannel)
            {
                tr.Pass = passRight;
            }

            return;
        }
Ejemplo n.º 5
0
        public override void DoTest(string title, out TestResult tr)
        {
            // Two channels of testing
            tr = new TestResult(2);

            Tm.SetToDefaults();
            SetupBaseTests();

            ((IAudioAnalyzer)Tm.TestClass).AudioAnalyzerSetTitle(title);
            ((IAudioAnalyzer)Tm.TestClass).SetInputRange(AnalyzerInputRange);
            ((IProgrammableLoad)Tm.TestClass).SetImpedance(ProgrammableLoadImpedance);

            // Disable generators
            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen1(false, -60, 1000);
            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen1(false, -60, 1000);
            ((IAudioAnalyzer)Tm.TestClass).DoAcquisition();


            TestResultBitmap = ((IAudioAnalyzer)Tm.TestClass).GetBitmap();

            ((IAudioAnalyzer)Tm.TestClass).ComputeRms(StartFreq, EndFreq, out tr.Value[0], out tr.Value[1]);

            if (LeftChannel)
            {
                tr.StringValue[0] = tr.Value[0].ToString("0.0") + " dBV";
            }
            else
            {
                tr.StringValue[0] = "SKIP";
            }

            if (RightChannel)
            {
                tr.StringValue[1] = tr.Value[1].ToString("0.0") + " dBV";
            }
            else
            {
                tr.StringValue[1] = "SKIP";
            }

            if (LeftChannel && tr.Value[0] > MinimumPassLevel && tr.Value[0] < MaximumPassLevel && RightChannel && tr.Value[1] > MinimumPassLevel && tr.Value[1] < MaximumPassLevel)
            {
                tr.Pass = true;
            }
            else if (!LeftChannel && RightChannel && tr.Value[1] > MinimumPassLevel && tr.Value[1] < MaximumPassLevel)
            {
                tr.Pass = true;
            }
            else if (!RightChannel && LeftChannel && tr.Value[0] > MinimumPassLevel && tr.Value[0] < MaximumPassLevel)
            {
                tr.Pass = true;
            }

            return;
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 添加名牌变动日志
        /// </summary>
        /// <param name="strTrainmanGUID"></param>
        /// <param name="strWorkShopGUID"></param>
        /// <param name="DutyUserGUID"></param>
        /// <param name="DutyUserNumber"></param>
        /// <param name="DutyUserName"></param>
        public void addLog4UpdateArea(Tm tm, string strAreaGUID, string DutyUserGUID, string DutyUserNumber, string DutyUserName)
        {
            Area area = getArea(strAreaGUID);

            if (area == null)
            {
                throw new Exception("找不到该务段!,请核对后再试!");
            }
            string strContent = string.Format("司机:{0}【{1}】 改变了机务段 :由【{2}】 更改为【{3}】", tm.strTrainmanName, tm.strTrainmanNumber, tm.strAreaName, area.strAreaName);

            SaveChangeLog(strContent, tm.strTrainmanJiaoluGUID, tm.strTrainmanJiaoluName, 12, DutyUserGUID, DutyUserNumber, DutyUserName);
        }
Ejemplo n.º 7
0
        public void OperatorDateTimeTest()
        {
            // Arrange
            var expected = new DateTime(2021, 1, 8, 10, 4, 32);
            var target   = new Tm(expected);

            // Act
            DateTime actual = target;

            // Assert
            Assert.AreEqual(expected, actual);
        }
Ejemplo n.º 8
0
        public override void DoTest(string title, out TestResult tr)
        {
            // Two channels
            tr = new TestResult(2);

            Tm.SetToDefaults();
            SetupBaseTests();

            ((IAudioAnalyzer)Tm.TestClass).AudioAnalyzerSetTitle(title);
            ((IAudioAnalyzer)Tm.TestClass).SetInputRange(AnalyzerInputRange);

            ((IAudioAnalyzer)Tm.TestClass).DoFrAquisition(AnalyzerOutputLevel, WindowingMs / 1000, SmoothingDenominator);
            ((IAudioAnalyzer)Tm.TestClass).TestMask(MaskFileName, false, false, true, out bool passLeft, out bool passRight, out bool passMath);
            ((IAudioAnalyzer)Tm.TestClass).AddMathToDisplay();

            TestResultBitmap = ((IAudioAnalyzer)Tm.TestClass).GetBitmap();

            bool passPhase = true;
            int  passCount = 0;

            if (CheckPhase)
            {
                if (((IAudioAnalyzer)Tm.TestClass).LRVerifyPhase((int)FftSize * 1024 / 4))
                {
                    ++passCount;
                }
                if (((IAudioAnalyzer)Tm.TestClass).LRVerifyPhase((int)FftSize * 1024 / 4 + 300))
                {
                    ++passCount;
                }
                if (passCount != 2)
                {
                    passPhase = false;
                }
            }


            tr.Pass = passMath && passPhase;

            if (passPhase == false)
            {
                tr.OperatorMessage += "PHASE ";
            }

            if (passMath == false)
            {
                tr.OperatorMessage += "MASK";
            }

            return;
        }
Ejemplo n.º 9
0
        public void ConstructorTest2()
        {
            // Arrange
            ushort         year   = 2021;
            ushort         month  = 1;
            ushort         day    = 8;
            ushort         hour   = 10;
            ushort         minute = 4;
            ushort         second = 32;
            DateTimeNumber date   = new DateTimeNumber()
            {
                year    = BinaryPrimitives.ReverseEndianness(year),
                month   = BinaryPrimitives.ReverseEndianness(month),
                day     = BinaryPrimitives.ReverseEndianness(day),
                hours   = BinaryPrimitives.ReverseEndianness(hour),
                minutes = BinaryPrimitives.ReverseEndianness(minute),
                seconds = BinaryPrimitives.ReverseEndianness(second)
            };

            var target        = new Tm(date);
            var expectedYear  = year - 1900;
            var expectedMon   = month - 1;
            var expectedMday  = day;
            var expectedHour  = hour;
            var expectedMin   = minute;
            var expectedSec   = second;
            var expectedWday  = -1;
            var expectedYday  = -1;
            var expectedIsDst = 0;

            // Assert
            var actualYear  = target.year;
            var actualMon   = target.mon;
            var actualMday  = target.mday;
            var actualHour  = target.hour;
            var actualMin   = target.min;
            var actualSec   = target.sec;
            var actualWday  = target.wday;
            var actualYday  = target.yday;
            var actualIsDst = target.isdst;

            Assert.AreEqual(expectedYear, actualYear);
            Assert.AreEqual(expectedMon, actualMon);
            Assert.AreEqual(expectedMday, actualMday);
            Assert.AreEqual(expectedHour, actualHour);
            Assert.AreEqual(expectedMin, actualMin);
            Assert.AreEqual(expectedSec, actualSec);
            Assert.AreEqual(expectedWday, actualWday);
            Assert.AreEqual(expectedYday, actualYday);
            Assert.AreEqual(expectedIsDst, actualIsDst);
        }
Ejemplo n.º 10
0
        public override void DoTest(string title, out TestResult tr)
        {
            // Two channels
            tr = new TestResult(2);

            Tm.SetToDefaults();
            SetupBaseTests();

            ((IProgrammableLoad)Tm.TestClass).SetImpedance(ProgrammableLoadImpedance);

            ((IAudioAnalyzer)Tm.TestClass).AudioAnalyzerSetTitle(title);
            ((IAudioAnalyzer)Tm.TestClass).SetInputRange(AnalyzerInputRange);
            ((IAudioAnalyzer)Tm.TestClass).DoFrAquisition(AnalyzerOutputLevel, 0, SmoothingDenominator);
            ((IAudioAnalyzer)Tm.TestClass).TestMask(MaskFileName, LeftChannel, RightChannel, false, out bool passLeft, out bool passRight, out _);

            TestResultBitmap = ((IAudioAnalyzer)Tm.TestClass).GetBitmap();

            if (LeftChannel)
            {
                tr.StringValue[0] = passLeft.ToString();
            }
            else
            {
                tr.StringValue[0] = "SKIP";
            }

            if (RightChannel)
            {
                tr.StringValue[1] = passRight.ToString();
            }
            else
            {
                tr.StringValue[1] = "SKIP";
            }


            if (LeftChannel && RightChannel)
            {
                tr.Pass = passLeft && passRight;
            }
            else if (LeftChannel)
            {
                tr.Pass = passLeft;
            }
            else if (RightChannel)
            {
                tr.Pass = passRight;
            }

            return;
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 添加名牌变动日志
        /// </summary>
        /// <param name="strTrainmanGUID"></param>
        /// <param name="strWorkShopGUID"></param>
        /// <param name="DutyUserGUID"></param>
        /// <param name="DutyUserNumber"></param>
        /// <param name="DutyUserName"></param>
        public void addLog4UpdateTrainmanJiaolu(Tm tm, string TrainJiaoluid, string DutyUserGUID, string DutyUserNumber, string DutyUserName)
        {
            TrainJiaolu trainJiaolu = new TrainJiaolu();
            string      jiaoluname  = "";

            if (TrainJiaoluid != "")
            {
                trainJiaolu = getTrainJiaolu(TrainJiaoluid);
                jiaoluname  = trainJiaolu.strTrainJiaoluName;
            }
            string strContent = string.Format("司机:{0}【{1}】 改变了行车区段 :由【{2}】 更改为【{3}】", tm.strTrainmanName, tm.strTrainmanNumber, tm.strTrainJiaoluName, jiaoluname);

            SaveChangeLog(strContent, tm.strTrainmanJiaoluGUID, tm.strTrainmanJiaoluName, 13, DutyUserGUID, DutyUserNumber, DutyUserName);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 添加车间变动日志
        /// </summary>
        /// <param name="strTrainmanGUID"></param>
        /// <param name="strWorkShopGUID"></param>
        /// <param name="DutyUserGUID"></param>
        /// <param name="DutyUserNumber"></param>
        /// <param name="DutyUserName"></param>
        public void addLog4UpdateWs(Tm tm, string strWorkShopGUID, string DutyUserGUID, string DutyUserNumber, string DutyUserName)
        {
            workshop ws         = new workshop();
            string   strNewName = "";

            if (strWorkShopGUID != "")
            {
                ws         = getWorkshop(strWorkShopGUID);
                strNewName = ws.strWorkShopName;
            }
            string strContent = string.Format("司机:{0}【{1}】 改变了车间 :由【{2}】 更改为【{3}】", tm.strTrainmanName, tm.strTrainmanNumber, tm.strWorkShopName, strNewName);

            SaveChangeLog(strContent, tm.strTrainmanJiaoluGUID, tm.strTrainmanJiaoluName, 11, DutyUserGUID, DutyUserNumber, DutyUserName);
        }
Ejemplo n.º 13
0
        public override void DoTest(string title, out TestResult tr)
        {
            // Two channels
            tr = new TestResult(2);

            Tm.SetToDefaults();
            ((IAudioAnalyzer)Tm.TestClass).SetFftLength(FftSize);
            ((IAudioAnalyzer)Tm.TestClass).AudioAnalyzerSetTitle(title);
            ((IAudioAnalyzer)Tm.TestClass).SetInputRange(AnalyzerInputRange);

            ((IAudioAnalyzer)Tm.TestClass).DoFrAquisition(AnalyzerOutputLevel);
            ((IAudioAnalyzer)Tm.TestClass).TestMask(MaskFileName, out bool passLeft, out bool passRight);

            TestResultBitmap = ((IAudioAnalyzer)Tm.TestClass).GetBitmap();

            if (LeftChannel)
            {
                tr.StringValue[0] = passLeft.ToString();
            }
            else
            {
                tr.StringValue[0] = "SKIP";
            }

            if (RightChannel)
            {
                tr.StringValue[1] = passRight.ToString();
            }
            else
            {
                tr.StringValue[1] = "SKIP";
            }


            if (LeftChannel && RightChannel)
            {
                tr.Pass = passLeft && passRight;
            }
            else if (LeftChannel)
            {
                tr.Pass = passLeft;
            }
            else if (RightChannel)
            {
                tr.Pass = passRight;
            }

            return;
        }
Ejemplo n.º 14
0
 public bool ShareSamePerson(Team T)
 {
     //REPLACE ALL WITH THIS TEAM SET EDITOR
     foreach (var Tm in GetAsList())
     {
         if (!Tm.Enabled)
         {
             continue;
         }
         if (Tm.HasSameParticipant(T))
         {
             return(true);
         }
     }
     return(false);
 }
Ejemplo n.º 15
0
        private void PreviewChanges()
        {
            var selectedTms        = _tmsCollection.Where(t => t.IsSelected).ToList();
            var selectedRulesCount = RulesCollection.Count(r => r.IsSelected);

            if (selectedTms.Count > 0 && selectedRulesCount > 0)
            {
                var serverTms = selectedTms.Where(s => s.IsServerTm).ToList();
                if (serverTms.Any())
                {
                    var uri = new Uri(_translationMemoryViewModel.Credentials.Url);
                    var translationProvider = new TranslationProviderServer(uri, false,
                                                                            _translationMemoryViewModel.Credentials.UserName,
                                                                            _translationMemoryViewModel.Credentials.Password);
                    //get all tus for selected translation memories
                    foreach (var serverTm in serverTms)
                    {
                        var tus = Tm.ServerBasedTmGetTranslationUnits(translationProvider, serverTm.Path,
                                                                      SourceSearchResults, GetSelectedRules());
                        if (!_anonymizeTranslationMemories.Exists(n => n.TmPath.Equals(tus.TmPath)))
                        {
                            _anonymizeTranslationMemories.Add(tus);
                        }
                    }
                }

                //file based tms
                foreach (var tm in selectedTms.Where(s => !s.IsServerTm))
                {
                    var tus = Tm.FileBaseTmGetTranslationUnits(tm.Path, SourceSearchResults, GetSelectedRules());
                    if (!_anonymizeTranslationMemories.Exists(n => n.TmPath.Equals(tus.TmPath)))
                    {
                        _anonymizeTranslationMemories.Add(tus);
                    }
                }
                var previewWindow    = new PreviewWindow();
                var previewViewModel = new PreviewWindowViewModel(SourceSearchResults, _anonymizeTranslationMemories,
                                                                  _tmsCollection, _translationMemoryViewModel);
                previewWindow.DataContext = previewViewModel;
                previewWindow.Show();
            }
            else
            {
                MessageBox.Show(@"Please select at least one translation memory and a rule to preview the changes",
                                "", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Ejemplo n.º 16
0
        public void OperatorDateTimeNumberTest()
        {
            // Arrange
            var expected = new DateTime(2022, 08, 03, 11, 49, 53);
            var target   = new Tm(expected);

            // Act
            DateTimeNumber actual = target;

            // Assert
            Assert.AreEqual(expected.Year, BinaryPrimitives.ReverseEndianness(actual.year));
            Assert.AreEqual(expected.Month, BinaryPrimitives.ReverseEndianness(actual.month));
            Assert.AreEqual(expected.Day, BinaryPrimitives.ReverseEndianness(actual.day));
            Assert.AreEqual(expected.Hour, BinaryPrimitives.ReverseEndianness(actual.hours));
            Assert.AreEqual(expected.Minute, BinaryPrimitives.ReverseEndianness(actual.minutes));
            Assert.AreEqual(expected.Second, BinaryPrimitives.ReverseEndianness(actual.seconds));
        }
Ejemplo n.º 17
0
        public void ConstructorTest()
        {
            // Arrange
            var year   = 2021;
            var month  = 1;
            var day    = 8;
            var hour   = 10;
            var minute = 4;
            var second = 32;
            var date   = new DateTime(2021, 1, 8, 10, 4, 32);

            // Act
            var target       = new Tm(date);
            var expectedYear = year - 1900;
            var expectedMon  = month - 1;
            var expectedMday = day;
            var expectedHour = hour;
            var expectedMin  = minute;
            var expectedSec  = second;
            var expectedWday = (int)date.DayOfWeek;
            var expectedYday = date.DayOfYear - 1;

            // Assert
            var actualYear  = target.year;
            var actualMon   = target.mon;
            var actualMday  = target.mday;
            var actualHour  = target.hour;
            var actualMin   = target.min;
            var actualSec   = target.sec;
            var actualWday  = target.wday;
            var actualYday  = target.yday;
            var actualIsdst = target.isdst;

            Assert.AreEqual(expectedYear, actualYear);
            Assert.AreEqual(expectedMon, actualMon);
            Assert.AreEqual(expectedMday, actualMday);
            Assert.AreEqual(expectedHour, actualHour);
            Assert.AreEqual(expectedMin, actualMin);
            Assert.AreEqual(expectedSec, actualSec);
            Assert.AreEqual(expectedWday, actualWday);
            Assert.AreEqual(expectedYday, actualYday);
            Assert.IsTrue(actualIsdst < 0);
        }
Ejemplo n.º 18
0
        public void FromHandleTest()
        {
            // Arrange
            using (var context = Context.Create(IntPtr.Zero, IntPtr.Zero))
                using (var profile = Profile.CreatePlaceholder(context))
                {
                    var expected = new DateTime(2021, 1, 8, 10, 4, 32);
                    Tm  tm       = new Tm(expected);

                    profile.WriteTag(TagSignature.CalibrationDateTime, tm);

                    // Act
                    // implicit call to FromHandle
                    var      target = profile.ReadTag <Tm>(TagSignature.CalibrationDateTime);
                    DateTime actual = target;

                    // Assert
                    Assert.AreEqual(expected, actual);
                }
        }
        private async void ApplyChanges()
        {
            if (SourceSearchResults.Any(s => s.TuSelected))
            {
                System.Windows.Application.Current.Dispatcher.Invoke(delegate
                {
                    _waitWindow = new WaitWindow();
                    _waitWindow.Show();
                });
                var selectedSearchResult = SourceSearchResults.Where(s => s.TuSelected).ToList();
                List <AnonymizeTranslationMemory> tusToAnonymize;
                //file base tms
                var fileBasedSearchResult = selectedSearchResult.Where(t => !t.IsServer).ToList();
                if (fileBasedSearchResult.Count > 0)
                {
                    BackupFileBasedTm();
                    tusToAnonymize = GetTranslationUnitsToAnonymize(fileBasedSearchResult);
                    Tm.AnonymizeFileBasedTu(tusToAnonymize);
                }
                //server based tms
                var serverBasedSearchResult = selectedSearchResult.Where(t => t.IsServer).ToList();
                if (serverBasedSearchResult.Count > 0)
                {
                    tusToAnonymize = GetTranslationUnitsToAnonymize(serverBasedSearchResult);
                    var uri = new Uri(_tmViewModel.Credentials.Url);
                    var translationProvider = new TranslationProviderServer(uri, false, _tmViewModel.Credentials.UserName,
                                                                            _tmViewModel.Credentials.Password);

                    BackupServerBasedTm(translationProvider, tusToAnonymize);
                    Tm.AnonymizeServerBasedTu(translationProvider, tusToAnonymize);
                }
                RemoveSelectedTusToAnonymize();
                _waitWindow?.Close();
            }
            else
            {
                await _dialogCoordinator.ShowMessageAsync(this, "", "Please select at least one translation unit to apply the changes");
            }
        }
Ejemplo n.º 20
0
        public override void DoTest(string title, out TestResult tr)
        {
            // Two channels of testing
            tr = new TestResult(2);

            Tm.SetToDefaults();
            ((IPowerSupply)Tm.TestClass).SetSupplyState(PowerState);
            Thread.Sleep(1200);
            float current = ((ICurrentMeter)Tm.TestClass).GetDutCurrent(3);


            if ((current > MinimumPassCurrent) && (current < MaximumPassCurrent))
            {
                tr.Pass = true;
            }

            tr.Value[0]       = current;
            tr.StringValue[0] = current.ToString("0.000") + "A";
            tr.StringValue[1] = "SKIP";

            return;
        }
Ejemplo n.º 21
0
 public override string ToString()
 {
     return("[Rc=" + Rc.ToString() + "; Te=" + Te.ToString() + "; Cm=" + Cm.ToString() + "; Ce=" + Ce.ToString() + "; Jn=" + Jn.ToString() + "; K=" + K.ToString() + "; Km=" + Km.ToString() + "; Tm=" + Tm.ToString() + ";]");
 }
Ejemplo n.º 22
0
        public override void DoTest(string title, out TestResult tr)
        {
            // Two channels of testing
            tr = new TestResult(2);

            Tm.SetToDefaults();
            SetupBaseTests();

            ((IAudioAnalyzer)Tm.TestClass).AudioAnalyzerSetTitle(title);
            ((IAudioAnalyzer)Tm.TestClass).SetInputRange(AnalyzerInputRange);


            // The RMS of two distinct but equal tones is 3 dBV above level of the tones
            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen1(true, AnalyzerOutputLevel - 3, 19000);
            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen2(true, AnalyzerOutputLevel - 3, 20000);
            ((IAudioAnalyzer)Tm.TestClass).DoAcquisition();

            TestResultBitmap = ((IAudioAnalyzer)Tm.TestClass).GetBitmap();

            ((IAudioAnalyzer)Tm.TestClass).ComputeRms(18995, 19005, out double l1, out double r1);
            ((IAudioAnalyzer)Tm.TestClass).ComputeRms(995, 1005, out double l2, out double r2);

            if (LeftChannel)
            {
                tr.Value[0] = l2 - l1;
            }

            if (RightChannel)
            {
                tr.Value[1] = r2 - r1;
            }

            bool passLeft = true, passRight = true;

            if (LeftChannel)
            {
                tr.StringValue[0] = tr.Value[0].ToString("0.0") + " dB";
                if ((tr.Value[0] < MinimumPassLevel) || (tr.Value[0] > MaximumPassLevel))
                {
                    passLeft = false;
                }
            }
            else
            {
                tr.StringValue[0] = "SKIP";
            }

            if (RightChannel)
            {
                tr.StringValue[1] = tr.Value[1].ToString("0.0") + " dB";
                if ((tr.Value[1] < MinimumPassLevel) || (tr.Value[1] > MaximumPassLevel))
                {
                    passRight = false;
                }
            }
            else
            {
                tr.StringValue[1] = "SKIP";
            }


            if (LeftChannel && RightChannel)
            {
                tr.Pass = passLeft && passRight;
            }
            else if (LeftChannel)
            {
                tr.Pass = passLeft;
            }
            else if (RightChannel)
            {
                tr.Pass = passRight;
            }

            return;
        }
Ejemplo n.º 23
0
        public override void DoTest(string title, out TestResult tr)
        {
            // Two channels of testing
            tr = new TestResult(2);

            Tm.SetToDefaults();
            SetupBaseTests();

            ((IProgrammableLoad)Tm.TestClass).SetImpedance(ProgrammableLoadImpedance);

            ((IAudioAnalyzer)Tm.TestClass).AudioAnalyzerSetTitle(title);
            ((IAudioAnalyzer)Tm.TestClass).SetInputRange(AnalyzerInputRange);

            if (LeftChannel == true && RightChannel == false)
            {
                ((IAudioAnalyzer)Tm.TestClass).SetMuting(false, true);
            }
            if (LeftChannel == false && RightChannel == true)
            {
                ((IAudioAnalyzer)Tm.TestClass).SetMuting(true, false);
            }
            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen1(true, AnalyzerOutputLevel, TestFrequency);
            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen2(false, AnalyzerOutputLevel, TestFrequency);

            DateTime effStart = DateTime.Now;

            ((IAudioAnalyzer)Tm.TestClass).DoAcquisitionAsync();

            float current = 0;

            while (((IAudioAnalyzer)Tm.TestClass).AnalyzerIsBusy())
            {
                float c = ((ICurrentMeter)Tm.TestClass).GetDutCurrent();
                if (c > current)
                {
                    current = c;
                }

                //Log.WriteLine(LogType.General, string.Format("Elapsed: {0:0.0}  EfficiencyA07() Current: {1:0.000}",
                //    DateTime.Now.Subtract(effStart).TotalMilliseconds, current));

                Thread.Sleep(20);
            }

            TestResultBitmap = ((IAudioAnalyzer)Tm.TestClass).GetBitmap();

            // Get dBV out and adjust based on input gains
            ((IAudioAnalyzer)Tm.TestClass).ComputeRms(TestFrequency * 0.98f, TestFrequency * 1.02f, out double peakLDbv, out double peakRDbv);
            //peakLDbv -= PreAnalyzerInputGain;
            //peakRDbv -= PreAnalyzerInputGain;

            // Convert to Volts RMS
            double leftVrms  = (double)Math.Pow(10, peakLDbv / 20);
            double rightVrms = (double)Math.Pow(10, peakRDbv / 20);

            // Convert to watts
            double wattsL = leftVrms * leftVrms / ProgrammableLoadImpedance;
            double wattsR = rightVrms * rightVrms / ProgrammableLoadImpedance;

            double wattsInPerChannel = AmplifierSupplyVoltage * current;

            // If both channels being testing, then per-channel is half of measured
            if (LeftChannel == true && RightChannel == true)
            {
                wattsInPerChannel = wattsInPerChannel / 2;
            }

            tr.Value[0] = 100 * wattsL / wattsInPerChannel;
            tr.Value[1] = 100 * wattsR / wattsInPerChannel;

            bool passLeft = true, passRight = true;

            if (LeftChannel)
            {
                tr.StringValue[0] = string.Format("{0:N1}% @ {1:N2} W out LPin = {2:N1}", tr.Value[0], wattsL, wattsInPerChannel);
                if ((tr.Value[0] < MinimumPassEfficiency) || (tr.Value[0] > MaximumPassEfficiency))
                {
                    passLeft = false;
                }
            }
            else
            {
                tr.StringValue[0] = "SKIP";
            }

            if (RightChannel)
            {
                tr.StringValue[1] = string.Format("{0:N1}% @ {1:N2} W out RPin = {2:N1}", tr.Value[1], wattsR, wattsInPerChannel);
                if ((tr.Value[1] < MinimumPassEfficiency) || (tr.Value[1] > MaximumPassEfficiency))
                {
                    passLeft = false;
                }
            }
            else
            {
                tr.StringValue[1] = "SKIP";
            }


            if (LeftChannel && RightChannel)
            {
                tr.Pass = passLeft && passRight;
            }
            else if (LeftChannel)
            {
                tr.Pass = passLeft;
            }
            else if (RightChannel)
            {
                tr.Pass = passRight;
            }

            return;
        }
Ejemplo n.º 24
0
        public override void DoTest(string title, out TestResult tr)
        {
            // Two channels of testing
            tr = new TestResult(2);

            double[] vOut4 = new double[2] {
                double.NaN, double.NaN
            };
            double[] vOut8 = new double[2] {
                double.NaN, double.NaN
            };

            Tm.SetToDefaults();
            ((IAudioAnalyzer)Tm.TestClass).AudioAnalyzerSetTitle(title);
            ((IAudioAnalyzer)Tm.TestClass).SetInputRange(AnalyzerInputRange);

            // First, we make 8 ohm measurement
            ((IProgrammableLoad)Tm.TestClass).SetImpedance(8);
            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen1(true, AnalyzerOutputLevel, TestFrequency);
            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen2(false, AnalyzerOutputLevel, TestFrequency);
            ((IAudioAnalyzer)Tm.TestClass).DoAcquisition();

            // Grab the 8 ohm levels
            ((IAudioAnalyzer)Tm.TestClass).ComputeRms(TestFrequency * 0.98f, TestFrequency * 1.02f, out vOut8[0], out vOut8[1]);

            // Now make 4 ohm meausrement
            ((IProgrammableLoad)Tm.TestClass).SetImpedance(4);
            ((IAudioAnalyzer)Tm.TestClass).DoAcquisition();

            // Grab the 4 ohm circuit levels
            ((IAudioAnalyzer)Tm.TestClass).ComputeRms(TestFrequency * 0.98f, TestFrequency * 1.02f, out vOut4[0], out vOut4[1]);

            // Compute impedance
            for (int i = 0; i < 2; i++)
            {
                if (!double.IsNaN(vOut4[i]) && !double.IsNaN(vOut8[i]))
                {
                    tr.Value[i] = CalcImpedance(vOut4[i], vOut8[i]);
                }
            }

            bool passLeft = true, passRight = true;

            if (LeftChannel)
            {
                tr.StringValue[0] = tr.Value[0].ToString("0.0000") + " ohms";
                if ((tr.Value[0] < MinimumPassImpedance) || (tr.Value[0] > MaximumPassImpedance))
                {
                    passLeft = false;
                }
            }
            else
            {
                tr.StringValue[0] = "SKIP";
            }

            if (RightChannel)
            {
                tr.StringValue[1] = tr.Value[1].ToString("0.0000") + " ohms";
                if ((tr.Value[1] < MinimumPassImpedance) || (tr.Value[1] > MaximumPassImpedance))
                {
                    passRight = false;
                }
            }
            else
            {
                tr.StringValue[1] = "SKIP";
            }


            if (LeftChannel && RightChannel)
            {
                tr.Pass = passLeft && passRight;
            }
            else if (LeftChannel)
            {
                tr.Pass = passLeft;
            }
            else if (RightChannel)
            {
                tr.Pass = passRight;
            }

            return;
        }
Ejemplo n.º 25
0
        public override void DoTest(string title, out TestResult tr)
        {
            // Two channels of testing
            tr = new TestResult(2);

            Tm.SetToDefaults();
            ((IAudioAnalyzer)Tm.TestClass).AudioAnalyzerSetTitle(title);
            ((IAudioAnalyzer)Tm.TestClass).SetInputRange(AnalyzerInputRange);

            ((IProgrammableLoad)Tm.TestClass).SetImpedance(ProgrammableLoadImpedance);

            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen1(true, AnalyzerOutputLevel - 3, 19000);
            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen2(true, AnalyzerOutputLevel - 3, 20000);
            ((IAudioAnalyzer)Tm.TestClass).DoAcquisition();

            TestResultBitmap = ((IAudioAnalyzer)Tm.TestClass).GetBitmap();

            ((IAudioAnalyzer)Tm.TestClass).ComputeRms(18995, 19005, out double toneRmsL, out double toneRmsR);
            ((IAudioAnalyzer)Tm.TestClass).ComputeRms(990, 1010, out double productLeft, out double productRight);
            tr.Value[0] = toneRmsL + 6 - productLeft;
            tr.Value[1] = toneRmsR + 6 - productRight;

            bool passLeft = true, passRight = true;

            if (LeftChannel)
            {
                tr.StringValue[0] = tr.Value[0].ToString("0.0") + " dB";
                if ((tr.Value[0] < MinimumPassLevel) || (tr.Value[0] > MaximumPassLevel))
                {
                    passLeft = false;
                }
            }
            else
            {
                tr.StringValue[0] = "SKIP";
            }

            if (RightChannel)
            {
                tr.StringValue[1] = tr.Value[1].ToString("0.0") + " dB";
                if ((tr.Value[1] < MinimumPassLevel) || (tr.Value[1] > MaximumPassLevel))
                {
                    passRight = false;
                }
            }
            else
            {
                tr.StringValue[1] = "SKIP";
            }


            if (LeftChannel && RightChannel)
            {
                tr.Pass = passLeft && passRight;
            }
            else if (LeftChannel)
            {
                tr.Pass = passLeft;
            }
            else if (RightChannel)
            {
                tr.Pass = passRight;
            }

            return;
        }
Ejemplo n.º 26
0
        /// <summary>
        /// 添加名牌变动日志
        /// </summary>
        /// <param name="strTrainmanGUID"></param>
        /// <param name="strWorkShopGUID"></param>
        /// <param name="DutyUserGUID"></param>
        /// <param name="DutyUserNumber"></param>
        /// <param name="DutyUserName"></param>
        public void addLog4DelTrainMan(Tm tm, string DutyUserGUID, string DutyUserNumber, string DutyUserName)
        {
            string strContent = string.Format("司机:{0}【{1}】 被删除", tm.strTrainmanName, tm.strTrainmanNumber);

            SaveChangeLog(strContent, tm.strTrainmanJiaoluGUID, tm.strTrainmanJiaoluName, 14, DutyUserGUID, DutyUserNumber, DutyUserName);
        }
Ejemplo n.º 27
0
 private Tn B(Tm m) {
     return new Tn();
 }
Ejemplo n.º 28
0
        public override void DoTest(string title, out TestResult tr)
        {
            // Two channels
            tr = new TestResult(2);

            Tm.SetToDefaults();
            ((IAudioAnalyzer)Tm.TestClass).SetFftLength(FftSize);
            ((IAudioAnalyzer)Tm.TestClass).AudioAnalyzerSetTitle(title);
            ((IAudioAnalyzer)Tm.TestClass).SetInputRange(AnalyzerInputRange);

            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen1(true, AnalyzerOutputLevel, TestFrequency);
            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen2(false, AnalyzerOutputLevel, TestFrequency);

            ((IAudioAnalyzer)Tm.TestClass).DoAcquisition();

            TestResultBitmap = ((IAudioAnalyzer)Tm.TestClass).GetBitmap();

            // Compute the total RMS around the freq of interest
            ((IAudioAnalyzer)Tm.TestClass).ComputePeak(TestFrequency * 0.90f, TestFrequency * 1.10f, out tr.Value[0], out tr.Value[1]);
            tr.Value[0] = tr.Value[0] + ExternalAnalyzerInputGain - AnalyzerOutputLevel;
            tr.Value[1] = tr.Value[1] + ExternalAnalyzerInputGain - AnalyzerOutputLevel;

            bool passLeft = true, passRight = true;

            if (LeftChannel)
            {
                tr.StringValue[0] = tr.Value[0].ToString("0.00") + " dB";
                if ((tr.Value[0] < MinimumPassGain) || (tr.Value[0] > MaximumPassGain))
                {
                    passLeft = false;
                }
            }
            else
            {
                tr.StringValue[0] = "SKIP";
            }

            if (RightChannel)
            {
                tr.StringValue[1] = tr.Value[1].ToString("0.00") + " dB";
                if ((tr.Value[1] < MinimumPassGain) || (tr.Value[1] > MaximumPassGain))
                {
                    passRight = false;
                }
            }
            else
            {
                tr.StringValue[1] = "SKIP";
            }


            if (LeftChannel && RightChannel)
            {
                tr.Pass = passLeft && passRight;
            }
            else if (LeftChannel)
            {
                tr.Pass = passLeft;
            }
            else if (RightChannel)
            {
                tr.Pass = passRight;
            }

            return;
        }
Ejemplo n.º 29
0
        public override void DoTest(string title, out TestResult tr)
        {
            // Two channels of testing
            tr = new TestResult(2);

            Tm.SetToDefaults();
            ((IAudioAnalyzer)Tm.TestClass).AudioAnalyzerSetTitle(title);
            ((IAudioAnalyzer)Tm.TestClass).SetFftLength(FftSize);
            ((IAudioAnalyzer)Tm.TestClass).SetInputRange(InputRange);
            ((IProgrammableLoad)Tm.TestClass).SetImpedance(LoadImpedance);

            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen1(true, OutputLevel, Freq);
            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen2(false, OutputLevel, Freq);
            ((IAudioAnalyzer)Tm.TestClass).DoAcquisition();

            TestResultBitmap = ((IAudioAnalyzer)Tm.TestClass).GetBitmap();

            // Get THD in dB
            ((IAudioAnalyzer)Tm.TestClass).ComputeThdPct(Freq, 20000, out tr.Value[0], out tr.Value[1]);
            tr.Value[0] = 20 * (float)Math.Log10(tr.Value[0] / 100);
            tr.Value[1] = 20 * (float)Math.Log10(tr.Value[1] / 100);

            // Compute peak
            ((IAudioAnalyzer)Tm.TestClass).ComputeRms(Freq * 0.98f, Freq * 1.02f, out double peakLDbv, out double peakRDbv);

            // Convert to volts
            double leftVrms  = (float)Math.Pow(10, peakLDbv / 20);
            double rightVrms = (float)Math.Pow(10, peakRDbv / 20);

            // Convert to watts
            double leftWatts  = (leftVrms * leftVrms) / LoadImpedance;
            double rightWatts = (rightVrms * rightVrms) / LoadImpedance;

            bool passLeft = true, passRight = true;

            if (LeftChannel)
            {
                tr.StringValue[0] = string.Format("{0:N1} dB @ {1:N1} Watts", tr.Value[0], leftWatts);
                if ((tr.Value[0] < MinimumOKThd) || (tr.Value[0] > MaximumOKThd))
                {
                    passLeft = false;
                }
            }
            else
            {
                tr.StringValue[0] = "SKIP";
            }

            if (RightChannel)
            {
                tr.StringValue[1] = string.Format("{0:N1} dB @ {1:N1} Watts", tr.Value[1], rightWatts);
                if ((tr.Value[1] < MinimumOKThd) || (tr.Value[1] > MaximumOKThd))
                {
                    passRight = false;
                }
            }
            else
            {
                tr.StringValue[1] = "SKIP";
            }


            if (LeftChannel && RightChannel)
            {
                tr.Pass = passLeft && passRight;
            }
            else if (LeftChannel)
            {
                tr.Pass = passLeft;
            }
            else if (RightChannel)
            {
                tr.Pass = passRight;
            }

            return;
        }
Ejemplo n.º 30
0
        public override void DoTest(string title, out TestResult tr)
        {
            // Two channels of testing
            tr = new TestResult(2);

            Tm.SetToDefaults();
            SetupBaseTests();

            ((IAudioAnalyzer)Tm.TestClass).AudioAnalyzerSetTitle(title);
            ((IAudioAnalyzer)Tm.TestClass).SetInputRange(InputRange);

            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen1(true, OutputLevel, Freq);
            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen2(false, OutputLevel, Freq);
            ((IAudioAnalyzer)Tm.TestClass).DoAcquisition();

            TestResultBitmap = ((IAudioAnalyzer)Tm.TestClass).GetBitmap();

            ((IAudioAnalyzer)Tm.TestClass).ComputeThdnPct(Freq, StartFreq, StopFreq, out tr.Value[0], out tr.Value[1]);

            // Convert to db
            tr.Value[0] = 20 * (float)Math.Log10(tr.Value[0] / 100);
            tr.Value[1] = 20 * (float)Math.Log10(tr.Value[1] / 100);

            bool passLeft = true, passRight = true;

            if (LeftChannel)
            {
                tr.StringValue[0] = tr.Value[0].ToString("0.0") + " dB";
                if ((tr.Value[0] < MinimumOkThdN) || (tr.Value[0] > MaximumOkThdN))
                {
                    passLeft = false;
                }
            }
            else
            {
                tr.StringValue[0] = "SKIP";
            }

            if (RightChannel)
            {
                tr.StringValue[1] = tr.Value[1].ToString("0.0") + " dB";
                if ((tr.Value[1] < MinimumOkThdN) || (tr.Value[1] > MaximumOkThdN))
                {
                    passRight = false;
                }
            }
            else
            {
                tr.StringValue[1] = "SKIP";
            }

            if (LeftChannel && RightChannel)
            {
                tr.Pass = passLeft && passRight;
            }
            else if (LeftChannel)
            {
                tr.Pass = passLeft;
            }
            else if (RightChannel)
            {
                tr.Pass = passRight;
            }

            return;
        }
Ejemplo n.º 31
0
        public override void DoTest(string title, out TestResult tr)
        {
            // Two channels of testing
            tr = new TestResult(2);

            Tm.SetToDefaults();
            ((IAudioAnalyzer)Tm.TestClass).SetInputRange(AnalyzerInputRange);
            ((IAudioAnalyzer)Tm.TestClass).SetFftLength(FftSize);
            ((IAudioAnalyzer)Tm.TestClass).AudioAnalyzerSetTitle(title);

            ((IProgrammableLoad)Tm.TestClass).SetImpedance(ProgrammableLoadImpedance);

            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen1(true, AnalyzerOutputLevel, TestFrequency);
            ((IAudioAnalyzer)Tm.TestClass).AudioGenSetGen2(false, AnalyzerOutputLevel, TestFrequency);
            ((IAudioAnalyzer)Tm.TestClass).DoAcquisition();

            while (((IAudioAnalyzer)Tm.TestClass).AnalyzerIsBusy())
            {
                float current = ((ICurrentMeter)Tm.TestClass).GetDutCurrent();
                Log.WriteLine(LogType.General, "Current: " + current);
            }

            TestResultBitmap = ((IAudioAnalyzer)Tm.TestClass).GetBitmap();

            // Compute the total RMS around the freq of interest
            ((IAudioAnalyzer)Tm.TestClass).ComputeRms(TestFrequency * 0.90f, TestFrequency * 1.10f, out tr.Value[0], out tr.Value[1]);
            tr.Value[0] = tr.Value[0] - AnalyzerOutputLevel - ExternalAnalyzerInputGain;
            tr.Value[1] = tr.Value[1] - AnalyzerOutputLevel - ExternalAnalyzerInputGain;

            bool passLeft = true, passRight = true;

            if (LeftChannel)
            {
                tr.StringValue[0] = tr.Value[0].ToString("0.00") + " dB";
                if ((tr.Value[0] < MinimumPassGain) || (tr.Value[0] > MaximumPassGain))
                {
                    passLeft = false;
                }
            }
            else
            {
                tr.StringValue[0] = "SKIP";
            }

            if (RightChannel)
            {
                tr.StringValue[1] = tr.Value[1].ToString("0.00") + " dB";
                if ((tr.Value[1] < MinimumPassGain) || (tr.Value[1] > MaximumPassGain))
                {
                    passRight = false;
                }
            }
            else
            {
                tr.StringValue[1] = "SKIP";
            }


            if (LeftChannel && RightChannel)
            {
                tr.Pass = passLeft && passRight;
            }
            else if (LeftChannel)
            {
                tr.Pass = passLeft;
            }
            else if (RightChannel)
            {
                tr.Pass = passRight;
            }

            return;
        }