private void SetStateInternal(PowerStateValue powerState, ColorState colorState, bool forceUpdate = false) { if (colorState == null) { if (!forceUpdate && _powerState == powerState) { return; } } else if (!forceUpdate && _powerState == powerState && colorState.Equals(_colorState)) { return; } var oldState = GetState(); var parameters = forceUpdate ? new IHardwareParameter[] { HardwareParameter.ForceUpdateState } : new IHardwareParameter[0]; if (powerState == PowerStateValue.On) { _adapter.SetState(AdapterPowerState.On, GenerateAdapterColor(colorState), parameters); } else if (powerState == PowerStateValue.Off) { _adapter.SetState(AdapterPowerState.Off, GenerateAdapterColor(colorState), parameters); } _powerState = powerState; _colorState = colorState; OnStateChanged(oldState); }
private void Stop() { var oldState = GetState(); _adapter.SetState(AdapterRollerShutterState.Stop); _powerState = PowerStateValue.Off; _verticalMovingState = VerticalMovingStateValue.Stopped; _autoOffTimeout.Stop(); OnStateChanged(oldState); }
private void MoveDown() { var oldState = GetState(); _adapter.SetState(AdapterRollerShutterState.MoveDown); _powerState = PowerStateValue.On; _verticalMovingState = VerticalMovingStateValue.MovingDown; _autoOffTimeout.Start(Settings.AutoOffTimeout); OnStateChanged(oldState); }
private void MoveUp(bool forceUpdate = false) { var oldState = GetState(); if (forceUpdate) { _adapter.SetState(AdapterRollerShutterState.MoveUp, HardwareParameter.ForceUpdateState); } else { _adapter.SetState(AdapterRollerShutterState.MoveUp); } _powerState = PowerStateValue.On; _verticalMovingState = VerticalMovingStateValue.MovingUp; _autoOffTimeout.Start(Settings.AutoOffTimeout); OnStateChanged(oldState); }
private void SetStateInternal(PowerStateValue powerState, bool forceUpdate = false) { if (!forceUpdate && _powerState == powerState) { return; } var oldState = GetState(); var parameters = forceUpdate ? new IHardwareParameter[] { HardwareParameter.ForceUpdateState } : new IHardwareParameter[0]; if (powerState == PowerStateValue.On) { _adapter.SetState(AdapterPowerState.On, parameters); } else if (powerState == PowerStateValue.Off) { _adapter.SetState(AdapterPowerState.Off, parameters); } _powerState = powerState; OnStateChanged(oldState); }