Darien Figueroa / Mbed 2 deprecated repo3

Dependencies:   mbed MAX14720 MAX30205 USBDevice

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers ECGInputMux.cs Source File

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 }