diff --git a/PepperDashEssentials/Properties/ControlSystem.cfg b/PepperDashEssentials/Properties/ControlSystem.cfg
index d2c3b2c7..384bf949 100644
--- a/PepperDashEssentials/Properties/ControlSystem.cfg
+++ b/PepperDashEssentials/Properties/ControlSystem.cfg
@@ -1,7 +1,7 @@
- 192.168.10.1
- auto 192.168.10.1
+ Test RMC3
+ auto 192.168.1.40;username crestron
Program01
Internal Flash
\ No newline at end of file
diff --git a/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/EssentialsHuddleVtc1PanelAvFunctionsDriver.cs b/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/EssentialsHuddleVtc1PanelAvFunctionsDriver.cs
index e9dc824b..d2978c44 100644
--- a/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/EssentialsHuddleVtc1PanelAvFunctionsDriver.cs
+++ b/PepperDashEssentials/UIDrivers/EssentialsHuddleVTC/EssentialsHuddleVtc1PanelAvFunctionsDriver.cs
@@ -448,10 +448,10 @@ namespace PepperDash.Essentials
// and the LastMeetingDismissed != this meeting
var lastMeetingDismissed = meetings.FirstOrDefault(m => m.Id == LastMeetingDismissedId);
- Debug.Console(1, "*#* Room on: {0}, lastMeetingDismissedId: {1} {2} *#*",
- CurrentRoom.OnFeedback.BoolValue,
- LastMeetingDismissedId,
- lastMeetingDismissed != null ? lastMeetingDismissed.StartTime.ToShortTimeString() : "");
+ //Debug.Console(1, "*#* Room on: {0}, lastMeetingDismissedId: {1} {2} *#*",
+ // CurrentRoom.OnFeedback.BoolValue,
+ // LastMeetingDismissedId,
+ // lastMeetingDismissed != null ? lastMeetingDismissed.StartTime.ToShortTimeString() : "");
var meeting = meetings.LastOrDefault(m => m.Joinable);
if (CurrentRoom.OnFeedback.BoolValue
diff --git a/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs b/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs
index e95ab5e5..9159381e 100644
--- a/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs
+++ b/PepperDashEssentials/UIDrivers/VC/EssentialsVideoCodecUiDriver.cs
@@ -123,12 +123,6 @@ namespace PepperDash.Essentials.UIDrivers.VC
codec.CallStatusChange += new EventHandler(Codec_CallStatusChange);
- // If the codec is ready, then get the values we want, otherwise wait
- if (Codec.IsReady)
- Codec_IsReady();
- else
- codec.IsReadyChange += (o, a) => Codec_IsReady();
-
//InCall = new BoolFeedback(() => false);
LocalPrivacyIsMuted = new BoolFeedback(() => false);
@@ -199,6 +193,14 @@ namespace PepperDash.Essentials.UIDrivers.VC
triList.SetSigHeldAction(UIBoolJoin.VCDirectoryBackspacePress, 500,
StartSearchBackspaceRepeat, StopSearchBackspaceRepeat, SearchKeypadBackspacePress);
+ // If the codec is ready, then get the values we want, otherwise wait
+ if (Codec.IsReady)
+ Codec_IsReady();
+ else
+ codec.IsReadyChange += (o, a) => Codec_IsReady();
+
+
+
}
catch (Exception e)
{
@@ -518,7 +520,6 @@ namespace PepperDash.Essentials.UIDrivers.VC
VCControlsInterlock.StatusChanged += new EventHandler(VCControlsInterlock_StatusChanged);
-
var codecOffCameras = Codec as IHasCameraOff;
var supportsCameraOffMode = Codec.SupportsCameraOff;
@@ -529,6 +530,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
if (codecAutoCameras != null && supportsAutoCameraMode)
{
+
CameraModeList.SetItemButtonAction(1,(b) => codecAutoCameras.CameraAutoModeOn());
TriList.SmartObjects[UISmartObjectJoin.VCCameraMode].BooleanInput["Item 1 Visible"].BoolValue = true;
codecAutoCameras.CameraAutoModeIsOnFeedback.LinkInputSig(CameraModeList.SmartObject.BooleanInput["Item 1 Selected"]);
@@ -558,6 +560,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
}
};
+
}
// Manual button always visible
@@ -569,6 +572,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
if (codecOffCameras != null && supportsCameraOffMode)
{
+
TriList.SmartObjects[UISmartObjectJoin.VCCameraMode].BooleanInput["Item 3 Visible"].BoolValue = true;
codecOffCameras.CameraIsOffFeedback.LinkInputSig(CameraModeList.SmartObject.BooleanInput["Item 3 Selected"]);
CameraModeList.SetItemButtonAction(3, (b) => codecOffCameras.CameraOff());
@@ -596,6 +600,7 @@ namespace PepperDash.Essentials.UIDrivers.VC
}
};
+
}
}
diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/CiscoSparkCodec.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/CiscoSparkCodec.cs
index bce321b9..660ec0f1 100644
--- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/CiscoSparkCodec.cs
+++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/CiscoSparkCodec.cs
@@ -352,8 +352,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
CallHistory = new CodecCallHistory();
-
- if (props.Favorites != null)
+ if (props.Favorites != null)
{
CallFavorites = new CodecCallFavorites();
CallFavorites.Favorites = props.Favorites;
@@ -369,9 +368,6 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
CodecSchedule = new CodecScheduleAwareness();
- //Set Feedback Actions
- SetFeedbackActions();
-
CodecOsdIn = new RoutingInputPort(RoutingPortNames.CodecOsd, eRoutingSignalType.Audio | eRoutingSignalType.Video,
eRoutingPortConnectionType.Hdmi, new Action(StopSharing), this);
HdmiIn2 = new RoutingInputPort(RoutingPortNames.HdmiIn2, eRoutingSignalType.Audio | eRoutingSignalType.Video,
@@ -406,6 +402,9 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
BrandingEnabled = props.UiBranding.Enable;
_brandingUrl = props.UiBranding.BrandingUrl;
+
+ //Set Feedback Actions
+ SetFeedbackActions();
}
private void SetFeedbackActions()
@@ -429,11 +428,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
}
catch (Exception ex)
{
- Debug.Console(0, this, "Error setting MainVideuMute Action: {0}", ex);
+ Debug.Console(0, this, "Error setting MainVideoMute Action: {0}", ex);
if (ex.InnerException != null)
{
- Debug.Console(0, this, "Error setting MainVideuMute Action: {0}", ex);
+ Debug.Console(0, this, "Error setting MainVideoMute Action: {0}", ex);
}
}
}
@@ -1879,17 +1878,25 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
{
get
{
- if (CodecStatus.Status.SIP != null && CodecStatus.Status.SIP.AlternateURI.Primary.URI.Value != null)
+ try
{
- return CodecStatus.Status.SIP.AlternateURI.Primary.URI.Value;
+ if (CodecStatus.Status.SIP != null && CodecStatus.Status.SIP.AlternateURI != null)
+ {
+ return CodecStatus.Status.SIP.AlternateURI.Primary.URI.Value;
+ }
+ else if (CodecStatus.Status.UserInterface != null &&
+ CodecStatus.Status.UserInterface.ContactInfo != null && CodecStatus.Status.UserInterface.ContactInfo != null)
+ {
+ return CodecStatus.Status.UserInterface.ContactInfo.ContactMethod[0].Number.Value;
+ }
+ else
+ return string.Empty;
}
- else if (CodecStatus.Status.UserInterface != null &&
- CodecStatus.Status.UserInterface.ContactInfo.ContactMethod[0].Number.Value != null)
+ catch (Exception e)
{
- return CodecStatus.Status.UserInterface.ContactInfo.ContactMethod[0].Number.Value;
- }
- else
+ Debug.Console(2, "Error getting SipUri: {0}", e);
return string.Empty;
+ }
}
}
diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/xStatus.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/xStatus.cs
index 8184289e..c1cd92cf 100644
--- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/xStatus.cs
+++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/CiscoCodec/xStatus.cs
@@ -327,6 +327,7 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec.Cisco
public SpeakerTrack()
{
Status = new Status2();
+ Availability = new Availability();
}
}
diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVC.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVC.cs
index ca199957..5d701f7b 100644
--- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVC.cs
+++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVC.cs
@@ -416,8 +416,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
m.MinutesBeforeMeeting = 5;
m.Id = i.ToString();
m.Organizer = "Employee " + 1;
- m.StartTime = DateTime.Now.AddMinutes(6).AddHours(i);
- m.EndTime = DateTime.Now.AddHours(i).AddMinutes(16);
+ m.StartTime = DateTime.Now.AddMinutes(5).AddHours(i);
+ m.EndTime = DateTime.Now.AddHours(i).AddMinutes(50);
m.Title = "Meeting " + i;
m.Calls.Add(new Call() { Number = i + "meeting@fake.com"});
_CodecSchedule.Meetings.Add(m);
@@ -583,6 +583,8 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
CameraAutoModeIsOnFeedback = new BoolFeedback(() => _CameraAutoModeIsOn);
+ SupportsCameraAutoMode = true;
+
CameraAutoModeIsOnFeedback.FireUpdate();
DeviceManager.AddDevice(internalCamera);
@@ -590,7 +592,18 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
NearEndPresets = new List(15); // Fix the capacity to emulate Cisco
- NearEndPresets = PropertiesConfig.Presets;
+ if (PropertiesConfig.Presets != null && PropertiesConfig.Presets.Count > 0)
+ {
+ NearEndPresets = PropertiesConfig.Presets;
+ }
+ else
+ {
+ for (int i = 1; i <= NearEndPresets.Capacity; i++)
+ {
+ var label = string.Format("Near End Preset {0}", i);
+ NearEndPresets.Add(new CodecRoomPreset(i, label, true, false));
+ }
+ }
FarEndRoomPresets = new List(15); // Fix the capacity to emulate Cisco
diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVcPropertiesConfig.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVcPropertiesConfig.cs
index 6a790af6..d294aff1 100644
--- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVcPropertiesConfig.cs
+++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/VideoCodec/MockVC/MockVcPropertiesConfig.cs
@@ -18,5 +18,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
[JsonProperty("presets")]
public List Presets { get; set; }
+
+ public MockVcPropertiesConfig()
+ {
+ Favorites = new List();
+ Presets = new List();
+ }
}
}
\ No newline at end of file