Darien Figueroa / Mbed 2 deprecated repo3

Dependencies:   mbed MAX14720 MAX30205 USBDevice

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers MAX30003Info.cs Source File

MAX30003Info.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.Generic;
00038 using System.Linq;
00039 using System.Text;
00040 using HealthSensorPlatform.DeviceDescriptions;
00041 using RPCSupport.DeviceSupport;
00042 
00043 namespace Maxim.CustomControls
00044 {
00045     class MAX30003Info : Device
00046     {
00047 
00048         public MAX30003Info()
00049         {
00050             deviceDetails = new DeviceDetails();
00051             deviceDetails.type = DeviceDetails.eType.eMAX30001;
00052 
00053             initalizeDescription();
00054 
00055         }
00056 
00057         void initalizeDescription()
00058         {
00059             Info = new RegisterInfo[] {
00060                 new RegisterInfo("STATUS",      0x01,   3, RegisterInfo.RegisterType.ReadOnly),
00061                 new RegisterInfo("EN_INT",      0x02,   3),
00062                 new RegisterInfo("EN_INT2",     0x03,   3),
00063                 new RegisterInfo("MNGR_INT",    0x04,   3),
00064                 new RegisterInfo("MNGR_DYN",    0x05,   3),
00065                 new RegisterInfo("SW_RST",      0x08,   3, RegisterInfo.RegisterType.WriteOnly),
00066                 new RegisterInfo("SYNCH",       0x09,   3, RegisterInfo.RegisterType.WriteOnly),
00067                 new RegisterInfo("FIFO_RST",    0x0A,   3, RegisterInfo.RegisterType.WriteOnly),
00068                 new RegisterInfo("INFO",        0x0F,   3, RegisterInfo.RegisterType.ReadOnly),
00069                 new RegisterInfo("CNFG_GEN",    0x10,   3),
00070                 new RegisterInfo("CNFG_CAL",    0x12,   3),
00071                 new RegisterInfo("CNFG_EMUX",   0x14,   3),
00072                 new RegisterInfo("CNFG_ECG",    0x15,   3),
00073                 //new RegisterInfo("CNFG_BMUX", 0x17,   3),
00074                 //new RegisterInfo("CNFG_BIOZ", 0x18,   3),
00075                 //new RegisterInfo("CNFG_PACE",   0x1A, 3),
00076                 new RegisterInfo("CNFG_RTOR1",  0x1D,   3),
00077                 new RegisterInfo("CNFG_RTOR2",  0x1E,   3)
00078            };
00079 
00080 
00081             //bit description for STATUS
00082             Descriptions(0x01).Add("Bit [23]", "EINT", "ECG FIFO Interrupt: indicates ECG records meeting/exceeding the ECG FIFO Interrupt Threshold (EFIT) are available for read back.  Remains active until ECG FIFO is read back to the extent required to clear the EFIT condition.");
00083             Descriptions(0x01).Add("Bit [22]", "EOVF", "ECG FIFO Overflow: indicates the ECG FIFO has overflowed and the data record has been corrupted.  ");
00084             Descriptions(0x01).Add("Bit [21]", "FSTINT", "ECG Fast Recovery Mode: Issued when the ECG Fast Recovery Mode is engaged (either manually or automatically).");
00085             Descriptions(0x01).Add("Bit [20]", "DCLOFFINT", "DC Lead Off Detection Interrupt:  indicates the part has determined it is in an ECG/BIOZ Leads Off condition (as selected in CNFG_GEN) for more than 90ms. Remains active as long as the Leads Off condition persists even after a STATUS register read, then held until cleared by STATUS register read (30th SCLK) if condition has ceased.  Note: Exact time depends on BIOZ modulation frequency (the clock used for counting) and can range from 90ms to 140ms.");
00086             /*
00087             Descriptions(0x01).Add("Bit [19]", "BINT", "BIOZ FIFO Interrupt: indicates BIOZ records meeting/exceeding the BIOZ FIFO Interrupt Threshold (BFIT) are available for read back.  Remains active until BIOZ FIFO is read back to the extent required to clear the BFIT condition.");
00088             Descriptions(0x01).Add("Bit [18]", "BOVF", "BIOZ FIFO Overflow: indicates the BIOZ FIFO has overflowed and the data record has been corrupted.  ");
00089             Descriptions(0x01).Add("Bit [17]", "BOVER", "BIOZ Over Range: indicates the BIOZ output magnitude has exceeded the BIOZ High Threshold (BLOFF_HI_IT) for at least 100ms, recommended for use in 2 and 4 electrode BIOZ Lead Off detection.");
00090             Descriptions(0x01).Add("Bit [16]", "BUNDR", "BIOZ Under Range: indicates the BIOZ output magnitude has been bounded by the BIOZ Low Threshold (BLOFF_LO_IT) for at least 1.7 seconds, recommended for use in 4 electrode BIOZ Lead Off detection.");
00091             Descriptions(0x01).Add("Bit [15]", "BCGMON", "BIOZ Current Generator Monitor:  indicates the DRVP and/or DRVN current generator has been in a Lead Off condition for at least 128ms, recommended for use in 4 electrode BIOZ Lead Off detection.");
00092             Descriptions(0x01).Add("Bit [14]", "PINT", "PACE FIFO Interrupt: indicates PACE records are available for read back (should be used in conjunction with EINT).  ");
00093             Descriptions(0x01).Add("Bit [13]", "POVF", "PACE FIFO Overflow: indicates the PACE FIFO has overflowed and the data record has been corrupted.  ");
00094             Descriptions(0x01).Add("Bit [12]", "PEDGE", "PACE Edge Detection Interrupt: real time PACE edge indicator showing when the MAX30001 has determined a PACE edge occurred (note this is different than the PINT interrupt, which indicates when the detected edges are logged into the PACE FIFO).  Clear behavior is defined by CLR_PEDGE[1:0], see MNGR_INT for details.");
00095             */
00096             Descriptions(0x01).Add("Bit [11]", "LONINT", "Ultra Low Power Lead On Detection Interrupt: indicates the part has determined it is in a Leads On condition (as selected in CNFG_GEN).  Remains active while the Leads On condition persists, then held until cleared by STATUS read back (32nd SCLK).");
00097             Descriptions(0x01).Add("Bit [10]", "RRINT", "ECG R to R Detector R Event Interrupt: Issued when the R to R detector has identified a new R event.");
00098             Descriptions(0x01).Add("Bit [9]", "SAMP", "Sample Synchronization Pulse:  issued on the ECG/BIOZ base-rate sampling instant, for use in assisting µC monitoring and synchronizing other peripheral operations and data, generally recommended for use as a dedicated interrupt.  ECG is the default, BIOZ is used only when ECG is not in use.  Frequency is selected by SAMP_IT[1:0], see MNGR_INT for details.  Clear behavior is defined by CLR_SAMP, see MNGR_INT for details.");
00099             Descriptions(0x01).Add("Bit [8]", "PLLINT", "PLL Unlocked Interrupt:  indicates the PLL has not yet achieved or has lost its phase lock.  PLLINT will only be asserted when the PLL is powered up and active (ECG and/or BIOZ Channel enabled).  Remains asserted while the PLL unlocked condition persists, then held until cleared by STATUS read back (32nd SCLK).  Note:  Writes to CNFG_GEN which either enable the PLL or alter the FMSTR setting will result in an issuance of PLLINT while the PLL re-achieves lock – users should allow this behavior to settle out before considering the data valid.");
00100             /*
00101             Descriptions(0x01).Add("Bit [5]", "BCGMP", "BIOZ Current Generator Monitor individual outputs:  indicates the DRVP or DRVN current generator has been in a Lead Off condition for at least 128ms.  These are not strictly interrupt terms, but are detailed status bits, covered by the BCGMON interrupt term.");
00102             Descriptions(0x01).Add("Bit [4]", "BCGMN", "BIOZ Current Generator Monitor individual outputs:  indicates the DRVP or DRVN current generator has been in a Lead Off condition for at least 128ms.  These are not strictly interrupt terms, but are detailed status bits, covered by the BCGMON interrupt term.");
00103             */
00104             Descriptions(0x01).Add("Bit [3]", "LDOFF_PH", "DC Lead Off Detection Detailed Status:  indicates the part has determined (as selected by CNFG_GEN):  ");
00105             Descriptions(0x01).Add("Bit [2]", "LDOFF_PL", "ECGP/BIP is above the high threshold (VTHH), ECGP/BIP is below the low threshold (VTHL),");
00106             Descriptions(0x01).Add("Bit [1]", "LDOFF_NH", "ECGN/BIN is above the high threshold (VTHH), ECGN/BIN is below the low threshold (VTHL), respectively.");
00107             Descriptions(0x01).Add("Bit [0]", "LDOFF_NL", "Remain active as long as the Lead Off Detection is active and the Leads Off condition persists, then held until cleared by STATUS read back (32nd SCLK). These are not strictly interrupt terms, but are detailed status bits, covered by the DCLOFFINT bit.");
00108 
00109             //bit description for EN_INT
00110             Descriptions(0x02).Add("Bit [23]", "EN_EINT", @"Interrupt enable for INTB pin.  
00111 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00112 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00113             Descriptions(0x02).Add("Bit [22]", "EN_EOVF", @"Interrupt enable for INTB pin.  
00114 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00115 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00116             Descriptions(0x02).Add("Bit [21]", "EN_FSTINT", @"Interrupt enable for INTB pin.  
00117 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00118 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00119             Descriptions(0x02).Add("Bit [20]", "EN_DCLOFFINT", @"Interrupt enable for INTB pin.  
00120 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00121 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00122             /*
00123             Descriptions(0x02).Add("Bit [19]", "EN_BINT", @"Interrupt enable for INTB pin.  
00124 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00125 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00126             Descriptions(0x02).Add("Bit [18]", "EN_BOVF", @"Interrupt enable for INTB pin.  
00127 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00128 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00129             Descriptions(0x02).Add("Bit [17]", "EN_BOVER", @"Interrupt enable for INTB pin.  
00130 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00131 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00132             Descriptions(0x02).Add("Bit [16]", "EN_BUNDR", @"Interrupt enable for INTB pin.  
00133 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00134 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00135             Descriptions(0x02).Add("Bit [15]", "EN_BCGMON", @"Interrupt enable for INTB pin.  
00136 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00137 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00138             Descriptions(0x02).Add("Bit [14]", "EN_PINT", @"Interrupt enable for INTB pin.  
00139 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00140 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00141             Descriptions(0x02).Add("Bit [13]", "EN_POVF", @"Interrupt enable for INTB pin.  
00142 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00143 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00144             Descriptions(0x02).Add("Bit [12]", "EN_PEDGE", @"Interrupt enable for INTB pin.  
00145 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00146 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00147             */
00148             Descriptions(0x02).Add("Bit [11]", "EN_LONINT", @"Interrupt enable for INTB pin.  
00149 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00150 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00151             Descriptions(0x02).Add("Bit [10]", "EN_RRINT", @"Interrupt enable for INTB pin.  
00152 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00153 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00154             Descriptions(0x02).Add("Bit [9]", "EN_SAMP", @"Interrupt enable for INTB pin.  
00155 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00156 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00157             Descriptions(0x02).Add("Bit [8]", "EN_PLLINT", @"Interrupt enable for INTB pin.  
00158 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00159 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00160             Descriptions(0x02).Add("Bit [1:0]", "INTB_TYPE[1:0]", "INTB Port Type (EN_INT Selections)");
00161 
00162             //bit description for EN_INT2
00163             Descriptions(0x03).Add("Bit [23]", "EN_EINT2", @"Interrupt enable for INT2B pin.  
00164 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00165 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00166             Descriptions(0x03).Add("Bit [22]", "EN_EOVF2", @"Interrupt enable for INT2B pin.  
00167 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00168 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00169             Descriptions(0x03).Add("Bit [21]", "EN_FSTINT2", @"Interrupt enable for INT2B pin.  
00170 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00171 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00172             Descriptions(0x03).Add("Bit [20]", "EN_DCLOFFINT2", @"Interrupt enable for INT2B pin.  
00173 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00174 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00175             /*
00176             Descriptions(0x03).Add("Bit [19]", "EN_BINT2", @"Interrupt enable for INT2B pin.  
00177 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00178 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00179             Descriptions(0x03).Add("Bit [18]", "EN_BOVF2", @"Interrupt enable for INT2B pin.  
00180 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00181 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00182             Descriptions(0x03).Add("Bit [17]", "EN_BOVER2", @"Interrupt enable for INT2B pin.  
00183 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00184 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00185             Descriptions(0x03).Add("Bit [16]", "EN_BUNDR2", @"Interrupt enable for INT2B pin.  
00186 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00187 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00188             Descriptions(0x03).Add("Bit [15]", "EN_BCGMON2", @"Interrupt enable for INT2B pin.  
00189 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00190 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00191             Descriptions(0x03).Add("Bit [14]", "EN_PINT2", @"Interrupt enable for INT2B pin.  
00192 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00193 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00194             Descriptions(0x03).Add("Bit [13]", "EN_POVF2", @"Interrupt enable for INT2B pin.  
00195 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00196 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00197             Descriptions(0x03).Add("Bit [12]", "EN_PEDGE2", @"Interrupt enable for INT2B pin.  
00198 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00199 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00200             */
00201             Descriptions(0x03).Add("Bit [11]", "EN_LONINT2", @"Interrupt enable for INT2B pin.  
00202 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00203 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00204             Descriptions(0x03).Add("Bit [10]", "EN_RRINT2", @"Interrupt enable for INT2B pin.  
00205 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00206 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00207             Descriptions(0x03).Add("Bit [9]", "EN_SAMP2", @"Interrupt enable for INT2B pin.  
00208 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00209 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00210             Descriptions(0x03).Add("Bit [8]", "EN_PLLINT2", @"Interrupt enable for INT2B pin.  
00211 0 = Individual Interrupt bit is not included in (or masked from) the Interrupt logical OR Term 
00212 1 = Individual Interrupt bit is included in (or unmasked from) the Interrupt logical OR Term");
00213             Descriptions(0x03).Add("Bit [1:0]", "INTB2_TYPE[1:0]", "INT2B Port Type (EN_INT Selections)");
00214 
00215             //bit description for MNGR_INT
00216             Descriptions(0x04).Add("Bit [23:19]", "EFIT[4:0]", "ECG FIFO Interrupt Threshold (issues EINT based on number of unread FIFO records)");
00217             //Descriptions(0x04).Add("Bit [18:16]", "BFIT[2:0]", "BIOZ FIFO Interrupt Threshold (issues BINT based on number of unread FIFO records)");
00218             Descriptions(0x04).Add("Bit [6]", "CLR_FAST", "FAST MODE Interrupt Clear Behavior ");
00219             Descriptions(0x04).Add("Bit [5:4]", "CLR_RRINT[1:0]", "RTOR R Detect Interrupt (RRINT) Clear Behavior ");
00220             //Descriptions(0x04).Add("Bit [3]", "CLR_PEDGE", "PACE Edge Detect Interrupt (PEDGE) Clear Behavior ");
00221             Descriptions(0x04).Add("Bit [2]", "CLR_SAMP", "Sample Synchronization Pulse (SAMP) Clear Behavior ");
00222             Descriptions(0x04).Add("Bit [1:0]", "SAMP_IT[1:0]", "Sample Synchronization Pulse (SAMP) Frequency ");
00223 
00224             //bit description for MNGR_DYN
00225             Descriptions(0x05).Add("Bit [23:22]", "FAST[1:0]", "ECG Channel Fast Recovery Mode Selection (aka ECG High Pass Filter Bypass)");
00226             Descriptions(0x05).Add("Bit [21:16]", "FAST_TH[5:0]", "Automatic Fast Recovery Threshold  ");
00227             //Descriptions(0x05).Add("Bit [15:8]", "BLOFF_HI_IT[7:0]", "BIOZ AC Lead Off Over-Range Threshold ");
00228             //Descriptions(0x05).Add("Bit [7:0]", "BLOFF_LO_IT[7:0]", "BIOZ AC Lead Off Under-Range Threshold ");
00229 
00230             //bit description for SW_RST
00231             Descriptions(0x08).Add("Bit [23:0]", "RESET", "Data Required for Execution  = 00_00_00");
00232 
00233             //bit description for SYNCH
00234             Descriptions(0x09).Add("Bit [23:0]", "SYNCH", "Data Required for Execution  = 00_00_00");
00235 
00236             //bit description for FIFO_RST
00237             Descriptions(0x0A).Add("Bit [23:0]", "FIFO_RST", "Data Required for Execution  = 00_00_00");
00238 
00239             //bit description for INFO
00240             Descriptions(0x0F).Add("Bit [19:16]", "REV_ID[3:0]", "Revision ID");
00241             //Descriptions(0x0F).Add("Bit [14]", "SAMPLE", "Sample - Experimental Functionality Enable\n0 - Production functionality only\n1 - Experimental functionality");
00242             //Descriptions(0x0F).Add("Bit [13:12]", "PART_ID[1:0]", "Part ID\n00 - MAX30004\n01 - MAX30001\n10 - MAX30002\n11 - MAX30003");
00243             //Descriptions(0x0F).Add("Bit [11:0]", "SERIAL[11:0]", "Serial Number");
00244 
00245             //bit description for CNFG_GEN
00246             Descriptions(0x10).Add("Bit [23:22]", "EN_ULP_LON[1:0]", "Ultra Low Power Lead On Detection Enable");
00247             Descriptions(0x10).Add("Bit [21:20]", "FMSTR[1:0]", "Master Clock Frequency");
00248             Descriptions(0x10).Add("Bit [19]", "EN_ECG", "ECG Channel Enable");
00249             //Descriptions(0x10).Add("Bit [18]", "EN_BIOZ", "BIOZ Channel Enable");
00250             //Descriptions(0x10).Add("Bit [17]", "EN_PACE", "PACE Channel Enable");
00251             //Descriptions(0x10).Add("Bit [15:14]", "EN_BLOFF[1:0]", "BIOZ Digital Lead Off Detection Enable ");
00252             Descriptions(0x10).Add("Bit [13:12]", "EN_DCLOFF", "DC Lead Off Detection Enable");
00253             Descriptions(0x10).Add("Bit [11]", "DCLOFF_IPOL", "DC Lead Off Current Polarity (if current sources are enabled/connected)");
00254             Descriptions(0x10).Add("Bit [10:8]", "DCLOFF_IMAG[2:0]", "DC Lead Off Current Magnitude Selection");
00255             Descriptions(0x10).Add("Bit [7:6]", "DCLOFF_VTH[1:0]", "DC Lead Off Voltage Threshold Selection ");
00256             Descriptions(0x10).Add("Bit [5:4]", "EN_RBIAS[1:0]", "Enable and Select Resistive Lead Bias Mode ");
00257             Descriptions(0x10).Add("Bit [3:2]", "RBIASV[1:0]", "Resistive Bias Mode Value Selection ");
00258             Descriptions(0x10).Add("Bit [1]", "RBIASP", "Enables Resistive Bias on Positive Input");
00259             Descriptions(0x10).Add("Bit [0]", "RBIASN", "Enables Resistive Bias on Negative Input");
00260 
00261             //bit description for CNFG_CAL
00262             Descriptions(0x12).Add("Bit [22]", "CAL_EN_VCAL", "Calibration Source (VCALP and VCALN) Enable ");
00263             Descriptions(0x12).Add("Bit [21]", "CAL_VMODE", "Calibration Source Mode Selection ");
00264             Descriptions(0x12).Add("Bit [20]", "CAL_VMAG", "Calibration Source Magnitude Selection (VMAG)");
00265             Descriptions(0x12).Add("Bit [14:12]", "CAL_FCAL[2:0]", "Calibration Source Frequency Selection (FCAL)");
00266             Descriptions(0x12).Add("Bit [11]", "CAL_FIFTY", "Calibration Source Duty Cycle Mode Selection");
00267             Descriptions(0x12).Add("Bit [10:0]", "CAL_THIGH[10:0]", "Calibration Source Time High Selection  ");
00268 
00269             //bit description for CNFG_EMUX
00270             Descriptions(0x14).Add("Bit [23]", "EMUX_POL", "ECG Input Polarity Selection");
00271             Descriptions(0x14).Add("Bit [21]", "EMUX_OPENP", "Open the ECGP Input Switch (most often used for testing and calibration studies)");
00272             Descriptions(0x14).Add("Bit [20]", "EMUX_OPENN", "Open the ECGN Input Switch (most often used for testing and calibration studies)");
00273             Descriptions(0x14).Add("Bit [19:18]", "EMUX_CALP_SEL[1:0]", "ECGP Calibration Selection");
00274             Descriptions(0x14).Add("Bit [17:16]", "EMUX_CALN_SEL[1:0]", "ECGN Calibration Selection");
00275 
00276             //bit description for CNFG_ECG
00277             Descriptions(0x15).Add("Bit [23:22]", "ECG_RATE[1:0]", "ECG Data Rate (also dependent on FMSTR selection, see CNFG_GEN and table below):");
00278             Descriptions(0x15).Add("Bit [17:16]", "ECG_GAIN[1:0]", "ECG Channel Gain Setting ");
00279             Descriptions(0x15).Add("Bit [14]", "ECG_DHPF", "ECG Channel Digital High Pass Filter Cutoff Frequency");
00280             Descriptions(0x15).Add("Bit [13:12]", "ECG_DLPF[1:0]", "ECG Channel Digital Low Pass Filter Cutoff Frequency");
00281 
00282             /*
00283             //bit description for CNFG_BMUX
00284             Descriptions(0x17).Add("Bit [21]", "BMUX_OPENP", "Open the BIP Input Switch (most often used for testing and calibration studies)");
00285             Descriptions(0x17).Add("Bit [20]", "BMUX_OPENN", "Open the BIN Input Switch (most often used for testing and calibration studies)");
00286             Descriptions(0x17).Add("Bit [19:18]", "BMUX_CALP_SEL[1:0]", "BIP Calibration Selection (VCAL application to BIP/N inputs intended for use in PACE testing only.)");
00287             Descriptions(0x17).Add("Bit [17:16]", "BMUX_CALN_SEL[1:0]", "BIN Calibration Selection (VCAL application to BIP/N inputs intended for use in PACE testing only.)");
00288             Descriptions(0x17).Add("Bit [13:12]", "BMUX_CG_MODE[1:0]", "BIOZ Current Generator Mode Selection");
00289             Descriptions(0x17).Add("Bit [11]", "BMUX_EN_BIST", "BIOZ Modulated Resistance Built-In-Self-Test (RMOD BIST) Mode Enable");
00290             Descriptions(0x17).Add("Bit [10:8]", "BMUX_RNOM[2:0]", "BIOZ RMOD BIST Nominal Resistance Selection");
00291             Descriptions(0x17).Add("Bit [6:4]", "BMUX_RMOD[2:0]", "BIOZ RMOD BIST Modulated Resistance Selection (See RMOD BIST Settings Table for details.)");
00292             Descriptions(0x17).Add("Bit [1:0]", "BMUX_FBIST[1:0]", "BIOZ RMOD BIST Frequency Selection");
00293 
00294             //bit description for CNFG_BIOZ
00295             Descriptions(0x18).Add("Bit [23]", "BIOZ_RATE", "BIOZ Data Rate (also dependent on FMSTR selection, see CNFG_GEN):");
00296             Descriptions(0x18).Add("Bit [22:20]", "BIOZ_AHPF[2:0]", "BIOZ/PACE Channel Analog High Pass Filter Cutoff Frequency and Bypass");
00297             Descriptions(0x18).Add("Bit [19]", "EXT_RBIAS", "External Resistor Bias Enable");
00298             Descriptions(0x18).Add("Bit [17:16]", "BIOZ_GAIN[1:0]", "BIOZ Channel Gain Setting ");
00299             Descriptions(0x18).Add("Bit [15:14]", "BIOZ_DHPF[1:0]", "BIOZ Channel Digital High Pass Filter Cutoff Frequency");
00300             Descriptions(0x18).Add("Bit [13:12]", "BIOZ_DLPF[1:0]", "BIOZ Channel Digital Low Pass Filter Cutoff Frequency");
00301             Descriptions(0x18).Add("Bit [11:8]", "BIOZ_FCGEN[3:0]", "BIOZ Current Generator Modulation Frequency");
00302             Descriptions(0x18).Add("Bit [7]", "BIOZ_CGMON", "BIOZ Current Generator Monitor");
00303             Descriptions(0x18).Add("Bit [6:4]", "BIOZ_CGMAG[2:0]", "BIOZ Current Generator Magnitude");
00304             Descriptions(0x18).Add("Bit [3:0]", "BIOZ_PHOFF[3:0]", "BIOZ Current Generator Modulation Phase Offset ");
00305 
00306             //bit description for CNFG_PACE
00307             Descriptions(0x1A).Add("Bit [23]", "PACE_POL", "PACE Input Polarity Selection");
00308             Descriptions(0x1A).Add("Bit [19]", "PACE_GN_DIFF_OFF", "PACE Differentiator (Derivative) Mode");
00309             Descriptions(0x1A).Add("Bit [18:16]", "PACE_GAIN[2:0]", "PACE Channel Gain Selection");
00310             Descriptions(0x1A).Add("Bit [14]", "PACE_AOUT_LBW", "PACE Analog Output Buffer Bandwidth Mode ");
00311             Descriptions(0x1A).Add("Bit [13:12]", "PACE_AOUT[1:0]", "PACE Single Ended Analog Output Buffer Signal Monitoring Selection");
00312             Descriptions(0x1A).Add("Bit [7:4]", "PACE_DACP[3:0]", "PACE Detector Positive Comparator Threshold");
00313             Descriptions(0x1A).Add("Bit [3:0]", "PACE_DACN[3:0]", "PACE Detector Negative Comparator Threshold");
00314             */
00315 
00316             //bit description for CNFG_RTOR1
00317             Descriptions(0x1D).Add("Bit [23:20]", "RTOR_WNDW[3:0]", "R to R Window Averaging (Window Width = RTOR_WNDW[3:0]*8ms)");
00318             Descriptions(0x1D).Add("Bit [19:16]", "RTOR_GAIN[3:0]", "R to R Gain (where Gain = 2^RTOR_GAIN[3:0], plus an auto-scale option)");
00319             Descriptions(0x1D).Add("Bit [15]", "EN_RTOR", "ECG RTOR Detection Enable  ");
00320             Descriptions(0x1D).Add("Bit [13:12]", "RTOR_PAVG[1:0]", "R to R Peak Averaging Weight Factor");
00321             Descriptions(0x1D).Add("Bit [11:8]", "RTOR_PTSF[3:0]", "R to R Peak Threshold Scaling Factor");
00322 
00323             //bit description for CNFG_RTOR2
00324             Descriptions(0x1E).Add("Bit [21:16]", "RTOR_HOFF[5:0]", "R to R Minimum Hold Off ");
00325             Descriptions(0x1E).Add("Bit [13:12]", "RTOR_RAVG[1:0]", "R to R Interval Averaging Weight Factor");
00326             Descriptions(0x1E).Add("Bit [10:8]", "RTOR_RHSF[2:0]", "R to R Interval Hold Off Scaling Factor");
00327 
00328         }
00329     }
00330 }