Beispiel #1
0
        /* TODO.
         * /// <summary> Sets the brightness of the light. </summary>
         * /// <param name="brightness"> The level of brightness, from 0 to 100. </param>
         * public async Task SetBrightnessAsync(byte brightness)
         * {
         *  if (brightness > 100) throw new MagicHomeException("Brightness value cannot be more than 100");
         *  if (Mode == LightMode.Color)
         *      await SetColorAsync(
         *          Convert.ToByte(Color.Red * (brightness / Brightness)),
         *          Convert.ToByte(Color.Green * (brightness / Brightness)),
         *          Convert.ToByte(Color.Blue * (brightness / Brightness))
         *          );
         *  else if (Mode == LightMode.WarmWhite)
         *      await SetWarmWhiteAsync(Convert.ToByte(WarmWhite * brightness / Brightness));
         *  UpdateBrightness();
         * }*/

        /// <summary> Sets a preset pattern. </summary>
        /// <param name="speed"> The speed of the pattern from 0 to 100. </param>
        public async Task SetPresetPatternAsync(PresetPattern pattern, byte speed)
        {
            byte delay = Utilis.SpeedToDelay(speed);

            await SendDataAsync(new byte[] { 0x61, Convert.ToByte(pattern), delay, 0x0f });

            //Populate field.
            Mode = LightMode.Preset;
        }
Beispiel #2
0
        public void SetPresetPattern(PresetPattern pattern, int speed)
        {
            byte[] pattern_msg = new byte[4];
            pattern_msg[0] = 0x61;
            pattern_msg[1] = (byte)pattern;
            pattern_msg[2] = Utils.ConvertSpeedToDelay(speed);
            pattern_msg[3] = 0x0f;

            SendMsg(pattern_msg);
            UpdateState();
        }