Exemple #1
0
 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());
     }
 }
Exemple #2
0
        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;
            }
        }