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); }
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(); }
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(); }
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; }
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; }
/// <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); }
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); }
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; }
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); }
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; }
/// <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); }
/// <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); }
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; }
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); }
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); } }
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)); }
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); }
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"); } }
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; }
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() + ";]"); }
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; }
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; }
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; }
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; }
/// <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); }
private Tn B(Tm m) { return new Tn(); }
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; }
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; }
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; }
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; }