diff --git a/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.projectinfo b/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.projectinfo
index a975915e..2604ef19 100644
Binary files a/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.projectinfo and b/Essentials Core/PepperDashEssentialsBase/PepperDash_Essentials_Core.projectinfo differ
diff --git a/Essentials DM/Essentials_DM/Essentials_DM.projectinfo b/Essentials DM/Essentials_DM/Essentials_DM.projectinfo
index 2369f4ee..e89d2869 100644
Binary files a/Essentials DM/Essentials_DM/Essentials_DM.projectinfo and b/Essentials DM/Essentials_DM/Essentials_DM.projectinfo differ
diff --git a/Essentials Devices Common/Essentials Devices Common/Display/SamsungMDCDisplay.cs b/Essentials Devices Common/Essentials Devices Common/Display/SamsungMDCDisplay.cs
index 2e1c01d4..06381aaf 100644
--- a/Essentials Devices Common/Essentials Devices Common/Display/SamsungMDCDisplay.cs
+++ b/Essentials Devices Common/Essentials Devices Common/Display/SamsungMDCDisplay.cs
@@ -24,6 +24,7 @@ namespace PepperDash.Essentials.Devices.Displays
bool _PowerIsOn;
+ bool _PowerValueIncomingWaitingForCheck;
bool _IsWarmingUp;
bool _IsCoolingDown;
ushort _VolumeLevelForSig;
@@ -232,17 +233,18 @@ namespace PepperDash.Essentials.Devices.Displays
///
void UpdatePowerFB(byte pb)
{
- var newVal = pb == 1;
- Debug.Console(2, this, "*#* NEW POWER STATE={0}, CURRENT={1}", newVal, _PowerIsOn);
- if (newVal != _PowerIsOn)
+ _PowerValueIncomingWaitingForCheck = pb == 1;
+ Debug.Console(2, this, "*#* NEW POWER STATE={0}, CURRENT={1}",
+ _PowerValueIncomingWaitingForCheck, _PowerIsOn);
+ if (_PowerValueIncomingWaitingForCheck != _PowerIsOn)
{
CrestronInvoke.BeginInvoke(o =>
{
CrestronEnvironment.Sleep(2500);
- Debug.Console(2, this, "*#* NEW POWER STATE AFTER PAUSE={0} CURRENT={1}", newVal, _PowerIsOn);
- if (newVal != _PowerIsOn)
+ Debug.Console(2, this, "*#* NEW POWER STATE AFTER PAUSE={0} CURRENT={1}", _PowerValueIncomingWaitingForCheck, _PowerIsOn);
+ if (_PowerValueIncomingWaitingForCheck != _PowerIsOn)
{
- _PowerIsOn = newVal;
+ _PowerIsOn = _PowerValueIncomingWaitingForCheck;
PowerIsOnFeedback.FireUpdate();
}
});
diff --git a/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.projectinfo b/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.projectinfo
index d15e61d7..1da132a0 100644
Binary files a/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.projectinfo and b/Essentials Devices Common/Essentials Devices Common/Essentials Devices Common.projectinfo differ
diff --git a/Essentials/PepperDashEssentials/PepperDashEssentials.projectinfo b/Essentials/PepperDashEssentials/PepperDashEssentials.projectinfo
index ae407e96..9a7023df 100644
Binary files a/Essentials/PepperDashEssentials/PepperDashEssentials.projectinfo and b/Essentials/PepperDashEssentials/PepperDashEssentials.projectinfo differ
diff --git a/Essentials/PepperDashEssentials/Room/EssentialsRoomBase.cs b/Essentials/PepperDashEssentials/Room/EssentialsRoomBase.cs
index 86cdaa44..aeb8ee42 100644
--- a/Essentials/PepperDashEssentials/Room/EssentialsRoomBase.cs
+++ b/Essentials/PepperDashEssentials/Room/EssentialsRoomBase.cs
@@ -45,6 +45,8 @@ namespace PepperDash.Essentials
public int ShutdownVacancySeconds { get; set; }
public ShutdownType ShutdownType { get; private set; }
+ public string LogoUrl { get; set; }
+
///
///
///
diff --git a/Essentials/PepperDashEssentials/Room/EssentialsRoomConfig.cs b/Essentials/PepperDashEssentials/Room/EssentialsRoomConfig.cs
index c970f382..d70f5501 100644
--- a/Essentials/PepperDashEssentials/Room/EssentialsRoomConfig.cs
+++ b/Essentials/PepperDashEssentials/Room/EssentialsRoomConfig.cs
@@ -29,6 +29,7 @@ namespace PepperDash.Essentials
var disp = DeviceManager.GetDeviceForKey(props.DefaultDisplayKey) as IRoutingSinkWithSwitching;
var audio = DeviceManager.GetDeviceForKey(props.DefaultAudioKey) as IRoutingSinkNoSwitching;
var huddle = new EssentialsHuddleSpaceRoom(Key, Name, disp, audio, props);
+ huddle.LogoUrl = props.Logo.GetUrl();
huddle.SourceListKey = props.SourceListKey;
huddle.DefaultSourceItem = props.DefaultSourceItem;
return huddle;
@@ -48,7 +49,6 @@ namespace PepperDash.Essentials
// Get the master volume control
IBasicVolumeWithFeedback masterVolumeControlDev = props.Volumes.Master.GetDevice();
-#warning Will need to define audio routing somewhere as well
var presRoom = new EssentialsPresentationRoom(Key, Name, displaysDict, masterVolumeControlDev, props);
return presRoom;
@@ -67,8 +67,28 @@ namespace PepperDash.Essentials
public int ShutdownVacancySeconds { get; set; }
public int ShutdownPromptSeconds { get; set; }
public EssentialsRoomOccSensorConfig OccupancySensors { get; set; }
+ public EssentialsLogoPropertiesConfig Logo { get; set; }
}
+
+ public class EssentialsLogoPropertiesConfig
+ {
+ public string Type { get; set; }
+ public string Url { get; set; }
+ ///
+ /// Gets either the custom URL, a local-to-processor URL, or null if it's a default logo
+ ///
+ public string GetUrl()
+ {
+ if (Type == "url")
+ return Url;
+ if (Type == "system")
+ return string.Format("http://{0}:5646/logo",
+ CrestronEthernetHelper.GetEthernetParameter(CrestronEthernetHelper.ETHERNET_PARAMETER_TO_GET.GET_CURRENT_IP_ADDRESS, 0));
+ return null;
+ }
+ }
+
///
/// Represents occupancy sensor(s) setup for a room
///
diff --git a/Essentials/PepperDashEssentials/UI Drivers/EssentialsHuddlePanelAvFunctionsDriver.cs b/Essentials/PepperDashEssentials/UI Drivers/EssentialsHuddlePanelAvFunctionsDriver.cs
index 8dcaf297..bff1725d 100644
--- a/Essentials/PepperDashEssentials/UI Drivers/EssentialsHuddlePanelAvFunctionsDriver.cs
+++ b/Essentials/PepperDashEssentials/UI Drivers/EssentialsHuddlePanelAvFunctionsDriver.cs
@@ -179,8 +179,6 @@ namespace PepperDash.Essentials
TriList.StringInput[UIStringJoin.StartActivityText].StringValue =
"Tap Share to begin";
-
- TriList.BooleanInput[UIBoolJoin.LogoDefaultVisible].BoolValue = true;
}
///
@@ -677,8 +675,21 @@ namespace PepperDash.Essentials
}
SourcesSrl.Count = (ushort)(i - 1);
}
-
+ // Name and logo
TriList.StringInput[UIStringJoin.CurrentRoomName].StringValue = _CurrentRoom.Name;
+ if (_CurrentRoom.LogoUrl == null)
+ {
+ Debug.Console(2, _CurrentRoom, "Using default logo");
+ TriList.BooleanInput[UIBoolJoin.LogoDefaultVisible].BoolValue = true;
+ TriList.BooleanInput[UIBoolJoin.LogoUrlVisible].BoolValue = false;
+ }
+ else
+ {
+ Debug.Console(2, _CurrentRoom, "Using logo at URL: {0}", _CurrentRoom.LogoUrl);
+ TriList.BooleanInput[UIBoolJoin.LogoDefaultVisible].BoolValue = false;
+ TriList.BooleanInput[UIBoolJoin.LogoUrlVisible].BoolValue = true;
+ TriList.StringInput[UIStringJoin.LogoUrl].StringValue = _CurrentRoom.LogoUrl;
+ }
// Shutdown timer
_CurrentRoom.ShutdownPromptTimer.HasStarted += ShutdownPromptTimer_HasStarted;
diff --git a/Release Package/PepperDashEssentials.cpz b/Release Package/PepperDashEssentials.cpz
index 9eddf5e2..6832493f 100644
Binary files a/Release Package/PepperDashEssentials.cpz and b/Release Package/PepperDashEssentials.cpz differ
diff --git a/Release Package/PepperDashEssentials.dll b/Release Package/PepperDashEssentials.dll
index c066ff7c..3a391dfe 100644
Binary files a/Release Package/PepperDashEssentials.dll and b/Release Package/PepperDashEssentials.dll differ