private async void ApplyPulseEffectAsync(BridgeRT.State FromState, BridgeRT.State ToState, uint Period, uint Duration, uint NumPulses, ulong Timestamp)
{
uint response;
await System.Threading.Tasks.Task.Delay((int)Timestamp).ConfigureAwait(false);
TransitionLampState(0, FromState, 0, out response);
for (int i = 0; i < NumPulses; i++)
{
TransitionLampState(0, ToState, Period, out response);
await System.Threading.Tasks.Task.Delay((int)(Period + Duration)).ConfigureAwait(false);
TransitionLampState(0, FromState, Period, out response);
await System.Threading.Tasks.Task.Delay((int)(Period + Duration)).ConfigureAwait(false);
}
LampStateChanged?.Invoke(this, EventArgs.Empty);
}