private void UpdateTrigger()//更新触发模式 { string[] szMode = new string[4] { "Internal", "External", "Software", "Fixed Frame Rate" }; int nMin = 0; int nMax = 0; KSJApiBase.KSJ_GetParamRange(m_nDeviceCurSel, KSJApiBase.KSJ_PARAM.KSJRIGGER_MODE, ref nMin, ref nMax); int i = 0; for (i = 0; i < 4; i++) { comboBox_TriggerMode.Items.Insert(i, szMode[i]); } if (nMax == 4) { comboBox_TriggerMode.Items.Insert(i, "High Low Fixed Frame Rate"); } KSJApiTriggerMode.KSJ_TriggerModeGet(m_nDeviceCurSel, ref m_TriggerMode); comboBox_TriggerMode.SelectedIndex = (int)m_TriggerMode; string[] szMethod = new string[4] { "Falling Edge", "Rising Edge", "High Level", "Low Level" }; for (i = 0; i < 4; i++) { comboBox_TriggerMethod.Items.Insert(i, szMethod[i]); } KSJApiTriggerMode.KSJ_TriggerMethodGet(m_nDeviceCurSel, ref m_TriggerMethod); comboBox_TriggerMethod.SelectedIndex = (int)m_TriggerMethod; KSJApiTriggerMode.KSJ_GetFixedFrameRateEx(m_nDeviceCurSel, ref m_fFixedFrameRate); FrameRate.Value = (decimal)m_fFixedFrameRate; }
public void UpdateInterface() { if (m_nDeviceCurSel == -1) { return; } // Initial Exposure Time int nMin = 0; int nMax = 0; int nCur = 0; KSJApiBase.KSJ_GetParamRange(m_nDeviceCurSel, KSJApiBase.KSJ_PARAM.KSJ_EXPOSURE, ref nMin, ref nMax); KSJApiBase.KSJ_GetParam(m_nDeviceCurSel, KSJApiBase.KSJ_PARAM.KSJ_EXPOSURE, ref nCur); NumericUpDown_EXPOSURE_TIME_MS.Minimum = nMin; NumericUpDown_EXPOSURE_TIME_MS.Maximum = nMax; NumericUpDown_EXPOSURE_TIME_MS.Value = nCur; string szText = String.Format("{0}-{1} ms ({2}sec, {3}min)", nMin, nMax, (float)nMin / 1000.0f, (float)nMax / 60000.0f); Label_EXPOSURE_TIME_RANGE.Text = szText; KSJApiBase.KSJ_GetParamRange(m_nDeviceCurSel, KSJApiBase.KSJ_PARAM.KSJ_EXPOSURE_LINES, ref nMin, ref nMax); KSJApiBase.KSJ_GetParam(m_nDeviceCurSel, KSJApiBase.KSJ_PARAM.KSJ_EXPOSURE_LINES, ref nCur); NumericUpDown_EXPOSURE_LINES.Minimum = nMin; NumericUpDown_EXPOSURE_LINES.Maximum = nMax; NumericUpDown_EXPOSURE_LINES.Value = nCur; szText = String.Format("{0}-{1} Lines", nMin, nMax); Label_EXPOSURE_LINES_RANGE.Text = szText; // GAIN, Because R,G,B Gain has same range. KSJApiBase.KSJ_GetParamRange(m_nDeviceCurSel, KSJApiBase.KSJ_PARAM.KSJ_RED, ref nMin, ref nMax); KSJApiBase.KSJ_GetParam(m_nDeviceCurSel, KSJApiBase.KSJ_PARAM.KSJ_RED, ref nCur); NumericUpDown_GAIN.Minimum = nMin; NumericUpDown_GAIN.Maximum = nMax; NumericUpDown_GAIN.Value = nCur; szText = String.Format("{0}-{1} Lines", nMin, nMax); Label_GAIN_RANGE.Text = szText; // FOV int nColStart = 0; int nRowStart = 0; int nColSize = 0; int nRowSize = 0; KSJApiBase.KSJ_ADDRESSMODE ColAddressMode = KSJApiBase.KSJ_ADDRESSMODE.KSJ_SKIPNONE; KSJApiBase.KSJ_ADDRESSMODE RowAddressMode = KSJApiBase.KSJ_ADDRESSMODE.KSJ_SKIPNONE; KSJApiBase.KSJ_PreviewGetDefaultFieldOfView(m_nDeviceCurSel, ref nColStart, ref nRowStart, ref nColSize, ref nRowSize, ref ColAddressMode, ref RowAddressMode); // Preview, Capture they are same, so you should get one is ok! szText = String.Format("{0}-{1} Lines", nColSize, nRowSize); Label_FOV_RANGE.Text = szText; TextBox_PREVIEW_COL_START.Text = nColStart.ToString(); TextBox_PREIVEW_ROW_START.Text = nRowStart.ToString(); TextBox_PREIVEW_COL_SIZE.Text = nColSize.ToString(); TextBox_PREIVEW_ROW_SIZE.Text = nRowSize.ToString(); KSJApiBase.KSJ_CaptureGetDefaultFieldOfView(m_nDeviceCurSel, ref nColStart, ref nRowStart, ref nColSize, ref nRowSize, ref ColAddressMode, ref RowAddressMode); TextBox_CAPTURE_COL_START.Text = nColStart.ToString(); TextBox_CAPTURE_ROW_START.Text = nRowStart.ToString(); TextBox_CAPTURE_COL_SIZE.Text = nColSize.ToString(); TextBox_CAPTURE_ROW_SIZE.Text = nRowSize.ToString(); }