laatzen/Common/modbus_master_csharp/Device/Met_6200v046.html

1155 lines
87 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
font-size: 93%;
}
tr:hover,tr:hover:nth-child(even) {
background-color: rgba(253, 224, 149, 0.7);
}
tr:nth-child(even) {
background-color: rgba(150, 212, 212, 0.4);
}
th:nth-child(even),td:nth-child(even) {
background-color: rgba(150, 212, 212, 0.4);
}
a,a:visited {
color: rgb(54, 88, 180);
text-decoration-color: blue;
}
</style>
</head>
<body>
<div class="container">
<h1>Met_6200v046 from Fri Oct 27 10:21:57 2023</h1>
<br />
<div id="reglist_container">
</div>
</div>
</body>
</html>
<script type="text/javascript">
var reglist_items = [
{
"name": "Met_U16DeviceType",
"address": "0", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Device type used at MJK. Metrology = 0x003C ", "initVal": "60", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U64DeviceFamily",
"address": "1", "dataType": "U64", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "MAGFLUX NEXTGEN - MJKNXTGN == 0x4D4A4B4E5854474E, const with JTAG, big end? little end ? TBD.", "initVal": "5569346689058490190", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32DeviceTypeDetail",
"address": "5", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Type version / model detail - A0 in hex 0x41300000 for Alpha, big end? little end ? const with JTAG, TBD", "initVal": "1093664768", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32ProdDate",
"address": "7", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Programmed during production. Const after production. Days since ...01.01.2020.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32ProdSerialNo",
"address": "9", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Programmed during production of entire meter assembly. Const after production.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32FirmwareVersion",
"address": "11", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Programmed during JTAG with firmware. Const after production.", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32FmwrBuildDate",
"address": "13", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Programmed during JTAG with firmware. Const after production.", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32FmwrGITHash",
"address": "15", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Programmed during JTAG with firmware. Const after production.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32HdwrVersion",
"address": "17", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Programmed during production ? or maybe programmed during JTAG with firmware. Const after production.", "initVal": "1", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32MdbsRegsVer",
"address": "19", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Programmed during JTAG with firmware. Const after production.", "initVal": "6200046", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6885671163/MagFlux+Modbus+Register+-+How+to#Release-of-a-register-list",
},
{
"name": "Met_U16CalibrationVersion",
"address": "21", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tells you what calibration method was used. 0 is default, for calibration on flow rig for 5 min per point", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/l/cp/1qcvThyK",
},
{
"name": "Met_U16CoilDriverFrequencyConfig",
"address": "25", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "[0, 1, 2, 3]", "noteTxt": "CAUSES RESTART! 10s - Coil driver frequency configuration, 0 = 1.25Hz, 1 = 2.5Hz, 2 = 5Hz, 3 = 10Hz,", "initVal": "1", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U16PipeDiameterConfig_mm",
"address": "26", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "CAUSES RESTART! 10s - Pipe Diameter configuration, 50 for DN50, 100 for DN100 etc.", "initVal": "50", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U32SensorSerialNo",
"address": "27", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Programmed during connection to metrology. Const after production. See label on sensor", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U128_CPU_ID",
"address": "80", "dataType": "U128", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Const pulled from inside Met CPU", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U128Signature",
"address": "100", "dataType": "U128", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Signature is only calculated when the Modbus reads the signature and it ALWAYS covers the Volume information block. If you don't know the hash seed then you won't be able to check the signature. :-) Still TBD.", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32Status",
"address": "108", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Status and other registers up to the age are covered by the signature", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32Errors",
"address": "110", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Errors come and go. Flags for them are here.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32Alarms",
"address": "112", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "We set alarms from the slave when errors happen, only the master can clear them.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U64ForwardNormalVolume_l",
"address": "114", "dataType": "U64", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Volume register names should speak for themselves.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U64ReverseVolume_l",
"address": "118", "dataType": "U64", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Volume of water measured goingbackwards!", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U64ForwardTooFastVolume_l",
"address": "122", "dataType": "U64", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Volume of water measured going faster than we can measure accurately", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32FlowSpeed_mps",
"address": "126", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Speed of flow in m/s, calibrated, floating point number so units are easy.", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_S16FlowDirection",
"address": "128", "dataType": "S16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Forward +1, Reverse -1", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32FlowRate_lps",
"address": "129", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Rate of flow in L/s, calibrated", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16AgeTotals_s",
"address": "131", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Updated with the second tick, maybe a little less often if we are in low power mode. Atomic with the signature, total updates etc.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16SecurityLoginStatus",
"address": "300", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Logged in as secure = 1. Not logged in as secure 0", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16SecurityLoginTimeleft_s",
"address": "301", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Security Login will timeout... when we get to 0... Updated with the second tick", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32SecurityLoginChallenge",
"address": "302", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": " Part of the security login games etc. TBD.", "initVal": "123456789", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32SecurityLoginCode",
"address": "304", "dataType": "U32", "rwPair": "('RW_R_X', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "This will change - but we play a game here just to start a conversation, enter code, read challenge, enter reply to code... all good... or bad...", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U16BootCount",
"address": "500", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "No one is allowed to change bootcount, but can be zero'd after JTAG ? TBD.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32LifeTime_min",
"address": "501", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "How long has the meter been running (inc. sleep time).", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U64TimeUpTicks",
"address": "503", "dataType": "U64", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Allows us to watch the clock, since last power on", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32ComGoodPktCounter",
"address": "507", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_1')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Number of good packets recieved. This value can be zero'd by writing anything to it.", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U32ComTxCounter",
"address": "509", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_1')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Number of transmissions. This value can be zero'd by writing anything to it.", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U32ComDroppedPktCounter",
"address": "511", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_1')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Number of packets that have been dropped. This value can be zero'd by writing anything to it.", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U32ComBadCRCCounter",
"address": "513", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_1')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Number of bad CRC's that have been recieved. This value can be zero'd by writing anything to it.", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U32ComGoodByteCounter",
"address": "515", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_1')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Number of good bytes recieved. This sort of number is used to allow a measure of reliability to be calculated. This value can be zero'd by writing anything to it.", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U32ComBadByteCounter",
"address": "517", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_1')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Number of bad bytes recieved, meaning those from non valid packets. This value can be zero'd by writing anything to it.", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U16ComPktPulseOutput1_Ton_ms",
"address": "640", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Register to set pulse-on time in ms, for pulse output 1. Write 0 will set digital output to fastest possible Ton_ms (0.5ms)", "initVal": "1500", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U16ComPktPulseOutput1_Ton_min_ms",
"address": "641", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Register to get minimum value of pulse-on time in ms, for pulse output 1. The Ton_Min_ms is updated by FW at Init. True min is 0.5ms when Ton_ms = 0", "initVal": "1", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16ComPktPulseOutput1_Ton_max_ms",
"address": "642", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Register to get maximum value of pulse-on time in ms, for pulse output 1. The Ton_Max_ms is updated by FW at Init", "initVal": "2499", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32VolumePerPulse_PulseOutput1_mL",
"address": "643", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Register to set volume per pulse for pulse output 1.", "initVal": "1000000", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U32VolumePerPulse_PulseOutput1_min_mL",
"address": "645", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Register to get the minimum value used by volume per pulse register for pulse output 1.", "initVal": "1", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32VolumePerPulse_PulseOutput1_max_mL",
"address": "647", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Register to get the maximum value used by volume per pulse register for pulse output 1.", "initVal": "1000000000", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16ComPktPulseOutput2_Ton_ms",
"address": "649", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Register to set pulse-on time in ms, for pulse output 2. Write 0 will set digital output to fastest possible Ton_ms (0.5ms)", "initVal": "1500", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U16ComPktPulseOutput2_Ton_min_ms",
"address": "650", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Register to get minimum value of pulse-on time in ms, for pulse output 2. The Ton_Min_ms is updated by FW at Init. True min is 0.5ms when Ton_ms = 0", "initVal": "1", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16ComPktPulseOutput2_Ton_max_ms",
"address": "651", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Register to get maximum value of pulse-on time in ms, for pulse output 2. The Ton_Max_ms is updated by FW at Init.", "initVal": "2499", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32VolumePerPulse_PulseOutput2_mL",
"address": "652", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Register to set volume per pulse for pulse output 2.", "initVal": "1000000", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U32VolumePerPulse_PulseOutput2_min_mL",
"address": "654", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Register to get the minimum value used by volume per pulse register for pulse output 2.", "initVal": "1", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32VolumePerPulse_PulseOutput2_max_mL",
"address": "656", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Register to get the maximum value used by volume per pulse register for pulse output 2", "initVal": "1000000000", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16ExtAdc_CalibCtrl",
"address": "700", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Write to this register to control ADC calibration", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U16ExtAdc_CalibStatus",
"address": "701", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Read this register to understand ADC calibration states and errors etc.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32ExtADC_Electrode_mV",
"address": "702", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "External ADC current measuring Electrode inputs, see CalibStatus", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32ExtADC_Coil_mV",
"address": "704", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "External ADC current measuring Coil inputs, see CalibStatus", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32ExtADC_Electrode_referencePt0_mV",
"address": "740", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "External ADC calibration point0 measuring electrodes - known mV", "initVal": "1000.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_F32ExtADC_Electrode_reportPt0_mV",
"address": "742", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "External ADC calibration point0 measuring electrodes - read mV", "initVal": "1000.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_F32ExtADC_Coil_referencePt0_mV",
"address": "760", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "External ADC calibration point0 measuring coil - known mV", "initVal": "1000.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_F32ExtADC_Coil_reportPt0_mV",
"address": "762", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "External ADC calibration point0 measuring coil - read mV", "initVal": "1000.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U16Flow_CalibCtrl",
"address": "800", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Write to this register to control Flow calibration", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_U16Flow_CalibStatus",
"address": "801", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Read this register to understand Flow calibration states and errors etc.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32Flow_RawSpeed_mps",
"address": "802", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Raw flow speed in m/s, before calibration", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32Flow_RawRate_lps",
"address": "804", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Raw flow rate in L/s, before calibration", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32Flow_NewReferencePt0_lps",
"address": "806", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow point0, ZERO flow cal. From reference test harness, known L/s - Cannot read present cal point!", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32Flow_NewReportedPt0_lps",
"address": "808", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow point0, ZERO flow cal. calculated from this meter, L/s - Cannot read present cal point!", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32Flow_NewReferencePt1_lps",
"address": "810", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow point1, from reference test harness, known L/s - Cannot read present cal point!", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32Flow_NewReportedPt1_lps",
"address": "812", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow point1, calculated from this meter, L/s - Cannot read present cal point!", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32Flow_NewReferencePt2_lps",
"address": "814", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow point2, from reference test harness, known L/s - Cannot read present cal point!", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32Flow_NewReportedPt2_lps",
"address": "816", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow point2, calculated from this meter, L/s - Cannot read present cal point!", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32Flow_NewReferencePt3_lps",
"address": "818", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow point3, from reference test harness, known L/s - Cannot read present cal point!", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32Flow_NewReportedPt3_lps",
"address": "820", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow point3, calculated from this meter, L/s - Cannot read present cal point!", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32Flow_NewReferencePt4_lps",
"address": "822", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow point4, from reference test harness, known L/s - Cannot read present cal point!", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32Flow_NewReportedPt4_lps",
"address": "824", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow point4, calculated from this meter, L/s - Cannot read present cal point!", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32Flow_NewReferencePt5_lps",
"address": "826", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow point5, from reference test harness, known L/s - Cannot read present cal point!", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32Flow_NewReportedPt5_lps",
"address": "828", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow point5, calculated from this meter, L/s - Cannot read present cal point!", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_U16PresentPointsCount",
"address": "849", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Number of current points used for calibration. Set by FW at init and at a successful calibration", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowPresentPoint0_reference_lps",
"address": "850", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "ZERO flow cal. Current boundary position between Zero flow and 1st region, post-calibration, L/s. - Only saved after a successful calibration", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowPresentPoint0_reported_lps",
"address": "852", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "ZERO flow cal. Current boundary position between Zero flow and 1st region, pre-calibration, L/s. - Only saved after a successful calibration", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowPresentPoint1_reference_lps",
"address": "854", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Current boundary position between region 1 and 2, post-calibration, L/s. - Only saved after a successful calibration", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowPresentPoint1_reported_lps",
"address": "856", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Current boundary position between region 1 and 2, pre-calibration, L/s. - Only saved after a successful calibration", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowPresentPoint2_reference_lps",
"address": "858", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Current boundary position between region 2 and 3, post-calibration, L/s. - Only saved after a successful calibration", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowPresentPoint2_reported_lps",
"address": "860", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Current boundary position between region 2 and 3, pre-calibration, L/s. - Only saved after a successful calibration", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowPresentPoint3_reference_lps",
"address": "862", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Current boundary position between region 3 and 4, post-calibration, L/s. - Only saved after a successful calibration", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowPresentPoint3_reported_lps",
"address": "864", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Current boundary position between region 3 and 4, pre-calibration, L/s. - Only saved after a successful calibration", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowPresentPoint4_reference_lps",
"address": "866", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Current boundary position between region 4 and 5, post-calibration, L/s. - Only saved after a successful calibration", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowPresentPoint4_reported_lps",
"address": "868", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Current boundary position between region 4 and 5, pre-calibration, L/s. - Only saved after a successful calibration", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowPresentPoint5_reference_lps",
"address": "870", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Current boundary position between region 5 and above, post-calibration, L/s. - Only saved after a successful calibration", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowPresentPoint5_reported_lps",
"address": "872", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Current boundary position between region 5 and above, pre-calibration, L/s. - Only saved after a successful calibration", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowRegion0_gradient_m",
"address": "880", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow calibration gradient m in region 0. y = mx+c", "initVal": "1.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowRegion0_offset_c",
"address": "882", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow calibration offset c in region 0. y = mx+c", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowRegion1_gradient_m",
"address": "884", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow calibration gradient m in region 1. y = mx+c", "initVal": "1.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowRegion1_offset_c",
"address": "886", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow calibration offset c in region 1. y = mx+c", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowRegion2_gradient_m",
"address": "888", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow calibration gradient m in region 2. y = mx+c", "initVal": "1.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowRegion2_offset_c",
"address": "890", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow calibration offset c in region 2.", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowRegion3_gradient_m",
"address": "892", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow calibration gradient m in region 3. y = mx+c", "initVal": "1.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowRegion3_offset_c",
"address": "894", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow calibration offset c in region 3.", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowRegion4_gradient_m",
"address": "896", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow calibration gradient m in region 4. y = mx+c", "initVal": "1.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowRegion4_offset_c",
"address": "898", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow calibration offset c in region 4.", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowRegion5_gradient_m",
"address": "900", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow calibration gradient m in region 5. y = mx+c", "initVal": "1.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowRegion5_offset_c",
"address": "902", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow calibration offset c in region 5.", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowRegion6_gradient_m",
"address": "904", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow calibration gradient m in region 6. y = mx+c", "initVal": "1.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_F32FlowRegion6_offset_c",
"address": "906", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Flow calibration offset c in region 6.", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6661802342/Calibration+guide",
},
{
"name": "Met_U16ForceResetOfFirmware",
"address": "1000", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "CAUSES RESTART! 10s - You need to be logged to force this... also incs boot count.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U32MockFlags",
"address": "1100", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "You need to be able to login to force this... See also status register. Setting the flags on means that mock values are used. Mock registers are implemented to support test an error flag in the status register will indicate mock registers in use.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32MockFEPressure_MPa",
"address": "1102", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Mock water pressure value. Mock registers are implemented to support test an error flag in the status register will indicate mock registers in use.", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32MockFETemperature_C",
"address": "1104", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "-70.0", "maxLimit": "150.0", "enumValues": "None", "noteTxt": "Mock temperature, degrees C. Mock registers are implemented to support test an error flag in the status register will indicate mock registers in use.", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32MockFlowSpeed_mps",
"address": "1106", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "-34.3", "maxLimit": "34.3", "enumValues": "None", "noteTxt": "Mock speed of flow. Mock registers are implemented to support test an error flag in the status register will indicate mock registers in use.", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_S64MockFlowRate_ulps",
"address": "1108", "dataType": "S64", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Mock flow rate for testing calibration.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_S16MockFlowDirection",
"address": "1112", "dataType": "S16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "[-1, 0, 1]", "noteTxt": "Mock value for direction of flow. Mock registers are implemented to support test an error flag in the status register will indicate mock registers in use.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32MockTimeSampleInterval_s",
"address": "1113", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Mock time between current sample and previous one. Mock registers are implemented to support test an error flag in the status register will indicate mock registers in use.", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16Scratch0",
"address": "1115", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Scratch register - just somewhere to play write and read.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_S16Scratch_S16",
"address": "1118", "dataType": "S16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Scratch register - just somewhere to play write and read.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32Scratch_U32",
"address": "1119", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Scratch register - just somewhere to play write and read.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_S32Scratch_S32",
"address": "1121", "dataType": "S32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Scratch register - just somewhere to play write and read.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U64Scratch_U64",
"address": "1123", "dataType": "U64", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Scratch register - just somewhere to play write and read.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_S64Scratch_S64",
"address": "1127", "dataType": "S64", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Scratch register - just somewhere to play write and read.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U128Scratch_U128",
"address": "1131", "dataType": "U128", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Scratch register - just somewhere to play write and read.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32Scratch_F32",
"address": "1139", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Scratch register - just somewhere to play write and read.", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32Scratch_MinMax",
"address": "1141", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "7.5", "maxLimit": "8.5", "enumValues": "None", "noteTxt": "Scratch register, min and max - just somewhere to play write and read.", "initVal": "7.5", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16Scratch_Enum",
"address": "1143", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "[8, 9]", "noteTxt": "Scratch register, Enum - just somewhere to play write and read.", "initVal": "8", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16Scratch_Const",
"address": "1144", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Scratch register, const - just somewhere to play write and read.", "initVal": "5", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_battADC_V",
"address": "3200", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Int. ADC value: batt_adc as Voltage", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32IntADCSample_battADC_tick",
"address": "3202", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for ADC data sample", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_diagP_adc_V",
"address": "3204", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Int. ADC value: diag_p_adc as Voltage", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32IntADCSample_diagP_adc_tick",
"address": "3206", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for ADC data sample", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_diagN_adc_V",
"address": "3208", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Int. ADC value: diag_n_adc as Voltage", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32IntADCSample_diagN_adc_tick",
"address": "3210", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for ADC data sample", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_diagC_adc_V",
"address": "3212", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Int. ADC value: diag_c_adc as Voltage", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32IntADCSample_diagC_adc_tick",
"address": "3214", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for ADC data sample", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_vrefCommonADC_V",
"address": "3216", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Int. ADC value: vref_common_adc as Voltage", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32IntADCSample_vrefCommonADC_tick",
"address": "3218", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for ADC data sample", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_vrefADC_V",
"address": "3220", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Int. ADC value: vref_adc as Voltage", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32IntADCSample_vrefADC_tick",
"address": "3222", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for ADC data sample", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_temperature_C",
"address": "3224", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Int. ADC value: temperature_Cdiv10_adc as Voltage", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32IntADCSample_temperature_C_tick",
"address": "3226", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for ADC data sample", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_intBattADC_V",
"address": "3228", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Int. ADC value: int_batt_adc as Voltage", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32IntADCSample_intBattADC_tick",
"address": "3230", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for ADC data sample", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32ExtADC_ElectrodeDiff_V",
"address": "3250", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Extern ADC, Electrode diff as Voltage", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_S32ExtADC_ElectrodeDiff_tics",
"address": "3252", "dataType": "S32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for Extern ADC, Electrode diff", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32ExtADC_CoilDiff_A",
"address": "3254", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Extern ADC, Coil diff as Current", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_S32ExtADC_CoilDiff_tics",
"address": "3256", "dataType": "S32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for Extern ADC, Coil diff", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_battADC_offset",
"address": "3300", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Int. ADC value: batt_adc as Voltage", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_battADC_scale",
"address": "3302", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for ADC data sample", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_diagP_adc_offset",
"address": "3304", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Int. ADC value: diag_p_adc as Voltage", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_diagP_adc_scale",
"address": "3306", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for ADC data sample", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_diagN_adc_offset",
"address": "3308", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Int. ADC value: diag_n_adc as Voltage", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_diagN_adc_scale",
"address": "3310", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for ADC data sample", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_diagC_adc_offset",
"address": "3312", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Int. ADC value: diag_c_adc as Voltage", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_diagC_adc_scale",
"address": "3314", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for ADC data sample", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_vrefCommonADC_offset",
"address": "3316", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Int. ADC value: vref_common_adc as Voltage", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_vrefCommonADC_scale",
"address": "3318", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for ADC data sample", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_vrefADC_offset",
"address": "3320", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Int. ADC value: vref_adc as Voltage", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_vrefADC_scale",
"address": "3322", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for ADC data sample", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_temperature_offset",
"address": "3324", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Int. ADC value: temperature_Cdiv10_adc as Voltage", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_temperature_C_scale",
"address": "3326", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for ADC data sample", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_intBattADC_offset",
"address": "3328", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Int. ADC value: int_batt_adc as Voltage", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32IntADCSample_intBattADC_scale",
"address": "3330", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Tick count, for ADC data sample", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_F32ExtADC_ElectrodeDiff_offset",
"address": "3350", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Extern ADC, Electrode diff offset", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_F32ExtADC_ElectrodeDiff_scale",
"address": "3352", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Extern ADC, Electrode diff scale, ref/adc bits, 2.5/2^23", "initVal": "2.980232238769531e-07", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_F32ExtADC_CoilDiff_offset",
"address": "3354", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Extern ADC, Coil diff offset as Voltage", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_F32ExtADC_CoilDiff_scale",
"address": "3356", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Extern ADC, Coil diff scale, ref/adc bits, 2.5/2^23", "initVal": "2.980232238769531e-07", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U16EEPROM_Status",
"address": "6000", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Updated with EEPROM operation.", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6937609443/EEPROM+status+register",
},
{
"name": "Met_U16EEPROM_LastErrorCode",
"address": "6001", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Updated with EEPROM operation.", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6937609443/EEPROM+status+register",
},
{
"name": "Met_U16_OneWIRE_Status",
"address": "6100", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Updated with 1_WIRE operation.", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16_OneWIRE_Error",
"address": "6101", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Updated with 1_WIRE operation.", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16_OneWIRE_Ctrl",
"address": "6102", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Issue commands to control 1_WIRE operation", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_F32_Zi_ohms",
"address": "7000", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Measured resistance between electrodes, in ohms, 0deg phase.", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6659966841/Empty+Pipe+Detection+EPD#Empty-pipe-status",
},
{
"name": "Met_F32_Zj_ohms",
"address": "7002", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Measured resistance between electrodes, in ohms, 90deg phase.", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6659966841/Empty+Pipe+Detection+EPD#Empty-pipe-status",
},
{
"name": "Met_F32_FullLevelThreshold_ohms",
"address": "7004", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Electrode resistance max, (mod = sqrt(Zi^2+Zj^2)), for full decision.", "initVal": "0.00011", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6659966841/Empty+Pipe+Detection+EPD#Empty-pipe-status",
},
{
"name": "Met_F32_EmptyLevelThreshold_ohms",
"address": "7006", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Electrode resistance min, (mod = sqrt(Zi^2+Zj^2)), for empty decision.", "initVal": "8e-05", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6659966841/Empty+Pipe+Detection+EPD#Empty-pipe-status",
},
{
"name": "Met_S16_EmptyLevelThreshold_minPhs_degs",
"address": "7008", "dataType": "S16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Electrode resistance min, (arg = atan(Zq/Zi)), for empty decision.", "initVal": "-100", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6659966841/Empty+Pipe+Detection+EPD#Empty-pipe-status",
},
{
"name": "Met_S16_EmptyLevelThreshold_maxPhs_degs",
"address": "7009", "dataType": "S16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Electrode resistance min, (arg = atan(Zq/Zi)), for empty decision.", "initVal": "135", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6659966841/Empty+Pipe+Detection+EPD#Empty-pipe-status",
},
{
"name": "Met_F32_ZiZj_FilterA",
"address": "7010", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Filter coef for EPD decision.", "initVal": "0.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6659966841/Empty+Pipe+Detection+EPD#Empty-pipe-status",
},
{
"name": "Met_F32_ZiZj_FilterB",
"address": "7012", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Filter coef for EPD decision.", "initVal": "1.0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6659966841/Empty+Pipe+Detection+EPD#Empty-pipe-status",
},
{
"name": "Met_U16EmptyPipeControl",
"address": "7050", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "EPD state", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6659966841/Empty+Pipe+Detection+EPD#Empty-pipe-status",
},
{
"name": "Met_U16EmptyPipeStatus",
"address": "7051", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "EPD state", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6659966841/Empty+Pipe+Detection+EPD#Empty-pipe-status",
},
{
"name": "Met_U16EmptyPipeFlags",
"address": "7052", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "EPD flags, including decison", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/6659966841/Empty+Pipe+Detection+EPD#Empty-pipe-status",
},
{
"name": "Met_U16LowFlowControl",
"address": "7100", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Low flow can be set on or off etc.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U16LowFlowStatus",
"address": "7101", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "How is it going? Low flow - or not.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_S32LowFlow_ResettableTotal_l",
"address": "7102", "dataType": "S32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Can be reset by master. Does not wrap.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32LowFlowVolThresh_ulps",
"address": "7104", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "micro-litres per second below which we let it go.", "initVal": "1000", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16LowFlowTimeThresh_s",
"address": "7106", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "micro-litres per second below which we let it go.", "initVal": "30", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16RevFlowControl",
"address": "7150", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Rev flow can be set on or off etc.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U16RevFlowStatus",
"address": "7151", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "How is it going? Rev flow - or not.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_S32RevFlow_ResettableTotal_l",
"address": "7152", "dataType": "S32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Can be reset by master. Does not wrap.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32RevFlowVolThresh_ulps",
"address": "7154", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "micro-litres per second below which we let it go.", "initVal": "1000", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16RevFlowTimeThresh_s",
"address": "7156", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "micro-litres per second below which we let it go.", "initVal": "30", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16ExcessFlowControl",
"address": "7200", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Rev flow can be set on or off etc.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "True", "doc_lnk": "None",
},
{
"name": "Met_U16ExcessFlowStatus",
"address": "7201", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "How is it going? Rev flow - or not.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_S32ExcessFlow_ResettableTotal_l",
"address": "7202", "dataType": "S32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Can be reset by master. Does not wrap.", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U32ExcessFlowVolThresh_ulps",
"address": "7204", "dataType": "U32", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "micro-litres per second below which we let it go.", "initVal": "1000", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16ExcessFlowTimeThresh_s",
"address": "7206", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "micro-litres per second below which we let it go.", "initVal": "30", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "None",
},
{
"name": "Met_U16_FlowMedian_NoTapsReq",
"address": "7220", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Only uneven number allowed<br>Changes will dynamic change Met_U16_...OnOffAvr_Max and Met_U16_...OnOffAvr", "initVal": "15", "beforeReadFunc": "True", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/7374737492/Median+Filter+for+Visible+Flow",
},
{
"name": "Met_U16_FlowMedian_NoTapsReq_Min",
"address": "7221", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Minimum value limit for Met_U16...NoTapsReq", "initVal": "3", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/7374737492/Median+Filter+for+Visible+Flow",
},
{
"name": "Met_U16_FlowMedian_NoTapsReq_Max",
"address": "7222", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Maximum value limit for Met_U16...NoTapsReq", "initVal": "51", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/7374737492/Median+Filter+for+Visible+Flow",
},
{
"name": "Met_U16_FlowMedian_OnOffAvr",
"address": "7223", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "0:Passthrough, n: No. Central values. (default: 1)<br>Will dynamic change, if Met_U16...OnOffAvr_Max changes to lower value.", "initVal": "1", "beforeReadFunc": "True", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/7374737492/Median+Filter+for+Visible+Flow",
},
{
"name": "Met_U16_FlowMedian_OnOffAvr_Min",
"address": "7224", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Minimum value limit for Met_U16...OnOffAvr", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/7374737492/Median+Filter+for+Visible+Flow",
},
{
"name": "Met_U16_FlowMedian_OnOffAvr_Max",
"address": "7225", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Maximum value limit for Met_U16...OnOffAvr <br>Max is Dynamic changed and defined as (Met_U16...NoTapsReq - 2)", "initVal": "49", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/7374737492/Median+Filter+for+Visible+Flow",
},
{
"name": "Met_U16_FlowMedian_Options",
"address": "7226", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_0')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "0:No options, 1:max-min based, 2:Running stdev based", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "True", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/7374737492/Median+Filter+for+Visible+Flow",
},
{
"name": "Met_U16_FlowMedian_Options_Min",
"address": "7227", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Minimum limit allowed for Met_U16...Options", "initVal": "0", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/7374737492/Median+Filter+for+Visible+Flow",
},
{
"name": "Met_U16_FlowMedian_Options_Max",
"address": "7228", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Maximum limit allowed for Met_U16...Options", "initVal": "2", "beforeReadFunc": "False", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/7374737492/Median+Filter+for+Visible+Flow",
},
{
"name": "Met_U16_FlowMedian_Version",
"address": "7229", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Version of the median filter implementation", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/7374737492/Median+Filter+for+Visible+Flow",
},
{
"name": "Met_U16_FlowMedian_Status",
"address": "7230", "dataType": "U16", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "0 is ok, 1 is interesting like starting up etc., 2 is interesting - like EPD blanking ... all TBD", "initVal": "0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/7374737492/Median+Filter+for+Visible+Flow",
},
{
"name": "Met_F32_FlowMedian_TimeInFilter_s",
"address": "7231", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Time in seconds in the filter. Easily calculated from the current flip rate * number of taps, but may be useful.", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/7374737492/Median+Filter+for+Visible+Flow",
},
{
"name": "Met_F32_FlowMedian_CentralValue",
"address": "7233", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Central Filter value", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/7374737492/Median+Filter+for+Visible+Flow",
},
{
"name": "Met_F32_FlowMedian_MaxValue",
"address": "7235", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Maximum Filter value", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/7374737492/Median+Filter+for+Visible+Flow",
},
{
"name": "Met_F32_FlowMedian_MinValue",
"address": "7237", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Minimum Filter value", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/7374737492/Median+Filter+for+Visible+Flow",
},
{
"name": "Met_F32_FlowMedian_NoiseMeasure",
"address": "7239", "dataType": "F32", "rwPair": "('RW_R_0', 'RW_W_X')", "minLimit": "None", "maxLimit": "None", "enumValues": "None", "noteTxt": "Usually something like ((max-min)/(0.001*Q3)) but may be something else TBD.", "initVal": "0.0", "beforeReadFunc": "True", "afterWriteFunc": "False", "doc_lnk": "https://xyleminc.atlassian.net/wiki/spaces/MJKMF/pages/7374737492/Median+Filter+for+Visible+Flow",
},
]
function isEmpty(str) {
return (!str || str.length === 0 || str == "None");
}
convertJsontoHtmlTable();
function convertJsontoHtmlTable()
{
//Getting value for table header
var tablecolumns = [];
for (var i = 0; i < reglist_items.length; i++) {
for (var key in reglist_items[i]) {
if (tablecolumns.indexOf(key) === -1) {
tablecolumns.push(key);
}
}
}
//Creating html table and adding class to it
var tablereglist_item = document.createElement("table");
tablereglist_item.classList.add("table");
tablereglist_item.classList.add("table-striped");
tablereglist_item.classList.add("table-bordered");
tablereglist_item.classList.add("table-hover")
//Creating header of the HTML table using
//tr
var tr = tablereglist_item.insertRow(-1);
var lnkOffset = -1
for (var i = 0; i < tablecolumns.length; i++) {
// Don't include lnk in table, it will be embeded in "name" later
if ("doc_lnk" == tablecolumns[i])
{
lnkOffset = i
}
else{
//header
var th = document.createElement("th");
th.innerHTML = tablecolumns[i];
tr.appendChild(th);
}
}
// Add reglist_item JSON data in table as tr or rows
for (var i = 0; i < reglist_items.length; i++) {
tr = tablereglist_item.insertRow(-1);
for (var j = 0; j < tablecolumns.length; j++) {
// Don't include lnk in table, it will be embeded in "name"
if (lnkOffset != j)
{
var tabCell = tr.insertCell(-1);
var innerHTML = reglist_items[i][tablecolumns[j]]
var lnk = reglist_items[i][tablecolumns[lnkOffset]]
// First element get a
if ((0 == j) && (!isEmpty(lnk)))
{
innerHTML = '<a href="'+lnk+'" target="aDedicatedTab">'+innerHTML+'</a>'
}
tabCell.innerHTML = innerHTML;
}
}
}
//Final step , append html table to the container div
var reglist_container = document.getElementById("reglist_container");
reglist_container.innerHTML = "";
reglist_container.appendChild(tablereglist_item);
}
</script>