Example #1
0
        private void cmdStartBgnd_Click(System.Object eventSender, System.EventArgs eventArgs)
        {
            int   CurIndex;
            int   CurCount;
            short Status;

            MccDaq.ErrorInfo ULStat;
            int CBRate;

            MccDaq.ScanOptions Options;

            MccDaq.DigitalPortDirection Direction;
            MccDaq.DigitalPortType      PortNum;

            cmdStartBgnd.Enabled   = false;
            cmdStartBgnd.Visible   = false;
            cmdStopConvert.Enabled = true;
            cmdStopConvert.Visible = true;
            cmdQuit.Enabled        = false;
            UserTerm = 0;             // initialize user terminate flag

            //FirstPortA is treated as a 16-bit port; therefore FirtstPortA and FirstPortB must be configured for digital output
            PortNum   = MccDaq.DigitalPortType.FirstPortA;
            Direction = MccDaq.DigitalPortDirection.DigitalOut;
            ULStat    = DaqBoard.DConfigPort(PortNum, Direction);

            PortNum   = MccDaq.DigitalPortType.FirstPortB;
            Direction = MccDaq.DigitalPortDirection.DigitalOut;
            ULStat    = DaqBoard.DConfigPort(PortNum, Direction);

            // Collect the values with cbDaqInScan()
            //  Parameters:
            //    BoardNum        :the number used by CB.CFG to describe this board
            //    ChanArray[]     :array of channel values
            //    ChanTypeArray[] : array of channel types
            //    GainArray[]     :array of gain values
            //    ChansCount      :the number of elements in the arrays (0=disable queue)
            //    Count           :the total number of A/D samples to collect
            //    CBRate          :sample rate in samples per second
            //    ADData[]        :the array for the collected data values
            //    Options         :data collection options

            Options = MccDaq.ScanOptions.Background | MccDaq.ScanOptions.Continuous | MccDaq.ScanOptions.NonStreamedIO;
            CBRate  = 1000;            // Generate data at 1000 Hz

            ULStat = DaqBoard.DaqOutScan(ChanArray, ChanTypeArray, GainArray, ChanCount, ref CBRate, Count, MemHandle, Options);

            ULStat = DaqBoard.GetStatus(out Status, out CurCount, out CurIndex, MccDaq.FunctionType.DaqoFunction);

            if (Status == MccDaq.MccBoard.Running)
            {
                lblShowStat.Text  = "Running";
                lblShowCount.Text = CurCount.ToString("D");
                lblShowIndex.Text = CurIndex.ToString("D");
            }

            tmrCheckStatus.Enabled = true;
        }