From edb3c70d27c081fe3c9207e604d468a6aba258e8 Mon Sep 17 00:00:00 2001 From: Andrew Welker Date: Wed, 8 Jul 2020 16:16:40 -0600 Subject: [PATCH] add comm monitor for fusion stuff --- .../EssentialsDualDisplayFusionController.cs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Fusion/EssentialsDualDisplayFusionController.cs b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Fusion/EssentialsDualDisplayFusionController.cs index 8852b7af..82ded973 100644 --- a/essentials-framework/Essentials Core/PepperDashEssentialsBase/Fusion/EssentialsDualDisplayFusionController.cs +++ b/essentials-framework/Essentials Core/PepperDashEssentialsBase/Fusion/EssentialsDualDisplayFusionController.cs @@ -35,7 +35,7 @@ namespace PepperDash.Essentials.Core.Fusion protected override void SetUpDisplay() { - //todo figure out what to do here... + Debug.Console(1, this, "No default Display fo this room"); } private void SetUpDisplay(DisplayBase display) @@ -60,6 +60,20 @@ namespace PepperDash.Essentials.Core.Fusion displayAsset.PowerOn.OutputSig.UserObject = new Action(b => { if (b) display.PowerOn(); }); displayAsset.PowerOff.OutputSig.UserObject = new Action(b => { if (b) display.PowerOff(); }); + if (!(display is ICommunicationMonitor)) + { + return; + } + + var displayCommMonitor = display as ICommunicationMonitor; + + displayAsset.Connected.InputSig.BoolValue = displayCommMonitor.CommunicationMonitor.Status == + MonitorStatus.IsOk; + displayCommMonitor.CommunicationMonitor.StatusChange += (o, a) => + { + displayAsset.Connected.InputSig.BoolValue = displayCommMonitor.CommunicationMonitor.Status == + MonitorStatus.IsOk; + }; } private void UsageTrackerOnDeviceUsageEnded(object sender, DeviceUsageEventArgs deviceUsageEventArgs)