Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed MAX14720 MAX30205 USBDevice
ECGInputMux.cs
00001 /******************************************************************************* 00002 * Copyright (C) 2016 Maxim Integrated Products, Inc., All rights Reserved. 00003 * 00004 * This software is protected by copyright laws of the United States and 00005 * of foreign countries. This material may also be protected by patent laws 00006 * and technology transfer regulations of the United States and of foreign 00007 * countries. This software is furnished under a license agreement and/or a 00008 * nondisclosure agreement and may only be used or reproduced in accordance 00009 * with the terms of those agreements. Dissemination of this information to 00010 * any party or parties not specified in the license agreement and/or 00011 * nondisclosure agreement is expressly prohibited. 00012 * 00013 * The above copyright notice and this permission notice shall be included 00014 * in all copies or substantial portions of the Software. 00015 * 00016 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 00017 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00018 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 00019 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES 00020 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 00021 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 00022 * OTHER DEALINGS IN THE SOFTWARE. 00023 * 00024 * Except as contained in this notice, the name of Maxim Integrated 00025 * Products, Inc. shall not be used except as stated in the Maxim Integrated 00026 * Products, Inc. Branding Policy. 00027 * 00028 * The mere transfer of this software does not imply any licenses 00029 * of trade secrets, proprietary technology, copyrights, patents, 00030 * trademarks, maskwork rights, or any other form of intellectual 00031 * property whatsoever. Maxim Integrated Products, Inc. retains all 00032 * ownership rights. 00033 ******************************************************************************* 00034 */ 00035 00036 using System; 00037 using System.Collections; 00038 using System.Collections.Generic; 00039 using System.ComponentModel; 00040 using System.Data; 00041 using System.Drawing; 00042 using System.Linq; 00043 using System.Text; 00044 using System.Windows.Forms; 00045 using HealthSensorPlatform.CustomControls; 00046 using HealthSensorPlatform; 00047 00048 00049 namespace HealthSensorPlatform 00050 { 00051 // Code for ECG Input Mux Tab 00052 public partial class HspForm 00053 { 00054 List<RegisterField> ecgInputMuxField = new List<RegisterField>(); 00055 00056 // Needed for dynamic changing of options 00057 RegisterField ecgCalFiftyField; 00058 00059 00060 public int[] sw = new int[15]; 00061 00062 void initalizeECGInputMuxFields() 00063 { 00064 string[] enDcloffOptions = { "Disabled*", "ECG Ch.", "BioZ Ch." }; 00065 string[] dcloffIpolOptions = { "P: Pull Up, N: Pull Down*", "P: Pull Down, N: Pull Up" }; 00066 string[] dcloffImagOptions = { "0nA/Disabled*", "5nA", "10nA", "20nA", "50nA", "100nA" }; 00067 string[] dcloffVthOptions = { "VMID ±300mV*", "VMID ±400mV", "VMID ±450mV", "VMID ±500mV" }; 00068 00069 string[] enUlpLonOptions = { "Disabled", "ECG Ch.", "BioZ Ch." }; 00070 00071 string[] emuxOpenpOptions = { "Connected", "Isolated*" }; 00072 string[] emuxOpennOptions = { "Connected", "Isolated*" }; 00073 string[] emuxPolOptions = { "Non-Inverted*", "Inverted" }; 00074 00075 string[] enRbiasOptions = { "Disabled*", "ECG Bias", "BIOZ Bias" }; 00076 string[] rBiasvOptions = { "50MΩ", "100MΩ*", "200MΩ" }; 00077 string[] rBiaspOptions = { "Disconnected*", "Connected" }; 00078 string[] rBiasnOptions = { "Disconnected*", "Connected" }; 00079 00080 string[] calEnVcalOptions = { "Disabled*", "Enabled" }; 00081 string[] calVmodeOptions = { "Unipolar*", "Bipolar" }; 00082 string[] calVmagOptions = { "0.25mV*", "0.50mV" }; 00083 string[] calFcalOptions = { "FMSTR/128 (~256Hz)", "FMSTR/512 (~64Hz)", "FMSTR/2048 (~16Hz)", "FMSTR/8192 (~4Hz)", 00084 "FMSTR/2^15 (~1Hz)*", "FMSTR/2^17 (~1/4Hz)", "FMSTR/2^19 (~1/16Hz)", "FMSTR/2^21 (~1/64Hz)" }; 00085 string[] calFiftyOptions = { "Time High", "50%*" }; 00086 string[] calThighOptions = new string[2048/8]; // Assume FMSTR = 32768 Hz 00087 for (int i = 0; i < 2048/8; i++) 00088 { 00089 calThighOptions[i] = (30.52 * i * 8).ToString("F0") + " μs"; 00090 } 00091 calThighOptions[0] += "*"; // Default 00092 00093 string[] calPSelOptions = { "None*", "VMID", "VCALP", "VCALN" }; 00094 string[] calNSelOptions = calPSelOptions; 00095 00096 RegisterField enDcloffField = new RegisterField { Name = "\nEN_DCLOFF", Register = 0x10, Index = 12, Width = 2, Descriptions = enDcloffOptions, Label = lblEnDcloff, Control = cboEnDcloff , Device = max30001}; 00097 RegisterField dcloffIpolField = new RegisterField { Name = "DCLOFF_IPOL", Register = 0x10, Index = 11, Width = 1, Descriptions = dcloffIpolOptions, Label = lblDcloffIpol, Control = cboDcloffIpol, Device = max30001 }; 00098 RegisterField dcloffImagField = new RegisterField { Name = "DCLOFF_IMAG", Register = 0x10, Index = 8, Width = 3, Descriptions = dcloffImagOptions, Label = lblDcloffImag, Control = cboDcloffImag, Device = max30001 }; 00099 RegisterField dcloffVthField = new RegisterField { Name = "DCLOFF_VTH", Register = 0x10, Index = 6, Width = 2, Descriptions = dcloffVthOptions, Label = lblDcloffVth, Control = cboDcloffVth, Device = max30001}; 00100 ecgInputMuxField.Add(enDcloffField); 00101 ecgInputMuxField.Add(dcloffIpolField); 00102 ecgInputMuxField.Add(dcloffImagField); 00103 ecgInputMuxField.Add(dcloffVthField); 00104 00105 RegisterField enUlpLonField = new RegisterField { Name = "\nEN_ULP_LON", Register = 0x10, Index = 22, Width = 2, Descriptions = enDcloffOptions, Label = lblEmuxEnUlpLon, Control = cboEmuxEnUlpLon, Device = max30001}; 00106 ecgInputMuxField.Add(enUlpLonField); 00107 00108 00109 RegisterField emuxOpenpField = new RegisterField { Name = "EMUX_OPENP", Register = 0x14, Index = 21, Width = 1, Descriptions = emuxOpenpOptions, Label = lblEmuxOpenp, Control = cboEmuxOpenp, Device = max30001 }; 00110 RegisterField emuxOpennField = new RegisterField { Name = "EMUX_OPENN", Register = 0x14, Index = 20, Width = 1, Descriptions = emuxOpennOptions, Label = lblEmuxOpenn, Control = cboEmuxOpenn, Device = max30001 }; 00111 RegisterField emuxPolField = new RegisterField { Name = "EMUX_POL", Register = 0x14, Index = 23, Width = 1, Descriptions = emuxPolOptions, Label = lblEmuxPol, Control = cboEmuxPol, Device = max30001 }; 00112 ecgInputMuxField.Add(emuxOpenpField); 00113 ecgInputMuxField.Add(emuxOpennField); 00114 ecgInputMuxField.Add(emuxPolField); 00115 00116 RegisterField enRbiasField = new RegisterField { Name = "\nEN_RBIAS", Register = 0x10, Index = 4, Width = 2, Descriptions = enDcloffOptions, Label = lblEnRbias, Control = cboEnRbias, Device = max30001 }; 00117 RegisterField rBiasvField = new RegisterField { Name = "RBIASV", Register = 0x10, Index = 2, Width = 2, Descriptions = rBiasvOptions, Label = lblRbiasv, Control = cboRbiasv, Device = max30001 }; 00118 RegisterField rBiaspField = new RegisterField { Name = "RBIASP", Register = 0x10, Index = 1, Width = 1, Descriptions = rBiaspOptions, Label = lblRbiasp, Control = cboRbiasp, Device = max30001 }; 00119 RegisterField rBiasnField = new RegisterField { Name = "RBIASN", Register = 0x10, Index = 0, Width = 1, Descriptions = rBiasnOptions, Label = lblRbiasn, Control = cboRbiasn, Device = max30001 }; 00120 ecgInputMuxField.Add(enRbiasField); 00121 ecgInputMuxField.Add(rBiasvField); 00122 ecgInputMuxField.Add(rBiaspField); 00123 ecgInputMuxField.Add(rBiasnField); 00124 00125 RegisterField calEnVcalField = new RegisterField { Name = "CAL_EN_VCAL", Register = 0x12, Index = 22, Width = 1, Descriptions = calEnVcalOptions, Label = lblCalEnVcal, Control = cboCalEnVcal, Device = max30001 }; 00126 RegisterField calVmodeField = new RegisterField { Name = "CAL_VMODE", Register = 0x12, Index = 21, Width = 1, Descriptions = calVmodeOptions, Label = lblCalVMode, Control = cboCalVmode, Device = max30001 }; 00127 RegisterField calVmagField = new RegisterField { Name = "CAL_VMAG", Register = 0x12, Index = 20, Width = 1, Descriptions = calVmagOptions, Label = lblCalVmag, Control = cboCalVmag, Device = max30001 }; 00128 RegisterField calFcalField = new RegisterField { Name = "CAL_FCAL", Register = 0x12, Index = 12, Width = 3, Descriptions = calFcalOptions, Label = lblCalFreq, Control = cboCalFcal, Device = max30001 }; 00129 ecgCalFiftyField = new RegisterField { Name = "CAL_FIFTY", Register = 0x12, Index = 11, Width = 1, Descriptions = calFiftyOptions, Label = lblCalFifty, Control = cboCalFifty, Device = max30001 }; 00130 RegisterField calThighField = new RegisterField { Name = "CAL_THIGH", Register = 0x12, Index = 3, Width = 8, Descriptions = calThighOptions, Label = lblCalTHigh, Control = cboCalThigh, Device = max30001 }; 00131 // Decreasing GUI options from 2048 to 256 00132 //RegisterField calThighField = new RegisterField { Name = "CAL_THIGH", Register = 0x12, Index = 0, Width = 10, Descriptions = calThighOptions, Label = lblCalTHigh }; 00133 ecgInputMuxField.Add(calEnVcalField); 00134 ecgInputMuxField.Add(calVmodeField); 00135 ecgInputMuxField.Add(calVmagField); 00136 ecgInputMuxField.Add(calFcalField); 00137 ecgInputMuxField.Add(ecgCalFiftyField); 00138 ecgInputMuxField.Add(calThighField); 00139 00140 RegisterField calPSelField = new RegisterField { Name = "EMUX_CALP_SEL", Register = 0x14, Index = 18, Width = 2, Descriptions = calPSelOptions, Label = lblEmuxCalPSel, Control = cboEmuxCalPSel, Device = max30001 }; 00141 RegisterField calNSelField = new RegisterField { Name = "EMUX_CALN_SEL", Register = 0x14, Index = 16, Width = 2, Descriptions = calNSelOptions, Label = lblEmuxCalNSel, Control = cboEmuxCalNSel, Device = max30001 }; 00142 ecgInputMuxField.Add(calPSelField); 00143 ecgInputMuxField.Add(calNSelField); 00144 } 00145 00146 void ECGInputMuxUpdateRegisters() 00147 { 00148 internalUpdate = true; 00149 ReadComboBoxesRegisters(ecgInputMuxField); 00150 internalUpdate = false; 00151 } 00152 00153 private void cboCalFifty_SelectedIndexChanged(object sender, EventArgs e) 00154 { 00155 if (cboCalFifty.SelectedIndex == 1) 00156 { 00157 cboCalThigh.Enabled = false; 00158 } 00159 else 00160 { 00161 cboCalThigh.Enabled = true; 00162 } 00163 } 00164 00165 private void cboEnDcloff_SelectedIndexChanged(object sender, EventArgs e) 00166 { 00167 MaximStyle.MaximComboBox cbo = (MaximStyle.MaximComboBox)sender; 00168 00169 if (cbo.SelectedIndex == 0) 00170 { 00171 ecgView1.EnableDCLeadOff = false; 00172 } 00173 else 00174 { 00175 ecgView1.EnableDCLeadOff = true; 00176 if (cbo.SelectedIndex == 1) 00177 ecgView1.EnableEcgDCLeadOff = true; 00178 else 00179 ecgView1.EnableEcgDCLeadOff = false; 00180 } 00181 00182 redrawEcgMuxImage(); 00183 } 00184 00185 private void cboDcloffIpol_SelectedIndexChanged(object sender, EventArgs e) 00186 { 00187 redrawEcgMuxImage(); 00188 } 00189 00190 private void cboEmuxEnUlpLon_SelectedIndexChanged(object sender, EventArgs e) 00191 { 00192 redrawEcgMuxImage(); 00193 } 00194 00195 private void cboEmuxOpenp_SelectedIndexChanged(object sender, EventArgs e) 00196 { 00197 redrawEcgMuxImage(); 00198 } 00199 00200 private void cboEmuxOpenn_SelectedIndexChanged(object sender, EventArgs e) 00201 { 00202 redrawEcgMuxImage(); 00203 } 00204 00205 private void cboEmuxPol_SelectedIndexChanged(object sender, EventArgs e) 00206 { 00207 redrawEcgMuxImage(); 00208 } 00209 00210 private void cboEnRbias_SelectedIndexChanged(object sender, EventArgs e) 00211 { 00212 redrawEcgMuxImage(); 00213 } 00214 00215 private void cboRbiasp_SelectedIndexChanged(object sender, EventArgs e) 00216 { 00217 redrawEcgMuxImage(); 00218 } 00219 00220 private void cboRbiasn_SelectedIndexChanged(object sender, EventArgs e) 00221 { 00222 redrawEcgMuxImage(); 00223 } 00224 00225 private void cboCalEnVcal_SelectedIndexChanged(object sender, EventArgs e) 00226 { 00227 redrawEcgMuxImage(); 00228 } 00229 00230 private void cboEmuxCalPSel_SelectedIndexChanged(object sender, EventArgs e) 00231 { 00232 redrawEcgMuxImage(); 00233 } 00234 00235 private void cboEmuxCalNSel_SelectedIndexChanged(object sender, EventArgs e) 00236 { 00237 redrawEcgMuxImage(); 00238 } 00239 00240 private void redrawEcgMuxImage() 00241 { 00242 processSwitchState(); 00243 00244 redrawSwitches(); 00245 } 00246 00247 private void processSwitchState() 00248 { 00249 //Logic for panel 1 00250 if (cboEnDcloff.SelectedIndex == 1) 00251 { 00252 if (cboDcloffIpol.SelectedIndex == 0) 00253 { 00254 sw[1] = 0; 00255 sw[2] = 1; 00256 sw[10] = 1; 00257 sw[11] = 0; 00258 } 00259 else 00260 { 00261 sw[1] = 1; 00262 sw[2] = 0; 00263 sw[10] = 0; 00264 sw[11] = 1; 00265 } 00266 } 00267 else 00268 { 00269 sw[1] = 0; 00270 sw[2] = 0; 00271 sw[10] = 0; 00272 sw[11] = 0; 00273 } 00274 //Logic for panel 2 00275 if (cboEmuxEnUlpLon.SelectedIndex == 1) 00276 { 00277 sw[3] = 1; 00278 sw[12] = 1; 00279 } 00280 else 00281 { 00282 sw[3] = 0; 00283 sw[12] = 0; 00284 } 00285 //Logic for panel 3 00286 if (cboEmuxPol.SelectedIndex == 0) 00287 { 00288 sw[7] = 0; 00289 sw[8] = 0; 00290 if (cboEmuxOpenp.SelectedIndex == 0) 00291 { 00292 sw[6] = 1; 00293 } 00294 else 00295 { 00296 sw[6] = 0; 00297 } 00298 if (cboEmuxOpenn.SelectedIndex == 0) 00299 { 00300 sw[9] = 1; 00301 } 00302 else 00303 { 00304 sw[9] = 0; 00305 } 00306 } 00307 else 00308 { 00309 sw[6] = 0; 00310 sw[9] = 0; 00311 if (cboEmuxOpenp.SelectedIndex == 0) 00312 { 00313 sw[7] = 1; 00314 } 00315 else 00316 { 00317 sw[7] = 0; 00318 } 00319 if (cboEmuxOpenn.SelectedIndex == 0) 00320 { 00321 sw[8] = 1; 00322 } 00323 else 00324 { 00325 sw[8] = 0; 00326 } 00327 } 00328 //Logic for panel 4 00329 if (cboEnRbias.SelectedIndex == 1) 00330 { 00331 if (cboRbiasp.SelectedIndex == 1) 00332 sw[4] = 1; 00333 else 00334 sw[4] = 0; 00335 if (cboRbiasn.SelectedIndex == 1) 00336 sw[13] = 1; 00337 else 00338 sw[13] = 0; 00339 } 00340 else 00341 { 00342 sw[4] = 0; 00343 sw[13] = 0; 00344 } 00345 //Logic 5 00346 if (cboCalEnVcal.SelectedIndex == 1) 00347 { 00348 if (cboEmuxCalPSel.SelectedIndex == 1 | cboEmuxCalPSel.SelectedIndex == 2 | 00349 cboEmuxCalPSel.SelectedIndex == 3) 00350 sw[5] = 1; 00351 else 00352 { 00353 sw[5] = 0; 00354 } 00355 if (cboEmuxCalNSel.SelectedIndex == 1 | cboEmuxCalNSel.SelectedIndex == 2 | 00356 cboEmuxCalNSel.SelectedIndex == 3) 00357 sw[14] = 1; 00358 else 00359 { 00360 sw[14] = 0; 00361 } 00362 } 00363 else 00364 { 00365 sw[5] = 0; 00366 sw[14] = 0; 00367 } 00368 } 00369 00370 private void redrawSwitches() 00371 { 00372 // Dispose all Images 00373 if (picSw1.Image != null) 00374 picSw1.Image.Dispose(); 00375 if (picSw2.Image != null) 00376 picSw2.Image.Dispose(); 00377 if (picSw3.Image != null) 00378 picSw3.Image.Dispose(); 00379 if (picSw4.Image != null) 00380 picSw4.Image.Dispose(); 00381 if (picSw5.Image != null) 00382 picSw5.Image.Dispose(); 00383 if (picSw6.Image != null) 00384 picSw6.Image.Dispose(); 00385 if (picSw7.Image != null) 00386 picSw7.Image.Dispose(); 00387 if (picSw8.Image != null) 00388 picSw8.Image.Dispose(); 00389 if (picSw9.Image != null) 00390 picSw9.Image.Dispose(); 00391 if (picSw10.Image != null) 00392 picSw10.Image.Dispose(); 00393 if (picSw11.Image != null) 00394 picSw11.Image.Dispose(); 00395 if (picSw12.Image != null) 00396 picSw12.Image.Dispose(); 00397 if (picSw13.Image != null) 00398 picSw13.Image.Dispose(); 00399 if (picSw14.Image != null) 00400 picSw14.Image.Dispose(); 00401 00402 if (sw[1] == 1) 00403 picSw1.Image = Properties.Resources.sw1; 00404 else 00405 picSw1.Image = null; 00406 if (sw[2] == 1) 00407 picSw2.Image = Properties.Resources.sw2; 00408 else 00409 picSw2.Image = null; 00410 if (sw[3] == 1) 00411 picSw3.Image = Properties.Resources.sw3; 00412 else 00413 picSw3.Image = null; 00414 if (sw[4] == 1) 00415 picSw4.Image = Properties.Resources.sw4; 00416 else 00417 picSw4.Image = null; 00418 if (sw[5] == 1) 00419 picSw5.Image = Properties.Resources.sw5; 00420 else 00421 picSw5.Image = null; 00422 if (sw[6] == 1) 00423 picSw6.Image = Properties.Resources.sw6; 00424 else 00425 picSw6.Image = null; 00426 if (sw[7] == 1) 00427 picSw7.Image = Properties.Resources.sw7; 00428 else 00429 picSw7.Image = null; 00430 if (sw[8] == 1) 00431 picSw8.Image = Properties.Resources.sw8; 00432 else 00433 picSw8.Image = null; 00434 if (sw[9] == 1) 00435 picSw9.Image = Properties.Resources.sw9; 00436 else 00437 picSw9.Image = null; 00438 if (sw[10] == 1) 00439 picSw10.Image = Properties.Resources.sw10; 00440 else 00441 picSw10.Image = null; 00442 if (sw[11] == 1) 00443 picSw11.Image = Properties.Resources.sw11; 00444 else 00445 picSw11.Image = null; 00446 if (sw[12] == 1) 00447 picSw12.Image = Properties.Resources.sw12; 00448 else 00449 picSw12.Image = null; 00450 if (sw[13] == 1) 00451 picSw13.Image = Properties.Resources.sw13; 00452 else 00453 picSw13.Image = null; 00454 if (sw[14] == 1) 00455 picSw14.Image = Properties.Resources.sw14; 00456 else 00457 picSw14.Image = null; 00458 } 00459 00460 00461 private InitArgs.EcgInitStart getEcgArgs() 00462 { 00463 InitArgs.EcgInitStart initArgs = new CustomControls.InitArgs.EcgInitStart(); 00464 00465 initArgs.Openp = cboEmuxOpenp.SelectedIndex; 00466 initArgs.Openn = cboEmuxOpenn.SelectedIndex; 00467 initArgs.Pol = cboEmuxPol.SelectedIndex; 00468 initArgs.Calp_sel = cboEmuxCalPSel.SelectedIndex; 00469 initArgs.Caln_sel = cboEmuxCalNSel.SelectedIndex; 00470 //initArgs.En_ecg = cboECGChannelEnable.SelectedIndex; 00471 initArgs.En_ecg = chkEnECG.Checked ? 1 : 0; 00472 initArgs.E_fit = 15;//0x1F; // TODO 00473 initArgs.Rate = cboSampleRate.SelectedIndex; 00474 initArgs.Gain = cboChannelGain.SelectedIndex; 00475 initArgs.Dhpf = cboDhpf.SelectedIndex; 00476 initArgs.Dlpf = cboDlpf.SelectedIndex; 00477 00478 return initArgs; 00479 } 00480 00481 private void setEcgArgs(InitArgs.EcgInitStart initArgs) 00482 { 00483 cboEmuxOpenp.SelectedIndex = initArgs.Openp; 00484 cboEmuxOpenn.SelectedIndex = initArgs.Openn; 00485 cboEmuxPol.SelectedIndex = initArgs.Pol; 00486 cboEmuxCalPSel.SelectedIndex = initArgs.Calp_sel; 00487 cboEmuxCalNSel.SelectedIndex = initArgs.Caln_sel; 00488 //initArgs.En_ecg = cboECGChannelEnable.SelectedIndex; 00489 //initArgs.En_ecg = chkEnECG.Checked == true ? 1 : 0; 00490 //initArgs.E_fit = 15;//0x1F; 00491 cboSampleRate.SelectedIndex = initArgs.Rate; 00492 cboChannelGain.SelectedIndex = initArgs.Gain; 00493 cboDhpf.SelectedIndex = initArgs.Dhpf; 00494 cboDlpf.SelectedIndex = initArgs.Dlpf; 00495 } 00496 00497 private InitArgs.FMSTRInitStart getFMSTRArgs() 00498 { 00499 InitArgs.FMSTRInitStart initArgs = new InitArgs.FMSTRInitStart(); 00500 00501 initArgs.En_rbias = cboEnRbias.SelectedIndex; 00502 initArgs.Rbiasv = cboRbiasv.SelectedIndex; 00503 initArgs.Rbiasp = cboRbiasp.SelectedIndex; 00504 initArgs.Rbiasn = cboRbiasn.SelectedIndex; 00505 initArgs.Fmstr = cboMasterClock.SelectedIndex; 00506 00507 return initArgs; 00508 } 00509 00510 private void setFMSTRArgs(InitArgs.FMSTRInitStart initArgs) 00511 { 00512 cboEnRbias.SelectedIndex = initArgs.En_rbias; 00513 cboRbiasv.SelectedIndex = initArgs.Rbiasv; 00514 cboRbiasp.SelectedIndex = initArgs.Rbiasp; 00515 cboRbiasn.SelectedIndex = initArgs.Rbiasn; 00516 cboMasterClock.SelectedIndex = initArgs.Fmstr; 00517 } 00518 00519 } 00520 }
Generated on Thu Jul 28 2022 18:07:13 by
1.7.2