internal static void StartStopComThread() { serial?.Dispose(); if (!string.IsNullOrWhiteSpace(Settings.Model.SerialComId)) { serial = new SerialCom(); SerialCom.Enqueue(Message.SetLedNumber(Settings.Model.TotalLeds)); SerialCom.Enqueue(Message.GetPatterns()); } }
private void SendPattern(object sender, PropertyChangedEventArgs e) { switch (e.PropertyName) { case nameof(Settings.Model.PatternId): var value = Settings.Model.PatternId; Enqueue(Message.SetPattern(value)); if (value == -2) //manual control { Enqueue(Message.SetRed(Settings.Model.Red)); Enqueue(Message.SetGreen(Settings.Model.Green)); Enqueue(Message.SetBlue(Settings.Model.Blue)); Enqueue(Message.SetBright(Settings.Model.Brightness)); } break; case nameof(Settings.Model.HorizontalLEDs): case nameof(Settings.Model.VerticalLEDs): Enqueue(Message.SetLedNumber(Settings.Model.TotalLeds)); break; case nameof(Settings.Model.Brightness): Enqueue(Message.SetBright(Settings.Model.Brightness)); break; case nameof(Settings.Model.Red): Enqueue(Message.SetRed(Settings.Model.Red)); break; case nameof(Settings.Model.Green): Enqueue(Message.SetGreen(Settings.Model.Green)); break; case nameof(Settings.Model.Blue): Enqueue(Message.SetBlue(Settings.Model.Blue)); break; case nameof(Settings.Model.Mirror): Enqueue(Settings.Model.Mirror? Message.StreamStart() : Message.StreamEnd()); break; } }