public void ResumeMove() { m_isFromPause = true; m_dripStatus = PipettingStatus.Moving; m_moveThread = new Thread(new ThreadStart(DoPipetting)); m_moveThread.Start(); }
private void OnPipettingFinished() { m_pipettingStatus = PipettingStatus.Idle; this.Invoke(new DelDripFinished(delegate { UpdateButtons(); })); }
public void StopMove() { PipettingStatus preMode = m_dripStatus; m_dripStatus = PipettingStatus.Idle; m_selectedTubes.Clear(); VsmdController.GetVsmdController().Stop(); if (preMode == PipettingStatus.PauseMove) { AfterMove(); } }
private void btnPause_Click(object sender, EventArgs e) { if (m_pipettingStatus == PipettingStatus.Moving) { m_externalObj.PauseMove(); m_pipettingStatus = PipettingStatus.PauseMove; btnPause.Text = "继续滴液"; } else if (m_pipettingStatus == PipettingStatus.PauseMove) { m_externalObj.ResumeMove(); m_pipettingStatus = PipettingStatus.Moving; btnPause.Text = "暂停滴液"; } UpdateButtons(); }
private void btnStart_Click(object sender, EventArgs e) { double val = 0; bool bok = double.TryParse(txtDelaySeconds.Text, out val); if (!bok) { MessageBox.Show("体积必须为数字!"); return; } if (val == 0) { MessageBox.Show("体积必须大于0!"); return; } Preference.GetInstace().DelaySeconds = val; int cnt = 0; bok = int.TryParse(txtSampleCnt.Text, out cnt); if (!bok) { MessageBox.Show("样本数必须为数字!"); return; } if (val == 0) { MessageBox.Show("样本数必须大于0!"); return; } if (!m_manuallySelect) { m_externalObj.ResetBoard(); m_externalObj.SelectTubes(cnt); } Preference.GetInstace().Save(); //Logger.Instance.Write("about to start pipetting"); m_externalObj.Move(); m_pipettingStatus = PipettingStatus.Moving; runInfoModel.AddRunInfo(cmbProjectName.SelectedItem.ToString(), int.Parse(txtSampleCnt.Text)); UpdateButtons(); }
private async Task <bool> AfterMove() { //await VsmdController.GetVsmdController().Off(VsmdAxis.X); //await VsmdController.GetVsmdController().Off(VsmdAxis.Y); bool bok = await VsmdController.GetVsmdController().MoveTo(VsmdAxis.Y, 100); if (m_dripStatus != PipettingStatus.PauseMove) { CallJS("JsExecutor.afterMove();"); m_isFromPause = false; m_dripStatus = PipettingStatus.Idle; m_selectedTubes.Clear(); if (onPipettingFinished != null) { onPipettingFinished(); } } return(bok); }
private void btnStop_Click(object sender, EventArgs e) { m_externalObj.StopMove(); m_pipettingStatus = PipettingStatus.Idle; UpdateButtons(); }
private async Task <bool> BeforeMove(int wellCnt) { m_dripStatus = PipettingStatus.Moving; CallJS("JsExecutor.beforeMove();"); return(true); }
public void PauseMove() { CallJS("JsExecutor.pauseMove()"); m_dripStatus = PipettingStatus.PauseMove; }