/// <summary> /// /// </summary> /// <param name="reader"></param> /// <param name="portVal"></param> /// <returns></returns> public bool SetMultiplexerPort(STPv3Reader reader, byte portVal) { byte[] data = new byte[1]; byte[] muxPorts = MuxPortList(multiplexerType); if (multiplexerType.Equals(MUXType.FOUR_PORT_HF) || multiplexerType.Equals(MUXType.FOUR_PORT_UHF)) { if ((portVal != 0) && (portVal != 2) && (portVal != 5) && (portVal != 7)) { return(false); } if (portVal == 0) { portIndex = 0; } if (portVal == 2) { portIndex = 1; } if (portVal == 5) { portIndex = 2; } if (portVal == 7) { portIndex = 3; } } else { if (portVal > maxPort) { return(false); } } data[0] = portVal; currentPort = portVal; if (reader.WriteSystemParameter(data, (ushort)SYS_PARAMS.SYS_MUX_CONTROL, 1) == true) { return(true); } else { return(false); } }
/// <summary> /// /// </summary> /// <param name="muxType"></param> /// <returns></returns> private byte[] MuxPortList(MUXType muxType) { if (muxType.Equals(MUXType.FOUR_PORT_HF) || muxType.Equals(MUXType.FOUR_PORT_UHF)) { return(new byte[4] { 0, 2, 5, 7 }); } if (muxType.Equals(MUXType.EIGHT_PORT_HF) || muxType.Equals(MUXType.EIGHT_PORT_UHF)) { return(new byte[8] { 0, 1, 2, 3, 4, 5, 6, 7 }); } if (muxType.Equals(MUXType.TWELVE_PORT_HF) || muxType.Equals(MUXType.TWELVE_PORT_UHF)) { return(new byte[12] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }); } if (muxType.Equals(MUXType.SIXTEEN_PORT_HF) || muxType.Equals(MUXType.SIXTEEN_PORT_UHF)) { return(new byte[16] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }); } return(null); }
/// <summary> /// /// </summary> /// <param name="muxType"></param> /// <returns></returns> private byte[] MuxPortList(MUXType muxType) { if (muxType.Equals(MUXType.FOUR_PORT_HF) || muxType.Equals(MUXType.FOUR_PORT_UHF)) { return new byte[4] {0, 2, 5, 7}; } if (muxType.Equals(MUXType.EIGHT_PORT_HF) || muxType.Equals(MUXType.EIGHT_PORT_UHF)) { return new byte[8] { 0, 1, 2, 3, 4, 5, 6, 7 }; } if (muxType.Equals(MUXType.TWELVE_PORT_HF) || muxType.Equals(MUXType.TWELVE_PORT_UHF)) { return new byte[12] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; } if (muxType.Equals(MUXType.SIXTEEN_PORT_HF) || muxType.Equals(MUXType.SIXTEEN_PORT_UHF)) { return new byte[16] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; } return null; }