public void Start()
        {
            if (SelectedRemapping == null)
            {
                MessageBox.Show("Select a remapping first");
                return;
            }
            if (DemoManager.VisualizationSchedule.Count <= 0)
            {
                MessageBox.Show("No demos added to schedule");
                return;
            }
            if (Device == null || Device.IsConnected == false)
            {
                MessageBox.Show("Must be connected to a HypnoLSD module first");
                return;
            }

            SetRemappingParameters(false);

            Task.Factory.StartNew(() =>
            {
                try
                {
                    if (SelectedDemoIndex < 0)
                    {
                        SelectedDemoIndex = 0;
                    }
                    DemoManager.Start(Device, SelectedRemapping, BaudRate, ClipFilter);
                }
                catch (Exception e)
                {
                    Messager.AddError(e.ToString());
                }
                Playback.Start();

                IsRunning = true;

                Thread.Sleep(1000);

                if (EnableLoggingAction != null)
                {
                    EnableLoggingAction(false); // otherwise kills gui
                }
            });
        }
 public void SendText()
 {
     try
     {
         if (Device.IsConnected)
         {
             Device.WriteString(TextCommand + "\r\n");
             if (!CommandList.Contains(TextCommand))
             {
                 CommandList.Add(TextCommand);
             }
         }
     }
     catch (Exception e)
     {
         Messager.AddError(e.ToString());
     }
 }