Compare commits

...

1 Commits

Author SHA1 Message Date
Andrew Welker
5fcf746124 fix: Issues with USB routing
#931
#930
2022-04-15 10:09:55 -06:00

View File

@@ -1408,23 +1408,27 @@ namespace PepperDash.Essentials.DM
if ((sigType & eRoutingSignalType.UsbInput) == eRoutingSignalType.UsbInput) if ((sigType & eRoutingSignalType.UsbInput) == eRoutingSignalType.UsbInput)
{ {
Debug.Console(2, this, "Executing USB Input switch.\r\n in:{0} output: {1}", inputSelector, outputSelector); Debug.Console(2, this, "Executing USB Input switch.\r\n in:{0} output: {1}", inputSelector, outputSelector);
if (outputSelector > chassisSize) if (inputSelector > chassisSize)
{ {
uint outputIndex; uint inputIndex;
if (chassisSize == 8) if (chassisSize == 8)
{ {
outputIndex = (uint) inputSelector - 16; inputIndex = (uint) inputSelector - 16;
} }
else else
{ {
outputIndex = inputSelector - chassisSize; inputIndex = inputSelector - chassisSize;
} }
dmCard = Chassis.Outputs[outputIndex]; dmCard = Chassis.Outputs[inputIndex];
}
else if (inputSelector > 0)
{
dmCard = Chassis.Inputs[inputSelector];
} }
else else
{ {
dmCard = Chassis.Inputs[inputSelector]; dmCard = null;
} }
ExecuteSwitch(dmCard, Chassis.Inputs[outputSelector], sigType); ExecuteSwitch(dmCard, Chassis.Inputs[outputSelector], sigType);
@@ -1455,13 +1459,16 @@ namespace PepperDash.Essentials.DM
dmCard = Chassis.Outputs[outputIndex]; dmCard = Chassis.Outputs[outputIndex];
} }
else else if (inputSelector > 0)
{ {
dmCard = Chassis.Inputs[inputSelector]; dmCard = Chassis.Inputs[inputSelector];
} }
else
{
dmCard = null;
}
Chassis.USBEnter.BoolValue = true; Chassis.USBEnter.BoolValue = true;
Debug.Console(2, this, "Routing USB for input {0} to {1}", inputSelector, dmCard);
ExecuteSwitch(dmCard, Chassis.Outputs[outputSelector], sigType); ExecuteSwitch(dmCard, Chassis.Outputs[outputSelector], sigType);
return; return;
} }