diff --git a/Essentials Core/PepperDashEssentialsBase/SmartObjects/SmartObjectHelperBase.cs b/Essentials Core/PepperDashEssentialsBase/SmartObjects/SmartObjectHelperBase.cs
index 741eec45..6fadf491 100644
--- a/Essentials Core/PepperDashEssentialsBase/SmartObjects/SmartObjectHelperBase.cs
+++ b/Essentials Core/PepperDashEssentialsBase/SmartObjects/SmartObjectHelperBase.cs
@@ -6,6 +6,8 @@ using Crestron.SimplSharp;
using Crestron.SimplSharpPro;
using Crestron.SimplSharpPro.DeviceSupport;
+using PepperDash.Core;
+
namespace PepperDash.Essentials.Core.SmartObjects
{
public class SmartObjectHelperBase
@@ -33,13 +35,37 @@ namespace PepperDash.Essentials.Core.SmartObjects
SmartObject.SigChange -= this.SmartObject_SigChange;
}
+ ///
+ /// Helper to get a sig name with debugging when fail
+ ///
+ ///
+ ///
public BoolOutputSig GetBoolOutputNamed(string name)
{
if (SmartObject.BooleanOutput.Contains(name))
return SmartObject.BooleanOutput[name];
+ else
+ Debug.Console(0, "WARNING: Cannot get signal. Smart object {0} on trilist {1:x2} does not contain signal '{2}'",
+ SmartObject.ID, SmartObject.Device.ID, name);
return null;
}
+ ///
+ /// Sets action on signal after checking for existence.
+ ///
+ ///
+ ///
+ public void SetBoolAction(string name, Action a)
+ {
+ if (SmartObject.BooleanOutput.Contains(name))
+ SmartObject.BooleanOutput[name].UserObject = a;
+ else
+ {
+ Debug.Console(0, "WARNING: Cannot set action. Smart object {0} on trilist {1:x2} does not contain signal '{2}'",
+ SmartObject.ID, SmartObject.Device.ID, name);
+ }
+ }
+
///
/// Standard Action listener
///
diff --git a/Essentials Core/PepperDashEssentialsBase/SmartObjects/SmartObjectNumeric.cs b/Essentials Core/PepperDashEssentialsBase/SmartObjects/SmartObjectNumeric.cs
index 5d234634..7e574242 100644
--- a/Essentials Core/PepperDashEssentialsBase/SmartObjects/SmartObjectNumeric.cs
+++ b/Essentials Core/PepperDashEssentialsBase/SmartObjects/SmartObjectNumeric.cs
@@ -10,6 +10,14 @@ namespace PepperDash.Essentials.Core.SmartObjects
{
public class SmartObjectNumeric : SmartObjectHelperBase
{
+ ///
+ /// Defaults to "Misc_1". The name of the button in VTPro (Usually the text)
+ ///
+ public string Misc1SigName { get; set; }
+ ///
+ /// Defaults to "Misc_2". The name of the button in VTPro (Usually the text)
+ ///
+ public string Misc2SigName { get; set; }
public BoolOutputSig Digit1 { get { return GetBoolOutputNamed("1"); } }
public BoolOutputSig Digit2 { get { return GetBoolOutputNamed("2"); } }
@@ -21,11 +29,13 @@ namespace PepperDash.Essentials.Core.SmartObjects
public BoolOutputSig Digit8 { get { return GetBoolOutputNamed("8"); } }
public BoolOutputSig Digit9 { get { return GetBoolOutputNamed("9"); } }
public BoolOutputSig Digit0 { get { return GetBoolOutputNamed("0"); } }
- public BoolOutputSig Misc1 { get { return GetBoolOutputNamed("Misc_1"); } }
- public BoolOutputSig Misc2 { get { return GetBoolOutputNamed("Misc_2"); } }
+ public BoolOutputSig Misc1 { get { return GetBoolOutputNamed(Misc1SigName); } }
+ public BoolOutputSig Misc2 { get { return GetBoolOutputNamed(Misc2SigName); } }
public SmartObjectNumeric(SmartObject so, bool useUserObjectHandler) : base(so, useUserObjectHandler)
{
+ Misc1SigName = "Misc_1";
+ Misc2SigName = "Misc_2";
}
}
}
\ No newline at end of file
diff --git a/Essentials Core/PepperDashEssentialsBase/Touchpanels/TriListExtensions.cs b/Essentials Core/PepperDashEssentialsBase/Touchpanels/TriListExtensions.cs
index 26bed9c0..be666c5f 100644
--- a/Essentials Core/PepperDashEssentialsBase/Touchpanels/TriListExtensions.cs
+++ b/Essentials Core/PepperDashEssentialsBase/Touchpanels/TriListExtensions.cs
@@ -17,7 +17,8 @@ namespace PepperDash.Essentials.Core
public static class SigAndTriListExtensions
{
///
- /// Attaches Action to Sig's user object and returns the same Sig.
+ /// Attaches Action to Sig's user object and returns the same Sig. This provides no protection
+ /// from null sigs
///
/// The BoolOutputSig to attach the Action to
/// An action to run when sig is pressed and when released
diff --git a/Essentials/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs b/Essentials/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs
index f226f95d..b54e40f6 100644
--- a/Essentials/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs
+++ b/Essentials/PepperDashEssentials/UI/JoinConstants/UIBoolJoin.cs
@@ -139,6 +139,10 @@ namespace PepperDash.Essentials
/// 1234
///
public const uint VCStagingConnectPress = 1234;
+ ///
+ /// 1235
+ ///
+ public const uint VCStagingCameraPress = 1235;
//******************************************************
// Keyboard
diff --git a/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/HuddleVTCPanelAvFunctionsDriver.cs b/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/HuddleVTCPanelAvFunctionsDriver.cs
index 893d21e0..cb05d1b5 100644
--- a/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/HuddleVTCPanelAvFunctionsDriver.cs
+++ b/Essentials/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/HuddleVTCPanelAvFunctionsDriver.cs
@@ -385,36 +385,7 @@ namespace PepperDash.Essentials
EndMeetingButtonSig = ActivityFooterSrl.BoolInputSig(3, 1);
ShareButtonSig.BoolValue = CurrentRoom.OnFeedback.BoolValue;
- }
-
- /////
- ///// Builds the call stage
- /////
- //void SetupCallStagingSrl()
- //{
- // CallStagingSrl = new SubpageReferenceList(TriList, UISmartObjectJoin.CallStagingSrl, 3, 3, 3);
- // var c = CallStagingSrl;
- // c.AddItem(new SubpageReferenceListButtonAndModeItem(1, c, 1, b => { if (!b) { } })); //************ Camera
- // c.AddItem(new SubpageReferenceListButtonAndModeItem(2, c, 2, b => { if (!b) { } })); //************ Directory
- // c.AddItem(new SubpageReferenceListButtonAndModeItem(3, c, 3, b => { if (!b) { } })); //************ Keypad
- // c.AddItem(new SubpageReferenceListButtonAndModeItem(4, c, 4, b => { if (!b) { } })); //************ End Call
- // c.Count = 3;
- //}
-
- ///
- /// This may need to be part of an event handler routine from codec feedback.
- /// Adds End Call to Call Staging list
- ///
- void SetupEndCall()
- {
- }
-
- ///
- /// Part of event handler? Removes End Call from Call Staging
- ///
- void HideEndCall()
- {
- }
+ }
///
///
@@ -424,6 +395,7 @@ namespace PepperDash.Essentials
if (VCDriver.IsVisible)
return;
CallButtonSig.BoolValue = true;
+ ShareButtonSig.BoolValue = false;
TriList.SetBool(UIBoolJoin.StartPageVisible, false);
TriList.SetBool(UIBoolJoin.SourceStagingBarVisible, false);
TriList.SetBool(UIBoolJoin.SelectASourceVisible, false);
@@ -438,6 +410,7 @@ namespace PepperDash.Essentials
if (VCDriver.IsVisible)
VCDriver.Hide();
ShareButtonSig.BoolValue = true;
+ CallButtonSig.BoolValue = false;
TriList.SetBool(UIBoolJoin.StartPageVisible, false);
TriList.SetBool(UIBoolJoin.SourceStagingBarVisible, true);
TriList.SetBool(UIBoolJoin.SelectASourceVisible, true);
diff --git a/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsCiscoSparkUiDriver.cs b/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsCiscoSparkUiDriver.cs
index 5d80ef2a..171ffcee 100644
--- a/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsCiscoSparkUiDriver.cs
+++ b/Essentials/PepperDashEssentials/UIDrivers/VC/EssentialsCiscoSparkUiDriver.cs
@@ -44,6 +44,11 @@ namespace PepperDash.Essentials.UIDrivers.VC
///
JoinedSigInterlock StagingBarInterlock;
+ ///
+ /// For the staging button feedbacks
+ ///
+ JoinedSigInterlock StagingButtonFeedbackInterlock;
+
SmartObjectNumeric DialKeypad;
///
@@ -65,8 +70,12 @@ namespace PepperDash.Essentials.UIDrivers.VC
VCControlsInterlock = new JoinedSigInterlock(triList);
VCControlsInterlock.SetButDontShow(UIBoolJoin.VCRecentsVisible);
+
StagingBarInterlock = new JoinedSigInterlock(triList);
- VCControlsInterlock.SetButDontShow(UIBoolJoin.VCStagingInactivePopoverVisible);
+ StagingBarInterlock.SetButDontShow(UIBoolJoin.VCStagingInactivePopoverVisible);
+
+ StagingButtonFeedbackInterlock = new JoinedSigInterlock(triList);
+ StagingButtonFeedbackInterlock.ShowInterlocked(UIBoolJoin.VCRecentsVisible);
}
///
@@ -118,7 +127,9 @@ namespace PepperDash.Essentials.UIDrivers.VC
DialKeypad.Digit7.SetBoolSigAction(b => ___DialPlaceholder___(7));
DialKeypad.Digit8.SetBoolSigAction(b => ___DialPlaceholder___(8));
DialKeypad.Digit9.SetBoolSigAction(b => ___DialPlaceholder___(9));
+ DialKeypad.Misc1SigName = "*";
DialKeypad.Misc1.SetBoolSigAction(b => { });
+ DialKeypad.Misc2SigName = "#";
DialKeypad.Misc2.SetBoolSigAction(b => { });
}
else
@@ -132,21 +143,27 @@ namespace PepperDash.Essentials.UIDrivers.VC
void ShowCameraControls()
{
VCControlsInterlock.ShowInterlocked(UIBoolJoin.VCCameraVisible);
+ StagingButtonFeedbackInterlock.ShowInterlocked(UIBoolJoin.VCStagingCameraPress);
}
void ShowKeypad()
{
VCControlsInterlock.ShowInterlocked(UIBoolJoin.VCKeypadVisible);
+ StagingButtonFeedbackInterlock.ShowInterlocked(UIBoolJoin.VCStagingKeypadPress);
}
void ShowDirectory()
{
+ // populate directory
VCControlsInterlock.ShowInterlocked(UIBoolJoin.VCDirectoryVisible);
+ StagingButtonFeedbackInterlock.ShowInterlocked(UIBoolJoin.VCStagingDirectoryPress);
}
void ShowRecents()
{
- VCControlsInterlock.ShowInterlocked(UIBoolJoin.VCRecentsVisible);
+ //populate recents
+ VCControlsInterlock.ShowInterlocked(UIBoolJoin.VCDirectoryVisible);
+ StagingButtonFeedbackInterlock.ShowInterlocked(UIBoolJoin.VCStagingRecentsPress);
}
void CallHasStarted()
@@ -166,20 +183,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
void ___DialPlaceholder___(int i)
{
-
- }
-
-
-
- public class BoolJoin
- {
- public const uint CameraControlsVisible = 3001;
-
- public const uint KeypadVisbile = 3002;
-
- public const uint DirectoryVisible = 3003;
-
-
+ throw new NotImplementedException();
}
}
}
\ No newline at end of file
diff --git a/Release Package/PepperDashEssentials.cpz b/Release Package/PepperDashEssentials.cpz
index cea06cac..9d6c6cf2 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 5d699ab8..442bd101 100644
Binary files a/Release Package/PepperDashEssentials.dll and b/Release Package/PepperDashEssentials.dll differ