예제 #1
0
        /// <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);
            }
        }
예제 #2
0
        /// <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;
        }