Exemplo n.º 1
0
        /// <summary>
        /// Set blinking pattern for a specific Led
        /// </summary>
        /// <param name="ledBlink">Led blinking pattern</param>
        public void SetLedBlink(LedBlink ledBlink)
        {
            if (ledBlink.Count < 1)
            {
                throw new ArgumentOutOfRangeException(nameof(ledBlink.Count));
            }

            if (ledBlink.FirstPeriod.TotalMilliseconds < 10 || ledBlink.FirstPeriod.TotalMilliseconds > 2550)
            {
                throw new ArgumentOutOfRangeException(nameof(ledBlink.FirstPeriod));
            }

            if (ledBlink.SecondPeriod.TotalMilliseconds < 10 || ledBlink.SecondPeriod.TotalMilliseconds > 2550)
            {
                throw new ArgumentOutOfRangeException(nameof(ledBlink.SecondPeriod));
            }

            var data = new byte[9];

            data[0] = (byte)(ledBlink.Count & 0xFF);
            data[1] = ledBlink.ColorFirstPeriod.R;
            data[2] = ledBlink.ColorFirstPeriod.G;
            data[3] = ledBlink.ColorFirstPeriod.B;
            data[4] = (byte)((int)(ledBlink.FirstPeriod.TotalMilliseconds / 10) & 0xFF);
            data[5] = ledBlink.ColorSecondPeriod.R;
            data[6] = ledBlink.ColorSecondPeriod.G;
            data[7] = ledBlink.ColorSecondPeriod.B;
            data[8] = (byte)((int)(ledBlink.SecondPeriod.TotalMilliseconds / 10) & 0xFF);

            _piJuice.WriteCommand(PiJuiceCommand.LedBlink + (byte)ledBlink.Led, data);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Set blinking pattern for a specific Led
        /// </summary>
        /// <param name="ledBlink">Led blinking pattern</param>
        public void SetLedBlink(LedBlink ledBlink)
        {
            if (ledBlink.Count < 1)
            {
                throw new ArgumentOutOfRangeException(nameof(ledBlink), $"Count must be equal or greater than 1.");
            }

            if (ledBlink.FirstPeriod.TotalMilliseconds is < 10 or > 2550)
            {
                throw new ArgumentOutOfRangeException(nameof(ledBlink), "FirstPeriod.TotalMilliseconds must be between 10 and 2550.");
            }

            if (ledBlink.SecondPeriod.TotalMilliseconds is < 10 or > 2550)
            {
                throw new ArgumentOutOfRangeException(nameof(ledBlink), "SecondPeriod.TotalMilliseconds must be between 10 and 2550.");
            }

            var data = new byte[9];

            data[0] = (byte)(ledBlink.Count & 0xFF);
            data[1] = ledBlink.ColorFirstPeriod.R;
            data[2] = ledBlink.ColorFirstPeriod.G;
            data[3] = ledBlink.ColorFirstPeriod.B;
            data[4] = (byte)((int)(ledBlink.FirstPeriod.TotalMilliseconds / 10) & 0xFF);
            data[5] = ledBlink.ColorSecondPeriod.R;
            data[6] = ledBlink.ColorSecondPeriod.G;
            data[7] = ledBlink.ColorSecondPeriod.B;
            data[8] = (byte)((int)(ledBlink.SecondPeriod.TotalMilliseconds / 10) & 0xFF);

            _piJuice.WriteCommand(PiJuiceCommand.LedBlink + (byte)ledBlink.Led, data);
        }
Exemplo n.º 3
0
 public Hero3Camera LedBlink(out LedBlink ledBlink)
 {
     ledBlink = base.ExtendedSettings().LedBlink;
     return(this);
 }
Exemplo n.º 4
0
 public async Task <Hero3Camera> LedBlinkAsync(LedBlink ledBlink)
 {
     return(await base.PrepareCommand <CommandCameraLedBlink>().Select(ledBlink).ExecuteAsync() as Hero3Camera);
 }
Exemplo n.º 5
0
 public Hero3Camera LedBlink(LedBlink ledBlink, bool nonBlocking = false)
 {
     return(ExecuteMultiChoiceCommand <CommandCameraLedBlink, LedBlink>(ledBlink, nonBlocking));
 }