예제 #1
0
        Int32 NewFrame(IntPtr data, IPC2.FrameMetadata Metadata)
        {
            labelFrameCounter.Text = "Frame counter HW/SW: " + Metadata.CounterHW.ToString() + "/" + Metadata.Counter.ToString();
            labelPIF.Text          =
                "PIF   DI:" + ((Metadata.PIFin[0] >> 15) == 0).ToString() +
                "     AI1:" + (Metadata.PIFin[0] & 0x3FF).ToString() +
                "     AI2:" + (Metadata.PIFin[1] & 0x3FF).ToString();

            switch (Metadata.FlagState)
            {
            case IPC2.FlagState.FlagOpen: labelFlag.Text = "open"; labelFlag.ForeColor = Color.Green; labelFlag.BackColor = labelFlag1.BackColor; break;

            case IPC2.FlagState.FlagClose: labelFlag.Text = "closed"; labelFlag.ForeColor = Color.White; labelFlag.BackColor = Color.Red; break;

            case IPC2.FlagState.FlagOpening: labelFlag.Text = "opening"; labelFlag.ForeColor = SystemColors.WindowText; labelFlag.BackColor = Color.Yellow; break;

            case IPC2.FlagState.FlagClosing: labelFlag.Text = "closing"; labelFlag.ForeColor = SystemColors.WindowText; labelFlag.BackColor = Color.Yellow; break;

            default: labelFlag.Text = ""; labelFlag.ForeColor = labelFlag1.ForeColor; labelFlag.BackColor = labelFlag1.BackColor; break;
            }

            for (Int32 x = 0; x < FrameSize; x++)
            {
                Values[x] = Marshal.ReadInt16(data, x * 2);
            }
            if (!Painted)
            {
                GetBitmap(bmp, Values);
                pictureBox.Invalidate();
                Painted = true;
            }

            return(0);
        }
예제 #2
0
        Int32 NewFrame(IntPtr data, IPC2.FrameMetadata Metadata)
        {
            pNewFrame(data, Metadata);

            return(0);
        }