コード例 #1
0
        public LEDStripForm()
        {
            this.InitializeComponent();

            var modes = Enum.GetNames(typeof(Codes.Mode));

            this.comboBox_mode.Items.AddRange(modes);

            var palettes = Enum.GetNames(typeof(Codes.Palette));

            this.comboBox_palette.Items.AddRange(palettes);

            //this.messageSender = Serial.Instance;
            this.messageSender = new SimulationMessageSender();
            var opened = this.messageSender.Open();

            this.buttonOpenSerial.Enabled = !opened;

            this.settings = new Settings(Codes.LED_COUNT);

            this.textBox_brightness.Text           = this.settings.Brightness.ToString();
            this.textBox_color_r.Text              = this.settings.color.R.ToString();
            this.textBox_color_g.Text              = this.settings.color.G.ToString();
            this.textBox_color_b.Text              = this.settings.color.B.ToString();
            this.textBox_updates.Text              = this.settings.UpdatesPerSecond.ToString();
            this.textBox_paletteChangeDivider.Text = this.settings.PaletteChangeDivider.ToString();

            this.comboBox_mode.SelectedIndex    = (int)this.settings.mode;
            this.comboBox_palette.SelectedIndex = (int)this.settings.palette;

            this.button_ScreenColorStart.Enabled = false;
            this.button_ScreenColorStop.Enabled  = false;
        }
コード例 #2
0
 public AudioLeds()
 {
     //this.messageSender = new SimulationMessageSender();
     this.messageSender = Serial.Instance;
     Serial.onData     += onData;
     this.messageSender.Open();
     this.messageSender.SendValue(64, Codes.MessageType.BRIGHTNESS);
     this.builder = new MessageBuilder
     {
         MessageType = Codes.MessageType.CONTROL_AUDIOBANDS
     };
     this.buffer = new SmoothBuffer(10, 0.2f, true);
     this.max    = new SmoothBuffer(1, 0.05f, true);
     new Thread(this.updater).Start();
 }
コード例 #3
0
        public ScreenLEDController(ILedMessageSender messageSender, int updatesPerSecond, int ledCount, MessageMode controlMode, bool useBothSceens)
            : base(messageSender, updatesPerSecond)
        {
            this.ledCount    = ledCount;
            this.controlMode = controlMode;

            this.readScreenColor = new ReadScreenColor();
            var screenWidth = (useBothSceens ? 2 : 1) * 1920;

            ReadScreenColor.ScreenSize  = new Size(screenWidth, 1080);
            ReadScreenColor.AverageSize = new Size(this.ledCount, 1);

            this.builder = new MessageBuilder();

            int bufferLength;

            switch (this.controlMode)
            {
            case MessageMode.RGB:
                this.builder.MessageType = Codes.MessageType.CONTROL_HVS;
                this.control             = new RGBMessage();
                bufferLength             = ledCount * 3;
                break;

            case MessageMode.HSV:
                this.builder.MessageType = Codes.MessageType.CONTROL_HVS;
                this.control             = new HSVMessage();
                bufferLength             = ledCount * 3;
                break;

            case MessageMode.H:
                this.builder.MessageType = Codes.MessageType.CONTROL_HUE;
                this.control             = new HMessage();
                bufferLength             = ledCount;
                break;

            default:
                throw new System.ArgumentException("MessageMode has invalid value");
            }


            this.buffer      = new byte[bufferLength];
            this.colorBuffer = new Color[ledCount];
        }
コード例 #4
0
 public LEDController(ILedMessageSender messageSender)
 {
     this.messageSender = messageSender;
 }
コード例 #5
0
        // a few Random points than move along the string, with lerp between them

        public RandomMovingPointsLEDController(ILedMessageSender messageSender, int updatesPerSecond) : base(messageSender, updatesPerSecond)
        {
            throw new System.NotImplementedException();
        }
コード例 #6
0
 public SmoothRandomLEDController(ILedMessageSender messageSender, int updatesPerSecond, float secondsBetweenChange, float transiationTime)
     : base(messageSender, updatesPerSecond)
 {
     this.SecondsBetweenChange = secondsBetweenChange;
     this.TransitionTime       = transiationTime;
 }
コード例 #7
0
 public ThreadLEDController(ILedMessageSender messageSender, int updatesPerSecond) : base(messageSender)
 {
     this.UpdatesPerSecond = updatesPerSecond;
 }
コード例 #8
0
 public HueCycleLEDController(int ledCount, ILedMessageSender messageSender, int updatesPerSecond, int step)
     : base(messageSender, updatesPerSecond)
 {
     this.Step = step;
 }