private void _PulseOffTimer_Elapsed(object sender, ElapsedEventArgs e) { _UpdateEventArgs.Value = TurnDevice.ON; SignalCounter++; _UpdateEventArgs.ActualCountSingleONSignals = SignalCounter; EUpdate?.Invoke(this, _UpdateEventArgs); _PulseOffTimer.Stop( ); _PulseOnTimer.Start( ); }
void TurnSingleDevice(int index, bool value) { if ((index < CommanderConfiguration.NumberOfOutputs) && (index >= 0)) { _UpdateEventArgs.Index = index; _UpdateEventArgs.Value = value; _UpdateEventArgs.State = SequencerState.Running; EUpdate?.Invoke(this, _UpdateEventArgs); } }
private void _NextSequenceTimer_Elapsed(object sender, ElapsedEventArgs e) { _NextSequenceTimer.Stop( ); _PulseOnTimer.Start( ); _UpdateEventArgs.Value = TurnDevice.ON; _UpdateEventArgs.State = SequencerState.Running; _UpdateEventArgs.ActualCountSequences = ++SequenceCounter; SignalCounter = StartValueSignalCount; SignalCounter++; _UpdateEventArgs.ActualCountSingleONSignals = SignalCounter; EUpdate?.Invoke(this, _UpdateEventArgs); }
private void _PulseOnTimer_Elapsed(object sender, ElapsedEventArgs e) { _PulseOnTimer.Stop( ); _UpdateEventArgs.Value = TurnDevice.OFF; if ((_UpdateEventArgs.ActualCountSingleONSignals < _config.CountSequenceSignals) || (_config.CountSequenceSignals == 0)) { _PulseOffTimer.Start( ); } else if (_UpdateEventArgs.ActualCountSingleONSignals >= _config.CountSequenceSignals) { _PulseOffTimer.Stop( ); switch (_config.SequencerMode) { case SequencerModi.MultipleCount: SignalCounter = StartValueSignalCount; if ((_UpdateEventArgs.ActualCountSequences < _config.CountSequencePeriodes) || (_config.CountSequencePeriodes == 0)) { _UpdateEventArgs.State = SequencerState.WaitForNextSequence; _NextSequenceTimer.Start( ); } else { _UpdateEventArgs.ActualCountSequences = StartValueSequenceCount; _NextSequenceTimer.Stop( ); _UpdateEventArgs.State = SequencerState.Finished; } break; case SequencerModi.Single: SignalCounter = StartValueSignalCount; _UpdateEventArgs.State = SequencerState.Finished; break; } } EUpdate?.Invoke(this, _UpdateEventArgs); }
void Update_() { EUpdate?.Invoke(this, _UpdateEventArgs); }
void Update() { EUpdate?.Invoke(); }