public static async Task <RotaryTestManager> CreateRotaryTest(IUnityContainer container, EvcCommunicationClient instrumentCommClient, string tachometerPortName, IVerifier verifier) { TachometerCommunicator tachComm = null; if (!string.IsNullOrEmpty(tachometerPortName)) { tachComm = new TachometerCommunicator(tachometerPortName); } await instrumentCommClient.Connect(); var itemValues = await instrumentCommClient.GetItemValues(instrumentCommClient.ItemDetails.GetAllItemNumbers()); await instrumentCommClient.Disconnect(); var instrument = new Instrument(InstrumentType.MiniMax, itemValues); var driveType = new RotaryDrive(instrument); CreateVerificationTests(instrument, driveType); var volumeTest = instrument.VolumeTest; var rotaryVolumeTest = new RotaryVolumeVerification(container.Resolve <IEventAggregator>(), volumeTest, instrumentCommClient, tachComm); var manager = new RotaryTestManager(container, instrument, instrumentCommClient, rotaryVolumeTest, verifier); container.RegisterInstance <TestManager>(manager); return(manager); }
public RotaryVolumeVerification(IEventAggregator eventAggregator, VolumeTest volumeTest, EvcCommunicationClient instrumentComm, TachometerCommunicator tachComm) : base(eventAggregator, volumeTest, instrumentComm) { _tachometerCommunicator = tachComm; _outputBoard = DInOutBoardFactory.CreateBoard(0, 0, 0); }
public void TestParseTachometer() { const string value = @" @D0 OK 12000 "; var test = TachometerCommunicator.ParseTachValue(value); }