private async void btnPwr_Click(object sender, RoutedEventArgs e)
{
await Task.Run(async() =>
{
try
{
await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
this.btnPwr.Background = new SolidColorBrush(Colors.LawnGreen);
this.btnMute.IsEnabled = false;
_timerPowerBlink.Start();
});
rv.PJLinkConnection c = connectBeamer();
PowerCommand.PowerStatus powStat = PowerCommand.PowerStatus.UNKNOWN;
try
{
powStat = await c.powerQuery();
}
catch (Exception)
{
try
{
powStat = await c.powerQuery();
}
catch (Exception)
{
}
}
switch (powStat)
{
case PowerCommand.PowerStatus.OFF:
case PowerCommand.PowerStatus.COOLING:
case PowerCommand.PowerStatus.UNKNOWN:
await c.turnOn();
await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
_timerPowerCheck.Interval = new TimeSpan(0, 0, 5); //10 sec;
});
break;
case PowerCommand.PowerStatus.ON:
case PowerCommand.PowerStatus.WARMUP:
await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
this.btnPwr.Background = btndefBack;
this.btnMute.IsEnabled = false;
_timerMuteBlink.Stop();
_timerPowerBlink.Stop();
btnMute.Background = btndefBack;
});
await c.turnOff();
break;
}
}
catch (Exception)
{
}
});
}