Пример #1
0
        /// <summary>
        /// Save a preset in the Blink(1) device, so it can be played back at a later time.
        /// </summary>
        /// <param name="blink1Preset">
        /// The presets for the Blink(1) device.
        /// </param>
        /// <param name="position">
        /// The position of the preset in the list of presets of the device.
        /// </param>
        /// <returns>
        /// True if the preset was saved successfully.
        /// </returns>
        public bool SavePreset(Blink1Preset blink1Preset, uint position)
        {
            if (blink1Preset == null)
            {
                throw new ArgumentNullException("blink1Preset", "Argument must not be null.");
            }

            if (position >= Blink1Constant.NumberOfPreset)
            {
                throw new ArgumentOutOfRangeException("position", string.Format("Valid positions are 0-{0} inclusively.", Blink1Constant.NumberOfPreset - 1));
            }

            if (this.IsConnected == false)
            {
                throw new InvalidOperationException("No Blink(1) device connected.");
            }

            byte[] buffers = new byte[this.hidDevice.Capabilities.FeatureReportByteLength];

            buffers[0] = Convert.ToByte(1);
            buffers[1] = Convert.ToByte('P');
            buffers[2] = Convert.ToByte(blink1Preset.Rgb.Red);
            buffers[3] = Convert.ToByte(blink1Preset.Rgb.Green);
            buffers[4] = Convert.ToByte(blink1Preset.Rgb.Blue);
            buffers[5] = Convert.ToByte((blink1Preset.Millisecond / 10) >> 8);
            buffers[6] = Convert.ToByte((blink1Preset.Millisecond / 10) % 0xff);
            buffers[7] = Convert.ToByte(position);

            return(this.hidDevice.WriteFeatureData(buffers));
        }
Пример #2
0
        private void savePresetToSelectedBlink1DeviceToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.blink1.IsConnected == false)
            {
                MessageBox.Show("No Blink(1) devices found.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }

            for (int counter = 0; counter < Blink1Constant.NumberOfPreset; counter++)
            {
                PresetControl control = (PresetControl)this.flowLayoutPanelPreset.Controls[counter];

                Blink1Preset preset = new Blink1Preset(control.Millisecond, control.Color);

                this.blink1.SavePreset(preset, (ushort)counter);
            }

            if (this.checkBoxInactivityMode.CheckState == CheckState.Checked)
            {
                this.blink1.ActivateInactivityMode(Convert.ToUInt16(this.textBoxInactivityMillisecond.Text));
            }
            else
            {
                this.blink1.DeactivateInactivityMode();
            }
        }
Пример #3
0
        /// <summary>
        /// Save a preset in the Blink(1) device, so it can be played back at a later time.
        /// </summary>
        /// <param name="blink1Preset">
        /// The presets for the Blink(1) device.
        /// </param>
        /// <param name="position">
        /// The position of the preset in the list of presets of the device.
        /// </param>
        /// <returns>
        /// True if the preset was saved successfully.
        /// </returns>
        public bool SavePreset(Blink1Preset blink1Preset, uint position)
        {
            if (blink1Preset == null)
            {
                throw new ArgumentNullException("blink1Preset", "Argument must not be null.");
            }

            if (position >= Blink1Constant.NumberOfPreset)
            {
                throw new ArgumentOutOfRangeException("position", string.Format("Valid positions are 0-{0} inclusively.", Blink1Constant.NumberOfPreset - 1));
            }

            if (this.IsConnected == false)
            {
                throw new InvalidOperationException("No Blink(1) device connected.");
            }

            byte[] buffers = new byte[this.hidDevice.Capabilities.FeatureReportByteLength];

            buffers[0] = Convert.ToByte(1);
            buffers[1] = Convert.ToByte('P');
            buffers[2] = Convert.ToByte(blink1Preset.Rgb.Red);
            buffers[3] = Convert.ToByte(blink1Preset.Rgb.Green);
            buffers[4] = Convert.ToByte(blink1Preset.Rgb.Blue);
            buffers[5] = Convert.ToByte((blink1Preset.Millisecond / 10) >> 8);
            buffers[6] = Convert.ToByte((blink1Preset.Millisecond / 10) % 0xff);
            buffers[7] = Convert.ToByte(position);

            return this.hidDevice.WriteFeatureData(buffers);
        }