void DetectDevicesTask() { while (DetectFlag) { classDevices = null; classDevices = new ClassDevice[MAX_DP_DEVICES]; DpCountAxist = 0; classCalibrationSettings.ConnectedChanels.Clear(); for (int i = 0; i < classCalibrationSettings.JigConfiguration; i++) { bool Ch = new bool(); classMultiplexingInstanse.ConnectDpDevice((byte)i); Thread.Sleep(250); classDpCommunicationInstanse.NewDpInfoEvent = false; classDpCommunicationInstanse.DPgetDpInfo(); Thread.Sleep(300); //classDpCommunicationInstanse.NewDpInfoEvent = true; if (classDpCommunicationInstanse.NewDpInfoEvent) // check if recieve data from DP { classDpCommunicationInstanse.NewDpInfoEvent = false; if (classDpCommunicationInstanse.dpInfo.DeviceSerialNumber == "" || classDpCommunicationInstanse.dpInfo.DeviceSerialNumber.StartsWith("\0")) { continue; } ClassDevice newDeviceExist = new ClassDevice(); newDeviceExist.PositionOnBoard = i; newDeviceExist.BoardNumber = (i >= 0 && i < 8) ? 1 : 2; newDeviceExist.DeviceMacAddress = classDpCommunicationInstanse.dpInfo.DeviseMacAddress; newDeviceExist.DeviceSerialNumber = classDpCommunicationInstanse.dpInfo.DeviceSerialNumber; classDevices[DpCountAxist] = newDeviceExist; UpdatePressAndTempOnDPBeforCalib(newDeviceExist); DpCountAxist++; Ch = true; classCalibrationSettings.ConnectedChanels.Add(Ch); } else { Ch = false; classCalibrationSettings.ConnectedChanels.Add(Ch); } } DetectFlag = false; EndDetectEvent = true; } DetectDevicesTaskHandlerThread = null; }
private void bt_getDPinfo_Click(object sender, EventArgs e) { classDpCommunication.DPgetDpInfo(); }