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(); + } } ///