Beispiel #1
0
        public void WriteIOOut(ushort port, bool sts)
        {
            if (CardNo.Count == 0)
            {
                return;
            }
            uint IOStatus = 0;

            lock (sny_Obj)
            {
                CPCI_DMC.CS_DMC_01_get_dio_output_DW(CardNo[0], ref IOStatus);
                //ushort IOOutStatus = 0;
                //if (sts)
                //{
                //    IOOutStatus = (ushort)(IOStatus | (ushort)Math.Pow(2, port));
                //}
                //else
                //{
                //    IOOutStatus = (ushort)(IOStatus & (0xFFFF - (ushort)Math.Pow(2, port)));
                //}

                BitArray myVal = new BitArray(new int[] { (int)IOStatus });
                myVal[port] = sts;
                Byte[] myB = new Byte[4];
                myVal.CopyTo(myB, 0);

                uint IOOutStatus = BitConverter.ToUInt32(myB, 0);

                CPCI_DMC.CS_DMC_01_set_dio_output_DW(CardNo[0], IOOutStatus);
            }
        }
Beispiel #2
0
        public bool ReadIOOut(ushort port)
        {
            if (CardNo.Count == 0)
            {
                return(false);
            }
            uint IOStatus = 0;

            CPCI_DMC.CS_DMC_01_get_dio_output_DW(CardNo[0], ref IOStatus);
            return((IOStatus & (0x01 << port)) != 0 ? true : false);
        }
Beispiel #3
0
        public bool BReadIOOutPut(ushort CardNo, ushort port)
        {
            uint IOStatus = 0;

            CPCI_DMC.CS_DMC_01_get_dio_output_DW(CardNo, ref IOStatus);
            //if ((IOStatus & (0x01 << port)) != 0)
            //{
            //    return false;
            //}
            //else
            //{
            //    return true;
            //}
            return((IOStatus & (0x01 << port)) != 0 ? true : false);
        }
Beispiel #4
0
        public void VWriteIOout(ushort CardNo, ushort port, bool sts)
        {
            uint IOStatus = 0;

            CPCI_DMC.CS_DMC_01_get_dio_output_DW(CardNo, ref IOStatus);
            ushort IOOutStatus = 0;

            if (sts)
            {
                IOOutStatus = (ushort)(IOStatus | (ushort)Math.Pow(2, port));
            }
            else
            {
                IOOutStatus = (ushort)(IOStatus & (0xFFFF - (ushort)Math.Pow(2, port)));
            }

            CPCI_DMC.CS_DMC_01_set_dio_output_DW(CardNo, IOOutStatus);
        }