diff --git a/src/PepperDash.Essentials.Core/Comm and IR/ComPortController.cs b/src/PepperDash.Essentials.Core/Comm and IR/ComPortController.cs
index 6abed156..ec679fae 100644
--- a/src/PepperDash.Essentials.Core/Comm and IR/ComPortController.cs
+++ b/src/PepperDash.Essentials.Core/Comm and IR/ComPortController.cs
@@ -91,13 +91,17 @@ namespace PepperDash.Essentials.Core
return;
}
- var result = Port.Register();
- if (result != eDeviceRegistrationUnRegistrationResponse.Success)
+
+ if (Port.Parent is CrestronControlSystem || Port.Parent is CenIoCom102)
{
- this.LogError($"Cannot register {Key} using {Port.Parent.GetType().Name}-comport-{Port.ID} (result == {result})");
- return;
+ var result = Port.Register();
+ if (result != eDeviceRegistrationUnRegistrationResponse.Success)
+ {
+ this.LogError($"Cannot register {Key} using {Port.Parent.GetType().Name}-comport-{Port.ID} (result == {result})");
+ return;
+ }
+ this.LogInformation($"Successfully registered {Key} using {Port.Parent.GetType().Name}-comport-{Port.ID} (result == {result})");
}
- this.LogInformation($"Successfully registered {Key} using {Port.Parent.GetType().Name}-comport-{Port.ID} (result == {result})");
var specResult = Port.SetComPortSpec(Spec);
if (specResult != 0)
@@ -107,38 +111,6 @@ namespace PepperDash.Essentials.Core
}
this.LogInformation($"Successfully set comspec for {Key} using {Port.Parent.GetType().Name}-comport-{Port.ID} (result == {specResult})");
-
- // TODO [ ] - Remove debug logging once verified working
- // if (Port.Parent is CenIoCom102)
- // {
- // Port.PropertyChanged += (s, e) =>
- // {
- // this.LogInformation($@"RegisterAndConfigureComPort: PropertyChanged Fired >>
- // comPort-'{Port.ID}',
- // Property Changed-'{e.Property}',
- // Value Changed-'{e.Value}',
- // deviceName-'{Port.DeviceName}',
- // parentDevice-'{Port.ParentDevice}',
- // parent-`{Port.Parent}`,
- // online-`{Port.IsOnline}`,
- // present-`{Port.Present}`,
- // supportedBaudRates-'{Port.SupportedBaudRates}'");
- // };
- // Port.ExtendedInformationChanged += (s, e) =>
- // {
-
- // this.LogInformation($@"RegisterAndConfigureComPort: ExtendedInformationChanged Fired >>
- // comPort-'{Port.ID}',
- // {e.Protocol},
- // {e.BaudRate},
- // {e.Parity},
- // {e.DataBits},
- // {e.StopBits},
- // HW Handshake-'{e.HardwareHandshakeSetting}',
- // SW Handshake-'{e.SoftwareHandshakeSetting}'");
- // };
- // }
-
Port.SerialDataReceived += Port_SerialDataReceived;
}
diff --git a/src/PepperDash.Essentials.Core/Routing/RoutingFeedbackManager.cs b/src/PepperDash.Essentials.Core/Routing/RoutingFeedbackManager.cs
index 9afdb33d..c51cec58 100644
--- a/src/PepperDash.Essentials.Core/Routing/RoutingFeedbackManager.cs
+++ b/src/PepperDash.Essentials.Core/Routing/RoutingFeedbackManager.cs
@@ -98,7 +98,7 @@ namespace PepperDash.Essentials.Core.Routing
/// The currently selected input port on the destination device.
private void UpdateDestination(IRoutingSinkWithSwitching destination, RoutingInputPort inputPort)
{
- // Debug.LogMessage(Serilog.Events.LogEventLevel.Verbose, "Updating destination {destination} with inputPort {inputPort}", this,destination?.Key, inputPort?.Key);
+ Debug.LogMessage(Serilog.Events.LogEventLevel.Verbose, "Updating destination {destination} with inputPort {inputPort}", this, destination?.Key, inputPort?.Key);
if(inputPort == null)
{
diff --git a/src/PepperDash.Essentials.Devices.Common/Generic/GenericSink.cs b/src/PepperDash.Essentials.Devices.Common/Generic/GenericSink.cs
index a44eb012..03c58b2c 100644
--- a/src/PepperDash.Essentials.Devices.Common/Generic/GenericSink.cs
+++ b/src/PepperDash.Essentials.Devices.Common/Generic/GenericSink.cs
@@ -9,7 +9,7 @@ namespace PepperDash.Essentials.Devices.Common.Generic
///
/// Represents a GenericSink
///
- public class GenericSink : EssentialsDevice, IRoutingSinkWithInputPort
+ public class GenericSink : EssentialsDevice, IRoutingSinkWithSwitchingWithInputPort
{
///
/// Initializes a new instance of the GenericSink class
@@ -20,7 +20,7 @@ namespace PepperDash.Essentials.Devices.Common.Generic
{
InputPorts = new RoutingPortCollection();
- var inputPort = new RoutingInputPort(RoutingPortNames.AnyVideoIn, eRoutingSignalType.AudioVideo, eRoutingPortConnectionType.Hdmi, null, this);
+ var inputPort = new RoutingInputPort(RoutingPortNames.AnyVideoIn, eRoutingSignalType.AudioVideo | eRoutingSignalType.SecondaryAudio, eRoutingPortConnectionType.Hdmi, null, this);
InputPorts.Add(inputPort);
}
@@ -66,6 +66,15 @@ namespace PepperDash.Essentials.Devices.Common.Generic
/// Event fired when the current source changes
///
public event SourceInfoChangeHandler CurrentSourceChange;
+
+ ///
+ public event InputChangedEventHandler InputChanged;
+
+ ///
+ public void ExecuteSwitch(object inputSelector)
+ {
+ throw new System.NotImplementedException();
+ }
}
///