/// <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); }
/// <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); }
public Hero3Camera LedBlink(out LedBlink ledBlink) { ledBlink = base.ExtendedSettings().LedBlink; return(this); }
public async Task <Hero3Camera> LedBlinkAsync(LedBlink ledBlink) { return(await base.PrepareCommand <CommandCameraLedBlink>().Select(ledBlink).ExecuteAsync() as Hero3Camera); }
public Hero3Camera LedBlink(LedBlink ledBlink, bool nonBlocking = false) { return(ExecuteMultiChoiceCommand <CommandCameraLedBlink, LedBlink>(ledBlink, nonBlocking)); }