diff --git a/NfcC7_DLL.Tests/NfcHanler/MeterTestHatLinkTest.cs b/NfcC7_DLL.Tests/NfcHanler/MeterTestHatLinkTest.cs
new file mode 100644
index 000000000..2b380cf66
--- /dev/null
+++ b/NfcC7_DLL.Tests/NfcHanler/MeterTestHatLinkTest.cs
@@ -0,0 +1,20 @@
+using GlobalIPerlUtility;
+using JetBrains.Annotations;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+
+namespace NfcC7_DLL.Tests.NfcHanler;
+
+[TestClass]
+[TestSubject(typeof(MeterTestHatLink))]
+public class MeterTestHatLinkTest
+{
+
+ [TestMethod]
+ public void Open_Test()
+ {
+ MeterTestHatLink meterTestHatLink = new MeterTestHatLink("COM5");
+ meterTestHatLink.Open();
+ Assert.IsTrue(meterTestHatLink.IsConnected);
+ meterTestHatLink.Close();
+ }
+}
\ No newline at end of file
diff --git a/NfcC7_DLL.Tests/NfcHanler/SERIAL_DriverTest.cs b/NfcC7_DLL.Tests/NfcHanler/SERIAL_DriverTest.cs
new file mode 100644
index 000000000..fbca86993
--- /dev/null
+++ b/NfcC7_DLL.Tests/NfcHanler/SERIAL_DriverTest.cs
@@ -0,0 +1,118 @@
+using System;
+using System.IO.Ports;
+using JetBrains.Annotations;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using NfcC7_DLL.NfcHanler;
+
+namespace NfcC7_DLL.Tests.NfcHanler;
+
+[TestClass]
+[TestSubject(typeof(SERIAL_Driver))]
+public class SERIAL_DriverTest
+{
+ private readonly byte[] Open =
+ { 107 ,128 ,1 ,16 ,0 ,48 ,0 ,71 ,108 ,111 ,98 ,97 ,108 ,73 ,80 ,101 ,114
+ ,108 ,85 ,116 ,105 ,108 ,105 ,116 ,121 ,0 ,0 ,39 ,215 };
+ private readonly byte[] CommDeviceSessionEnd = { 0x6B, 0x61, 0x00, 0x10, 0x05, 0x31, 0x00, 0x1F, 0x29, 0xF9, 0xC5 };
+
+ private readonly byte[] ProductDetails =
+ { 107, 48, 1, 16, 3, 33, 1, 2, 107, 144, 0, 0, 17, 64, 5, 0, 2, 4, 96, 98, 66, 4, 165, 100 };
+
+ private readonly byte[] ProductDetails2 =
+ { 107, 48, 1, 16, 3, 33, 1, 2, 107, 144, 0, 0, 17, 64, 5, 0, 2, 4, 96 };
+
+ string com = "COM5";
+ int baudrate = 57600;
+ int dataBits = 8;
+ Parity parity = Parity.None;
+ StopBits stopbits = StopBits.Two;
+ int readTimeout = 5000;
+ int writeTimeout = 1000;
+
+ [TestMethod]
+ public void SendMessage_Test()
+ {
+
+ byte[] message = Open;
+ byte[] bytesReceived;
+
+ SERIAL_Driver driver = new SERIAL_Driver();
+ bool isopen = driver.OpenConnection(com,baudrate, dataBits,parity,stopbits,readTimeout,writeTimeout);
+ Assert.IsTrue(isopen);
+ driver.SendMessage(message, message.Length);
+ //Assert.IsTrue(driver.GetRawData().Length == 0);
+ bytesReceived = driver.GetRawData();
+ Assert.IsTrue(bytesReceived.Length > 0);
+ Console.WriteLine("IsOpened: {0}", driver.isOpen());
+ // Display raw bytes (as hex or byte count)
+ Console.WriteLine(string.Format("Bytes received: {0}", bytesReceived.Length));
+ Console.WriteLine(string.Format("Bytes (hex): {0}", BitConverter.ToString(bytesReceived)));
+ string response = System.Text.Encoding.UTF8.GetString(bytesReceived);
+ Console.WriteLine("Bytes string: {0}",response);
+
+ message = CommDeviceSessionEnd;
+ driver.SendMessage(message, message.Length);
+
+ driver.Close();
+
+ }
+
+ [TestMethod]
+ public void SendMessage_TestGetSerialNo()
+ {
+
+ byte[] message = Open;
+ byte[] bytesReceived;
+
+ SERIAL_Driver driver = new SERIAL_Driver();
+ bool isopen = driver.OpenConnection(com,baudrate, dataBits,parity,stopbits,readTimeout,writeTimeout);
+ Assert.IsTrue(isopen);
+ driver.SendMessage(message, message.Length,readTimeout);
+ //Assert.IsTrue(driver.GetRawData().Length == 0);
+ bytesReceived = driver.GetRawData();
+ Assert.IsTrue(bytesReceived.Length > 0);
+ if (bytesReceived[0] == 0xFF)
+ Console.WriteLine("Error message: {0}", driver.ErrorMessage);
+ // Display raw bytes (as hex or byte count)
+ Console.WriteLine("IsOpened: {0}", driver.isOpen());
+ Console.WriteLine(string.Format("Bytes received: {0}", bytesReceived.Length));
+ Console.WriteLine(string.Format("Bytes (hex): {0}", BitConverter.ToString(bytesReceived)));
+ string response = System.Text.Encoding.UTF8.GetString(bytesReceived);
+ Console.WriteLine("Bytes string: {0}",response);
+
+ // --- Get Serial No ---
+ message = ProductDetails;
+ driver.SendMessage(message, message.Length,readTimeout);
+ bytesReceived = driver.GetRawData();
+ Assert.IsTrue(bytesReceived.Length > 0);
+ if (bytesReceived[0] == 0xFF)
+ Console.WriteLine("Error message: {0}", driver.ErrorMessage);
+ // Display raw bytes (as hex or byte count)
+ Console.WriteLine("IsOpened: {0}", driver.isOpen());
+ Console.WriteLine(string.Format("Bytes received: {0}", bytesReceived.Length));
+ Console.WriteLine(string.Format("Bytes (hex): {0}", BitConverter.ToString(bytesReceived)));
+ response = System.Text.Encoding.UTF8.GetString(bytesReceived);
+ Console.WriteLine("Bytes string: {0}",response);
+
+ // --- Get Serial No ---
+ message = ProductDetails2;
+ driver.SendMessage(message, message.Length,readTimeout);
+ bytesReceived = driver.GetRawData();
+ Assert.IsTrue(bytesReceived.Length > 0);
+ if (bytesReceived[0] == 0xFF)
+ Console.WriteLine("Error message: {0}", driver.ErrorMessage);
+ // Display raw bytes (as hex or byte count)
+ Console.WriteLine("IsOpened: {0}", driver.isOpen());
+ Console.WriteLine(string.Format("Bytes received: {0}", bytesReceived.Length));
+ Console.WriteLine(string.Format("Bytes (hex): {0}", BitConverter.ToString(bytesReceived)));
+ response = System.Text.Encoding.UTF8.GetString(bytesReceived);
+ Console.WriteLine("Bytes string: {0}",response);
+
+
+ message = CommDeviceSessionEnd;
+ driver.SendMessage(message, message.Length);
+
+ driver.Close();
+
+ }
+}
\ No newline at end of file
diff --git a/NfcC7_DLL/NfcC7_DLL.csproj b/NfcC7_DLL/NfcC7_DLL.csproj
index 9bb52f2b7..a980157ab 100644
--- a/NfcC7_DLL/NfcC7_DLL.csproj
+++ b/NfcC7_DLL/NfcC7_DLL.csproj
@@ -14,4 +14,34 @@
true
+
+
+
+
+
+
+
+
+ NfcHanler\NfcReaderLibrary\NA2WNFC.dll
+
+
+ NfcHanler\NfcReaderLibrary\OBIDISC4NET.dll
+
+
+ NfcHanler\NfcReaderLibrary\OBIDISC4NETnative.dll
+
+
+ NfcHanler\NfcReaderLibrary\OBIDISC4NET_API.dll
+
+
+ ..\..\..\..\..\Windows\Microsoft.NET\assembly\GAC_32\PresentationCore\v4.0_4.0.0.0__31bf3856ad364e35\PresentationCore.dll
+
+
+ ..\..\..\..\..\Windows\Microsoft.NET\assembly\GAC_MSIL\PresentationFramework\v4.0_4.0.0.0__31bf3856ad364e35\PresentationFramework.dll
+
+
+ NfcHanler\FieldLogicLibrary\Sensus.dll
+
+
+
diff --git a/NfcC7_DLL/NfcHanler/CmdLinkGen2Link.cs b/NfcC7_DLL/NfcHanler/CmdLinkGen2Link.cs
new file mode 100644
index 000000000..9fc5e7920
--- /dev/null
+++ b/NfcC7_DLL/NfcHanler/CmdLinkGen2Link.cs
@@ -0,0 +1,472 @@
+using System;
+using System.Linq;
+using System.IO.Ports;
+using System.Threading;
+using System.Collections.Generic;
+
+using Sensus;
+using Sensus.Protocols.FlexNet;
+using Sensus.CommunicationDevices;
+using Sensus.Protocols.FlexNet.Serial;
+using Sensus.Protocols.FlexNet.Serial.FNv2;
+using Sensus.Protocols.FlexNet.FNv2;
+using Serial = Sensus.Protocols.FlexNet.Serial;
+using Sensus.Protocols;
+using Sensus.Protocols.FlexNet.FNv2.NA2WParameters;
+using System.ComponentModel;
+using Sensus.Protocols.FlexNet.Transactions;
+using Sensus.Protocols.SensusRF;
+using System.Windows.Markup;
+using NA2WNFC;
+using NfcC7_DLL.NfcHanler;
+using NfcC7_DLL.NfcHanler.Protocols;
+using NfcC7_DLL.NfcHanler.Utils;
+using Log = NfcC7_DLL.NfcHanler.Utils.Log;
+
+namespace GlobalIPerlUtility
+{
+ class CmdLinkGen2Link : ISerialConnection, IDisposable
+ {
+ private SerialManager serialManager = null;
+ private UInt16 sessionId = 0;
+
+ public CmdLinkGen2Link(string comPortString)
+ {
+ serialManager = new SerialManager(comPortString);
+ }
+
+ public bool IsConnected { get { return (serialManager != null ? serialManager.FactoryUart.IsConnected : false); } }
+
+ public void Dispose()
+ {
+ Dispose(true);
+ GC.SuppressFinalize(this);
+ }
+
+ public void Dispose(bool isDisposing)
+ {
+ if (isDisposing)
+ {
+// eventThread.Abort();
+ }
+ }
+ private BackgroundWorker openBackgroundWorker;
+
+ private void OpenDoWork(object sender, DoWorkEventArgs e)
+ {
+ bool isOpen = false;
+
+// windowViewModel.IsBusy = true;
+
+ Log.Write("Opening connection on " + serialManager.ComPortString + "." + System.Environment.NewLine);
+
+ try
+ {
+ serialManager.Open();
+
+ if (serialManager.FactoryUart.IsConnected)
+ {
+ serialManager.FactoryUart.MessageReceived += MessageReceived;
+
+ CommDeviceSessionOpen commDeviceSessionOpen = new CommDeviceSessionOpen();
+ commDeviceSessionOpen.HostParsed = "GlobalIPerlUtility";
+ NA2WSerialFrame response = SendNa2wSerial(commDeviceSessionOpen, true);
+
+ isOpen = (response != null);
+
+ if (response == null)
+ {
+ serialManager.Close();
+ serialManager = null;
+
+ Log.Write("CLII session open failed. Is device CLII?" + System.Environment.NewLine);
+ }
+ else
+ {
+ String version = "Unknown version ";
+ String frequencySupport = "unknown frequency (Update CommandLink II firmware)";
+
+ NetworkResponse networkResponse = (NetworkResponse)response.Payload;
+
+ if (networkResponse.Payload is Sensus.Protocols.FlexNet.FNv2.CommDeviceSessionBegin)
+ {
+ var sessionBegin = (Sensus.Protocols.FlexNet.FNv2.CommDeviceSessionBegin)networkResponse.Payload;
+
+ version = String.Format("{0}{1}.{2}.{3}", (sessionBegin.ProductVersionBeta ? "B" : "R"), sessionBegin.ProductVersionMajor, sessionBegin.ProductVersionMinor, sessionBegin.ProductVersionPatch);
+ }
+ else if (networkResponse.Payload is Sensus.Protocols.FlexNet.FNv2.CommDeviceSessionBeginV1)
+ {
+ var sessionBegin = (Sensus.Protocols.FlexNet.FNv2.CommDeviceSessionBeginV1)networkResponse.Payload;
+
+ version = String.Format("{0}{1}.{2}.{3}", (sessionBegin.ProductVersionBeta ? "B" : "R"), sessionBegin.ProductVersionMajor, sessionBegin.ProductVersionMinor, sessionBegin.ProductVersionPatch);
+
+ // Look at FW version number to determine if prototype hardware.
+ if (sessionBegin.ProductVersionMajor >= 2)
+ {
+ // Read Radio variant tag (CLII tag 0x39).
+ ParameterReadCommand parameterReadCommand = new ParameterReadCommand(0, 0x39);
+ // Response code (0x10) is not same as read.
+ response = SendNa2wSerial(parameterReadCommand, 0x10);
+
+ if (response != null) // NA2W Serial ParameterData message
+ {
+ networkResponse = (NetworkResponse)response.Payload;
+
+ byte[] payload = networkResponse.Payload.ToBytes();
+
+ // NA2WSerialParameterData parameterData = (NA2WSerialParameterData)e.Frame.Payload;
+ // if (parameterData.TagMap == 0x00)
+ if (payload[0] == 0x00)
+ {
+ // byte[] tlvArray = parameterData.TlvArray;
+ // if (tlvArray[0] == 0x39)
+ if (payload[1] == 0x39)
+ {
+ // byte variantValue = tlvArray[2];
+ byte variantValue = payload[3];
+
+ if (variantValue == 2)
+ {
+ frequencySupport = "900 MHz";
+ }
+ else if (variantValue == 4)
+ {
+ frequencySupport = "400 MHz";
+ }
+ else if (variantValue == 6)
+ {
+ frequencySupport = "868 MHz";
+ }
+ }
+ }
+ }
+ }
+ }
+
+ Log.Write("CLII session opened: " + version + " supporting " + frequencySupport + "." + System.Environment.NewLine);
+ }
+ }
+ else
+ {
+ Log.Write("Serial port open failed. Check device." + System.Environment.NewLine);
+ }
+ }
+ catch (Exception ex)
+ {
+ isOpen = false;
+ serialManager = null;
+
+ Log.Write("Serial port open failed (" + ex.ToString() + ")." + System.Environment.NewLine);
+ }
+
+ e.Result = isOpen;
+
+ if (isOpen)
+ {
+ serialManager.FactoryUart.MessageReceived += SerialMessageReceived;
+ }
+
+// windowViewModel.IsBusy = false;
+ }
+
+ private void OpenRunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
+ {
+// windowViewModel.IsOpen = (bool)e.Result;
+ }
+
+ public void Open()
+ {
+ // openBackgroundWorker = new BackgroundWorker();
+ // openBackgroundWorker.DoWork += new DoWorkEventHandler(OpenDoWork);
+ // openBackgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(OpenRunWorkerCompleted);
+
+ // openBackgroundWorker.RunWorkerAsync();
+ OpenDoWork(this, new DoWorkEventArgs(this));
+ }
+
+ public void Close()
+ {
+ CommDeviceSessionClose commDeviceSessionClose = new CommDeviceSessionClose();
+ commDeviceSessionClose.SessionID = sessionId;
+ SendNa2wSerial(commDeviceSessionClose, false);
+
+ serialManager.Close();
+ serialManager = null;
+
+ Log.Write("CLII session closed." + System.Environment.NewLine);
+ }
+
+ public event EventHandler> MessageReceived;
+
+ public event EventHandler Disconnected;
+
+ public ClassicSerialMessageFrame SendFlexNetSerial(ISerialCommandFrame cmd, bool responseExpected, UInt32 timeoutMs)
+ {
+ return null;
+ }
+
+ private byte transactionId = 0;
+
+ public NA2WSerialFrame SendNa2wSerial(ISerialCommand cmd, bool responseExpected)
+ {
+ NA2WSerialFrame cmdFrame = new NA2WSerialFrame(cmd);
+ INetworkLayer networkLayer = cmdFrame.Unwrap();
+ networkLayer.PWNs.Set(new TransactionPWN() { TransactionID = transactionId++ });
+ cmdFrame.Bake();
+
+// LogOutgoing(cmdFrame);
+
+ return serialManager.SendNa2wSerial(cmdFrame, responseExpected);
+ }
+
+ public NA2WSerialFrame SendNa2wSerial(ISerialCommandFrame cmdFrame, bool responseExpected, UInt32 timeoutMs)
+ {
+ // Route command through Hat's NFC
+ return SendNa2wSerial(cmdFrame, responseExpected);
+ }
+
+ public NA2WSerialFrame SendNa2wSerial(ISerialCommandFrame cmdFrame, bool responseExpected)
+ {
+ SerialTransmitCommandV1 serialTransmitCommandV1 = new SerialTransmitCommandV1();
+ cmdFrame.Bake();
+ serialTransmitCommandV1.Payload = new Frame(cmdFrame.ToBytes());
+ serialTransmitCommandV1.PortId = 0x02;
+ serialTransmitCommandV1.Bake();
+
+ return SendNa2wSerial(serialTransmitCommandV1, responseExpected);
+ }
+
+ public NA2WSerialFrame SendNa2wSerial(ISerialCommand cmd, byte responseCommandCode)
+ {
+ NA2WSerialFrame cmdFrame = new NA2WSerialFrame(cmd);
+ INetworkLayer networkLayer = cmdFrame.Unwrap();
+ networkLayer.PWNs.Set(new TransactionPWN() { TransactionID = transactionId++ });
+ cmdFrame.Bake();
+
+// LogOutgoing(cmdFrame);
+
+ return serialManager.SendNa2wSerial(cmdFrame, responseCommandCode);
+ }
+
+ public NA2WSerialFrame SendNa2wSerial(ISerialCommandFrame cmdFrame, byte responseCommandCode)
+ {
+ return serialManager.SendNa2wSerial(cmdFrame, responseCommandCode);
+ }
+
+ void SerialMessageReceived(object sender, ReceptionEventArgs args)
+ {
+ ISerialMessageFrame message = args.Frame;
+ bool pushMessageUp = false;
+
+ // LogIncoming(message);
+
+ if (message.Payload is UnknownResponse)
+ {
+ UnknownResponse unknownResponse = message.Unwrap();
+
+ if (unknownResponse.CommandCode == 0x21)
+ {
+ // Serial Receive - extract and push up frame in payload
+ byte[] newFrame = unknownResponse.ToBytes();
+ try
+ {
+ NA2WSerialFrame na2wSerialFrame = NA2WSerialFrame.Parse(newFrame, 10, (uint)newFrame.Length - 10);
+ args.Frame = na2wSerialFrame;
+ message = na2wSerialFrame;
+ pushMessageUp = true;
+ }
+ catch { }
+ }
+ }
+ if (message.Payload is UnknownMessage)
+ {
+ UnknownMessage unknownMessage = message.Unwrap();
+
+ if (unknownMessage.CommandCode == 0x21)
+ {
+ // Serial Receive - extract and push up frame in payload
+ byte[] newFrame = unknownMessage.ToBytes();
+ try
+ {
+ NA2WSerialFrame na2wSerialFrame = NA2WSerialFrame.Parse(newFrame, 10, (uint)newFrame.Length - 10);
+ args.Frame = na2wSerialFrame;
+ message = na2wSerialFrame;
+ pushMessageUp = true;
+ }
+ catch { }
+ }
+ }
+ else if (message.Payload is CommDeviceSessionBegin)
+ {
+ CommDeviceSessionBegin commDeviceSessionBegin = (CommDeviceSessionBegin)message.Payload;
+ sessionId = commDeviceSessionBegin.SessionID;
+ }
+ else if (message.Payload is CommDeviceSessionBeginV1)
+ {
+ CommDeviceSessionBeginV1 commDeviceSessionBegin = (CommDeviceSessionBeginV1)message.Payload;
+ sessionId = commDeviceSessionBegin.SessionID;
+ }
+ else if (message.Payload is SerialEventNotification)
+ {
+ SerialEventNotification serialEventNotification = (SerialEventNotification)message.Payload;
+ if (serialEventNotification.EventMap == 0x00) // CmdLinkII
+ {
+ Frame notification = (Frame)(serialEventNotification.Payload);
+ byte[] notificationBytes = notification.ToBytes();
+
+ SByte idNum = notificationBytes.Read((0 * 8) + 0, 8);
+ // UInt64 timeStamp = notificationBytes.Read((1 * 8) + 0, 64);
+ // UInt16 numDataBytes = notificationBytes.Read((9 * 8) + 0, 16);
+ // UInt16 eventDataLength = (UInt16)((numDataBytes <= notificationBytes.Length - 11) ? numDataBytes : (notificationBytes.Length - 11));
+ // byte[] eventData = new byte[eventDataLength];
+ // Array.Copy(notificationBytes, 11, eventData, 0, eventDataLength);
+
+ if (idNum == 5) // ButtonClick
+ {
+ NfcCommand_InventoryRead nfcCommand = new NfcCommand_InventoryRead();
+ SendNa2wSerial(nfcCommand, false);
+ }
+ }
+ }
+ else if (message.Payload is NfcCommandResponse)
+ {
+ NfcCommandResponse commandResponse = (NfcCommandResponse)message.Payload;
+
+ String dataString = "";
+ bool readNDef = false;
+
+ if (0x00 == commandResponse.SubCommand)
+ {
+ dataString = "Inventory -> Status = " + String.Format("{0:X2}", commandResponse.Status) + System.Environment.NewLine;
+ readNDef = (0x00 == commandResponse.SubCommand);
+ }
+ else if (0x01 == commandResponse.SubCommand)
+ {
+ dataString = "NDEF Read -> Status = " + String.Format("{0:X2}", commandResponse.Status) + System.Environment.NewLine;
+ }
+ else
+ {
+ dataString = "Unknown -> Status = " + String.Format("{0:X2}", commandResponse.Status) + System.Environment.NewLine;
+ }
+
+ byte[] data = commandResponse.AdditionalData;
+ if ((data != null) && (data.Length > 0))
+ {
+ int numberOfBytes = data.Length;
+ uint index = 0;
+
+ while (numberOfBytes > 16)
+ {
+ byte[] lineData = data.Read(index * 8, 16 * 8);
+
+ dataString += lineData.ToHexString() + System.Environment.NewLine;
+
+ index += 16;
+ numberOfBytes -= 16;
+ }
+
+ if (numberOfBytes > 0)
+ {
+ byte[] lineData = data.Read(index * 8, (uint)(8 * numberOfBytes));
+
+ dataString += lineData.ToHexString();
+ }
+
+ if (0x00 == commandResponse.SubCommand)
+ {
+ dataString += System.Environment.NewLine + System.Environment.NewLine + "----" + System.Environment.NewLine;
+ // AdditionData[0] is tag ID
+ // AdditionData[1 - 8] is UUID
+ // AdditionalData[9 - 28] is UUID String
+ dataString += System.Text.Encoding.ASCII.GetString(commandResponse.AdditionalData, 9, 20);
+ }
+ else if (0x01 == commandResponse.SubCommand)
+ {
+ dataString += System.Environment.NewLine + System.Environment.NewLine + "----" + System.Environment.NewLine;
+ dataString += System.Text.Encoding.ASCII.GetString(commandResponse.AdditionalData, 0, commandResponse.AdditionalData.Length);
+
+ ndefData = commandResponse.AdditionalData;
+ NdefMessage ndefMessage = new NdefMessage(ndefData);
+ foreach(NdefRecord record in ndefMessage.recordList)
+ {
+ if (record.RecordType == NdefRecord.SensusNdefRecordType.ProductDetailsRecord)
+ {
+ try
+ {
+ ProductDetailsRecord pdRecord = new ProductDetailsRecord(record.Payload.GetRawData());
+ nfcTargetDetails = new NfcTargetDetails()
+ {
+ DeviceId = System.Text.Encoding.ASCII.GetString(pdRecord.ID1.ToArray()).Split(':')[1].Trim(),
+ ProductType = System.Text.Encoding.ASCII.GetString(pdRecord.ProductType.ToArray()).Split(':')[1].Trim(),
+ ProductVersion = System.Text.Encoding.ASCII.GetString(pdRecord.ProductTypeVersion.ToArray()).Split(':')[1].Trim(),
+ };
+ NfcTagDetected = true; // This uses nfcTargetDetails.
+ }
+ catch { }
+ }
+ }
+ }
+ }
+
+ Log.Write(dataString);
+
+ if (readNDef)
+ {
+ NfcCommand_NdefRead nfcCommand = new NfcCommand_NdefRead();
+ SendNa2wSerial(nfcCommand, false);
+ }
+ }
+ else
+ {
+ pushMessageUp = true;
+ }
+
+ if (pushMessageUp)
+ {
+ try
+ {
+ this.MessageReceived.Raise(this, args);
+ }
+ catch (Exception ex)
+ {
+ Log.Write(String.Format("MessageReceived event handler threw: {0}", ex));
+ }
+ }
+ }
+
+ private bool nfcTagDetected;
+ private byte[] rmaData;
+ private byte[] ndefData;
+ private NfcTargetDetails nfcTargetDetails;
+
+ public bool NfcTagDetected
+ {
+ get
+ {
+ return nfcTagDetected;
+ }
+ set
+ {
+ if (value != nfcTagDetected)
+ {
+ nfcTagDetected = value;
+ OnTagEvent(new TagEventArgs() { Present = value });
+ }
+ }
+ }
+
+ public event EventHandler TagEvent;
+
+ public byte[] NDEF { get { return ndefData; } }
+
+ public byte[] RMA { get { return rmaData; } }
+
+ public NfcTargetDetails NfcTargetDetails { get { return nfcTargetDetails; } }
+
+ protected virtual void OnTagEvent(TagEventArgs e)
+ {
+ EventHandler handler = TagEvent;
+ handler?.Invoke(this, e);
+ }
+ }
+}
diff --git a/NfcC7_DLL/NfcHanler/FieldLogicLibrary/README.md b/NfcC7_DLL/NfcHanler/FieldLogicLibrary/README.md
new file mode 100644
index 000000000..27f26fa09
--- /dev/null
+++ b/NfcC7_DLL/NfcHanler/FieldLogicLibrary/README.md
@@ -0,0 +1,3 @@
+sensus.dll originates from Release build of Sensus.Windows in CommandLinkII branch of git@bitbucket.org:xyleminc/utils.git.
+
+Version of assembly adds 100 to major to indicate FW team special build.
\ No newline at end of file
diff --git a/NfcC7_DLL/NfcHanler/FieldLogicLibrary/Sensus.XML b/NfcC7_DLL/NfcHanler/FieldLogicLibrary/Sensus.XML
new file mode 100644
index 000000000..972ffa72a
--- /dev/null
+++ b/NfcC7_DLL/NfcHanler/FieldLogicLibrary/Sensus.XML
@@ -0,0 +1,77061 @@
+
+
+
+ Sensus
+
+
+
+
+ Similar to an IList(T), but doesn't necessarily allow insertions and removals:
+ the amount of memory allocated may be fixed when the object is constructed.
+
+
+
+
+
+ An array of fixed-size elements which are stored in a byte array. The type must be one that can be read and
+ written using the ByteArrayHelpers.Read() and ByteArrayHelpers.Write() methods.
+
+
+
+
+
+ Sets each value in the "array" to default(T).
+
+
+
+
+ Interface for the cancel detector. This should be passed around for detecting cancels.
+ NOTE: Do not put any methods/properties directly in the interface. We should always force
+ the use of the extension class since we don't want to have to worry with NULL checks on ICancelDetector objects.
+
+
+
+
+ Provides extension methods for ICancelDetector.
+ This is needed in order to avoid the need for NULL checks on ICancelDetector objects.
+
+
+
+
+ Internal implementation of ICancelDetector
+
+
+
+
+ Creates an ICancelDetector from Func bool
+
+
+
+
+
+
+ Creates an ICancelDetector from BackgroundWorker
+
+
+
+
+
+
+ Checks if the ICancelDetector is cancelled
+
+
+
+
+
+
+ Executes the given execution action on the current thread.
+ On a background thread checks for ICancelDetector to be cancelled.
+ If ICancelDetector is cancelled then the given cancellation action is called on the background thread.
+
+
+ action to execute, executed on the current thread
+ action to execute if ICancelDetector is cancelled, executed on a background thread
+
+
+
+ Run consecutive jobs in a background thread. The interface is similar to
+ BackgroundWorker and uses some of the same event handlers and event arguments.
+ Jobs will be queued and run in the order requested. Nested jobs will be run
+ in the expected order (nested). In other words, if Job A is running and requests
+ Job B to run, Job B will run to completion and then Job A will resume.
+
+
+ This class embeds a WorkItem class. WorkItems are added to a BlockingQueue when
+ the job is requested. A background thread dequeues WorkItems, runs them, and
+ invokes their callback.
+ The ConsecutiveWorker compares the ManagedThreadId property of the background thread
+ with the currently executing thread to determine if a nested job is being requested.
+ Nested jobs are not queued, but are run immediately (since they're already on the
+ background thread). This prevents thread lockup conditions.
+
+
+
+
+ The work management class. It needs to be disposable because it uses a
+ ManualResetEvent and we want those disposed after each work item completes.
+
+
+
+
+ The job that will be done.
+
+
+
+
+ A callback when the job is complete
+
+
+
+
+ Default constructor. No work, no state, no callback.
+
+
+
+
+ Construct a WorkItem to perform the supplied job.
+
+
+
+
+
+ Construct a WorkItem to perform the supplied job with the supplied state.
+
+
+
+
+
+
+ Construct a WorkItem to perform the supplied job with the supplied state and supplied callback.
+
+
+
+
+
+
+
+ We want these objects disposed!
+
+
+
+
+ Wait for the job to complete. Be aware that Wait() will return before
+ the WorkCompleted callback is invoked.
+
+
+
+
+ Run the job, collecting results and then invoking the WorkCompleted callback.
+ Finally, Dispose of this work item. Exceptions that occur during the job will
+ be caught and stored in the RunWorkerCompletedEventArgs object passed to the
+ callback.
+
+
+ The job will not run if it has been cancelled.
+
+
+
+
+ Don't run the job, just invoke the callback with a cancelled state.
+ Dispose of this WorkItem when done.
+
+
+ Cancel will do nothing if the job has run or is running.
+
+
+
+
+ Execute the job, if defined. Any Exception caused by the work will
+ NOT be caught here.
+
+
+
+
+
+ Set the complete event (so the Wait method returns), and invoke the
+ callback.
+
+
+
+
+
+ Close the complete event and set it to null.
+
+
+
+
+
+ Default constructor that uses the name "ConsecutiveWorker".
+
+
+
+
+ Construct a ConsecutiveWorker with the supplied name.
+
+
+
+
+
+ We want this object disposed!
+
+
+
+
+ Start the background thread. Start must be called prior to any Run methods.
+
+
+
+
+ Stop the background thread and cancel and pending jobs.
+
+
+
+
+ Run the supplied job and wait for it to complete.
+
+
+
+ Exception will be
+ thrown if the method has not been called.
+
+
+
+
+ Run the supplied job and wait for it to complete.
+
+
+
+
+ Exception will be
+ thrown if the method has not been called.
+
+
+
+
+ Run the supplied job and wait for it to complete.
+
+
+
+ Method called when job completes
+
+ Exception will be
+ thrown if the method has not been called.
+
+
+
+
+ Here we actually queue the job to run. If we are already on the background thread
+ then we know this is a nested run, so we just run the job.
+
+
+
+ Exception will be
+ thrown if the method has not been called.
+
+
+
+
+ Queue the supplied job to run.
+
+
+
+ Exception will be
+ thrown if the method has not been called.
+
+
+
+
+ Queue the supplied job to run.
+
+
+
+
+ Exception will be
+ thrown if the method has not been called.
+
+
+
+
+ Queue the supplied job to run.
+
+
+
+ Method called when job completes
+
+ Exception will be
+ thrown if the method has not been called.
+
+
+
+
+ Here we actually queue the work item.
+
+
+
+ Exception will be
+ thrown if the method has not been called.
+
+
+
+
+ The background worker thread. This thread continually waits 100ms
+ for new work items to run. If Stop is called, the method exits.
+
+
+
+
+ Run a WorkItem.
+
+
+
+
+
+ Clean up all our managed resources.
+
+
+
+
+
+ Constructor
+
+
+
+
+
+
+ Extract the version, units, and forumla text of this attribute string.
+
+
+
+
+ Evaluate the supplied value using the formula text.
+
+
+
+
+
+
+ This class provides an empty implementation of ,
+ which can be extended to create a listener which only needs to handle a subset
+ of the available methods.
+
+
+
+
+ Enter a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by .
+ The default implementation does nothing.
+
+ The parse tree.
+
+
+
+ The default implementation does nothing.
+
+
+
+ The default implementation does nothing.
+
+
+
+ The default implementation does nothing.
+
+
+
+ The default implementation does nothing.
+
+
+
+ This class provides an empty implementation of ,
+ which can be extended to create a visitor which only needs to handle a subset
+ of the available methods.
+
+ The return type of the visit operation.
+
+
+
+ Visit a parse tree produced by .
+
+ The default implementation returns the result of calling
+ on .
+
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by .
+
+ The default implementation returns the result of calling
+ on .
+
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by .
+
+ The default implementation returns the result of calling
+ on .
+
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by .
+
+ The default implementation returns the result of calling
+ on .
+
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by .
+
+ The default implementation returns the result of calling
+ on .
+
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by .
+
+ The default implementation returns the result of calling
+ on .
+
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by .
+
+ The default implementation returns the result of calling
+ on .
+
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by .
+
+ The default implementation returns the result of calling
+ on .
+
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by .
+
+ The default implementation returns the result of calling
+ on .
+
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by .
+
+ The default implementation returns the result of calling
+ on .
+
+
+ The parse tree.
+ The visitor result.
+
+
+
+ This interface defines a complete listener for a parse tree produced by
+ .
+
+
+
+
+ Enter a parse tree produced by the ExprExp
+ labeled alternative in .
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by the ExprExp
+ labeled alternative in .
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by the ExprAddOp
+ labeled alternative in .
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by the ExprAddOp
+ labeled alternative in .
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by the ExprNegate
+ labeled alternative in .
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by the ExprNegate
+ labeled alternative in .
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by the ExprParens
+ labeled alternative in .
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by the ExprParens
+ labeled alternative in .
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by the ExprDecimalNum
+ labeled alternative in .
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by the ExprDecimalNum
+ labeled alternative in .
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by .
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by .
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by the ExprVariable
+ labeled alternative in .
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by the ExprVariable
+ labeled alternative in .
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by the ExprMultOp
+ labeled alternative in .
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by the ExprMultOp
+ labeled alternative in .
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by .
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by .
+
+ The parse tree.
+
+
+
+ Enter a parse tree produced by .
+
+ The parse tree.
+
+
+
+ Exit a parse tree produced by .
+
+ The parse tree.
+
+
+
+ This interface defines a complete generic visitor for a parse tree produced
+ by .
+
+ The return type of the visit operation.
+
+
+
+ Visit a parse tree produced by the ExprExp
+ labeled alternative in .
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by the ExprAddOp
+ labeled alternative in .
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by the ExprNegate
+ labeled alternative in .
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by the ExprParens
+ labeled alternative in .
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by the ExprDecimalNum
+ labeled alternative in .
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by .
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by the ExprVariable
+ labeled alternative in .
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by the ExprMultOp
+ labeled alternative in .
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by .
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Visit a parse tree produced by .
+
+ The parse tree.
+ The visitor result.
+
+
+
+ Common base class for and any other class that needs to be logged.
+
+
+
+
+ Used to indicate whether a log message matches a MessageSelector's criteria.
+
+
+
+
+ Indicates that the message does not match the selector's facilities.
+
+
+
+
+ Indicates a message matches both the facilities and severity levels of the selector.
+
+
+
+
+ Message is to be rejected due to severity level mismatch.
+
+
+
+
+ Use the | operator to combine multiple MessageSelectors.
+
+
+
+ An IMessageSelector that is the combination of the parameters
+
+
+
+ A string can be automatically cast to a message selector. If no severity level is specified,
+ LogSeverities.All will be used.
+
+
+
+
+
+
+ Specifies facility and severity combinations that should be logged.
+ In other words, selects which messages should be logged.
+
+
+
+
+ Converts a string describing a message selector to an IMessageSelector.
+
+ The general format is "facilityA,facilityB.minSeverity":
+ - "*" is a wildcard
+ - "none" can be used to indicate no severities.
+ - Multiple facilities can be specified by joining them with commas. For example,
+ "app,packet" would match both messages from the "app" facility and "packet" facility.
+ - "!" indicates "not" for a severity
+ - "=" indicates exactly a specified severity.
+ - if neither "!" nor "=" are specified in front of the severity, then all severities with
+ levels lower than and including the specified severity will be logged.
+ - ";" can be used to combine multiple selectors.
+
+ More examples:
+ "*.Debug" would match all Debug messages.
+ "UI1236.Info" would match all messages with facility UI1236 and a severity of Info.
+ "*.*" would match all messages.
+
+
+
+
+
+
+ Specifies a facility-less selector.
+
+
+
+
+
+ Specifies a selector for all severities for a specified facility.
+
+
+
+
+
+ Specifies a selector for one or more comma-separated facilities and a severity mask.
+
+
+ Use the LogSeverities class to specify.
+
+
+
+ Specifies a multiple-facility, multiple severity selector.
+
+
+ Use LogSeverities for assistance in constructing a mask.
+
+
+
+ Determines whether a specified log message meets the criteria of this MessageSelector.
+
+
+
+
+
+
+
+ Standard syslog severity levels.
+
+
+
+
+
+ Info useful to developers for debugging the application, not useful during operations.
+ This is the highest lowest severity.
+
+
+
+
+ Informational message.
+ Normal operational messages - may be harvested for reporting,
+ measuring throughput, etc. - no action required.
+
+
+
+
+ Normal, but significant condition.
+ Events that are unusual but not error conditions.
+
+
+
+
+ Warning conditions.
+ Warning messages, not an error, but indication that an error will
+ occur if action is not taken, e.g. file system 85% full.
+
+
+
+
+ Error conditions.
+ Non-urgent failures, these should be relayed to developers or admins.
+
+
+
+
+ Critical conditions.
+ Should be corrected immediately, but indicates failure in a primary system.
+
+
+
+
+ Action must be taken immediately.
+ Should be corrected immediately, therefore notify staff who can fix the problem.
+
+
+
+
+ System is unusable.
+ A "panic" condition.
+ This is the highest log severity.
+
+
+
+
+ Convenience methods for specifying a range of LogSeverities.
+
+
+
+
+ Specifies all severities from LogSeverity.Emergency down to p, inclusive.
+
+
+
+
+
+
+ Provides an method for performing 2D matrix mathematics
+
+
+ I'm not sure if I like how this class evolved during development. There might be a better way to represent the matrix
+ and/or make it generic. Some of the overloads and function names might need to be changed some.
+
+
+
+
+ Performs LUP decomposition of the current matrix.
+
+ Algorithm taken from https://msdn.microsoft.com/en-us/magazine/jj863137.aspx
+
+
+
+ The LU matrix
+
+
+
+ Inverts the current matrix by using LUP decomposition
+
+ Algorithm taken from https://msdn.microsoft.com/en-us/magazine/jj863137.aspx
+
+
+
+
+
+ Calculates the determinate of the current matrix
+
+ Algorithm taken from https://msdn.microsoft.com/en-us/magazine/jj863137.aspx
+
+
+
+
+
+ Converts the matrix to a multi-dimensional array
+
+
+
+
+
+ Performs the provided operation on all elements of the matrix
+
+ The operation to perform
+ The matrix after the operation
+
+
+
+ Compares each element the matrix to another matrix to determine equality
+
+ The other matrix to compare to
+ The amount an element should differ by to be considered not equal.
+ true if the matrices are equal, false otherwise
+
+
+
+ Helper method to solve a system of equations (luMatrix * x = b)
+
+ Algorithm taken from https://msdn.microsoft.com/en-us/magazine/jj863137.aspx
+
+
+
+
+
+
+
+ Creates a square identity matrix of dimension n
+
+ The dimension of the identity matrix to create
+ An identity matrix
+
+
+
+ Returns true when cancelled
+
+
+
+
+ Request a cancellation
+
+
+
+
+ Creates a populated set of equivalent pressure values, each in its own units
+
+ pressure
+ units for above pressure
+
+
+
+ A collection of simple, fast, non-cryptographic hashes that consume their data one byte at a time.
+
+ If extended to handle multi-byte-per-pass, the following hashes should be added:
+ Murmur3 (http://en.wikipedia.org/wiki/MurmurHash)
+ Spooky V1 (http://www.burtleburtle.net/bob/hash/spooky.html)
+ Spooky V2 (http://www.burtleburtle.net/bob/hash/spooky.html)
+ City Hash (https://code.google.com/p/cityhash/)
+
+
+
+
+ Bernstein's first hash
+ http://www.cse.yorku.ca/~oz/hash.html
+
+
+
+
+ Bernstein's second hash
+ http://www.cse.yorku.ca/~oz/hash.html
+
+
+
+
+ SDBM hash
+ http://www.cse.yorku.ca/~oz/hash.html
+
+
+
+
+ Paul Larson's hash
+ http://stackoverflow.com/questions/628790/have-a-good-hash-function-for-a-c-hash-table
+
+
+
+
+ Kernighan & Ritchie's hash from "The C programming Language", 3rd edition.
+ http://www.strchr.com/hash_functions
+
+
+
+
+ FNV1a
+ http://en.wikipedia.org/wiki/Fowler%E2%80%93Noll%E2%80%93Vo_hash_function
+
+
+
+
+ Peter Weinberger's hash from the Red Dragon book.
+ http://read.pudn.com/downloads150/sourcecode/math/649622/hash.cpp__.htm
+
+
+
+
+ Ramakrishna's hash
+ http://read.pudn.com/downloads150/sourcecode/math/649622/hash.cpp__.htm
+
+
+
+
+ Universal hash from Sedgewick's book "Algorithms in C", part 4
+ http://read.pudn.com/downloads150/sourcecode/math/649622/hash.cpp__.htm
+
+
+
+
+ Jenkins one-at-a-time hash
+ http://en.wikipedia.org/wiki/Jenkins_hash_function
+
+
+
+
+ Like ToString(), but a beta version is indicated with a preceding "B" rather than a trailing "beta" and the "(hex)" disambiguator is omitted.
+
+
+
+
+
+ Contents of a Sensus Firmware file.
+
+
+
+
+ Creates a FirmwareImage given the path to a .upg/.gft file.
+ Non-NA2W UPG files must be named with the version number appended
+ to the end of the file name after a _. For example: iConA_B1.2.3.4.upg
+ NA2W-format UPG files have the firmware version embedded inside the file
+ after the device type.
+
+ path to the .upg/.gft file.
+
+
+
+
+ Version of the firmware that will be installed if instance is loaded onto a device.
+ This property does not indicate file format version of the .upg file.
+
+
+
+
+ Compatibility byte from UPG file -- in NA2W devices, this is
+ also known as the "Product type."
+
+
+
+
+ Number of 19-byte blocks in the image
+
+
+
+
+ Size of the firmware image in bytes.
+
+
+
+
+ Number of segments in the image.
+
+
+
+
+ CRC32 of the data in all of the blocks
+
+ For GFT, this field is the Signing Key Id
+
+
+
+
+ Description of all the segments in the firmware image.
+
+ For GFT file, the segments are included in the Blocks.
+
+
+
+
+ The new firmware image in 19-byte blocks.
+
+
+
+
+ Data from the firmware image as an array.
+
+
+
+
+ For GFT only
+
+ Raw data of the FW file. This can be used for populating the firmware blocks and
+ verify the authenticity of the file.
+
+
+
+
+ For GFT only
+
+ Verification Type.
+
+
+
+
+ Verify the signature and populate the firmware blocks.
+
+ FW CSC
+
+
+
+
+ Get the number of segments.
+
+ Number of File Bytes (from Chunk na2wfw)
+
+
+
+
+ Signal level reported by the communication device when the frame was received.
+ Logarithmic scale as reported by communication device. Float.NegativeInfinity if not set.
+
+
+
+
+ Noise level reported by the communication device when the frame was received.
+ Logarithmic scale as reported by communication device. Float.NegativeInfinity if not set.
+
+
+
+
+ Signal-to-Noise Ratio.
+
+
+
+
+ Letter frequencies from:
+
+ Case-sensitive letter and bigram frequency counts from large-scale English corpora
+ MICHAEL N. JONES and D. J. K. MEWHORT
+ Queen’s University, Kingston, Ontario, Canada
+
+
+
+
+
+ SlidingStream implementation inspired by:
+ http://stackoverflow.com/questions/8221136/fifo-queue-receiveStream-specialising-in-byte-streams
+
+
+
+
+ Repeats a string a specified number of times.
+
+
+
+
+
+
+
+ Splits a string into substrings based on the separator string.
+ No empty strings are returned.
+
+ the string to be split
+
+ A string that delimits the substrings in this string,
+ an empty string, or null.
+
+
+ An array whose elements contain the substrings in this string that are
+ delimited by the separator.
+
+
+
+
+ Helper functions for creating tagged trees.
+
+ Due to the way type inference works in C#, the parameterized types for a method can be determined automatically, but not for a class.
+
+ Therefore, it is common practice to create static factory methods to allow creation of generic types without having to manually
+ specify the parameterized types.
+
+
+
+
+ Create a new TaggedTree with the following tag and children.
+
+
+
+
+
+
+
+
+ Create a new TaggedTree with the following tag and children.
+
+
+
+
+
+
+
+
+ Merge a collection of TaggedTrees by concattenating their children.
+
+
+
+
+
+
+
+
+ Merge a collection of TaggedTrees by concattenating their children.
+
+
+
+
+
+
+
+
+ The TaggedTree functional data structure.
+
+ A TaggedTree as a Tag of a user-supplied TagType, and a collection of children.
+ TaggedTrees are "updated" by calling the appropate method (e.g., Prepend), which returns a new tree containing the requested modification.
+
+
+
+
+
+ Replace the tag of this tree with a new tag.
+
+
+
+
+
+
+ Prepend a child to this tree.
+
+
+
+
+
+
+ Append a child to this tree.
+
+
+
+
+
+
+ Remove all subtrees with the supplied path.
+
+
+
+
+
+
+ Update the subtrees with the supplied tag using the supplied update function.
+
+
+
+
+
+
+
+ Retrieve all subtrees with the following path, or all subtrees if no path is supplied.
+
+
+
+
+
+
+ Retrieve the subtree with the following path.
+
+
+
+
+
+
+ Determine whether or not the tree has subtrees matching the supplied path.
+
+
+
+
+
+
+ Base class for all tree reducers.
+
+ A reducer reduces a tree with a given tag type to a list of values of a given result type.
+
+ The tag type of the TaggedTree to reduce.
+ A user-supplied ContextType to carry through the reduction.
+ The type of the resulting values.
+
+
+
+ Run the reducer on a tree.
+
+
+ The final list of results.
+
+
+
+ The context to begin with when reducing the root node.
+
+
+
+
+ Reduce a tree given a context.
+
+ The Enter method has the oppportunity to update the context.
+ The Visit method performs the reduction.
+ The Exit method has the opportunity to perform any necessary cleanup.
+
+
+
+
+
+
+
+ Enter a subtree.
+
+ If a subclass defines a method named Enter[TagName], it will be called.
+ Otherwise, DefaultEnter is called.
+
+
+
+ The updated context.
+
+
+
+ Visit a subtree.
+
+ If a subclass defines a method named Visit[TagName], it will be called.
+ Otherwise, DefaultVisitor is called.
+
+
+
+
+
+
+
+ Exit a subtree.
+
+ If a subclass defines a method named Exit[TagName], it will be called.
+ Otherwise, DefaultExit is called.
+
+
+
+
+
+
+
+ The default enter method does not update the context.
+
+
+
+
+
+
+
+ Call the default visitor with a default context.
+
+
+
+
+
+
+ The default visitor recurses into subtrees and "aggregates" the results using the DefaultAggregator.
+
+
+
+
+
+
+
+ Call the default visitor for non-trees with a default context.
+
+
+
+
+
+
+ The default visitor for non-trees removes them.
+
+
+
+
+
+
+
+ The default exit method does nothing.
+
+
+
+
+
+
+ Recurse with a default context.
+
+
+
+
+
+
+ Recurse on each child, either calling Run if it is a subtree, or the DefaultVisitor otherwise.
+
+
+
+
+
+
+
+ Aggregate results by concattenating the individual result sets and removing all nulls.
+
+
+
+
+
+
+
+ Base class for all tree rewritters.
+
+ A rewriter is like a reducer, only it returns a new Tree rather than a list of "values".
+
+
+
+
+
+
+ Run the tree rewriter, returning the resulting tree.
+
+
+
+
+
+
+ The default visitor for trees calls the default rewriter and returns the singleton collection of only the rewritten tree.
+
+
+
+
+
+
+
+ The default visitor for non-trees simply leaves the object alone.
+
+
+
+
+
+
+
+ The default rewriter recurses into all the children, rewriting them and aggregating them back into a new child list for this tree.
+
+
+
+
+
+
+
+ Call the default rewriter with a defautl context.
+
+
+
+
+
+
+ Base class for all tree visitors.
+
+ A tree visitor walks a tree but returns nothing.
+
+
+
+
+
+
+ Run the visitor.
+
+
+
+
+
+ A tree reducer that doesn't need to carry a context around while walking the tree.
+
+
+
+
+
+
+ A tree rewriter that doesn't need to carry a context around while walking the tree.
+
+
+
+
+
+ A tree visitor that doesn't need to carry a context around while walking the tree.
+
+
+
+
+
+ Provides method for applying mathematics to 2D vectors and matrices.
+
+
+ I'm not sure if I like how this class evolved during development. There might be a better way to represent the vector
+ and/or make it generic. Some of the overloads and function names might need to be changed some.
+
+
+
+
+ A threadsafe queue that allows the caller to wait for Dequeue
+ with or without a timeout, and exposes a WaitHandle if the caller
+ wants to be signaled when the queue has data.
+
+
+ The intention for this queue is that one or more threads Enqueue data
+ while a single thread Dequeues data. Having multiple threads call
+ DequeueWait will potentially result multiple threads being signaled
+ but only 1 thread getting data.
+ In that scenario, the return value from any Dequeue method must be
+ evaluated against the default value for that type to ensure that it
+ is valid data.
+
+
+
+
+
+ Free up resources and suppress the finalizer, since we won't need it to call
+ Dispose anymore.
+
+
+ I use the IDisposable pattern recommended by Microsoft here. That means that
+ managed and unmanaged resources will get freed when Dispose is called explicitly
+ from code, but only unmanaged resources will get freed if called from the
+ finalizer.
+
+
+
+
+ Frees up any resources. Managed resources are only freed if the passed
+ argument is set to true. This is the pattern recommended by Microsoft
+ and the correct way to implement IDisposable.
+
+
+ Sub-classes should call this Dispose method from any override at
+ the end of the sub-class implementation.
+
+
+
+
+
+ Returns the number of items in the queue.
+
+
+
+
+ Returns empty status of the queue.
+
+
+
+
+ Empties the queue and resets the wait handle.
+
+
+
+
+ Add and item to the back of the queue.
+
+
+
+
+
+ Remove an item from the front of the queue.
+
+ default(t) if no items are in the queue
+
+
+
+ Waits the specified timeout for the queue to have data. If data is enqueued or
+ already queued the method returns the value from Dequeue. If a timeout occurs
+ default(t) is returned.
+
+
+ Note that if multiple threads call DequeueWait it is possible for both threads
+ to be signaled but only one thread will get data.
+
+
+
+
+
+
+ Waits the specified timeout for the queue to have data. If data is enqueued or
+ already queued the method returns the value from Dequeue. If a timeout occurs
+ default(t) is returned.
+
+
+ Note that if multiple threads call DequeueWait it is possible for both threads
+ to be signaled but only one thread will get data.
+
+
+
+
+
+
+ A WaitHandle that callers can use to wait for the queue to be non-empty.
+
+
+ The WaitHandle stays signaled while the queue count is non-zero.
+
+
+
+
+ Device Type.
+
+
+
+
+ Block Number.
+
+
+
+
+ Data.
+
+
+
+
+ Device Type
+
+
+
+
+ Seg 1 (16-bit) Address
+
+
+
+
+ Seg 1 (16-bit) Num Blocks
+
+
+
+
+ Seg 2 (16-bit) Address
+
+
+
+
+ Seg 2 (16-bit) Num Blocks
+
+
+
+
+ Seg 3 (16-bit) Address
+
+
+
+
+ Seg 3 (16-bit) Num Blocks
+
+
+
+
+ Seg 1 (16-bit) Address
+
+
+
+
+ Seg 4 (16-bit) Num Blocks
+
+
+
+
+ Seg 5 (16-bit) Address
+
+
+
+
+ Seg 5 (16-bit) Num Blocks
+
+
+
+
+ The constructed register set is configured for FlexNet 5kbps mPass.
+
+
+
+
+ Also known as "Utility Support."
+
+
+
+
+ An "At" command instructs the CommandLink to halt until its
+ internal clock reaches a specified time.
+
+ This command is required for communicating with endpoints during
+ LAT windows:
+ - When a message is received by the CommandLink, it is timestamped.
+ - If a command is to be sent to the endpoint in a LAT window opened
+ by that message, the message's LAT delay is parsed, and an
+ AtCommand is used to schedule the command to be sent at the correct
+ time by having the CommandLink do nothing until Time has arrived.
+
+
+
+
+
+
+ CommandLink time to continue execution of the script. Milliseconds.
+
+
+
+ Time at which the CommandLink should continue executing commands.
+ The CommandLink has its own clock, which increments once a millisecond.
+
+
+
+
+ Command used to set the length of time of inactivity of the CommandLink before
+ it goes into sleep mode.
+
+
+
+
+
+
+ new sleep timer value in milliseconds
+
+
+
+ Used by ReceivedFlexNetMessage (code 0x47)
+
+
+
+
+ Also known as Timeslot.
+
+
+
+
+ Communication through the device known by the following names:
+ - hockey puck
+ - harry puck
+ - OMNI Communicator
+ - UniPro Communicator
+
+ This class logs messages through Log to/from the hardware using the facilities
+ LogFacility.HarryBytes and LogFacility.HarryFields at the LogSeverity.Debug severity.
+
+
+
+
+ It has been shown that if there are these number of bytes in frame, including control flags, command code, and checksum,
+ the Hockey Puck has an allergic reaction of some kind.
+
+
+
+
+ Note: Due to the implementation of the OmniCommunicator device, everything in command is
+ ignored except Payload. The OmniCommunicator always uses the Response control flag.
+
+ Also, as a workaround for issues in the OmniCommunicator device, the payload sent to
+ the OmniCommunicator for transmission may have 0's padded on the end.
+
+
+
+
+
+
+ Command values when Protocol_ID.Hardware is in the RHINO ProtocolID byte.
+
+
+
+
+ Command values when Protocol_ID.LPL_Protocol is in the RHINO ProtocolID byte.
+
+
+
+
+ Command values when Protocol_ID.RIU_Protocol is in the RHINO ProtocolID byte.
+
+
+
+
+ This command causes the RIU to tune the RF receiver to the frequency assigned to the specified reply channel.
+ The selected RF Reply channel is stored in EEPROM and becomes the default value even after power is cycled to the RIU.
+
+
+
+
+ Channel is optional
+
+
+
+
+ Fine Tune Average Length is optional
+
+
+
+
+ Models a Rhino Frame including MUX layer (ie. includes protocol ID)
+
+
+ The general format of a Rhino frame is as follows:
+ [start][LI][length][ProtocolID][data][CRC-16]
+
+ start......: 0x0D
+ LI.........: Length Indicator (0 = 7 bit length, 1 = 15 bit length)
+ length.....: 7 or 15 bits, number of bytes in remainder of message (including CRC).
+ Protocol ID: 1 byte
+ data.......: variable
+ CRC16......: 16 bit CRC
+
+ Example:
+ "transmit with preamble then enter rf receive"
+ 0D 0F 81 08 0D 09 02 07 04 81 13 5D 67 8D 07 3E DC
+ S LEN Pid Cmd CRC16
+ [--header-] [------- payload -------------------] [footer]
+
+ Payload is one of: RhinoRIUPayload, RhinoLPLPayload, RhinoHardwarePayload
+
+
+
+ 0x0D + Length16 + 0x7FFF (32767)
+
+
+ 0x0D + Length8 + ProtocolID + 1 data + CRC16
+
+
+
+ If true, then payload length is 15 bits long, otherwise 7 bits.
+
+
+
+
+ Scan a byte array and create a RhinoFrame from it.
+
+
+
+
+
+
+
+ This wrapper provides a bridge between the Rhino frame and the Hardware frame.
+
+
+
+
+ This wrapper provides a bridge between the Rhino frame and the Hardware frame.
+
+
+
+
+ This wrapper provides a bridge between the Rhino frame and the Hardware frame.
+
+
+ Example:
+ "transmit with preamble then enter rf receive"
+ 0D 0F 81 08 0D 09 02 07 04 81 13 5D 67 8D 07 3E DC
+ S LEN Pid Cmd CRC16 RhinoFrame
+ [--header-] [------- payload --------------] RhinoRIUPayload
+
+ Payload is one of: MXUCommand, MXUMessage, RiuCommand
+
+
+
+
+ This is the RIU Command Code.
+
+
+
+
+ Stops tone and disposes toneTimer, if applicable.
+
+
+
+
+
+ A stream that can read and write RHINO serial messages via a SerialPort.
+
+
+
+
+ Instantiates a PantherDevice object for the given COM port if necessary.
+
+
+ The comport parameter is ignored if the instance already exists.
+
+ "COMx", where x is a number
+
+
+
+
+
+ Perform a blind interrogation with read cycle = 0, to a given MXU ID.
+
+
+ Number of times to retry the interrogation
+ Timeout for each interrogation attempt
+ Whether or not to use the Class/Password defined in RadioProfile
+ A list of MXUPackets that responded to the interrogation
+
+
+
+ Send the Configuration command to the given MXU ID with the ports types specified.
+
+
+ The MXUEncoderType for the port.
+ The MXUEncoderType for the port.
+ Wether or not to program the ClassPassword due to MXU bug.
+ Number of times to retry the interrogation
+ Timeout for each interrogation attempt
+ A MXU ACK that responded to the configuration
+
+
+
+ Acknowledge the supplied MXUPacket.
+
+
+
+
+
+
+
+ A small helper method so I don't have to repeat this code several times.
+
+
+
+
+
+
+
+
+
+
+ Wraps an MXUCommand in a RhinoFrame.
+
+
+
+
+
+
+
+ Wraps a UI1281 frame in a RhinoFrame.
+
+
+
+
+
+
+
+ Sends a RhinoFrame over the physical layer, waiting for an ACK.
+
+
+ Number of milliseconds to wait for an ACK.
+ true if ACK received before timeout.
+
+
+
+ Sends a RhinoFrame over the physical layer, waiting for an ACK and retrying if no ACK.
+
+
+ Number of milliseconds to wait for an ACK.
+ Number of retries (0 to send once).
+ true if ACK received before timeout.
+
+
+
+ Sends a message without waiting for any response.
+
+
+
+
+
+
+ Sends a message, waiting for timeout milliseconds for an ACK response.
+
+
+
+
+
+
+
+ Sends a message, waiting for timeout milliseconds for an ACK response, and retrying if no ACK.
+
+
+
+
+
+
+
+
+ This class is used to expose only a subset of System.IO.SerialPort so that
+ we can provide these same methods for other serial port like FTDI driver for Android.
+ All implementations of this class should implement all methods in the same manner
+ as System.IO.SerialPort.
+ For documentation all methods below see the Windows help for SerialPort.
+
+
+
+
+ Used to get the platform dependent implementation of this class
+
+
+
+
+
+
+
+ Enables direct serial stream read and write.
+ Not sure why this would be necessary, but leaving support for it in the code in
+ order to ensure nothing breaks for serial port communication on older devices.
+
+
+
+
+ Event which indicates that data has been received
+
+
+
+
+ bytes available in the receiver buffer
+
+
+
+
+ reports if the port is open
+
+
+
+
+ open the port
+
+
+
+
+ close the port
+
+
+
+
+ port name
+
+
+
+
+ Reads a single byte
+
+ the next received byte or -1 if no data
+
+
+
+ Discards data from the receive buffer
+
+
+
+
+ writes the given buffer to the port
+
+
+
+
+
+ write the given string to the port
+
+
+
+
+
+ reads a line of text from the port up to the NewLine
+
+
+
+
+
+ Used by ReadLine, defines end of line
+
+
+
+
+ Reads bytes from the port
+
+ buffer to read into
+ offset into the buffer
+ number of bytes to read
+ actual bytes read
+
+
+
+ For SerialPort checks the carrier detect line.
+ Can be used to determine if the connection has been lost.
+ This is not directly implemented in SerialPort.
+
+
+
+
+
+ Used for locking when DirectStreamMode is enabled.
+ Not sure if locking is necessary, but reproducing the code just in case.
+
+
+
+
+ Interface to the device known as the optical port
+
+
+ Additions to the OpticalProbe class, that handle legacy "protocol 8" communications
+
+
+
+
+ Communication through the device known by the following names:
+ - SonixComm
+ - Optical
+
+
+
+
+ Reads given number of bytes to the buffer at the given offset
+ and doesn't return until that many bytes have been read unless
+ it times out or the manual reset event is triggered.
+
+
+
+
+
+
+
+
+
+ Creates, fragments, and encrypts (if possible) serial frames to send over optical port.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates, fragments, and encrypts (if possible) serial frames to send over optical port.
+
+
+
+
+
+
+
+
+
+
+
+
+ Sends serial frames over the optical probe.
+
+ This will decrypt and defragment NA2W serial frames and FT9 frames if necessary.
+
+ For callers that are interested in being notified when received FT9 messages have been processed
+ (decrypted, defragmented, etc.), subscribe to ParsedFT9MessageReceived. This will allow the caller
+ to know when Wait Acks, Rejections, and any other FT9 frames have been received.
+
+ To be alerted of when any kind of NA2W Serial frame is received (and prior to defragmentation/
+ decryption), caller should subscribe to the AsyncNa2wReceived event.
+
+
+ Frames to send
+ Allowed responses
+ How long to wait
+ Key to decrypt incoming fragments (applied to FT9 frames only)
+ Epoch time for decryption
+ When logging, if this is provided, it will be logged prior to logging the actual frames transmitted
+ Returns the first fully decrypted/defragmented response that has a match in allowedResponses
+
+
+
+ This is just a wrapper for the SIRTSerialPort.Send method that has logging.
+ Throws TimeoutException and SirtSendFailedException
+
+
+
+
+
+
+
+ Use this evet handler to get raw serial frames. Use only
+ for debugging or sniffing.
+
+
+
+
+ Perform any additional connect work required to allow Read/Write operations.
+ The IsConnected property must reflect the connected state on completion.
+
+
+
+
+ Perform any additional work to shut down the connection.
+
+
+
+
+ Shut down the link. Call the Disconnected handler if the notifyDisconnect
+ flag is set. In general, any time the disconnect is called autonomously,
+ the notifyDisconnect should be true.
+
+
+
+
+
+ Sends a serial command and waits a specified timespan for a response.
+
+
+
+ Response from command
+ No response is received after sending command within the time
+ specified by the timeout parameter.
+
+
+
+ Sends a serial command without waiting for a response.
+
+
+
+
+
+ Sends an array of bytes.
+
+ Array containing bytes to send
+ Index into rawBytes of first byte to send
+ Number of bytes to send
+
+
+
+ Subclasses may call this method when a data reception event occurs.
+
+
+
+
+ Perform any additional connect work required to allow Read/Write operations.
+ The IsConnected property must reflect the connected state on completion.
+
+
+
+
+ Perform any additional work to shut down the connection.
+
+
+
+
+ Shut down the link. Call the Disconnected handler if the notifyDisconnect
+ flag is set. In general, any time the disconnect is called autonomously,
+ the notifyDisconnect should be true.
+
+
+
+
+
+ Sends a serial command and waits a specified timespan for a response.
+
+
+
+ Response from command
+ No response is received after sending command within the time
+ specified by the timeout parameter.
+
+
+
+ Sends a serial command without waiting for a response.
+
+
+
+
+
+ Subclasses may call this method when a data reception event occurs.
+
+
+
+
+ A port that can read and write SIRT Serial messages via a SerialPort.
+
+
+
+
+ The relevant specification for the AutoGun is UI-1281 (Revision 01 at the time this code was written)
+
+
+ Here are some excerpts from UI1281 that are important to the operation of the AutoGun.
+
+ ID Key:
+ The ID key allows a unique AR4000 to communicate to a unique AutoGun.
+ During the linking process, explained in the command section under request key,
+ the AR4000 takes the string of the three byte AR4000 ID and the string of six byte
+ AutoGun serial number and complies a two byte key using the CRC-16 algorithm.
+ The AutoRead software on the utility’s computer programs the AR4000 ID.
+ The AutoGun serial number is programmed at the factory. A Key ID of 0x0000 is
+ reserved for broadcast all commands. Broadcast all commands are used to send
+ message to all devices listing.
+ Note broadcast all commands are not acknowledged by receiving devices.
+
+ History Bit:
+ A history/retransmit bit (bit 0) is needed to prevent packets from being skipped
+ or processed twice. The history bit is relative to the device sending the packet.
+ The history bit of a sent packet is the opposite of the history bit of the last
+ packet sent, if the first packet sent had a history bit of zero then the second
+ packet sent would have a history bit of one. The receiving device must store the
+ received history bit in order to determine if the next packet received was previously
+ processed. If the packet was processed previously then the packet is ignored but an
+ acknowledge must be sent. There are several other special occasions that occur with
+ the history bit. The history bit is always reset to zero when the AutoGun sends a
+ request key packet and the history bit is always reset to zero when the AR4000 receives
+ the request key packet. Acknowledge packets have the same history bit as the packet
+ that is being acknowledged. If a sent packet is not acknowledge, and the packet is
+ retransmitted, then the history bit is the same as the previous packet. Therefore the
+ history bit is toggled on the receipt of an acknowledge packet. The hello packet is an
+ extension of a retransmitted packet; therefore the history bit is the same as the
+ previous packet.
+
+
+
+
+ Start the process of listening for touch reads.
+
+
+ If any 'invalid' reads are found, Ack/clear them immediately.
+ If any 'valid' reads are found, ignore, but remember for later.
+ This is non-blocking.
+ This method should be paired with ClearAutoAckInvalidTouchReads
+ (ideally with a try-finally).
+
+
+
+
+ Stop the process of listening for touch reads.
+
+
+ This method should be paired with InitAutoAckInvalidTouchReads
+ (ideally with a try-finally).
+
+
+
+
+ Listen for, and Ack/clear, all 'invalid' touch reads.
+
+
+ If any 'valid' reads are encountered, throw an Exception.
+ This will block until complete.
+ This should only ever be called after a call to InitAutoAckInvalidTouchReads
+ and before a call to ClearAutoAckInvalidTouchReads.
+
+
+
+
+ The process by which an AutoGun is linked to a handheld device.
+
+
+ See "0x02, Request/Send Key" in UI1281
+ -- reprinted here --
+ This command is used to link the handheld and AutoGun for communications.
+ The AutoGun will initiate this command using a broadcast all key to send
+ a request key packet with the AutoGun’s serial number as the data. The AutoGun’s
+ serial number is 6 hexadecimal bytes in length. A handheld in the proper mode will
+ respond by using a broadcast all key to send a send key packet with the new 2 byte
+ Key as the data. The handheld must receive an ACK for the send key packet before the
+ link is properly established.
+
+
+
+
+
+
+ The SendWhole commands result in two replies from the buddy box.
+ This semaphore is used by seriaStream to signal when they've been received.
+
+
+ The serialStream's MessageReceived handler calls Up() on this semaphore when a
+ send whole is acknowledged.
+ The transmit methods Clear() this semaphore before sending the send whole command
+ to the buddy box. After sending the send whole command, the transmit methods
+ block until they can Down() this semaphore twice: once for each send whole ACK.
+
+
+
+
+ Use for communicating with a CommandLink (previously known as PHIT) via its serial protocol.
+ Most users should use only the methods and properties defined on the ICommunicationDevice
+ interface.
+
+
+
+
+ On Android after ~5 seconds of Bluetooth Classic inactivity the Bluetooth API seems to go
+ into a low power state and the next write to the Bluetooth port takes longer
+ to process than normal (~400ms).
+ This causes us to miss the LAT window for "at range" commands. For "at range" command
+ the endpoint broadcasts an ACK every 5 seconds, 250ms later the endpoint turns on its
+ receiver for 500ms. We must send the command in that 500ms window.
+ To prevent Android from going into this low power state we prompt the CommandLink
+ for its version number every ~3s in between the 5s ACK from the endpoint.
+
+
+
+
+
+ Retrieve the version information from the CommandLink and verify that it was received.
+
+ true if the refresh was successful otherwise false
+
+
+
+ WARNING: The CommandLink discards the outer envelope, including the message address, and substitutes it's own!!!
+
+
+
+
+
+
+
+
+
+ WARNING: The CommandLink discards the outer envelope, including the message address, and substitutes it's own!!!
+
+
+
+
+
+
+ CC1020 registers used while listening.
+
+
+
+
+ CC1020 registers used during transmit.
+
+
+
+
+ CC1020 registers used during tone
+
+
+
+
+ A way for RefreshVersionInformation to know if it was successful.
+
+
+
+
+ Constructs a new CommandLink proxy object on the serial port specified.
+
+
+ After constructing a new CommandLink object, use Connect() and Disconnect()
+ to open and close the serial port.
+
+
+
+
+ Converts a power level in dBm to the CC1020 PA_POWER register value that produces
+ the power level closest without going over.
+
+
+
+
+
+
+ dBms of conducted power output for each PA_POWER setting listed in the powerRegisters array.
+
+
+
+
+ PA_POWER value for each dBm output listed in the dBms array.
+
+
+
+
+ Gets a BackgroundWorker that can update the firmware in this CL.
+ The parameter to the RunWorker() methods should be a FirmwareImage containing
+ the image to load onto the CL.
+
+
+ BackgroundWorker supporting cancellation and progress reporting that
+ will firmware upgrade the CL. The userstate in the progress events is a string
+ indicating what phase of the upgrade is currently being performed.
+
+
+
+ @name CommandLink Protocol Methods
+ Methods in this group map to CommandLink commands.
+ Most users will not use these, but will instead use the
+ methods in the ICommunicationDevice interface.
+
+
+
+ Sends an "Open Port" command to the CommandLink.
+
+ If you are wanting to open the COM port, use Connect().
+
+
+
+
+
+ Sends a "Close Port" command to the CommandLink.
+
+ If you want to close the COM port, use Disconnect().
+
+
+
+
+ Inserts a Send Whole command into the CommandLink's script buffer.
+
+
+ FlexNet channel to be contained in the SendWhole
+
+
+
+ Inserts a NA2W Send Whole command into the CommandLink's scripting buffer.
+
+
+ FlexNet channel contained in the NA2WSendWhole
+
+
+
+ Causes the CommandLink to emit a NA2W interrogation tone for the amount of time specified.
+
+
+ Implemented by sending a RFCardTxTest command to the CommandLink,
+ pattern of 0xAA (which CommandLink FW 1.4+ interprets as the PRS bit pattern)
+
+ The PRS pattern tone is the one sometimes referred to as "alternate WB/DB Tone,"
+ which is actually the standard NA2W interrogation tone.
+
+ amount of time to emit tone for, in milliseconds.
+
+
+
+ Sends a Close Port command to the CommandLink address specified.
+ Note: This does not close the serial port. This is a CommandLink-specific command.
+
+ address of CommandLink port to close.
+
+
+
+ Sends an OpenPort to the CommandLink using the CC1020 parameters used for the last Rx method call.
+
+
+
+
+ Sends a "Listen" command to the CommandLink over the FlexNet port in scripted mode.
+
+ Goto this 'mark' when msg received (0xFF means goto next command).
+
+
+
+
+
+ Sends a "Listen" command to the CommandLink over the FlexNet port in scripted mode.
+
+ Goto this 'mark' when msg received (0xFF means goto next command).
+
+
+ Wait for this many messages to be received (0x00 means return all until timeout or stop)
+ Wait this many milliseconds (0x00 means forever)
+
+
+
+ Sends a "Listen" command to the CommandLink over the FlexNet port in scripted mode.
+
+ Goto this 'mark' when msg received (0xFF means goto next command).
+
+
+ Wait for this many messages to be received (0x00 means return all until timeout or stop)
+ Wait this many milliseconds (0x00 means forever)
+
+
+
+
+
+
+ Sends an "End Script" command to the CommandLink.
+
+
+
+
+ Begins execution of the script that has been sent to the CommandLink.
+ Note: Blocks until all Acks have been received for the commands in this script
+
+
+
+
+ Sends a scripted "Delay" command to the CommandLink.
+
+ Amount of time the CommandLink should wait before continuing
+ on to the next instruction. Milliseconds.
+
+
+
+ Halts execution of a script until the CommandLink's clock reaches the time
+ specified.
+
+ CommandLink clock time to continue script execution. Milliseconds.
+
+
+
+ Verifies that the ACKs received from the CommandLink are all affirmative and are
+ the ones expected.
+
+ amount of time to wait for entire validation to occur before giving up
+ if the wrong ack was encountered, or if a command was NAK'ed
+
+
+
+ Verifies that the ACKs received from the CommandLink are all affirmative and are
+ the ones expected.
+
+ amount of time to wait for entire validation to occur before giving up
+ if the wrong ack was encountered, or if a command was NAK'ed
+
+
+
+ Sets the FREQ_[012][AB] registers to Tx/Rx on a specified FlexNet radio channel.
+
+
+
+
+ Indicates the frequency range an FMT can communicate.
+
+
+
+
+ Standard North America
+
+
+
+
+ Arqiva/UK
+
+
+
+
+ West Virginia RF quiet zone
+
+
+
+
+ Operating frequency as specified in the FMTStatusRequestReply serial message.
+
+
+
+
+ Arqiva/UK
+
+
+
+
+ West Virginia RF quiet zone
+
+
+
+
+ Converts the operating frequency from a status request reply to one used by consumers of the FlexNetMicroTransceiver class.
+
+
+
+
+
+
+ Interface to the device known as FlexNet Microtransceiver, FMT, or ThumbBuddy.
+
+
+
+
+ Gets a serial port instance whose communication parameters are appropriate for FMT devices.
+
+
+
+ a SerialPort configured for 9600-8-N-1, the standard FMT settings.
+
+
+
+ Constructs an FMT on the COM port with the supplied name with the communcation parameters set by GetConfiguredSerialPort(),
+ the standard for an FMT.
+
+
+
+
+
+
+ Constructs an FMT on the COM port with no default baudrate set. When Connect() is called,
+ this will go through all of the supported FMT baud rates (115200, 9600) in an attempt to
+ connect automatically.
+
+
+
+
+
+ Constructs a new FMT using a pre-initialized SerialPort for connection.
+ Note that calling Disconnect() or Dispose() on the instance will result in Close() being called
+ on this underlying SerialPort.
+
+
+
+
+
+ The SendWhole commands result in two replies from the buddy box.
+ This semaphore is used by serialStream to signal when they've been received.
+
+
+ The serialStream's MessageReceived handler calls Up() on this semaphore when a
+ send whole is acknowledged.
+ The transmit methods Clear() this semaphore before sending the send whole command
+ to the buddy box. After sending the send whole command, the transmit methods
+ block until they can Down() this semaphore twice: once for each send whole ACK.
+
+
+
+
+ Initializes this instance based on information in the actual FMT
+ we're connected to. serialStream must be connected before this method
+ is invoked.
+
+
+
+
+ Gets a BackgroundWorker that can update the firmware in this FMT.
+
+
+ BackgroundWorker supporting cancellation and progress reporting that
+ will firmware upgrade the FMT. The userstate in the progress events is a string
+ indicating what phase of the upgrade is currently being performed.
+
+
+
+
+ Sets the transmit power of the FMT. Will send the ThumbBuddyModeCommand again only if
+ the new powerLevel is different than the previous one.
+
+
+
+
+
+ How long does it take to actually get a command transmitted out over the air?
+
+
+
+
+ dBms of conducted power output for each power setting listed in the powerLevels array.
+
+
+
+
+ register value for each dBm output listed in the dBms array.
+
+
+
+
+ Convert power in dBm to the register value for the various Tx commands.
+
+
+
+
+
+
+ Convert power reg from the various Tx command to dBm.
+
+
+
+
+ Converts a TxStyle to the corresponding TransmitterMode.
+ MPass5k and MPass10k are the only TxStyles this method recognizes.
+
+
+
+
+
+
+ Tracks whether the FMT is currently listening or not.
+
+
+
+
+ Use for FNv1
+
+
+
+
+
+
+
+ Use for FNv2
+
+
+
+
+
+
+
+
+ FNv2
+
+
+
+
+
+
+
+ Interface implemented by devices that are plugged into the PC/HHD.
+
+
+
+
+ Starts communication with the physical communication device.
+ Opens any ports and streams that may be necessary.
+
+
+
+
+ Stops communication with the physical communication device.
+ Closes any ports that may have been opened with Connect().
+
+
+
+
+ Name of this device type for UI purposes
+
+
+
+
+ Event is fired any time the Device becomes disconnected,
+ whether in response to an explicit Disconnect() call
+ or in response to a physical disconnection.
+
+
+
+
+ Gets a DoWorkEventHandler that calls an IDevice's Connect() method
+ after reporting a progress of (-1, "Connecting...");
+
+
+
+
+
+
+
+ Transmit power levels of a VGB. From weakest to strongest:
+ Whisper, Quiet, Loud, Shout.
+
+
+
+
+ Constructs a new VGB using the specified COM ports.
+
+ Be sure to note the order of the port names:
+ CPC1 enumerates before CPC0. That is, CPC1 will have a port number smaller than CPC0.
+
+
+ Serial port assigned to CPC0. Note that CPC0 enumerates after CPC1.
+ Serial port assigned to CPC1. Note that CPC1 enumerates before CPC0.
+
+
+
+
+ Converts a TxStyle to the corresponding TransmitterMode.
+ MPass5k and MPass10k are the only TxStyles this method recognizes.
+
+
+
+
+
+
+ Allows sending FlexNet serial commands over a UI1236 device.
+
+
+
+
+
+
+
+ Ignored, communication device-dependent
+
+
+
+
+ A port that can read and write FlexNet Serial messages via a SerialPort.
+
+
+
+
+ Returns underlying port baud rate in bits-per-second or null if port is null.
+
+
+
+
+ Specifies a message that should be written to the logs if facility and priorities match.
+
+
+
+
+
+
+ describes the source of the message
+ severity level of the message
+ time of the event producing this log message
+ the ID of the thread creating this log message
+ a String.Format() format string specifying the log message
+
+ arguments passed to string.Format() when/if the message is written to a log.
+ If an argument is a Lazy string, it will be evaluated before passing the result to String.Format for
+ logging.
+
+
+
+
+ An implementation of a semaphore which can be used with both
+ the full .NET and the Compact Framework. Uses traditional
+ Up (signal)/Down (acknowledge) operations.
+
+ Imagine an "Up" being someone raising a flag to signal a condition is true.
+ And "Down" is the act of forcing that flag down to indicate the condition
+ has been acknowledged.
+
+ The semaphore does not count below zero. A zero is non-signaled.
+
+
+ On the full .NET this is just a fascade around System.Threading.Semaphore.
+ On Compact Framework, it is implemented as calls to the WinCE semaphore primitives.
+
+
+
+
+ Signal. Increments the count, which unblocks threads blocking on a Down() call.
+ Equivalent to System.Threading.Semaphore.Release().
+
+
+
+
+ Blocks until the semaphore has been signaled (Up()'ed), then decrements the semaphore.
+ Equivalent to System.Threading.Semaphore.WaitOne().
+
+
+
+
+ Blocks until this semaphore has been signaled (Up()'ed) for up to a specified amount of time
+ and decrements the semaphore's count before returning.
+
+ How long to wait before giving up
+ true if the semaphore was successfully decremented before timeout.
+
+
+
+ Blocks until the semaphore has been zero'ed.
+ This method repeatedly calls TryDown() until it no longer blocks. In other words,
+ another thread may be able to Down() the semaphore while this method is executing.
+
+
+
+
+ Class to ensure that all Bluetooth related operation occur on the same thread.
+ This is necessary for the InTheHand library to function correctly on the
+ WindowsMobile targets when more than 1 BT device is open and connected.
+ The class uses a ConsecutiveWorker instance to funnel all requests through
+ the same thread.
+ BTManager is a singleton, but multiple references can be made to the instance.
+ BTManager automatically calls its own Start method when the instance is
+ created. Users should call the Stop method to clear resources when done,
+ however, the Dispose mechanism will ensure that Stop is called before
+ destruction.
+
+
+ BTManager maintains a list of the allocated clients internally. When the
+ Stop method is called, all clients are closed and disposed and the list
+ is cleared. Any references to clients that are held external to BTManager
+ will throw ObjectDisposed if accessed after Stop.
+
+ Usage:
+ 1. AllocateClient must be called to obtain BluetoothClient instances for
+ use in the other methods. Use ReleaseClient to free the client when done.
+ 2. Many of the methods have a Sync and Async variant. When
+ calling the Async variant a callback can be specified if notification
+ of the method completion is needed.
+
+
+
+
+ Internal list of allocated clients. Each client is Closed and Disposed
+ when the ReleaseClient method or the Stop method is called.
+
+
+
+
+ The singleton instance. Creating the instance is done on the first
+ reference to Instance and is done in a thread-safe manner. Start()
+ is called when the instance is created.
+
+
+
+
+ Private constructor for the Singleton Instance
+
+
+
+
+ Destructor - Simply calls Dispose.
+
+
+
+
+ Stop the manager and free all resources.
+
+
+
+
+
+ True when the ConsecutiveWorker is running
+
+
+
+
+ Starts the ConsecutiveWorker object if it isn't already started.
+
+
+
+
+ Stops the ConsecutiveWorker and releases all clients.
+
+
+
+
+ Allocates a BluetoothClient object on the worker thread.
+ Use ReleaseClient to free the client when done.
+
+
+
+
+
+ Closes and disposes of a BluetoothClient instance.
+
+
+
+
+
+ Helper function to process RunWorkerCompletedEventArgs and cast the
+ Result object to the type expected in the complete Action.
+
+
+
+
+
+
+
+ Issues the DiscoverDevices method on the BluetoothClient class.
+ The arguments and return values are the same as DiscoverDevices.
+
+
+
+
+
+
+ BluetoothDeviceInfo[]
+
+
+
+ Issues the DiscoverDevices method on the BluetoothClient class.
+ The arguments and return values are the same as DiscoverDevices.
+ This call is asynchronous.
+
+
+
+
+
+
+
+
+
+
+ For a given device name, return the corresponding BluetoothDevieInfo object.
+
+
+
+
+
+
+
+ Open a connection to the supplied device name using the supplied client.
+
+
+
+
+
+
+
+ Open a connection to the supplied device name using the supplied client.
+ This call is asynchronous.
+
+
+
+
+
+
+
+
+ Perform the actual connection.
+ Get BluetoothDeviceInformation, get the service records, determine the correct port number,
+ create a new BluetoothEndPoint, open a connection.
+
+
+
+
+
+
+
+ Get service records for the supplied BluetoothDeviceInfo
+
+
+
+
+
+
+ Make a connection to the device and port using the supplied client.
+
+
+
+
+
+
+
+ Close the client connection
+
+
+
+
+
+ The Windows 7/8/10 implementation of IGPSDevice.
+
+
+
+
+ The GPS timestamp.
+
+
+
+
+ How old is this fix?
+
+
+
+
+ Some handy converters.
+
+
+
+
+ Extract the timestamp from the location, calculate age, and convert to a TimeSpan.
+
+
+
+
+
+
+ Extract the GPS time from the location and convert to DateTime.
+
+
+
+
+
+
+ Determine whether or not this device has a camera.
+
+
+
+
+ Get a unique ID for this device.
+
+
+
+
+
+ Does this device have a panther card?
+
+
+
+
+ What port is the panther card on?
+
+
+ thrown if device doesn't have a panther card.
+
+
+
+ The user-chosen machine name (e.g. MOC-L-DUBS)
+
+
+
+
+
+ Called once at startup to set the certificate policy handler.
+
+
+ Usage Example: CertificatePolicy.InstallPolicy(new TrustAllCertificatePolicy());
+
+
+
+
+
+ The base implementation trusts no certificates.
+
+
+
+
+ This implementation unconditionally trusts all certificates.
+
+
+
+
+ Helper class for HTTP transactions.
+
+
+
+
+ Perform any static initialization.
+ Install the "Trust All" certificate policy.
+
+
+
+
+ Install the supplied certificate policy and enable TLS 1.2 support.
+
+
+
+
+
+ Perform a text-UTF8 GET from the provided host specification.
+
+
+
+
+
+
+
+ Perform a GET from the provided host specification, expecting the supplied content type.
+
+
+
+
+
+
+
+
+ Perform a POST to the supplied host specification, using the supplied content type, and data.
+
+
+
+
+
+
+
+
+ Perform a POST to the supplied host specification, using the supplied content type, authorization, and data.
+
+
+ We always encode the data in UTF-8. It is a TODO to encode differently.
+
+
+
+
+
+
+
+
+
+ Prepend http:// to a host specification if it doesn't already have
+ either http:// or https://
+
+
+
+
+
+
+ Returns a NetworkInterface that is operational, not loopback or tunnel, and not an active sync connection.
+
+
+
+
+
+ Indicates whether any network connection is available
+
+
+ true if a network connection is available; otherwise, false.
+
+
+
+
+ Indicates whether any network connection is available.
+ Filter connections below a specified speed, as well as virtual network cards.
+
+
+ The minimum speed required in bits per second.
+ Passing 0 will not filter connection using speed.
+
+
+ true if a network connection is available; otherwise, false.
+
+
+
+
+ Parse the provided baseaddress into a hostname and port.
+
+
+ Examples:
+ baseaddress | hostname | port
+ mocl42kqm12.na.sensus.net:8000 | mocl42kqm12.na.sensus.net | 8000
+ mocl12kqm42:8000 | mocl12kqm42 | 8000
+ http://www.sensus.com | www.sensus.com | 80
+ eatmyshorts | eatmyshorts | 80
+
+
+
+
+
+
+
+ Parse the provided baseaddress into a hostname, suffix, and port.
+
+
+ Examples:
+ baseaddress | hostname | suffix | port
+ mocl42kqm12.na.sensus.net:8000 | mocl42kqm12 | na.sensus.net | 8000
+ mocl12kqm42:8000 | mocl12kqm42 | | 8000
+ http://www.sensus.com | www | sensus.com | 80
+ eatmyshorts | eatmyshorts | | 80
+ 192.168.0.100:467 | 192.168.0.100 | | 467
+ https://www.google.com | www | google.com | 443
+
+
+
+
+
+
+
+
+ Assemble a base address from a hostname, suffix, and port.
+
+
+ Examples:
+ hostname | suffix | port | Return |
+ mocl42kqm12 | na.sensus.net | 8000 | mocl42kqm12.na.sensus.net:8000 |
+ mocl12kqm42 | | 8000 | mocl12kqm42:8000 |
+ www.sensus.com | | 80 | www.sensus.com:80 |
+
+
+
+
+
+
+
+
+ Assemble a base address from a hostname, suffix, and port.
+
+
+ Examples:
+ hostname | suffix | port | Return |
+ mocl42kqm12 | na.sensus.net | 8000 | mocl42kqm12.na.sensus.net:8000 |
+ mocl12kqm42 | | 8000 | mocl12kqm42:8000 |
+ www.sensus.com | | 80 | www.sensus.com:80 |
+
+
+
+
+
+
+
+
+ Try to get the Domain Name from Network Information.
+ Returns the empty string if no domain can be found.
+
+
+
+
+ Try to get the DNS Suffix from Network Information.
+ Returns the empty string if no suffix can be found.
+
+
+
+
+ If more helpers are needed, then move this to its own file and rename it to something appropriate.
+
+
+
+
+ Type of an individual module (pixel) of a QR symbol.
+
+
+
+
+ QR encoding modes
+
+
+
+
+ QR symbol types
+
+
+
+
+ QR error correction modes
+
+
+
+
+ Helpers functions for BitArrays
+
+
+
+
+ A QR symbol
+
+
+
+
+ Create a QR symbol that represents the supplied `data'.
+
+
+
+
+
+ Create a QR symbol that represents the supplied `data' with the indicated minimum level of error correction.
+
+
+
+
+
+
+ Create a QR symbol that represents the supplied `data' with the indicated minimum level of error correction.
+
+
+
+
+ Type of QR symbol (normal or micro)
+
+
+
+
+ Version of QR symbol (1-5 or 1-40, depending on type)
+
+
+
+
+ Level of error correction in this symbol
+
+
+
+
+ A textual description of a QR code's metadata
+
+
+
+
+ Save the QR code as an image at the following scale.
+
+ Path of image file to create.
+ Size of a module, in pixels.
+
+
+
+ Generate a bitmap of this QR code at the following scale.
+
+
+
+
+
+
+ Render this bitmap to the supplied Graphics object at the indicated scale.
+
+
+
+
+
+
+
+ Choose suitable values for Type, Version, ErrorCorrection and Mode.
+
+
+
+
+
+
+
+
+ Encode the data in the following mode, pad, and return final code words.
+
+ The data to encode.
+
+ The fully-encoded data.
+
+
+
+ Generate error correction words and interleave with code words.
+
+
+
+
+
+
+ Perform the following steps
+ - Draw finder patterns
+ - Draw alignment patterns
+ - Draw timing lines
+ - Reserve space for version and format information
+ - Mark remaining space as "free" for data
+
+
+
+
+ Populate the "free" modules with data.
+
+
+
+
+
+ Identify and apply the best mask
+
+
+
+
+
+ Write the format information (version and mask id)
+
+
+
+
+
+ Write the version information
+
+
+
+
+ Executes the supplied command with arguments, waiting for the process to exit and returning standard output.
+
+ The command to run (filename)
+ Any arguments, or string.Empty if none.
+ The standard output from the command execution.
+ Process.Start()
+ Process.Start(), Process.WaitForExit()
+ Process.Start()
+ Process.StandardOutput.ReadToEnd()
+ Process.StandardOutput.ReadToEnd()
+ Process.WaitForExit()
+
+
+
+ Executes the supplied commandline in elevated mode using the cmd.exe processor and waiting for the process to exit.
+
+ The command to run with any arguments
+ Process.Start()
+ Process.Start(), Process.WaitForExit()
+ Process.Start()
+ Process.WaitForExit()
+
+
+
+ Counts the number of bits set in a ulong.
+
+ Based on popcount algorithm for calculating hamming weight.
+ Reference: http://en.wikipedia.org/wiki/Popcount
+
+
+
+
+
+
+ Creates a DbCommand, setting its Transaction and Connection properties.
+
+
+
+
+
+
+
+ Creates a DbCommand for a specified connection.
+
+
+
+
+
+
+
+ Adds a parameter to a DbCommand.
+
+
+
+
+
+
+
+
+ Uses System.Diagnostics.Stopwatch to give a DateTime more precise, but less accurate than DateTime.Now.
+
+
+
+
+ A default implementation of Microsoft's IAsyncResult interface for use with the
+ .NET Asynchronous Pattern.
+
+
+
+
+ Constructor: creates a WaitHandle and initializes default values for properties.
+
+
+ Don't forget to call Dispose when you're done.
+
+ method called when Async operation is completed or cancelled
+ value exposed in AsyncState property
+
+
+
+ Release any managed or unmanaged resources.
+
+
+
+
+ Close the allocated WaitHandle if disposing is true.
+
+
+
+
+
+ The supplied state in the Constructor
+
+
+
+
+ A WaitHandle that will be set when the Async operation is completed or cancelled.
+
+
+
+
+ Returns true when complete or cancelled
+
+
+
+
+ Returns true when cancelled
+
+
+
+
+ The reason for cancel or empty string if no reason was given.
+
+
+
+
+ Always returns false
+
+
+
+
+ Request a cancellation
+
+
+
+
+ Request a cancellation with the supplied reason
+
+
+
+
+
+ Complete the Async operation
+
+
+
+
+ If not already complete, will set the IsCanceled property, set the WaitHandle, and call the callback method.
+
+
+
+
+
+ Runs a BackgroundWorker, passing null as its argument, and waits for it to complete.
+ If the worker completes with an error, this function will throw that exception.
+
+
+ worker's result, if it is not an Exception.
+
+
+
+ Runs a BackgroundWorker and waits for it to complete.
+ If the worker completes with an error, this function will throw that exception.
+
+
+
+ worker's result, if it is not an Exception.
+
+
+
+ A FIFO queue that blocks on dequeue until something is available. That is,
+ one thread can be be blocking on a Dequeue() operation to complete until
+ another thread Enqueues() an item.
+
+
+
+
+ Firmware [NA2W Flash Device]
+
+
+
+
+ Device Type.
+
+
+
+
+ Number Of Non-Null Segments.
+
+
+
+
+ Time To Switch.
+
+
+
+
+ CBC96
+
+
+
+
+ Instantiating base with a 0 size in order to facilitate self-sizing. 0 will cause
+ the Envelope class to initially provide the entire data set as the header.
+
+
+
+
+ Method is called by the envelope class to allow the message to self-size.
+ On this call, header will be the contents of the entire message.
+
+
+ Actual/desired header size
+
+
+
+ Creates Gen2Ft1ReceiverData class from bytes
+
+
+
+
+
+
+
+
+ Parses the payload (called from within Parse() call above)
+
+
+
+
+
+
+
+ AppCode is always the last byte in the header but FNv2 allows variable length
+ headers. AppCodeOffset is intended to account for this and be correct. The byte
+ after this always begins the final payload.
+
+
+
+
+ NOTE: Because there is not yet a use-case for parsing Command messages
+ from FieldLogic, this method will not likely be called. Initialize()
+ is called from Envelope.cs in order to support variable length messages.
+ UPDATE: The use-case for this is Grok
+
+
+
+
+
+
+ AppCodeOffset is always the last byte in the header but FNv2 allows variable length
+ headers. AppCodeOffset is intended to account for this and be correct. The byte
+ after this always begins the final payload.
+
+
+
+
+ Example 3-byte extended header for type "1". Replace this with real header when
+ spec'd.
+
+
+
+
+ Example 4-byte extended header for type "2". Replace this with real header when
+ spec'd.
+
+
+
+
+ Extended headers must inherit this and have an ExtendedHeaderAttribute set.
+ (See SampleExtendedHeader1 and SampleExtendedHeader2 for examples.)
+ 'Data' will contain the extended data for the header.
+ There can be multiple extended headers (chained via 'AdditionalExtensionFollows').
+
+
+
+
+ Uplink Conditions:
+ (1) No Fragmentation Header and Not First ACK
+ (2) No Fragmentation Header and First ACK
+ [x] (3) Fragmentation Header and Not First ACK
+ (!) (4) Fragmentation Header and First ACK
+
+ Downlink Conditions:
+ (1) No Fragmentation Header
+ [x] (2) Fragmentation Header
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Uplink Conditions:
+ (1) No Fragmentation Header and Not First ACK
+ [x] (2) No Fragmentation Header and First ACK
+ (3) Fragmentation Header and Not First ACK
+ (!) (4) Fragmentation Header and First ACK
+
+ Downlink Conditions:
+ (1) No Fragmentation Header
+ (2) Fragmentation Header
+
+
+
+
+ NOTE: A critical distinction must be made between Length and Size:
+
+ * Length (inherited from Envelope) =
+ Header + Payload + Footer (which is the Signature if present)
+
+ * Size =
+ Header + Payload + Padding + Footer (which is the Signature if present)
+
+ Size represents the actual size of the entire MacPayload; whereas,
+ Length does not include padding. All serialization is overridden here
+ to use Size instead of Length (e.g. Bake() and ToBytes() will produce
+ expected results).
+
+ Uplink Conditions:
+ [x] (1) No Fragmentation Header and Not First ACK
+ (2) No Fragmentation Header and First ACK
+ (3) Fragmentation Header and Not First ACK
+ (!) (4) Fragmentation Header and First ACK
+
+ Downlink Conditions:
+ [x] (1) No Fragmentation Header
+ (2) Fragmentation Header
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+
+
+
+ Called by Envelope class to set the Payload
+
+
+
+
+
+
+
+ This should be called prior to any serialization of this object
+ to ensure that dynamic objects and attributes will be part of
+ the serialized stream and that any other dependent attributes
+ will be initialized properly.
+
+
+
+
+ This will return true if:
+
+ 1. Backing buffer does not yet have a padding byte
+ but it will be required.
+
+ This will return false if:
+
+ 1. No padding byte is required OR
+ 2. Padding byte is required but backing buffer
+ already includes it (at which point there
+ is no way to know if there is a padding byte -
+ refer to previous point).
+
+ Length to base calculation on or null to use object's length
+
+
+
+
+ Calculates the length of the MAC payload excluding all of the bytes up to and including
+ where the length (SpecifiedLength) is stored in the header.
+
+
+
+
+
+ Serialization will include the 1 byte of padding if
+ necessary.
+
+
+
+
+
+ Given a T9 FlexNet frame and its offset,
+ this will return the total length of the T9
+ frame from SyncWord to CRC32 inclusive.
+
+
+
+
+
+
+
+ If multiple frames are given, they should all be of the same type.
+
+
+
+
+
+ Returns FT9_FRAME_STATUS.VALID if the data given is highly likely to be a valid T9FlexNetFrame.
+
+
+
+
+
+
+
+
+
+
+ Maps the given buffer and offset to a FlexNetFrame.
+
+ This method is intended for "parsing in place" - no allocations
+ or copying occurs during this operation for the FT9 frame (the frame
+ will be bound to the original memory location). The payloads will be
+ parsed the usual and not necessarily be mapped to this given
+ memory location.
+
+ NOTE: If Bake() is called or any other method that reallocates the
+ backing buffer (such as adding/removing PWNs, etc.), the
+ mapping will be lost (the frame will no longer be bound
+ to the buffer that was passed into this call).
+
+
+
+
+
+
+
+
+
+
+ Called by Envelope/BackedHeaders class as part of the parsing process.
+
+
+
+
+
+
+ This should be called prior to any serialization of this object
+ to ensure that dynamic objects and attributes will be part of
+ the serialized stream and that any other dependent attributes
+ will be initialized properly.
+
+
+
+
+ If the frame consists of a single Standard MAC Payload,
+ this method will break it into multiple fragments where
+ its frame is no larger than the given frame size.
+
+
+
+
+
+
+ This method is will attempt to combine fragmented frames into a single, well-formed frame.
+
+
+
+
+
+
+ Used internally for when decryption fails in order to try the adjacent epoch time
+ slots (when recursive_call is true).
+
+
+
+
+
+
+
+ Used for reading or writing parameters
+
+
+
+
+ Parameter base class. Parameters must:
+ (1) inherit from this class
+ (2) have NA2WParameterAttribute
+ (3) instantiate this class with a size of the parameter plus _ParmHeaderSize
+ (4) parameter specific data begins at Offset + 2
+ (5a) Have a static self Parse(byte[] buffer, UIn32 offset) method *OR*
+ (5b) Have a constructor Self(Func..., Func...)
+
+ This class is also the stand-in if the parameter is unknown.
+
+
+
+
+ Easy to use this for simple generic types like integers.
+ NOTE:
+ When using enums whose underlying type is not the correct width (default is UInt32),
+ be sure to use the constructor here that takes 'size' to override
+ the default calculation for ParameterLength.
+
+
+
+
+
+ Valve State
+
+ [x] Read
+ [x] Write
+
+
+
+
+ Valve State
+
+ [x] Read
+ [x] Write
+
+
+
+
+ Valve ADC Value
+ Valve instantaneous ADC value
+
+ [x] Read
+ [ ] Write
+
+
+
+
+ Valve Duration
+ Duration of the last valve rotation in ticks. 1 tick = 32768Hz
+
+ [x] Read
+ [ ] Write
+
+
+
+
+ Valve Max Stall ADC Value
+ Maximum ADC value recorded during the stall period of the last valve rotation.
+
+ [x] Read
+ [ ] Write
+
+
+
+
+ Valve Max Drive ADC Value
+ Maximum ADC value recorded during the drive period of the last valve rotation.
+
+ [x] Read
+ [ ] Write
+
+
+
+
+ Valve State
+
+ [x] Read
+ [x] Write
+
+
+
+
+ Instantiates the PWN manager using the default PWN creator/binder
+
+ Method that returns the backing buffer
+ Method that will replace the backing buffer
+
+
+
+ Instantiates the PWN header manager.
+
+ Method that returns the backing buffer
+ Method that will replace the backing buffer
+ Method that will bind a PWN to the backing buffer at a given offset
+
+
+
+ This method is called when a PWN of the given type needs to be mapped (so that it refers
+ to) to the provided buffer at the provided offset. The newly mapped PWN will then be
+ stored in the PWN Manager's PWN list as the official PWN of this type.
+
+ PWN type
+ Pointer backing buffer
+ Offset in backing buffer that contains the PWN's data
+ Returns a pointer to a PWN (of the same type passed in) that refers to the actual buffer and offset
+
+
+
+ A "registered PWN" means that the PWN of the given type is allowed. This does
+ not mean that it is actually present. In order for PWNs to be
+ inserted and removed, they must be registered as allowable types.
+
+ Regardless as to whether or not the PWN is actually present, its
+ 'would-be' offset (offsetCalculator code) should always be accurate.
+ Calling the offsetCalculator should always point to where the PWN
+ IS or WOULD begin based on the current state of the backing buffer.
+
+
+ Provides real-time calculation of the offset where the PWN is or would be located
+ True indicates that the backing buffer contains this PWN at the offset
+ If the PWN is added or removed, this should update whatever needs to know this in the backing buffer
+
+
+
+ Same as above except this makes it easier just to chain the given PWN to the PWN right before it
+
+
+
+
+
+
+
+
+ Sets a PWN and updates the backing buffer accordingly.
+ NOTE: The type must have been previously registered.
+
+
+
+
+
+ Same as Set() but will return the version of the header
+ that is mapped to the backing buffer.
+
+
+
+
+
+
+
+ Removed a PWN appropriately by rebuilding the backing buffer
+ and calling methods that put the backing buffer in a state
+ so that it knows the PWN has been removed.
+
+
+
+
+
+ Same as above
+
+
+
+
+
+ Sets or removes a PWN and updates the backing buffer accordingly.
+ NOTE: The PWN type must have been previously registered.
+
+
+
+
+
+
+ Create PWN references based on the state of the rules of the data in the backing buffer.
+ This is intended to be called after the allowed PWN types have been registered
+ and incoming data is being parsed.
+
+
+
+
+ Default PWN mapper
+
+
+
+
+ CCM32 is ALWAYS the case for Uplink.
+
+
+
+
+ The destination ID is included for uplink messages to a sub-network or peer device. This is a 4-byte field that is defined as a 31-bit
+ sub-network ID (bits 30:0) when bit 31 is set. When bit 31 is cleared, this field is defined as the 28-bit FlexNet ID (bits 27:0) of a peer device.
+
+
+
+
+
+ Classes that inherit this class are usually intended to have their backing buffers
+ mapped to a specific memory location and offset. Due to the nature of this class
+ which uses callback methods to access the backing buffer and the offset,
+ if the buffer location changes, is reallocated, etc., the reference is not lost.
+
+ BackedHeaders classes also implement the required methods from the IFrame interface
+ which makes it easy to inherit from that interface if desired.
+
+ Care should be used when handling classes based on this class because, by the
+ nature that it tends to be bound to another memory location, any changes
+ made to members will have an affect on that memory. Likewise, the reverse
+ is also true. The best way to "unbind" this class from a pre-existing memory
+ location is to slimply use its CLone() method.
+
+ Note: Resize() will unbind this class from whatever memory and offset it
+ was previously bound to.
+
+
+
+
+ Creates a new type of T with its own copy of its part of the given buffer.
+
+ This will call the virtual Initialize() method passing in the length of the buffer.
+
+
+
+
+
+
+
+
+
+ Called from Parse. Buffer() will be the backing buffer (offset is 0) and
+ the length will be passed in as wholeMessageLength.
+
+
+
+
+
+
+ NOTE: Calling this will cause this instance to reference
+ a new memory location. This should not be called if this
+ instance was instantiated using a pre-existing memory location
+ that it referenced unless this is intended.
+
+
+
+
+
+ Either v1 OR v2 should be not null. If both are valid, v2 trumps v1.
+ Change the index to get different result set.
+
+ NOTE: FNv1 entries can only hold 1 or 2 entries
+
+
+
+
+ Wraps the app code and the entire app data region of a command. Used in commands that are defined
+ in terms of the full app data region such as the NA2WSendWhole command.
+
+
+
+
+ A reference to the buffer backing this data.
+
+
+
+
+ AS Extended Query Response when Sub Type is RegisterValues
+
+
+
+
+ Called by Envelope/BackedHeaders class as part of the parsing process.
+
+
+
+
+
+
+ Called by Envelope class as part of the parsing process.
+
+
+
+
+
+
+
+ MagLoop Leader (A sequence of 0xFF)
+
+
+
+
+ Represents a FlexNet serial command including sync byte, address, command data, and CRC16.
+ All fields of an instance may not contain the correct values until after the Bake() method has been called.
+
+ To construct a SerialCommandFrame solely from a byte array, use SerialCommandFrame.FromBytes(byte[],uint).
+
+
+
+
+
+
+
+
+ A FlexNet serial command payload. If you only have an array of bytes, use SerialCommand.Parse() to construct
+ an instance of SerialCommand rather than this constructor.
+
+
+
+
+ An alias for Parse().
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ CRC16 of everything from the sync byte through the last byte of payload. (Sync byte is included in CRC.)
+ Calling Bake() sets this property.
+
+
+
+
+ Firmware Block Load Extended (Serial)
+
+
+
+
+ Device Type.
+
+
+
+
+ Block Number 0.
+
+
+
+
+ Data 0.
+
+
+
+
+ Block Number 1.
+
+
+
+
+ Data 1.
+
+
+
+
+ Block Number 2.
+
+
+
+
+ Data 2.
+
+
+
+
+ Block Number 3.
+
+
+
+
+ Data 3.
+
+
+
+
+ Block Number 4.
+
+
+
+
+ Data 4.
+
+
+
+
+ Block Number 5.
+
+
+
+
+ Data 5.
+
+
+
+
+ Block Number 6.
+
+
+
+
+ Data 6.
+
+
+
+
+ Block Number 7.
+
+
+
+
+ Data 7.
+
+
+
+
+ Block Number 8.
+
+
+
+
+ Data 8.
+
+
+
+
+ Block Number 9.
+
+
+
+
+ Data 9.
+
+
+
+
+ Block Number 10.
+
+
+
+
+ Data 10.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Device Type
+
+
+
+
+ Seg 1 (24-bit) Address
+
+
+
+
+ Seg 1 (16-bit) Num Blocks
+
+
+
+
+ Seg 2 (24-bit) Address
+
+
+
+
+ Seg 2 (16-bit) Num Blocks
+
+
+
+
+ Seg 3 (24-bit) Address
+
+
+
+
+ Seg 3 (16-bit) Num Blocks
+
+
+
+
+ Seg 4 (24-bit) Address
+
+
+
+
+ Seg 4 (16-bit) Num Blocks
+
+
+
+
+ Seg 5 (24-bit) Address
+
+
+
+
+ Seg 5 (16-bit) Num Blocks
+
+
+
+
+ Seg 6 (24-bit) Address
+
+
+
+
+ Seg 6 (16-bit) Num Blocks
+
+
+
+
+ Serial message as specified in section 4.0.2 of the FCP.
+ That is, an instance of this class has SyncByte (byte 0), MessageAddress (byte 1), CommandCode (byte 2), PayloadLength (byte 3),
+ and CRC16 (bytes n+1 and n+2).
+
+ Even though the CommandCode is exposed in this class, if the Payload property is set, the CommandCode comes from it.
+
+ The DataStatus and Data fields are stored in the Payload property.
+ A basic reply with only data status has a Payload of type BasicSerialReply.
+
+ Use SerialMessage.Parse() to construct a serial message from a byte array.
+ If you only have the payload part of a serial message, parse it with SerialMessageData.Parse().
+
+
+
+
+
+
+
+ Use a BasicSerialReply if you are constructing a basic reply that only specifes ACK or NAK.
+
+
+
+
+
+
+ Command code being replied to. This is referred to as "Reply Type" in section 4.0.2 of the FCP.
+
+
+
+
+ Number of bytes in payload: that is region after length byte and up to, but not including the CRC16.
+
+
+
+
+ CRC16 of everything from the sync byte through the last byte of payload. (Sync byte is included in CRC.)
+
+
+
+
+ Clear Last Time Sync Time
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Product Specific Test (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ Product Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Product Specific Test (Test Cmd) when Product Type is FlexNetIPERLS4Radio
+
+
+
+
+ FlexNet iPERL S4 Radio Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_FlexNetIPERLS4Radio when FlexNet iPERL S4 Radio Subcommand is SetDeploymentConfiguration
+
+
+
+
+ Deployment.
+
+
+
+
+ Factory Defaults.
+
+
+
+
+ Reset.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_FlexNetIPERLS4Radio when FlexNet iPERL S4 Radio Subcommand is ClearIPCStatistics
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_FlexNetIPERLS4Radio when FlexNet iPERL S4 Radio Subcommand is ResetIPCLink
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_FlexNetIPERLS4Radio when FlexNet iPERL S4 Radio Subcommand is SetProductTime
+
+
+
+
+ Time (system ticks).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_FlexNetIPERLS4Radio when FlexNet iPERL S4 Radio Subcommand is SetSetupDumpComplete
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Product Specific Test (Test Cmd) when Product Type is SonixIQRadioPhaseI
+
+
+
+
+ SonixV2 Radio Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_SonixIQRadioPhaseI when SonixV2 Radio Subcommand is ClockVerification
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_SonixIQRadioPhaseI when SonixV2 Radio Subcommand is ClearIPCStatistics
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_SonixIQRadioPhaseI when SonixV2 Radio Subcommand is ResetIPCLink
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_SonixIQRadioPhaseI when SonixV2 Radio Subcommand is Sleep
+
+
+
+
+ Mode.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_SonixIQRadioPhaseI when SonixV2 Radio Subcommand is ClearBind
+
+
+
+
+ Volume Channel.
+
+
+
+
+ Temperature Channel.
+
+
+
+
+ Pressure Channel.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_SonixIQRadioPhaseI when SonixV2 Radio Subcommand is PowerSwitches
+
+
+
+
+ External Flash.
+
+
+
+
+ FlexNet TX/RX.
+
+
+
+
+ Valve.
+
+
+
+
+ Motor Driver Off.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_SonixIQRadioPhaseI when SonixV2 Radio Subcommand is StressIPC
+
+
+
+
+ Activate Stress Testing.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Product Specific Test (Test Cmd) when Product Type is WaterPulse
+
+
+
+
+ SonixV2 Radio Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_WaterPulse when SonixV2 Radio Subcommand is CutWireTest
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_WaterPulse when SonixV2 Radio Subcommand is PositionTamperTest
+
+
+
+
+ Set Calibration.
+
+
+
+
+ X Offset.
+
+
+
+
+ Y Offset.
+
+
+
+
+ Z Offset.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Product Specific Test (Test Cmd) when Product Type is SonixIQRadioPhaseII
+
+
+
+
+ SonixV2 Radio Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_SonixIQRadioPhaseII when SonixV2 Radio Subcommand is ClockVerification
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_SonixIQRadioPhaseII when SonixV2 Radio Subcommand is ClearIPCStatistics
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_SonixIQRadioPhaseII when SonixV2 Radio Subcommand is ResetIPCLink
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_SonixIQRadioPhaseII when SonixV2 Radio Subcommand is Sleep
+
+
+
+
+ Mode.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_SonixIQRadioPhaseII when SonixV2 Radio Subcommand is Valve
+
+
+
+
+ Valve Mode.
+
+
+
+
+ Duration (ms).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_SonixIQRadioPhaseII when SonixV2 Radio Subcommand is ClearBind
+
+
+
+
+ Volume Channel.
+
+
+
+
+ Temperature Channel.
+
+
+
+
+ Pressure Channel.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_SonixIQRadioPhaseII when SonixV2 Radio Subcommand is PowerSwitches
+
+
+
+
+ External Flash.
+
+
+
+
+ FlexNet TX/RX.
+
+
+
+
+ Valve.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ProductSpecificTest_SonixIQRadioPhaseII when SonixV2 Radio Subcommand is SetSetupDumpComplete
+
+
+
+
+ Volume Channel.
+
+
+
+
+ Temperature Channel.
+
+
+
+
+ Pressure Channel.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ RF Test (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ RF Test (Test Cmd) when Device Type is NA2WWater
+
+
+
+
+ Water Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ RFTest_NA2WWater when Water Subcommand is CW
+
+
+
+
+ Base.
+
+
+
+
+ Channel.
+
+
+
+
+ Modulation.
+
+
+
+
+ Duration (sec).
+
+
+
+
+ Power Level.
+
+
+
+
+ On/Off Test.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ RFTest_NA2WWater when Water Subcommand is FCC
+
+
+
+
+ Base.
+
+
+
+
+ Channel.
+
+
+
+
+ Modulation.
+
+
+
+
+ Duration (sec).
+
+
+
+
+ Power Level.
+
+
+
+
+ On/Off Test.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ RFTest_NA2WWater when Water Subcommand is Sweep
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ RFTest_NA2WWater when Water Subcommand is Receive
+
+
+
+
+ Frequency (MHz).
+
+
+
+
+ Modulation.
+
+
+
+
+ On Time (sec).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ RFTest_NA2WWater when Water Subcommand is SetPAPowerLevel
+
+
+
+
+ Power Level.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ RFTest_NA2WWater when Water Subcommand is SetPAOffPowerLevel
+
+
+
+
+ PA Disabled Power Level.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ RFTest_NA2WWater when Water Subcommand is SampleRFLevel
+
+
+
+
+ Base.
+
+
+
+
+ Channel.
+
+
+
+
+ Modulation.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ RF Test (Test Cmd) when Device Type is NA2WGas
+
+
+
+
+ Gas Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ RFTest_NA2WGas when Gas Subcommand is CW
+
+
+
+
+ Base.
+
+
+
+
+ Channel.
+
+
+
+
+ Modulation.
+
+
+
+
+ Duration (sec).
+
+
+
+
+ Power Level.
+
+
+
+
+ On/Off Test.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ RFTest_NA2WGas when Gas Subcommand is FCC
+
+
+
+
+ Base.
+
+
+
+
+ Channel.
+
+
+
+
+ Modulation.
+
+
+
+
+ Duration (sec).
+
+
+
+
+ Power Level.
+
+
+
+
+ On/Off Test.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ RFTest_NA2WGas when Gas Subcommand is Sweep
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ RFTest_NA2WGas when Gas Subcommand is Receive
+
+
+
+
+ Frequency (MHz).
+
+
+
+
+ Modulation.
+
+
+
+
+ On Time (sec).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ RFTest_NA2WGas when Gas Subcommand is SetPAPowerLevel
+
+
+
+
+ Power Level.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Sensus RF PAM Pass-Through (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ Data.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ TFx Test (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ TFx Test (Test Cmd) when Device Type is NA2WWater
+
+
+
+
+ Water Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ TFxTest_NA2WWater when Water Subcommand is SetChannels
+
+
+
+
+ Rx Base.
+
+
+
+
+ Rx Sub Channel.
+
+
+
+
+ Rx Channel.
+
+
+
+
+ Tx Base.
+
+
+
+
+ Tx Sub Channel.
+
+
+
+
+ Tx Channel.
+
+
+
+
+ Power Level.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ TFxTest_NA2WWater when Water Subcommand is SetAuthenticationKey
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ TFxTest_NA2WWater when Water Subcommand is Ping
+
+
+
+
+ Address.
+
+
+
+
+ Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ TFxTest_NA2WWater_Ping when Type is Normal
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ TFxTest_NA2WWater_Ping when Type is DemandRead
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ TFxTest_NA2WWater_Ping when Type is MeterReadingMessage
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ TFxTest_NA2WWater_Ping when Type is Binding
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ TFxTest_NA2WWater_Ping when Type is AESKeyBinding
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ TFxTest_NA2WWater_Ping when Type is SmartMeterAlarm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ TFxTest_NA2WWater_Ping when Type is UniversalFWVersion
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ TFxTest_NA2WWater when Water Subcommand is WakeUp
+
+
+
+
+ Address.
+
+
+
+
+ On Time (sec).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ TFxTest_NA2WWater when Water Subcommand is Listen
+
+
+
+
+ Address.
+
+
+
+
+ Max On Time (sec).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ TFxTest_NA2WWater when Water Subcommand is Config
+
+
+
+
+ Tone Interval (sec).
+
+
+
+
+ Activity BUP Interval (sec).
+
+
+
+
+ Activity BUP Count.
+
+
+
+
+ Activity BUP Rx On Time (msec).
+
+
+
+
+ Activity BUP Rx Early Start (msec).
+
+
+
+
+ SensusRf BUP Interval (sec).
+
+
+
+
+ SensusRf BUP Rx On Time (msec).
+
+
+
+
+ SensusRf BUP Rx Early Start (msec).
+
+
+
+
+ SensusRf BUP Lat Interval.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ TFxTest_NA2WWater when Water Subcommand is DropQueue
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ TFxTest_NA2WWater when Water Subcommand is WriteMSRToMTRTable
+
+
+
+
+ MSR 0 Changed.
+
+
+
+
+ MSR 1 Changed.
+
+
+
+
+ MSR 2 Changed.
+
+
+
+
+ MSR 3 Changed.
+
+
+
+
+ MSR 4 Changed.
+
+
+
+
+ MSR 5 Changed.
+
+
+
+
+ MSR 6 Changed.
+
+
+
+
+ MSR 7 Changed.
+
+
+
+
+ MSR 0 = MTR.
+
+
+
+
+ MSR 1 = MTR.
+
+
+
+
+ MSR 2 = MTR.
+
+
+
+
+ MSR 3 = MTR.
+
+
+
+
+ MSR 4 = MTR.
+
+
+
+
+ MSR 5 = MTR.
+
+
+
+
+ MSR 6 = MTR.
+
+
+
+
+ MSR 7 = MTR.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ TFxTest_NA2WWater when Water Subcommand is WriteResyncTable
+
+
+
+
+ Attempt 0.
+
+
+
+
+ Attempt 1.
+
+
+
+
+ Attempt 2.
+
+
+
+
+ Attempt 3.
+
+
+
+
+ Attempt 4.
+
+
+
+
+ Attempt 5.
+
+
+
+
+ Attempt 6.
+
+
+
+
+ Attempt 7.
+
+
+
+
+ Attempt 8.
+
+
+
+
+ Attempt 9.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ TFxTest_NA2WWater when Water Subcommand is TransmitBUP
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Component Test (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ ID.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Component Test (Test Cmd) when ID is ExternalFlash
+
+
+
+
+ Action.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ComponentTest_ExternalFlash when Action is Stop
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ComponentTest_ExternalFlash when Action is ContinuousFullWriteRead
+
+
+
+
+ Duration.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ComponentTest_ExternalFlash when Action is Read19Bytes
+
+
+
+
+ Byte Offset.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ComponentTest_ExternalFlash when Action is Write10Bytes
+
+
+
+
+ Byte Offset.
+
+
+
+
+ Data.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ComponentTest_ExternalFlash when Action is GetCurrentTestResults
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Component Test (Test Cmd) when ID is ExternalEEPROM
+
+
+
+
+ Action.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ComponentTest_ExternalEEPROM when Action is Stop
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ComponentTest_ExternalEEPROM when Action is ContinuousFullWriteRead
+
+
+
+
+ Duration.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ComponentTest_ExternalEEPROM when Action is Read19Bytes
+
+
+
+
+ Byte Offset.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ComponentTest_ExternalEEPROM when Action is Write10Bytes
+
+
+
+
+ Byte Offset.
+
+
+
+
+ Data.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ComponentTest_ExternalEEPROM when Action is GetCurrentTestResults
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ CW Test (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ Base Freq..
+
+
+
+
+ Channel.
+
+
+
+
+ CW Modulation Mode.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Device Specific Test (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Device Specific Test (Test Cmd) when Device Type is NA2WWater
+
+
+
+
+ Water Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WWater when Water Subcommand is SetAlarm
+
+
+
+
+ Set Leak (0).
+
+
+
+
+ Set Broken Pipe (1).
+
+
+
+
+ Set Backflow (2).
+
+
+
+
+ Set Tamper (3).
+
+
+
+
+ Set Meter Comm. Failed (4).
+
+
+
+
+ Set Non-num. Read/Read Malf. (5).
+
+
+
+
+ Set Swapped Meter (6).
+
+
+
+
+ Set Hardware Failure (11).
+
+
+
+
+ Set Cut Wire (16).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WWater when Water Subcommand is SendWeeklyAlarm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WWater when Water Subcommand is TriggerReset
+
+
+
+
+ Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WWater when Water Subcommand is BlindBind
+
+
+
+
+ Address.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WWater when Water Subcommand is ToneListen
+
+
+
+
+ Time (Sec).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WWater when Water Subcommand is SendWeeklySmartAlarm
+
+
+
+
+ Minutes instead of days (IGNORED).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WWater when Water Subcommand is SetActivityCounter
+
+
+
+
+ Counter ID.
+
+
+
+
+ Value (16-bit).
+
+
+
+
+ Channelized.
+
+
+
+
+ Channel (0-2).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WWater when Water Subcommand is IPERLLatchedAlarmTimeout
+
+
+
+
+ Minutes instead of days.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WWater when Water Subcommand is UnsealIPERLRegister
+
+
+
+
+ Hashkey.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Specific Test (Test Cmd) when Device Type is NA2WGas
+
+
+
+
+ Gas Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGas when Gas Subcommand is DirectMountTestConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGas when Gas Subcommand is RemoteMountTestConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGas when Gas Subcommand is ResetToDefaultFactoryConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGas when Gas Subcommand is SetAlarm
+
+
+
+
+ Set Broken Pipe (1).
+
+
+
+
+ Set Backflow (2).
+
+
+
+
+ Set Magnetic Tamper (3).
+
+
+
+
+ Set Cut Wire Tamper (4).
+
+
+
+
+ Set Tilt Tamper (5).
+
+
+
+
+ Set BiDi Comm. Failure (9).
+
+
+
+
+ Set Meter Comm. Failure (11).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGas when Gas Subcommand is SendWeeklyAlarm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGas when Gas Subcommand is LongLATDelay
+
+
+
+
+ Enable.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGas when Gas Subcommand is TiltSwitchTest
+
+
+
+
+ Start/Stop Test.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGas when Gas Subcommand is TriggerReset
+
+
+
+
+ Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGas when Gas Subcommand is TxCriticalReadingMessage
+
+
+
+
+ Time Since Read Offset.
+
+
+
+
+ Tx Op Mode.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGas when Gas Subcommand is CriticalReadingTxWindowTest
+
+
+
+
+ Time Since Read Offset (secs.).
+
+
+
+
+ Tx Window Period (mins.).
+
+
+
+
+ Tx Window Start Time Select.
+
+
+
+
+ Tx Op Mode.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGas when Gas Subcommand is WeeklyBinding
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Specific Test (Test Cmd) when Device Type is NA2WGSV
+
+
+
+
+ GSV Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGSV when GSV Subcommand is RunValveTest
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGSV when GSV Subcommand is CycleValveNTimes
+
+
+
+
+ Number of Cycles.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGSV when GSV Subcommand is SimulatePressure
+
+
+
+
+ Pressure (1/10 inches of water).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGSV when GSV Subcommand is SimulateTilt
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGSV when GSV Subcommand is SimulateSeismic
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGSV when GSV Subcommand is ClearAllSimulations
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGSV when GSV Subcommand is LongLATDelay
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGSV when GSV Subcommand is BackupEPAndChObjects
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGSV when GSV Subcommand is RestoreEPAndChObjects
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGSV when GSV Subcommand is EraseBackupArea
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGSV when GSV Subcommand is EraseMainStorageArea
+
+
+
+
+ Password.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGSV when GSV Subcommand is CalibrateValveTravel
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WGSV when GSV Subcommand is SetAlarm
+
+
+
+
+ Set Lo Pressure Alarm.
+
+
+
+
+ Set Hi Pressure Alarm.
+
+
+
+
+ Set Excess Flow Alarm.
+
+
+
+
+ Set Tilt Tamper Alarm.
+
+
+
+
+ Set Seismic Event Alarm.
+
+
+
+
+ Set Lo Pressure Warning.
+
+
+
+
+ Set Hi Pressure Warning.
+
+
+
+
+ Set Unknown Valve State Alarm.
+
+
+
+
+ Set Over Temperature Alarm.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Specific Test (Test Cmd) when Device Type is NA2WMLC
+
+
+
+
+ MLC Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is ControlLight
+
+
+
+
+ Control Type.
+
+
+
+
+ Time (s).
+ Initial value is 30.
+
+
+
+
+ Cycles.
+ Initial value is 0.
+
+
+
+
+ Level.
+ Initial value is LightIntensity.Level6.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is SampleACVoltageCurrent
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is SimulateVoltage
+
+
+
+
+ Voltage (Vrms).
+
+
+
+
+ Enable.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is SimulateCurrent
+
+
+
+
+ Current (mArms).
+
+
+
+
+ Enable.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is ClearAllSimulations
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is BackupEPAndChObjects
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is RestoreEPAndChObjects
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is EraseBackupArea
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is EraseMainStorageArea
+
+
+
+
+ Password.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is TriggerReset
+
+
+
+
+ Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is SetAlarmWarning
+
+
+
+
+ Set Lamp Failure Alarm.
+
+
+
+
+ Set Board Failure Alarm.
+
+
+
+
+ Set Metrology Error Alarm.
+
+
+
+
+ Set Metrology Failure Alarm.
+
+
+
+
+ Set Metrology Reset Alarm.
+
+
+
+
+ Set Over Current Alarm.
+
+
+
+
+ Set Daylight Burner Alarm.
+
+
+
+
+ Set GPS Hardware Alarm.
+
+
+
+
+ Set GPS Position Alarm.
+
+
+
+
+ Set Self Discovery Failure Alarm.
+
+
+
+
+ Set Power Surge Warning.
+
+
+
+
+ Set Brown Out Warning.
+
+
+
+
+ Set High Current Warning.
+
+
+
+
+ Set Low Current Warning.
+
+
+
+
+ Set Reverse Energy Warning.
+
+
+
+
+ Set Meter Changed Warning.
+
+
+
+
+ Set Relay Corrected Warning.
+
+
+
+
+ Set GPS Location Changed Warning.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is SetFeatures
+
+
+
+
+ Field Features Changed.
+
+
+
+
+ Factory Features Changed.
+
+
+
+
+ Field Features.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is SetACCalibrationValues
+
+
+
+
+ AC Voltage Cal. Slope.
+
+
+
+
+ AC Voltage Cal.Offset.
+
+
+
+
+ AC Current Cal. Slope.
+
+
+
+
+ AC Current Cal.Offset.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is SaveStats
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is ControlDimming
+
+
+
+
+ GPIO Setting.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is SendLegacyBinding
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is FailSelfDiscovery
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is ControlRelay
+
+
+
+
+ Relay Control.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is SetMeterSerialNumber
+
+
+
+
+ Meter Serial Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is GetGPSData
+
+
+
+
+ Turn Off GPS.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is EnterTestMode
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2WMLC when MLC Subcommand is SelfTest
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Specific Test (Test Cmd) when Device Type is LibertyGas
+
+
+
+
+ Liberty Gas Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_LibertyGas when Liberty Gas Subcommand is ResetToDefaultFactoryConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_LibertyGas when Liberty Gas Subcommand is SetAlarm
+
+
+
+
+ Set Broken Pipe (1).
+
+
+
+
+ Set Backflow/Battery Tamper (2).
+
+
+
+
+ Set Magnetic Tamper (3).
+
+
+
+
+ Set Cut Wire/Meter Comm. Failure (4).
+
+
+
+
+ Set Tilt Tamper (5).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_LibertyGas when Liberty Gas Subcommand is SendToken
+
+
+
+
+ Sequence.
+ Initial value is LibertyTokenSequence.Normal.
+
+
+
+
+ TokenLength.
+ Initial value is LibertyTokenLength._20.
+
+
+
+
+ First Half of Token.
+
+
+
+
+ Second Half of Token.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Specific Test (Test Cmd) when Device Type is NA2W3PortRemoteGas
+
+
+
+
+ 3-Port Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2W3PortRemoteGas when 3-Port Subcommand is SetAlarm
+
+
+
+
+ Set Corrector Alarm.
+
+
+
+
+ Set Cut Wire Tamper.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2W3PortRemoteGas when 3-Port Subcommand is SendWeeklyAlarm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2W3PortRemoteGas when 3-Port Subcommand is TiltSwitchTest
+
+
+
+
+ Start/Stop Test.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2W3PortRemoteGas when 3-Port Subcommand is TxCriticalReadingMessage
+
+
+
+
+ Time Since Read Offset.
+
+
+
+
+ Tx Op Mode.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_NA2W3PortRemoteGas when 3-Port Subcommand is CriticalReadingTxWindowTest
+
+
+
+
+ Time Since Read Offset (secs.).
+
+
+
+
+ Tx Window Period (mins.).
+
+
+
+
+ Tx Window Start Time Select.
+
+
+
+
+ Tx Op Mode.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Specific Test (Test Cmd) when Device Type is SLCLightController
+
+
+
+
+ SLC Light Controller Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_SLCLightController when SLC Light Controller Subcommand is MetrologyChipRead
+
+
+
+
+ Read Address.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_SLCLightController when SLC Light Controller Subcommand is MetrologyChipWrite
+
+
+
+
+ Write Address.
+
+
+
+
+ Value.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_SLCLightController when SLC Light Controller Subcommand is MetrologyChipCommand
+
+
+
+
+ Metrology Command.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_SLCLightController when SLC Light Controller Subcommand is DimmingCalibrationStart
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_SLCLightController when SLC Light Controller Subcommand is DimmingCalibrationStop
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_SLCLightController when SLC Light Controller Subcommand is VdimCalibration
+
+
+
+
+ Slope.
+ Initial value is 0.
+
+
+
+
+ Offset.
+ Initial value is 0.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_SLCLightController when SLC Light Controller Subcommand is ZeroCrossingCalibration
+
+
+
+
+ Delay (us).
+ Initial value is 0.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Specific Test (Test Cmd) when Device Type is RawMetrology
+
+
+
+
+ Raw Metrology Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_RawMetrology when Raw Metrology Subcommand is CalibrateOffset
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_RawMetrology when Raw Metrology Subcommand is CalibrateGain
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_RawMetrology when Raw Metrology Subcommand is GetCalibrationConstants
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_RawMetrology when Raw Metrology Subcommand is SendWeeklyFBConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_RawMetrology when Raw Metrology Subcommand is SendWeeklyBinding
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_RawMetrology when Raw Metrology Subcommand is SendWeeklyAlarm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_RawMetrology when Raw Metrology Subcommand is SendWeeklySmartAlarm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_RawMetrology when Raw Metrology Subcommand is SetAlarm
+
+
+
+
+ Set Low Voltage Alarm.
+
+
+
+
+ Set Communication Failure Alarm.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Specific Test (Test Cmd) when Device Type is BatteryEndpoint
+
+
+
+
+ Battery Endpoint Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_BatteryEndpoint when Battery Endpoint Subcommand is SetFeatures
+
+
+
+
+ Field Features Changed.
+
+
+
+
+ Factory Features Changed.
+
+
+
+
+ Field Features.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_BatteryEndpoint when Battery Endpoint Subcommand is TriggerReset
+
+
+
+
+ Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_BatteryEndpoint when Battery Endpoint Subcommand is TriggerAlarm
+
+
+
+
+ Low Battery Alarm.
+
+
+
+
+ Digital Input A Alarm.
+
+
+
+
+ Digital Input B Alarm.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_BatteryEndpoint when Battery Endpoint Subcommand is ResetAlarm
+
+
+
+
+ Low Battery Alarm.
+
+
+
+
+ Digital Input A Alarm.
+
+
+
+
+ Digital Input B Alarm.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_BatteryEndpoint when Battery Endpoint Subcommand is AdjustBatteryModel
+
+
+
+
+ Operation.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_BatteryEndpoint_AdjustBatteryModel when Operation is ResetConsumption
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_BatteryEndpoint_AdjustBatteryModel when Operation is SetConsumption
+
+
+
+
+ Consumption.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_BatteryEndpoint_AdjustBatteryModel when Operation is ResetOffset
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_BatteryEndpoint when Battery Endpoint Subcommand is SendWeeklyFBConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_BatteryEndpoint when Battery Endpoint Subcommand is SendWeeklyBinding
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_BatteryEndpoint when Battery Endpoint Subcommand is SendWeeklyAlarm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_BatteryEndpoint when Battery Endpoint Subcommand is SendWeeklySmartAlarm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_BatteryEndpoint when Battery Endpoint Subcommand is ResetFlexNetIDs
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Specific Test (Test Cmd) when Device Type is CathodicProtectionMetrology
+
+
+
+
+ CP Metrology Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_CathodicProtectionMetrology when CP Metrology Subcommand is ControlRelays
+
+
+
+
+ Action.
+
+
+
+
+ Control Relay 1.
+
+
+
+
+ Control Relay 2.
+
+
+
+
+ Control Relay 3.
+
+
+
+
+ Control Relay 4.
+
+
+
+
+ Control Relay 5.
+
+
+
+
+ Positive Input.
+
+
+
+
+ Negative Input.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_CathodicProtectionMetrology when CP Metrology Subcommand is TestADC
+
+
+
+
+ Positive Input.
+
+
+
+
+ Negative Input.
+
+
+
+
+ Number of Samples.
+
+
+
+
+ Time Between Samples (ms).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_CathodicProtectionMetrology when CP Metrology Subcommand is Calibration
+
+
+
+
+ Input Selection.
+
+
+
+
+ Calibration Changed?.
+
+
+
+
+ Is Calibrated.
+
+
+
+
+ Offset Calibration.
+
+
+
+
+ Gain Calibration.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_CathodicProtectionMetrology when CP Metrology Subcommand is SetFeatures
+
+
+
+
+ Field Features Changed.
+
+
+
+
+ Factory Features Changed.
+
+
+
+
+ Field Features.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Specific Test (Test Cmd) when Device Type is MainsEndpoint
+
+
+
+
+ Mains Endpoint Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_MainsEndpoint when Mains Endpoint Subcommand is SetFeatures
+
+
+
+
+ Field Features Changed.
+
+
+
+
+ Factory Features Changed.
+
+
+
+
+ Field Features.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_MainsEndpoint when Mains Endpoint Subcommand is TriggerReset
+
+
+
+
+ Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_MainsEndpoint when Mains Endpoint Subcommand is TriggerAlarm
+
+
+
+
+ Low Voltage Alarm.
+
+
+
+
+ Digital Input A Alarm.
+
+
+
+
+ Digital Input B Alarm.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_MainsEndpoint when Mains Endpoint Subcommand is ResetAlarm
+
+
+
+
+ Low Voltage Alarm.
+
+
+
+
+ Digital Input A Alarm.
+
+
+
+
+ Digital Input B Alarm.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_MainsEndpoint when Mains Endpoint Subcommand is SendWeeklyFBConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_MainsEndpoint when Mains Endpoint Subcommand is SendWeeklyBinding
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_MainsEndpoint when Mains Endpoint Subcommand is SendWeeklyAlarm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_MainsEndpoint when Mains Endpoint Subcommand is SendWeeklySmartAlarm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_MainsEndpoint when Mains Endpoint Subcommand is ResetFlexNetIDs
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_MainsEndpoint when Mains Endpoint Subcommand is ClearResetCounters
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_MainsEndpoint when Mains Endpoint Subcommand is GetCalibrationValues
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_MainsEndpoint when Mains Endpoint Subcommand is GetFlexNetIDs
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Specific Test (Test Cmd) when Device Type is RectifierMonitor
+
+
+
+
+ Rectifier Monitor Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_RectifierMonitor when Rectifier Monitor Subcommand is SetFeatures
+
+
+
+
+ Field Features Changed.
+
+
+
+
+ Factory Features Changed.
+
+
+
+
+ Field Features.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_RectifierMonitor when Rectifier Monitor Subcommand is TriggerAlarm
+
+
+
+
+ Low Voltage Alarm.
+
+
+
+
+ Comm Failure Alarm.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceSpecificTest_RectifierMonitor when Rectifier Monitor Subcommand is ResetAlarm
+
+
+
+
+ Low Voltage Alarm.
+
+
+
+
+ Comm Failure Alarm.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Encapsulated UI-1236 Command (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ Data.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Factory Setup Complete (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Factory Setup Complete With Actions (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ Restore RF Channels.
+
+
+
+
+ Backup NV.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FCC Test (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ Base Freq..
+
+
+
+
+ Channel.
+
+
+
+
+ Modulation Mode.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ MPFF Settings (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ Set Meter Parameters.
+
+
+
+
+ Set Factory Features.
+
+
+
+
+ Set Field Features.
+
+
+
+
+ Set Endpoint Type.
+
+
+
+
+ Endpoint Type.
+
+
+
+
+ Register Type.
+
+
+
+
+ Phys. I/F Type.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Set EEPROM Test Read.
+
+
+
+
+ EEPROM Test Reading.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NVMEM Objects Command (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NVMEM Objects Command (Test Cmd) when Device Type is NA2WWater
+
+
+
+
+ Water Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2WWater when Water Subcommand is BackupEPAndChObjects
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2WWater when Water Subcommand is RestoreEPAndChObjects
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2WWater when Water Subcommand is EraseBackupArea
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2WWater when Water Subcommand is SetBoardIDInfo
+
+
+
+
+ Board ID Format Version.
+
+
+
+
+ Board Type.
+
+
+
+
+ EEPROM Phy Type.
+
+
+
+
+ Flash Phy Type.
+
+
+
+
+ RF Phy Type.
+
+
+
+
+ RF Freq Band.
+
+
+
+
+ TCXO Freq.
+
+
+
+
+ UART Phy Type.
+
+
+
+
+ HF Xtal Speed.
+
+
+
+
+ RF IC part/rev.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2WWater when Water Subcommand is GetBoardIDInfo
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2WWater when Water Subcommand is EraseBoardIDInfoArea
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEM Objects Command (Test Cmd) when Device Type is NA2WGas
+
+
+
+
+ Gas Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2WGas when Gas Subcommand is BackupEPAndChObjects
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2WGas when Gas Subcommand is RestoreEPAndChObjects
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2WGas when Gas Subcommand is EraseBackupArea
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2WGas when Gas Subcommand is SetBoardIDInfo
+
+
+
+
+ Board ID Format Version.
+
+
+
+
+ Board Type.
+
+
+
+
+ EEPROM Phy Type.
+
+
+
+
+ Flash Phy Type.
+
+
+
+
+ RF Phy Type.
+
+
+
+
+ RF Freq Band.
+
+
+
+
+ TCXO Freq.
+
+
+
+
+ UART Phy Type.
+
+
+
+
+ HF Xtal Speed.
+
+
+
+
+ RF IC part/rev.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2WGas when Gas Subcommand is GetBoardIDInfo
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2WGas when Gas Subcommand is EraseBoardIDInfoArea
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEM Objects Command (Test Cmd) when Device Type is NA2W3PortRemoteGas
+
+
+
+
+ 3-Port Remote Gas Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2W3PortRemoteGas when 3-Port Remote Gas Subcommand is BackupEPAndChObjects
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2W3PortRemoteGas when 3-Port Remote Gas Subcommand is RestoreEPAndChObjects
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2W3PortRemoteGas when 3-Port Remote Gas Subcommand is EraseBackupArea
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2W3PortRemoteGas when 3-Port Remote Gas Subcommand is SetBoardIDInfo
+
+
+
+
+ Board ID Format Version.
+
+
+
+
+ Board Type.
+
+
+
+
+ EEPROM Phy Type.
+
+
+
+
+ Flash Phy Type.
+
+
+
+
+ RF Phy Type.
+
+
+
+
+ RF Freq Band.
+
+
+
+
+ TCXO Freq.
+
+
+
+
+ UART Phy Type.
+
+
+
+
+ HF Xtal Speed.
+
+
+
+
+ RF IC part/rev.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2W3PortRemoteGas when 3-Port Remote Gas Subcommand is GetBoardIDInfo
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_NA2W3PortRemoteGas when 3-Port Remote Gas Subcommand is EraseBoardIDInfoArea
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEM Objects Command (Test Cmd) when Device Type is ComboUSBBluetoothFMT
+
+
+
+
+ FMT Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_ComboUSBBluetoothFMT when FMT Subcommand is SaveSettingsInNV
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_ComboUSBBluetoothFMT when FMT Subcommand is SetBoardIDInfo
+
+
+
+
+ Board ID Format Version.
+
+
+
+
+ Board Type.
+
+
+
+
+ EEPROM Phy Type.
+
+
+
+
+ Flash Phy Type.
+
+
+
+
+ RF Phy Type.
+
+
+
+
+ TCXO Freq.
+
+
+
+
+ HF Xtal Speed.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_ComboUSBBluetoothFMT when FMT Subcommand is GetBoardIDInfo
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEM Objects Command (Test Cmd) when Device Type is SLCLightController
+
+
+
+
+ SLC Light Controller Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_SLCLightController when SLC Light Controller Subcommand is FullBackup
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_SLCLightController when SLC Light Controller Subcommand is FullRestore
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_SLCLightController when SLC Light Controller Subcommand is EraseFullBackup
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_SLCLightController when SLC Light Controller Subcommand is ReadBoardIDInfo
+
+
+
+
+ Board ID Format Version.
+
+
+
+
+ Board Type.
+
+
+
+
+ EEPROM Phy Type.
+
+
+
+
+ Flash Phy Type.
+
+
+
+
+ RF Phy Type.
+
+
+
+
+ TCXO Freq.
+
+
+
+
+ HF Xtal Speed.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_SLCLightController when SLC Light Controller Subcommand is WriteBoardIDInfo
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_SLCLightController when SLC Light Controller Subcommand is EraseBoardIDInfo
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEM Objects Command (Test Cmd) when Device Type is WirelessWaterRegister
+
+
+
+
+ Water Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_WirelessWaterRegister when Water Subcommand is SetBoardIDInfo
+
+
+
+
+ Board ID Format Version.
+
+
+
+
+ Board Type.
+
+
+
+
+ EEPROM Phy Type.
+
+
+
+
+ Flash Phy Type.
+
+
+
+
+ RF Phy Type.
+
+
+
+
+ RF Freq Band.
+
+
+
+
+ TCXO Freq.
+
+
+
+
+ UART Phy Type.
+
+
+
+
+ HF Xtal Speed.
+
+
+
+
+ RF IC part/rev.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_WirelessWaterRegister when Water Subcommand is GetBoardIDInfo
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_WirelessWaterRegister when Water Subcommand is EraseBoardIDInfoArea
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEM Objects Command (Test Cmd) when Device Type is MainsEndpoint
+
+
+
+
+ Mains Endpoint Subcommand.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_MainsEndpoint when Mains Endpoint Subcommand is FullBackup
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_MainsEndpoint when Mains Endpoint Subcommand is FullRestore
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_MainsEndpoint when Mains Endpoint Subcommand is EraseFullBackup
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_MainsEndpoint when Mains Endpoint Subcommand is ReadBoardIDInfo
+
+
+
+
+ Board ID Format Version.
+
+
+
+
+ Board Type.
+
+
+
+
+ EEPROM Phy Type.
+
+
+
+
+ Flash Phy Type.
+
+
+
+
+ RF Phy Type.
+
+
+
+
+ TCXO Freq.
+
+
+
+
+ HF Xtal Speed.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_MainsEndpoint when Mains Endpoint Subcommand is WriteBoardIDInfo
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NVMEMObjectsCommand_MainsEndpoint when Mains Endpoint Subcommand is EraseBoardIDInfo
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Set FlexNet ID (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ FlexNet ID.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set RF Channels (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ Set Base Freq.
+
+
+
+
+ Base Freq.
+
+
+
+
+ Set TX Channel A.
+
+
+
+
+ TX Channel A.
+
+
+
+
+ Set TX Channel B.
+
+
+
+
+ TX Channel B.
+
+
+
+
+ Set TX Channel C.
+
+
+
+
+ TX Channel C.
+
+
+
+
+ Set TX Channel D.
+
+
+
+
+ TX Channel D.
+
+
+
+
+ Set RX Channel A.
+
+
+
+
+ RX Channel A.
+
+
+
+
+ Set RX Channel B.
+
+
+
+
+ RX Channel B.
+
+
+
+
+ Set Boost Channel.
+
+
+
+
+ BoostChannel.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set TCXO Correction (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Sleep (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ Buddy Box Mode.
+
+
+
+
+ Sleep Time (sec).
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Voltage & Temp Cal Set (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ ADC Cal.0.
+
+
+
+
+ ADC Cal.1.
+
+
+
+
+ ADC Cal.2.
+
+
+
+
+ Temp Cal..
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Voltage & Temp Request (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ 32K Crystal Test (Test Cmd)
+
+
+
+
+ Disable PA on Response.
+
+
+
+
+ Serial Response.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Static Setup Adv (Serial)
+
+
+
+
+ Rates (MSR).
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Tx Channel A.
+
+
+
+
+ Tx Channel B.
+
+
+
+
+ Tx Channel C.
+
+
+
+
+ Tx Channel D.
+
+
+
+
+ Rx Channel.
+
+
+
+
+ Boost Channel.
+
+
+
+
+ Mask Sub Channel.
+
+
+
+
+ Boost Hopping.
+
+
+
+
+ Tx Chan Mask.
+
+
+
+
+ RxTxMode.
+
+
+
+
+ Programmer ID.
+
+
+
+
+ Tx Freq BankSel.
+
+
+
+
+ Change Freq Only.
+
+
+
+
+ Filler.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Status Request (Serial)
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Adds a FlexNet ID to a serial frame. "Addressed ASK" is simply ASK
+ that wraps commands in this wrapper. Old versions of NA2W Water and Gas
+ firmware does not support this command.
+
+
+
+
+ Constructs AddressedSerialData with a specified FlexNet ID.
+
+
+
+
+
+
+
+ Constructs AddressSerialData with the FlexNet ID set to 0.
+
+
+
+
+
+ Constructs AddressedSerialData from an NA2WCommand, using the FlexNet ID
+ of the NA2WCommand and encapsulating the command in a CommandPassThrough.
+
+
+
+
+
+ Allows transmitting on-air commands via serial commands.
+
+
+
+
+ Constructs a CommandPassThrough command from an NA2W command.
+ It can be transmitted to an NA2W SmartPoint using direct serial or ASK.
+
+
+
+
+
+ Firmware [NA2W Check Image]
+
+
+
+
+ Device Type
+
+
+
+
+ Number Of Blocks
+
+
+
+
+ File CRC
+
+
+
+
+ Device Type
+
+
+
+
+ Seg 1 (24-bit) Address
+
+
+
+
+ Seg 1 (16-bit) Num Blocks
+
+
+
+
+ Firmware [Load Start]
+
+
+
+
+ Device Type
+
+
+
+
+ Do Not Send ACK For Ld Start Msg
+
+
+
+
+ Do Not Send End ACK For Ld Flash Msg
+
+
+
+
+ Do Not Send End ACK For Ld Flash Msg
+
+
+
+
+ File CRC
+
+
+
+
+ File Size
+
+
+
+
+ Constructs a serial firmware load start command from a firmware image.
+
+
+
+
+
+ 28 bytes of app data
+
+
+
+
+ 56 bytes of app data
+
+
+
+
+
+
+
+ null if Autocalculate
+
+
+
+ Length in bottom nybble of LengthTimeslot.
+
+
+
+
+ Constructs an RFCardSetup command with Tx on the mPass2 channel.
+
+
+
+
+
+
+
+
+
+
+
+ 16-bit pattern used as NA2W interrogation tone.
+
+
+
+
+ Defaults to StandardNA2WTonePattern.
+
+
+
+
+ Milliseconds. Truncated to a multiple of 500 ms.
+
+
+
+
+ Milliseconds. Truncated to a multiple of 500 ms.
+ If set to 0, and Mode is set to Tone, the tone will be
+ emitted forever.
+
+
+
+
+ 0 indicates infinite loop
+
+
+
+
+
+
+
+
+ Set Customer Serial Number (Serial)
+
+
+
+
+ Serial Number
+
+
+
+
+ Extended Rx Poll Message Mode.
+ (Combo Bluetooth/USB FMT Devices only)
+
+
+
+
+ Extended Rx Poll Message Mode, w/no Idle messages
+ (Combo Bluetooth/USB FMT Devices only)
+
+
+
+
+ Raw Rx Poll Message Mode
+ (Combo Bluetooth/USB FMT Devices only)
+
+
+
+
+ Raw Rx Poll Message Mode, w/no Idle messages
+ (Combo Bluetooth/USB FMT Devices only)
+
+
+
+
+ Converts an FMTPowerLevel to dBm.
+
+
+
+
+
+
+ Firmware Block Load (Serial)
+
+
+
+
+ Device Type.
+
+
+
+
+ Block Number.
+
+
+
+
+ Data.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+
+
+ command code, length, and data bytes.
+
+
+
+
+
+ Searches an assembly for classes with the [SerialCommandAttribute],
+ and registers them so that they can be parsed using the Parse() and FromBytes()
+ factory methods.
+
+
+
+
+
+ Specifies the criteria used to identify a serial subcommand when parsing.
+
+
+
+
+ Specify that command code and subcommand code are to be used when parsing to recognize the attributed command.
+ Length will not be considered when parsing.
+
+
+
+
+
+
+ Specify that command code, subcommand code, and length are to be used when parsing to recognize the attributed command.
+
+
+
+ includes the subcommand code, but not the command code.
+
+
+
+ Constructs a SerialSubCommandData instance of the specified from an array of bytes, if possible
+ by calling TFrame.Parse()
+
+
+
+
+
+
+
+
+
+ Classes that have this attribute applied will be parsed by SerialMessageData.Parse()
+ if they implement a method with the signature:
+ public static T Parse<T>(byte[] buffer, byte offset);
+
+
+
+
+
+ Constructs an instance with no defined fields. All access must be through the Bytes property.
+
+
+
+
+
+
+
+
+ A reference to the buffer backing this data.
+
+
+
+
+ Activation (Serial)
+
+
+
+
+ Active.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Clear iConA Warnings & Errors (Serial)
+
+
+
+
+ Clear Warnings.
+
+
+
+
+ Clear Errors.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Clear Tilt Alarms
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Device Operation Request (Serial)
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Device Operation Request (Serial) when Device Type is NA2WGas
+
+
+
+
+ Operation.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceOperationRequest_NA2WGas when Operation is NetworkAnalysis
+
+
+
+
+ Version.
+
+
+
+
+ Operation ID.
+
+
+
+
+ Count.
+
+
+
+
+ Delay (+6 seconds).
+
+
+
+
+ Customer ID.
+
+
+
+
+ Base.
+
+
+
+
+ Uplink Channel.
+
+
+
+
+ Downlink Channel.
+
+
+
+
+ Uplink Modulation.
+
+
+
+
+ Downlink Modulation.
+
+
+
+
+ TGB ID (optional).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceOperationRequest_NA2WGas when Operation is ReedSwitchEvalTest
+
+
+
+
+ ms Per Revolution.
+
+
+
+
+ Num Test Revolutions.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Operation Request (Serial) when Device Type is SLCLightController
+
+
+
+
+ Device Operation.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceOperationRequest_SLCLightController when Device Operation is _8BitRegisterRead
+
+
+
+
+ 8-bit Register ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceOperationRequest_SLCLightController when Device Operation is _8BitRegisterWrite
+
+
+
+
+ 8-bit Register ID.
+
+
+
+
+ Value.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceOperationRequest_SLCLightController when Device Operation is _16BitRegisterRead
+
+
+
+
+ 16-bit Register ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceOperationRequest_SLCLightController when Device Operation is _16BitRegisterWrite
+
+
+
+
+ 16-bit Register ID.
+
+
+
+
+ Value.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceOperationRequest_SLCLightController when Device Operation is _32BitRegisterRead
+
+
+
+
+ 32-bit Register ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceOperationRequest_SLCLightController when Device Operation is _32BitRegisterWrite
+
+
+
+
+ 32-bit Register ID.
+
+
+
+
+ Value.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceOperationRequest_SLCLightController when Device Operation is _64BitRegisterRead
+
+
+
+
+ 64-bit Register ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceOperationRequest_SLCLightController when Device Operation is _64BitRegisterWrite
+
+
+
+
+ 64-bit Register ID.
+
+
+
+
+ Value.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Firmware [Electric Check Image] (Serial)
+
+
+
+
+ Device Type.
+
+
+
+
+ Number Of Blocks.
+
+
+
+
+ File CRC.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Firmware [Electric Load Flash] (Serial)
+
+
+
+
+ Device Type.
+
+
+
+
+ Seg 1 (24-bit) Address.
+
+
+
+
+ Seg 1 (16-bit) Num Blocks.
+
+
+
+
+ Seg 2 (24-bit) Address.
+
+
+
+
+ Seg 2 (16-bit) Num Blocks.
+
+
+
+
+ Seg 3 (24-bit) Address.
+
+
+
+
+ Seg 3 (16-bit) Num Blocks.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Firmware [Electric Load Start] (Serial)
+
+
+
+
+ Device Type.
+
+
+
+
+ Do Not Send ACK For Load Block Msgs.
+
+
+
+
+ Do Not Send ACK For Load Start Msg.
+
+
+
+
+ Do Not Send End ACK For Ld Flash Msg.
+
+
+
+
+ File CRC.
+
+
+
+
+ File Size.
+
+
+
+
+ Compatibility.
+
+
+
+
+ Major Revision.
+
+
+
+
+ Minor Revision.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Gas Meter Configuration (Serial)
+
+
+
+
+ Meter Type.
+
+
+
+
+ Number Of Index Dials.
+
+
+
+
+ Handheld Supports Locking.
+
+
+
+
+ Meter Units.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ History Scale.
+
+
+
+
+ Lock State.
+
+
+
+
+ Reading.
+
+
+
+
+ ReadingChanged.
+
+
+
+
+ Index Drive.
+
+
+
+
+ Index Scale.
+
+
+
+
+ Compensation Factor.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Gas Non-Pulse Setup (Serial)
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Gas Status (Serial)
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Get FMT Mode
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Handheld Electric Meter Install (Serial)
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Handheld Gas Meter Install (Serial)
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Handheld Water Meter Install (Serial)
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ iConA Test Command
+
+
+
+
+ Base Freq.
+
+
+
+
+ Channel.
+
+
+
+
+ Modulation Mode.
+
+
+
+
+ Test Function.
+
+
+
+
+ Test Mode.
+
+
+
+
+ Output Power for Variable Modes.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Ping (Serial)
+
+
+
+
+ Ping Type.
+
+
+
+
+ Response Mode Override.
+
+
+
+
+ Classic Response Mode Override.
+
+
+
+
+ Ping Data.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Ping (Serial) when Ping Type is Normal
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is Configuration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is DemandRead
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is HHMPassBinding_BuddyAllowed
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is HHMPassBinding_BuddyDisabled
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is Alarm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is HHMPassAlarm_BuddyDisabled
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is HHMPassDemandRead_BuddyDisabled
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is MeterReadingMessage
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is TierData
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is DemandReadPingOnly
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is SingleTierMessage
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is ExtendedSetup
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is Setup
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is Binding
+
+
+
+
+ Set Just Programmed Bit.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is ElectricIntervalData
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is ElectricIntervalDataFromAddress
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is ElectricIntervalDataClear
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is SingleTierMessageWithRead
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is DemandHistory
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is HHDInstallationInformation
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is HomeLANPing
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is IConAEnhancedAlarm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is GroupAddressVector
+
+
+
+
+ Page Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is IConSerialNumber
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is IConStyleNumber
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is IConMeterFormAndVoltage
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is IConCTPTMultipliers
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is IConReversePowerErrorResetSettings
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is IConLCDFormatCurrentDisplayList
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is DemandEnableStatusIntervalConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is TOUEnableStatusTierAndSeasonConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is TOUCurrentYearHolidays
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is TOUNextYearHolidays
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is ClickHistory
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is LoadLimitStatusThreshold
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is AdvancedVoltageQualitySettings
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is TOUAutoPushOptions
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is IConACurrentTOUTierData
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is IConACurrentTOUDualTierPing_NoMeterRead
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is IConACurrentTOUDualTierPing_MeterRead
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is IConALoadProfileData
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is FlexNetAdvancedSetup
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is CnIHighResReadWithPulseData
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is ReadTimeAdjustmentLog
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is WhoIsYourBuddy
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is IConADailyRead
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is TOUDayType
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is IConAFactoryConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is IConASendTOURateAndCurrentTime
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is CombinedExtendedSetupAndBind
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is AESKeyBinding
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is LoadProfileMultiBlock
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is LoadProfileSingleBlockSegment
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is RequestNA2WInformation
+
+
+
+
+ Info Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is Standard
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP1
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP2
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP3
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP4
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP5
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP6
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is RequestAllFlexNetIDs
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is RequestBothSerialNumbers
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is NA2WConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is IConAServiceQuality
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is BuddyThrottleConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is IConAWeeklyAlarm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is NA2WIntervalData
+
+
+
+
+ Command.
+
+
+
+
+ Channel (3-Port Remote Gas Only).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is NA2WEPSetupAudit
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is NA2WInstallAudit
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is NA2WChannelSetupAudit
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is SmartMeterAlarm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is NA2WStatusRequest
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is AESLastCommandInfo
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is NA2WChannelSetup2Audit
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is NA2WSchedule
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is NA2WCalibration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is NA2WAttributeString
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WAttributeString when Device Type is NA2WWater
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WAttributeString when Device Type is NA2WMLC
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WAttributeString when Device Type is RawMetrology
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WAttributeString when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WAttributeString when Device Type is RectifierMonitor
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is RequestBoardIDInfo
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is UniversalFWVersion
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping (Serial) when Ping Type is NA2WDataReport
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport when Device Type is NA2WGas
+
+
+
+
+ Report ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WGas when Report ID is MemoryDump
+
+
+
+
+ Source.
+
+
+
+
+ Address.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WGas when Report ID is NetworkAnalysisStatus
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Reset FlexNet Module (Serial)
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set ADC & Temp. Cal. - Legacy (Serial)
+
+
+
+
+ ADC Calibration.
+
+
+
+
+ Temperature Cal..
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set Customer ID (Serial)
+
+
+
+
+ Customer ID.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set Customer Serial Number (Serial)
+
+
+
+
+ Serial Number A.
+
+
+
+
+ Serial Number B.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set Device FlexNet ID (Serial)
+
+
+
+
+ FlexNet ID.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set Encryption Key (Serial)
+
+
+
+
+ Encryption Key.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set Factory Option (Serial)
+
+
+
+
+ Water:Port 2 | Gas:Hourly Data.
+
+
+
+
+ Water:Leak Detect | Gas:Reserved.
+
+
+
+
+ Water:Int. Data | Gas:Reserved.
+
+
+
+
+ Water:Touch Read | Gas:Reserved.
+
+
+
+
+ Water:Hourly Data | Gas:Reserved.
+
+
+
+
+ Water:Reserved | Gas:Locking.
+
+
+
+
+ Water:520 Model? | Gas:EEPROM.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set FMT Mode
+
+
+
+
+ FMT Mode.
+
+
+
+
+ Default Output Power.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set Lat & Long (Serial)
+
+
+
+
+ Latitude.
+
+
+
+
+ Longitude.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set Lock Status
+
+
+
+
+ Locked.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set Meter Reading (Serial)
+
+
+
+
+ Meter A Reading.
+
+
+
+
+ Meter B Reading.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set RealTime Clock (Serial)
+
+
+
+
+ RTC Seconds.
+ Seconds since top-of-hour..
+
+
+
+
+ RTC Hour.
+
+
+
+
+ Read Hour +1.
+
+
+
+
+ Epoch Time.
+ Seconds since Jan 1, 2000..
+
+
+
+
+ Time Zone.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set TCXO Correction (Serial)
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set Unique AES Key
+
+
+
+
+ Key Strength.
+
+
+
+
+ Allow Key Rotate.
+
+
+
+
+ Verify CBC-MAC.
+
+
+
+
+ Unique Key.
+
+
+
+
+ CBC-MAC.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Static Setup (Serial)
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate.
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Tx Channel A.
+
+
+
+
+ Tx Channel B.
+
+
+
+
+ Tx Channel C.
+
+
+
+
+ Priority Channel.
+
+
+
+
+ Receiver Channel.
+
+
+
+
+ C&I Channel.
+
+
+
+
+ Boost Subchannel.
+
+
+
+
+ Boost Hopping Enabled.
+
+
+
+
+ Transmit Channel Mask.
+
+
+
+
+ Tx OpMode.
+
+
+
+
+ Rx OpMode.
+
+
+
+
+ Encryption Enabled.
+
+
+
+
+ Programmer ID.
+
+
+
+
+ High Res. Compression.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ TGB RF Transmitter Test (Serial)
+
+
+
+
+ Mode.
+
+
+
+
+ Rate.
+
+
+
+
+ Pattern.
+
+
+
+
+ On Time (ms).
+
+
+
+
+ Off Time (ms).
+
+
+
+
+ Number (0=Infinite).
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Water Pulse Setup (Serial)
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Water Setup (Serial)
+
+
+
+
+ Meter A.
+
+
+
+
+ Meter B.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Water Status (Serial)
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Firmware Image Check Response
+
+
+
+
+ Number of Bad Blocks.
+
+
+
+
+ Missing Block 1.
+
+
+
+
+ Missing Block 2.
+
+
+
+
+ Missing Block 3.
+
+
+
+
+ Missing Block 4.
+
+
+
+
+ Missing Block 5.
+
+
+
+
+ Missing Block 6.
+
+
+
+
+ Missing Block 7.
+
+
+
+
+ Missing Block 8.
+
+
+
+
+ Missing Block 9.
+
+
+
+
+ Missing Block 10.
+
+
+
+
+ The sub-commandcode of the command that provoked this reply.
+
+
+
+
+ On-air app code of data stored in Payload.
+
+
+
+
+ Used by ReceivedFlexNetMessage (code 0x47)
+
+
+
+
+ SyncWord isn't actually in ReceiverPollMessage, but it can be derived either
+ from the type of the ReceiverPollMessage or a field in various ReceiverPollMessage's.
+
+
+
+
+ 4-bit value also known as Utility Code
+
+
+
+
+ The 4-bit Utility Code that is also known as Customer ID
+
+
+
+
+ this includes RFSequence, PB ACK, Double Hop and Is Payload Encrypted
+
+
+
+
+ RepeatStatus, App AppSequence, App Code, and App Payload. Always 31.
+
+
+
+
+ This includes TxModeOverride, DisablePA, ForceLAT and RepeatLevel + the MSB of RFSequence
+
+
+
+
+ The basic serial reply payload as described in section 4.0.2 of the FCP.
+ The Sync and CRC16 are not included: those are found in the SerialMessage
+ that contains the BasicSerialReply. BasicSerialReply only has one byte of payload:
+ the ACK/NAK byte.
+
+
+
+
+ Constructs a serial reply with CommandCode 0, and StatusFlags of ACK.
+
+
+
+
+ Constructs a reply for the specified command code and a status of ACK with no additional payload.
+
+
+
+
+
+ Constructs a serial reply with specified command code and status flags. The
+
+
+
+
+
+
+
+
+
+ includes the status byte
+
+
+
+
+ Reset the indicated parameters on a Tether Free device.
+
+
+
+
+ Device Type.
+
+
+
+
+ TetherFreeXParameterReset for WirelessWaterRegister
+
+
+
+
+ ParameterResetFlags.
+
+
+
+
+ NOTE: This is very inelegant. In order avoid the complexity
+ and risk of altering the structure of the existing code-base,
+ FNv2 COMMANDs (not Messages) are derived from ClassicCommandFrames
+ which inherit from this (FlexNetCommandFrmae) which is all but
+ totally incompatible with FNv2: most properties here do not
+ apply to FNv2 and they are unused. In order to coerce support
+ for FNv2, the UnifiedSendWhole (FNv2's correlate to FlexNetCommandFrame)
+ is just sitting here as a property.
+
+
+
+
+ Encrypt the command
+ Sets the IsPayloadEncrypted bit if it is not already set.
+ Fills out the EncryptedPayload field and may set the CBCMAC_LSB.
+
+
+
+
+ Decrypt the command.
+
+ Clears the IsPayloadEncrypted bit if decryption succeeds.
+ Populates the Payload field with:
+ - A specific subclass of Command, if decryption succeeds and we can parse the result.
+ - An instance of the Command class, if decryption succeeds but we are unable to parse the result.
+ - An instance of IndecipherableCommand with a Reason of NoKey if no key is available for the FlexNetID / TimeQuantum combination.
+ - An instance of IndecipherableCommand with a Reason of CBCMACMismatch if the CBCMAC does not verify successfully.
+
+
+
+
+ Sometimes referred to as 58-byte
+
+
+
+
+ Length of entire command frame in octets, from start of Sync Word to end of CRC.
+
+ These numbers are one HIGHER than the Firmware's definition of the frame length, as the firmware
+ does NOT include the Sync Word, but DOES include the 0x00 byte after the CRC that is used to flush
+ the viterbi encoder.
+
+
+
+
+ Length of the payload/command-data section of the command frame.
+
+
+
+
+
+
+ Creates a new NA2WCommandFrame so that the response is suitable to be heard short-range.
+ The NA2W Channel being addressed will be 0.
+
+
+
+
+
+
+
+ Creates a new NA2WCommandFrame so that the response is suitable to be heard short-range (DisablePA=true).
+ The SmartPoint is instructed to always open a LAT window on the response (ForceLAT=true).
+
+
+
+
+
+
+
+
+
+ Creates a new NA2WCommandFrame that specifies the response should be hearable from long-range.
+ The NA2W Channel being addressed will be 0.
+
+
+
+
+
+
+
+ Creates a new NA2WCommandFrame that specifies the response should be hearable from long-range. (DisablePA=false).
+ The SmartPoint is instructed to always open a LAT window on the response (ForceLAT=true).
+
+
+
+
+
+
+
+
+
+
+
+
+ Specifies the subdevice/channel this command is directed towards.
+
+
+
+
+ Indicates whether the Timeslot property has been set.
+ Communicators may automatically set the Timeslot property if it has not been set
+ so that they can hear the response to this command.
+
+
+
+
+ Includes NA2WLength and Timeslot
+ Setting this property will automatically set the TimeslotSet property to true.
+
+
+
+
+ If Timeslot is unknown, the TimeslotSet property will be false.
+ Setting this property will automatically set the TimeslotSet property to true.
+
+
+
+
+ A bitmap specifying which of the 16 utility codes this message is addressed to.
+ Also known as "Utility Support" in FCP.
+
+
+
+
+ this includes RFSequence, PB ACK, Double Hop and Payload Encrypted
+
+
+
+
+ a rolling 5-bit counter that should be incremented every time a transmission is made
+
+
+
+
+ Use preferred-buddy ACK scheme.
+
+
+
+
+ This includes TxModeOverride, DisablePA, ForceLAT and RepeatLevel + the MSB of RFSequence
+
+
+
+
+ A one-byte counter that can be incremented as necessary for a particular application.
+ An ACK cmd includes in its payload the AppSequence number of the command that initiated it.
+
+
+
+
+ A message transmitted by a SmartPoint. Because the header bits cannot be parsed
+ without knowing what type of SmartPoint transmitted the message, if you know
+ what kind of message frame this should be, wrap this in a message frame of
+ the correct type. For example, if you receive FlexNetMessageFrame fnmf
+ and you want to view its header bits as if it were an NA2WMessageFrame, wrap it in an
+ NA2WMessageFrame: new NA2WMessageFrame(fnmf).
+
+ Use FlexNetMessageFrame.Parse() to create a FlexNetMessageFrame from an array of bytes.
+
+
+
+
+ The sync byte of the message. Should always be Classic (0x36AA) for messages.
+
+
+
+
+ The 4-bit value that is known by the following names:
+ Utility Code, Utility ID, Customer ID, Customer Code, and Subnet ID
+
+
+
+
+ this includes RFSequence, PB ACK, Double Hop and Payload Encrypted
+
+
+
+
+ Payload encrypted bit from Control byte.
+
+
+
+
+ a rolling 5-bit counter that should be incremented every time a transmission is made.
+ This value has bits in the Control byte *and* the Repeat Level and Status byte.
+
+
+
+
+ Referred to as "Repeat Level/Status" byte in the FCP.
+
+
+
+
+ Just the repeat level (none of the "status" nonsense).
+
+
+
+
+ This magic number for TimeSinceStart indicates that the test was never run.
+
+
+
+
+ Convert TimeSinceStart to a TimeSpan
+
+
+
+
+
+
+ Convert TimeSinceStart to a DateTime. Calls ToTimeSpan internally.
+
+
+
+
+
+
+ Convert TimeSinceStart to a string, handling the "never run" case.
+
+
+ "Never Run" or a formatted date/time
+
+
+
+ Determine the correct test result value based on the input, accounting for the "never run" case.
+
+
+
+
+
+
+
+
+ Return a test result for the link test that takes into account test status, time since start, and success versus count.
+
+
+
+
+
+
+
+
+
+ Determine a DateTime string suitable to show the user, taking into account "never run" and invalid cases.
+
+
+
+
+
+
+
+ Bind Meter
+
+
+
+
+ FlexNet ID A.
+
+
+
+
+ FlexNet ID B.
+
+
+
+
+ FlexNet ID C.
+
+
+
+
+ FlexNet ID D.
+
+
+
+
+ FlexNet ID E.
+
+
+
+
+ Bind FlexNet ID A.
+
+
+
+
+ Bind FlexNet ID B.
+
+
+
+
+ Bind FlexNet ID C.
+
+
+
+
+ Bind FlexNet ID D.
+
+
+
+
+ Bind FlexNet ID E.
+
+
+
+
+ Packet Number.
+
+
+
+
+ Total Packets.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Device Operation Request when Device Type is NA2WWater
+
+
+
+
+ Operation.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Smart Alarm Configuration
+
+
+
+
+ Response Version.
+
+
+
+
+ Alarm ID.
+
+
+
+
+ Action.
+
+
+
+
+ Action Channel.
+
+
+
+
+ Action Opcode.
+
+
+
+
+ Alarm Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Smart Alarm Configuration when Alarm Type is Unused
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Smart Alarm Configuration when Alarm Type is UnderThreshold
+
+
+
+
+ Threshold value (raw units).
+
+
+
+
+ Time Limit (seconds).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Smart Alarm Configuration when Alarm Type is OverThreshold
+
+
+
+
+ Threshold value (raw units).
+
+
+
+
+ Time Limit (seconds).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Smart Alarm Configuration when Alarm Type is InsideRange
+
+
+
+
+ Lower threshold value (raw units).
+
+
+
+
+ Upper threshold value (raw units).
+
+
+
+
+ Time Limit (seconds).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Smart Alarm Configuration when Alarm Type is OutsideRange
+
+
+
+
+ Lower threshold value (raw units).
+
+
+
+
+ Upper threshold value (raw units).
+
+
+
+
+ Time Limit (seconds).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Smart Alarm Configuration when Alarm Type is OverRate
+
+
+
+
+ Rate (raw units/sec).
+
+
+
+
+ Time Limit (seconds).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Smart Alarm Configuration when Alarm Type is UnderRate
+
+
+
+
+ Rate (raw units/sec).
+
+
+
+
+ Time Limit (seconds).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Set Attribute String
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Attribute String
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Here temporarily until the JSON file is updated
+
+
+
+
+ Asset Description 1.
+
+
+
+
+ Asset Description 2.
+
+
+
+
+ Asset Description 3.
+
+
+
+
+ Asset Description 4.
+
+
+
+
+ NA2W Device Operation Result
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Device Operation Result when Device Type is NA2WWater
+
+
+
+
+ Operation.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is NA2WAttributeString
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Setup/Configuration
+
+
+ Setup/Configuration when Device Type is RawMetrology
+
+
+
+
+ Extended Meter Sample Rate
+
+
+
+
+ Extended Meter Sample Rate [bits 0-2].
+
+
+
+
+ Supervisory Transmit Rate - FB LAT.
+
+
+
+
+ Extended Meter Sample Rate [bit 3].
+
+
+
+
+ Supervisory Transmit Rate - FB MOM.
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Transmit Channel A.
+
+
+
+
+ Transmit Channel B.
+
+
+
+
+ Transmit Channel C.
+
+
+
+
+ Transmit Channel D.
+
+
+
+
+ Receiver Channel A.
+
+
+
+
+ Receiver Channel B.
+
+
+
+
+ Boost Mode Channel.
+
+
+
+
+ Boost Mode Sub-Channel.
+
+
+
+
+ Boost Mode Hopping.
+
+
+
+
+ Transmit Channel Mask.
+
+
+
+
+ Transmitter Operational Mode - FB LAT.
+
+
+
+
+ Transmitter Operational Mode - FB MOM.
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Battery Calibration Slope.
+
+
+
+
+ Battery Calibration Offset.
+
+
+
+
+ Metrology Type.
+
+
+
+
+ Device Patch Version.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Smart Meter Alarm
+
+
+
+
+
+
+
+ TimeSpan.MaxValue if never occurred,.
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ SmartMeterAlarm_NA2WWater when Message Version is SensusRF
+
+
+
+
+ Reading Valid.
+
+
+
+
+ Specific Error (this is "page 2 alarms" for devices that have it.)
+
+
+
+
+ Meter Version.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SmartMeterAlarm_NA2WWater when Message Version is Timestamped
+
+
+
+
+ Returns strings for all pre-defined alarms that match the vector conditions.
+
+
+
+
+
+ Returns strings for all user-defined alarms that match the vector conditions.
+
+
+
+
+
+ User-defined alarm state.
+
+
+
+
+ Pre-defined alarm state.
+
+
+
+
+ Is pre-defined alarm?.
+
+
+
+
+ Alarm configuration sequence number.
+
+
+
+
+ Metrology configuration sequence number.
+
+
+
+
+ Reading.
+
+
+
+
+ Reading Is On Demand.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Time since alarm condition triggered [raw].
+
+
+
+
+ Time since alarm condition was no longer present [raw].
+
+
+
+
+ Alarm-specific data.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Smart Meter Alarm when Device Type is RawMetrology
+
+
+
+
+ Returns strings for all pre-defined alarms that match the vector condition.
+
+
+
+
+
+ Returns strings for all pre-defined alarms that match the vector condition.
+
+
+
+
+
+ User-defined alarm state.
+
+
+
+
+ Pre-defined alarm state.
+
+
+
+
+ Is pre-defined alarm?.
+
+
+
+
+ Alarm ID.
+
+
+
+
+ Alarm configuration sequence number.
+
+
+
+
+ Metrology configuration sequence number.
+
+
+
+
+ Reading Is On Demand.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Reading.
+
+
+
+
+ Time since alarm condition triggered [raw].
+
+
+
+
+ Time since alarm condition was no longer present [raw].
+
+
+
+
+ Alarm-specific data.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Smart Meter Alarm when Device Type is BatteryEndpoint
+
+
+
+
+ Returns strings for all pre-defined alarms that match the vector condition.
+
+
+
+
+
+ Returns strings for all pre-defined alarms that match the vector condition.
+
+
+
+
+
+ User-defined alarm state.
+
+
+
+
+ Pre-defined alarm state.
+
+
+
+
+ Is pre-defined alarm?.
+
+
+
+
+ Alarm ID.
+
+
+
+
+ Alarm configuration sequence number.
+
+
+
+
+ Metrology configuration sequence number.
+
+
+
+
+ Reading Is On Demand.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Reading.
+
+
+
+
+ Time since alarm condition triggered [raw].
+
+
+
+
+ Time since alarm condition was no longer present [raw].
+
+
+
+
+ Alarm-specific data.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Smart Meter Alarm when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Returns strings for all pre-defined alarms that match the vector condition.
+
+
+
+
+
+ Returns strings for all pre-defined alarms that match the vector condition.
+
+
+
+
+
+ User-defined alarm state.
+
+
+
+
+ Pre-defined alarm state.
+
+
+
+
+ Is pre-defined alarm?.
+
+
+
+
+ Alarm ID.
+
+
+
+
+ Alarm configuration sequence number.
+
+
+
+
+ Metrology configuration sequence number.
+
+
+
+
+ Reading Is On Demand.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Reading.
+
+
+
+
+ Time since alarm condition triggered [raw].
+
+
+
+
+ Time since alarm condition was no longer present [raw].
+
+
+
+
+ Alarm-specific data.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Smart Meter Alarm when Device Type is RectifierMonitor
+
+
+
+
+ Returns strings for all pre-defined alarms that match the vector condition.
+
+
+
+
+
+ Returns strings for all pre-defined alarms that match the vector condition.
+
+
+
+
+
+ User-defined alarm state.
+
+
+
+
+ Pre-defined alarm state.
+
+
+
+
+ Is pre-defined alarm?.
+
+
+
+
+ Alarm ID.
+
+
+
+
+ Alarm configuration sequence number.
+
+
+
+
+ Metrology configuration sequence number.
+
+
+
+
+ Reading Is On Demand.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Reading.
+
+
+
+
+ Time since alarm condition triggered [raw].
+
+
+
+
+ Time since alarm condition was no longer present [raw].
+
+
+
+
+ Alarm-specific data.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Returns strings for all alarms that match the vector conditions.
+
+
+
+
+
+ RectifierMonitorAlarms
+
+
+
+
+ Metrology Low Voltage Alarm.
+
+
+
+
+ Communication Failure.
+
+
+
+
+ Provides a class that has the field features common to all channelized SP channels
+
+
+
+
+ Constructor that can take any XxxFieldFeatures object and copy its property values into this class.
+
+
+
+
+
+ UserDefinedAlarmMask
+
+
+
+
+ User-defined alarm 0.
+
+
+
+
+ User-defined alarm 1.
+
+
+
+
+ User-defined alarm 2.
+
+
+
+
+ User-defined alarm 3.
+
+
+
+
+ User-defined alarm 4.
+
+
+
+
+ User-defined alarm 5.
+
+
+
+
+ User-defined alarm 6.
+
+
+
+
+ User-defined alarm 7.
+
+
+
+
+ User-defined alarm 8.
+
+
+
+
+ User-defined alarm 9.
+
+
+
+
+ User-defined alarm 10.
+
+
+
+
+ User-defined alarm 11.
+
+
+
+
+ User-defined alarm 12.
+
+
+
+
+ User-defined alarm 13.
+
+
+
+
+ User-defined alarm 14.
+
+
+
+
+ User-defined alarm 15.
+
+
+
+
+ User-defined alarm 16.
+
+
+
+
+ User-defined alarm 17.
+
+
+
+
+ User-defined alarm 18.
+
+
+
+
+ User-defined alarm 19.
+
+
+
+
+ User-defined alarm 20.
+
+
+
+
+ User-defined alarm 21.
+
+
+
+
+ User-defined alarm 22.
+
+
+
+
+ User-defined alarm 23.
+
+
+
+
+ The alarm mapping in AC70 doesn't quite match the alarm mapping in AC11,
+ so we need a conversion function.
+
+
+ NA2WWaterHistoricalAlarmsWBDB
+
+
+
+
+ Leak.
+
+
+
+
+ Broken Pipe.
+
+
+
+
+ Backflow.
+
+
+
+
+ Tamper.
+
+
+
+
+ Meter Communication Failed.
+
+
+
+
+ Non-numeric Read/Meter Read Malfunction.
+
+
+
+
+ Swapped Meter.
+
+
+
+
+ History Overflow Alarm [DO NOT REPORT].
+
+
+
+
+ Autonomous Valve Operation.
+
+
+
+
+ Valve Failure.
+
+
+
+
+ Bidirectional Communication Failure.
+
+
+
+
+ Operational Alarm Suppressed.
+
+
+
+
+ Hardware Alarm Suppressed.
+
+
+
+
+ Temperature Alarm Suppressed.
+
+
+
+
+ Pressure Alarm Suppressed.
+
+
+
+
+ Cut Wire Alarm.
+
+
+
+
+ NA2WWaterHistoricalAlarms
+
+
+
+
+ Leak.
+
+
+
+
+ Broken Pipe.
+
+
+
+
+ Backflow.
+
+
+
+
+ Tamper.
+
+
+
+
+ Meter Communication Failed.
+
+
+
+
+ Non-numeric Read/Meter Read Malfunction.
+
+
+
+
+ Swapped Meter.
+
+
+
+
+ Autonomous Valve Operation.
+
+
+
+
+ Valve Failure.
+
+
+
+
+ Bidirectional Communication Failure.
+
+
+
+
+ Meter Encryption Failed.
+
+
+
+
+ Hardware Failure.
+
+
+
+
+ Operational Alarm Suppressed.
+
+
+
+
+ Hardware Alarm Suppressed.
+
+
+
+
+ Temperature Alarm Suppressed.
+
+
+
+
+ Pressure Alarm Suppressed.
+
+
+
+
+ Cut Wire Alarm.
+
+
+
+
+ NA2WWaterSAField
+
+
+
+
+ Leak.
+
+
+
+
+ Broken Pipe.
+
+
+
+
+ Backflow.
+
+
+
+
+ Tamper.
+
+
+
+
+ Meter Communication Failed.
+
+
+
+
+ Non-numeric Read/Meter Read Malfunction.
+
+
+
+
+ Swapped Meter.
+
+
+
+
+ Reservedxx7
+
+
+
+
+ Low Battery - yy0
+
+
+
+
+ Reservedyy1
+
+
+
+
+ Reservedyy2
+
+
+
+
+ Reservedyy3
+
+
+
+
+ Reservedyy4
+
+
+
+
+ Reservedyy5
+
+
+
+
+ Reservedyy6
+
+
+
+
+ Reservedyy7
+
+
+
+
+ Cut Wire Alarm - zz0
+
+
+
+
+ Reservedzz1
+
+
+
+
+ Reservedzz2
+
+
+
+
+ Reservedzz3
+
+
+
+
+ Reservedzz4
+
+
+
+
+ Reservedzz5
+
+
+
+
+ Reservedzz6
+
+
+
+
+ Reservedzz7
+
+
+
+
+ LogTelegramFrames that come back via the TunneledRegisterResponse
+ have some elements from TelegramFrame as well as a LogTelegram.
+
+
+ Tunneled Register Response Payload
+ Offset Bytes Description
+ 0 1 TotalLogTelegramLength
+ 1 1 AppCode
+ 2 1 Counter (4 bits AppSeq, 4 bits RFSeq)
+ 3 4 Meter Serial Number (SensusRF Radio ID)
+ 7 2 LogContent | These items are
+ 9 2 Log Interval | what is represented
+ 11 2 Start Index | in the LOGTelegram
+ 13 N Data (max 14 bytes) | object.
+
+ The member returns a byte array that is used to
+ build a LOGTelegram object that can be accessed by the
+ member.
+ TunneledRegisterResponse objects for come in as multi-part
+ messages over FLexNet since the FlexNet frame isn't large enough to contain a maximum
+ sized LOGTelegram.
+ The first TunneledRegisterResponse (TRR) has a TotalLength byte that indicates the
+ length of the entire TRR once all parts have been retrieved. The property
+ tracks the current number of bytes added to the
+ internal storage buffer. When Length is equal TotalLength, all bytes have been reveiced.
+
+
+
+
+ Returns the total length of the TunneledLogTelegramFrame.
+
+
+ Note: the total length will be known when the first part of
+ a multi-part frame comes in. Data for parts that have not
+ yet been added will be 0.
+
+
+
+
+
+
+
+ Construct the object and set the buffer length to the TotalLength expected
+ based on byte 0 of the frame.
+
+
+ Use to add more data until Length
+ is equal to TotalLength.
+ Use to determine is TotalLength has been reached.
+ Use to get a object from
+ the accumulated received data.
+
+
+
+
+
+
+ Total number of bytes in this TunneledLogTelegramFrame.
+
+
+
+
+ 4 bits for AppSeq, 4 bits for RFSeq
+
+
+
+
+ Meter SensusRF Radio ID
+
+
+
+
+ True when all parts of a multi-part message have been recieved.
+
+
+
+
+
+ Add a new part of a multi-part frame.
+
+
+
+
+ Resets and so that
+ they are forced to build.
+
+
+ Thrown if the new data added would exceed the of
+ the frame.
+
+
+
+
+ Returns a byte[] that can be used as input to the
+ method.
+
+
+
+
+ Build a LOGTelegram object from the LogData array
+
+
+
+
+ Tunneled Register Command
+
+
+ Tunneled Register Command
+
+
+
+
+ Based on the input array of PAMS, provides a List of TunneledRegisterCommands (obeying size limitations).
+
+ Commands must be alone or only paired with a ProvidePIN command
+ Any commands that must appear in each array entry (usually ProvidePIN)
+ The commands we want to send
+ A list of commands to send
+
+
+
+ Based on the input array of PAMS, provides a List of TunneledRegisterCommands (obeying size limitations).
+
+ Any commands that must appear in each array entry (usually ProvidePIN)
+ The commands we want to send
+ A list of commands to send
+
+
+
+ Based on the input array of PAMS, provides a List of TunneledRegisterCommands (obeying size limitations).
+
+ The commands we want to send
+ A list of commands to send
+
+
+
+ Register Payload Length.
+
+
+
+
+ Register Payload.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ The raw, encrypted payload bytes.
+
+ Filled in when an encrypted command is Parsed, or when a decrypted command is Encrypted.
+
+
+
+
+ Length in bytes of the CBCMAC for this command.
+
+
+
+
+ List of offsets into the 23-byte command area in which CBCMAC bytes can be placed.
+
+
+
+
+ Whether or not to use the time quantum when encrypting.
+
+
+
+
+ Transmit time against which to select keys and, optionally, the time quantum.
+
+
+
+
+ Key to use for encryption.
+
+
+
+
+ AS Extended Query Response when Sub Type is SelfRead
+
+ Source:
+ iCon AS FlexNet Integrated Display Transceiver V3.45
+ http://covapp01.na.sensus.net/!/#repos/view/head/Documents/iConAS/iConAS%20Flexnet/iConAS%20FlexNet%20Integrated%20Display%20Transceiver%20Software%20Specification%20v3_45%20and%20later.docx
+
+
+ AS Extended Query Response when Sub Type is SelfRead
+
+
+
+
+ Optional. Can be null.
+
+
+
+
+ Registers Info
+
+
+
+
+ Optional. Self Read Register Source List
+
+
+
+
+ Optional. Demand Format List
+
+
+
+
+ Additional Info
+
+
+
+
+ Expanded Date Read Occurred
+
+
+
+
+ Cumulative Demand
+
+
+
+
+ Demand Reset Info
+
+
+
+
+ Optional. Tou Tier Map
+
+
+
+
+ NOT IMPLEMENTED
+
+ Optional. Self Read Structure
+
+
+
+
+ NOT IMPLEMENTED
+
+ Optional. Extended Demand Format List
+
+
+
+
+ Self Read Type.
+
+
+
+
+ Contract Hour.
+
+
+
+
+ Record.
+
+
+
+
+ Block Demand.
+
+
+
+
+ Data Not Valid.
+
+
+
+
+ SR Source Change.
+
+
+
+
+ Extended Record Bit.
+
+
+
+
+ Extended Record.
+
+
+
+
+ Extended Demand Format List Present.
+
+
+
+
+ Reserved.
+
+
+
+
+ Number of Registers.
+
+
+
+
+ Number of Demand Registers
+
+
+
+
+ Include Source List.
+
+
+
+
+ Minute Read Occurred (0 to 1439)
+
+
+
+
+ Day of Week
+
+
+
+
+ TOU Enabled
+
+
+
+
+ Reserved
+
+
+
+
+ Day-of-Month
+
+
+
+
+ Month
+
+
+
+
+ Year since 2000 in [15:9] {supports up to year 2127}
+
+
+
+
+ Time of Demand Reset
+
+
+
+
+ Demand Reset Count
+
+
+
+
+ "Active Rate Map Totalization
+
+
+
+
+ "Active Rate Map Tier A
+
+
+
+
+ "Active Rate Map Tier B
+
+
+
+
+ "Active Rate Map Tier C
+
+
+
+
+ "Active Rate Map Tier D
+
+
+
+
+ "Active Rate Map Tier E
+
+
+
+
+ "Active Rate Map Tier F
+
+
+
+
+ "Active Rate Map Tier G
+
+
+
+
+ "Returned Rate Map Totalization
+
+
+
+
+ "Returned Rate Map Tier A
+
+
+
+
+ "Returned Rate Map Tier B
+
+
+
+
+ "Returned Rate Map Tier C
+
+
+
+
+ "Returned Rate Map Tier D
+
+
+
+
+ "Returned Rate Map Tier E
+
+
+
+
+ "Returned Rate Map Tier F
+
+
+
+
+ "Returned Rate Map Tier G
+
+
+
+
+ TODO: Implement SelfReadStructure
+
+
+
+
+ TODO: Implement ExtendedDemandFormatList
+
+
+
+
+ Source:
+ http://covapp01.na.sensus.net/!/#repos/view/head/Documents/iConAS/Source%20List%20-%20Gen3_3%20v1_9.xlsx
+
+
+
+
+ Source:
+ iCon AS FlexNet Integrated Display Transceiver V3.45
+
+
+
+
+ The raw, encrypted payload bytes.
+
+ Filled in when an encrypted message is Parsed, or when a decrypted message is Encrypted.
+
+
+
+
+ Offset into the 28-byte appdata area at which encryption begins.
+
+
+
+
+ Offset into the 28-byte appdata area at which the CBCMAC calculation begins.
+
+
+
+
+ Encryption time
+
+
+
+
+ Key to use for encryption.
+
+
+
+
+ Encrypt the message
+
+ Sets the IsPayloadEncrypted bit if it is not already set.
+ Fills out the EncryptedPayload field.
+ Sets UsedOddTimeQuantum if time quantum is odd.
+
+
+
+
+ Decrypt the message
+
+ Clears the IsPayloadEncrypted bit if decryption succeeds.
+ Populates the Payload field with:
+ - A specific subclass of Message, if decryption succeeds and we can parse the result.
+ - An instance of the Message class, if decryption succeeds but we are unable to parse the result.
+ - An instance of IndecipherableMessage with a Reason of NoKey if no key is available for the FlexNetID / TimeQuantum combination.
+ - An instance of IndecipherableMessage with a Reason of CBCMACMismatch if the CBCMAC does not verify successfully.
+
+
+
+
+ Ack Command
+
+
+
+
+ Msg Code Acked (lower 7 bits only).
+
+
+
+
+ Is Command being Acked from tower.
+
+
+
+
+ RF Seq Num Acked.
+
+
+
+
+ Is Reply To Programmer.
+
+
+
+
+ Is Reply From Tower.
+
+
+
+
+ NAK.
+
+
+
+
+ Aux Status.
+
+
+
+
+ App Seq Num Acked.
+
+
+
+
+ Signal Level Acked.
+
+
+
+
+ Noise Level Acked.
+
+
+
+
+ Programmer ID.
+
+
+
+
+ Setup Flags.
+
+
+
+
+ Basestation ID.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ AS Extended Query Response
+
+
+
+
+ Sub Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ AS Extended Query Response when Sub Type is TOUSeasonsConfiguration
+
+
+
+
+ AS Extended Query Response when Sub Type is TOUHolidayConfiguration
+
+
+
+
+ AS Extended Query Response when Sub Type is TOUDayScheduleConfiguration
+
+
+
+
+ AS Extended Query Response when Sub Type is IntervalDataConfiguration
+
+
+
+
+ AS Extended Query Response when Sub Type is TOUAndDemandConfiguration
+
+
+
+
+ Enable TOU.
+
+
+
+
+ Enable Demand.
+
+
+
+
+ NTA Tier Assignment.
+
+
+
+
+ CPP Tier Assignment.
+
+
+
+
+ DST On Date.
+
+
+
+
+ DST Off Date.
+
+
+
+
+ Main Interval.
+
+
+
+
+ Sub Interval.
+
+
+
+
+ Config - Forgiveness.
+
+
+
+
+ Demand Format 1.
+
+
+
+
+ Demand Format 2.
+
+
+
+
+ Demand Format 3.
+
+
+
+
+ Demand Format 4.
+
+
+
+
+ Demand Format 5.
+
+
+
+
+ Demand Format 6.
+
+
+
+
+ Recurring Demand Reset.
+
+
+
+
+ Schedule Demand Reset.
+
+
+
+
+ Contract Hour.
+
+
+
+
+ Active Tier.
+
+
+
+
+ Active Season.
+
+
+
+
+ Active Schedule.
+
+
+
+
+ Active SwitchPoint.
+
+
+
+
+ Remain Tier Time.
+
+
+
+
+ Active Day Type.
+
+
+
+
+ AS Extended Query Response when Sub Type is FactoryValidateConfiguration
+
+
+
+
+ AS Extended Query Response when Sub Type is DemandThresholdConfiguration
+
+
+
+
+ AS Extended Query Response when Sub Type is LogRequest
+
+
+
+
+ AS Extended Query Response when Sub Type is MetrologyCounters
+
+
+
+
+ AS Extended Query Response when Sub Type is RawFlashReadData
+
+
+
+
+ AS Extended Query Response when Sub Type is RawLPEntryRead
+
+
+
+
+ AS Extended Query Response when Sub Type is PeakDemandHistory
+
+
+
+
+ AS Extended Query Response when Sub Type is RawEnergyRead
+
+
+
+
+ C&I Tier Data
+
+
+
+
+ Tier.
+
+
+
+
+ Sub Tier.
+
+
+
+
+ Meter Type.
+
+
+
+
+ Data Table.
+
+
+
+
+ Continuously Cumulative Demand.
+
+
+
+
+ Summation Available.
+
+
+
+
+ Demand Available.
+
+
+
+
+ Coincident Available.
+
+
+
+
+ Peak Demand Month.
+
+
+
+
+ Peak Demand Day.
+
+
+
+
+ Peak Demand Hour.
+
+
+
+
+ Peak Demand Minute.
+
+
+
+
+ Summation Reading.
+
+
+
+
+ Demand Reading.
+
+
+
+
+ Cumulative Demand Reading.
+
+
+
+
+ Coincident Reading.
+
+
+
+
+ Number of Demand Resets.
+
+
+
+
+ Summation Source Index.
+
+
+
+
+ Demand Source Index.
+
+
+
+
+ Coincident Source Index.
+
+
+
+
+ Number of Tiers.
+
+
+
+
+ Number of Sub Tiers.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Firmware [Cancel]
+
+
+
+
+ Device Type.
+
+
+
+
+ Compatibility.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Firmware [NA2W Flash Device Version 2]
+
+
+
+
+ Device Type.
+
+
+
+
+ Number Of Segments.
+
+
+
+
+ Time To Switch.
+
+
+
+
+ CBC96.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Firmware [Reset]
+
+
+
+
+ Device Type.
+
+
+
+
+ Compatibility.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FlexNet V2 Setup
+
+
+
+
+ CommandVersion.
+
+
+
+
+ Filler0.
+
+
+
+
+ Payload Verification.
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate.
+
+
+
+
+ Tx OpMode.
+
+
+
+
+ Buddy Mode Enable.
+
+
+
+
+ Filler1.
+
+
+
+
+ Set FnV2 ParametersOnly.
+
+
+
+
+ FNv2 Base Frequency.
+
+
+
+
+ Supervisory Transmitter Channel.
+
+
+
+
+ Supervisory Transmitter Fec.
+
+
+
+
+ Supervisory Transmitter MTU.
+
+
+
+
+ Supervisory Transmitter Modulation.
+
+
+
+
+ Filler2.
+
+
+
+
+ Alarms Transmitter Channel.
+
+
+
+
+ Alarms Transmitter Fec.
+
+
+
+
+ Alarms Transmitter MTU.
+
+
+
+
+ Alarms Transmitter Modulation.
+
+
+
+
+ Filler3.
+
+
+
+
+ Poll Response Transmitter Channel.
+
+
+
+
+ Poll Response Transmitter Fec.
+
+
+
+
+ Poll Response Transmitter MTU.
+
+
+
+
+ Poll Response Transmitter Modulation.
+
+
+
+
+ Filler4.
+
+
+
+
+ MPass Transmitter Channel.
+
+
+
+
+ MPass Transmitter Fec.
+
+
+
+
+ MPass Transmitter MTU.
+
+
+
+
+ MPass Transmitter Modulation.
+
+
+
+
+ Filler5.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FNv2 Unsigned Load Shed
+
+
+
+
+ Command Version.
+
+
+
+
+ Filler 0.
+
+
+
+
+ Verification.
+
+
+
+
+ Load ID 1.
+
+
+
+
+ Load Command 1.
+
+
+
+
+ Filler 1.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Alarm Config
+
+
+
+
+ Alarm Config Subcommand.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Alarm Config when Alarm Config Subcommand is SmartMeterAlarmDisableEnable
+
+
+
+
+ Change Operation.
+
+
+
+
+ Respond at STR.
+
+
+
+
+ Number of Channels.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9AlarmConfig_SmartMeterAlarmDisableEnable when Number of Channels is One
+
+
+
+
+ Channel A Alarm Masks.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9AlarmConfig_SmartMeterAlarmDisableEnable when Number of Channels is Two
+
+
+
+
+ Channel A Alarm Masks.
+
+
+
+
+ Channel B Alarm Masks.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9AlarmConfig_SmartMeterAlarmDisableEnable when Number of Channels is Three
+
+
+
+
+ Channel A Alarm Masks.
+
+
+
+
+ Channel B Alarm Masks.
+
+
+
+
+ Channel C Alarm Masks.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Alarm Config Audit
+
+
+
+
+ Alarm Config Subcommand.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Alarm Config Audit when Alarm Config Subcommand is SmartMeterAlarmDisableEnable
+
+
+
+
+ Number of Channels.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Channel 0 Alarm Masks.
+
+
+
+
+ Channel 1 Alarm Masks.
+
+
+
+
+ Channel 2 Alarm Masks.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Certificate Audit
+
+
+
+
+ Version.
+
+
+
+
+ AuditType.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Certificate Audit when AuditType is SingleCertificateDetails
+
+
+
+
+ Certificate Index.
+
+
+
+
+ Status.
+
+
+
+
+ Usage.
+
+
+
+
+ Certificate Length.
+
+
+
+
+ AKI.
+
+
+
+
+ SKI.
+
+
+
+
+ sha256 Hash.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Certificate Audit when AuditType is AllCertificatesSummary
+
+
+
+
+ Cert0.
+
+
+
+
+ Cert0 ShortHash.
+
+
+
+
+ Cert1.
+
+
+
+
+ Cert1 ShortHash.
+
+
+
+
+ Cert2.
+
+
+
+
+ Cert2 ShortHash.
+
+
+
+
+ Cert3.
+
+
+
+
+ Cert3 ShortHash.
+
+
+
+
+ Cert4.
+
+
+
+
+ Cert4 ShortHash.
+
+
+
+
+ Cert5.
+
+
+
+
+ Cert5 ShortHash.
+
+
+
+
+ Cert6.
+
+
+
+
+ Cert6 ShortHash.
+
+
+
+
+ Cert7.
+
+
+
+
+ Cert7 ShortHash.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Certificate Read
+
+
+
+
+ Version.
+
+
+
+
+ CertificateLength.
+
+
+
+
+ CertificateIndex.
+
+
+
+
+ CertificateType.
+
+
+
+
+ CertificateData.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Certificate Revoke
+
+
+
+
+ Version.
+
+
+
+
+ Certificate Table Index.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Certificate Write
+
+
+
+
+ Version.
+
+
+
+
+ Certificate Length.
+
+
+
+
+ Certificate Table Index.
+ Initial value is CertificateIndex.SRCSensusRootCA.
+
+
+
+
+ Certificate Type.
+ Initial value is CertificateType.Normal.
+
+
+
+
+ Certificate Data.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Channel Read
+
+
+
+
+ Version.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Channel Setup
+
+
+
+
+ Version.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Channel Setup when Version is Version0
+
+
+
+
+ Device Type.
+
+
+
+
+ Do Setup Dump.
+
+
+
+
+ Supervisory Transmit Rate [WB/DB].
+
+
+
+
+ STR Change [WB/DB].
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ STR Change [FB LAT].
+
+
+
+
+ Supervisory Transmit Rate [MoM].
+
+
+
+
+ STR Change [MoM].
+
+
+
+
+ Customer Serial Number.
+
+
+
+
+ Customer Serial Number Changed?.
+
+
+
+
+ Latitude.
+
+
+
+
+ Latitude Change.
+
+
+
+
+ Longitude.
+
+
+
+
+ Longitude Change.
+
+
+
+
+ Altitude.
+
+
+
+
+ Altitude Change.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9ChannelSetup_Version0 when Device Type is NA2WGas
+
+
+
+
+ Meter Type.
+
+
+
+
+ Meter Type Changed.
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ MSR Changed.
+
+
+
+
+ Encoder Digits.
+
+
+
+
+ Number of Encoder Digits Changed.
+
+
+
+
+ Lock State.
+
+
+
+
+ LockState Changed.
+
+
+
+
+ Meter Units.
+
+
+
+
+ Units Changed.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ ReadingResolution Changed.
+
+
+
+
+ History Scale.
+
+
+
+
+ History Scale Changed.
+
+
+
+
+ Compensation Factor.
+
+
+
+
+ Compensation Factor Changed.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Top Level State Changed.
+
+
+
+
+ Index Scale.
+
+
+
+
+ Index Scale Changed.
+
+
+
+
+ Broken Pipe Resolution.
+
+
+
+
+ Broken Pipe Threshold.
+
+
+
+
+ Broken Pipe Threshold Changed.
+
+
+
+
+ Broken Pipe Time.
+
+
+
+
+ Broken Pipe Time Changed.
+
+
+
+
+ Reverse Flow Detection Threshold.
+
+
+
+
+ Reverse Flow Parameters Changed.
+
+
+
+
+ Meter Reading.
+
+
+
+
+ Meter Reading Change.
+
+
+
+
+ Index Drive.
+
+
+
+
+ Index Drive Changed.
+
+
+
+
+ Rotation Of Drive Shaft.
+
+
+
+
+ Rotation Changed.
+
+
+
+
+ Pulses Per Revolution.
+
+
+
+
+ Pulse Per Revolution Changed.
+
+
+
+
+ Field Features Change Operation.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9ChannelSetup_Version0 when Device Type is RawMetrology
+
+
+
+
+ Active.
+
+
+
+
+ Active Change.
+
+
+
+
+ Extended MSR.
+
+
+
+
+ Extended MSR Change.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure Id.
+
+
+
+
+ Infrastructure Type and ID Change.
+
+
+
+
+ Sensor Settling Delay.
+
+
+
+
+ Sensor Settling Delay Change.
+
+
+
+
+ Sensor Samples per Measurement.
+
+
+
+
+ Sensor Samples Per Measurement Change.
+
+
+
+
+ Sensor Time Between Samples.
+
+
+
+
+ Sensor Time Between Samples Change.
+
+
+
+
+ Sensor Power Off Delay.
+
+
+
+
+ Sensor Power Off Delay Change.
+
+
+
+
+ Channel Configuration Sequence Number.
+
+
+
+
+ Channel Config Seq Number Change.
+
+
+
+
+ History Scale.
+
+
+
+
+ History Scale Change.
+
+
+
+
+ History Encoding.
+
+
+
+
+ History Encoding Change.
+
+
+
+
+ Field Features Change Operation.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Channel Setup Audit
+
+
+
+
+ Version.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Metrology Configuration Seq. Number.
+
+
+
+
+ Device Type Version.
+
+
+
+
+ Is Bound.
+
+
+
+
+ Is Active.
+
+
+
+
+ MSR is Running.
+
+
+
+
+ Reading is Valid.
+
+
+
+
+ Serial Num is Customer Serial Num.
+
+
+
+
+ Setup Dump Status.
+
+
+
+
+ Attribute String Mask.
+
+
+
+
+ User-Defined Alarm Mask.
+
+
+
+
+ Supervisory Transmit Rate [WBDB].
+
+
+
+
+ Supervisory Transmit Rate [LAT].
+
+
+
+
+ Supervisory Transmit Rate [MoM].
+
+
+
+
+ Security Reset Pending.
+
+
+
+
+ Time Since Read Scale.
+
+
+
+
+ Serial Number.
+
+
+
+
+ MSR Reading.
+
+
+
+
+ Time Since Read.
+
+
+
+
+ Latitude.
+
+
+
+
+ Longitude.
+
+
+
+
+ Altitude.
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Channel Setup Audit when Device Type is NA2WGas
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Meter Type.
+
+
+
+
+ Encoder Digits.
+
+
+
+
+ Lock State.
+
+
+
+
+ Meter Units.
+
+
+
+
+ Reverse Reading.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ History Scale.
+
+
+
+
+ Compensation Factor.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Meter Class.
+
+
+
+
+ Meter Device Type.
+
+
+
+
+ Meter Firmware Version.
+
+
+
+
+ Meter Serial Number.
+
+
+
+
+ Upgrade In-Progress.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9ChannelSetupAudit_NA2WGas when Meter Class is SensusIntegratedGas
+
+
+
+
+ Meter Product Type.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9ChannelSetupAudit_NA2WGas_SensusIntegratedGas when Meter Product Type is SonixV2MeterPhaseII
+
+
+
+
+ Product Configuration Bitmask.
+
+
+
+
+ Metrology Configuration Bitmask.
+
+
+
+
+ Meter Size.
+
+
+
+
+ Pressure Unit of Measure.
+
+
+
+
+ Temperature Unit.
+
+
+
+
+ Temperature Resolution.
+
+
+
+
+ Actual Valve State.
+
+
+
+
+ Fixed Factor Operating Pressure.
+
+
+
+
+ Pressure Resolution.
+
+
+
+
+ Volume Index Scale.
+
+
+
+
+ Atmospheric Pressure.
+
+
+
+
+ Base Pressure.
+
+
+
+
+ Base Temperature.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Channel Setup Audit when Device Type is RawMetrology
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure Id.
+
+
+
+
+ Compression Mode.
+
+
+
+
+ History Scale.
+
+
+
+
+ Extended MSR.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Metrology Class.
+
+
+
+
+ Metrology Type.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9ChannelSetupAudit_RawMetrology when Metrology Class is SensusSmartMeter
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9ChannelSetupAudit_RawMetrology when Metrology Class is _420MA
+
+
+
+
+ Sensor Settling Delay.
+
+
+
+
+ Sensor Samples per Measurement.
+
+
+
+
+ Sensor Time Between Samples.
+
+
+
+
+ Sensor Power Off Delay.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Command Acknowledgment
+
+
+
+
+ Version.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Command Acknowledgment when Version is Standard
+
+
+
+
+ Command Code.
+
+
+
+
+ Command Subtype.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Command Acknowledgment when Version is WaitAck
+
+
+
+
+ Command Code.
+
+
+
+
+ Command Subtype.
+
+
+
+
+ Timeout (sec).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Command Rejection
+
+
+
+
+ Version.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Command Rejection when Version is Standard
+
+
+
+
+ Command Code.
+
+
+
+
+ Command Subtype.
+
+
+
+
+ ReasonType.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9CommandRejection_Standard when ReasonType is FramingError
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9CommandRejection_Standard when ReasonType is PayloadError
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9CommandRejection_Standard when ReasonType is CommandError
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9CommandRejection_Standard when ReasonType is SecurityResult
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Dev Op Request
+
+
+
+
+ Op Category.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Dev Op Request when Op Category is Valve
+
+
+
+
+ Valve Op.
+
+
+
+
+ Dump Valve State.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Dev Op Request when Op Category is Communication
+
+
+
+
+ Comm Op.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9DevOpRequest_Communication when Comm Op is FNv1NetworkAnalysis
+
+
+
+
+ Ping Count.
+
+
+
+
+ Ping Delay.
+
+
+
+
+ Customer ID.
+
+
+
+
+ Base.
+
+
+
+
+ Uplink Channel.
+
+
+
+
+ Downlink Channel.
+
+
+
+
+ Uplink Modulation.
+
+
+
+
+ Downlink Modulation.
+
+
+
+
+ TGB ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Dev Op Result
+
+
+
+
+ Operation Category.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Dev Op Result when Operation Category is Valve
+
+
+
+
+ Message Reason.
+
+
+
+
+ Alarm ID is Predefined.
+
+
+
+
+ Number of Readings.
+
+
+
+
+ Actual Valve State.
+
+
+
+
+ Expected Valve State.
+
+
+
+
+ Time Since Event.
+
+
+
+
+ User Requested Actuation Count.
+
+
+
+
+ Valve Actuation Reason.
+
+
+
+
+ Autonomous Channel.
+
+
+
+
+ Alarm ID.
+
+
+
+
+ Metrology Config Seq Number.
+
+
+
+
+ Alarm Config Seq Number.
+
+
+
+
+ Retries Remaining.
+
+
+
+
+ First Reading Offset
+
+
+
+
+ Reading Record Size
+
+
+
+
+ Reading Record Collection
+
+
+
+
+ This should be called prior to any serialization of this object
+ to ensure that dynamic objects and attributes will be part of
+ the serialized stream and that any other dependent attributes
+ will be initialized properly.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Dev Op Result when Operation Category is Communication
+
+
+
+
+ Communication Operation.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9DevOpResult_Communication when Communication Operation is FNv1NetworkAnalysis
+
+
+
+
+ Result.
+
+
+
+
+ Ping Count.
+
+
+
+
+ Ping Delay.
+
+
+
+
+ TGBs Heard.
+
+
+
+
+ First TGB Offset
+
+
+
+
+ TGB Record Size
+
+
+
+
+ TGB Record Collection
+
+
+
+
+ This should be called prior to any serialization of this object
+ to ensure that dynamic objects and attributes will be part of
+ the serialized stream and that any other dependent attributes
+ will be initialized properly.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Endpoint Setup Audit
+
+
+
+
+ Version.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Endpoint Setup Audit when Version is Version0
+
+
+
+
+ Header.
+
+
+
+
+ FNv1 Base Channel.
+
+
+
+
+ Tx A Channel.
+
+
+
+
+ Tx B Channel.
+
+
+
+
+ Tx C Channel.
+
+
+
+
+ Tx D Channel.
+
+
+
+
+ Rx A Channel.
+
+
+
+
+ Rx B Channel.
+
+
+
+
+ Boost Channel.
+
+
+
+
+ Boost Mode.
+
+
+
+
+ Apply Mas Channel Shift.
+
+
+
+
+ Number Of Channels.
+
+
+
+
+ First ChannelInfo Offset
+
+
+
+
+ ChannelInfo Record Size
+
+
+
+
+ ChannelInfo Record Collection
+
+
+
+
+ This should be called prior to any serialization of this object
+ to ensure that dynamic objects and attributes will be part of
+ the serialized stream and that any other dependent attributes
+ will be initialized properly.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Endpoint Setup Audit when Version is Version1
+
+
+
+
+ Header.
+
+
+
+
+ Number Of Channels.
+
+
+
+
+ First ChannelInfo Offset
+
+
+
+
+ ChannelInfo Record Size
+
+
+
+
+ ChannelInfo Record Collection
+
+
+
+
+ This should be called prior to any serialization of this object
+ to ensure that dynamic objects and attributes will be part of
+ the serialized stream and that any other dependent attributes
+ will be initialized properly.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 EP Setup
+
+
+
+
+ Version.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 EP Setup when Version is Version0
+
+
+
+
+ Fallback Enabled.
+
+
+
+
+ Tcxo Correction.
+
+
+
+
+ Tcxo Correction Change.
+
+
+
+
+ Latitude.
+
+
+
+
+ Latitude Change.
+
+
+
+
+ Longitude.
+
+
+
+
+ Longitude Change.
+
+
+
+
+ Altitude.
+
+
+
+
+ Altitude Change.
+
+
+
+
+ Rtc Seconds.
+
+
+
+
+ Rtc Hour.
+
+
+
+
+ Epoch Time.
+
+
+
+
+ Rtc And Epoch Change.
+
+
+
+
+ Programmer ID.
+
+
+
+
+ Programmer ID Change.
+
+
+
+
+ Alarm Suppression Disabled.
+
+
+
+
+ Alarm Suppression Disabled Change.
+
+
+
+
+ Tx Op Mode Idle.
+
+
+
+
+ Tx Op Mode Idle Change.
+
+
+
+
+ Tx Op Mode Wbdb.
+
+
+
+
+ Tx Op Mode Wbdb Change.
+
+
+
+
+ Tx Op Mode Lat.
+
+
+
+
+ Tx Op Mode Lat Change.
+
+
+
+
+ Tx Op Mode Mom.
+
+
+
+
+ Tx Op Mode Mom Change.
+
+
+
+
+ Wbdb Sniff Interval Idle.
+
+
+
+
+ Wbdb Sniff Interval Idle Change.
+
+
+
+
+ Wbdb Sniff Interval Wbdb.
+
+
+
+
+ Wbdb Sniff Interval Wbdb Change.
+
+
+
+
+ Wbdb Sniff Interval Lat.
+
+
+
+
+ Wbdb Sniff Interval Lat Change.
+
+
+
+
+ Wbdb Sniff Interval Mom.
+
+
+
+
+ Wbdb Sniff Interval Mom Change.
+
+
+
+
+ Lat Occurence.
+
+
+
+
+ Lat Occurence Change.
+
+
+
+
+ Hhd Lat Delay.
+
+
+
+
+ Hhd Lat Delay Change.
+
+
+
+
+ Vgb Lat Delay.
+
+
+
+
+ Vgb Lat Delay Change.
+
+
+
+
+ Tgb Lat Delay.
+
+
+
+
+ Tgb Lat Delay Change.
+
+
+
+
+ Hhd Lat Rx On Time.
+
+
+
+
+ Hhd Lat Rx On Time Change.
+
+
+
+
+ Vgb Lat Rx On Time.
+
+
+
+
+ Vgb Lat Rx On Time Change.
+
+
+
+
+ Tgb Lat Rx On Time.
+
+
+
+
+ Tgb Lat Rx On Time Change.
+
+
+
+
+ Autonomous Tx Count.
+
+
+
+
+ Autonomous Tx Count Change.
+
+
+
+
+ Customer Id.
+
+
+
+
+ Customer Id Change.
+
+
+
+
+ Fnv1 Base Frequency.
+
+
+
+
+ Fnv1 Base Frequency Change.
+
+
+
+
+ Tx A Channel.
+
+
+
+
+ Tx A Channel Change.
+
+
+
+
+ Tx B Channel.
+
+
+
+
+ Tx B Channel Change.
+
+
+
+
+ Tx C Channel.
+
+
+
+
+ Tx C Channel Change.
+
+
+
+
+ Tx D Channel.
+
+
+
+
+ Tx D Channel Change.
+
+
+
+
+ Rx A Channel.
+
+
+
+
+ Rx A Channel Change.
+
+
+
+
+ Rx B Channel.
+
+
+
+
+ Rx B Channel Change.
+
+
+
+
+ Boost Channel.
+
+
+
+
+ Boost Channel Change.
+
+
+
+
+ Boost Mode Tx Channel Mask.
+
+
+
+
+ Boost Mode Tx Channel Mask Change.
+
+
+
+
+ Apply Mas Channel Shift.
+
+
+
+
+ Apply Mas Channel Shift Change.
+
+
+
+
+ Fnv2 Base Channel.
+
+
+
+
+ Fnv2 Base Channel Change.
+
+
+
+
+ Standard Channel.
+
+
+
+
+ Poll Response Channel.
+
+
+
+
+ Alarm Channel.
+
+
+
+
+ Buddy Channel.
+
+
+
+
+ Command Channel.
+
+
+
+
+ Vgb Channel.
+
+
+
+
+ Ensure Channel.
+
+
+
+
+ Critical Channel.
+
+
+
+
+ Field Features Change Operation.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 FW Download Command
+
+
+
+
+ Version.
+
+
+
+
+ Product Type.
+
+
+
+
+ Block Number 0.
+
+
+
+
+ Data 0.
+
+
+
+
+ Block Number 1.
+
+
+
+
+ Data 1.
+
+
+
+
+ Block Number 2.
+
+
+
+
+ Data 2.
+
+
+
+
+ Block Number 3.
+
+
+
+
+ Data 3.
+
+
+
+
+ Block Number 4.
+
+
+
+
+ Data 4.
+
+
+
+
+ Block Number 5.
+
+
+
+
+ Data 5.
+
+
+
+
+ Block Number 6.
+
+
+
+
+ Data 6.
+
+
+
+
+ Block Number 7.
+
+
+
+
+ Data 7.
+
+
+
+
+ Block Number 8.
+
+
+
+
+ Data 8.
+
+
+
+
+ Block Number 9.
+
+
+
+
+ Data 9.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Loopback Command
+
+
+
+
+ Version.
+
+
+
+
+ Data.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Loopback Message
+
+
+
+
+ Version.
+
+
+
+
+ Data.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Message Acknowledgment
+
+
+
+
+ Version.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Message Acknowledgment when Version is Standard
+
+
+
+
+ Message App Code.
+
+
+
+
+ Message Subtype.
+
+
+
+
+ Message RF Seq Number.
+
+
+
+
+ Response Requested.
+
+
+
+
+ Message Session ID.
+
+
+
+
+ Message Signal Level.
+
+
+
+
+ Message Noise Level.
+
+
+
+
+ TGB ID.
+
+
+
+
+ RNI ID.
+
+
+
+
+ Discriminator.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Message Request
+
+
+
+
+ Version.
+
+
+
+
+ App Code.
+
+
+
+
+ App Code Version.
+
+
+
+
+ App Code Subtype.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Security Setup
+
+
+
+
+ Version.
+
+
+
+
+ Subtype.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Security Setup when Subtype is SetSecretKey
+
+
+
+
+ Key Type.
+
+
+
+
+ 256-bit Key.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Security Setup when Subtype is ECDHV0EphemeralKeypair
+
+
+
+
+ Key Type.
+
+
+
+
+ Ephemeral Public Key.
+
+
+
+
+ ShortHash.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Security Setup when Subtype is ECDHV1NONCEBasedKeyDerivation
+
+
+
+
+ Key Type.
+
+
+
+
+ Nonce Data.
+
+
+
+
+ ShortHash.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Security Setup when Subtype is SecurityReset
+
+
+
+
+ Erase CSC certs and AES keys.
+
+
+
+
+ Deactivate Device.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Security Setup when Subtype is SecurityConfigure
+
+
+
+
+ SecurityResetBlockUnseal.
+
+
+
+
+ SecurityRulesEnable.
+
+
+
+
+ SecurityRulesEnableChanged.
+
+
+
+
+ JtagAccessEnable.
+
+
+
+
+ JtagAccessEnableChanged.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FT9 Security Setup Audit
+
+
+
+
+ Version.
+
+
+
+
+ Security Reset Pending.
+
+
+
+
+ Epoch Time.
+ Seconds since Jan 1, 2000..
+
+
+
+
+ Security State Info.
+
+
+
+
+ Security Configuration.
+
+
+
+
+ RNI Unique Key ShortHash.
+
+
+
+
+ RNI Shared Key ShortHash.
+
+
+
+
+ WB/DB Unique Key ShortHash.
+
+
+
+
+ Handheld Unique Key ShortHash.
+
+
+
+
+ Asymmetric Private Key ShortHash.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Tunneled Command
+
+
+
+
+ Protocol Type.
+
+
+
+
+ Payload.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FT9 Tunneled Response
+
+
+
+
+ Protocol Type.
+
+
+
+
+ Payload.
+
+
+
+
+ Called by Frame class - it will update the frame size to
+ the value returned here.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ IP Configuration
+
+
+
+
+ # interface entries.
+ Initial value is 1.
+
+
+
+
+ Interface name.
+
+
+
+
+ # IPv6 addresses.
+ Initial value is 1.
+
+
+
+
+ Route over this interface?.
+
+
+
+
+ Act as RADVD answering RS requests.
+
+
+
+
+ Use FlexIP SLAAC.
+
+
+
+
+ Send RS request to RADVD out local.
+
+
+
+
+ Enable Internet operation.
+
+
+
+
+ Interface number.
+
+
+
+
+ Global routing prefix.
+
+
+
+
+ IPv6 address.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Message Acknowledgement
+
+
+
+
+ Message App Code.
+
+
+
+
+ App Code Subtype (0 if unused).
+
+
+
+
+ Message RF Seq Num.
+
+
+
+
+ Response requested.
+
+
+
+
+ Message App Seq Num.
+
+
+
+
+ Message Signal Level.
+
+
+
+
+ Message Noise Level.
+
+
+
+
+ TGB ID.
+
+
+
+
+ RNI ID.
+
+
+
+
+ App Code Specific Data (set to 0 if unused).
+
+
+
+
+ Current Epoch Time.
+
+
+
+
+ Current Critical Reading Time (15min increments).
+
+
+
+
+ FlexNet Time of Next Time Shift.
+
+
+
+
+ Crit. Reading Time After Time Shift (15min increments).
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Meter Event Log Response Header
+
+
+
+
+ Response Version.
+
+
+
+
+ Record Format.
+
+
+
+
+ Num Logs Found.
+
+
+
+
+ Num Logs Returned.
+
+
+
+
+ LogData1.
+
+
+
+
+ LogData2.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Channel Setup 2 Audit
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Channel Setup 2 Audit when Device Type is NA2WWater
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Tilt Tamper Setting.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup 2 Audit when Device Type is NA2WGas
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Customer Serial Number.
+
+
+
+
+ Critical Reading Time (15min increments).
+
+
+
+
+ Critical Reading Window Size (5min increments).
+
+
+
+
+ Critical Reading on Tx Chan B?.
+
+
+
+
+ Epoch Time of Next Time Shift.
+
+
+
+
+ CR Time After Time Shift (15min increments).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup 2 Audit when Device Type is NA2WGSV
+
+
+
+
+ Meter Sample Rate.
+
+
+
+
+ Customer Serial Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup 2 Audit when Device Type is NA2WMLC
+
+
+
+
+ Dither Sunrise/Sunset Times.
+
+
+
+
+ Sunrise Adjustment (5min increments).
+
+
+
+
+ Sunset Adjustment (5min increments).
+
+
+
+
+ Lighting Level 1 Configuration.
+
+
+
+
+ Lighting Level 2 Configuration.
+
+
+
+
+ Lighting Level 3 Configuration.
+
+
+
+
+ Lighting Level 4 Configuration.
+
+
+
+
+ Lighting Level 5 Configuration.
+
+
+
+
+ Lighting Level 6 Configuration.
+
+
+
+
+ Light On Delay.
+
+
+
+
+ Blink Slot Time.
+
+
+
+
+ Dim On Delay.
+
+
+
+
+ Blink On Light Level.
+
+
+
+
+ Blink Off Light Level.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup 2 Audit when Device Type is NA2W3PortRemoteGas
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Customer Serial Number.
+
+
+
+
+ Critical Reading Time (15min increments).
+
+
+
+
+ Critical Reading Window Size (5min increments).
+
+
+
+
+ Critical Reading on Tx Chan B?.
+
+
+
+
+ Epoch Time of Next Time Shift.
+
+
+
+
+ CR Time After Time Shift (15min increments).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup 2 Audit when Device Type is LibertyGas
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Customer Serial Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Fixed Base Configuration
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Fixed Base Configuration when Device Type is RawMetrology
+
+
+
+
+ Product Type.
+
+
+
+
+ Product Version [Minor].
+
+
+
+
+ Product Version [Major].
+
+
+
+
+ Product Version [Beta].
+
+
+
+
+ Product Version Patch Level.
+
+
+
+
+ Device Type Version [Minor].
+
+
+
+
+ Device Type Version [Major].
+
+
+
+
+ Device Type Version [Beta].
+
+
+
+
+ Device Type Version [Patch].
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Receiver Channel.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MOM].
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Receiver Rate.
+
+
+
+
+ Extended Meter Sample Rate.
+
+
+
+
+ Supervisory Transmit Rate - FB LAT.
+
+
+
+
+ Encryption State Channel.
+
+
+
+
+ Supervisory Transmit Rate - FB MOM.
+
+
+
+
+ Active.
+
+
+
+
+ Programmer ID.
+
+
+
+
+ RTC Epoch Time.
+
+
+
+
+ Metrology Type.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Fixed Base Configuration when Device Type is BatteryEndpoint
+
+
+
+
+ Product Type.
+
+
+
+
+ Product Version [Minor].
+
+
+
+
+ Product Version [Major].
+
+
+
+
+ Product Version [Beta].
+
+
+
+
+ Product Version Patch Level.
+
+
+
+
+ Device Type Version [Minor].
+
+
+
+
+ Device Type Version [Major].
+
+
+
+
+ Device Type Version [Beta].
+
+
+
+
+ Device Type Version [Patch].
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Receiver Channel.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MOM].
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Receiver Rate.
+
+
+
+
+ Meter Sample Rate.
+
+
+
+
+ Active.
+
+
+
+
+ Supervisory Transmit Rate - FB LAT.
+
+
+
+
+ Supervisory Transmit Rate - FB MOM.
+
+
+
+
+ Programmer ID.
+
+
+
+
+ RTC Epoch Time.
+
+
+
+
+ Battery Type.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Fixed Base Configuration when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Product Type.
+
+
+
+
+ Product Version [Minor].
+
+
+
+
+ Product Version [Major].
+
+
+
+
+ Product Version [Beta].
+
+
+
+
+ Product Version Patch Level.
+
+
+
+
+ Device Type Version [Minor].
+
+
+
+
+ Device Type Version [Major].
+
+
+
+
+ Device Type Version [Beta].
+
+
+
+
+ Device Type Version [Patch].
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Receiver Channel.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MOM].
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Receiver Rate.
+
+
+
+
+ Meter Sample Rate.
+
+
+
+
+ Active.
+
+
+
+
+ Supervisory Transmit Rate - FB LAT.
+
+
+
+
+ Encryption State Channel.
+
+
+
+
+ Supervisory Transmit Rate - FB MOM.
+
+
+
+
+ Programmer ID.
+
+
+
+
+ RTC Epoch Time.
+
+
+
+
+ Cathodic Protection Type.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Fixed Base Configuration when Device Type is MainsEndpoint
+
+
+
+
+ Product Type.
+
+
+
+
+ Product Version [Minor].
+
+
+
+
+ Product Version [Major].
+
+
+
+
+ Product Version [Beta].
+
+
+
+
+ Product Version Patch Level.
+
+
+
+
+ Device Type Version [Minor].
+
+
+
+
+ Device Type Version [Major].
+
+
+
+
+ Device Type Version [Beta].
+
+
+
+
+ Device Type Version [Patch].
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Receiver Channel.
+
+
+
+
+ Tx OpMode.
+
+
+
+
+ Top Level State.
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Receiver Rate.
+
+
+
+
+ Meter Sample Rate.
+
+
+
+
+ Active.
+
+
+
+
+ Supervisory Transmit Rate.
+
+
+
+
+ Programmer ID.
+
+
+
+
+ RTC Epoch Time.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Fixed Base Configuration when Device Type is RectifierMonitor
+
+
+
+
+ Product Type.
+
+
+
+
+ Product Version [Minor].
+
+
+
+
+ Product Version [Major].
+
+
+
+
+ Product Version [Beta].
+
+
+
+
+ Product Version Patch Level.
+
+
+
+
+ Device Type Version [Minor].
+
+
+
+
+ Device Type Version [Major].
+
+
+
+
+ Device Type Version [Beta].
+
+
+
+
+ Device Type Version [Patch].
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Receiver Channel.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MOM].
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Rectifier Monitor Factory Features.
+
+
+
+
+ Rectifier Monitor Field Features.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Receiver Rate.
+
+
+
+
+ Meter Sample Rate.
+
+
+
+
+ Active.
+
+
+
+
+ Supervisory Transmit Rate - FB LAT.
+
+
+
+
+ Encrypted State Channel.
+
+
+
+
+ Supervisory Transmit Rate - FB MOM.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Programmer ID.
+
+
+
+
+ RTC Epoch Time.
+
+
+
+
+ Rectifier Monitor Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W FNV2 Setup
+
+
+
+
+ Version.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W FNV2 Setup when Version is Version0
+
+
+
+
+ Suppress ACK Response.
+
+
+
+
+ Trigger Setup Dump.
+
+
+
+
+ Base Frequency Channel Changed.
+
+
+
+
+ Base Frequency Channel.
+
+
+
+
+ Standard Channel Parameters Changed.
+
+
+
+
+ Standard RF Channel.
+
+
+
+
+ Standard MTU.
+
+
+
+
+ Standard Modulation.
+
+
+
+
+ Poll Response Channel Parameters Changed.
+
+
+
+
+ Poll Response RF Channel.
+
+
+
+
+ Poll Response MTU.
+
+
+
+
+ Poll Response Modulation.
+
+
+
+
+ Alarm Channel Parameters Changed.
+
+
+
+
+ Alarm RF Channel.
+
+
+
+
+ Alarm MTU.
+
+
+
+
+ Alarm Modulation.
+
+
+
+
+ Buddy Channel Parameters Changed.
+
+
+
+
+ Buddy RF Channel.
+
+
+
+
+ Buddy MTU.
+
+
+
+
+ Buddy Modulation.
+
+
+
+
+ Command Channel Parameters Changed.
+
+
+
+
+ Command RF Channel.
+
+
+
+
+ Command MTU.
+
+
+
+
+ Command Modulation.
+
+
+
+
+ VGB Channel Parameters Changed.
+
+
+
+
+ VGB RF Channel.
+
+
+
+
+ VGB MTU.
+
+
+
+
+ VGB Modulation.
+
+
+
+
+ Ensure Channel Parameters Changed.
+
+
+
+
+ Ensure RF Channel.
+
+
+
+
+ Ensure MTU.
+
+
+
+
+ Ensure Modulation.
+
+
+
+
+ Critical Channel Parameters Changed.
+
+
+
+
+ Critical RF Channel.
+
+
+
+
+ Critical MTU.
+
+
+
+
+ Critical Modulation.
+
+
+
+
+ Transmit Operational Mode Changed [Idle].
+
+
+
+
+ Transmit Operational Mode [Idle].
+
+
+
+
+ Transmit Operational Mode Changed [WB/DB].
+
+
+
+
+ Transmit Operational Mode [WB/DB].
+
+
+
+
+ Transmit Operational Mode Changed [FB LAT].
+
+
+
+
+ Transmit Operational Mode [FB LAT].
+
+
+
+
+ Transmit Operational Mode Changed [FB MoM].
+
+
+
+
+ Transmit Operational Mode [FB MoM].
+
+
+
+
+ WB/DB Sniff Interval Changed [Idle].
+
+
+
+
+ WB/DB Sniff Interval [Idle] (sec).
+
+
+
+
+ WB/DB Sniff Interval Changed [WB/DB].
+
+
+
+
+ WB/DB Sniff Interval [WB/DB] (sec).
+
+
+
+
+ WB/DB Sniff Interval Changed [FB LAT].
+
+
+
+
+ WB/DB Sniff Interval [FB LAT] (sec).
+
+
+
+
+ WB/DB Sniff Interval Changed [FB MoM].
+
+
+
+
+ WB/DB Sniff Interval [FB MoM] (sec).
+
+
+
+
+ LAT Occurrence Changed.
+
+
+
+
+ LAT Occurrence.
+
+
+
+
+ LAT On Time Changed [HHD].
+
+
+
+
+ LAT On Time [HHD].
+
+
+
+
+ LAT On Time Changed [VGB].
+
+
+
+
+ LAT On Time [VGB].
+
+
+
+
+ LAT On Time Changed [TGB].
+
+
+
+
+ LAT On Time [TGB].
+
+
+
+
+ LAT Delay Changed [HHD].
+
+
+
+
+ LAT Delay [HHD].
+
+
+
+
+ LAT Delay Changed [VGB].
+
+
+
+
+ LAT Delay [VGB].
+
+
+
+
+ LAT Delay Changed [TGB].
+
+
+
+
+ LAT Delay [TGB].
+
+
+
+
+ Field Features Change Operation.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Meter Information
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Meter Information when Device Type is NA2WWater
+
+
+
+
+ Message Reason.
+
+
+
+
+ Meter Class.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WMeterInformation_NA2WWater when Meter Class is SensusECRProtocolNoBidi
+
+
+
+
+ UI1236 Meter Type.
+
+
+
+
+ Meter Firmware Version.
+
+
+
+
+ Meter NA2W FlexNet Product Type.
+
+
+
+
+ Meter FlexNet Device Type.
+
+
+
+
+ Meter Alarm Formats Supported.
+
+
+
+
+ Meter Size.
+
+
+
+
+ Is Capabilities.
+
+
+
+
+ Upgrade In-Progress.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WMeterInformation_NA2WWater_SensusECRProtocolNoBidi when Upgrade In-Progress is False
+
+
+
+
+ Error Code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WMeterInformation_NA2WWater_SensusECRProtocolNoBidi when Upgrade In-Progress is True
+
+
+
+
+ Progress.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WMeterInformation_NA2WWater when Meter Class is SensusECRProtocolBidiCompatible
+
+
+
+
+ UI1236 Meter Type.
+
+
+
+
+ Meter Firmware Version.
+
+
+
+
+ Meter NA2W FlexNet Product Type.
+
+
+
+
+ Meter FlexNet Device Type.
+
+
+
+
+ Meter Alarm Formats Supported.
+
+
+
+
+ Meter Size.
+
+
+
+
+ Is Capabilities.
+
+
+
+
+ Upgrade In-Progress.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WMeterInformation_NA2WWater_SensusECRProtocolBidiCompatible when Upgrade In-Progress is False
+
+
+
+
+ Error Code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WMeterInformation_NA2WWater_SensusECRProtocolBidiCompatible when Upgrade In-Progress is True
+
+
+
+
+ Progress.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WMeterInformation_NA2WWater when Meter Class is NeptuneProRead
+
+
+
+
+ UI1236 Meter Type.
+
+
+
+
+ Meter Firmware Version.
+
+
+
+
+ Meter NA2W FlexNet Product Type.
+
+
+
+
+ Meter FlexNet Device Type.
+
+
+
+
+ Meter Alarm Formats Supported.
+
+
+
+
+ Meter Size.
+
+
+
+
+ Is Capabilities.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WMeterInformation_NA2WWater when Meter Class is NeptuneECoder
+
+
+
+
+ UI1236 Meter Type.
+
+
+
+
+ Meter Firmware Version.
+
+
+
+
+ Meter NA2W FlexNet Product Type.
+
+
+
+
+ Meter FlexNet Device Type.
+
+
+
+
+ Meter Alarm Formats Supported.
+
+
+
+
+ Meter Size.
+
+
+
+
+ Is Capabilities.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WMeterInformation_NA2WWater when Meter Class is BadgerRTR
+
+
+
+
+ UI1236 Meter Type.
+
+
+
+
+ Meter Firmware Version.
+
+
+
+
+ Meter NA2W FlexNet Product Type.
+
+
+
+
+ Meter FlexNet Device Type.
+
+
+
+
+ Meter Alarm Formats Supported.
+
+
+
+
+ Meter Size.
+
+
+
+
+ Is Capabilities.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WMeterInformation_NA2WWater when Meter Class is AMCOScanCoder
+
+
+
+
+ UI1236 Meter Type.
+
+
+
+
+ Meter Firmware Version.
+
+
+
+
+ Meter NA2W FlexNet Product Type.
+
+
+
+
+ Meter FlexNet Device Type.
+
+
+
+
+ Meter Alarm Formats Supported.
+
+
+
+
+ Meter Size.
+
+
+
+
+ Is Capabilities.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WMeterInformation_NA2WWater when Meter Class is AMCOInVision
+
+
+
+
+ UI1236 Meter Type.
+
+
+
+
+ Meter Firmware Version.
+
+
+
+
+ Meter NA2W FlexNet Product Type.
+
+
+
+
+ Meter FlexNet Device Type.
+
+
+
+
+ Meter Alarm Formats Supported.
+
+
+
+
+ Meter Size.
+
+
+
+
+ Is Capabilities.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WMeterInformation_NA2WWater when Meter Class is SensusRF
+
+
+
+
+ Register Radio Address.
+
+
+
+
+ Meter Serial Number.
+
+
+
+
+ Bound SmartPoint FLexNet ID.
+
+
+
+
+ Meter FlexNet Product Type.
+
+
+
+
+ Meter FlexNet Device Type.
+
+
+
+
+ Active Alarm Mask.
+
+
+
+
+ Leakage Detection Parameters.
+
+
+
+
+ Broken Pipe Detection Parameters.
+
+
+
+
+ FlexNet Product Version [Minor].
+
+
+
+
+ FlexNet Product Version [Major].
+
+
+
+
+ FlexNet Product Version [Beta].
+
+
+
+
+ FlexNet Product Version [Patch].
+
+
+
+
+ Use CnI Rules.
+
+
+
+
+ Meter Units.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ Meter Size.
+
+
+
+
+ Metrology Product Version [Minor].
+
+
+
+
+ Metrology Product Version [Major].
+
+
+
+
+ Metrology Product Version [Beta].
+
+
+
+
+ Metrology Product Version [Patch].
+
+
+
+
+ Metrology CRC16.
+
+
+
+
+ Error Code.
+
+
+
+
+ Error Priority.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WMeterInformation_NA2WWater when Meter Class is WirelessMBus
+
+
+
+
+ Meter Manufacturer.
+
+
+
+
+ Meter Generation.
+
+
+
+
+ Wireless M-Bus Device Type.
+
+
+
+
+ Meter Status.
+
+
+
+
+ Wireless M-Bus Meter ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Meter Information when Device Type is NA2WGas
+
+
+
+
+ Message Reason.
+
+
+
+
+ Meter Class.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WMeterInformation_NA2WGas when Meter Class is SensusIntegratedGas
+
+
+
+
+ Meter Family.
+
+
+
+
+ Meter Firmware Version [Minor].
+
+
+
+
+ Meter Firmware Version [Major].
+
+
+
+
+ Meter Firmware Version [Beta].
+
+
+
+
+ Meter Firmware Version [Patch].
+
+
+
+
+ Meter Product Type.
+
+
+
+
+ Meter Device Type.
+
+
+
+
+ Product Configuration Bitmask.
+
+
+
+
+ Metrology Configuration Bitmask.
+
+
+
+
+ Meter Size.
+
+
+
+
+ Pressure Unit of Measure.
+
+
+
+
+ Temperature Unit of Measure.
+
+
+
+
+ Fixed Factor Operating Pressure.
+
+
+
+
+ Pressure Resolution.
+
+
+
+
+ Volume Unit of Measure.
+
+
+
+
+ Volume Index Scale.
+
+
+
+
+ Volume Reading Resolution.
+
+
+
+
+ Upgrade In-Progress.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WMeterInformation_NA2WGas_SensusIntegratedGas when Upgrade In-Progress is False
+
+
+
+
+ Error Code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WMeterInformation_NA2WGas_SensusIntegratedGas when Upgrade In-Progress is True
+
+
+
+
+ Progress.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Meter Information when Device Type is RectifierMonitor
+
+
+
+
+ Message Reason.
+
+
+
+
+ Rectifier Monitor Type.
+
+
+
+
+ Product ID.
+
+
+
+
+ Unit/Stream ID.
+
+
+
+
+ Bullhorn Control Module FW ver..
+
+
+
+
+ Bullhorn GPS Module FW ver..
+
+
+
+
+ Bullhorn I/O Module FW ver..
+
+
+
+
+ Battery Type.
+
+
+
+
+ Battery Install Date.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Read with History
+
+
+
+
+ Reading.
+
+
+
+
+ Relative Time Stamp.
+
+
+
+
+ Time Stamp Scale.
+
+
+
+
+ History Encoding.
+
+
+
+
+ History Scale.
+
+
+
+
+ History Samples.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Smart Alarm Clear
+
+
+
+
+ Device Type.
+
+
+
+
+ Change alarm persistence period.
+
+
+
+
+ Clear Pre-Defined Alarms Bitfield.
+
+
+
+
+ Clear User-Defined Alarms Bitfield.
+
+
+
+
+ Persistence Period in Days.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Smart Alarm Configuration Audit
+
+
+
+
+ Message Reason.
+
+
+
+
+ Number of user-defined alarms available.
+
+
+
+
+ Version.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Smart Alarm Configuration Audit when Version is Version0
+
+
+
+
+ Alarm persistence period (days).
+
+
+
+
+ Alarm Type [0].
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSmartAlarmConfigurationAudit_Version0 when Alarm Type [0] is UnderThreshold
+
+
+
+
+ Alarm ID [0].
+
+
+
+
+ Action [0].
+
+
+
+
+ Action Channel [0].
+
+
+
+
+ Action Opcode [0].
+
+
+
+
+ Threshold value (raw units) [0].
+
+
+
+
+ Time Limit (seconds) [0].
+
+
+
+
+ Alarm configuration sequence number [0].
+
+
+
+
+ Metrology configuration sequence number [0].
+
+
+
+
+ Alarm Type [1].
+
+
+
+
+ Alarm ID [1].
+
+
+
+
+ Action [1].
+
+
+
+
+ Action Channel [1].
+
+
+
+
+ Action Opcode [1].
+
+
+
+
+ Threshold value (raw units) [1].
+
+
+
+
+ Time Limit (seconds) [1].
+
+
+
+
+ Alarm configuration sequence number [1].
+
+
+
+
+ Metrology configuration sequence number [1].
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSmartAlarmConfigurationAudit_Version0 when Alarm Type [0] is OverThreshold
+
+
+
+
+ Alarm ID [0].
+
+
+
+
+ Action [0].
+
+
+
+
+ Action Channel [0].
+
+
+
+
+ Action Opcode [0].
+
+
+
+
+ Threshold value (raw units) [0].
+
+
+
+
+ Time Limit (seconds) [0].
+
+
+
+
+ Alarm configuration sequence number [0].
+
+
+
+
+ Metrology configuration sequence number [0].
+
+
+
+
+ Alarm Type [1].
+
+
+
+
+ Alarm ID [1].
+
+
+
+
+ Action [1].
+
+
+
+
+ Action Channel [1].
+
+
+
+
+ Action Opcode [1].
+
+
+
+
+ Threshold value (raw units) [1].
+
+
+
+
+ Time Limit (seconds) [1].
+
+
+
+
+ Alarm configuration sequence number [1].
+
+
+
+
+ Metrology configuration sequence number [1].
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSmartAlarmConfigurationAudit_Version0 when Alarm Type [0] is InsideRange
+
+
+
+
+ Alarm ID.
+
+
+
+
+ Action.
+
+
+
+
+ Action Channel.
+
+
+
+
+ Action Opcode.
+
+
+
+
+ Lower threshold value (raw units).
+
+
+
+
+ Upper threshold value (raw units).
+
+
+
+
+ Time Limit (seconds).
+
+
+
+
+ Alarm configuration sequence number.
+
+
+
+
+ Metrology configuration sequence number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSmartAlarmConfigurationAudit_Version0 when Alarm Type [0] is OutsideRange
+
+
+
+
+ Alarm ID.
+
+
+
+
+ Action.
+
+
+
+
+ Action Channel.
+
+
+
+
+ Action Opcode.
+
+
+
+
+ Lower threshold value (raw units).
+
+
+
+
+ Upper threshold value, (raw units).
+
+
+
+
+ Time Limit (seconds).
+
+
+
+
+ Alarm configuration sequence number.
+
+
+
+
+ Metrology configuration sequence number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSmartAlarmConfigurationAudit_Version0 when Alarm Type [0] is OverRate
+
+
+
+
+ Alarm ID [0].
+
+
+
+
+ Action [0].
+
+
+
+
+ Action Channel [0].
+
+
+
+
+ Action Opcode [0].
+
+
+
+
+ Rate (raw units/sec) [0].
+
+
+
+
+ Time Limit (seconds) [0].
+
+
+
+
+ Alarm configuration sequence number [0].
+
+
+
+
+ Metrology configuration sequence number [0].
+
+
+
+
+ Alarm Type [1].
+
+
+
+
+ Alarm ID [1].
+
+
+
+
+ Action [1].
+
+
+
+
+ Action Channel [1].
+
+
+
+
+ Action Opcode [1].
+
+
+
+
+ Rate (raw units/sec) [1].
+
+
+
+
+ Time Limit (seconds) [1].
+
+
+
+
+ Alarm configuration sequence number [1].
+
+
+
+
+ Metrology configuration sequence number [1].
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSmartAlarmConfigurationAudit_Version0 when Alarm Type [0] is UnderRate
+
+
+
+
+ Alarm ID [0].
+
+
+
+
+ Action [0].
+
+
+
+
+ Action Channel [0].
+
+
+
+
+ Action Opcode [0].
+
+
+
+
+ Rate (raw units/sec) [0].
+
+
+
+
+ Time Limit (seconds) [0].
+
+
+
+
+ Alarm configuration sequence number [0].
+
+
+
+
+ Metrology configuration sequence number [0].
+
+
+
+
+ Alarm Type [1].
+
+
+
+
+ Alarm ID [1].
+
+
+
+
+ Action [1].
+
+
+
+
+ Action Channel [1].
+
+
+
+
+ Action Opcode [1].
+
+
+
+
+ Rate (raw units/sec) [1].
+
+
+
+
+ Time Limit (seconds) [1].
+
+
+
+
+ Alarm configuration sequence number [1].
+
+
+
+
+ Metrology configuration sequence number [1].
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSmartAlarmConfigurationAudit_Version0 when Alarm Type [0] is Unused
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Smart Alarm Configuration Audit when Version is Version1
+
+
+
+
+ Alarm configuration sequence number.
+
+
+
+
+ Metrology configuration sequence number.
+
+
+
+
+ Configured user-defined mask.
+
+
+
+
+ Alarm persistence period (days).
+
+
+
+
+ Alarm ID.
+
+
+
+
+ Alarm State.
+
+
+
+
+ Time since alarm condition triggered [raw].
+
+
+
+
+ Time since alarm condition was no longer present [raw].
+
+
+
+
+ Alarm Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSmartAlarmConfigurationAudit_Version1 when Alarm Type is UnderThreshold
+
+
+
+
+ Action.
+
+
+
+
+ Action Channel.
+
+
+
+
+ Action Opcode.
+
+
+
+
+ Threshold value (raw units).
+
+
+
+
+ Time Limit (seconds).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSmartAlarmConfigurationAudit_Version1 when Alarm Type is OverThreshold
+
+
+
+
+ Action.
+
+
+
+
+ Action Channel.
+
+
+
+
+ Action Opcode.
+
+
+
+
+ Threshold value (raw units).
+
+
+
+
+ Time Limit (seconds).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSmartAlarmConfigurationAudit_Version1 when Alarm Type is InsideRange
+
+
+
+
+ Action.
+
+
+
+
+ Action Channel.
+
+
+
+
+ Action Opcode.
+
+
+
+
+ Lower threshold value (raw units).
+
+
+
+
+ Upper threshold value, (raw units).
+
+
+
+
+ Time Limit (seconds).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSmartAlarmConfigurationAudit_Version1 when Alarm Type is OutsideRange
+
+
+
+
+ Action.
+
+
+
+
+ Action Channel.
+
+
+
+
+ Action Opcode.
+
+
+
+
+ Lower threshold value (raw units).
+
+
+
+
+ Upper threshold value, (raw units).
+
+
+
+
+ Time Limit (seconds).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSmartAlarmConfigurationAudit_Version1 when Alarm Type is OverRate
+
+
+
+
+ Action.
+
+
+
+
+ Action Channel.
+
+
+
+
+ Action Opcode.
+
+
+
+
+ Rate (raw units/sec).
+
+
+
+
+ Time Limit (seconds).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSmartAlarmConfigurationAudit_Version1 when Alarm Type is UnderRate
+
+
+
+
+ Action.
+
+
+
+
+ Action Channel.
+
+
+
+
+ Action Opcode.
+
+
+
+
+ Rate (raw units/sec).
+
+
+
+
+ Time Limit (seconds).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSmartAlarmConfigurationAudit_Version1 when Alarm Type is Unused
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Set iConA Communication Mode
+
+
+
+
+ Communication Mode.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set SensusRF Encryption Key
+
+
+
+
+ SensusRF Encryption Key.
+
+
+
+
+ SensusRF Key Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Suspend AES Encryption
+
+
+
+
+ Number of Hours.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Tunneled Register Response
+
+
+
+
+ Register Payload Length.
+
+
+
+
+ Register Payload.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ UI1236 Command
+
+
+
+
+ Commands.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ UI1236 Response
+
+
+
+
+ Response.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Unlicensed FlexNet Beacon
+
+
+
+
+ Beacon Format Version.
+
+
+
+
+ Epoch Time.
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Hopping Frequency Table MSB.
+
+
+
+
+ Tower ID.
+
+
+
+
+ Tower Supports Unlicensed FlexNet.
+
+
+
+
+ Tower Supports Licensed FlexNet.
+
+
+
+
+ Tower Supports SensusRF.
+
+
+
+
+ More Channels Than Listed.
+
+
+
+
+ Primary Index.
+
+
+
+
+ Frequency Step Size.
+
+
+
+
+ Hopping Frequency Table (LSB Only).
+
+
+
+
+ Home Frequency Offset.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Enhanced Supervisory Message Payload definition.
+ The ESM is variable length and includes 4 main sections in the following order:
+ Timestamp (2 or 4 bytes)
+ Extended Info (optional)
+ Data Channel List
+ Data Channel Block
+
+
+ For the document that defines the ESM,
+ See "http://covapp01.na.sensus.net/svn/repos/Documents/Enhanced Supervisory Message"
+
+
+
+
+ This section is optional and may be null!
+
+
+
+
+ Size of the section in bytes.
+
+
+
+
+ Time Of Day expressed in 5 miyutes increments from midnight.
+
+
+
+
+ Day Of Week (1..7 = Sunday .. Saturday, 0 = Use Extended Timestamp)
+
+
+
+
+ Interval Status Included in the ESMDataChannelBlock section.
+
+
+
+
+ Daylight Savings Time: Affects TOD and/or Extended Timestamp
+
+
+
+
+ Metadata Configuration Change
+
+
+
+
+ Extended Information Bit: ESMExtendedInfo is included.
+
+
+
+
+ Converts TOD, DOW, Year, Month, Day into DateTime struct.
+
+
+
+
+ The time at which the message was received
+
+
+
+
+ Snapshot data present
+
+
+
+
+ Extended Interval Status Included
+
+
+
+
+ When true Snapshot data precedes the Interval Status Block in the DataChannelBlock section.
+ Otherwise it follows the Interval Status Block and the Interval Data Blocks.
+
+
+
+
+ Information about the snapshot data, if present.
+
+
+ This property is optional and may be null.
+
+
+
+
+ Public copy of the list of blocks that refer to channels.
+
+
+ The array length may be 0.
+
+
+
+
+ Each entry in the ESMDataChannelList will have the following properties.
+
+
+
+
+ Bits 0..4 are the LSB. If L is set then bits 0..7 of the following byte are the MSB.
+
+
+
+
+ Compression (or Snapshot Present if this is entry 0)
+
+
+
+
+ Extended Length. When true the Size includes the following byte.
+
+
+
+
+ More. When false this is the last list entry.
+
+
+
+
+ In order to parse the DataChannelBlock, we need information from the other 3 blocks,
+ so the constructor takes a reference to the ESMPayload object.
+
+
+
+
+ Snapshot data, if present.
+
+
+ This property is optional and may be null.
+
+
+
+
+ Interval Status, if present.
+
+
+ This property is optional and may ne null.
+
+
+
+
+ Interval Data
+
+
+ This is always present. Size depends on DataChannelList.NumberOfIntervals.
+
+
+
+
+ Size in bytes.
+
+
+
+
+ Snapshot data, if present.
+
+
+ This property is optional, therefore array length may be 0.
+
+
+
+ Total number of bytes
+
+
+ Data size in bits
+
+
+ Data. Type will vary.
+
+
+
+ One bit of status per interval.
+
+
+ Number of bytes = (NumberOfIntervals + 7)/8
+
+
+
+
+ One block of channel status per interval, if present.
+
+
+ This property is optional, therefore array length may be 0.
+
+
+
+
+ Number of bytes this entity consumes in the original message.
+
+
+
+
+ Common status. Always present if ChannelStatusBlock is present.
+
+
+
+
+ Channel Status Included.
+
+
+
+
+ Individual channel status. One per channel, if present.
+
+
+ This property is optional, therefore array length may be 0.
+
+
+
+
+ There is one interval data entry for each channel reported in the message.
+
+
+
+
+ Decompress reading data based on supplied DataCompressionType.
+
+
+ returned array will be nIntervals in length, padded with zeros or truncated as necessary.
+
+
+
+
+
+
+
+
+
+ Decode a reading bit stream of uncompressed data of the given type.
+
+
+
+
+
+
+
+
+
+ Decode a reading bit stream compressed with Huffman encoding.
+
+
+
+
+
+
+
+
+ Decode a reading bit stream compressed with VBW1 encoding.
+
+
+
+
+
+
+
+
+
+ "Hm" for Home made. Per guidance from Rick Holloway. (The class
+ Sensus.Protocols.FlexNet.Serial.FirmwareImageCheckResponse
+ does provide a parser that reveals record count,
+
+
+
+
+ Sends the given telegram.
+ If valid reply is obtained from the meter the TransactionCompleted event is fired with the obtained reply telegram.
+ If no reply is obtained till given reply timeout occurrs teletram is sent again if retries are allowed and remaing.
+ Otherwise the TransactionCompleted with failure is fired.
+
+ SensusRF telegram to send
+ Expected replies, ontly these will be considered as success
+ Timeout of one try
+ Max retries to try, zero for none
+
+
+
+ Sends the given telegram.
+ If valid reply is obtained from the meter the TransactionCompleted event is fired with the obtained reply telegram.
+ If no reply is obtained till given reply timeout occurrs teletram is sent again if retries are allowed and remaing.
+ Otherwise the TransactionCompleted with failure is fired.
+
+ SensusRF telegram to send
+ Expected reply, ontly this will be considered as success
+ Timeout of one try
+ Max retries to try, zero for none
+
+
+
+ Sends the given NA2WCommand and waits for any one of the valid replies.
+
+
+ If a valid reply is received the TransactionCompleted event is fired with the received message.
+ If no reply is obtained in the given reply timeout the message is sent again if there are retries remaining.
+ Otherwise TransactionCompleted with failure is fired.
+ Note that we add 1 to the retry count because one try will almost always be used up waiting for a BUPWithLAT.
+ Yes, we could have a better solution...
+
+
+ SensusRF address of the device
+
+
+
+
+
+
+ Sends the given NA2WCommand and waits for the valid reply.
+
+
+ If a valid reply is received the TransactionCompleted event is fired with the received message.
+ If no reply is obtained in the given reply timeout the message is sent again if there are retries remaining.
+ Otherwise TransactionCompleted with failure is fired.
+
+
+ SensusRF address of the device
+
+
+
+
+
+
+ An easy way to get at the SIRT so we can attach to the TelegramReceived event.
+
+
+
+
+ Queue a message up to be sent out when the next BUPWithLAT comes in.
+
+
+
+
+ Attach handlers and prepare to transceive.
+
+
+
+
+ Detach handlers and clean up.
+
+
+
+
+ Adds to the LAT timeout value,
+ and also extends the overall transaction timeout.
+
+
+ We also set the event to true. This has
+ the effect of turning on received telegram processing below in
+ .
+ If we get a while in a WaitACK state
+ we will consider that a failure and retry (if we haven't exhausted all
+ retries).
+
+
+
+
+
+ Process overall transaction timeouts. Normally this would simply call
+ base.OnOverallTimeoutExpired
+
+
+ SensusRF transactions that communicate with the register routinely take far longer
+ than the extend amount provided (usually 21s).
+ To combat this, we're going to pretend we got another WaitACK so that the "overall" timeout
+ of the transaction doesn't fire while we're waiting for the SP to respond.
+ This is not an ideal situation. The SP should give us another WaitACK to extend the time
+ rather than us guessing.
+ This solution happens to be forward compatible as well.
+ If, one day, the SP firmware is updated to extend the Wait time by issuing another WaitACK
+ before the first one times out, we will happily extend the timer and keep going,
+ never hitting this overall timeout code.
+
+
+ A failure exception to use in the transaction result.
+ Set to null for TimeoutException
+
+
+
+
+ Process received FlexNetMessageFrame events.
+
+
+
+
+
+
+ Process the LATComplete event.
+
+
+ This event occurs when the callback specified in the Attempt function above completes.
+ The will indicate how the transmission completed - whether
+ it was successful, canceled, had en error, etc.
+
+
+
+
+
+ If we get a from our expectedID while
+ in a WaitACK situation, we can safely assume that the transaction
+ is over, and do a failure.
+
+
+
+
+
+
+ Clear the "in Wait ACK" state and signal a success.
+
+
+
+
+
+ Clear the "in Wait ACK" state and signal a failure.
+
+
+ If we got a waitAck then indicate that with a SensusRFTimeoutException,
+ otherwise use TimeoutException
+
+
+
+
+
+ Clear the "in Wait ACK" state and signal a failure.
+
+
+ If we got a waitAck then indicate that with a SensusRFTimeoutException,
+ otherwise use TimeoutException
+
+
+
+
+ Conducts an addressed-ASK transaction.
+ Not all versions of NA2W Water firmware in the field support addressed-ASK.
+ Devices that do not support addressed-ASK will simply ignore any addressed-ASK commands.
+
+
+
+
+
+
+
+
+
+
+ Changes the time replyTimer listens for the next response (not the overall transaction time)
+
+
+
+
+
+
+
+
+
+ If the command does not yield a response in time.
+ If this transaction is already running.
+
+
+
+ If we get a message from the SP and it is not what we expected, then the transaction attempt
+ is over. We can retry at this point and not wait for the command to time out.
+
+
+
+
+ Will also try transaction retry if retries are remaining and the retry is allowed for given exception.
+
+
+
+
+
+
+ Returns true if retry is allowed for given exception
+
+
+
+
+
+
+ Changes the overall timeout of the transaction.
+
+
+
+
+
+ Calls OnTransactionCompleted with a TimeoutException error or an error
+ already detected by the transaction logic.
+
+
+ A failure exception to use in the transaction result.
+ Set to null for TimeoutException
+
+
+
+
+ If the transaction hasn't completed, Restarts the overall timer,
+ updating the overallTimeout value so that
+ is correct.
+
+
+
+
+
+ High Resolution Meter Read With History
+
+
+
+
+ Relative TimeStamp.
+
+
+
+
+ Delta Data Type.
+
+
+
+
+ Compression Enabled.
+
+
+
+
+ Current Reading.
+
+
+
+
+ Minimum Voltage.
+
+
+
+
+ Maximum Voltage.
+
+
+
+
+ Average Voltage.
+
+
+
+
+ Click Count.
+
+
+
+
+ History Samples.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Provides functions and constants for dealing with FlexNet time.
+
+
+
+
+ Represents the start of the FlexNet epoch.
+ All FlexNet times are relative to this epoch start.
+
+
+
+
+ Specifies parameters used for a particular style of communication as defined
+ in the ICommunicationDevice interface.
+
+
+
+
+ Specifies how a device should emit NA2W interrotone.
+
+
+
+
+ A wrapper around an ITxRxDevice to convert it to an ICommunicator. Different communicator
+ implementations are used to hide regional differences in FlexNet radio profile usage.
+ Use of a Communicator rather than a TxRxDevice alone allows code to be written that doesn't need to worry about
+ regional differences. For example, StandardNACommunicator will transmit on the mPass2 channel at 10 kbps,
+ while the ArqivaWaterCommunicator will transmit on that same channel at 5 kbps. Code that uses a Communicator
+ can be used in either North America or England without modification (assuming the correct type of Communicator
+ is passed in as a parameter). If only a TxRxDevice had been used, that code would need to be modified to transmit
+ on the right channels and data rates when it needed to be used in a region of the world with different FlexNet
+ usage.
+
+ Subclasses/instantiators need to set the following properties:
+ - TxRxDevice
+ - ASKTxSpecifier
+ - MPassRxSpecifier
+ - MPassTxSpecifier
+ - MPass2RxSpecifier
+ - MPass2TxSpecifier
+ - NormalRxSpecifier
+ - ToneSpecifier
+
+ If any of the Specifiers are null, the corresponding Has/Can method will return null, and attempts
+ to transmit or listen using those modes will throw a NotSupportedException.
+
+
+
+
+ If TxRxDevice is an IDevice, passes the Connect() message to it. Otherwise does nothing.
+
+
+
+
+ If TxRxDevice is an IDevice, that device's Disconnect() method.
+
+
+
+
+ Determines whether the underlying TxRxDevice is connected if it implements the IDevice interface.
+ If TxRxDevice is not an IDevice, always returns true.
+
+
+
+
+ Gets the customer-facing name of this device.
+ Default implementation is to return ITxDevice.Name.
+ Subclasses can assign a new name without overriding.
+
+
+
+
+ If TxRxDevice is Disposable, calls its Dispose() method.
+
+
+
+
+ Detach any handlers, disconnect, dispose of the underlying TxRxDevice
+
+
+
+
+
+ Throws a NotSupportException with a message describing which CommunicationSpecification members
+ might be null and preventing a transmit or listen method to fail.
+
+ text describing the tx/rx mode being attempted. For example: "mPass2".
+
+ text listing the communication specifications that were checked to see if the capability existed.
+ For example: "MPass2TxSpecifier and MPass2RxSpecifier".
+
+ always
+
+
+
+ A Communicator configured for standard North American SmartPoint deployments.
+
+
+
+
+ A Communicator configured for standard North American SmartPoint deployments that supports FNv2.
+
+
+
+
+ A Communicator configured for the Arqiva Demo deployments. Arqiva differs from the
+ standard North American deploys in the following ways:
+ - no ASK
+ - traffic on the mPass2 channel is at 5 kbps
+ - Interrotone is 5 kbps
+ - RadioProfile.ArqivaWater is used
+
+
+
+
+ Communicator for use in the West Virginia Quiet Zone of 2012.
+ This is identical to StandardNACommunicator except ASK is not available.
+
+
+
+
+ A Communicator configured for communicating with standard North American SmartPoint deployments through a VGB.
+
+
+
+
+ Gets FlexNet time, in seconds.
+
+
+
+
+
+
+ Ack
+
+
+
+
+ The interpretation of extended ACK data valies depending on the ACK contents.
+
+
+
+
+ Is Msg Code Acked App Code.
+
+
+
+
+ Msg Code Acked (lower 7 bits only).
+
+
+
+
+ RF Seq Num Acked.
+
+
+
+
+ Is Reply To Programming.
+
+
+
+
+ Is Reply From Tower.
+
+
+
+
+ NAK.
+
+
+
+
+ Aux Status.
+
+
+
+
+ Supports FNv2 [If Reply From Tower].
+
+
+
+
+ App Seq Num Acked.
+
+
+
+
+ Signal Level Acked.
+
+
+
+
+ Noise Level Acked.
+
+
+
+
+ Programmer ID.
+
+
+
+
+ Setup Flags.
+
+
+
+
+ Basestation ID.
+
+
+
+
+ Crystal Test Count.
+
+
+
+
+ Wait Time (sec) (NA2W Water, DevOpReq).
+
+
+
+
+ Ext Ack Data [Raw].
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Alarm
+
+
+
+
+ From the FCP:
+ Actual Battery Voltage
+ Once calibrated, only the LS-Byte is used to represent the voltage reading.
+ The ms bit determines the range of the battery voltage. If the bit is 1 then
+ the reading will represent a voltage from a 9V battery pack (4-12V with 62.5mV resolution),
+ otherwise the reading will represent the voltage of a 3.6V battery pack (2-4V with 15.625mV resolution).
+ The lower 7 bits contain the battery voltage just before the current transmission.
+ The values in the field can be converted to voltage using one of the following formulas:
+ MS bit = 0: Voltage = Value/64 +2
+ MS bit = 1: Voltage = Value/16 + 4
+
+
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Alarm when Device Type is FlexNetGas
+
+
+
+
+ Battery Voltage [Actual] raw (3.6V Nominal).
+
+
+
+
+ Time Since Event (6 sec resolution).
+
+
+
+
+ Device Temperature @ Last Tx (deg C).
+
+
+
+
+ Battery Voltage [Under Load] raw (3.6V Nominal).
+
+
+
+
+ Last Transmission Type.
+
+
+
+
+ Alarm--Magnetic Tamper.
+
+
+
+
+ Alarm--Tilt Tamper.
+
+
+
+
+ Alarm--Reverse Flow.
+
+
+
+
+ WD Resets.
+
+
+
+
+ Reading.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Historical Alarms.
+
+
+
+
+ Battery Voltage [Weekly Minimum Under Load] raw (3.6V Nominal).
+
+
+
+
+ Weekly Minimum Temperature (deg C).
+
+
+
+
+ Weekly Maximum Temperature (deg C).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Alarm when Device Type is FlexNetWater
+
+
+
+
+ Battery Voltage [Actual] raw (3.6V Nominal).
+
+
+
+
+ Time Since Event (6 sec resolution).
+
+
+
+
+ Device Temperature @ Last Tx (deg C).
+
+
+
+
+ Battery Voltage [Under Load] raw (3.6V Nominal).
+
+
+
+
+ Last Transmission Type.
+
+
+
+
+ Alarm--Leak Detected.
+
+
+
+
+ Alarm--Broken Pipe.
+
+
+
+
+ Alarm--Backflow.
+
+
+
+
+ Alarm--Tamper.
+
+
+
+
+ WD Resets.
+
+
+
+
+ Reading.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Historical Alarms.
+
+
+
+
+ Battery Voltage [Weekly Minimum Under Load] raw (3.6V Nominal).
+
+
+
+
+ Weekly Minimum Temperature (deg C).
+
+
+
+
+ Weekly Maximum Temperature (deg C).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Alarm when Device Type is NA2W3PortRemoteGas
+
+
+
+
+ WD Resets.
+
+
+
+
+ Battery Voltage [Actual] raw (3.6V Nominal).
+
+
+
+
+ Time Since Event (6 sec resolution).
+
+
+
+
+ Port 1 Reading.
+
+
+
+
+ Port 2 Reading.
+
+
+
+
+ Device Temperature @ Last Tx (deg C).
+
+
+
+
+ Battery Voltage [Under Load] raw (3.6V Nominal).
+
+
+
+
+ Last Transmission Type.
+
+
+
+
+ Transmission For 8am Requirement.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Reading Failed (In Lieu).
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Port 1 input state .
+
+
+
+
+ Port 1 cut wire state.
+
+
+
+
+ Port 2 input state .
+
+
+
+
+ Port 2 cut wire state.
+
+
+
+
+ Alarm input state .
+
+
+
+
+ Alarm cut wire state .
+
+
+
+
+ Tilt Switch state .
+
+
+
+
+ Reed Switch state .
+
+
+
+
+ MoM TS.
+
+
+
+
+ Battery Voltage [Weekly Minimum Under Load] raw (3.6V Nominal).
+
+
+
+
+ Weekly Minimum Temperature (deg C).
+
+
+
+
+ Weekly Maximum Temperature (deg C).
+
+
+
+
+ Historical (35-Day) Alarms.
+
+
+
+
+ On-Demand Reading.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Alarm when Device Type is NA2WGas
+
+
+
+
+ Battery Voltage [Actual] raw (3.6V Nominal).
+
+
+
+
+ Time Since Event (6 sec resolution).
+
+
+
+
+ Device Temperature @ Last Tx (deg C).
+
+
+
+
+ Battery Voltage [Under Load] raw (3.6V Nominal).
+
+
+
+
+ Last Transmission Type.
+
+
+
+
+ Top Level State.
+
+
+
+
+ WD Resets.
+
+
+
+
+ Reading.
+
+
+
+
+ Transmission For 8am Requirement.
+
+
+
+
+ Reading Failed (In Lieu).
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Reed Switch A.
+
+
+
+
+ Reed Switch B.
+
+
+
+
+ Tamper Switch.
+
+
+
+
+ Tilt Switch.
+
+
+
+
+ Port 1 Cut-Wire Input (2-Port Only).
+
+
+
+
+ Port 2 Cut-Wire Input (2-Port Only).
+
+
+
+
+ MoM TS.
+
+
+
+
+ Battery Voltage [Weekly Minimum Under Load] raw (3.6V Nominal).
+
+
+
+
+ Weekly Minimum Temperature (deg C).
+
+
+
+
+ Weekly Maximum Temperature (deg C).
+
+
+
+
+ Historical (35-Day) Alarms.
+
+
+
+
+ On-Demand Reading (FW ver >R0.1.00).
+
+
+
+
+ Reverse Reading.
+
+
+
+
+ Response Requested.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Alarm when Device Type is LibertyGas
+
+
+
+
+ Battery Voltage [Actual] raw (3.6V Nominal).
+
+
+
+
+ Time Since Event (6 sec resolution).
+
+
+
+
+ Device Temperature @ Last Tx (deg C).
+
+
+
+
+ Battery Voltage [Under Load] raw (3.6V Nominal).
+
+
+
+
+ Last Transmission Type.
+
+
+
+
+ Top Level State.
+
+
+
+
+ WD Resets.
+
+
+
+
+ Reading.
+
+
+
+
+ Transmission For 8am Requirement.
+
+
+
+
+ Reading Failed (In Lieu).
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Valve Position.
+
+
+
+
+ Tamper Switch.
+
+
+
+
+ Tilt Switch.
+
+
+
+
+ MoM TS.
+
+
+
+
+ Battery Voltage [Weekly Minimum Under Load] raw (3.6V Nominal).
+
+
+
+
+ Weekly Minimum Temperature (deg C).
+
+
+
+
+ Weekly Maximum Temperature (deg C).
+
+
+
+
+ Historical (35-Day) Alarms.
+
+
+
+
+ On-Demand Reading (FW ver >R0.1.00).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Alarm when Device Type is NA2WGSV
+
+
+
+
+ Battery Voltage [Actual] raw (3.6V Nominal).
+
+
+
+
+ Time Since Event (6 sec resolution).
+
+
+
+
+ Device Temperature @ Last Tx (deg C).
+
+
+
+
+ Battery Voltage [Under Load] raw (3.6V Nominal).
+
+
+
+
+ Last Transmission Type.
+
+
+
+
+ Top Level State.
+
+
+
+
+ WD Resets.
+
+
+
+
+ Reading.
+
+
+
+
+ Expected Valve Position.
+
+
+
+
+ Actual Valve Position.
+
+
+
+
+ Last Valve Change Reason.
+
+
+
+
+ Is Reading Valid.
+
+
+
+
+ Pressure Scale Factor.
+
+
+
+
+ Transmission For 8am Requirement.
+
+
+
+
+ Reading Failed (In Lieu).
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ On-Demand Reading.
+
+
+
+
+ Tilt Switch.
+
+
+
+
+ MoM TS.
+
+
+
+
+ Battery Voltage [Weekly Minimum Under Load] raw (3.6V Nominal).
+
+
+
+
+ Weekly Minimum Temperature (deg C).
+
+
+
+
+ Weekly Maximum Temperature (deg C).
+
+
+
+
+ Historical (35-Day) Alarms.
+
+
+
+
+ Shutoff Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Alarm when Device Type is NA2WWater
+
+
+
+
+ Battery Voltage [Actual] raw (3.6V Nominal).
+
+
+
+
+ Time Since Event (6 sec resolution).
+
+
+
+
+ Device Temperature @ Last Tx (deg C).
+
+
+
+
+ Battery Voltage [Under Load] raw (3.6V Nominal).
+
+
+
+
+ Last Transmission Type.
+
+
+
+
+ Top Level State (FW ver R0.3.00+).
+
+
+
+
+ WD Resets.
+
+
+
+
+ Reading.
+
+
+
+
+ Transmission For 8am Requirement.
+
+
+
+
+ Reading Failed (Alarm msg is in lieu of WBDB reading msg).
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Pulse Input Pin Level.
+
+
+
+
+ MoM TS.
+
+
+
+
+ Battery Voltage [Weekly Minimum Under Load] raw (3.6V Nominal).
+
+
+
+
+ Weekly Minimum Temperature (deg C).
+
+
+
+
+ Weekly Maximum Temperature (deg C).
+
+
+
+
+ Historical (35-Day) Alarms.
+
+
+
+
+ On-Demand Reading (FW ver B0.3.0F+).
+
+
+
+
+ Actual Valve State.
+
+
+
+
+ Valve Actuation Reason.
+
+
+
+
+ Battery Voltage [Weekly Maximum No Load] raw (3.6V Nominal).
+
+
+
+
+ Response Requested.
+
+
+
+
+ SuppressedAlarmMask.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Alarm when Device Type is RawMetrology
+
+
+
+
+ Alarm Message Reason.
+
+
+
+
+ Transmission in Lieu of Reading.
+
+
+
+
+ Reading Failed.
+
+
+
+
+ WD Resets.
+
+
+
+
+ Reading.
+
+
+
+
+ Battery Voltage.
+
+
+
+
+ Battery Voltage Under Load.
+
+
+
+
+ Weekly Minimum Battery Voltage.
+
+
+
+
+ Product Temperature (deg C).
+
+
+
+
+ Weekly Minimum Temperature (deg C).
+
+
+
+
+ Weekly Maximum Temperature (deg C).
+
+
+
+
+ Metrology Configuration Sequence Number.
+
+
+
+
+ MoM Time Slot.
+
+
+
+
+ NA2W Top Level State.
+
+
+
+
+ Last Transmission Type.
+
+
+
+
+ Metrology Low Voltage Alarm.
+
+
+
+
+ Communication Failure Alarm.
+
+
+
+
+ Time Since Reset.
+
+
+
+
+ Metrology Low Voltage Alarm Start Time.
+
+
+
+
+ Metrology Low Voltage Alarm Stop Time.
+
+
+
+
+ Communication Failure Alarm Start Time.
+
+
+
+
+ Communication Failure Alarm Stop Time.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Alarm when Device Type is BatteryEndpoint
+
+
+
+
+ Alarm Message Reason.
+
+
+
+
+ Transmission in Lieu of Reading.
+
+
+
+
+ Reading Failed.
+
+
+
+
+ NA2W Top Level State.
+
+
+
+
+ WD Resets.
+
+
+
+
+ Alarm Flags.
+
+
+
+
+ Alarm Configuration Sequence Number.
+
+
+
+
+ Digital Input A State.
+
+
+
+
+ Digital Input B State.
+
+
+
+
+ Daily Time Sync Status.
+
+
+
+
+ Reading.
+
+
+
+
+ Battery Voltage.
+
+
+
+
+ Battery Voltage Under Load.
+
+
+
+
+ Weekly Minimum Battery Voltage.
+
+
+
+
+ Product Temperature (deg C).
+
+
+
+
+ Weekly Minimum Temperature (deg C).
+
+
+
+
+ Weekly Maximum Temperature (deg C).
+
+
+
+
+ Last Transmission Type.
+
+
+
+
+ MoM Time Slot.
+
+
+
+
+ Time Since Reset.
+
+
+
+
+ Low Voltage Alarm Start Time.
+
+
+
+
+ Low Voltage Alarm Stop Time.
+
+
+
+
+ Digital Input A Alarm Start Time.
+
+
+
+
+ Digital Input A Alarm Stop Time.
+
+
+
+
+ Digital Input B Alarm Start Time.
+
+
+
+
+ Digital Input B Alarm Stop Time.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Counterclockwise.
+ XML serializes as "Counterclockwise"
+
+
+
+
+ Clockwise.
+ XML serializes as "Clockwise"
+
+
+
+
+ Clockwise.
+ XML serializes as "Auto-detect"
+
+
+
+
+ This really should be defined in the JSON file...
+
+
+
+
+ LockState
+
+
+
+
+ Use to valid enums. Useful to verify values to see, for example, if an array
+ of bytes qualifies as a certain frame such as a Type9FlexNetFrame without
+ relying on an exception to be thrown on the parser
+
+
+
+
+
+
+
+ Expresses a MeterSampleRate as a TimeSpan.
+
+ the MeterSampleRate to express as a TimeSpan
+
+ A TimeSpan representing the interval specified by msr. MeterSampleRate.Never returns TimeSpan.FromMilliseconds(-1).
+
+ msr is Never
+
+
+
+ Expresses a SupervisoryTransmitRate as a TimeSpan.
+
+ the SupervisoryTransmitRate to express as a TimeSpan
+
+ A TimeSpan representing the interval specified by msr. SupervisoryTransmitRate.Never returns TimeSpan.FromMilliseconds(-1).
+
+ msr is Never
+
+
+
+ Expresses a LATDelay as a Timespan
+
+ the LATDelay to convert
+
+ delay is LATDelay.NoLATwindow
+
+
+
+ Expresses a LATDelay as a Timespan
+
+ the LATDelay to convert
+
+ delay is LATDelay.NoLATwindow
+
+
+
+ Convert the supplied temperature value from one unit of measure value to another (like from C to F).
+
+
+
+
+
+
+
+
+ Convert the supplied temperature value to Kelvin
+
+
+
+
+
+
+
+ Convert the supplied temperature value from Kelvin to the requested unit of measure value.
+
+
+
+
+
+
+
+ Convert the supplied pressure value from one unit of measure value to another (like from kPa to mBar).
+
+
+
+
+
+
+
+
+ Convert the supplied pressure value to PSI.
+
+
+
+
+
+
+
+ Convert the supplied pressure value from PSI to the requested pressure unit of measure value.
+
+
+
+
+
+
+
+ EP Statistics
+
+
+
+
+ Device Beta.
+
+
+
+
+ Device Major Revision.
+
+
+
+
+ Device Minor Revision.
+
+
+
+
+ Device Patch Revision.
+
+
+
+
+ Channel.
+
+
+
+
+ Subtype.
+
+
+
+
+ Page.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Firmware [Electric Load Flash]
+
+
+
+
+ Device Type.
+
+
+
+
+ Segment 1 Address.
+
+
+
+
+ Segment 1 Num Blocks.
+
+
+
+
+ Segment 2 Address.
+
+
+
+
+ Segment 2 Num Blocks.
+
+
+
+
+ Segment 3 Address.
+
+
+
+
+ Segment 3 Num Blocks.
+
+
+
+
+ Segment 4 Address.
+
+
+
+
+ Segment 4 Num Blocks.
+
+
+
+
+ Extended Segment 1 Address.
+
+
+
+
+ Extended Segment 1 Num Blocks.
+
+
+
+
+ Extended Segment 2 Address.
+
+
+
+
+ Extended Segment 2 Num Blocks.
+
+
+
+
+ Extended Segment 3 Address.
+
+
+
+
+ Extended Segment 3 Num Blocks.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Channel Setup
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Channel Setup when Device Type is NA2WWater
+
+
+
+
+ Read Meter.
+
+
+
+
+ Broken Pipe Threshold.
+
+
+
+
+ Broken Pipe Parameter Change.
+
+
+
+
+ Meter Type.
+
+
+
+
+ Meter Type Changed.
+
+
+
+
+ Backflow Detection Threshold.
+
+
+
+
+ Backflow Detection Consecutive Reads.
+
+
+
+
+ Backflow Parameters Changed.
+
+
+
+
+ Water Channel Setup Option.
+
+
+
+
+ Meter Units.
+
+
+
+
+ Meter Units Changed.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ Reading Resolution Change.
+
+
+
+
+ History Scale.
+
+
+
+
+ Enable Enhanced History Compression.
+
+
+
+
+ History Scale Change.
+
+
+
+
+ Leak Detection Threshold.
+
+
+
+
+ Leak Detection Consecutive Reads.
+
+
+
+
+ Leak Detect Parameters changed.
+
+
+
+
+ Customer Meter Number.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Top Level State Changed.
+
+
+
+
+ Force Top Level State Change.
+
+
+
+
+ Setup Dump.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup when Device Type is NA2WGas
+
+
+
+
+ Index Scale.
+
+
+
+
+ Index Scale Changed.
+
+
+
+
+ Meter Type.
+
+
+
+
+ Meter Type Changed.
+
+
+
+
+ Reverse Flow Detection Threshold.
+
+
+
+
+ Reverse Flow Parameters Changed.
+
+
+
+
+ Meter Units.
+
+
+
+
+ Meter Units Changed.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ Reading Resolution Changed.
+
+
+
+
+ History Scale.
+
+
+
+
+ Enable Enhanced History Compression.
+
+
+
+
+ History Scale Changed.
+
+
+
+
+ Meter Reading.
+
+
+
+
+ Meter Reading Changed.
+
+
+
+
+ Index Drive (0==no change).
+
+
+
+
+ Number Of Index Dials.
+
+
+
+
+ Number Of Index Dials Changed.
+
+
+
+
+ Lock Setting.
+
+
+
+
+ Lock Setting Changed.
+
+
+
+
+ Rotation Of Drive Shaft.
+
+
+
+
+ Rotation Changed.
+
+
+
+
+ Auto-detect Rotation Direction.
+
+
+
+
+ Compensation Factor.
+
+
+
+
+ Compensation Changed.
+
+
+
+
+ Pulses Per Revolution.
+
+
+
+
+ Pulses Per Revolution Changed.
+
+
+
+
+ Broken Pipe Time.
+
+
+
+
+ Broken Pipe Threshold.
+
+
+
+
+ Broken Pipe Threshold Resolution.
+
+
+
+
+ Broken Pipe Parameters Changed.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Top Level State Changed.
+
+
+
+
+ Force Top Level State Change.
+
+
+
+
+ Setup Dump.
+
+
+
+
+ Reset Reverse Count.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup when Device Type is LibertyGas
+
+
+
+
+ Meter Type.
+
+
+
+
+ Meter Type Changed.
+
+
+
+
+ Meter Units.
+
+
+
+
+ Meter Units Changed.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ Reading Resolution Changed.
+
+
+
+
+ History Scale.
+
+
+
+
+ History Scale Changed.
+
+
+
+
+ Meter Reading.
+
+
+
+
+ Meter Reading Changed.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Top Level State Changed.
+
+
+
+
+ Force Top Level State Change.
+
+
+
+
+ Setup Dump.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup when Device Type is NA2WGSV
+
+
+
+
+ Shutoff Type.
+
+
+
+
+ Shutoff Type Changed.
+
+
+
+
+ Automatic Shutoff [Lo Pressure].
+
+
+
+
+ Automatic Shutoff [Hi Pressure].
+
+
+
+
+ Automatic Shutoff [Excess Flow].
+
+
+
+
+ Automatic Shutoff [Tilt].
+
+
+
+
+ Automatic Shutoff [Seismic].
+
+
+
+
+ Automatic Shutoff [Over Temperature].
+
+
+
+
+ Automatic Shutoff Changed.
+
+
+
+
+ Lo Pressure Shutoff Threshold.
+
+
+
+
+ Lo Pressure Shutoff Threshold Ch..
+
+
+
+
+ Hi Pressure Shutoff Threshold.
+
+
+
+
+ Hi Pressure Shutoff Threshold Ch..
+
+
+
+
+ Lo Pressure Warning Threshold.
+
+
+
+
+ Lo Pressure Warning Threshold Ch..
+
+
+
+
+ Hi Pressure Warning Threshold.
+
+
+
+
+ Hi Pressure Warning Threshold Ch..
+
+
+
+
+ Excess Flow Threshold.
+
+
+
+
+ Excess Flow Threshold Ch..
+
+
+
+
+ Valve Test Period.
+
+
+
+
+ Valve Test Period Changed.
+
+
+
+
+ Pressure Scale Factor.
+
+
+
+
+ Pressure Scale Factor Changed.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Top Level State Changed.
+
+
+
+
+ Force Top Level State Change.
+
+
+
+
+ Setup Dump.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup when Device Type is NA2WMLC
+
+
+
+
+ Tenant ID.
+
+
+
+
+ Tenant ID Changed.
+
+
+
+
+ Utility Code.
+
+
+
+
+ Utility Code Changed.
+
+
+
+
+ Tx OpMode.
+
+
+
+
+ Tx OpMode Changed.
+
+
+
+
+ Field Features Changed.
+
+
+
+
+ Field Features.
+
+
+
+
+ Rated Power (5W Units).
+
+
+
+
+ Maximum Voltage (2V Units).
+
+
+
+
+ Minimum Voltage (2V Units).
+
+
+
+
+ Top Level State.
+
+
+
+
+ Top Level State Changed.
+
+
+
+
+ Metrology Config Sequence Number.
+
+
+
+
+ Upper Rated Power (5W Units).
+
+
+
+
+ Metrology Config Sequence Number Changed.
+
+
+
+
+ Bulb Time Reset.
+
+
+
+
+ Ballast Time Reset.
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Meter Sample Rate (MSR) Changed.
+
+
+
+
+ Supervisory Transmit Rate (STR).
+
+
+
+
+ Supervisory Transmit Rate (STR) Changed.
+
+
+
+
+ Sunrise/Sunset Intensity.
+ Initial value is LightIntensity.Level6.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ Reading Resolution Changed.
+
+
+
+
+ Protected.
+
+
+
+
+ Protected Changed.
+
+
+
+
+ History Type.
+
+
+
+
+ History Type Changed.
+
+
+
+
+ GPS Threshold.
+
+
+
+
+ GPS Threshold Changed.
+
+
+
+
+ Power Factor (x100).
+ Initial value is 95.
+
+
+
+
+ Power Factor Changed.
+
+
+
+
+ Concurrent Sun & Schedule.
+
+
+
+
+ Concurrent Sun & Schedule Changed.
+
+
+
+
+ Setup Dump.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup when Device Type is NA2W3PortRemoteGas
+
+
+
+
+ Port 1 Reading Digits.
+
+
+
+
+ Port 1 Reading Digits Changed.
+
+
+
+
+ Port 1 Reading Units.
+
+
+
+
+ Port 1 Reading Units Changed.
+
+
+
+
+ Port 1 Reading Resolution.
+
+
+
+
+ Port 1 Reading Resolution Changed.
+
+
+
+
+ Port 2 Reading Digits.
+
+
+
+
+ Port 2 Reading Digits Changed.
+
+
+
+
+ Port 2 Reading Units.
+
+
+
+
+ Port 2 Reading Units Changed.
+
+
+
+
+ Port 2 Reading Resolution.
+
+
+
+
+ Port 2 Reading Resolution Changed.
+
+
+
+
+ Lock Setting.
+
+
+
+
+ Lock Setting Changed.
+
+
+
+
+ History Scale.
+
+
+
+
+ Enable Enhanced History Compression.
+
+
+
+
+ History Scale Changed.
+
+
+
+
+ Meter Type.
+
+
+
+
+ Meter Type Changed.
+
+
+
+
+ Port 1 Reading.
+
+
+
+
+ Port 1 Reading Changed.
+
+
+
+
+ Port 2 Reading.
+
+
+
+
+ Port 2 Reading Changed.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Top Level State Changed.
+
+
+
+
+ Force Top Level State Change.
+
+
+
+
+ Setup Dump.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup 2
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Channel Setup 2 when Device Type is NA2WGas
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Meter Sample Rate (MSR) Changed.
+
+
+
+
+ Serial Number.
+
+
+
+
+ Serial Number Changed.
+
+
+
+
+ Perform Setup Dump.
+
+
+
+
+ Critical Reading Time (15min increments).
+
+
+
+
+ Critical Reading Time Changed?.
+
+
+
+
+ Critical Reading Window Size (5min increments).
+
+
+
+
+ Critical Reading Window Size Changed?.
+
+
+
+
+ Critical Reading on Tx Chan B?.
+
+
+
+
+ Critical Reading on Tx Chan B Changed?.
+
+
+
+
+ Field Features Change Operation.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup 2 when Device Type is LibertyGas
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Meter Sample Rate (MSR) Changed.
+
+
+
+
+ Serial Number.
+
+
+
+
+ Serial Number Changed.
+
+
+
+
+ Perform Setup Dump.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup 2 when Device Type is NA2WMLC
+
+
+
+
+ Sunrise Adjustment (5min increments).
+
+
+
+
+ Sunrise Adjustment Changed.
+
+
+
+
+ Sunset Adjustment (5min increments).
+
+
+
+
+ Sunset Adjustment Changed.
+
+
+
+
+ Dither Sunrise/Sunset Times.
+
+
+
+
+ Dither Sunrise/Sunset Times Changed.
+
+
+
+
+ Lighting Level 1 Configuration.
+
+
+
+
+ Lighting Level 2 Configuration.
+
+
+
+
+ Lighting Level 3 Configuration.
+
+
+
+
+ Lighting Level 4 Configuration.
+
+
+
+
+ Lighting Level 5 Configuration.
+
+
+
+
+ Lighting Level 6 Configuration.
+
+
+
+
+ Light On Delay.
+
+
+
+
+ Light On Delay Changed.
+
+
+
+
+ Blink Slot Time.
+
+
+
+
+ Blink Slot Time Changed.
+
+
+
+
+ Dim On Delay (minutes).
+
+
+
+
+ Dim On Delay Changed.
+
+
+
+
+ Blink On Light Level.
+
+
+
+
+ Blink Off Light Level.
+
+
+
+
+ Lighting Level Configuration Changed.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup 2 when Device Type is NA2W3PortRemoteGas
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Meter Sample Rate (MSR) Changed.
+
+
+
+
+ Serial Number.
+
+
+
+
+ Serial Number Changed.
+
+
+
+
+ Perform Setup Dump.
+
+
+
+
+ Critical Reading Time (15min increments).
+
+
+
+
+ Critical Reading Time Changed?.
+
+
+
+
+ Critical Reading Window Size (5min increments).
+
+
+
+
+ Critical Reading Window Size Changed?.
+
+
+
+
+ Critical Reading on Tx Chan B?.
+
+
+
+
+ Critical Reading on Tx Chan B Changed?.
+
+
+
+
+ Field Features Change Operation.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W EP Setup
+
+
+
+
+ Customer ID.
+
+
+
+
+ Customer ID Changed.
+
+
+
+
+ FlexNet Network.
+
+
+
+
+ FlexNet Network Changed.
+
+
+
+
+ LAT Occurrence [Idle].
+
+
+
+
+ LAT Occurrence Changed [Idle].
+
+
+
+
+ LAT Occurrence [WB/DB].
+
+
+
+
+ LAT Occurrence Changed [WB/DB].
+
+
+
+
+ LAT Occurrence [FB LAT].
+
+
+
+
+ LAT Occurrence Changed [FB LAT].
+
+
+
+
+ LAT Occurrence [FB MoM].
+
+
+
+
+ LAT Occurrence Changed [FB MoM].
+
+
+
+
+ Tone Sniff Interval [Idle].
+
+
+
+
+ Tone Sniff Interval Changed [Idle].
+
+
+
+
+ Tone Sniff Interval [WB/DB].
+
+
+
+
+ Tone Sniff Interval Changed [WB/DB].
+
+
+
+
+ Tone Sniff Interval [FB LAT].
+
+
+
+
+ Tone Sniff Interval Changed [FB LAT].
+
+
+
+
+ Tone Sniff Interval [FB MoM].
+
+
+
+
+ Tone Sniff Interval Changed [FB MoM].
+
+
+
+
+ Tx OpMode [Idle].
+
+
+
+
+ Tx OpMode Changed [Idle].
+
+
+
+
+ Tx OpMode [WB/DB].
+
+
+
+
+ Tx OpMode Changed [WB/DB].
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode Changed [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ Tx OpMode Changed [FB MoM].
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ MSR Change.
+
+
+
+
+ Supervisory Transmit Rate [Idle].
+
+
+
+
+ STR Change [Idle].
+
+
+
+
+ Supervisory Transmit Rate [WB/DB].
+
+
+
+
+ STR Change [WB/DB].
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ STR Change [FB LAT].
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ STR Change [FB MoM].
+
+
+
+
+ LAT Delay [HHD].
+
+
+
+
+ LAT Delay Change [HHD].
+
+
+
+
+ LAT Delay [VGB].
+
+
+
+
+ LAT Delay Change [VGB].
+
+
+
+
+ LAT Delay [TGB].
+
+
+
+
+ LAT Delay Change [TGB].
+
+
+
+
+ Net Sync Start Sec.
+
+
+
+
+ Net Sync Start Sec. Change.
+
+
+
+
+ LAT Rx On Time [HHD].
+
+
+
+
+ LAT Rx On Time Change [HHD].
+
+
+
+
+ LAT Rx On Time [VGB].
+
+
+
+
+ LAT Rx On Time Change [VGB].
+
+
+
+
+ LAT Rx On Time [TGB].
+
+
+
+
+ LAT Rx On Time Change [TGB].
+
+
+
+
+ Net Sync Period.
+
+
+
+
+ Net Sync Period Change.
+
+
+
+
+ Encryption Enabled [Idle].
+
+
+
+
+ Encryption Change [Idle].
+
+
+
+
+ Encryption Enabled [WB/DB].
+
+
+
+
+ Encryption Change [WB/DB].
+
+
+
+
+ Encryption Enabled [FB LAT].
+
+
+
+
+ Encryption Change [FB LAT].
+
+
+
+
+ Encryption Enabled [FB MoM].
+
+
+
+
+ Encryption Change [FB MoM].
+
+
+
+
+ Field Features.
+
+
+
+
+ Field Features Change.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W EP Setup 2
+
+
+
+
+ Latitude.
+
+
+
+
+ Latitude Changed.
+
+
+
+
+ Longitude.
+
+
+
+
+ Longitude Changed.
+
+
+
+
+ RTC Seconds.
+ Seconds since top-of-hour..
+
+
+
+
+ RTC Hour.
+
+
+
+
+ Epoch Time.
+ Seconds since Jan 1, 2000..
+
+
+
+
+ DST Active.
+
+
+
+
+ Time Changed.
+
+
+
+
+ IIT Threshold [FB LAT] (Days).
+
+
+
+
+ IIT Threshold [FB MoM] (Minutes).
+
+
+
+
+ Setup Dump Count.
+
+
+
+
+ Setup Dump Count Changed.
+
+
+
+
+ Setup Dump Delay (sec).
+
+
+
+
+ Setup Dump Delay Changed.
+
+
+
+
+ Alarm Suppression Disabled.
+
+
+
+
+ Alarm Suppression Changed.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Install Initiation
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Normal Channel (TxA).
+
+
+
+
+ Tx Channel B (reserved) (TxB).
+
+
+
+
+ Tx Channel C (reserved) (TxC).
+
+
+
+
+ C&I Channel (TxD).
+
+
+
+
+ mPass Channel (5 kbps, RxA).
+
+
+
+
+ mPass2 Channel (10 kbps, RxB).
+
+
+
+
+ Boost Channel.
+
+
+
+
+ Boost Subchannel.
+
+
+
+
+ Boost-Hopping Enabled.
+
+
+
+
+ Boost Subchan & Hopping Changed.
+
+
+
+
+ TCXO Calibration.
+
+
+
+
+ TCXO Calibration Changed.
+
+
+
+
+ Multi-TX Count.
+
+
+
+
+ Delay Between Multi-TX Tx's (sec).
+
+
+
+
+ Versioned Response.
+
+
+
+
+ Use 1-Way Protocol.
+
+
+
+
+ Use 1-Way Protocol Changed.
+
+
+
+
+ Apply MAS Channel Shift.
+
+
+
+
+ Apply MAS Channel Shift Changed.
+
+
+
+
+ Programmer ID.
+
+
+
+
+ Programmer ID Changed.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Meters Found when Message Version is Version1
+
+
+
+
+ Channel Number [A].
+
+
+
+
+ FlexNet ID [A].
+
+
+
+
+ Meter [A] Type.
+
+
+
+
+ Meter [A] Connection.
+
+
+
+
+ Meter [A] Currently Bound?.
+
+
+
+
+ Meter [A] Changed?.
+
+
+
+
+ Channel Number [B].
+
+
+
+
+ FlexNet ID [B].
+
+
+
+
+ Meter [B] Type.
+
+
+
+
+ Meter [B] Connection.
+
+
+
+
+ Meter [B] Currently Bound?.
+
+
+
+
+ Meter [B] Changed?.
+
+
+
+
+ Channel Number [C].
+
+
+
+
+ FlexNet ID [C].
+
+
+
+
+ Meter [C] Type.
+
+
+
+
+ Meter [C] Connection.
+
+
+
+
+ Meter [C] Currently Bound?.
+
+
+
+
+ Meter [C] Changed?.
+
+
+
+
+ Channel Number [D].
+
+
+
+
+ FlexNet ID [D].
+
+
+
+
+ Meter [D] Type.
+
+
+
+
+ Meter [D] Connection.
+
+
+
+
+ Meter [D] Currently Bound?.
+
+
+
+
+ Meter [D] Changed?.
+
+
+
+
+ Channels Used.
+
+
+
+
+ Total Channels.
+
+
+
+
+ Packet Number.
+
+
+
+
+ Total Packets.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Meters Found when Message Version is Version2
+
+
+
+
+ NA2W Product Type.
+
+
+
+
+ Product firmware beta?.
+
+
+
+
+ Product firmware major.
+
+
+
+
+ Product firmware minor.
+
+
+
+
+ Product firmware patch.
+
+
+
+
+ Channel 0 Info.
+
+
+
+
+ Channel 1 Info.
+
+
+
+
+ Channel 2 Info.
+
+
+
+
+ Channel 3 Info.
+
+
+
+
+ Channel 4 Info.
+
+
+
+
+ Channel 5 Info.
+
+
+
+
+ Channel 6 Info.
+
+
+
+
+ Channel 7 Info.
+
+
+
+
+ Message reason.
+
+
+
+
+ Has two FlexNet IDs?.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WChannelInfo
+
+
+
+
+ Device type.
+
+
+
+
+ Requires addressed binding?.
+
+
+
+
+ Is bound?.
+
+
+
+
+ Has MSR task running?.
+
+
+
+
+ Alarmed?.
+
+
+
+
+ Is WBDB enabled?.
+
+
+
+
+ Is FB enabled?.
+
+
+
+
+ AES Security state.
+
+
+
+
+ NA2W WB/DB Read
+
+
+
+
+ Determine if the alpha-beta bits are valid for this message
+
+
+
+
+ Dead Battery. (α1,1)
+
+
+
+
+ Non-Volatile Memory Error. (α1,2)
+
+
+
+
+ Severe Hardware Problem. (α1,3)
+
+
+
+
+ Upgrade Mode. (α1,4)
+
+
+
+
+ Idle. (α1,6)
+
+
+
+
+ Low Battery. (α2,1)
+
+
+
+
+ Tamper. (α2,2)
+
+
+
+
+ Empty Pipe. (α2,3)
+
+
+
+
+ Backflow. (α2,4)
+
+
+
+
+ Leak. (α2,6)
+
+
+
+
+ Critical Hardware Warning. (α3,4)
+
+
+
+
+ Metrology Comm Error. (α3,6)
+
+
+
+
+ Alarm Overflow. (α4,1)
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ ProgrammerID
+
+
+
+
+ User.
+
+
+
+
+ Device.
+
+
+
+
+ Serial Number/Position Binding Message
+
+
+
+
+ Status Flag/Just Programmed.
+
+
+
+
+ Zigbee Available.
+
+
+
+
+ ESM Enabled.
+
+
+
+
+ Is Stratus.
+
+
+
+
+ Enhanced Auto-Push Enabled.
+
+
+
+
+ Daily Self Read Auto-Push Enabled.
+
+
+
+
+ Remote Disconnect Available.
+
+
+
+
+ Customer Meter Number.
+
+
+
+
+ Latitude.
+
+
+
+
+ Longitude.
+
+
+
+
+ Programmer ID.
+
+
+
+
+ NA2W Device Type Version, Patch.
+
+
+
+
+ NA2W Product Version, Beta.
+
+
+
+
+ NA2W Product Version, Major.
+
+
+
+
+ NA2W Product Version, Minor.
+
+
+
+
+ NA2W Product Version, Patch.
+
+
+
+
+ NA2W Product Type.
+
+
+
+
+ Electric Product Version, Beta.
+
+
+
+
+ Electric Product Version, Major.
+
+
+
+
+ Electric Product Version, Minor.
+
+
+
+
+ Electric Meter PT Multiplier.
+
+
+
+
+ Electric Meter CT Multiplier.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set Epoch Time
+
+
+
+
+ Updates the time represented by this command to the specified time.
+
+ time to set this command to
+
+
+
+ Sets the time respresented in this command to DateTime.Now. Same as SetTime(DateTime.Now).
+
+
+
+
+ RTC Seconds.
+ Seconds since top-of-hour..
+
+
+
+
+ RTC Hour.
+
+
+
+
+ Read Hour +1.
+
+
+
+
+ Epoch Time.
+ Seconds since Jan 1, 2000..
+
+
+
+
+ Time Zone.
+
+
+
+
+ CBC96.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Expresses a Programmer ID as a String
+
+ the Programmer ID to express as a String
+ Is the endpoint currently activated?
+
+ A String representing the programmer ID in terms of Device and User IDs, or Base station, or N/A, as applicable.
+
+ msr is Never
+
+
+
+ Utilities for dealing with FlexNet IDs.
+ Can represent a FlexNet ID, but also provides implicit conversion operators
+ to and from int types.
+
+ @todo Update to include group address features.
+
+
+
+ The FlexNet broadcast address (0x0FFFFFFF).
+
+
+
+
+ The FlexNet legacy group address (0x0FFFFFFE).
+
+
+
+
+ Multicast address (0xE0000000), as used when doing an encrypted firmware upgrade.
+
+
+
+
+ Verifies a FlexNet ID is a valid FlexNet ID -- not the broadcast address,
+ and not the legacy group address.
+
+
+
+
+
+
+ Formats a FlexNet ID in a.b.c.d format for group addressing.
+
+
+
+
+
+
+ Actual ReceptionEventArgs used when a BuddyBox, VGB, or FMT raises
+ a FrameReceived event.
+
+
+
+
+ What TxStyle was the communication device listening for when this frame was received?
+
+
+
+
+ The actual message the communication device reported to indicate the reception.
+ This is usually either a ReceiverPollMessage (0x47) or a RawReceiverPollMessage (0x10).
+
+
+
+
+
+
+
+ this includes RFSequence, PB ACK, Double Hop and Payload Encrypted
+
+
+
+
+ a rolling 5-bit counter that should be incremented every time a transmission is made
+
+
+
+
+ Marks a class as being a Protocols.FlexNet.Command for use in the parsing system.
+
+
+
+
+ Represents the command data and command code of a FlexNet command.
+
+
+
+
+ Registers all types marked with [CommandAttribute] or [SubCommandAttribute]
+ in a given assembly with the FlexNet command parsing system.
+
+
+
+
+
+ Factory for parsing any type of FlexNet frame, even serial frames, given a byte array.
+
+
+
+
+ Parses an array of bytes containing a full FlexNet frame (syncword through CRC).
+ If you only have app data, look at Message.Parse().
+ If you only have command data, look at Command.Parse().
+
+ NOTE: This method cannot parse FNv2 FlexType 1 frames. There is no known unambiguous
+ way to identify this type of frame without having the serial command/message frame bytes
+ (beginning with the '1B') included.
+
+ array to read from
+ index of the frame's syncword
+ One of:
+
+ - Sensus.Protocols.FlexNet.Serial.SerialCommandFrame
+ - Sensus.Protocols.FlexNet.Serial.SerialMessageFrame
+ - ClassicCommandFrame
+ - ClassicMessageFrame
+ - NA2WCommandFrame
+ - NA2WMessageFrame
+
+
+
+
+
+ Source of command RF sequence numbers when they haven't been explictly set.
+
+ 5-bit incrementing number
+
+
+
+ Is the message an ack message for the specified command code?
+ This method does not determine the ACK vs. NAK state of the message.
+
+
+
+
+
+
+ Is the message an ack message for the specified command code?
+ This method does not determine the ACK vs. NAK state of the message.
+
+
+
+
+
+
+ Is the message an ack message for the specified command code and is it actually an ACK
+ (rather than a NAK)?
+
+
+
+
+
+ Is the message an ack message for the specified command code and is it actually an ACK
+ (rather than a NAK)?
+
+
+
+
+
+ Is the message an ack message for the specified command code and is it actually a NAK?
+
+
+
+
+ Is the message an ack message for the specified command code and is it actually a NAK?
+
+
+
+
+ Sync words used by FlexNet frames.
+
+
+
+
+ Used by Classic commands and all messages.
+
+
+
+
+ An on-air FlexNet frame.
+ This does not include serial frames.
+ The common root of the on-air and serial frames is IFrame.
+
+
+
+
+ A message frame transmitted by either a one-way SmartPoint or an electric SmartPoint.
+ To interpret the header bits correctly, wrap in the message frame type you're interested in.
+
+
+
+
+
+
+
+
+
+
+ Wraps the app code and the entire app data region of a command. Used in commands that are defined
+ in terms of the full app data region such as the NA2WSendWhole command.
+
+
+
+
+ A message transmitted from an electric SmartPoint.
+
+ Use ElectricClassicMessageFrame.Parse() to construct an instance from an array of bytes.
+
+
+
+
+ from electric Control byte
+
+
+
+
+ from electric Control byte
+
+
+
+
+ Set when the SmartPoint receives a valid LOAD START command,
+ cleared when the meter receives a valid LOAD_FLASH command.
+
+
+
+
+ Indicates whether the device is in time sync with the tower.
+
+
+
+
+ Indicates that the SmartPoint detected a tamper condition.
+
+
+
+
+ Indicates a brown-out condition has occurred.
+
+
+
+
+ A global failed reading flag.
+ The reading could have failed because of:
+ no response, bad CRC/Checksum/Parity, or because of invalid data in the payload.
+
+
+
+
+ A message transmitted by a one-way gas SmartPoint.
+
+ Use GasClassicMessageFrame.Parse() to create an instance from an array of bytes.
+
+
+
+
+ Indicates that the usage between the last and previous reading resulted
+ in a number too large to be represented by the SmartPoint's compressed history.
+
+
+
+
+ Low Battery Detected from Control byte.
+
+
+
+
+ The app code and app data region of a FlexNetMessageFrame.
+ Messages are transmitted by SmartPoints. Compare to Command which is
+ transmitted to SmartPoints and always has app code of 7.
+
+ Use Message.Parse() to create an instance from an array of bytes.
+
+
+
+
+
+ Parses a Message given an array of bytes the exact length of the Message data.
+
+
+
+
+
+
+
+ All messages for FNv1 seem to be padded to 28 bytes and that is the value that is keyed in the dictionary.
+ It doesn't make sense to key it this way but it is the way it is. FNv2 does not pad wrapped FNv1 messages
+ and the way this code here was developed - it has no way to know the actual message length
+ since all the Message classes have an applength attribute of 28. For FNv2 wrapped messages,
+ we need a way to still key them to the 28 byte messages but to override the actual length
+ in order to get rid of the padding for FNv2 frames. Hence the 'actualLength' parm.
+
+
+
+
+
+
+
+
+
+
+
+ A FlexNetMessageFrame transmitted by an NA2W SmartPoint in FNv1 (This is not a FlexType-9 frame!).
+
+ Use NA2WMessageFrame.Parse() to create an instance from an array of bytes.
+
+
+
+
+ Constructs an NA2WMessageFrame from an existing FlexNetMessageFrame. Use this
+ constructor when you need to interpret NA2W-specific header bits.
+
+
+
+
+
+
+
+
+ I'm In Trouble from Control byte.
+ When using MoM-comms, indicates the SmartPoint is out of timesync.
+
+
+
+
+ Low Battery Detected from Control byte.
+
+
+
+
+ Secondary channel no LAT window detection, if AlternateHeaderInterpretation and LowBatteryDetected are true.
+
+
+
+
+ Indicates that the usage between the last and previous reading resulted
+ in a number too large to be represented by the SmartPoint's compressed history.
+
+
+
+
+ This bit will be set if any of the meter alarms are set.
+ Individual meter alarms can be pulled from the alarm message.
+
+
+
+
+ Bit referred to as "Alternate Header Interpretation" in the FCP.
+ Indicates whether bit 4 of Control byte and bits 3 and 4 of the RepeatStatus byte should
+ be interpreted as LATDelay or as Channel identifier.
+
+ If true, then LATDelay's value is Unknown.
+
+
+
+
+ See the FCP section 1.0.6.
+
+
+
+
+ Indicates the amount of time from the start of this message's transmission that the
+ SmartPoint will turn on its receiver to accept a command.
+
+
+ This field pulls bits from both the Control byte and the Repeat Level and Status byte.
+
+ If this message is from a non-zero channel, the getter will return
+ LATDelay.NoLATWindow if is true
+ OR it will return LATDelay.Unknown in the normal case.
+
+
+ Thrown by the setter for non-zero channels.
+
+
+
+
+ The Channel number from which the message originated.
+
+ When written, sets the NonZeroChannel bit in RepeatStatus, as well as the old LAT delay bits if needed.
+
+
+
+
+ A message transmitted by a one-way water SmartPoint.
+
+ To create an instance from an array of bytes, use WaterClassicMessageFrame.Parse().
+
+
+
+
+ Indicates that the usage between the last and previous reading resulted
+ in a number too large to be represented by the SmartPoint's compressed history.
+
+
+
+
+ The SmartPoint received no response or parity failure from the encoder/register.
+
+
+
+
+ SmartPoint detected a tamper condition.
+
+
+
+
+ Indicates that a leak (continuous flow) has been detected.
+
+
+
+
+ Indicates that the encoder/register responded with non-numeric data in the reading string.
+
+
+
+
+ Low Battery Detected from Control byte.
+
+
+
+
+ Alarm when Device Type is NA2WMLC
+
+
+
+
+ WD Resets.
+
+
+
+
+ V2 Flag = 1.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Alarm_NA2WMLC when V2 Flag = 1 is MessageVersion1
+
+
+
+
+ Device Temperature.
+
+
+
+
+ Time Since Event.
+
+
+
+
+ Intensity.
+
+
+
+
+ Light State.
+
+
+
+
+ Message Stimulus.
+
+
+
+
+ InLieuOfReading.
+
+
+
+
+ Last Reading.
+
+
+
+
+ Last Transmission Type.
+
+
+
+
+ Override Active.
+
+
+
+
+ Sunrise/Sunset Active.
+
+
+
+
+ Schedule Active.
+
+
+
+
+ Protected.
+
+
+
+
+ Weekly Minimum Temperature.
+
+
+
+
+ Weekly Maximum Temperature.
+
+
+
+
+ Click Count.
+
+
+
+
+ Epoch Time of Last Power Failure.
+
+
+
+
+ AC Voltage (in 2V units).
+
+
+
+
+ Effective Current (in 20mA units).
+
+
+
+
+ Battery Voltage Under Load.
+
+
+
+
+ AC Current (in 20mA units).
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Meter WD Resets.
+
+
+
+
+ 35-Day Alarms.
+
+
+
+
+ Status Flags.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Alarm_NA2WMLC when V2 Flag = 1 is MessageVersion2
+
+
+
+
+ Device Temperature.
+
+
+
+
+ Time Since Event.
+
+
+
+
+ Intensity.
+
+
+
+
+ Light State.
+
+
+
+
+ Message Stimulus.
+
+
+
+
+ InLieuOfReading.
+
+
+
+
+ Last Reading.
+
+
+
+
+ Last Transmission Type.
+
+
+
+
+ Override Active.
+
+
+
+
+ Sunrise/Sunset Active.
+
+
+
+
+ Schedule Active.
+
+
+
+
+ Protected.
+
+
+
+
+ Weekly Minimum Temperature.
+
+
+
+
+ Weekly Maximum Temperature.
+
+
+
+
+ Click Count.
+
+
+
+
+ Epoch Time of Last Power Failure.
+
+
+
+
+ Lower AC Voltage (in 1V units).
+
+
+
+
+ Lower Effective Current (in 1mA units).
+
+
+
+
+ Upper Effective Current (in 1mA units).
+
+
+
+
+ Upper AC Voltage (in 1V units).
+
+
+
+
+ V3Flag(VantagePointDALI).
+
+
+
+
+ AC Current (in 20mA units).
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Meter WD Resets.
+
+
+
+
+ 35-Day Alarms.
+
+
+
+
+ Status Flags.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Alarm when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Alarm Message Reason.
+
+
+
+
+ Transmission in Lieu of Reading.
+
+
+
+
+ Service Mode.
+
+
+
+
+ Read Scheduled.
+
+
+
+
+ NA2W Top Level State.
+
+
+
+
+ WD Resets.
+
+
+
+
+ Cathodic Protection Type.
+
+
+
+
+ Relay Closed.
+
+
+
+
+ Reading A Failed.
+
+
+
+
+ Reading A.
+
+
+
+
+ Reading B Failed.
+
+
+
+
+ Reading B.
+
+
+
+
+ Reading C Failed.
+
+
+
+
+ Reading C.
+
+
+
+
+ Battery Voltage.
+
+
+
+
+ Battery Voltage Under Load.
+
+
+
+
+ Weekly Minimum Battery Voltage.
+
+
+
+
+ Product Temperature (deg C).
+
+
+
+
+ Weekly Minimum Temperature (deg C).
+
+
+
+
+ Weekly Maximum Temperature (deg C).
+
+
+
+
+ Metrology Configuration Sequence Number.
+
+
+
+
+ MoM Time Slot.
+
+
+
+
+ Alarm Flags.
+
+
+
+
+ Last Transmission Type.
+
+
+
+
+ Time Since Reset.
+
+
+
+
+ Low Voltage Alarm Start Time.
+
+
+
+
+ Low Voltage Alarm Stop Time.
+
+
+
+
+ Metrology Failure Alarm Start Time.
+
+
+
+
+ Metrology Failure Alarm Stop Time.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Alarm when Device Type is MainsEndpoint
+
+
+
+
+ Alarm Message Reason.
+
+
+
+
+ Transmission in Lieu of Reading.
+
+
+
+
+ Reading Failed.
+
+
+
+
+ Service Mode.
+
+
+
+
+ NA2W Top Level State.
+
+
+
+
+ WD Resets.
+
+
+
+
+ Power Failure Alarm.
+
+
+
+
+ Digital Input A Alarm.
+
+
+
+
+ Digital Input B Alarm.
+
+
+
+
+ In Time Sync.
+
+
+
+
+ Alarm Configuration Sequence Number.
+
+
+
+
+ Digital Input A State.
+
+
+
+
+ Digital Input B State.
+
+
+
+
+ Voltage Average (cVrms).
+
+
+
+
+ Voltage Minimum (2Vrms).
+
+
+
+
+ Voltage Maximum (2Vrms).
+
+
+
+
+ Board Voltage.
+
+
+
+
+ Product Temperature (deg C).
+
+
+
+
+ Weekly Minimum Temperature (deg C).
+
+
+
+
+ Weekly Maximum Temperature (deg C).
+
+
+
+
+ Last Transmission Type.
+
+
+
+
+ Time Since Reset.
+
+
+
+
+ Epoch Time Last Power Failure.
+
+
+
+
+ Digital Input A Alarm Start Time.
+
+
+
+
+ Digital Input A Alarm Stop Time.
+
+
+
+
+ Digital Input B Alarm Start Time.
+
+
+
+
+ Digital Input B Alarm Stop Time.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Alarm when Device Type is RectifierMonitor
+
+
+
+
+ Alarm Message Reason.
+
+
+
+
+ Transmission in Lieu of Reading.
+
+
+
+
+ Reading Failed.
+
+
+
+
+ Service Mode.
+
+
+
+
+ Scheduled Survey.
+
+
+
+
+ WD Resets.
+
+
+
+
+ Idc Reading (mA).
+
+
+
+
+ Vdc Reading (mV).
+
+
+
+
+ Battery Voltage (dV).
+
+
+
+
+ Weekly Minimum Battery Voltage.
+
+
+
+
+ Product Temperature (deg C).
+
+
+
+
+ Weekly Minimum Temperature (deg C).
+
+
+
+
+ Weekly Maximum Temperature (deg C).
+
+
+
+
+ Metrology Configuration Sequence Number.
+
+
+
+
+ MoM Time Slot.
+
+
+
+
+ NA2W Top Level State.
+
+
+
+
+ Last Transmission Type.
+
+
+
+
+ Alarm Flags.
+
+
+
+
+ Time Since Reset.
+
+
+
+
+ Metrology Low Voltage Alarm Start Time.
+
+
+
+
+ Metrology Low Voltage Alarm Stop Time.
+
+
+
+
+ Communication Failure Alarm Start Time.
+
+
+
+
+ Communication Failure Alarm Stop Time.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Buddy
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Clear iConA Warnings & Errors
+
+
+
+
+ Clear Warnings.
+
+
+
+
+ Clear Errors.
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Clear iConA Warnings & Errors when Device Type is NA2WWater
+
+
+
+
+ Clear Leak (0).
+
+
+
+
+ Clear Broken Pipe (1).
+
+
+
+
+ Clear Backflow (2).
+
+
+
+
+ Clear Tamper (3).
+
+
+
+
+ Clear Meter Comm. Failed (4).
+
+
+
+
+ Clear Non-num. Read/Read Malf. (5).
+
+
+
+
+ Clear Swapped Meter (6).
+
+
+
+
+ Clear Alarm Suppression Operational.
+
+
+
+
+ Clear Alarm Suppression Hardware.
+
+
+
+
+ Clear Alarm Suppression Temperature.
+
+
+
+
+ Clear Alarm Suppression Pressure.
+
+
+
+
+ Cut Wire Alarm.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Clear iConA Warnings & Errors when Device Type is NA2WGas
+
+
+
+
+ Clear Broken Pipe (1).
+
+
+
+
+ Clear Backflow (2).
+
+
+
+
+ Clear Magnetic Tamper (3).
+
+
+
+
+ Clear Cut Wire Tamper (4).
+
+
+
+
+ Clear Tilt Tamper (5).
+
+
+
+
+ Clear BiDi Communication Failure (9).
+
+
+
+
+ Clear Meter Communication Failure (11).
+
+
+
+
+ Clear Alarm Suppression Operational (12).
+
+
+
+
+ Clear Alarm Suppression Hardware (13).
+
+
+
+
+ Clear Alarm Suppression Temperature (14).
+
+
+
+
+ Clear Alarm Suppression Pressure (15).
+
+
+
+
+ Clear Setup Dump Interrupted (17).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Clear iConA Warnings & Errors when Device Type is NA2WGSV
+
+
+
+
+ Clear Pressure Low Shutoff (0).
+
+
+
+
+ Clear Pressure High Shutoff (1).
+
+
+
+
+ Clear Excess Flow (2).
+
+
+
+
+ Clear Tilt Tamper (3).
+
+
+
+
+ Clear Seismic Event (4).
+
+
+
+
+ Clear Pressure Low Warning (5).
+
+
+
+
+ Clear Pressure High Warning (6).
+
+
+
+
+ Clear Unknown Valve State (7).
+
+
+
+
+ Clear Over Temperature (8).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Clear iConA Warnings & Errors when Device Type is NA2WMLC
+
+
+
+
+ Lamp Failure Alarm.
+
+
+
+
+ Board Failure Alarm.
+
+
+
+
+ Metrology Error Alarm.
+
+
+
+
+ Metrology Failure Alarm.
+
+
+
+
+ Metrology Reset Alarm.
+
+
+
+
+ Over Current Alarm.
+
+
+
+
+ Daylight Burner.
+
+
+
+
+ GPS Hardware Failure.
+
+
+
+
+ GPS Location Alarm.
+
+
+
+
+ Self-Discovery Failure.
+
+
+
+
+ Power Surge.
+
+
+
+
+ Brown Out Warning.
+
+
+
+
+ High Current Warning.
+
+
+
+
+ Low Current Warning.
+
+
+
+
+ Reverse Energy.
+
+
+
+
+ Meter Changed.
+
+
+
+
+ Relay Corrected.
+
+
+
+
+ GPS Location Changed Warning.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Clear iConA Warnings & Errors when Device Type is NA2W3PortRemoteGas
+
+
+
+
+ Corrector Alarm.
+
+
+
+
+ Cut Wire Tamper.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Clear iConA Warnings & Errors when Device Type is LibertyGas
+
+
+
+
+ Clear Broken Pipe (1).
+
+
+
+
+ Clear Door Tamper (2).
+
+
+
+
+ Clear Magnetic Tamper (3).
+
+
+
+
+ Clear MeterComm Failure (4).
+
+
+
+
+ Clear Tilt Tamper (5).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Clear iConA Warnings & Errors when Device Type is RawMetrology
+
+
+
+
+ Clear Metrology Low Voltage (0).
+
+
+
+
+ Clear Communication Failure (1).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Clear iConA Warnings & Errors when Device Type is BatteryEndpoint
+
+
+
+
+ Clear Low Voltage (0).
+
+
+
+
+ Clear Digital Input A (1).
+
+
+
+
+ Clear Digital Input B (2).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Clear iConA Warnings & Errors when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Clear Low Voltage (0).
+
+
+
+
+ Clear Metrology Failure (1).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Clear iConA Warnings & Errors when Device Type is MainsEndpoint
+
+
+
+
+ Clear Low Voltage Alarm (0).
+
+
+
+
+ Clear Digital Input A (1).
+
+
+
+
+ Clear Digital Input B (2).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Clear iConA Warnings & Errors when Device Type is RectifierMonitor
+
+
+
+
+ Clear Low Voltage (0).
+
+
+
+
+ Clear Comm Failure (1).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ C&I Alarm
+
+
+
+
+ Phase A Voltage.
+
+
+
+
+ Phase B Voltage.
+
+
+
+
+ Phase C Voltage.
+
+
+
+
+ Click Count.
+
+
+
+
+ Time Since Event.
+
+
+
+
+ Current Reading.
+
+
+
+
+ Device Temperature.
+
+
+
+
+ Processor Resets.
+
+
+
+
+ ROM Test Failed.
+
+
+
+
+ RAM Test Failed.
+
+
+
+
+ Synthesizer Lock Failures.
+
+
+
+
+ Receiver Calibration Errors.
+
+
+
+
+ Alarms.
+
+
+
+
+ Manual Demand Resets.
+
+
+
+
+ Time Of Last Power Fail.
+
+
+
+
+ Time Of Last Power Restore.
+
+
+
+
+ Number Of Outages.
+
+
+
+
+ Flags.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ C&I High Res Read with History Data
+
+
+
+
+ Relative Time Stamp.
+
+
+
+
+ Delta Data Type.
+
+
+
+
+ Click Count.
+
+
+
+
+ Current Consumption.
+
+
+
+
+ Peak Demand Reading.
+
+
+
+
+ Phase A Volts.
+
+
+
+
+ Phase B Volts.
+
+
+
+
+ Phase C Volts.
+
+
+
+
+ History Data.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ C&I Meter Read w/History
+
+
+
+
+ Relative Time Stamp.
+
+
+
+
+ Delta Data Type.
+
+
+
+
+ Compression Enabled.
+
+
+
+
+ Current Meter Reading.
+
+
+
+
+ Peak Demand Reading.
+
+
+
+
+ Phase A Volts.
+
+
+
+
+ Phase B Volts.
+
+
+
+
+ Phase C Volts.
+
+
+
+
+ History Data.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Configure Group Command Options
+
+
+
+
+ Disable Load Shed.
+
+
+
+
+ Disable Demand Reset.
+
+
+
+
+ Disable Ping.
+
+
+
+
+ Disable FW Maintenance.
+
+
+
+
+ Disable FlexNet Read/TX Rates.
+
+
+
+
+ Disable LCD Configuration.
+
+
+
+
+ Disable TOU Critical Peak Override.
+
+
+
+
+ Disable TOU Configuration.
+
+
+
+
+ Disable Voltage Quality Cmds.
+
+
+
+
+ Disable Demand Configuration.
+
+
+
+
+ Disable Zigbee Pass-Through Cmds.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Delay Supervisory Transmissions
+
+
+
+
+ Delay.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Demand History Message with Reading
+
+
+
+
+ Number of Demand Resets.
+
+
+
+
+ Last Demand Reset Month.
+
+
+
+
+ Last Demand Reset Day.
+
+
+
+
+ Last Demand Reset Hour.
+
+
+
+
+ Last Demand Reset Minute.
+
+
+
+
+ Last Peak Demand Month.
+
+
+
+
+ Last Peak Demand Day.
+
+
+
+
+ Last Peak Demand Hour.
+
+
+
+
+ Last Peak Demand Minute.
+
+
+
+
+ Last Peak Demand.
+
+
+
+
+ Summation Reading.
+
+
+
+
+ 2nd Demand Reset Month.
+
+
+
+
+ 2nd Demand Reset Day.
+
+
+
+
+ 2nd Demand Reset Hour.
+
+
+
+
+ 2nd Demand Reset Minute.
+
+
+
+
+ 2nd Peak Demand Month.
+
+
+
+
+ 2nd Peak Demand Day.
+
+
+
+
+ 2nd Peak Demand Hour.
+
+
+
+
+ 2nd Peak Demand Minute.
+
+
+
+
+ 2nd Peak Demand.
+
+
+
+
+ 2nd Summation Reading.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Demand Read/Drive-by Read
+
+
+
+
+ Response Mode (Electric-only).
+
+
+
+
+ Max Dither Time In Sec (0-255 sec).
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Demand Reset
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Device Status
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Device Status when Device Type is NA2WGSV
+
+
+
+
+ Reading.
+
+
+
+
+ Expected Valve Position.
+
+
+
+
+ Actual Valve Position.
+
+
+
+
+ Last Valve Change Reason.
+
+
+
+
+ Is Reading Valid.
+
+
+
+
+ Relative Time Stamp.
+
+
+
+
+ Pressure Scale Factor.
+
+
+
+
+ Transmission For 8am Requirement.
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Temperature (deg C).
+
+
+
+
+ History Samples.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Status when Device Type is NA2WMLC
+
+
+
+
+ V2 Flag = 1.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceStatus_NA2WMLC when V2 Flag = 1 is MessageVersion1
+
+
+
+
+ AC Voltage.
+
+
+
+
+ Effective Current.
+
+
+
+
+ Temperature.
+
+
+
+
+ Light State.
+
+
+
+
+ Intensity.
+
+
+
+
+ Override Active.
+
+
+
+
+ Sun Rise/Set Active.
+
+
+
+
+ Schedule Active.
+
+
+
+
+ Override Time.
+
+
+
+
+ Last Reading.
+
+
+
+
+ Reading Invalid.
+
+
+
+
+ Sunrise Hour.
+
+
+
+
+ Sunrise Minute.
+
+
+
+
+ Sunset Hour.
+
+
+
+
+ Sunset Minute.
+
+
+
+
+ History Type.
+
+
+
+
+ Relative Timestamp.
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Commissioned.
+
+
+
+
+ Override Event.
+
+
+
+
+ History Samples.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ DeviceStatus_NA2WMLC when V2 Flag = 1 is MessageVersion2
+
+
+
+
+ Lower AC Voltage(in 1V units).
+
+
+
+
+ Lower Effective Current(in 1mA units).
+
+
+
+
+ Temperature.
+
+
+
+
+ Light State.
+
+
+
+
+ Intensity.
+
+
+
+
+ Override Active.
+
+
+
+
+ Sun Rise/Set Active.
+
+
+
+
+ Schedule Active.
+
+
+
+
+ Override Time.
+
+
+
+
+ Last Reading.
+
+
+
+
+ Reading Invalid.
+
+
+
+
+ Sunrise Hour.
+
+
+
+
+ Sunrise Minute.
+
+
+
+
+ Sunset Hour.
+
+
+
+
+ Sunset Minute.
+
+
+
+
+ History Type.
+
+
+
+
+ Relative Timestamp.
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Commissioned.
+
+
+
+
+ Override Event.
+
+
+
+
+ Upper Effective Current (in 1 mA units).
+
+
+
+
+ Upper AC Voltage (in 1 V units).
+
+
+
+
+ History Samples.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Status when Device Type is NA2W3PortRemoteGas
+
+
+
+
+ Relative Time Stamp.
+
+
+
+
+ History Scale.
+
+
+
+
+ Delta Data Type.
+
+
+
+
+ Port 1 Reading Digits.
+
+
+
+
+ Port 2 Reading Digits.
+
+
+
+
+ Is Critical Reading?.
+
+
+
+
+ Compression Mode.
+
+
+
+
+ Port 1 Reading.
+
+
+
+
+ Port 2 Reading.
+
+
+
+
+ Port 1 History Samples.
+
+
+
+
+ Port 2 History Samples.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Status when Device Type is BatteryEndpoint
+
+
+
+
+ Digital Input A State.
+
+
+
+
+ Digital Input B State.
+
+
+
+
+ Reading.
+
+
+
+
+ Relative Time Stamp.
+
+
+
+
+ Time Stamp Scale.
+
+
+
+
+ History Encoding.
+
+
+
+
+ History Samples.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Status when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Reading A Failed.
+
+
+
+
+ Reading B Failed.
+
+
+
+
+ Reading C Failed.
+
+
+
+
+ Cathodic Protection Type.
+
+
+
+
+ Reading A (mv).
+
+
+
+
+ Reading B (mv).
+
+
+
+
+ Reading C (mv).
+
+
+
+
+ Relative Time Stamp.
+
+
+
+
+ Time Stamp Scale.
+
+
+
+
+ Relay Closed.
+
+
+
+
+ Service Mode.
+
+
+
+
+ Read Scheduled.
+
+
+
+
+ History Encoding.
+
+
+
+
+ History Scale.
+
+
+
+
+ Metrology Config Sequence Number.
+
+
+
+
+ History of Reading A.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Status when Device Type is MainsEndpoint
+
+
+
+
+ Digital Input A State.
+
+
+
+
+ Digital Input B State.
+
+
+
+
+ Time Stamp Scale.
+
+
+
+
+ Voltage Average (cVrms).
+
+
+
+
+ Voltage Maximum (2Vrms).
+
+
+
+
+ Voltage Minimum (2Vrms).
+
+
+
+
+ Relative Time Stamp.
+
+
+
+
+ History Samples.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Device Status when Device Type is RectifierMonitor
+
+
+
+
+ Idc Reading (mA).
+
+
+
+
+ Vdc Reading (mV).
+
+
+
+
+ Relative Time Stamp.
+
+
+
+
+ Time Stamp Scale.
+
+
+
+
+ History Encoding.
+
+
+
+
+ Interrupter State.
+
+
+
+
+ Reading Failed.
+
+
+
+
+ Service Mode.
+
+
+
+
+ Scheduled Survey.
+
+
+
+
+ History Scaling.
+
+
+
+
+ Metrology Configuration Sequence Number.
+
+
+
+
+ Idc History.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Electric Alarm
+
+
+
+
+ Alarms Data.
+
+
+
+
+ Minimum Voltage.
+
+
+
+
+ Maximum Voltage.
+
+
+
+
+ Average Voltage.
+
+
+
+
+ Actual Voltage.
+
+
+
+
+ Click Count.
+
+
+
+
+ Time Since Event.
+
+
+
+
+ Current Reading.
+
+
+
+
+ Device Temperature.
+
+
+
+
+ Microprocessor Errors.
+
+
+
+
+ Lock Errors.
+
+
+
+
+ Extended Time Since Event.
+
+
+
+
+ Minimum Phase A Voltage.
+
+
+
+
+ Maximum Phase A Voltage.
+
+
+
+
+ Average Phase A Voltage.
+
+
+
+
+ Actual Phase A Voltage.
+
+
+
+
+ Flags.
+
+
+
+
+ Demand.
+
+
+
+
+ Epoch Time of Last Power Failure.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Encapsulated Serial Cmd
+
+
+
+
+ Address.
+
+
+
+
+ Serial Command.
+
+
+
+
+ Serial Command Length.
+
+
+
+
+ App Data.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2WIntervalDataPingCommand
+
+
+
+
+ Start.
+
+
+
+
+ Continue.
+
+
+
+
+ Ack.
+
+
+
+
+ Store ID Entry.
+
+
+
+
+ NA2WIntervalDataPageType
+
+
+
+
+ Continuation page.
+
+
+
+
+ First page.
+
+
+
+
+ NA2WIntervalDataReadingType
+
+
+
+
+ Compressed only.
+
+
+
+
+ Absolute and compressed readings.
+
+
+
+
+ NA2WProductType
+
+
+
+
+ Water.
+
+
+
+
+ Gas.
+
+
+
+
+ Gas Shutoff Valve.
+
+
+
+
+ MLC.
+
+
+
+
+ Three Port Gas Corrector.
+
+
+
+
+ Dual Port Pulse Gas.
+
+
+
+
+ Arqiva Thames Water [HAN].
+
+
+
+
+ Arqiva Thames Water [No HAN].
+
+
+
+
+ Arqiva Liberty Gas.
+
+
+
+
+ Arqiva Thames Water [HAN/New loop].
+
+
+
+
+ Three Port Gas Rev 5.
+
+
+
+
+ Dual Port Gas Rev 5.
+
+
+
+
+ Electronic Register (2012).
+
+
+
+
+ SLC Phase II Light Controller (U90952).
+
+
+
+
+ SLC Phase II Radio (U90951).
+
+
+
+
+ 640 E-register.
+
+
+
+
+ ESAAP Water (1000123).
+
+
+
+
+ Smart Gateway.
+
+
+
+
+ SLC Phase III.
+
+
+
+
+ Cathodic Protection Test Point.
+
+
+
+
+ iPERL2.
+
+
+
+
+ iPERL S4 TFx.
+
+
+
+
+ Pulse RF TFx.
+
+
+
+
+ Japan Demo.
+
+
+
+
+ Australia Demo.
+
+
+
+
+ Bullhorn FlexNet Radio Module.
+
+
+
+
+ AutoGun Bluetooth.
+
+
+
+
+ ESAAP MP SmartPoint.
+
+
+
+
+ Japan Field Trial.
+
+
+
+
+ Electronic Register +.
+ XML serializes as "Electronic Register Plus".
+
+
+
+
+ PHIT2.
+
+
+
+
+ VantagePoint DALI.
+
+
+
+
+ SLC-SELC Meter.
+
+
+
+
+ SonixV2 Radio EP1.
+
+
+
+
+ SonixV2 Meter.
+
+
+
+
+ Utility Pole Monitor.
+
+
+
+
+ FlexNet iPERL S4 Radio EP1.
+
+
+
+
+ AutoGun Bluetooth Radio Module.
+
+
+
+
+ sim3l1xx 900MHz Development Board.
+
+
+
+
+ Chile Field Trial.
+
+
+
+
+ EFM32GG 900MHz Development Board.
+
+
+
+
+ Japan Field Trial Gen 2.
+
+
+
+
+ FlexNet iPERL S4 Radio.
+
+
+
+
+ SonixV2 Radio.
+
+
+
+
+ iPERL ASIC.
+
+
+
+
+ Cordonel SRF.
+ XML serializes as "Cordonel SRF".
+
+
+
+
+ Omni+.
+ XML serializes as "Omni eRegister Plus".
+
+
+
+
+ Cordonel North America.
+
+
+
+
+ Water Pulse.
+
+
+
+
+ Omni Optical Adapter.
+
+
+
+
+ Wireless (TFR) ESAAP iPERL ULFN.
+
+
+
+
+ SonixV2 Radio Phase II.
+
+
+
+
+ SonixV2 Meter Phase II.
+
+
+
+
+ CommandLink II.
+
+
+
+
+ ESAAP Agnostic SmartPoint.
+
+
+
+
+ DeviceType
+
+
+
+
+ Transmit Only iCon Electric Meter.
+
+
+
+
+ Transceiver iCon Electric Meter.
+
+
+
+
+ GPS Testing Device.
+
+
+
+
+ Water Meter.
+
+
+
+
+ TGB RF Card.
+
+
+
+
+ Elster A3 C&I FlexNet Radio.
+
+
+
+
+ FlexNet Water.
+
+
+
+
+ FlexNet Gas.
+
+
+
+
+ iCon Integrated Display.
+
+
+
+
+ APX Integrated Display.
+
+
+
+
+ Handheld.
+
+
+
+
+ Buddy Box.
+
+
+
+
+ Cooper Fault Current Indicator.
+
+
+
+
+ Zigbee Gateway.
+
+
+
+
+ Canon Multi-Utility.
+
+
+
+
+ Poletop Repeater.
+
+
+
+
+ Thermostat.
+
+
+
+
+ Propane Sensor.
+
+
+
+
+ L&G Focus AL Energy Only FlexNet Radio.
+
+
+
+
+ L&G Focus AX Time of Use.
+
+
+
+
+ Aclara I-210+C Time of Use.
+
+
+
+
+ Aclara I-201+ Energy Only.
+
+
+
+
+ APX Integrated Display w/Zigbee.
+
+
+
+
+ iConA TOU Integrated Display.
+
+
+
+
+ IconA Zigbee Module with MSP430F5438.
+
+
+
+
+ Thumb Buddy Box.
+
+
+
+
+ EOL Buddy Box.
+
+
+
+
+ FlexNet Network Portal (FNP).
+
+
+
+
+ In-Home Display.
+
+
+
+
+ iConA TOU Metrology Processor.
+
+
+
+
+ iCon AP Metrology Processor.
+
+
+
+
+ iCon APX Metrology Processor.
+
+
+
+
+ Elster A3 Metrology Processor.
+
+
+
+
+ iCon Integ. Disp w/ AMI FW DL.
+
+
+
+
+ Elster A3 C&I with 512KB Flash.
+
+
+
+
+ Load Shed Box.
+
+
+
+
+ Cooper Serial.
+
+
+
+
+ FlexNet Remote Portal.
+
+
+
+
+ L&G AL_kWh/L&G_AX_TOU.
+
+
+
+
+ EOL FMT.
+
+
+
+
+ FlexNet Metpod.
+
+
+
+
+ miniFNP.
+
+
+
+
+ L+G S4e FlexNet Radio.
+
+
+
+
+ L+G S4e Metrology Processor.
+
+
+
+
+ L+G Focus AX Metrology Processor.
+
+
+
+
+ Bluetooth Micro Transceiver.
+
+
+
+
+ CommandLink (PHIT).
+
+
+
+
+ NA2W Water.
+
+
+
+
+ NA2W Gas.
+
+
+
+
+ Elster A3 C&I FlexNet Radio [With MSP430F5437].
+
+
+
+
+ iConAS TOU Integrated Display.
+
+
+
+
+ L&G Focus AX FlexNet Radio (with MSP430F5437).
+
+
+
+
+ iConAS TOU Metrology Processor.
+
+
+
+
+ Generic Transceiver.
+
+
+
+
+ Aclara kV2C Radio.
+
+
+
+
+ NA2W GSV.
+
+
+
+
+ iConAS 400 MHz.
+
+
+
+
+ PRI i-Credit 500 Radio.
+
+
+
+
+ PRI i-Credit 500 Meter.
+
+
+
+
+ USB Micro Transceiver 400 MHz.
+
+
+
+
+ NA2W MLC.
+
+
+
+
+ NA2W Water Shutoff Valve.
+
+
+
+
+ TGB PA Controller.
+
+
+
+
+ APX AS.
+
+
+
+
+ Aclara SM112 400MHz FlexNet Radio.
+
+
+
+
+ NA2W 3-Port Remote Gas.
+
+
+
+
+ Liberty Gas.
+
+
+
+
+ EDMI MK7 FlexNet radio [with MSP430F5437].
+
+
+
+
+ Combo USB/Bluetooth FMT.
+
+
+
+
+ EDMI MK7B ESI.
+
+
+
+
+ EDMI MK7B Meter.
+
+
+
+
+ High Power Load Control Module Radio.
+
+
+
+
+ High Power FlexNet Gateway Radio.
+
+
+
+
+ iConAS Enhanced Radio (CC1120 with MSP430F5437).
+
+
+
+
+ Han Serial 3rd Party Device.
+
+
+
+
+ 3rd Party Zigbee ESI.
+
+
+
+
+ SLC Light Controller.
+
+
+
+
+ EDMI MK7 Enhanced Radio [CC1125 with MSP430F5437].
+
+
+
+
+ EDMI MK7 FlexNet Radio [with MSP430F5437 and Si446X].
+
+
+
+
+ Water Register.
+
+
+
+
+ L+G Focus AX FlexNet Enhanced Radio [CC1120 with MSP430F5437].
+
+
+
+
+ Multi-FMT.
+
+
+
+
+ UK-Comms Hub STm32F103.
+
+
+
+
+ UK-Comms Hub ESI.
+
+
+
+
+ UK-Comms Hub Leaf.
+
+
+
+
+ iPERL Hat.
+
+
+
+
+ IConA Stratus IQ.
+
+
+
+
+ Wireless Water Register.
+
+
+
+
+ Aclara i210 Meter.
+
+
+
+
+ Raw Metrology.
+
+
+
+
+ Battery Endpoint.
+
+
+
+
+ PHIT II.
+
+
+
+
+ Cathodic Protection Metrology.
+
+
+
+
+ Aclara I210 Plus.
+
+
+
+
+ Mains Endpoint.
+
+
+
+
+ Rectifier Monitor.
+
+
+
+
+ Sensus Tool.
+
+
+
+
+ GE kV2c NextGen Radio with K22.
+
+
+
+
+ Elster A3 NextGen Radio with K22.
+
+
+
+
+ DA RTM FlexNet Radio Module.
+
+
+
+
+ R100NA Repeater.
+
+
+
+
+ R10NA Repeater.
+
+
+
+
+ UK-Comms Hub NSP-SDK-Fylingdales.
+
+
+
+
+ Gas Register.
+
+
+
+
+ iPERL ASIC.
+
+
+
+
+ NA2WDeviceType
+
+
+
+
+ Not supported.
+
+
+
+
+ Not bound.
+
+
+
+
+ CommandLink (PHIT).
+
+
+
+
+ NA2W Water.
+
+
+
+
+ NA2W Gas.
+
+
+
+
+ NA2W GSV.
+
+
+
+
+ NA2W MLC.
+
+
+
+
+ NA2W 3-Port Remote Gas.
+
+
+
+
+ Liberty Gas.
+
+
+
+
+ SLC Light Controller.
+
+
+
+
+ Water Register.
+
+
+
+
+ iPERL Hat.
+
+
+
+
+ Wireless Water Register.
+
+
+
+
+ Raw Metrology.
+
+
+
+
+ Battery Endpoint.
+
+
+
+
+ PHIT II.
+
+
+
+
+ Cathodic Protection Metrology.
+
+
+
+
+ Mains Endpoint.
+
+
+
+
+ Rectifier Monitor.
+
+
+
+
+ Sensus Tool.
+
+
+
+
+ Gas Register.
+
+
+
+
+ iPERL ASIC.
+
+
+
+
+ NA2WMetersFoundVersion
+
+
+
+
+ Version 1.
+
+
+
+
+ Version 2.
+
+
+
+
+ V2FlagInApp9
+
+
+
+
+ Message Version 1.
+
+
+
+
+ Message Version 2.
+
+
+
+
+ V2FlagInApp11
+
+
+
+
+ Message Version 1.
+
+
+
+
+ Message Version 2.
+
+
+
+
+ V2FlagInApp75
+
+
+
+
+ Message Version 1.
+
+
+
+
+ Message Version 2.
+
+
+
+
+ V2FlagInApp90
+
+
+
+
+ Message Version 1.
+
+
+
+
+ Message Version 2.
+
+
+
+
+ V3FlagInApp11
+
+
+
+
+ Message Version 1 and 2.
+
+
+
+
+ Message Version 3.
+
+
+
+
+ TxOpMode
+
+
+
+
+ Normal.
+
+
+
+
+ mPass.
+
+
+
+
+ Boost.
+
+
+
+
+ C&I.
+
+
+
+
+ mPass:Normal [1:1].
+
+
+
+
+ mPass:Normal [1:2].
+
+
+
+
+ mPass:Normal [1:3].
+
+
+
+
+ mPass:Normal [1:4].
+
+
+
+
+ mPass:Normal [1:5].
+
+
+
+
+ mPass:Normal [1:8].
+
+
+
+
+ mPass:Normal [1:16].
+
+
+
+
+ Boost:Normal [1:1].
+
+
+
+
+ Boost:Normal [1:2].
+
+
+
+
+ Boost:Normal [1:4].
+
+
+
+
+ Boost:Normal [1:8].
+
+
+
+
+ Tri-mode [1:1:3].
+ mPass:Boost:Normal.
+
+
+
+
+ ResponseChannel
+
+
+
+
+ TxOpMode Default.
+
+
+
+
+ Standard Channel.
+
+
+
+
+ Poll-Response Channel.
+
+
+
+
+ Alarm Channel.
+
+
+
+
+ Buddy Channel.
+
+
+
+
+ Command Channel.
+
+
+
+
+ VGB Channel.
+
+
+
+
+ Ensure Channel.
+
+
+
+
+ Critical Channel.
+
+
+
+
+ UseResponsePWN .
+
+
+
+
+ FirstAckChannel
+
+
+
+
+ DoNotSend.
+
+
+
+
+ Supervisory Channel.
+
+
+
+
+ Poll-Response Channel.
+
+
+
+
+ Alarm Channel.
+
+
+
+
+ mPass Channel.
+
+
+
+
+ Radio Receive ModulationType
+
+
+
+
+ ASK.
+
+
+
+
+ 2-GFSK.
+
+
+
+
+ 2-FSSK.
+
+
+
+
+ Radio Receive Data Rate
+
+
+
+
+ 5 kbps.
+
+
+
+
+ 10 kbps.
+
+
+
+
+ 12.5 kbps.
+
+
+
+
+ 2730 kbps.
+
+
+
+
+ 6.25 kbps.
+
+
+
+
+ 25 kbps.
+
+
+
+
+ 100 kbps.
+
+
+
+
+ Radio Transmit Modulation
+
+
+
+
+ FN_7FSK.
+
+
+
+
+ FN_7FSK_HB.
+
+
+
+
+ FN_7FSK_10TH_BAUD.
+
+
+
+
+ FN_13FSK.
+
+
+
+
+ FN_2FSK_5K.
+
+
+
+
+ FN_2FSK_10K.
+
+
+
+
+ FN_2FSK_12K.
+
+
+
+
+ FN_2FSK_20K.
+
+
+
+
+ FN_2SFSK.
+
+
+
+
+ FN_2SFSK_HB.
+
+
+
+
+ FN_4SFSK.
+
+
+
+
+ FN_4SFSK_HB.
+
+
+
+
+ FN_8SFSK.
+
+
+
+
+ FN_8SFSK_HB.
+
+
+
+
+ SRF_2FSK_100K.
+
+
+
+
+ SRF_2FSK_50K.
+
+
+
+
+ WMBUS_100K.
+
+
+
+
+ DimControlFound
+
+
+
+
+ Not Specified.
+
+
+
+
+ 0 - 10 Volt.
+
+
+
+
+ 2 - 8 Volt.
+
+
+
+
+ No Dimming.
+
+
+
+
+ DALI.
+
+
+
+
+ TxOverrideMode
+
+
+
+
+ No override.
+
+
+
+
+ Normal 7FSK.
+
+
+
+
+ mPass.
+
+
+
+
+ Boost.
+
+
+
+
+ C&I.
+
+
+
+
+ 13FSK Extended.
+
+
+
+
+ mPass2.
+
+
+
+
+ 13FSK Reduced Length.
+ NA2W Normal.
+
+
+
+
+ ClassicTxOverrideMode
+
+
+
+
+ No override.
+
+
+
+
+ Normal 7FSK.
+
+
+
+
+ mPass.
+
+
+
+
+ Boost Or 13FSK Extended.
+
+
+
+
+ C&I.
+
+
+
+
+ Priority.
+
+
+
+
+ mPass Low Power.
+
+
+
+
+ 13FSK Reduced Length.
+
+
+
+
+ MeterType
+
+
+
+
+ No meter attached.
+
+
+
+
+ Single Switch Pulse (/Remote Mount/Mercury or Honeywell).
+
+
+
+
+ Dual Switch Pulse (/Direct Mount/American Meter).
+
+
+
+
+ Sensus 3-wire (/Eagle).
+
+
+
+
+ Sensus TouchCoupler (/Reynolds).
+
+
+
+
+ Neptune ProRead 6-digit (/Dresser).
+
+
+
+
+ Badger RTR.
+
+
+
+
+ AMCO ScanCoder.
+
+
+
+
+ AMCO InVision.
+
+
+
+
+ Auto-detect.
+
+
+
+
+ Smart Meter 3-wire.
+
+
+
+
+ Smart Meter TouchCoupler.
+
+
+
+
+ (Smart Meter Gen 2/) Pressure Meter.
+
+
+
+
+ Energy Meter.
+
+
+
+
+ Neptune E-Coder 8-digit.
+
+
+
+
+ Wireless Register.
+
+
+
+
+ WaterMeterType
+
+
+
+
+ No meter attached.
+
+
+
+
+ Single Switch Pulse.
+
+
+
+
+ Sensus 3-wire.
+
+
+
+
+ Sensus TouchCoupler.
+
+
+
+
+ Neptune ProRead 6-digit.
+
+
+
+
+ Badger RTR.
+
+
+
+
+ AMCO ScanCoder.
+
+
+
+
+ AMCO InVision.
+
+
+
+
+ Auto-detect.
+
+
+
+
+ Smart Meter 3-wire.
+
+
+
+
+ Smart Meter TouchCoupler.
+
+
+
+
+ Smart Meter Gen 2.
+
+
+
+
+ Neptune E-Coder 8-digit.
+
+
+
+
+ Wireless Register.
+
+
+
+
+ GasMeterType
+
+
+
+
+ No meter attached.
+
+
+
+
+ Remote mount.
+
+
+
+
+ Direct mount.
+
+
+
+
+ Smart Meter Gen 2.
+
+
+
+
+ LibertyGasMeterType
+
+
+
+
+ No meter attached.
+
+
+
+
+ Auto-detect.
+
+
+
+
+ 3PortGasMeterType
+
+
+
+
+ No meter attached.
+
+
+
+
+ Mercury/Honeywell.
+
+
+
+
+ American Meter.
+
+
+
+
+ Eagle.
+
+
+
+
+ Reynolds.
+
+
+
+
+ Dresser.
+
+
+
+
+ WaterEncoderDigits
+
+
+
+
+ Unknown.
+
+
+
+
+ 9 digits.
+
+
+
+
+ 3 digits.
+
+
+
+
+ 4 digits.
+
+
+
+
+ 5 digits.
+
+
+
+
+ 6 digits.
+
+
+
+
+ 7 digits.
+
+
+
+
+ 8 digits.
+
+
+
+
+ GasEncoderDigits
+
+
+
+
+ Unknown.
+
+
+
+
+ 2 digits.
+
+
+
+
+ 3 digits.
+
+
+
+
+ 4 digits.
+
+
+
+
+ 5 digits.
+
+
+
+
+ 6 digits.
+
+
+
+
+ 7 digits.
+
+
+
+
+ 8 digits.
+
+
+
+
+ MeterUnits
+
+
+
+
+ Gallons.
+
+
+
+
+ Liters.
+
+
+
+
+ Cubic feet.
+
+
+
+
+ Cubic meters.
+
+
+
+
+ TemperatureUnits
+
+
+
+
+ Celsius.
+
+
+
+
+ Fahrenheit.
+
+
+
+
+ PressureUnits
+
+
+
+
+ kPA[gauge].
+
+
+
+
+ Bar[gauge].
+
+
+
+
+ PSI[gauge].
+
+
+
+
+ kPA[absolute].
+
+
+
+
+ Bar[absolute].
+
+
+
+
+ PSI[absolute].
+
+
+
+
+ NA2WWaterMeterUnits
+
+
+
+
+ Gallons.
+
+
+
+
+ Liters.
+
+
+
+
+ Cubic feet.
+
+
+
+
+ Cubic meters.
+
+
+
+
+ Acre feet.
+
+
+
+
+ Imperial gallons.
+
+
+
+
+ MeterSampleRate
+
+
+
+
+ Once per 5 minutes.
+
+
+
+
+ Once per 15 minutes.
+
+
+
+
+ Once per hour.
+
+
+
+
+ Once per 6 hours.
+
+
+
+
+ Once per 12 hours.
+
+
+
+
+ Once per 24 hours.
+
+
+
+
+ Once per 4 hours (Electric Only).
+
+
+
+
+ Never.
+
+
+
+
+ ExtendedMeterSampleRate
+
+
+
+
+ Once per 12 seconds.
+
+
+
+
+ Once per 20 seconds.
+
+
+
+
+ Once per 1 minute.
+
+
+
+
+ Once per 100 seconds.
+
+
+
+
+ Once per 5 minutes.
+
+
+
+
+ Once per 15 minutes.
+
+
+
+
+ Once per 1 hour.
+
+
+
+
+ Once per 2 hours.
+
+
+
+
+ Once per 4 hours.
+
+
+
+
+ Once per 6 hours.
+
+
+
+
+ Once per 12 hours.
+
+
+
+
+ Once per 24 hours.
+
+
+
+
+ ReceiverRate
+
+
+
+
+ 5 kbps.
+
+
+
+
+ 10 kbps.
+
+
+
+
+ MetrologyType
+
+
+
+
+ Sensus Smart Meter.
+
+
+
+
+ 4-20 mA.
+
+
+
+
+ MetrologyClass
+
+
+
+
+ Sensus Smart Meter.
+
+
+
+
+ 4-20 mA.
+
+
+
+
+ SupervisoryTransmitRate
+
+
+
+
+ Once per minute.
+
+
+
+
+ Once per 5 minutes.
+
+
+
+
+ Once per 15 minutes.
+
+
+
+
+ Once per 30 minutes.
+
+
+
+
+ Once per 45 minutes.
+
+
+
+
+ Once per hour.
+
+
+
+
+ Once per 1.5 hours.
+
+
+
+
+ Once per 2 hours.
+
+
+
+
+ Once per 2.5 hours.
+
+
+
+
+ Once per 3 hours.
+
+
+
+
+ Once per 3.5 hours.
+
+
+
+
+ Once per 4 hours.
+
+
+
+
+ Once per 4.5 hours.
+
+
+
+
+ Once per 5 hours.
+
+
+
+
+ Once per 5.5 hours.
+
+
+
+
+ Once per 6 hours.
+
+
+
+
+ Once per 7 hours.
+
+
+
+
+ Once per 8 hours.
+
+
+
+
+ Once per 9 hours.
+
+
+
+
+ Once per 10 hours.
+
+
+
+
+ Once per 12 hours.
+
+
+
+
+ Once per 18 hours.
+
+
+
+
+ Once per 24 hours (1 day).
+
+
+
+
+ Once per 36 hours (1.5 days).
+
+
+
+
+ Once per 48 hours (2 days).
+
+
+
+
+ Once per 60 hours (2.5 days).
+
+
+
+
+ Once per 72 hours (3 days).
+
+
+
+
+ Once per 84 hours (3.5 days).
+
+
+
+
+ Never.
+
+
+
+
+ ReadingResolution
+
+
+
+
+ x 0.001.
+
+
+
+
+ x 0.01.
+
+
+
+
+ x 0.1.
+
+
+
+
+ x 1.
+
+
+
+
+ x 10.
+
+
+
+
+ x 100.
+
+
+
+
+ x 1000.
+
+
+
+
+ x 10000.
+
+
+
+
+ NA2WWaterReadingResolution
+
+
+
+
+ x 0.00001.
+
+
+
+
+ x 0.0001.
+
+
+
+
+ x 0.001.
+
+
+
+
+ x 0.01.
+
+
+
+
+ x 0.1.
+
+
+
+
+ x 1.
+
+
+
+
+ x 10.
+
+
+
+
+ x 100.
+
+
+
+
+ x 1000.
+
+
+
+
+ x 10000.
+
+
+
+
+ GasReadingResolution
+
+
+
+
+ x 100 [Default].
+
+
+
+
+ x 1.
+
+
+
+
+ x 10.
+
+
+
+
+ x 100.
+
+
+
+
+ x 1000.
+
+
+
+
+ GasIndexScale
+
+
+
+
+ x 1/1000.
+
+
+
+
+ x 1/100.
+
+
+
+
+ x 1/10.
+
+
+
+
+ x 1.
+
+
+
+
+ x 10.
+
+
+
+
+ x 100.
+
+
+
+
+ x 1000.
+
+
+
+
+ x 10000.
+
+
+
+
+ HistoryScale
+
+
+
+
+ x 1.
+
+
+
+
+ x 0.1.
+
+
+
+
+ x 0.01.
+
+
+
+
+ x 0.001.
+
+
+
+
+ HistoryScale_Extended
+
+
+
+
+ x 1.
+
+
+
+
+ x 1/4.
+
+
+
+
+ x 1/16.
+
+
+
+
+ x 1/64.
+
+
+
+
+ x 1/256.
+
+
+
+
+ x 1/1024.
+
+
+
+
+ x 1/4096.
+
+
+
+
+ x 1/16384.
+
+
+
+
+ x 1/65536.
+
+
+
+
+ x 1/262144.
+
+
+
+
+ x 1/1048576.
+
+
+
+
+ x 1/4194304.
+
+
+
+
+ x 1/16777216.
+
+
+
+
+ x 1/67108864.
+
+
+
+
+ x 1/268435456.
+
+
+
+
+ x 1/1073741824.
+
+
+
+
+ EndpointType
+
+
+
+
+ Water SOH (510)/Gas Residential.
+
+
+
+
+ Water Pit (520)/Gas C&I.
+
+
+
+
+ WaterRadioModel
+
+
+
+
+ Side-of-house (510).
+
+
+
+
+ Pit (520).
+
+
+
+
+ GasRadioModel
+
+
+
+
+ Residential.
+
+
+
+
+ C&I.
+
+
+
+
+ LockState
+
+
+
+
+ Unlocked.
+
+
+
+
+ Legacy locked.
+
+
+
+
+ Temporarily unlocked.
+
+
+
+
+ Locked.
+
+
+
+
+ FT9LockState
+
+
+
+
+ Unlocked.
+
+
+
+
+ Locked.
+
+
+
+
+ Temporarily unlocked.
+
+
+
+
+ CC192Version
+
+
+
+
+ Standard.
+
+
+
+
+ CC252_Version
+
+
+
+
+ Version 0.
+
+
+
+
+ CC254_Version
+
+
+
+
+ Version 0.
+
+
+
+
+ CC253_Version
+
+
+
+
+ Version 0.
+
+
+
+
+ Version 1.
+
+
+
+
+ AC192Version
+
+
+
+
+ Standard.
+
+
+
+
+ Wait Ack.
+
+
+
+
+ AC193Version
+
+
+
+
+ Standard.
+
+
+
+
+ AC253Version
+
+
+
+
+ Version0.
+
+
+
+
+ Version1.
+
+
+
+
+ CC248Subcommand
+
+
+
+
+ Smart Meter Alarm Disable Enable.
+
+
+
+
+ Smart Meter UserDefined Alarm Configure.
+
+
+
+
+ CC248NumberOfChannels
+
+
+
+
+ One.
+
+
+
+
+ Two.
+
+
+
+
+ Three.
+
+
+
+
+ LockSetting
+
+
+
+
+ Unlocked.
+
+
+
+
+ Locked.
+
+
+
+
+ LastTransmissionType
+
+
+
+
+ Follow Ratio Mode....
+
+
+
+
+ Normal 7FSK.
+
+
+
+
+ mPass 5 kbps.
+
+
+
+
+ Boost.
+
+
+
+
+ C&I (Half baud normal 7FSK mode).
+
+
+
+
+ Priority (Half baud double density).
+
+
+
+
+ mPass 5 kbps Low Power (PA off).
+
+
+
+
+ 13FSK Reduced Length.
+
+
+
+
+ 13FSK Extended.
+
+
+
+
+ mPass 10 kbps.
+
+
+
+
+ mPass 12.5 kbps.
+
+
+
+
+ mPass 10 kbps Low Power (PA off).
+
+
+
+
+ mPass 12.5 kbps Low Power (PA off).
+
+
+
+
+ MinimumMeterSampleRate
+
+
+
+
+ 6 hours or more.
+
+
+
+
+ 1 hour or more.
+
+
+
+
+ Less than 1 hour.
+
+
+
+
+ MPassTxRate
+
+
+
+
+ 2BPSK 5 kbps.
+
+
+
+
+ 2BPSK 10 kbps.
+
+
+
+
+ DemoMode
+
+
+
+
+ Demo Mode 0.
+
+
+
+
+ Demo Mode 1.
+
+
+
+
+ Demo Mode 2.
+
+
+
+
+ Demo Mode 3.
+
+
+
+
+ FieldFeaturesChangeOperation
+
+
+
+
+ No Change [Default].
+
+
+
+
+ Overwrite All.
+
+
+
+
+ Only Set.
+
+
+
+
+ Only Clear.
+
+
+
+
+ ValvePosition
+
+
+
+
+ Open.
+
+
+
+
+ Closed.
+
+
+
+
+ Unknown.
+
+
+
+
+ ValveChangeReason
+
+
+
+
+ Test.
+
+
+
+
+ Command.
+
+
+
+
+ Low pressure.
+
+
+
+
+ High pressure.
+
+
+
+
+ Excess flow.
+
+
+
+
+ Tilt.
+
+
+
+
+ Vibration.
+
+
+
+
+ Temperature.
+
+
+
+
+ PressureScaleFactor
+
+
+
+
+ x 0.1.
+
+
+
+
+ x 0.25.
+
+
+
+
+ x 0.5.
+
+
+
+
+ x 1.
+
+
+
+
+ x 2.5.
+
+
+
+
+ x 5.
+
+
+
+
+ x 10.
+
+
+
+
+ x 25.
+
+
+
+
+ ShutoffType
+
+
+
+
+ None.
+
+
+
+
+ Integrated.
+
+
+
+
+ TFx.
+
+
+
+
+ LightIntensity
+
+
+
+
+ Off.
+
+
+
+
+ Level 1.
+
+
+
+
+ Level 2.
+
+
+
+
+ Level 3.
+
+
+
+
+ Level 4.
+
+
+
+
+ Level 5.
+
+
+
+
+ Level 6.
+
+
+
+
+ No change.
+
+
+
+
+ LightState
+
+
+
+
+ Off.
+
+
+
+
+ On.
+
+
+
+
+ Blinking.
+
+
+
+
+ Maintenance.
+
+
+
+
+ MessageStimulus
+
+
+
+
+ Normally scheduled transmission.
+
+
+
+
+ Weekly transmission.
+
+
+
+
+ Wake-up after reset.
+
+
+
+
+ Alarm.
+
+
+
+
+ EPProgramStatus
+
+
+
+
+ Successful.
+
+
+
+
+ Failed.
+
+
+
+
+ TopLevelState
+
+
+
+
+ Idle.
+
+
+
+
+ Walk-by/drive-by.
+
+
+
+
+ Fixed-base LAT.
+
+
+
+
+ Fixed-base MoM.
+
+
+
+
+ MLCTopLevelState
+
+
+
+
+ Idle.
+
+
+
+
+ Maintenance.
+
+
+
+
+ Active.
+
+
+
+
+ DeltaDataType
+
+
+
+
+ 5 min interval & 2 sec scale.
+
+
+
+
+ 15 min interval & 4 sec scale.
+
+
+
+
+ 60 min interval & 15 sec scale.
+
+
+
+
+ 360 min (6 hours) interval & 2 min scale.
+
+
+
+
+ 720 min (12 hours) interval & 3 min scale.
+
+
+
+
+ 1440 min (24 hours) interval & 6 min scale.
+
+
+
+
+ 240 min (4 hours) interval & 3 min scale.
+
+
+
+
+ CompressionMode
+
+
+
+
+ Standard.
+
+
+
+
+ High resolution.
+
+
+
+
+ AdvancedCompressionMode
+
+
+
+
+ Huffman.
+
+
+
+
+ Enhanced Huffman.
+
+
+
+
+ FT9RawMetCompressionMode
+
+
+
+
+ Unbiased Compression.
+
+
+
+
+ UpgradeStatus
+
+
+
+
+ None.
+
+
+
+
+ Bad CRC.
+
+
+
+
+ Device ID mismatch.
+
+
+
+
+ Compatibility ID mismatch.
+
+
+
+
+ Missing blocks.
+
+
+
+
+ Missing segment descriptor.
+
+
+
+
+ Bad segment descriptor count.
+
+
+
+
+ Timeout (No Response).
+
+
+
+
+ Success_MI (Meter Info).
+
+
+
+
+ Autodetected Register Not Supported (Meter Info).
+
+
+
+
+ No Register Found Autodetect (Meter Info).
+
+
+
+
+ Autodetect Invalid Port (Meter Info).
+
+
+
+
+ Autodetect SmartMeter Failed (Meter Info).
+
+
+
+
+ UI1236 Invalid Len Byte (Meter Info).
+
+
+
+
+ UI1236 Transaction Failed (Meter Info).
+
+
+
+
+ UI1236 Transaction Not Success (Meter Info).
+
+
+
+
+ UI1236 Invalid Version And Type (Meter Info).
+
+
+
+
+ Unused (Meter).
+
+
+
+
+ Success (Meter).
+
+
+
+
+ Comms Phy Error (Meter).
+
+
+
+
+ Flexnet ACK (Meter).
+
+
+
+
+ Flexnet NAK (Meter).
+
+
+
+
+ Unsupported Flexnet Status (Meter).
+
+
+
+
+ Unable To Execute (Meter).
+
+
+
+
+ Command Not Supported (Meter).
+
+
+
+
+ Ctrl Byte Not Supported (Meter).
+
+
+
+
+ Received Corrupt Msg (Meter).
+
+
+
+
+ Unsupported UI1236 Status (Meter).
+
+
+
+
+ Bidi Interface Not Initialized (Meter).
+
+
+
+
+ Unsupported Bidi Return Code (Meter).
+
+
+
+
+ Bidi Cmd Formatting Error (Meter).
+
+
+
+
+ Bidi Packet Error (Meter).
+
+
+
+
+ Failed To Read Image From Flash (Meter).
+
+
+
+
+ Invalid Channel Found In RAM (Meter).
+
+
+
+
+ Channel Not Active (Meter).
+
+
+
+
+ Not Primary Channel (Meter).
+
+
+
+
+ Wait Status Received (Meter).
+
+
+
+
+ Bad BootLoader State (Meter).
+
+
+
+
+ Accepted (Load Start).
+
+
+
+
+ Bad Device (Load Start).
+
+
+
+
+ Bad Compatibility (Load Start).
+
+
+
+
+ Bad Version (Load Start).
+
+
+
+
+ Same Version (Load Start).
+
+
+
+
+ HCWFW_TO_LCWHW (Load Start).
+
+
+
+
+ NONQZFW_TO_QZHW (Load Start).
+
+
+
+
+ CC112X_NEW_TO_OLD (Load Start).
+
+
+
+
+ UpgradePhase
+
+
+
+
+ Waiting/idle.
+
+
+
+
+ Load start.
+
+
+
+
+ Block load.
+
+
+
+
+ Back-fill.
+
+
+
+
+ Load flash.
+
+
+
+
+ Complete.
+
+
+
+
+ Aborted.
+
+
+
+
+ BiDiTestStatus
+
+
+
+
+ None.
+
+
+
+
+ Running.
+
+
+
+
+ Complete.
+
+
+
+
+ User Aborted.
+
+
+
+
+ Low Voltage Abort.
+
+
+
+
+ SetupDumpStatus
+
+
+
+
+ Not Started.
+
+
+
+
+ In Progress.
+
+
+
+
+ Complete.
+
+
+
+
+ Interrupted.
+
+
+
+
+ IpcSyncState
+
+
+
+
+ Reset.
+
+
+
+
+ Partially Synced.
+
+
+
+
+ Synced.
+
+
+
+
+ Unknown.
+
+
+
+
+ EnableAdvancedFeaturesStatus
+
+
+
+
+ Success: Advanced Features Enabled.
+
+
+
+
+ Partial Failure: FB NOT enabled on ch 1.
+
+
+
+
+ Partial Failure: FB NOT enabled on ch 2.
+
+
+
+
+ Partial Failure: FB NOT enabled on ch 1 AND ch 2.
+
+
+
+
+ Partial Failure: Meter Type NOT 12.
+
+
+
+
+ Partial Failure: Meter Type NOT 12, FB NOT enabled on ch 1.
+
+
+
+
+ Partial Failure: Meter Type NOT 12, FB NOT enabled on ch 2.
+
+
+
+
+ Complete Failure: Meter Type NOT 12, FB NOT enabled on ch 1 AND ch 2.
+
+
+
+
+ iPERLASICFWDLErrorCodes
+
+
+
+
+ Success / None.
+
+
+
+
+ Unable to get state of seal.
+
+
+
+
+ Failed to unseal meter.
+
+
+
+
+ Meter is not an iPERL.
+
+
+
+
+ Failed to enter bootloader.
+
+
+
+
+ Failed to erase flash [MAY BE BRICKED].
+
+
+
+
+ High rate of block failures [MAY BE BRICKED].
+
+
+
+
+ Meter refused to exit bootloader [MAY BE BRICKED].
+
+
+
+
+ Failed to exit bootloader [MAY BE BRICKED].
+
+
+
+
+ Unable to get state of seal [MAY BE BRICKED].
+
+
+
+
+ Failed to reseal meter.
+
+
+
+
+ Meter did not require resealing.
+
+
+
+
+ Meter has been recovered.
+
+
+
+
+ iPERLASICFWDLProgress
+
+
+
+
+ Not Started / Unknown.
+
+
+
+
+ Preparing for FWDL.
+
+
+
+
+ Starting FWDL.
+
+
+
+
+ Updating image - 0%.
+
+
+
+
+ Updating image - 5%.
+
+
+
+
+ Updating image - 15%.
+
+
+
+
+ Updating image - 25%.
+
+
+
+
+ Updating image - 35%.
+
+
+
+
+ Updating image - 45%.
+
+
+
+
+ Updating image - 55%.
+
+
+
+
+ Updating image - 65%.
+
+
+
+
+ Updating image - 75%.
+
+
+
+
+ Updating image - 85%.
+
+
+
+
+ Updating image - 95%.
+
+
+
+
+ Cleaning up After FWDL.
+
+
+
+
+ Re-syncing.
+
+
+
+
+ SonixIQFWDLErrorCodes
+
+
+
+
+ Success / None.
+
+
+
+
+ Load Start Rejected.
+
+
+
+
+ Failed to Erase Flash.
+
+
+
+
+ High Rate of Block Failure.
+
+
+
+
+ Image Corrupt.
+
+
+
+
+ User Canceled.
+
+
+
+
+ Upgrade Failed.
+
+
+
+
+ Timeout.
+
+
+
+
+ Unknown.
+
+
+
+
+ SonixIQFWDLErrorStates
+
+
+
+
+ Not Started.
+
+
+
+
+ Load Start.
+
+
+
+
+ FWDL Init.
+
+
+
+
+ Load Block.
+
+
+
+
+ Check Image.
+
+
+
+
+ Fill Block.
+
+
+
+
+ Load Flash.
+
+
+
+
+ Resyncing.
+
+
+
+
+ Complete.
+
+
+
+
+ Cancel.
+
+
+
+
+ bool
+
+
+
+
+ False.
+
+
+
+
+ True.
+
+
+
+
+ IndexScale
+
+
+
+
+ CCF.
+
+
+
+
+ MCF.
+
+
+
+
+ M^3.
+
+
+
+
+ BlockNumber
+
+
+
+
+ Block 1.
+
+
+
+
+ Block 2.
+
+
+
+
+ ScheduleSlot
+
+
+
+
+ First.
+
+
+
+
+ Second.
+
+
+
+
+ Third.
+
+
+
+
+ Fourth.
+
+
+
+
+ DayOfWeek
+
+
+
+
+ Sunday.
+
+
+
+
+ Monday.
+
+
+
+
+ Tuesday.
+
+
+
+
+ Wednesday.
+
+
+
+
+ Thursday.
+
+
+
+
+ Friday.
+
+
+
+
+ Saturday.
+
+
+
+
+ BoardIdFormatVersions
+
+
+
+
+ Board ID Fmt v1.0.00 (0x1000).
+
+
+
+
+ BoardType
+
+
+
+
+ Std. HCW.
+
+
+
+
+ LCW, phase I.
+
+
+
+
+ LCW, phase II.
+
+
+
+
+ Arqiva HCW.
+
+
+
+
+ Quiet Zone Water.
+
+
+
+
+ Std. HCG.
+
+
+
+
+ LCG, phase I.
+
+
+
+
+ LCG, phase II.
+
+
+
+
+ European 400 MHz FMT.
+
+
+
+
+ Std. 900 MHz FMT.
+
+
+
+
+ Quiet Zone 450 MHz FMT.
+
+
+
+
+ ESAAP Water.
+
+
+
+
+ ESAAP eRegister.
+
+
+
+
+ Smart Gateway.
+
+
+
+
+ Cathodic Protection Test Point.
+
+
+
+
+ ESAAP iPERL.
+
+
+
+
+ ESAAP PulseRF.
+
+
+
+
+ Bullhorn FlexNet Radio Module.
+
+
+
+
+ SonixV2.
+
+
+
+
+ FlexNet S4.
+
+
+
+
+ Japan Demo.
+
+
+
+
+ Gen. 1 CnI Gas.
+
+
+
+
+ Gen. 2 CnI Gas.
+
+
+
+
+ NA2W Water 510MP.
+
+
+
+
+ Cordonel.
+
+
+
+
+ SonixV2 Phase II.
+
+
+
+
+ None.
+
+
+
+
+ Unknown.
+
+
+
+
+ EepromPhyType
+
+
+
+
+ I2C Serial.
+
+
+
+
+ SPI Serial.
+
+
+
+
+ EEPROM not installed.
+
+
+
+
+ Unknown.
+
+
+
+
+ FlashPhyType
+
+
+
+
+ I2C Serial.
+
+
+
+
+ SPI Serial.
+
+
+
+
+ Ext. Flash not installed.
+
+
+
+
+ Unknown.
+
+
+
+
+ SonixIQProcessorId
+
+
+
+
+ SIM3LXX.
+
+
+
+
+ EFM Series 0.
+
+
+
+
+ EFM Series 1.
+
+
+
+
+ SonixIQPcbId
+
+
+
+
+ EP1.
+
+
+
+
+ EP2.
+
+
+
+
+ EP3.
+
+
+
+
+ EP3.1.
+
+
+
+
+ EP3.2.
+
+
+
+
+ RevF.
+
+
+
+
+ SonixIQVariantId
+
+
+
+
+ Meter+Radio+Pressure+Valve.
+
+
+
+
+ Meter+Radio+Pressure.
+
+
+
+
+ Meter+Radio.
+
+
+
+
+ RfPhyType
+
+
+
+
+ CC1020.
+
+
+
+
+ CC1120.
+
+
+
+
+ CC1125.
+
+
+
+
+ SI4432.
+
+
+
+
+ SI4464.
+
+
+
+
+ SI4464 and Skyworks FEM.
+
+
+
+
+ SI4464 and RFMD FEM.
+
+
+
+
+ SI4463C and Skyworks FEM.
+
+
+
+
+ None.
+
+
+
+
+ Unknown.
+
+
+
+
+ RfFreqBand
+
+
+
+
+ NA 900 MHz.
+
+
+
+
+ European 400 MHz.
+
+
+
+
+ Quiet Zone 450 MHz.
+
+
+
+
+ Sensus RF 868 MHz.
+
+
+
+
+ FlexNet 200 MHz.
+
+
+
+
+ Freq Band Not Set.
+
+
+
+
+ Unknown.
+
+
+
+
+ ReportedRfFreqBand
+
+
+
+
+ NA 900 MHz [legacy].
+
+
+
+
+ NA 900 MHz.
+
+
+
+
+ European 400 MHz.
+
+
+
+
+ Quiet Zone 450 MHz.
+
+
+
+
+ Sensus RF 868 MHz.
+
+
+
+
+ Freq Band Not Set.
+
+
+
+
+ Unknown.
+
+
+
+
+ UartPhyType
+
+
+
+
+ Direct Serial.
+
+
+
+
+ USB.
+
+
+
+
+ Bluetooth.
+
+
+
+
+ None.
+
+
+
+
+ Unknown.
+
+
+
+
+ HfXtalSpeeds
+
+
+
+
+ 6.5 MHz.
+
+
+
+
+ 13.0 MHz.
+
+
+
+
+ 18.0 MHz.
+
+
+
+
+ 25.0 MHz.
+
+
+
+
+ None.
+
+
+
+
+ Unknown.
+
+
+
+
+ TcxoFreqType
+
+
+
+
+ 12.8 MHz.
+
+
+
+
+ 30.0 MHz.
+
+
+
+
+ 31.25 MHz.
+
+
+
+
+ 42.0 MHz.
+
+
+
+
+ 30.1 MHz.
+
+
+
+
+ RfIcPartAndRevType
+
+
+
+
+ Unknown RF IC rev..
+
+
+
+
+ SI4432 ver. 6.
+
+
+
+
+ CC1120 rev. PG2.0.
+
+
+
+
+ CC1120 rev. PG2.1.
+
+
+
+
+ CC1120 rev. PG2.3.
+
+
+
+
+ CC1125 rev. PG2.0.
+
+
+
+
+ CC1125 rev. PG2.1.
+
+
+
+
+ CC1125 rev. PG2.3.
+
+
+
+
+ PingType
+
+
+
+
+ Normal.
+
+
+
+
+ Configuration.
+
+
+
+
+ Demand Read.
+
+
+
+
+ HH mPass Binding [Buddy Allowed].
+
+
+
+
+ HH mPass Binding [Buddy Disabled].
+
+
+
+
+ Alarm.
+
+
+
+
+ HH mPass Alarm [Buddy Disabled].
+
+
+
+
+ HH mPass Demand Read [Buddy Disabled].
+
+
+
+
+ Meter Reading Message.
+
+
+
+
+ Tier Data.
+
+
+
+
+ Demand Read Ping Only.
+
+
+
+
+ Single Tier Message.
+
+
+
+
+ Extended Setup.
+
+
+
+
+ Setup.
+
+
+
+
+ Binding.
+
+
+
+
+ Electric Interval Data.
+
+
+
+
+ Electric Interval Data from Address.
+
+
+
+
+ Electric Interval Data Clear.
+
+
+
+
+ Single Tier Message w/ Read.
+
+
+
+
+ Demand History.
+
+
+
+
+ HHD Installation Information.
+
+
+
+
+ Home LAN Ping.
+
+
+
+
+ iConA Enhanced Alarm.
+
+
+
+
+ Group Address Vector.
+
+
+
+
+ iCon Serial Number.
+
+
+
+
+ iCon Style Number.
+
+
+
+
+ iCon Meter Form & Voltage.
+
+
+
+
+ iCon CT/ PT Multipliers.
+
+
+
+
+ iCon Reverse Power/ Error/ Reset Settings.
+
+
+
+
+ iCon LCD Format / Current Display List.
+
+
+
+
+ Demand Enable Status/ Interval Configuration.
+
+
+
+
+ TOU Enable Status/ Tier & Season Configuration.
+
+
+
+
+ TOU Current Year Holidays.
+
+
+
+
+ TOU Next Year Holidays.
+
+
+
+
+ Click History.
+
+
+
+
+ Load Limit Status/ Threshold.
+
+
+
+
+ Advanced Voltage Quality Settings.
+
+
+
+
+ TOU Auto-Push Options.
+
+
+
+
+ iConA Current TOU Tier Data.
+
+
+
+
+ iConA Current TOU Dual Tier Ping [No Meter Read].
+
+
+
+
+ iConA Current TOU Dual Tier Ping [Meter Read].
+
+
+
+
+ iConA Load Profile Data.
+
+
+
+
+ FlexNet Advanced Setup.
+
+
+
+
+ C&I High Res Read w/Pulse Data.
+
+
+
+
+ Read Time Adjustment Log.
+
+
+
+
+ Who is Your Buddy?.
+
+
+
+
+ iConA Daily Read.
+
+
+
+
+ TOU Day Type.
+
+
+
+
+ iConA Factory Configuration.
+
+
+
+
+ iConA Send TOU Rate & Current Time.
+
+
+
+
+ Combined Extended Setup & Bind.
+
+
+
+
+ AES Key Binding.
+
+
+
+
+ Load Profile Multi-block.
+
+
+
+
+ Load Profile Single Block Segment.
+
+
+
+
+ Request NA2W Information.
+
+
+
+
+ Request All FlexNet IDs.
+
+
+
+
+ Request Both Serial Numbers.
+
+
+
+
+ NA2W Configuration.
+
+
+
+
+ iConA Service Quality.
+
+
+
+
+ Buddy Throttle Configuration.
+
+
+
+
+ iConA Weekly Alarm.
+
+
+
+
+ NA2W Interval Data.
+
+
+
+
+ NA2W EP Setup Audit.
+
+
+
+
+ NA2W Install Audit.
+
+
+
+
+ NA2W Channel Setup Audit.
+
+
+
+
+ Smart Meter Alarm.
+
+
+
+
+ NA2W Status Request.
+
+
+
+
+ AES Last Command Info.
+
+
+
+
+ NA2W Channel Setup 2 Audit.
+
+
+
+
+ NA2W Schedule.
+
+
+
+
+ NA2W Calibration.
+
+
+
+
+ Extended Query.
+
+
+
+
+ NA2W Attribute String.
+
+
+
+
+ Request Board ID Info.
+
+
+
+
+ Universal FW Version.
+
+
+
+
+ IP Interface Configuration.
+
+
+
+
+ IP Interface List.
+
+
+
+
+ NA2W Data Report.
+
+
+
+
+ NA2W Meter Information.
+
+
+
+
+ NA2W Fixed Base Configuration.
+
+
+
+
+ NA2W Smart Alarm Configuration Audit.
+
+
+
+
+ Water Reading String.
+
+
+
+
+ NA2W Setup Dump Ping.
+
+
+
+
+ FNv2 Security Summary Request.
+
+
+
+
+ Extended Ping Query.
+
+
+
+
+ MeterConnection
+
+
+
+
+ Wired (2/3).
+
+
+
+
+ Wireless.
+
+
+
+
+ LATDelay
+
+
+
+
+ No LAT window.
+
+
+
+
+ 250 ms.
+
+
+
+
+ 1 s.
+
+
+
+
+ 5 s.
+
+
+
+
+ 15 s.
+
+
+
+
+ 30 s.
+
+
+
+
+ 60 s.
+
+
+
+
+ 120 s.
+
+
+
+
+ Unknown.
+
+
+
+
+ LATRxOnTime
+
+
+
+
+ 100 ms.
+
+
+
+
+ 500 ms.
+
+
+
+
+ 1.166 s.
+
+
+
+
+ 2 s.
+
+
+
+
+ LATSource
+
+
+
+
+ Handheld.
+
+
+
+
+ VGB.
+
+
+
+
+ TGB.
+
+
+
+
+ NetSyncPeriod
+
+
+
+
+ 60 s.
+
+
+
+
+ 61 s.
+
+
+
+
+ BrokenPipeThreshold
+
+
+
+
+ Disabled.
+
+
+
+
+ 500 counts.
+
+
+
+
+ 800 counts.
+
+
+
+
+ 1350 counts.
+
+
+
+
+ 4500 counts.
+
+
+
+
+ LeakDetectionThreshold
+
+
+
+
+ Disabled.
+
+
+
+
+ 1 count.
+
+
+
+
+ 2 counts.
+
+
+
+
+ 10 counts.
+
+
+
+
+ 100 counts.
+
+
+
+
+ 1000 counts.
+
+
+
+
+ LeakDetectionThreshold1Way
+
+
+
+
+ Disabled.
+
+
+
+
+ 1 count.
+
+
+
+
+ 2 counts.
+
+
+
+
+ 10 counts.
+
+
+
+
+ LeakDetectionConsecutiveReads
+
+
+
+
+ 24 reads.
+
+
+
+
+ 36 reads.
+
+
+
+
+ 48 reads.
+
+
+
+
+ 72 reads.
+
+
+
+
+ ReverseFlowThreshold
+
+
+
+
+ Disabled.
+
+
+
+
+ 1 count.
+
+
+
+
+ 2 counts.
+
+
+
+
+ 5 counts.
+
+
+
+
+ 10 counts.
+
+
+
+
+ 100 counts.
+
+
+
+
+ ReverseFlowReads
+
+
+
+
+ 1 read.
+
+
+
+
+ 2 reads.
+
+
+
+
+ 12 reads.
+
+
+
+
+ 24 reads.
+
+
+
+
+ DriveShaftRotation
+
+
+
+
+ Counterclockwise.
+
+
+
+
+ Clockwise.
+
+
+
+
+ PulsesPerRevolution
+
+
+
+
+ 1 (PPR).
+ XML serializes as "1".
+
+
+
+
+ 2 (PPR).
+ XML serializes as "2".
+
+
+
+
+ 5 (PPR).
+ XML serializes as "5".
+
+
+
+
+ 10 (PPR).
+ XML serializes as "10".
+
+
+
+
+ 20 (PPR).
+ XML serializes as "20".
+
+
+
+
+ 50 (PPR).
+ XML serializes as "50".
+
+
+
+
+ 100 (PPR).
+ XML serializes as "100".
+
+
+
+
+ 500 (PPR).
+ XML serializes as "500".
+
+
+
+
+ 1000 (PPR).
+ XML serializes as "1000".
+
+
+
+
+ BrokenPipeTime
+
+
+
+
+ 0 seconds.
+
+
+
+
+ 5 seconds.
+
+
+
+
+ 10 seconds.
+
+
+
+
+ 15 seconds.
+
+
+
+
+ 30 seconds.
+
+
+
+
+ 60 seconds.
+
+
+
+
+ BrokenPipeResolution
+
+
+
+
+ Low (1 s).
+
+
+
+
+ High (4 ms).
+
+
+
+
+ ValveTestPeriod
+
+
+
+
+ Never.
+
+
+
+
+ Yearly.
+
+
+
+
+ Monthly.
+
+
+
+
+ PulseScaling
+
+
+
+
+ x 1 (no flip flop on inputs).
+
+
+
+
+ x 2 (flip flop on inputs).
+
+
+
+
+ StatisticsSubtype
+
+
+
+
+ Counters.
+
+
+
+
+ Accumulators.
+
+
+
+
+ StatisticsPage
+
+
+
+
+ p1.
+
+
+
+
+ p2.
+
+
+
+
+ p3.
+
+
+
+
+ p4.
+
+
+
+
+ p5.
+
+
+
+
+ p6.
+
+
+
+
+ p7.
+
+
+
+
+ p8.
+
+
+
+
+ p9.
+
+
+
+
+ p10.
+
+
+
+
+ p100.
+
+
+
+
+ p101.
+
+
+
+
+ p102.
+
+
+
+
+ p103.
+
+
+
+
+ ScheduleControlType
+
+
+
+
+ Erase schedules.
+
+
+
+
+ Enable schedules.
+
+
+
+
+ Disable schedules.
+
+
+
+
+ OverridePatternType
+
+
+
+
+ Constant.
+
+
+
+
+ Asynchronous.
+
+
+
+
+ Asynchronous Slow.
+
+
+
+
+ Synchronous HL.
+
+
+
+
+ Synchronous LH.
+
+
+
+
+ Ft9DevOpCategory
+
+
+
+
+ Valve.
+
+
+
+
+ Communication.
+
+
+
+
+ Ft9ValveOp
+
+
+
+
+ View Valve State.
+
+
+
+
+ Close Valve.
+
+
+
+
+ Open Valve.
+
+
+
+
+ Trickle Valve.
+
+
+
+
+ Cancel.
+
+
+
+
+ Ft9CommOp
+
+
+
+
+ FNv1 Network Analysis.
+
+
+
+
+ NetworkAnalysisResult
+
+
+
+
+ Success.
+
+
+
+
+ Unknown Failure.
+
+
+
+
+ Resource Blocked.
+
+
+
+
+ Operation Canceled.
+
+
+
+
+ GSVDeviceOperation
+
+
+
+
+ NOP.
+
+
+
+
+ Close valve.
+
+
+
+
+ Open valve.
+
+
+
+
+ Run valve test.
+
+
+
+
+ NA2WWaterDeviceOperation
+
+
+
+
+ Get current valve state (nop).
+
+
+
+
+ Close valve.
+
+
+
+
+ Open valve.
+
+
+
+
+ Trickle valve.
+
+
+
+
+ Test valve.
+
+
+
+
+ State Mismatch.
+
+
+
+
+ Network Analysis.
+
+
+
+
+ BiDi Test.
+
+
+
+
+ Enable Advanced Features.
+
+
+
+
+ Unseal iPERL Register.
+
+
+
+
+ Test Component.
+
+
+
+
+ BiDiTestPadFillPattern
+
+
+
+
+ Custom (define fill below).
+
+
+
+
+ Random (define seed below).
+
+
+
+
+ Increment (define start below).
+
+
+
+
+ 0x00, 0x55, 0xAA, 0xFF.
+
+
+
+
+ 0x00, 0xFF.
+
+
+
+
+ 0x55, 0xAA.
+
+
+
+
+ TagMap
+
+
+
+
+ CommandLink2.
+
+
+
+
+ SmartPoint.
+
+
+
+
+ SonixIQ.
+
+
+
+
+ ESAAP POM
+
+
+
+
+ Global iPerl
+
+
+
+
+ SonixIQTags
+
+
+
+
+ ValveState.
+
+
+
+
+ ValveDuration.
+
+
+
+
+ ValveLastADCValue.
+
+
+
+
+ ValveMaxDriveADCValue.
+
+
+
+
+ ValveADCValue.
+
+
+
+
+ ActuationTimeMax.
+
+
+
+
+ StallTimeMin.
+
+
+
+
+ SwitchTimeMax.
+
+
+
+
+ StallThreshold.
+
+
+
+
+ VoltageThreshold.
+
+
+
+
+ SealTimeMin.
+
+
+
+
+ RetryCount.
+
+
+
+
+ RetryPeriod.
+
+
+
+
+ CleanPeriod.
+
+
+
+
+ CleanDuration.
+
+
+
+
+ UnderCurrentThreshold.
+
+
+
+
+ TxADCValue.
+
+
+
+
+ UnderCurrentTimeout.
+
+
+
+
+ LeftSwitch.
+
+
+
+
+ HitSwitch.
+
+
+
+
+ ValveDriveAdcValue.
+
+
+
+
+ CleanTimeout.
+
+
+
+
+ CommandLink2Tags
+
+
+
+
+ RadioReceiveFrequency.
+
+
+
+
+ RadioReceiveModulation.
+
+
+
+
+ DeviceSerialNumber.
+
+
+
+
+ DeviceID.
+
+
+
+
+ BluetoothName.
+
+
+
+
+ TXCOCorrection.
+
+
+
+
+ RxFrequency.
+
+
+
+
+ AutoOffTime.
+
+
+
+
+ VariantID.
+
+
+
+
+ VariantIDADC.
+
+
+
+
+ PCBID.
+
+
+
+
+ PCBIDADC.
+
+
+
+
+ ProductFWVersion.
+
+
+
+
+ PAOnPowerLevelSetting.
+
+
+
+
+ PAOffPowerLevelSetting.
+
+
+
+
+ FemAttenSettings.
+
+
+
+
+ ProductType.
+
+
+
+
+ DeviceType.
+
+
+
+
+ DeviceTypeVersion.
+
+
+
+
+ MTU.
+
+
+
+
+ Capabilities.
+
+
+
+
+ Mode.
+
+
+
+
+ Temperature.
+
+
+
+
+ TemperatureADC.
+
+
+
+
+ TemperatureCalibrationOffset.
+
+
+
+
+ VBat.
+
+
+
+
+ VBatADC.
+
+
+
+
+ VBatCalibration.
+
+
+
+
+ Processor.
+
+
+
+
+ Memory.
+
+
+
+
+ Cache.
+
+
+
+
+ ExtFlash.
+
+
+
+
+ Transceiver.
+
+
+
+
+ BluetoothHW.
+
+
+
+
+ BluetoothFW.
+
+
+
+
+ ChargingChip.
+
+
+
+
+ BatteryStatus.
+
+
+
+
+ ChargeCurrentSetting.
+
+
+
+
+ ChargeVoltageSetting.
+
+
+
+
+ Alarms.
+
+
+
+
+ ChargeOption0.
+
+
+
+
+ ChargeOption1.
+
+
+
+
+ ChargeOption2.
+
+
+
+
+ ChargeOption3.
+
+
+
+
+ ProcHotOption0.
+
+
+
+
+ ProcHotOption1.
+
+
+
+
+ ADCOption.
+
+
+
+
+ InputVoltageSetting.
+
+
+
+
+ InputCurrentSetting.
+
+
+
+
+ MinimumSysVoltageSetting.
+
+
+
+
+ BatteryTemperature.
+
+
+
+
+ BatteryTemperatureADC.
+
+
+
+
+ NFCPCBID.
+
+
+
+
+ NFCPCBIDADC.
+
+
+
+
+ NFCVariantID.
+
+
+
+
+ NFCVariantIDADC.
+
+
+
+
+ RFVariantID.
+
+
+
+
+ RFVariantIDADC.
+
+
+
+
+ ManufacturingNote.
+
+
+
+
+ ASKPowerLevel.
+
+
+
+
+ ASKFrequency.
+
+
+
+
+ FrequencyOffsets.
+
+
+
+
+ ResetStats.
+
+
+
+
+ CL2ChargingState
+
+
+
+
+ NotCharging.
+
+
+
+
+ PreCharging.
+
+
+
+
+ ConstantCurrentCharging.
+
+
+
+
+ ConstantVoltageCharging.
+
+
+
+
+ CL2LastTerminationReason
+
+
+
+
+ None.
+
+
+
+
+ OverTemperature.
+
+
+
+
+ TotalTimeExpired.
+
+
+
+
+ OverVoltage.
+
+
+
+
+ NegativeDelta.
+
+
+
+
+ ZeroDeltaV.
+
+
+
+
+ StageTimeExpired.
+
+
+
+
+ ProcHot.
+
+
+
+
+ CL2Modulation
+
+
+
+
+ 2FSK/5kbps.
+
+
+
+
+ 2FSK/10kbps.
+
+
+
+
+ 2SFSK/12.5kbps.
+
+
+
+
+ ExpectedValveState
+
+
+
+
+ Open.
+
+
+
+
+ Closed.
+
+
+
+
+ Trickle.
+
+
+
+
+ Armed.
+
+
+
+
+ ActualValveState
+
+
+
+
+ Open.
+
+
+
+
+ Closed.
+
+
+
+
+ Trickle.
+
+
+
+
+ Armed.
+
+
+
+
+ Not Yet Determined After Reboot.
+
+
+
+
+ Unknown Due To Error.
+
+
+
+
+ Operation In Progress.
+
+
+
+
+ ValveActuationReason
+
+
+
+
+ Unknown.
+
+
+
+
+ Command.
+
+
+
+
+ Autonomous.
+
+
+
+
+ Test.
+
+
+
+
+ ValveAutonomousConditionType
+
+
+
+
+ Over Limit.
+
+
+
+
+ Under Limit.
+
+
+
+
+ Outside Range.
+
+
+
+
+ Inside Range.
+
+
+
+
+ Over Limit For Timespan.
+
+
+
+
+ Under Limit For Timespan.
+
+
+
+
+ Outside Range For Timespan.
+
+
+
+
+ Inside Range For Timespan.
+
+
+
+
+ NA2WGasDeviceOperation
+
+
+
+
+ View Valve State.
+
+
+
+
+ Network Analysis.
+
+
+
+
+ Reed Switch Eval Test.
+
+
+
+
+ Test Component.
+
+
+
+
+ MeasureNetworkUplinkModulation
+
+
+
+
+ 7-FSK.
+
+
+
+
+ 13-FSK.
+
+
+
+
+ mPass5k.
+
+
+
+
+ MeasureNetworkDownlinkModulation
+
+
+
+
+ 5kbps.
+
+
+
+
+ 10kbps.
+
+
+
+
+ FNv1NetworkAnalysisUplinkModulation
+
+
+
+
+ 7-FSK.
+
+
+
+
+ 13-FSK.
+
+
+
+
+ Boost.
+
+
+
+
+ C&I.
+
+
+
+
+ mPass.
+
+
+
+
+ FNv1NetworkAnalysisDownlinkModulation
+
+
+
+
+ mPass5k.
+
+
+
+
+ mPass10k.
+
+
+
+
+ MLCDeviceOperation
+
+
+
+
+ Set schedule.
+
+
+
+
+ Control schedule.
+
+
+
+
+ Discover by pole ID.
+
+
+
+
+ Set blink pattern.
+
+
+
+
+ Override.
+
+
+
+
+ Execute Self Discovery.
+
+
+
+
+ Find Location.
+
+
+
+
+ Execute Auto Install.
+
+
+
+
+ Override Area.
+
+
+
+
+ Run Dim Auto Cal.
+
+
+
+
+ Test component.
+
+
+
+
+ SLCLightControllerOperation
+
+
+
+
+ 8-bit Register Read.
+
+
+
+
+ 8-bit Register Write.
+
+
+
+
+ 16-bit Register Read.
+
+
+
+
+ 16-bit Register Write.
+
+
+
+
+ 32-bit Register Read.
+
+
+
+
+ 32-bit Register Write.
+
+
+
+
+ 64-bit Register Read.
+
+
+
+
+ 64-bit Register Write.
+
+
+
+
+ 3PortDeviceOperation
+
+
+
+
+ Test component.
+
+
+
+
+ CPMetrologyDeviceOperation
+
+
+
+
+ Open Relay.
+
+
+
+
+ Close Relay.
+
+
+
+
+ Scheduled Off Read.
+
+
+
+
+ Service Mode.
+
+
+
+
+ MEChanDeviceOperation
+
+
+
+
+ Service Mode.
+
+
+
+
+ ReMonDeviceOperation
+
+
+
+
+ Scheduled Interruption.
+
+
+
+
+ DeviceOperationResult
+
+
+
+
+ Success.
+
+
+
+
+ Failure.
+
+
+
+
+ Invalid arguments.
+
+
+
+
+ Not supported.
+
+
+
+
+ Timeout.
+
+
+
+
+ Operation Blocked.
+
+
+
+
+ Resource Blocked.
+
+
+
+
+ Invalid State.
+
+
+
+
+ Operation Canceled.
+
+
+
+
+ In Progress.
+
+
+
+
+ LoadStartType
+
+
+
+
+ Continuation.
+
+
+
+
+ New (Reset current image).
+
+
+
+
+ Cleanup.
+
+
+
+
+ CheckImageType
+
+
+
+
+ On demand.
+
+
+
+
+ Autonomous.
+
+
+
+
+ SegmentAddressingType
+
+
+
+
+ 20 bit.
+
+
+
+
+ SegmentRWType
+
+
+
+
+ Write segment.
+
+
+
+
+ Segment unchanged.
+
+
+
+
+ TimeslotID
+
+
+
+
+ TGB 0.
+
+
+
+
+ TGB 1.
+
+
+
+
+ TGB 2.
+
+
+
+
+ TGB 3.
+
+
+
+
+ TGB 4.
+
+
+
+
+ TGB 5.
+
+
+
+
+ TGB 6.
+
+
+
+
+ TGB 7.
+
+
+
+
+ TGB 8.
+
+
+
+
+ TGB 9.
+
+
+
+
+ TGB 10.
+
+
+
+
+ TGB 11.
+
+
+
+
+ HHD (12).
+
+
+
+
+ VGB (13).
+
+
+
+
+ None with timesync (14).
+
+
+
+
+ None (15).
+
+
+
+
+ NumberOfFlexNetIDs
+
+
+
+
+ 4 FlexNet IDs (28 bits each).
+
+
+
+
+ 6 FlexNet IDs (22 bits each).
+
+
+
+
+ 8 FlexNet IDs (17 bits each).
+
+
+
+
+ NA2WActivateType
+
+
+
+
+ Deactivate.
+
+
+
+
+ Activate.
+
+
+
+
+ TransmitterTestMode
+
+
+
+
+ CW.
+
+
+
+
+ FCC.
+
+
+
+
+ Fast.
+
+
+
+
+ Tone.
+
+
+
+
+ TransmitterTestRate
+
+
+
+
+ 5 kbps.
+
+
+
+
+ 10 kbps.
+
+
+
+
+ 12.5 kbps.
+
+
+
+
+ BuddyBoxMode
+
+
+
+
+ mPass2 (10 kbps).
+
+
+
+
+ mPass (5 kbps).
+
+
+
+
+ ModulationMode
+
+
+
+
+ Normal (7FSK, 8 kbps).
+
+
+
+
+ mPass (2FSK, 5 kbps).
+
+
+
+
+ Boost (7FSK, 800 bps).
+
+
+
+
+ C&I (7FSK, 4 kbps).
+
+
+
+
+ Priority (13FSK, 8 kbps).
+
+
+
+
+ mPass Low Power (2FSK, 5 kbps).
+
+
+
+
+ DD Short (13FSK, 16 kbps).
+
+
+
+
+ DD Extended (13FSK, 16 kbps).
+
+
+
+
+ mPass 10k (2FSK, 10 kbps).
+
+
+
+
+ mPass 12.5k (2FSK, 12.5 kbps).
+
+
+
+
+ mPass 10k Low Power (2FSK, 10 kbps).
+
+
+
+
+ mPass 12.5k Low Power (2FSK, 12.5 kbps).
+
+
+
+
+ RfRxModulation
+
+
+
+
+ 2FSK, 5 kbps.
+
+
+
+
+ 2FSK, 10 kbps.
+
+
+
+
+ 2FSK, 12.5 kbps.
+
+
+
+
+ 2FSK, 100 kbps.
+
+
+
+
+ RegisterType
+
+
+
+
+ No meter attached.
+
+
+
+
+ Sensus meter.
+
+
+
+
+ Schlumberger.
+
+
+
+
+ Kent-asynchronous.
+
+
+
+
+ PhysicalInterface
+
+
+
+
+ None.
+
+
+
+
+ 3-wire.
+
+
+
+
+ TouchCoupler.
+
+
+
+
+ NA2WWaterTestCommand
+
+
+
+
+ Set Alarm (for testing).
+
+
+
+
+ Send Weekly Alarm (in 2-way mode) (DEPRECATED).
+
+
+
+
+ Trigger Reset.
+
+
+
+
+ Blind Bind.
+
+
+
+
+ Tone Listen.
+
+
+
+
+ Send Weekly Smart Alarm (in 2-way mode).
+
+
+
+
+ Set activity counter (StatsModule).
+
+
+
+
+ iPERL latched alarm timeout.
+
+
+
+
+ Unseal iPERL register.
+
+
+
+
+ NvObjectsTestCommand
+
+
+
+
+ Save Settings in NV.
+
+
+
+
+ Backup EP & Ch Objects.
+
+
+
+
+ Restore EP & Ch Objects.
+
+
+
+
+ Erase Backup Area.
+
+
+
+
+ Set Board ID Info.
+
+
+
+
+ Get Board ID Info.
+
+
+
+
+ Erase Board ID Info Area.
+
+
+
+
+ NvObjectsTestCommandV2
+
+
+
+
+ Full Backup.
+
+
+
+
+ Full Restore.
+
+
+
+
+ Erase Full Backup.
+
+
+
+
+ Read Board ID Info.
+
+
+
+
+ Write Board ID Info.
+
+
+
+
+ Erase Board ID Info.
+
+
+
+
+ RfTestCommand
+
+
+
+
+ CW.
+
+
+
+
+ FCC.
+
+
+
+
+ Sweep.
+
+
+
+
+ Receive.
+
+
+
+
+ Set PA Power Level.
+
+
+
+
+ Set PA Off Power Level.
+
+
+
+
+ Sample RF Level.
+
+
+
+
+ TfxTestCommand
+
+
+
+
+ Set Channels.
+
+
+
+
+ Set Authentication Key.
+
+
+
+
+ Wake Up.
+
+
+
+
+ Ping.
+
+
+
+
+ Listen.
+
+
+
+
+ Config.
+
+
+
+
+ Drop Queue.
+
+
+
+
+ Write MSR to MTR Table.
+
+
+
+
+ Write Resync Table.
+
+
+
+
+ Transmit BUP.
+
+
+
+
+ NA2WGasTestCommand
+
+
+
+
+ Direct Mount Test Configuration.
+
+
+
+
+ Remote Mount Test Configuration.
+
+
+
+
+ Reset To Default Factory (Idle) Configuration.
+
+
+
+
+ Set Alarm (for testing).
+
+
+
+
+ Send Weekly Alarm (in 2-way mode).
+
+
+
+
+ Long LAT Delay.
+
+
+
+
+ Tilt Switch Test.
+
+
+
+
+ Trigger Reset.
+
+
+
+
+ Tx Critical Reading message.
+
+
+
+
+ Critical Reading Tx Window Test.
+
+
+
+
+ Weekly Binding.
+
+
+
+
+ NA2WGSVTestCommand
+
+
+
+
+ Run Valve Test.
+
+
+
+
+ Cycle Valve N Times.
+
+
+
+
+ Simulate Pressure.
+
+
+
+
+ Simulate Tilt.
+
+
+
+
+ Simulate Seismic.
+
+
+
+
+ Clear All Simulations.
+
+
+
+
+ Long LAT Delay.
+
+
+
+
+ Backup EP & Ch Objects.
+
+
+
+
+ Restore EP & Ch Objects.
+
+
+
+
+ Erase Backup Area.
+
+
+
+
+ Erase Main Storage Area.
+
+
+
+
+ Calibrate Valve Travel.
+
+
+
+
+ Set Alarm (for testing).
+
+
+
+
+ NA2WMLCTestCommand
+
+
+
+
+ Control Light.
+
+
+
+
+ Sample AC Voltage/Current.
+
+
+
+
+ Simulate Voltage.
+
+
+
+
+ Simulate Current.
+
+
+
+
+ Clear All Simulations.
+
+
+
+
+ Backup EP & Ch Objects.
+
+
+
+
+ Restore EP & Ch Objects.
+
+
+
+
+ Erase Backup Area.
+
+
+
+
+ Erase Main Storage Area.
+
+
+
+
+ Trigger Reset.
+
+
+
+
+ Set Alarm/Warning (for testing).
+
+
+
+
+ Set Features.
+
+
+
+
+ Set AC Calibration Values.
+
+
+
+
+ Save Stats.
+
+
+
+
+ Control Dimming.
+
+
+
+
+ Send Legacy Binding.
+
+
+
+
+ Fail Self Discovery.
+
+
+
+
+ Control Relay.
+
+
+
+
+ Set Meter Serial Number.
+
+
+
+
+ Get GPS Data.
+
+
+
+
+ Enter Test Mode.
+
+
+
+
+ Self Test.
+
+
+
+
+ LibertyGasTestCommand
+
+
+
+
+ Reset To Default Factory (Idle) Configuration.
+
+
+
+
+ Set Alarm (for testing).
+
+
+
+
+ Send Token.
+
+
+
+
+ RawMetrologyTestCommand
+
+
+
+
+ Calibrate Offset.
+
+
+
+
+ Calibrate Gain.
+
+
+
+
+ Get Calibration Constants.
+
+
+
+
+ Send Weekly FB Configuration.
+
+
+
+
+ Send Weekly Binding.
+
+
+
+
+ Send Weekly Alarm.
+
+
+
+
+ Send Weekly Smart Alarm.
+
+
+
+
+ Set Alarm (for testing).
+
+
+
+
+ SLCLightControllerTestCommand
+
+
+
+
+ Metrology Chip Read.
+
+
+
+
+ Metrology Chip Write.
+
+
+
+
+ Metrology Chip Command.
+
+
+
+
+ Dimming Calibration Start.
+
+
+
+
+ Dimming Calibration Stop.
+
+
+
+
+ Vdim Calibration.
+
+
+
+
+ Zero Crossing Calibration.
+
+
+
+
+ BatteryEndpointTestCommand
+
+
+
+
+ Set Features.
+
+
+
+
+ Trigger Reset.
+
+
+
+
+ Trigger Alarm.
+
+
+
+
+ Reset Alarm.
+
+
+
+
+ Adjust Battery Model.
+
+
+
+
+ Send Weekly FB Configuration.
+
+
+
+
+ Send Weekly Binding.
+
+
+
+
+ Send Weekly Alarm.
+
+
+
+
+ Send Weekly Smart Alarm.
+
+
+
+
+ Reset FlexNet IDs.
+
+
+
+
+ CpMetrologyTestCommand
+
+
+
+
+ Control Relays.
+
+
+
+
+ Test ADC.
+
+
+
+
+ Calibration.
+
+
+
+
+ Set Features.
+
+
+
+
+ MainsEndpointTestCommand
+
+
+
+
+ Set Features.
+
+
+
+
+ Trigger Reset.
+
+
+
+
+ Trigger Alarm.
+
+
+
+
+ Reset Alarm.
+
+
+
+
+ Send Weekly FB Configuration.
+
+
+
+
+ Send Weekly Binding.
+
+
+
+
+ Send Weekly Alarm.
+
+
+
+
+ Send Weekly Smart Alarm.
+
+
+
+
+ Reset FlexNet IDs.
+
+
+
+
+ Clear Reset Counters.
+
+
+
+
+ Get Calibration Values.
+
+
+
+
+ Get FlexNet IDs.
+
+
+
+
+ RectifierMonitorTestCommand
+
+
+
+
+ Set Features.
+
+
+
+
+ Trigger Alarm.
+
+
+
+
+ Reset Alarm.
+
+
+
+
+ FlexNetS4ProductSpecificTestCommand
+
+
+
+
+ Set Deployment Configuration.
+
+
+
+
+ Clear IPC Statistics.
+
+
+
+
+ Reset IPC Link.
+
+
+
+
+ Set Product Time.
+
+
+
+
+ Set Setup Dump Complete.
+
+
+
+
+ FlexNetS4Deployment
+
+
+
+
+ FlexNet AMR and AMI.
+
+
+
+
+ FlexNet AMR and AMI with Tone Install.
+
+
+
+
+ SensusRF AMR and AMI.
+
+
+
+
+ SensusRf AMR and FlexNet AMI.
+
+
+
+
+ SensusRf AMR and ULFN AMI.
+
+
+
+
+ Curacao Beta.
+
+
+
+
+ SonixV2ProductSpecificTestCommand
+
+
+
+
+ Clock Verification.
+
+
+
+
+ Clear IPC Statistics.
+
+
+
+
+ Reset IPC Link.
+
+
+
+
+ Sleep.
+
+
+
+
+ Valve.
+
+
+
+
+ Clear Bind.
+
+
+
+
+ Power Switches.
+
+
+
+
+ Stress IPC.
+
+
+
+
+ Set Setup Dump Complete.
+
+
+
+
+ SonixV2ProductSpecificSleepMode
+
+
+
+
+ Idle (EM2).
+
+
+
+
+ Coma (EM4).
+
+
+
+
+ SonixV2ProducSpecificValveMode
+
+
+
+
+ Coast.
+
+
+
+
+ Close.
+
+
+
+
+ Open.
+
+
+
+
+ Break.
+
+
+
+
+ NA2WWaterPulseProductSpecificTestCommand
+
+
+
+
+ Cut Wire Test.
+
+
+
+
+ Position Tamper Test.
+
+
+
+
+ BatteryModelOperation
+
+
+
+
+ Reset Consumption.
+
+
+
+
+ Set Consumption.
+
+
+
+
+ Reset Offset.
+
+
+
+
+ ControlLightType
+
+
+
+
+ Off.
+
+
+
+
+ On.
+
+
+
+
+ Toggle.
+
+
+
+
+ ResetType
+
+
+
+
+ Watchdog.
+
+
+
+
+ Jump to reset.
+
+
+
+
+ NA2W3PortTestCommand
+
+
+
+
+ Set Alarm (for testing).
+
+
+
+
+ Send Weekly Alarm (in 2-way mode).
+
+
+
+
+ Tilt Switch Test.
+
+
+
+
+ Tx Critical Reading message.
+
+
+
+
+ Critical Reading Tx Window Test.
+
+
+
+
+ CritReadWindowStartTimeSelect
+
+
+
+
+ As Configured.
+
+
+
+
+ Now.
+
+
+
+
+ Stop Test.
+
+
+
+
+ CritReadTxOpMode
+
+
+
+
+ Default.
+
+
+
+
+ 7FSK.
+
+
+
+
+ mPass 5kbps.
+
+
+
+
+ Boost.
+
+
+
+
+ CnI.
+
+
+
+
+ 13FSK extended.
+
+
+
+
+ mPass 10kbps.
+
+
+
+
+ 13FSK short.
+
+
+
+
+ Priority.
+
+
+
+
+ SerialNumberType
+
+
+
+
+ Customer serial number.
+
+
+
+
+ Pole ID (MLC Only).
+
+
+
+
+ NA2WInfoType
+
+
+
+
+ Standard (EP Capabilities).
+
+
+
+
+ Statistics p1.
+
+
+
+
+ Statistics p2.
+
+
+
+
+ Statistics p3.
+
+
+
+
+ Statistics p4.
+
+
+
+
+ Statistics p5.
+
+
+
+
+ Statistics p6.
+
+
+
+
+ Statistics p7.
+
+
+
+
+ Statistics p8.
+
+
+
+
+ Statistics p9.
+
+
+
+
+ Statistics p10.
+
+
+
+
+ Statistics p100.
+
+
+
+
+ Statistics p101.
+
+
+
+
+ Statistics p102.
+
+
+
+
+ Statistics p103.
+
+
+
+
+ SLCLightController8BitRegisterID
+
+
+
+
+ (0x0000) Reset.
+
+
+
+
+ (0x0001) Status.
+
+
+
+
+ (0x0002) Features.
+
+
+
+
+ (0x0010) Light State.
+
+
+
+
+ (0x0011) Light Intensity.
+
+
+
+
+ (0x0012) Blink Pattern Length.
+
+
+
+
+ (0x0013) Blink ON Intensity.
+
+
+
+
+ (0x0014) Blink OFF Intensity.
+
+
+
+
+ (0x0020) Serial Number[0].
+
+
+
+
+ (0x0021) Serial Number[1].
+
+
+
+
+ (0x0022) Serial Number[2].
+
+
+
+
+ (0x0023) Serial Number[3].
+
+
+
+
+ (0x0024) Serial Number[4].
+
+
+
+
+ (0x0025) Serial Number[5].
+
+
+
+
+ (0x0026) Serial Number[6].
+
+
+
+
+ (0x0027) Serial Number[7].
+
+
+
+
+ (0x0028) Serial Number[8].
+
+
+
+
+ (0x0029) Serial Number[9].
+
+
+
+
+ (0x002a) Serial Number[10].
+
+
+
+
+ (0x002b) Serial Number[11].
+
+
+
+
+ (0x002c) Serial Number[12].
+
+
+
+
+ (0x002d) Serial Number[13].
+
+
+
+
+ (0x002e) Serial Number[14].
+
+
+
+
+ (0x002f) Serial Number[15].
+
+
+
+
+ (0x00a0) Temperature.
+
+
+
+
+ (0x00a1) Max Temperature.
+
+
+
+
+ (0x00a2) Min Temperature.
+
+
+
+
+ (0x00a4) Temperature Offset.
+
+
+
+
+ (0x00a5) VDIG Offset.
+
+
+
+
+ (0x00a6) VDIM Offset.
+
+
+
+
+ SLCLightController16BitRegisterID
+
+
+
+
+ (0x0100) Version.
+
+
+
+
+ (0x0001) Reset Count.
+
+
+
+
+ (0x0102) WD Reset Count.
+
+
+
+
+ (0x0103) Ext WD Reset Count.
+
+
+
+
+ (0x0110) Alarms.
+
+
+
+
+ (0x0180) VRMS (dV).
+
+
+
+
+ (0x0181) IRMS (mA).
+
+
+
+
+ (0x0182) Frequency.
+
+
+
+
+ (0x0183) Angle.
+
+
+
+
+ (0x0190) VSAG Threshold (V).
+
+
+
+
+ (0x0191) VSWELL Threshold (V).
+
+
+
+
+ (0x0192) Over Current Threshold (mA).
+
+
+
+
+ (0x0194) Power Failure Threshold (counts).
+
+
+
+
+ (0x01a0) VDIG (cV).
+
+
+
+
+ (0x01a1) VDIM (cV).
+
+
+
+
+ (0x01a4) VDIG Slope.
+
+
+
+
+ (0x01a5) VDIM Slope.
+
+
+
+
+ SLCLightController32BitRegisterID
+
+
+
+
+ (0x0200) Device ID.
+
+
+
+
+ (0x0280) Power Active (W).
+
+
+
+
+ (0x0281) Power Apparent (VA).
+
+
+
+
+ (0x0282) Power Reactive (VAR).
+
+
+
+
+ SLCLightController64BitRegisterID
+
+
+
+
+ (0x0300) Epoch Time 32k.
+
+
+
+
+ (0x0310) Blink Pattern.
+
+
+
+
+ (0x0380) Energy Active (Ws).
+
+
+
+
+ (0x0381) Energy Apparent (VAs).
+
+
+
+
+ (0x0382) Energy Reactive (VARs).
+
+
+
+
+ NA2WWaterAttributeID
+
+
+
+
+ Meter Body ID.
+
+
+
+
+ Elevation.
+
+
+
+
+ Don't use 1.
+
+
+
+
+ Don't use 2.
+
+
+
+
+ NA2WGasAttributeID
+
+
+
+
+ Product Name.
+
+
+
+
+ Unique Configuration Number.
+
+
+
+
+ Don't use 1.
+
+
+
+
+ Don't use 2.
+
+
+
+
+ NA2WMLCAttributeID
+
+
+
+
+ Upper assembly serial number.
+
+
+
+
+ Lower assembly serial number.
+
+
+
+
+ Ballast serial number.
+
+
+
+
+ Bulb serial number.
+
+
+
+
+ Product model number.
+
+
+
+
+ Product serial number.
+
+
+
+
+ Ballast 2 serial number.
+
+
+
+
+ Bulb 2 serial number.
+
+
+
+
+ Aux serial number.
+
+
+
+
+ Aux 2 serial number.
+
+
+
+
+ Light Controller version.
+
+
+
+
+ Light Controller status.
+
+
+
+
+ Light Controller resets.
+
+
+
+
+ Metrology dump.
+
+
+
+
+ RawMetrologyAttributeID
+
+
+
+
+ Sensor Manufacturer.
+
+
+
+
+ Sensor Model.
+
+
+
+
+ Sensor Serial Number.
+
+
+
+
+ Measurement Formula Part 1.
+
+
+
+
+ Measurement Formula Part 2.
+
+
+
+
+ Measurement Formula Part 3.
+
+
+
+
+ Measurement Formula Part 4.
+
+
+
+
+ Threshold Formula Part 1.
+
+
+
+
+ Threshold Formula Part 2.
+
+
+
+
+ Threshold Formula Part 3.
+
+
+
+
+ Threshold Formula Part 4.
+
+
+
+
+ Elevation.
+
+
+
+
+ Sensor Units Part 1.
+
+
+
+
+ Sensor Units Part 2.
+
+
+
+
+ CathodicProtectionMetrologyAttributeID
+
+
+
+
+ Asset Description 1.
+
+
+
+
+ Asset Description 2.
+
+
+
+
+ Asset Description 3.
+
+
+
+
+ Asset Description 4.
+
+
+
+
+ NA2WReportID
+
+
+
+
+ Detailed Read.
+
+
+
+
+ Midnight Read.
+
+
+
+
+ Statistics Overview.
+
+
+
+
+ Module Statistics.
+
+
+
+
+ Tfx Config.
+
+
+
+
+ Tfx Link Status.
+
+
+
+
+ Gas Metrology Information.
+
+
+
+
+ Memory Dump.
+
+
+
+
+ Multiple Channel On-Demand Read.
+
+
+
+
+ Memory Usage.
+
+
+
+
+ Tfx Config 2.
+
+
+
+
+ Tfx Config 3.
+
+
+
+
+ GPS Position Fix.
+
+
+
+
+ BiDi Test.
+
+
+
+
+ Activity Data Report.
+
+
+
+
+ SmartPoint Upgrade Status.
+
+
+
+
+ Meter Upgrade Status.
+
+
+
+
+ Last Survey Result.
+
+
+
+
+ Detailed Survey Result.
+
+
+
+
+ SensusRF Encryption Key Status.
+
+
+
+
+ ULFN Beacon Info.
+
+
+
+
+ Network Analysis Status.
+
+
+
+
+ Hard Fault Report.
+
+
+
+
+ Meter IPC Status.
+
+
+
+
+ Board Details.
+
+
+
+
+ Processor Details.
+
+
+
+
+ Cut Wire Status.
+
+
+
+
+ Tilt Tamper Status.
+
+
+
+
+ ADC Samples.
+
+
+
+
+ Reset Details.
+
+
+
+
+ Valve Status.
+
+
+
+
+ Time Values.
+
+
+
+
+ SLC Light Controller Details.
+
+
+
+
+ SLC Light Controller Status.
+
+
+
+
+ MemoryDumpSource
+
+
+
+
+ Internal.
+
+
+
+
+ External Flash.
+
+
+
+
+ External EEPROM.
+
+
+
+
+ NA2WTestComponentID
+
+
+
+
+ External Flash.
+
+
+
+
+ External EEPROM.
+
+
+
+
+ NA2WTestComponentExternalFlashAction
+
+
+
+
+ Stop.
+
+
+
+
+ Continuous Full Write Read.
+
+
+
+
+ Read 19 bytes.
+
+
+
+
+ Write 10 bytes.
+
+
+
+
+ Get Current Test Results.
+
+
+
+
+ NA2WTestComponentExternalEepromAction
+
+
+
+
+ Stop.
+
+
+
+
+ Continuous Full Write Read.
+
+
+
+
+ Read 19 bytes.
+
+
+
+
+ Write 10 bytes.
+
+
+
+
+ Get Current Test Results.
+
+
+
+
+ MLCReadingResolution
+
+
+
+
+ x 1.
+
+
+
+
+ x 0.1.
+
+
+
+
+ x 0.01.
+
+
+
+
+ x 0.001.
+
+
+
+
+ MLCCurrentScale
+
+
+
+
+ 0.10.
+
+
+
+
+ 0.20.
+
+
+
+
+ 0.30.
+
+
+
+
+ 0.40.
+
+
+
+
+ 0.50.
+
+
+
+
+ 0.60.
+
+
+
+
+ 0.70.
+
+
+
+
+ 0.80.
+
+
+
+
+ 0.90.
+
+
+
+
+ 1.00.
+
+
+
+
+ MLCLightOnDelay
+
+
+
+
+ 0 ms.
+
+
+
+
+ 250 ms.
+
+
+
+
+ 500 ms.
+
+
+
+
+ 750 ms.
+
+
+
+
+ MLCBlinkSlotTime
+
+
+
+
+ 0.5 sec.
+
+
+
+
+ 1 sec.
+
+
+
+
+ 2 sec.
+
+
+
+
+ 4 sec.
+
+
+
+
+ LibertyTokenSequence
+
+
+
+
+ Normal.
+
+
+
+
+ Extended.
+
+
+
+
+ LibertyTokenLength
+
+
+
+
+ 11.
+
+
+
+
+ 20.
+
+
+
+
+ 40.
+
+
+
+
+ 60.
+
+
+
+
+ IHDPacketID
+
+
+
+
+ Composition.
+
+
+
+
+ Consumption.
+
+
+
+
+ Display.
+
+
+
+
+ Price formatting.
+
+
+
+
+ Price tier information.
+
+
+
+
+ Bind price formatting to device ID.
+
+
+
+
+ Configuration.
+
+
+
+
+ Permit joining.
+
+
+
+
+ Price Tier Ping.
+
+
+
+
+ Price Format Ping.
+
+
+
+
+ Device List Ping.
+
+
+
+
+ ZigBeeCommandID
+
+
+
+
+ Network Application Ack.
+
+
+
+
+ Network Application Nack.
+
+
+
+
+ Query firmware version.
+
+
+
+
+ Reset Sensus HAN Module.
+
+
+
+
+ Billing Info.
+
+
+
+
+ Pre-Configured Link Key.
+
+
+
+
+ Display Message.
+
+
+
+
+ Cancel Message.
+
+
+
+
+ Price Formatting.
+
+
+
+
+ Price Tier Information.
+
+
+
+
+ Permit Joining.
+
+
+
+
+ Load Control Event.
+
+
+
+
+ Cancel Load Control Event.
+
+
+
+
+ Cancel All Load Control Events.
+
+
+
+
+ Set Load Control Parameter.
+
+
+
+
+ Get Load Control Parameter.
+
+
+
+
+ Clear ZigBee Network.
+
+
+
+
+ Reset ESI Non-Volatile Memory.
+
+
+
+
+ Send Publish Price Cmd.
+
+
+
+
+ Clear Text Message Buffer.
+
+
+
+
+ Set ZigBee RF Channel.
+
+
+
+
+ Set Price Event Queue.
+
+
+
+
+ Write Certificate and Private Key.
+
+
+
+
+ Verify Certificate and Private Key.
+
+
+
+
+ Request HAN Status.
+
+
+
+
+ Remove HAN Device from Network.
+
+
+
+
+ Request ID of HAN Device.
+
+
+
+
+ Load Control Configuration.
+
+
+
+
+ Request Load Control Reports.
+
+
+
+
+ Read Cluster Attribute from ESI.
+
+
+
+
+ IHD Configuration.
+
+
+
+
+ Write Cluster Attribute to ESI.
+
+
+
+
+ Write ESI MAC address.
+
+
+
+
+ ZigBee RF Control.
+
+
+
+
+ Network Monitoring Configuration.
+
+
+
+
+ Set OTA Upgrade Parameter.
+
+
+
+
+ Get OTA Upgrade Parameter.
+
+
+
+
+ Send OTA Upgrade Command.
+
+
+
+
+ Get OTA Status.
+
+
+
+
+ Configure Alarms.
+
+
+
+
+ Get Alarm Reporting.
+
+
+
+
+ Unlock APS Link Key Ping.
+
+
+
+
+ Update Network Key.
+
+
+
+
+ Switch Network Key.
+
+
+
+
+ Ping for Price Tier Info.
+
+
+
+
+ Ping for Load Control Event Queue.
+
+
+
+
+ Ping for Text Message Queue.
+
+
+
+
+ Ping for Price Formatting data.
+
+
+
+
+ Ping for Device List.
+
+
+
+
+ Ping for Billing Info.
+
+
+
+
+ Ping for ESI Error Counts.
+
+
+
+
+ Ping for Memory Stats.
+
+
+
+
+ Ping for Network Info.
+
+
+
+
+ Ping for Load Control Configuration.
+
+
+
+
+ Ping for Reset Source Counters.
+
+
+
+
+ Ping for APS Link Key.
+
+
+
+
+ Ping for TOU Tier Info.
+
+
+
+
+ Ping for Network Monitoring Configuration settings.
+
+
+
+
+ Ping for Endpoint Version Information.
+
+
+
+
+ Ping for Radio Info.
+
+
+
+
+ Ping for Load Control Module Status.
+
+
+
+
+ Ping for Extended Version Information.
+
+
+
+
+ Ping for Network Key (Active and Alternate).
+
+
+
+
+ ZigBee Command.
+
+
+
+
+ Multi-Packet Message.
+
+
+
+
+ Multi-Packet Configuration.
+
+
+
+
+ Firmware Maintenance.
+
+
+
+
+ Firmware Block Load.
+
+
+
+
+ HAN Serial Device FW Upgrade.
+
+
+
+
+ HAN Serial FW Upgrade Status Request.
+
+
+
+
+ ZigBeeResponseID
+
+
+
+
+ ACK.
+
+
+
+
+ NAK.
+
+
+
+
+ Confirm.
+
+
+
+
+ Query Version.
+
+
+
+
+ Get Load Control Parameter Response.
+
+
+
+
+ Verify Certificate and Private Key Response.
+
+
+
+
+ Load Control Event Reports.
+
+
+
+
+ HAN Status.
+
+
+
+
+ ID (status) of HAN Device.
+
+
+
+
+ Read ESI Attribute Response.
+
+
+
+
+ OTA Upgrade Parameter Response.
+
+
+
+
+ Get OTA Upgrade Status Response.
+
+
+
+
+ Alarm Reporting Message.
+
+
+
+
+ LCM Status Response Message.
+
+
+
+
+ Generic Response.
+
+
+
+
+ Price Tier Ping.
+
+
+
+
+ Load Control Event Queue Ping Response.
+
+
+
+
+ Message Queue Ping Response.
+
+
+
+
+ Price Format Ping.
+
+
+
+
+ Device List Ping.
+
+
+
+
+ Billing Data Ping Response.
+
+
+
+
+ Ping Response for ESI Error Counts.
+
+
+
+
+ Ping Response for Memory Stats.
+
+
+
+
+ Ping Response for Network Info.
+
+
+
+
+ Ping Response for Load Control Configuration.
+
+
+
+
+ Ping Response for Reset Source Counters.
+
+
+
+
+ Ping Response for APS Link Key.
+
+
+
+
+ Ping Response for TOU Tier Info.
+
+
+
+
+ Ping Response for Network Monitoring Configuration settings.
+
+
+
+
+ Ping Response for Endpoint Version Information.
+
+
+
+
+ Ping Response for Radio Info.
+
+
+
+
+ Ping Response for Extended Version Information.
+
+
+
+
+ Ping Response for Network Key (Active and Alternate).
+
+
+
+
+ ZigBee Response.
+
+
+
+
+ Request for Fragment Re-Send (Multi-Packet).
+
+
+
+
+ Send Flex ACK/NAK to BE.
+
+
+
+
+ Send Firmware Image Check Response to BE.
+
+
+
+
+ Send Universal FW Version Ping Response to BE.
+
+
+
+
+ Serial Upgrade Start Response.
+
+
+
+
+ Serial Upgrade Check Image Response.
+
+
+
+
+ Serial Upgrade Status Message.
+
+
+
+
+ ResponseReason
+
+
+
+
+ Generic ACK.
+
+
+
+
+ Generic NAK.
+
+
+
+
+ Local HAN ID is already assigned.
+
+
+
+
+ MAC address is already on the HAN.
+
+
+
+
+ Local HAN ID does not match the MAC address.
+
+
+
+
+ MAC address is not on the HAN.
+
+
+
+
+ Local HAN ID is not valid.
+
+
+
+
+ ID not found.
+
+
+
+
+ Attribute not supported.
+
+
+
+
+ Bad Attribute length.
+
+
+
+
+ DRLC Event Queue is full.
+
+
+
+
+ DRLC Event is already in the queue.
+
+
+
+
+ DRLC Event is expired.
+
+
+
+
+ End Device does not respond.
+
+
+
+
+ Max number of devices is already on the HAN.
+
+
+
+
+ ESI Does Not Have Time Sync.
+
+
+
+
+ LoadControlParameters
+
+
+
+
+ Utility Enrollment Group.
+
+
+
+
+ Start Randomization Time.
+
+
+
+
+ Stop Randomization Time.
+
+
+
+
+ Device Class.
+
+
+
+
+ Serial Number.
+
+
+
+
+ Tamper Detect Timeout Threshold.
+
+
+
+
+ Cold Load Pickup Duration.
+
+
+
+
+ Max Control Duration.
+
+
+
+
+ DeviceClass
+
+
+
+
+ HVAC.
+
+
+
+
+ Baseboard Heaters.
+
+
+
+
+ Water Heater.
+
+
+
+
+ Pool Pump / Spa / Jacuzzi.
+
+
+
+
+ Smart Appliances.
+
+
+
+
+ Irrigation Pump.
+
+
+
+
+ Managed C&I Loads.
+
+
+
+
+ Simple Misc. Loads.
+
+
+
+
+ Exterior Lighting.
+
+
+
+
+ Interior Lighting.
+
+
+
+
+ Electric Vehicle.
+
+
+
+
+ Generation Systems.
+
+
+
+
+ HANConsumptionUnits
+
+
+
+
+ Kilowatts.
+
+
+
+
+ Cubic meters.
+
+
+
+
+ Cubic meters 2.
+
+
+
+
+ Hundreds cubic feet (CCF).
+
+
+
+
+ US gallons.
+
+
+
+
+ Imperial gallons.
+
+
+
+
+ BTUs.
+
+
+
+
+ Liters.
+
+
+
+
+ KPA gauge.
+
+
+
+
+ KPA absolute.
+
+
+
+
+ Thousands cubic feet (MCF).
+
+
+
+
+ Unitless, pure binary.
+
+
+
+
+ Megajoules.
+
+
+
+
+ HANPricingType
+
+
+
+
+ Unused.
+
+
+
+
+ Electric 1.
+
+
+
+
+ Electric 2.
+
+
+
+
+ Electric 3.
+
+
+
+
+ Electric 4.
+
+
+
+
+ Electric 5.
+
+
+
+
+ Electric 6.
+
+
+
+
+ Electric 7.
+
+
+
+
+ Electric 8.
+
+
+
+
+ Electric 9.
+
+
+
+
+ Electric 10.
+
+
+
+
+ Gas 1.
+
+
+
+
+ Gas 2.
+
+
+
+
+ Gas 3.
+
+
+
+
+ Gas 4.
+
+
+
+
+ Gas 5.
+
+
+
+
+ Gas 6.
+
+
+
+
+ Gas 7.
+
+
+
+
+ Gas 8.
+
+
+
+
+ Gas 9.
+
+
+
+
+ Gas 10.
+
+
+
+
+ Water 1.
+
+
+
+
+ Water 2.
+
+
+
+
+ Water 3.
+
+
+
+
+ Water 4.
+
+
+
+
+ Water 5.
+
+
+
+
+ Water 6.
+
+
+
+
+ Water 7.
+
+
+
+
+ Water 8.
+
+
+
+
+ Water 9.
+
+
+
+
+ Water 10.
+
+
+
+
+ HANTimeUnits
+
+
+
+
+ Seconds.
+
+
+
+
+ Minutes.
+
+
+
+
+ Hours.
+
+
+
+
+ Days.
+
+
+
+
+ DriveByReadResponseMode
+
+
+
+
+ Normal.
+
+
+
+
+ mPass.
+
+
+
+
+ HANDeviceType
+
+
+
+
+ Electric meter.
+
+
+
+
+ Gas meter.
+
+
+
+
+ Water meter.
+
+
+
+
+ IHD.
+
+
+
+
+ LCM.
+
+
+
+
+ Thermostat.
+
+
+
+
+ Other meter.
+
+
+
+
+ Smart appliance.
+
+
+
+
+ Energy mgmt system.
+
+
+
+
+ ESI.
+
+
+
+
+ Prepayment terminal.
+
+
+
+
+ Inverter.
+
+
+
+
+ PEV.
+
+
+
+
+ AESStrength
+
+
+
+
+ AES-128.
+
+
+
+
+ AES-256.
+
+
+
+
+ CommandAddressMode
+
+
+
+
+ Direct.
+
+
+
+
+ Broadcast.
+
+
+
+
+ Group.
+
+
+
+
+ Multicast.
+
+
+
+
+ AESSecurityState
+
+
+
+
+ Disabled.
+
+
+
+
+ Ready.
+
+
+
+
+ Enabled.
+
+
+
+
+ Suspended.
+
+
+
+
+ CBCLength
+
+
+
+
+ None.
+
+
+
+
+ 8 bits.
+
+
+
+
+ 16 bits.
+
+
+
+
+ 24 bits.
+
+
+
+
+ 32 bits.
+
+
+
+
+ 64 bits.
+
+
+
+
+ 96 bits.
+
+
+
+
+ 128 bits.
+
+
+
+
+ LoadCommand
+
+
+
+
+ No change.
+
+
+
+
+ Shed.
+
+
+
+
+ Arm for restore.
+
+
+
+
+ Unconditionally restore.
+
+
+
+
+ LibertyGasValvePosition
+
+
+
+
+ Unknown.
+
+
+
+
+ Closed.
+
+
+
+
+ Armed.
+
+
+
+
+ Open.
+
+
+
+
+ LibertyGasDeviceOperation
+
+
+
+
+ No operation.
+
+
+
+
+ Close valve.
+
+
+
+
+ Arm valve for open.
+
+
+
+
+ SmartMeterSubtype
+
+
+
+
+ Krohne.
+
+
+
+
+ iPERL.
+
+
+
+
+ AccuMagBatteryStatus
+
+
+
+
+ <10% Remaining.
+
+
+
+
+ 10-20% Remaining.
+
+
+
+
+ 25-50% Remaining.
+
+
+
+
+ 50-75% Remaining.
+
+
+
+
+ >75% Remaining.
+
+
+
+
+ DemandType
+
+
+
+
+ kW.
+
+
+
+
+ kVA.
+
+
+
+
+ HistoryResolution
+
+
+
+
+ 1 kWh.
+
+
+
+
+ 0.1 kWh.
+
+
+
+
+ 0.01 kWh.
+
+
+
+
+ 0.001 kWh.
+
+
+
+
+ FlexIPLL
+
+
+
+
+ Length in payload.
+
+
+
+
+ Short.
+ 5 bits.
+
+
+
+
+ Medium.
+ 8 bits.
+
+
+
+
+ Long.
+ 12 bits.
+
+
+
+
+ FMTModes
+
+
+
+
+ Std. BuddyBox Mode.
+
+
+
+
+ Electric Installer Mode.
+
+
+
+
+ BuddyBox Mode, No Idle Msgs.
+
+
+
+
+ Extended Rx Poll Msg Mode.
+
+
+
+
+ Extended Rx Poll Msg Mode, No Idle Msgs.
+
+
+
+
+ Raw Rx Poll Msg Mode.
+
+
+
+
+ Raw Rx Poll Msg Mode, No Idle Msgs.
+
+
+
+
+ FMTPowerLevels
+
+
+
+
+ -19 dBm.
+
+
+
+
+ -18 dBm.
+
+
+
+
+ -15 dBm.
+
+
+
+
+ -12 dBm.
+
+
+
+
+ -9 dBm.
+
+
+
+
+ -6 dBm.
+
+
+
+
+ -3 dBm.
+
+
+
+
+ 0 dBm.
+
+
+
+
+ 20 dBm.
+
+
+
+
+ 1 dBm.
+
+
+
+
+ 2 dBm.
+
+
+
+
+ 5 dBm.
+
+
+
+
+ 8 dBm.
+
+
+
+
+ 11 dBm.
+
+
+
+
+ 14 dBm.
+
+
+
+
+ 17 dBm.
+
+
+
+
+ 20.0 dBm.
+
+
+
+
+ iConATestFunctions
+
+
+
+
+ FSK/ASK Tests.
+
+
+
+
+ iConAModulationModes
+
+
+
+
+ Full Power mPass 5k.
+
+
+
+
+ Low Power mPass 5k.
+
+
+
+
+ Variable Power mPass 5k.
+
+
+
+
+ Full Power mPass 10k.
+
+
+
+
+ Low Power mPass 10k.
+
+
+
+
+ Variable Power mPass 10k.
+
+
+
+
+ Full Power 12_5K WB/DB Tone.
+
+
+
+
+ Low Power 12_5K WB/DB Tone.
+
+
+
+
+ Variable Power 12_5K WB/DB Tone.
+
+
+
+
+ Full Power ASK.
+
+
+
+
+ Low Power ASK.
+
+
+
+
+ Variable Power ASK.
+
+
+
+
+ iConATestModes
+
+
+
+
+ CW Mode.
+
+
+
+
+ FCC Mode.
+
+
+
+
+ Fast Mode.
+
+
+
+
+ WB/DB Tone Start.
+
+
+
+
+ Tx Test Stop.
+
+
+
+
+ KeyType
+
+
+
+
+ Unique.
+
+
+
+
+ Shared.
+
+
+
+
+ Primary Group.
+
+
+
+
+ Secondary Group 1.
+
+
+
+
+ Secondary Group 2.
+
+
+
+
+ Secondary Group 3.
+
+
+
+
+ Secondary Group 4 (Electric Only).
+
+
+
+
+ HAN (Electric Only).
+
+
+
+
+ Handheld Unique.
+
+
+
+
+ Asymmetric Private Key.
+
+
+
+
+ RxOpMode
+
+
+
+
+ 5 kbps, Buddy Enabled [0].
+
+
+
+
+ 5 kbps, Buddy Enabled.
+
+
+
+
+ 5 kbps, Buddy Enabled [2].
+
+
+
+
+ 5 kbps, Buddy Disabled.
+
+
+
+
+ 10 kbps, Buddy Enabled [4].
+
+
+
+
+ 10 kbps, Buddy Enabled.
+
+
+
+
+ 10 kbps, Buddy Enabled [6].
+
+
+
+
+ 10 kbps, Buddy Disabled.
+
+
+
+
+ FecTypes
+
+
+
+
+ Unencoded.
+
+
+
+
+ 1/2 K=3.
+
+
+
+
+ 3/4 K=7.
+
+
+
+
+ 3/4 K=4.
+
+
+
+
+ DataLinkFrameType
+
+
+
+
+ Command.
+
+
+
+
+ Response.
+
+
+
+
+ Message.
+
+
+
+
+ RadioFrameType
+
+
+
+
+ FlexNetV1.
+
+
+
+
+ FlexNetV2.
+
+
+
+
+ SensusRF.
+
+
+
+
+ WMBUS.
+
+
+
+
+ Type9PacketUse
+
+
+
+
+ Uplink.
+
+
+
+
+ Downlink LAT.
+
+
+
+
+ Downlink MoM Important.
+
+
+
+
+ Downlink MoM Unimportant.
+
+
+
+
+ Downlink LAT Group.
+
+
+
+
+ Downlink LAT Important Group.
+
+
+
+
+ SignatureSize
+
+
+
+
+ Size_64.
+
+
+
+
+ Gen2 LAT Delay
+
+
+
+
+ No Rx Follows.
+
+
+
+
+ LAT Delay 250ms.
+
+
+
+
+ LAT Delay 1s.
+
+
+
+
+ LAT Delay 5s.
+
+
+
+
+ LAT Delay 15s.
+
+
+
+
+ LAT Delay Specified.
+
+
+
+
+ LAT Delay 60s.
+
+
+
+
+ LAT Delay 120s.
+
+
+
+
+ TwoWayMode
+
+
+
+
+ Idle.
+
+
+
+
+ WBDB.
+
+
+
+
+ FBFLAT.
+
+
+
+
+ FBMoM.
+
+
+
+
+ RxTxModes
+
+
+
+
+ mPass 5k/mPass 5k.
+
+
+
+
+ mPass 10k/mPass 10k.
+
+
+
+
+ mPass 5k/mPass 10k.
+
+
+
+
+ 2SFSK/mPass 5k.
+
+
+
+
+ 2SFSK/mPass 10k.
+
+
+
+
+ 2SFSK HB/mPass 5k.
+
+
+
+
+ 2SFSK HB/mPass 10k.
+
+
+
+
+ SupportedFNv2RxTxModes
+
+
+
+
+ mPass 5k/mPass 5k.
+
+
+
+
+ mPass 5k/mPass 10k.
+
+
+
+
+ mPass 10k/mPass 10k.
+
+
+
+
+ FlexNetProtocols
+
+
+
+
+ FNv1.
+
+
+
+
+ FNv2FT1.
+
+
+
+
+ FNv2FT9.
+
+
+
+
+ USWFrameType
+
+
+
+
+ PHYv1.
+
+
+
+
+ NA2W.
+
+
+
+
+ PHYv2.
+
+
+
+
+ PHYv15.
+
+
+
+
+ NA2W15.
+
+
+
+
+ FlexType
+
+
+
+
+ NA Line Powered.
+
+
+
+
+ Arqiva.
+
+
+
+
+ Unlicensed FlexNet Beacon.
+
+
+
+
+ LAT MoM.
+
+
+
+
+ LoadStatus
+
+
+
+
+ Load Connected.
+
+
+
+
+ Load Shed.
+
+
+
+
+ Load Shed, Armed For Connect.
+
+
+
+
+ Load Disconnected, Load Side Voltage Sensed.
+
+
+
+
+ LoadShedNAK
+
+
+
+
+ ECDSA Signature Failure.
+
+
+
+
+ Unknown Command Version.
+
+
+
+
+ Not ECDSA Signed.
+
+
+
+
+ Not An RDC Meter.
+
+
+
+
+ Invalid Load ID.
+
+
+
+
+ KeyHalfReceived
+
+
+
+
+ Nothing Reported.
+
+
+
+
+ Unique [First Half].
+
+
+
+
+ Unique [Second Half].
+
+
+
+
+ Shared [First Half].
+
+
+
+
+ Shared [Second Half].
+
+
+
+
+ Group [First Half].
+
+
+
+
+ Group [Second Half].
+
+
+
+
+ SmartMeterAlarmMessageVersion
+
+
+
+
+ Timestamped.
+
+
+
+
+ SensusRF.
+
+
+
+
+ Alpha and beta.
+
+
+
+
+ Meter Agnostic.
+
+
+
+
+ SmartMeterType
+
+
+
+
+ ESAAP Electronic Register.
+
+
+
+
+ iPERL with TFX Support.
+
+
+
+
+ PulseRF with TFX Support.
+
+
+
+
+ Gensis ROW.
+
+
+
+
+ SmartAlarmPageData
+
+
+
+
+ Page 0 Data.
+
+
+
+
+ Page 1 Data.
+
+
+
+
+ RfTestModulation
+
+
+
+
+ Normal (7FSK 8 kbps).
+
+
+
+
+ mPass (2FSK 5 kbps).
+
+
+
+
+ Boost (7FSK 800 bps).
+
+
+
+
+ C&I (7FSK 4 kbps).
+
+
+
+
+ Priority (13FSK 8 kbps).
+
+
+
+
+ DD Short (13FSK 16 kbps).
+
+
+
+
+ DD Extended (13FSK 16 kbps).
+
+
+
+
+ mPass10k (2FSK 10 kbps).
+
+
+
+
+ mPass12k (2FSK 12.5 kbps).
+
+
+
+
+ SensusRF (2FSK 100 kbps).
+
+
+
+
+ WaterMeterClass
+
+
+
+
+ Sensus ECR Protocol, no bidi.
+
+
+
+
+ Sensus ECR protocol, bidi-compatible.
+
+
+
+
+ Neptune ProRead (6 digit).
+
+
+
+
+ Neptune E-Coder (8 digit).
+
+
+
+
+ BadgerRTR.
+
+
+
+
+ AMCO ScanCoder.
+
+
+
+
+ AMCO InVision.
+
+
+
+
+ SensusRF.
+
+
+
+
+ Wireless M-Bus.
+
+
+
+
+ GasMeterClass
+
+
+
+
+ Sensus Integrated Gas.
+
+
+
+
+ SensusIntegratedGasMeterFamily
+
+
+
+
+ Unknown.
+
+
+
+
+ SonixV2.
+
+
+
+
+ MessageReason
+
+
+
+
+ Command/ping response.
+
+
+
+
+ Supervisory.
+
+
+
+
+ Setup dump.
+
+
+
+
+ Change notification.
+
+
+
+
+ AlarmMessageReason
+
+
+
+
+ Ping response.
+
+
+
+
+ Supervisory.
+
+
+
+
+ Reset.
+
+
+
+
+ Alarm.
+
+
+
+
+ On Demand Read.
+
+
+
+
+ Alarm Reset.
+
+
+
+
+ In Lieu Of Reading.
+
+
+
+
+ Power Failure.
+
+
+
+
+ MeterSize
+
+
+
+
+ Unknown.
+
+
+
+
+ 5/8 inch.
+
+
+
+
+ 5/8 x 3/4 inch.
+
+
+
+
+ 3/4 inch.
+
+
+
+
+ 1 inch.
+
+
+
+
+ 1 1/2 inch.
+
+
+
+
+ 2 inches.
+
+
+
+
+ 3 inches.
+
+
+
+
+ SmartAlarmType
+
+
+
+
+ Under threshold.
+
+
+
+
+ Over threshold.
+
+
+
+
+ Inside range.
+
+
+
+
+ Outside range.
+
+
+
+
+ Over rate.
+
+
+
+
+ Under rate.
+
+
+
+
+ Unused.
+
+
+
+
+ SmartAlarmAction
+
+
+
+
+ Transmit alarm only.
+
+
+
+
+ Transmit alarm and perform specified action.
+
+
+
+
+ AlarmStateVectorEntry
+
+
+
+
+ Alarm not enabled.
+
+
+
+
+ Alarm enabled, but not active.
+
+
+
+
+ Alarm enabled, and currently active.
+
+
+
+
+ Alarm enabled and has been active within the persistence period.
+
+
+
+
+ TimestampedAlarmIdType
+
+
+
+
+ User-defined.
+
+
+
+
+ Pre-defined.
+
+
+
+
+ NA2WWaterSmartAlarmPredefinedType
+
+
+
+
+ Upgrade mode.
+
+
+
+
+ Hardware error.
+
+
+
+
+ Non-volatile memory error.
+
+
+
+
+ Dead battery.
+
+
+
+
+ Empty pipe.
+
+
+
+
+ Magnetic tamper.
+
+
+
+
+ Meter disconnect tamper.
+
+
+
+
+ Near end of life.
+
+
+
+
+ Beyond end of life.
+
+
+
+
+ Internal communication Error.
+
+
+
+
+ Critical hardware warning.
+
+
+
+
+ Reboot.
+
+
+
+
+ EMF range.
+
+
+
+
+ Low field.
+
+
+
+
+ High current.
+
+
+
+
+ Low metrology battery volts.
+
+
+
+
+ Low valve battery volts.
+
+
+
+
+ Glide slope.
+
+
+
+
+ Configuration error.
+
+
+
+
+ Valve transition failure.
+
+
+
+
+ NA2WGasSmartAlarmPredefinedType
+
+
+
+
+ Index lost.
+
+
+
+
+ Configuration lost.
+
+
+
+
+ Calibration lost.
+
+
+
+
+ Metrology HW failure.
+
+
+
+
+ Meter HW failure.
+
+
+
+
+ Meter power reset.
+
+
+
+
+ Optical port communication failure.
+
+
+
+
+ Non-standard operation.
+
+
+
+
+ Meter reboot.
+
+
+
+
+ Physical tamper.
+
+
+
+
+ Metrology tamper.
+
+
+
+
+ Air in meter.
+
+
+
+
+ Unsatisfactory readings.
+
+
+
+
+ Temperature compensation failure.
+
+
+
+
+ Pressure compensation failure.
+
+
+
+
+ Flow out of range.
+
+
+
+
+ Radio communication failure.
+
+
+
+
+ End of life warning.
+
+
+
+
+ End of life.
+
+
+
+
+ Battery Low.
+
+
+
+
+ SmartAlarmCategory
+
+
+
+
+ Default.
+
+
+
+
+ Alpha-beta.
+
+
+
+
+ User-defined (timestamped).
+
+
+
+
+ Pre-defined (timestamped).
+
+
+
+
+ Recent change.
+
+
+
+
+ Weekly.
+
+
+
+
+ BatteryType
+
+
+
+
+ Unknown.
+
+
+
+
+ Mains Powered.
+
+
+
+
+ TekCell SB-D02.
+
+
+
+
+ TekCell SB-C02.
+
+
+
+
+ DigitalInputState
+
+
+
+
+ Disabled.
+
+
+
+
+ Closed.
+
+
+
+
+ Opened.
+
+
+
+
+ Unknown.
+
+
+
+
+ DigitalInputAlarmTrigger
+
+
+
+
+ Disabled.
+
+
+
+
+ Open.
+
+
+
+
+ Close.
+
+
+
+
+ DigitalInputAlarmStartHysteresis
+
+
+
+
+ Immediate.
+
+
+
+
+ 10 ms.
+
+
+
+
+ 250 ms.
+
+
+
+
+ 500 ms.
+
+
+
+
+ 1 sec.
+
+
+
+
+ 5 sec.
+
+
+
+
+ 1 min.
+
+
+
+
+ 10 min.
+
+
+
+
+ DigitalInputAlarmStopHysteresis
+
+
+
+
+ 1 min.
+
+
+
+
+ 1 hr.
+
+
+
+
+ 1 day.
+
+
+
+
+ DigitalInputAlarmPersistence
+
+
+
+
+ Immediate.
+
+
+
+
+ 1 week.
+
+
+
+
+ 1 month.
+
+
+
+
+ 840 MSRs.
+
+
+
+
+ DigitalInputLabels
+
+
+
+
+ Open / Close.
+
+
+
+
+ Close / Open.
+
+
+
+
+ On / Off.
+
+
+
+
+ Off / On.
+
+
+
+
+ High / Low.
+
+
+
+
+ Low / High.
+
+
+
+
+ Full / Empty.
+
+
+
+
+ Empty / Full.
+
+
+
+
+ Normal / Alarm.
+
+
+
+
+ Alarm / Normal.
+
+
+
+
+ CathodicProtectionType
+
+
+
+
+ Unknown.
+
+
+
+
+ Galvanic 2-Wire.
+
+
+
+
+ Galvanic 3-Wire.
+
+
+
+
+ Galvanic Coupon 3-Wire.
+
+
+
+
+ Galvanic Coupon 4-Wire.
+
+
+
+
+ Impressed 2-Wire.
+
+
+
+
+ Impressed 3-Wire.
+
+
+
+
+ Impressed Coupon 3-Wire.
+
+
+
+
+ Impressed Coupon 4-Wire.
+
+
+
+
+ CathodicProtectionReadingTarget
+
+
+
+
+ Primary Structure.
+
+
+
+
+ Secondary Structure.
+
+
+
+
+ Shunt/Bond Resistor.
+
+
+
+
+ CathodicProtectionReadingType
+
+
+
+
+ On-Potential (V).
+
+
+
+
+ Off-Potential (V).
+
+
+
+
+ Polarization (V).
+
+
+
+
+ Native Potential (V).
+
+
+
+
+ DC Current (A).
+
+
+
+
+ AC Voltage (V RMS).
+
+
+
+
+ CathodicProtectionInputSelection
+
+
+
+
+ VAtoD.
+
+
+
+
+ VBtoD.
+
+
+
+
+ VCtoD.
+
+
+
+
+ RectifierMonitorType
+
+
+
+
+ Unknown.
+
+
+
+
+ Bullhorn.
+
+
+
+
+ InterrupterRelayType
+
+
+
+
+ Solid State, Normally Closed.
+
+
+
+
+ Solid State, Normally Open.
+
+
+
+
+ Mercury Switch, Normally Closed.
+
+
+
+
+ Mercury Switch, Normally Open.
+
+
+
+
+ InfrastructureType
+
+
+
+
+ Unknown.
+
+
+
+
+ Water.
+
+
+
+
+ Gas.
+
+
+
+
+ Electric.
+
+
+
+
+ SetupDumpType
+
+
+
+
+ No Dump.
+
+
+
+
+ Deactivate.
+
+
+
+
+ Deactivate All Channels.
+
+
+
+
+ Activate.
+
+
+
+
+ Activate All Channels.
+
+
+
+
+ Swap.
+
+
+
+
+ NA2WClearAlarmsAllowedDeviceTypes
+
+
+
+
+ NA2W Water.
+
+
+
+
+ NA2W Gas.
+
+
+
+
+ Raw Metrology.
+
+
+
+
+ Battery Endpoint.
+
+
+
+
+ Cathodic Protection Metrology.
+
+
+
+
+ Mains Endpoint.
+
+
+
+
+ Rectifier Monitor.
+
+
+
+
+ ExtenedQuerySubType
+
+
+
+
+ TOU Seasons Configuration.
+
+
+
+
+ TOU Holiday Configuration.
+
+
+
+
+ TOU Day Schedule Configuration.
+
+
+
+
+ Interval Data Configuration.
+
+
+
+
+ TOU And Demand Configuration.
+
+
+
+
+ Self Read.
+
+
+
+
+ Factory Validate Configuration.
+
+
+
+
+ Demand Threshold Configuration.
+
+
+
+
+ Log Request.
+
+
+
+
+ Metrology Counters.
+
+
+
+
+ Raw Flash Read Data.
+
+
+
+
+ Raw LP Entry Read.
+
+
+
+
+ Peak Demand History.
+
+
+
+
+ Raw Energy Read.
+
+
+
+
+ Register Values.
+
+
+
+
+ HistoryType
+
+
+
+
+ Light Status.
+
+
+
+
+ Reading.
+
+
+
+
+ ExtendedPingQuerySubType
+
+
+
+
+ Meter Log Entries.
+
+
+
+
+ Read Remote Disconnect Switch.
+
+
+
+
+ Meter Security Status.
+
+
+
+
+ ExtendedSecuritySummarySubType
+
+
+
+
+ Read Full Certificate.
+
+
+
+
+ Read Cert Summary.
+
+
+
+
+ Cert Table Summary.
+
+
+
+
+ Read Security State.
+
+
+
+
+ Type1CertificateType
+
+
+
+
+ Endpoint Public Key Cert.
+
+
+
+
+ Sensus Root CA Cert.
+
+
+
+
+ Sensus Manufacturing CA Cert.
+
+
+
+
+ Sensus RNI CA Cert.
+
+
+
+
+ Sensus FW Sign CA Cert.
+
+
+
+
+ Sensus FW Sign CSC Cert.
+
+
+
+
+ Sensus Cust RNI CSC Cert.
+
+
+
+
+ Spare 0.
+
+
+
+
+ Spare 1.
+
+
+
+
+ Spare 2.
+
+
+
+
+ CpMetrologyInputs
+
+
+
+
+ No Input.
+
+
+
+
+ Input 1.
+
+
+
+
+ Input 2.
+
+
+
+
+ Input 3.
+
+
+
+
+ Input 4.
+
+
+
+
+ CpMetrologyTestRelayActions
+
+
+
+
+ Reset All Relays.
+
+
+
+
+ Set Relays.
+
+
+
+
+ Reset Relays.
+
+
+
+
+ Control Mux Inputs.
+
+
+
+
+ NA2WSmartAlarmConfigurationAuditVersion
+
+
+
+
+ Version 0.
+
+
+
+
+ Version 1.
+
+
+
+
+ iConACommunicationMode
+
+
+
+
+ No Change.
+
+
+
+
+ AMI.
+
+
+
+
+ Opt-Out.
+
+
+
+
+ On-Demand.
+
+
+
+
+ DailyTimeSyncStatus
+
+
+
+
+ Disabled.
+
+
+
+
+ Waiting.
+
+
+
+
+ Synced.
+
+
+
+
+ Missed 1.
+
+
+
+
+ Missed 2.
+
+
+
+
+ Missed 3.
+
+
+
+
+ Missed 4.
+
+
+
+
+ Failed.
+
+
+
+
+ InterruptorState
+
+
+
+
+ None.
+
+
+
+
+ Closed.
+
+
+
+
+ Opened.
+
+
+
+
+ BullhornBatteryType
+
+
+
+
+ Lead Acid.
+
+
+
+
+ WBDBMessageFormat
+
+
+
+
+ Legacy Format.
+
+
+
+
+ Gen 2 Format.
+
+
+
+
+ SensusRFKeyType
+
+
+
+
+ SmartPoint to Register Key.
+
+
+
+
+ SmartPoint to HHD Key.
+
+
+
+
+ Wireless M-Bus Key.
+
+
+
+
+ FlexNetNetwork
+
+
+
+
+ Licensed.
+
+
+
+
+ Unlicensed.
+
+
+
+
+ TFW.
+
+
+
+
+ FNV1SetupReceiverModulation
+
+
+
+
+ mPass2.
+
+
+
+
+ mPass.
+
+
+
+
+ m4Pass.
+
+
+
+
+ FNV1SetupReceiverChannel
+
+
+
+
+ RxA.
+
+
+
+
+ RxB.
+
+
+
+
+ FNV1SetupNormalModulation
+
+
+
+
+ 7FSK.
+
+
+
+
+ 13FSK.
+
+
+
+
+ 2SFSK_HB.
+
+
+
+
+ 2SFSK.
+
+
+
+
+ 4SFSK_HB.
+
+
+
+
+ 4SFSK.
+
+
+
+
+ 8SFSK.
+
+
+
+
+ 8SFSK_HB.
+
+
+
+
+ FNV1SetupSupervisoryFrameType
+
+
+
+
+ V1.
+
+
+
+
+ V2 Reading.
+
+
+
+
+ V2 Multiple Payload and Reading.
+
+
+
+
+ FNV1SetupToneResponseFrameType
+
+
+
+
+ V1.
+
+
+
+
+ V2 Reading.
+
+
+
+
+ V2 Multiple Payload and Reading.
+
+
+
+
+ FNV1SetupAsymmetricKeyState
+
+
+
+
+ Not Supported.
+
+
+
+
+ Asymmetric Ready.
+
+
+
+
+ Asymmetric Enabled.
+
+
+
+
+ ECDH Enabled.
+
+
+
+
+ FNV2SecurityType
+
+
+
+
+ SetSecretKey.
+
+
+
+
+ ECDH Ephemeral.
+
+
+
+
+ ECDH Nonce.
+
+
+
+
+ FNV2SecretKeyIndex
+
+
+
+
+ FNv1 Shared.
+
+
+
+
+ RNI Shared.
+
+
+
+
+ Endpoint Asymmetric Private.
+
+
+
+
+ FNV2ECDHKeyIndex
+
+
+
+
+ RNINegotiatedKey.
+
+
+
+
+ HHNegotiatedKey.
+
+
+
+
+ DataReportAdcSampleType
+
+
+
+
+ CW TX Current.
+
+
+
+
+ ChannelSetupWaterSetReading
+
+
+
+
+ WBDB Gen 2 Options.
+
+
+
+
+ Allow Set Reading.
+
+
+
+
+ TiltTamperSettings
+
+
+
+
+ Off.
+
+
+
+
+ Low.
+
+
+
+
+ Medium.
+
+
+
+
+ High.
+
+
+
+
+ WaterChannelSetupOption
+
+
+
+
+ Alternative Fields.
+
+
+
+
+ Set Meter Reading Value.
+
+
+
+
+ AC123_Version
+
+
+
+
+ Version 0.
+
+
+
+
+ Version 1.
+
+
+
+
+ Na2wFNv2SetupTransmitterModulation
+
+
+
+
+ 2SFSK_HB.
+
+
+
+
+ 4SFSK_HB.
+
+
+
+
+ 8SFSK_HB.
+
+
+
+
+ 2SFSK.
+
+
+
+
+ 4SFSK.
+
+
+
+
+ 8SFSK.
+
+
+
+
+ 2SFSK_EighthBaud.
+
+
+
+
+ MPass.
+
+
+
+
+ MPass2.
+
+
+
+
+ M4Pass.
+
+
+
+
+ CC193_AppCode
+
+
+
+
+ Binding.
+
+
+
+
+ Setup.
+
+
+
+
+ Water Gas Alarm.
+
+
+
+
+ FT9 Command Acknowledgment.
+
+
+
+
+ FT9 Command Rejection.
+
+
+
+
+ FT9 Channel Read.
+
+
+
+
+ FT9 Certificate Read.
+
+
+
+
+ FT9 Security Setup Audit.
+
+
+
+
+ FT9 Certificate Audit.
+
+
+
+
+ FT9 Channel Setup Audit.
+
+
+
+
+ FT9 Endpoint Setup Audit.
+
+
+
+
+ FT9 Loopback Response.
+
+
+
+
+ IConASSelfReadType
+
+
+
+
+ Current.
+
+
+
+
+ Tier Change.
+
+
+
+
+ Contract Hour.
+
+
+
+
+ Demand Reset.
+
+
+
+
+ Season Change.
+
+
+
+
+ SecuritySetupSubType
+
+
+
+
+ Set Secret Key.
+
+
+
+
+ ECDH v0, Ephemeral Keypair.
+
+
+
+
+ ECDH v1, NONCE-based Key Derivation.
+
+
+
+
+ Security Reset.
+
+
+
+
+ Security Configure.
+
+
+
+
+ CertificateIndex
+
+
+
+
+ EPP - Endpoint Public.
+
+
+
+
+ SRC - Sensus Root CA.
+
+
+
+
+ MCA - Mfg. CA.
+
+
+
+
+ RCA - RNI CA.
+
+
+
+
+ FCA - Firmware CA.
+
+
+
+
+ FSC - Firmware Command.
+
+
+
+
+ RSC - RNI/SCS Command.
+
+
+
+
+ HSC - Handheld Command.
+
+
+
+
+ CertificateType
+
+
+
+
+ Normal.
+
+
+
+
+ Sensus Compressed.
+
+
+
+
+ CertificateAuditType
+
+
+
+
+ SingleCertificateDetails.
+
+
+
+
+ AllCertificatesSummary.
+
+
+
+
+ FT9GasEncoderDigits
+
+
+
+
+ Unknown.
+
+
+
+
+ 9 digits.
+
+
+
+
+ 3 digits.
+
+
+
+
+ 4 digits.
+
+
+
+
+ 5 digits.
+
+
+
+
+ 6 digits.
+
+
+
+
+ 7 digits.
+
+
+
+
+ 8 digits.
+
+
+
+
+ FT9GasCompressionMode
+
+
+
+
+ Standard.
+
+
+
+
+ Enhanced.
+
+
+
+
+ FT9RMCompressionMode
+
+
+
+
+ Unbiased Compression.
+
+
+
+
+ FT9TimeSinceReadScale
+
+
+
+
+ 12sec.
+
+
+
+
+ 20sec.
+
+
+
+
+ 1min.
+
+
+
+
+ 2min.
+
+
+
+
+ 5min.
+
+
+
+
+ 15min.
+
+
+
+
+ 1hr.
+
+
+
+
+ 2hr.
+
+
+
+
+ 4hr.
+
+
+
+
+ 6hr.
+
+
+
+
+ 12hr.
+
+
+
+
+ 24hr.
+
+
+
+
+ Time Since Read Scale Resvd0.
+
+
+
+
+ Time Since Read Scale Resvd1.
+
+
+
+
+ Time Since Read Scale Resvd2.
+
+
+
+
+ Time Since Read Scale Resvd3.
+
+
+
+
+ FT9CmdRejReasonType
+
+
+
+
+ Framing Error.
+
+
+
+
+ Payload Error.
+
+
+
+
+ Command Error.
+
+
+
+
+ Security Result.
+
+
+
+
+ FT9CmdRejFramingErrorReason
+
+
+
+
+ Invalid Flags.
+
+
+
+
+ Extended Header Parsing Failure.
+
+
+
+
+ PWN Parsing Failure.
+
+
+
+
+ Invalid Fragmentation CRC.
+
+
+
+
+ Invalid Fragmentation Number.
+
+
+
+
+ FT9CmdRejPayloadErrorReason
+
+
+
+
+ Unsupported Channel.
+
+
+
+
+ Command Code Not Supported.
+
+
+
+
+ Decryption Failure.
+
+
+
+
+ Invalid Signature.
+
+
+
+
+ Invalid Proxy.
+
+
+
+
+ ImageValidationType
+
+
+
+
+ File CRC.
+
+
+
+
+ Signing Key ID.
+
+
+
+
+ App Code
+
+
+
+
+ Testing Message.
+
+
+
+
+ Meter Setup/Configuration.
+
+
+
+
+ Unused.
+
+
+
+
+ iCon UI1203 Meter Read With Compressed History [Legacy].
+
+
+
+
+ Electric Alarm.
+
+
+
+
+ Serial Number/Position Binding Message.
+
+
+
+
+ GPS Mapping.
+
+
+
+
+ Ack.
+
+
+
+
+ Buddy.
+
+
+
+
+ Setup/Configuration.
+
+
+
+
+ Water/Gas Meter Read With History.
+
+
+
+
+ Alarm.
+
+
+
+
+ iCon UI1203 Meter Read With Compressed History.
+
+
+
+
+ C&I Meter Read w/History.
+
+
+
+
+ C&I Tier Data.
+
+
+
+
+ C&I Alarm.
+
+
+
+
+ Extended Setup.
+
+
+
+
+ High Resolution Meter Read With History.
+
+
+
+
+ HHD Install.
+
+
+
+
+ Meter Read With History.
+
+
+
+
+ Firmware Image Check Response.
+
+
+
+
+ Demand History Message with Reading.
+
+
+
+
+ Gas Setup/Configuration.
+
+
+
+
+ IConA Single Parameter Meter Read.
+
+
+
+
+ IConA Dual Parameter Meter Read.
+
+
+
+
+ IConA Single Parameter Meter Read w/Demand.
+
+
+
+
+ IConA Dual Parameter Meter Read w/Demand.
+
+
+
+
+ IConA Alarm.
+
+
+
+
+ IConA Advanced Alarm.
+
+
+
+
+ IConA Demand History.
+
+
+
+
+ Group Address.
+
+
+
+
+ Generic Ping Response.
+
+
+
+
+ C&I High Res Read with History Data.
+
+
+
+
+ ZigBee Pass-through.
+
+
+
+
+ NA2W WB/DB Read.
+
+
+
+
+ Serial Number Message.
+
+
+
+
+ NA2W Meters Found.
+
+
+
+
+ NA2W EP Setup Audit.
+
+
+
+
+ NA2W Install Audit.
+
+
+
+
+ NA2W Channel Setup Audit.
+
+
+
+
+ NA2W EP Capabilities.
+
+
+
+
+ NA2W Interval Data Page.
+
+
+
+
+ NA2W Firmware Image Check Response.
+
+
+
+
+ EP Statistics.
+
+
+
+
+ FlexIP Message.
+
+
+
+
+ Smart Meter Alarm.
+
+
+
+
+ NA2W Channel Setup 2 Audit.
+
+
+
+
+ NA2W Binding/Configuration.
+
+
+
+
+ HAN Response.
+
+
+
+
+ Device Status.
+
+
+
+
+ NA2W Device Operation Result.
+
+
+
+
+ AS Extended Query Response.
+
+
+
+
+ NA2W Attribute String.
+
+
+
+
+ NA2W Data Report.
+
+
+
+
+ Tunneled Register Response.
+
+
+
+
+ UI1236 Response.
+
+
+
+
+ NA2W Smart Alarm Configuration Audit.
+
+
+
+
+ NA2W Meter Information.
+
+
+
+
+ NA2W Fixed Base Configuration.
+
+
+
+
+ NA2W Read with History.
+
+
+
+
+ Meter Event Log Response Header.
+
+
+
+
+ FT9 Command Acknowledgment.
+
+
+
+
+ FT9 Command Rejection.
+
+
+
+
+ FT9 Channel Read.
+
+
+
+
+ FT9 Certificate Read.
+
+
+
+
+ FT9 Tunneled Response.
+
+
+
+
+ FT9 Alarm Config Audit.
+
+
+
+
+ FT9 Dev Op Result.
+
+
+
+
+ FT9 Security Setup Audit.
+
+
+
+
+ FT9 Certificate Audit.
+
+
+
+
+ FT9 Channel Setup Audit.
+
+
+
+
+ FT9 Endpoint Setup Audit.
+
+
+
+
+ FT9 Loopback Message.
+
+
+
+
+ Firmware Sub Commands
+
+
+
+
+ Electric Load Start.
+
+
+
+
+ Electric Check Image.
+
+
+
+
+ Electric Check Image And Load Flash.
+
+
+
+
+ Electric Load Flash.
+
+
+
+
+ NA2W Load Start.
+
+
+
+
+ NA2W Check Image.
+
+
+
+
+ NA2W Flash Device.
+
+
+
+
+ NA2W Segment Descriptor.
+
+
+
+
+ NA2W Flash Device Version 2.
+
+
+
+
+ Cancel.
+
+
+
+
+ Reset.
+
+
+
+
+ Command Code
+
+
+
+
+ Ack Command.
+
+
+
+
+ Static Setup.
+
+
+
+
+ FlexNet V2 Setup.
+
+
+
+
+ Set TCXO Correction.
+
+
+
+
+ Set Lat & Long.
+
+
+
+
+ Set Voltage Quality Settings.
+
+
+
+
+ Set Epoch Time.
+
+
+
+
+ Load Shed.
+
+
+
+
+ FNv2 Unsigned Load Shed.
+
+
+
+
+ Demand Read/Drive-by Read.
+
+
+
+
+ Ping.
+
+
+
+
+ Set Customer ID.
+
+
+
+
+ Set Customer Serial Number.
+
+
+
+
+ Demand Reset.
+
+
+
+
+ Set Group Address.
+
+
+
+
+ Delay Supervisory Transmissions.
+
+
+
+
+ Firmware.
+
+
+
+
+ Firmware Block Load.
+
+
+
+
+ Reset FlexNet Module.
+
+
+
+
+ Set Group Address Vector.
+
+
+
+
+ Set Electric Meter History Resolution.
+
+
+
+
+ Clear iConA Warnings & Errors.
+
+
+
+
+ ZigBee Command.
+
+
+
+
+ Set AES Encryption Key.
+
+
+
+
+ Suspend AES Encryption.
+
+
+
+
+ Configure Group Command Options.
+
+
+
+
+ Gang ACK.
+
+
+
+
+ WB/DB Silencing ACK.
+
+
+
+
+ NA2W Install Initiation.
+
+
+
+
+ Encapsulated Serial Cmd.
+
+
+
+
+ Multi TX With LAT.
+
+
+
+
+ Bind Meter.
+
+
+
+
+ NA2W EP Setup.
+
+
+
+
+ NA2W Channel Setup.
+
+
+
+
+ NA2W Activate.
+
+
+
+
+ NA2W EP Setup 2.
+
+
+
+
+ NA2W Switch Top Level State.
+
+
+
+
+ NA2W Channel Setup 2.
+
+
+
+
+ NA2W Device Operation Request.
+
+
+
+
+ IHD Command.
+
+
+
+
+ NA2W Set Attribute String.
+
+
+
+
+ FlexIP Command.
+
+
+
+
+ IP Configuration.
+
+
+
+
+ Tunneled Register Command.
+
+
+
+
+ Set SensusRF Encryption Key.
+
+
+
+
+ UI1236 Command.
+
+
+
+
+ NA2W Smart Alarm Configuration.
+
+
+
+
+ NA2W Smart Alarm Clear.
+
+
+
+
+ Set iConA Communication Mode.
+
+
+
+
+ Message Acknowledgement.
+
+
+
+
+ Unlicensed FlexNet Beacon.
+
+
+
+
+ NA2W FNV2 Setup.
+
+
+
+
+ FT9 Message Acknowledgment.
+
+
+
+
+ FT9 Message Request.
+
+
+
+
+ FT9 FW Download Command.
+
+
+
+
+ FT9 Security Setup.
+
+
+
+
+ FT9 Certificate Revoke.
+
+
+
+
+ FT9 Tunneled Command.
+
+
+
+
+ FT9 Alarm Config.
+
+
+
+
+ FT9 Dev Op Request.
+
+
+
+
+ FT9 Certificate Write.
+
+
+
+
+ FT9 Channel Setup.
+
+
+
+
+ FT9 EP Setup.
+
+
+
+
+ FT9 Loopback Command.
+
+
+
+
+ Serial Command Code
+
+
+
+
+ Status Request (Serial).
+
+
+
+
+ Set Device FlexNet ID (Serial).
+
+
+
+
+ Static Setup (Serial).
+
+
+
+
+ Static Setup Adv (Serial).
+
+
+
+
+ Set TCXO Correction (Serial).
+
+
+
+
+ Set Lat & Long (Serial).
+
+
+
+
+ Set ADC & Temp. Cal. - Legacy (Serial).
+
+
+
+
+ Set Encryption Key (Serial).
+
+
+
+
+ Set RealTime Clock (Serial).
+
+
+
+
+ Ping (Serial).
+
+
+
+
+ Set Customer Serial Number (Serial).
+
+
+
+
+ Set Customer ID (Serial).
+
+
+
+
+ Water Pulse Setup (Serial).
+
+
+
+
+ Water Status (Serial).
+
+
+
+
+ Gas Status (Serial).
+
+
+
+
+ Water Setup (Serial).
+
+
+
+
+ Gas Non-Pulse Setup (Serial).
+
+
+
+
+ Handheld Water Meter Install (Serial).
+
+
+
+
+ Set Meter Reading (Serial).
+
+
+
+
+ Handheld Gas Meter Install (Serial).
+
+
+
+
+ Handheld Electric Meter Install (Serial).
+
+
+
+
+ Activation (Serial).
+
+
+
+
+ Set Factory Option (Serial).
+
+
+
+
+ Gas Meter Configuration (Serial).
+
+
+
+
+ Reset FlexNet Module (Serial).
+
+
+
+
+ TGB RF Transmitter Test (Serial).
+
+
+
+
+ Firmware [Electric Load Start] (Serial).
+
+
+
+
+ Firmware [Electric Check Image] (Serial).
+
+
+
+
+ Firmware [Electric Load Flash] (Serial).
+
+
+
+
+ Firmware Block Load (Serial).
+
+
+
+
+ Firmware Block Load Extended (Serial).
+
+
+
+
+ iConA Test Command.
+
+
+
+
+ Clear Tilt Alarms.
+
+
+
+
+ Clear iConA Warnings & Errors (Serial).
+
+
+
+
+ Set FMT Mode.
+
+
+
+
+ Set Lock Status.
+
+
+
+
+ Set Unique AES Key.
+
+
+
+
+ Clear Last Time Sync Time.
+
+
+
+
+ Get FMT Mode.
+
+
+
+
+ Device Operation Request (Serial).
+
+
+
+
+ Test Command.
+
+
+
+
+ Test SubCommand Code
+
+
+
+
+ Sleep (Test Cmd).
+
+
+
+
+ CW Test (Test Cmd).
+
+
+
+
+ Set FlexNet ID (Test Cmd).
+
+
+
+
+ FCC Test (Test Cmd).
+
+
+
+
+ Voltage & Temp Request (Test Cmd).
+
+
+
+
+ Voltage & Temp Cal Set (Test Cmd).
+
+
+
+
+ MPFF Settings (Test Cmd).
+
+
+
+
+ Factory Setup Complete (Test Cmd).
+
+
+
+
+ Device Specific Test (Test Cmd).
+
+
+
+
+ Set TCXO Correction (Test Cmd).
+
+
+
+
+ Component Test (Test Cmd).
+
+
+
+
+ Set RF Channels (Test Cmd).
+
+
+
+
+ Factory Setup Complete With Actions (Test Cmd).
+
+
+
+
+ NVMEM Objects Command (Test Cmd).
+
+
+
+
+ Encapsulated UI-1236 Command (Test Cmd).
+
+
+
+
+ 32K Crystal Test (Test Cmd).
+
+
+
+
+ Sensus RF PAM Pass-Through (Test Cmd).
+
+
+
+
+ RF Test (Test Cmd).
+
+
+
+
+ TFx Test (Test Cmd).
+
+
+
+
+ Product Specific Test (Test Cmd).
+
+
+
+
+ EP Statistics when Page is P1
+
+
+
+
+ eTXCTRLSTRUCT_UNDERRUN.
+
+
+
+
+ eRXCTRLSTRUCT_UNDERRUN.
+
+
+
+
+ eNORMALMODE_TRANSMIT.
+
+
+
+
+ e5KMPASSMODE_TRANSMIT.
+
+
+
+
+ e10KMPASSMODE_TRANSMIT.
+
+
+
+
+ eCIMODE_TRANSMIT.
+
+
+
+
+ eBOOSTMODE_TRANSMIT.
+
+
+
+
+ eDDEXTMODE_TRANSMIT.
+
+
+
+
+ eDDSHORTMODE_TRANSMIT.
+
+
+
+
+ eRXDATASTRUCT_UNDERRUN.
+
+
+
+
+ eINVALID_ADDRESSING_MODE.
+
+
+
+
+ eBADIV_TIMER0B0.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ EP Statistics when Page is P2
+
+
+
+
+ eBADIV_TIMER0B1.
+
+
+
+
+ eBADIV_TIMER1A1.
+
+
+
+
+ eBADIV_RTC.
+
+
+
+
+ eBADIV_PORT1.
+
+
+
+
+ eBADIV_USCIB3.
+
+
+
+
+ eBADIV_USCIA3.
+
+
+
+
+ eBADIV_USCIB2.
+
+
+
+
+ eBADIV_USCIA2.
+
+
+
+
+ eBADIV_USCIB1.
+
+
+
+
+ eBADIV_ADC12.
+
+
+
+
+ eBADIV_WDT.
+
+
+
+
+ eBADIV_UNMI.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ EP Statistics when Page is P3
+
+
+
+
+ eBADIV_SYSNMI.
+
+
+
+
+ eRESET.
+
+
+
+
+ eWBDB_TONE_DETECTED.
+
+
+
+
+ eWBDB_TONE_NOT_DETECTED.
+
+
+
+
+ eWBDB_ACKS_RCVD.
+
+
+
+
+ eTASK_REGISTRATION_FAILED.
+
+
+
+
+ eELAT_GANGACKS_RCVD.
+
+
+
+
+ eTX_SYNTH_LOCK.
+
+
+
+
+ eTX_SYNTH_LOCK_FAIL.
+
+
+
+
+ eTX_SYNTH_LOCK_BYPASS.
+
+
+
+
+ eTX_NORMAL_MODE.
+
+
+
+
+ eRX_SYNTH_LOCK.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ EP Statistics when Page is P4
+
+
+
+
+ eRX_SYNTH_LOCK_FAIL.
+
+
+
+
+ eGET_TXCTRLSTRUCT.
+
+
+
+
+ eRETURN_TXCTRLSTRUCT.
+
+
+
+
+ eGET_RXCTRLSTRUCT.
+
+
+
+
+ eRETURN_RXCTRLSTRUCT.
+
+
+
+
+ eGET_TTRSTRUCT.
+
+
+
+
+ eRETURN_TTRSTRUCT.
+
+
+
+
+ eGET_PTCB.
+
+
+
+
+ eRETURN_PTCB.
+
+
+
+
+ eGET_RXDATASTRUCT.
+
+
+
+
+ eRETURN_RXDATASTRUCT.
+
+
+
+
+ eGET_MTRCTRLSTRUCT.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ EP Statistics when Page is P5
+
+
+
+
+ eRETURN_MTRCTRLSTRUCT.
+
+
+
+
+ ePTCB_UNDERRUN.
+
+
+
+
+ eMTRCTRLSTRUCT_UNDERRUN.
+
+
+
+
+ eTX_LOW_BATTERY_ALARM.
+
+
+
+
+ eTX_LOW_VOLTAGE_ABORT.
+
+
+
+
+ eBLDRMOD_LOAD_START_NEW.
+
+
+
+
+ eBLDRMOD_SWITCH_FLASH.
+
+
+
+
+ eELAT_MATCHING_GANGACKS_RCVD.
+
+
+
+
+ eBADIV_DMA.
+
+
+
+
+ eTTRSTRUCT_UNDERRUN.
+
+
+
+
+ eVALVE_OPERATIONS.
+
+
+
+
+ eMoMCOMM_ENTERED_LOCK.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ EP Statistics when Page is P6
+
+
+
+
+ eMoMCOMM_FELL_OUT_OF_LOCK.
+
+
+
+
+ eMETER_BIDI_WARRANTY.
+
+
+
+
+ eALARMS_SUPPRESSED.
+
+
+
+
+ eMoMCOMM_MISSES.
+
+
+
+
+ eMoMCOMM_HITS.
+
+
+
+
+ eMoMCOMM_SWITCH_TLS_CMDS_RECVD.
+
+
+
+
+ eMETER_BAD_READS.
+
+
+
+
+ eMETER_GOOD_READS.
+
+
+
+
+ eMETER_MULTI_CHANNEL.
+
+
+
+
+ eMETER_BIDI_COMMS_TESTS.
+
+
+
+
+ eWBDB_PARTIAL_PLUS_FULL_TONE_DETECTED.
+
+
+
+
+ eRX_TOO_EARLY_ABORT.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ EP Statistics when Page is P7
+
+
+
+
+ eRECEIVER_ON_TIME.
+
+
+
+
+ eWBDBSNIFFS.
+
+
+
+
+ eTRANSMITTER_ON_TIME.
+
+
+
+
+ e3WIRE_METER_ON_TIME.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ EP Statistics when Page is P8
+
+
+
+
+ e2WIRE_METER_ON_TIME.
+
+
+
+
+ eBLDRMOD_LOAD_BLOCK.
+
+
+
+
+ eVALVE_MOTOR_ON_TIME.
+
+
+
+
+ eMoMCOMM_MINUTES_IN_LOCK.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ EP Statistics when Page is P9
+
+
+
+
+ eBATTERY_RECHARGE_WAIT.
+
+
+
+
+ eBALLAST_ON_TIME.
+
+
+
+
+ eTIME_ALIVE.
+
+
+
+
+ eEPOCH_TIME.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ EP Statistics when Page is P10
+
+
+
+
+ eTILT_VIBRATION_EVENTS.
+
+
+
+
+ eTILT_NUISANCE_LIMIT_REACHED.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ EP Statistics when Page is P100
+
+
+
+
+ eMETER_RETRY_READS.
+
+
+
+
+ eTWO_SECOND_MISMATCH_SAVE.
+
+
+
+
+ eOVERFLOW_IGNORE_SAVE.
+
+
+
+
+ eNULL_EXECUTING_TASK_PTR.
+
+
+
+
+ eMETER_BIDI_CMD_SUCCESS.
+
+
+
+
+ eMETER_BIDI_CMD_RETRY.
+
+
+
+
+ eMETER_BIDI_CMD_FAIL_INITIAL_TIMEOUT.
+
+
+
+
+ eMETER_BIDI_CMD_FAIL_RESPONSE_TIMEOUT.
+
+
+
+
+ eMETER_BIDI_CMD_FAIL_PARSING_ERROR.
+
+
+
+
+ eMETER_BIDI_CMD_FAIL_RESOURCES.
+
+
+
+
+ eBLDRMOD_FW_UPGRADE_SP.
+
+
+
+
+ eBLDRMOD_FW_UPGRADE_ER.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ EP Statistics when Page is P101
+
+
+
+
+ eNORMALMODE_TRANSMIT.
+
+
+
+
+ e5KMPASSMODE_TRANSMIT.
+
+
+
+
+ e10KMPASSMODE_TRANSMIT.
+
+
+
+
+ eCIMODE_TRANSMIT.
+
+
+
+
+ eBOOSTMODE_TRANSMIT.
+
+
+
+
+ eDDEXTMODE_TRANSMIT.
+
+
+
+
+ eDDSHORTMODE_TRANSMIT.
+
+
+
+
+ eASK_LOOP_STUCK.
+
+
+
+
+ eDRY_POOL_FORCED_RESET.
+
+
+
+
+ eTASK_UNREGISTRATION_FAILED.
+
+
+
+
+ eMETER_SWAPS.
+
+
+
+
+ eCUTWIRE_PASS3_10X.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ EP Statistics when Page is P102
+
+
+
+
+ eCUTWIRE_FAIL3_10X.
+
+
+
+
+ eCUTWIRE_PASS2_FAIL1_10X.
+
+
+
+
+ eCUTWIRE_PASS1_FAIL2_10X.
+
+
+
+
+ eCUTWIRE_NON_PERIODIC_READ.
+
+
+
+
+ eTILT_PERIODIC_INVALID_10X.
+
+
+
+
+ eTILT_PERIODIC_PASS_10X.
+
+
+
+
+ eTILT_PERIODIC_FAIL_10X.
+
+
+
+
+ eTILT_EVENT_INVALID_10X.
+
+
+
+
+ eTILT_EVENT_PASS_10X.
+
+
+
+
+ eTILT_EVENT_FAIL_10X.
+
+
+
+
+ eTILT_ON_DEMAND_READ.
+
+
+
+
+ eTILT_PERIODIC_RETRY.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ EP Statistics when Page is P103
+
+
+
+
+ eTILT_EVENT_RETRY.
+
+
+
+
+ eTILT_EVENT_IND_INVALID_10X.
+
+
+
+
+ eTILT_EVENT_IND_PASS_10X.
+
+
+
+
+ eTILT_EVENT_IND_FAIL_10X.
+
+
+
+
+ eTILT_ACCEL_HW_FAILURE.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Extended Setup
+
+
+
+
+ Preferred Buddy Address.
+
+
+
+
+ Primary Group Address.
+
+
+
+
+ Alarm Temperature.
+
+
+
+
+ Extended Resolution.
+
+
+
+
+ Metrology FW Revision.
+
+
+
+
+ Metrology FW Patch.
+
+
+
+
+ Metrology FW Minor.
+
+
+
+
+ Metrology FW Major.
+
+
+
+
+ FlexNet FW Revision.
+
+
+
+
+ FlexNet FW Patch.
+
+
+
+
+ History Resolution (Icon ONLY).
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Firmware Block Load
+
+
+
+
+ Device Type.
+
+
+
+
+ Block Number.
+
+
+
+
+ Data.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Firmware Image Check Response
+
+
+
+
+ Number of Bad Blocks.
+
+
+
+
+ Missing Block 1.
+
+
+
+
+ Missing Block 2.
+
+
+
+
+ Missing Block 3.
+
+
+
+
+ Missing Block 4.
+
+
+
+
+ Missing Block 5.
+
+
+
+
+ Missing Block 6.
+
+
+
+
+ Missing Block 7.
+
+
+
+
+ Missing Block 8.
+
+
+
+
+ Missing Block 9.
+
+
+
+
+ Missing Block 10.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Firmware [Electric Check Image]
+
+
+
+
+ Device Type.
+
+
+
+
+ Number Of Blocks.
+
+
+
+
+ File CRC.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Firmware [Electric Check Image And Load Flash]
+
+
+
+
+ Device Type.
+
+
+
+
+ Number Of Blocks.
+
+
+
+
+ File CRC.
+
+
+
+
+ CBCMAC-128.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Firmware [Electric Load Start]
+
+
+
+
+ Device Type.
+
+
+
+
+ Do Not Send ACK For Load Block Msgs.
+
+
+
+
+ Do Not Send ACK For Load Start Msg.
+
+
+
+
+ Do Not Send End ACK For Ld Flash Msg.
+
+
+
+
+ File CRC.
+
+
+
+
+ File Size.
+
+
+
+
+ Compatibility.
+
+
+
+
+ Major Revision.
+
+
+
+
+ Minor Revision.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Firmware [NA2W Check Image]
+
+
+
+
+ Device Type.
+
+
+
+
+ Number Of Blocks.
+
+
+
+
+ File CRC.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Firmware [NA2W Flash Device]
+
+
+
+
+ Device Type.
+
+
+
+
+ Number Of Segments.
+
+
+
+
+ Time To Switch.
+
+
+
+
+ Seg 1 (24-bit) Address.
+
+
+
+
+ Seg 1 (16-bit) Num Blocks.
+
+
+
+
+ Seg 2 (24-bit) Address.
+
+
+
+
+ Seg 2 (16-bit) Num Blocks.
+
+
+
+
+ Seg 3 (24-bit) Address.
+
+
+
+
+ Seg 3 (16-bit) Num Blocks.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Firmware [NA2W Load Start]
+
+
+
+
+ Device Type.
+
+
+
+
+ Do Not Send ACK For Ld Start Msg.
+
+
+
+
+ Do Not Send End ACK For Ld Flash Msg.
+
+
+
+
+ Load Start Type.
+
+
+
+
+ Check Image Type [Image Complete].
+
+
+
+
+ Check Image Type [Image Incomplete].
+
+
+
+
+ Image Validation Type.
+ Initial value is ImageValidationType.FileCRC.
+
+
+
+
+ File CRC.
+
+
+
+
+ File Size.
+
+
+
+
+ Compatibility.
+
+
+
+
+ FW Beta.
+
+
+
+
+ FW Major Revision.
+
+
+
+
+ FW Minor Revision.
+
+
+
+
+ FW Patch Revision.
+
+
+
+
+ Receive Blocks Over ASK.
+
+
+
+
+ Start Time.
+
+
+
+
+ Load Block Rate.
+
+
+
+
+ Number Image Repeats.
+
+
+
+
+ Firmware [NA2W Load Start] when Image Validation Type is FileCRC
+
+
+
+
+ File CRC.
+
+
+
+
+ Firmware [NA2W Load Start] when Image Validation Type is SigningKeyID
+
+
+
+
+ Signing Key ID.
+
+
+
+
+ Firmware [NA2W Segment Descriptor]
+
+
+
+
+ Number Of Segments.
+
+
+
+
+ Seg. Desc. Type.
+
+
+
+
+ Segment R/W.
+
+
+
+
+ Seg 1 (24-bit) Address.
+
+
+
+
+ Seg 1 (16-bit) Num Blocks.
+
+
+
+
+ Seg 2 (24-bit) Address.
+
+
+
+
+ Seg 2 (16-bit) Num Blocks.
+
+
+
+
+ Seg 3 (24-bit) Address.
+
+
+
+
+ Seg 3 (16-bit) Num Blocks.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FlexIP Command
+
+
+
+
+ Use Compression?.
+ Compression?.
+
+
+
+
+ LL.
+ LL (Length Location).
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FlexIP Command when LL is Short
+
+
+
+
+ Packet Length.
+
+
+
+
+ IPv6 Datagram.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FlexIP Command when LL is Medium
+
+
+
+
+ Packet Length.
+
+
+
+
+ IPv6 Datagram.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FlexIP Message
+
+
+
+
+ Use Compression?.
+ Compression?.
+
+
+
+
+ LL.
+ LL (Length Location).
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FlexIP Message when LL is LengthInPayload
+
+
+
+
+ IPv6 Datagram.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ FlexIP Message when LL is Short
+
+
+
+
+ Packet Length.
+
+
+
+
+ IPv6 Datagram.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Gang ACK
+
+
+
+
+ Epoch Time.
+ Seconds since Jan 1, 2000..
+
+
+
+
+ DST Active.
+
+
+
+
+ Timeslot ID.
+
+
+
+
+ Number Of FlexNet IDs.
+
+
+
+
+ Next Time To Listen.
+
+
+
+
+ FlexNet IDs List.
+ Comma- or space-separated list of FlexNet IDs.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Gas Setup/Configuration
+
+
+
+
+ Device Minor Version.
+
+
+
+
+ Device Major Version.
+
+
+
+
+ Device Beta Release Bit.
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Gas Setup/Configuration when Device Type is FlexNetGas
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate (STR).
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Transmit Channel A.
+
+
+
+
+ Transmit Channel B.
+
+
+
+
+ Transmit Channel C.
+
+
+
+
+ Transmit Channel D.
+
+
+
+
+ Receiver Channel A.
+
+
+
+
+ Boost Channel.
+
+
+
+
+ Boost Subchannel.
+
+
+
+
+ Boost Hopping.
+
+
+
+
+ Transmit Channel Mask.
+
+
+
+
+ Tx OpMode.
+
+
+
+
+ Rx OpMode.
+
+
+
+
+ Enable Encryption.
+
+
+
+
+ Real Time Clock.
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Meter Type.
+
+
+
+
+ Encoder Digits.
+
+
+
+
+ Meter Units.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ History Scale.
+
+
+
+
+ Index Drive.
+
+
+
+
+ Index Scale.
+
+
+
+
+ Lock State.
+
+
+
+
+ Compensation Factor [integer].
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Gas Setup/Configuration when Device Type is NA2WGas
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Index Drive [2 MSB].
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Normal Channel (TxA).
+
+
+
+
+ Tx Channel B.
+
+
+
+
+ FNV2 Available.
+
+
+
+
+ FNV2 Multiple Payload Frame Available.
+
+
+
+
+ Tx Modulation 8SFSK Available.
+
+
+
+
+ Rx Modulation m4Pass Available.
+
+
+
+
+ Asymmetric Key State.
+
+
+
+
+ Receiver Channel.
+
+
+
+
+ Receiver Modulation.
+
+
+
+
+ Supervisory Frame Type.
+
+
+
+
+ Tone Response Frame Type.
+
+
+
+
+ C&I Channel (TxD).
+
+
+
+
+ mPass Channel (5 kbps, RxA).
+
+
+
+
+ mPass2 Channel (10 kbps, RxB).
+
+
+
+
+ Boost Channel.
+
+
+
+
+ Boost Subchannel.
+
+
+
+
+ Boost Hopping.
+
+
+
+
+ Transmit Channel Mask.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Meter Type.
+
+
+
+
+ Encoder Digits.
+
+
+
+
+ Lock State.
+
+
+
+
+ Meter Units.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ History Scale.
+
+
+
+
+ Radio Model.
+
+
+
+
+ Index Drive [8 LSB].
+
+
+
+
+ Compensation Factor [integer].
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Gas Setup/Configuration when Device Type is LibertyGas
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Index Drive [2 MSB].
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Normal Channel (TxA).
+
+
+
+
+ Tx Channel B.
+
+
+
+
+ Tx Channel C.
+
+
+
+
+ C&I Channel (TxD).
+
+
+
+
+ mPass Channel (5 kbps, RxA).
+
+
+
+
+ mPass2 Channel (10 kbps, RxB).
+
+
+
+
+ Boost Channel.
+
+
+
+
+ Boost Subchannel.
+
+
+
+
+ Boost Hopping.
+
+
+
+
+ Transmit Channel Mask.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Meter Type.
+
+
+
+
+ Encoder Digits.
+
+
+
+
+ Lock State.
+
+
+
+
+ Meter Units.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ History Scale.
+
+
+
+
+ Radio Model.
+
+
+
+
+ Index Drive [8 LSB].
+
+
+
+
+ Compensation Factor [integer].
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Generic Ping Response
+
+
+
+
+ Ping Response Sub-Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Generic Ping Response when Ping Response Sub-Type is IConMeterFormAndVoltage
+
+
+
+
+ Meter Form.
+
+
+
+
+ Voltage (/10).
+
+
+
+
+ Class Amps (/10).
+
+
+
+
+ Metrology FW Revision.
+
+
+
+
+ Metrology FW Patch.
+
+
+
+
+ Metrology FW Minor.
+
+
+
+
+ Metrology FW Major.
+
+
+
+
+ FlexNet FW Revision.
+
+
+
+
+ FlexNet FW Patch.
+
+
+
+
+ FlexNet FW Minor.
+
+
+
+
+ FlexNet FW Major.
+
+
+
+
+ FlexNet FW Beta.
+
+
+
+
+ FlexNet Extended FW Revision.
+
+
+
+
+ FlexNet Extended FW Patch.
+
+
+
+
+ FlexNet Extended FW Minor.
+
+
+
+
+ FlexNet Extended FW Major.
+
+
+
+
+ FlexNet Extended FW Beta.
+
+
+
+
+ Bootflasher FW Revision.
+
+
+
+
+ Bootflasher FW Patch.
+
+
+
+
+ Bootflasher FW Minor.
+
+
+
+
+ Bootflasher FW Major.
+
+
+
+
+ Cap Voltage.
+
+
+
+
+ Local Interface 1 Device Type.
+
+
+
+
+ Local Interface 1 FW Revision.
+
+
+
+
+ Local Interface 1 FW Patch.
+
+
+
+
+ Local Interface 1 FW Minor.
+
+
+
+
+ Local Interface 1 FW Major.
+
+
+
+
+ Local Interface 2 Device Type.
+
+
+
+
+ Local Interface 2 FW Revision.
+
+
+
+
+ Local Interface 2 FW Patch.
+
+
+
+
+ Local Interface 2 FW Minor.
+
+
+
+
+ Local Interface 2 FW Major.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Generic Ping Response when Ping Response Sub-Type is DemandEnableStatusIntervalConfiguration
+
+
+
+
+ Demand Enabled.
+
+
+
+
+ Main Interval.
+
+
+
+
+ Sub Interval.
+
+
+
+
+ Demand Source.
+
+
+
+
+ Demand Forgiveness.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Generic Ping Response when Ping Response Sub-Type is AdvancedVoltageQualitySettings
+
+
+
+
+ Brownout Voltage Threshold.
+
+
+
+
+ High Voltage Threshold.
+
+
+
+
+ Enable Low/High Voltage.
+
+
+
+
+ Enable Over Rated Current.
+
+
+
+
+ Enable Reverse Power .
+
+
+
+
+ Sync Voltage Average Window.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Generic Ping Response when Ping Response Sub-Type is AESKeyBinding
+
+
+
+
+ Allow On-Air Unique Key Rotation.
+
+
+
+
+ New Key Binding Message Format.
+
+
+
+
+ Verify CBC-MAC for Mag Loop Set Unique Key.
+
+
+
+
+ Key Half Received.
+
+
+
+
+ AES Strength.
+
+
+
+
+ Unique Key Set.
+
+
+
+
+ CRC32 [Shared Key].
+
+
+
+
+ CRC32 [HAN].
+
+
+
+
+ CRC16 [Primary Group].
+
+
+
+
+ CRC16 [Secondary Group 1].
+
+
+
+
+ CRC16 [Secondary Group 2].
+
+
+
+
+ CRC16 [Secondary Group 3].
+
+
+
+
+ CRC16 [Secondary Group 4].
+
+
+
+
+ CBC64.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Generic Ping Response when Ping Response Sub-Type is AESLastCommandInfo
+
+
+
+
+ Current Endpoint Time (UTC).
+
+
+
+
+ Last Command Code.
+
+
+
+
+ Last Command Flags.
+
+
+
+
+ Last Command Address mode.
+
+
+
+
+ Security State.
+
+
+
+
+ Had Time Sync for Last command.
+
+
+
+
+ Last Command Encrypted.
+
+
+
+
+ Last Command CBC-MAC Passes.
+
+
+
+
+ Initialization Vector.
+
+
+
+
+ Seconds Since Last Command (2 second resolution).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Generic Ping Response when Ping Response Sub-Type is NA2WSchedule
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ GenericPingResponse_NA2WSchedule when Device Type is NA2WMLC
+
+
+
+
+ Page.
+
+
+
+
+ Entry 1.
+
+
+
+
+ Entry 2.
+
+
+
+
+ Entry 3.
+
+
+
+
+ Entry 4.
+
+
+
+
+ Entry 5.
+
+
+
+
+ Entry 6.
+
+
+
+
+ Entry 7.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ GenericPingResponse_NA2WSchedule when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Start Time.
+
+
+
+
+ Numer of Cycles.
+
+
+
+
+ Trigger Threshold (mV).
+
+
+
+
+ Trigger Hold-off (ms).
+
+
+
+
+ Period (s).
+
+
+
+
+ Response Window (min).
+
+
+
+
+ Operational Identifier.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ GenericPingResponse_NA2WSchedule when Device Type is RectifierMonitor
+
+
+
+
+ Start Time.
+
+
+
+
+ Numer of Cycles.
+
+
+
+
+ Interrupter Off Time.
+
+
+
+
+ Interrupter On Time.
+
+
+
+
+ Response Window (min).
+
+
+
+
+ Operational Identifier.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Generic Ping Response when Ping Response Sub-Type is NA2WCalibration
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ GenericPingResponse_NA2WCalibration when Device Type is NA2WMLC
+
+
+
+
+ Battery ADC Slope.
+
+
+
+
+ Battery ADC Offset.
+
+
+
+
+ Temperature ADC Offset.
+
+
+
+
+ TXCO Offset.
+
+
+
+
+ Battery ADC Value.
+
+
+
+
+ Battery Voltage (V).
+
+
+
+
+ Temperature (C).
+
+
+
+
+ AC Voltage ADC Value.
+
+
+
+
+ AC Current ADC Value.
+
+
+
+
+ AC Voltage (V).
+
+
+
+
+ AC Current (mA).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ GenericPingResponse_NA2WCalibration when Device Type is NA2WWater
+
+
+
+
+ Battery ADC Slope.
+
+
+
+
+ Battery ADC Offset.
+
+
+
+
+ Temperature ADC Offset.
+
+
+
+
+ PA Power Level.
+
+
+
+
+ PA Disabled Power Level.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ GenericPingResponse_NA2WCalibration when Device Type is NA2WGas
+
+
+
+
+ Battery ADC Slope.
+
+
+
+
+ Battery ADC Offset.
+
+
+
+
+ Temperature ADC Offset.
+
+
+
+
+ PA Power Level.
+
+
+
+
+ TCXO Offset.
+
+
+
+
+ Battery ADC Value.
+
+
+
+
+ Battery Voltage.
+
+
+
+
+ Temperature.
+
+
+
+
+ Peripheral ADC Value.
+
+
+
+
+ GPIO 1.
+
+
+
+
+ GPIO 2.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ GenericPingResponse_NA2WCalibration when Device Type is NA2W3PortRemoteGas
+
+
+
+
+ Battery ADC Slope.
+
+
+
+
+ Battery ADC Offset.
+
+
+
+
+ Temperature ADC Offset.
+
+
+
+
+ PA Power Level.
+
+
+
+
+ TCXO Offset.
+
+
+
+
+ Battery ADC Value.
+
+
+
+
+ Battery Voltage.
+
+
+
+
+ Temperature.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ GenericPingResponse_NA2WCalibration when Device Type is RawMetrology
+
+
+
+
+ Metrology Type.
+
+
+
+
+ Battery ADC Calibration Slope.
+
+
+
+
+ Battery ADC Calibration Offset.
+
+
+
+
+ Temperature Calibration.
+
+
+
+
+ ADS1220 Offset Calibration.
+
+
+
+
+ ADS1220 Gain Calibration.
+
+
+
+
+ Raw ADC Reading.
+
+
+
+
+ Sensor Reading.
+
+
+
+
+ Reading Failed.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ GenericPingResponse_NA2WCalibration when Device Type is BatteryEndpoint
+
+
+
+
+ Battery ADC Slope.
+
+
+
+
+ Battery ADC Offset.
+
+
+
+
+ Temperature ADC Offset.
+
+
+
+
+ Digital Input A State.
+
+
+
+
+ Digital Input B State.
+
+
+
+
+ Raw Battery ADC Value.
+
+
+
+
+ Battery Voltage.
+
+
+
+
+ Product Temperature (deg C).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ GenericPingResponse_NA2WCalibration when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Battery ADC Slope.
+
+
+
+
+ Battery ADC Offset.
+
+
+
+
+ Temperature ADC Offset.
+
+
+
+
+ PA Power Level.
+
+
+
+
+ CP Calibration Slope.
+
+
+
+
+ CP Calibration Offset.
+
+
+
+
+ Raw Measurement.
+
+
+
+
+ Measurement.
+
+
+
+
+ Metrology Configuration Sequence Number.
+
+
+
+
+ Input Selection.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ GenericPingResponse_NA2WCalibration when Device Type is MainsEndpoint
+
+
+
+
+ Board ADC Slope.
+
+
+
+
+ Board ADC Offset.
+
+
+
+
+ Temperature ADC Offset.
+
+
+
+
+ Digital Input A State.
+
+
+
+
+ Digital Input B State.
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ PA Power Level.
+
+
+
+
+ Raw Vac Value.
+
+
+
+
+ Vac Reading (cV).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ GenericPingResponse_NA2WCalibration when Device Type is RectifierMonitor
+
+
+
+
+ Rectifier Monitor Type.
+
+
+
+
+ Raw Idc Value.
+
+
+
+
+ Idc Reading (mA).
+
+
+
+
+ Metrology Configuration Sequence Number.
+
+
+
+
+ Raw Vdc Value.
+
+
+
+
+ Vdc Reading (mV).
+
+
+
+
+ Raw Shunt Resister Value.
+
+
+
+
+ Backup Battery Voltage.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Generic Ping Response when Ping Response Sub-Type is RequestBoardIDInfo
+
+
+
+
+ Board ID Format Version.
+
+
+
+
+ Board Type.
+
+
+
+
+ EEPROM Phy Type.
+
+
+
+
+ Flash Phy Type.
+
+
+
+
+ RF Phy Type.
+
+
+
+
+ RF Freq Band.
+
+
+
+
+ TCXO Freq.
+
+
+
+
+ UART Phy Type.
+
+
+
+
+ HF Xtal Speed.
+
+
+
+
+ RF IC Part num/rev.
+
+
+
+
+ Ext Flash Manufacturer ID.
+
+
+
+
+ Ext Flash Device ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Generic Ping Response when Ping Response Sub-Type is UniversalFWVersion
+
+
+
+
+ Image 0 Device Type.
+
+
+
+
+ Image 0 FW Version.
+
+
+
+
+ Image 1 Device Type.
+
+
+
+
+ Image 1 FW Version.
+
+
+
+
+ Image 2 Device Type.
+
+
+
+
+ Image 2 FW Version.
+
+
+
+
+ Image 3 Device Type.
+
+
+
+
+ Image 3 FW Version.
+
+
+
+
+ Image 4 Device Type.
+
+
+
+
+ Image 4 FW Version.
+
+
+
+
+ Image 5 Device Type.
+
+
+
+
+ Image 5 FW Version.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ GPS Mapping
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Group Address
+
+
+
+
+ Group Address 1 Active.
+
+
+
+
+ Group Address 2 Active.
+
+
+
+
+ Group Address 3 Active.
+
+
+
+
+ Group Address 4 Active.
+
+
+
+
+ Group Address 5 Active.
+
+
+
+
+ Group Address 6 Active.
+
+
+
+
+ Group Address 7 Active.
+
+
+
+
+ Group Address 8 Active.
+
+
+
+
+ Block Number.
+
+
+
+
+ Group Address 1 (32 Bit).
+
+
+
+
+ Group Address 2 (32 Bit).
+
+
+
+
+ Group Address 3 (32 Bit).
+
+
+
+
+ Group Address 4 (32 Bit).
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ HAN Response
+
+
+
+
+ HAN Response Length.
+
+
+
+
+ Response ID.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ HAN Response when Response ID is PriceTierPing
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ HAN Response when Response ID is PriceFormatPing
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ HAN Response when Response ID is DeviceListPing
+
+
+
+
+ Number of Packets.
+
+
+
+
+ Packet Number.
+
+
+
+
+ FlexNet ID 1.
+
+
+
+
+ Device Type 1.
+
+
+
+
+ Device Type 1 RAW.
+
+
+
+
+ Pricing Type 1.
+
+
+
+
+ FlexNet ID 2.
+
+
+
+
+ Device Type 2.
+
+
+
+
+ Device Type 2 RAW.
+
+
+
+
+ Pricing Type 2.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ HHD Install
+
+
+
+
+ Programmer ID.
+
+
+
+
+ Customer Serial Number.
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ HHD Install when Device Type is FlexNetWater
+
+
+
+
+ Reading.
+
+
+
+
+ Tx OpMode.
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate (STR).
+
+
+
+
+ Meter Type.
+
+
+
+
+ Encoder Digits.
+
+
+
+
+ Radio Model.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ HHD Install when Device Type is FlexNetGas
+
+
+
+
+ Reading.
+
+
+
+
+ Tx OpMode.
+
+
+
+
+ EP Program Status.
+
+
+
+
+ Lock State.
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate (STR).
+
+
+
+
+ Meter Type.
+
+
+
+
+ Encoder Digits.
+
+
+
+
+ Meter Units.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ History Scale.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ HHD Install when Device Type is NA2WWater
+
+
+
+
+ Reading.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Is Reading Valid.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Meter Type.
+
+
+
+
+ Number Of Encoder Digits.
+
+
+
+
+ Radio Model.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ HHD Install when Device Type is NA2WGas
+
+
+
+
+ Reading.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Lock State.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Meter Type.
+
+
+
+
+ Number Of Encoder Digits.
+
+
+
+
+ Radio Model.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ HHD Install when Device Type is NA2WGSV
+
+
+
+
+ Reading.
+
+
+
+
+ Expected Valve Position.
+
+
+
+
+ Actual Valve Position.
+
+
+
+
+ Last Valve Change Reason.
+
+
+
+
+ Is Pressure Reading Valid.
+
+
+
+
+ Pressure Scale Factor.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Is Reading Valid.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Shutoff Type.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ HHD Install when Device Type is NA2WMLC
+
+
+
+
+ Reading.
+
+
+
+
+ Tx OpMode.
+
+
+
+
+ Dim Control Found.
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate.
+
+
+
+
+ Is Reading Valid.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ HHD Install when Device Type is NA2W3PortRemoteGas
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Lock State.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Port 1 Reading Digits.
+
+
+
+
+ Port 1 Reading Valid.
+
+
+
+
+ Port 2 Reading Digits.
+
+
+
+
+ Port 2 Reading Valid.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ HHD Install when Device Type is LibertyGas
+
+
+
+
+ Reading.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Lock State.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Meter Type.
+
+
+
+
+ Number Of Encoder Digits.
+
+
+
+
+ Radio Model.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ HHD Install when Device Type is RawMetrology
+
+
+
+
+ Reading.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Is Reading Valid.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Extended Meter Sample Rate (EMSR).
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ HHD Install when Device Type is BatteryEndpoint
+
+
+
+
+ Reading.
+
+
+
+
+ Digital Input A State.
+
+
+
+
+ Digital Input B State.
+
+
+
+
+ Battery Type.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Is Reading Valid.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ HHD Install when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Reading A.
+
+
+
+
+ Metrology Configuration Sequence Number.
+
+
+
+
+ Cathodic Protection Type.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ Meter Sample Rate.
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Is Reading A Valid.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ HHD Install when Device Type is MainsEndpoint
+
+
+
+
+ Voltage Average (cVrms).
+
+
+
+
+ Voltage Maximum (2Vrms).
+
+
+
+
+ Voltage Minimum (2Vrms).
+
+
+
+
+ Digital Input A State.
+
+
+
+
+ Digital Input B State.
+
+
+
+
+ Tx OpMode.
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate.
+
+
+
+
+ Reading Valid.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ HHD Install when Device Type is RectifierMonitor
+
+
+
+
+ Idc Reading (mA).
+
+
+
+
+ Vdc Reading (mV).
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Reading Valid.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ Rectifier Monitor Type.
+
+
+
+
+ Metrology Configuration Sequence Number.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ IConA Advanced Alarm
+
+
+
+
+ IConA Warnings.
+
+
+
+
+ Meter Parameter.
+
+
+
+
+ Net Format.
+
+
+
+
+ Demand Type.
+
+
+
+
+ Phase C Current Voltage.
+
+
+
+
+ Phase A Current Voltage.
+
+
+
+
+ Phase C Current Amps.
+
+
+
+
+ Phase A Current Amps.
+
+
+
+
+ Line Frequency.
+
+
+
+
+ E1 Reading.
+
+
+
+
+ Demand Reset Counter LSB.
+
+
+
+
+ E2 Reading.
+
+
+
+
+ Demand Reset Counter MSB.
+
+
+
+
+ Peak Demand.
+
+
+
+
+ Device Temperature.
+
+
+
+
+ Time Since Event.
+
+
+
+
+ Epoch Time Of Last Power Fail.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ IConA Alarm
+
+
+
+
+ IConA Errors.
+
+
+
+
+ Meter Parameter.
+
+
+
+
+ Net Format.
+
+
+
+
+ Reverse Energy Alarm.
+
+
+
+
+ Hot Socket Alarm.
+
+
+
+
+ Over Class Amps Alarm.
+
+
+
+
+ High Voltage Alarm.
+
+
+
+
+ Phase C Min Voltage.
+
+
+
+
+ Phase C Max Voltage.
+
+
+
+
+ Phase C Current Voltage.
+
+
+
+
+ Phase A Min Voltage.
+
+
+
+
+ Phase A Max Voltage.
+
+
+
+
+ Phase A CurrentVoltage.
+
+
+
+
+ Current E1 Reading.
+
+
+
+
+ Current E2 Reading.
+
+
+
+
+ FlexNet Processor Resets Lo.
+
+
+
+
+ FlexNet Processor Resets Hi.
+
+
+
+
+ Click Count.
+
+
+
+
+ Lock Errors.
+
+
+
+
+ Device Temperature.
+
+
+
+
+ Time Since Event.
+
+
+
+
+ Epoch Time Of Last Power Fail.
+
+
+
+
+ Metro Temperature.
+
+
+
+
+ Metro Processor Failure.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ IConA Demand History
+
+
+
+
+ Meter Parameter.
+
+
+
+
+ Net Format.
+
+
+
+
+ Demand Type.
+
+
+
+
+ E1 Meter Reading at Demand Reset.
+
+
+
+
+ E2 Meter Reading at Demand Reset.
+
+
+
+
+ Total Peak Demand at Demand Reset.
+
+
+
+
+ Epoch Time of Peak Demand.
+
+
+
+
+ Epoch Time of Demand Reset.
+
+
+
+
+ Total Cumulative Demand.
+
+
+
+
+ Demand Reset Count.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ IConA Dual Parameter Meter Read
+
+
+
+
+ Relative Time Stamp.
+
+
+
+
+ Delta Data Type.
+
+
+
+
+ Meter Parameter.
+
+
+
+
+ Net Format.
+
+
+
+
+ Reverse Power Flag.
+
+
+
+
+ Over Class Amps Flag.
+
+
+
+
+ iCon Hard Error Present.
+
+
+
+
+ 12S Phase Single Phase Failed.
+
+
+
+
+ Click Count.
+
+
+
+
+ Phase C Min Voltage.
+
+
+
+
+ Phase C Max Voltage.
+
+
+
+
+ Phase C Average Voltage.
+
+
+
+
+ E1 Last Reading.
+
+
+
+
+ Compression Type.
+
+
+
+
+ E2 Last Reading.
+
+
+
+
+ History Scale.
+
+
+
+
+ History Samples.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ IConA Dual Parameter Meter Read w/Demand
+
+
+
+
+ Relative Time Stamp.
+
+
+
+
+ Delta Data Type.
+
+
+
+
+ Meter Parameter.
+
+
+
+
+ Net Format.
+
+
+
+
+ Reverse Power Flag.
+
+
+
+
+ Over Class Amps Flag.
+
+
+
+
+ iCon Hard Error Present.
+
+
+
+
+ 12S Phase Single Phase Failed.
+
+
+
+
+ Click Count.
+
+
+
+
+ Phase C Min Voltage.
+
+
+
+
+ Phase C Max Voltage.
+
+
+
+
+ Phase C Average Voltage.
+
+
+
+
+ Peak Demand.
+
+
+
+
+ E1 Last Reading.
+
+
+
+
+ Compression Type.
+
+
+
+
+ E2 Last Reading.
+
+
+
+
+ History Scale.
+
+
+
+
+ History Samples.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ IConA Single Parameter Meter Read
+
+
+
+
+ Relative Time Stamp.
+
+
+
+
+ Delta Data Type.
+
+
+
+
+ Meter Parameter.
+
+
+
+
+ Net Format.
+
+
+
+
+ Reverse Power Flag.
+
+
+
+
+ Over Class Amps Flag.
+
+
+
+
+ iCon Hard Error Present.
+
+
+
+
+ Overvoltage Flag.
+
+
+
+
+ Click Count.
+
+
+
+
+ Phase C Min Voltage.
+
+
+
+
+ Phase C Max Voltage.
+
+
+
+
+ Phase C Average Voltage.
+
+
+
+
+ E1 Last Reading.
+
+
+
+
+ Compression Type.
+
+
+
+
+ History Scale.
+
+
+
+
+ History Samples.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ IConA Single Parameter Meter Read w/Demand
+
+
+
+
+ Relative Time Stamp.
+
+
+
+
+ Delta Data Type.
+
+
+
+
+ Meter Parameter.
+
+
+
+
+ Net Format.
+
+
+
+
+ Demand Type.
+
+
+
+
+ Reverse Power Flag.
+
+
+
+
+ Over Class Amps Flag.
+
+
+
+
+ iCon Hard Error Present.
+
+
+
+
+ 12S Phase Single Phase Failed.
+
+
+
+
+ Click Count.
+
+
+
+
+ Phase C Min Voltage.
+
+
+
+
+ Phase C Max Voltage.
+
+
+
+
+ Phase C Average Voltage.
+
+
+
+
+ Peak Demand.
+
+
+
+
+ E1 Last Reading.
+
+
+
+
+ Compression Type.
+
+
+
+
+ History Scale.
+
+
+
+
+ History Samples.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ iCon UI1203 Meter Read With Compressed History
+
+
+
+
+ Relative Time Stamp.
+
+
+
+
+ Delta Data Type.
+
+
+
+
+ Compression Enabled.
+
+
+
+
+ Current Meter Reading.
+
+
+
+
+ Minimum Voltage.
+
+
+
+
+ Maximum Voltage.
+
+
+
+
+ Average Voltage.
+
+
+
+
+ Click Count.
+
+
+
+
+ History Data.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ iCon UI1203 Meter Read With Compressed History [Legacy]
+
+
+
+
+ Relative Time Stamp.
+
+
+
+
+ Delta Data Type.
+
+
+
+
+ Compression Enabled.
+
+
+
+
+ Current Meter Reading.
+
+
+
+
+ Minimum Voltage.
+
+
+
+
+ Maximum Voltage.
+
+
+
+
+ Average Voltage.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ IHD Command
+
+
+
+
+ IHD Command Length.
+
+
+
+
+ Packet ID.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ IHD Command when Packet ID is Composition
+
+
+
+
+ FlexNet ID 1.
+
+
+
+
+ Device Type 1.
+
+
+
+
+ Device Type 1 RAW.
+
+
+
+
+ FlexNet ID 2.
+
+
+
+
+ Device Type 2.
+
+
+
+
+ Device Type 2 RAW.
+
+
+
+
+ FlexNet ID 3.
+
+
+
+
+ Device Type 3.
+
+
+
+
+ Device Type 3 RAW.
+
+
+
+
+ Fragment Number.
+
+
+
+
+ Total Fragments.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ IHD Command when Packet ID is Consumption
+
+
+
+
+ Instantaneous Usage (W).
+
+
+
+
+ Units.
+
+
+
+
+ Cumulative Reading (Wh).
+
+
+
+
+ Current TOU Bin.
+
+
+
+
+ Cumulative TOU Bin Reading (kWh).
+
+
+
+
+ Epoch Time Correct?.
+
+
+
+
+ DST Active?.
+
+
+
+
+ Cumulative TOU Bin ID.
+
+
+
+
+ Epoch Time.
+
+
+
+
+ Time Zone Correction.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ IHD Command when Packet ID is Display
+
+
+
+
+ Message ID.
+
+
+
+
+ Message Control.
+
+
+
+
+ Start Time.
+
+
+
+
+ Duration (minutes).
+
+
+
+
+ Message.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ IHD Command when Packet ID is PriceFormatting
+
+
+
+
+ Provider ID.
+
+
+
+
+ Unit of Measure.
+
+
+
+
+ Currency.
+
+
+
+
+ Trailing Digit.
+
+
+
+
+ Number of Tiers.
+
+
+
+
+ Pricing Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ IHD Command when Packet ID is PriceTierInformation
+
+
+
+
+ Price Tier.
+
+
+
+
+ Price.
+
+
+
+
+ Register Tier.
+
+
+
+
+ Rate Label.
+
+
+
+
+ Pricing Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ IHD Command when Packet ID is BindPriceFormattingToDeviceID
+
+
+
+
+ Device ID.
+
+
+
+
+ Pricing Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ IHD Command when Packet ID is PriceTierPing
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ IHD Command when Packet ID is PriceFormatPing
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ IHD Command when Packet ID is DeviceListPing
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Load Shed
+
+
+
+
+ Load ID 1.
+
+
+
+
+ Load Command 1.
+
+
+
+
+ Load ID 2.
+
+
+
+
+ Load Command 2.
+
+
+
+
+ Load ID 3.
+
+
+
+
+ Load Command 3.
+
+
+
+
+ Signature.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Meter Read With History
+
+
+
+
+ Relative Time Stamp.
+
+
+
+
+ History Scale.
+
+
+
+
+ Delta Data Type.
+
+
+
+
+ Compression Mode.
+
+
+
+
+ Is Critical Reading?.
+
+
+
+
+ Reading.
+
+
+
+
+ Number Encoder Digits Water.
+
+
+
+
+ Number Encoder Digits Gas.
+
+
+
+
+ History Samples.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Meter Setup/Configuration
+
+
+
+
+ Firmware Minor Version.
+
+
+
+
+ Firmware Major Version.
+
+
+
+
+ Firmware Beta Release Bit.
+
+
+
+
+ Device Type.
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate.
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Tx Channel A.
+
+
+
+
+ Tx Channel B.
+
+
+
+
+ Tx Channel C.
+
+
+
+
+ Priority Channel.
+
+
+
+
+ Receiver Channel.
+
+
+
+
+ C&I Channel.
+
+
+
+
+ Transmit Channel Mask.
+
+
+
+
+ Tx OpMode.
+
+
+
+
+ Rx OpMode.
+
+
+
+
+ Encryption Enabled.
+
+
+
+
+ Seconds Since Top Of Hour.
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ AD Calibration.
+
+
+
+
+ Minimum Click Duration.
+
+
+
+
+ Time Zone.
+
+
+
+
+ Voltage Averaging Window.
+
+
+
+
+ Outage Time Threshold.
+
+
+
+
+ Restored Time Threshold.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Multi TX With LAT
+
+
+
+
+ Multi-TX Count.
+
+
+
+
+ Delay Between Tx (sec).
+
+
+
+
+ Dither Multi-Tx.
+
+
+
+
+ Override LAT.
+
+
+
+
+ Override LAT Mode.
+
+
+
+
+ LAT Transmission Source.
+
+
+
+
+ App Code To Transmit.
+ Initial value is 0x0b.
+
+
+
+
+ Tx Mode.
+
+
+
+
+ PA On.
+
+
+
+
+ Data.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Activate
+
+
+
+
+ Activate/Deactivate.
+
+
+
+
+ Activate Changed.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Top Level State Changed.
+
+
+
+
+ RTC Seconds.
+ Seconds since top-of-hour..
+
+
+
+
+ RTC Hour.
+
+
+
+
+ Epoch Time.
+ Seconds since Jan 1, 2000..
+
+
+
+
+ DST Active.
+
+
+
+
+ Time Changed.
+
+
+
+
+ Tx OpMode [Idle].
+
+
+
+
+ Tx OpMode Changed [Idle].
+
+
+
+
+ Tx OpMode [WB/DB].
+
+
+
+
+ Tx OpMode Changed [WB/DB].
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode Changed [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ Tx OpMode Changed [FB MoM].
+
+
+
+
+ Encryption Enabled [Idle].
+
+
+
+
+ Encryption Changed [Idle].
+
+
+
+
+ Encryption Enabled [WB/DB].
+
+
+
+
+ Encryption Changed [WB/DB].
+
+
+
+
+ Encryption Enabled [FB LAT].
+
+
+
+
+ Encryption Changed [FB LAT].
+
+
+
+
+ Encryption Enabled [FB MoM].
+
+
+
+
+ Encryption Changed [FB MoM].
+
+
+
+
+ NA2W Configuration Ping Repeat.
+
+
+
+
+ Setup Dump.
+
+
+
+
+ IIT Threshold [FB LAT] (Days).
+
+
+
+
+ IIT Threshold [FB MoM] (Minutes).
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Attribute String when Device Type is NA2WWater
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Attribute String.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Metrology Config Sequence Number.
+
+
+
+
+ Available Attribute Strings Bitmask.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Attribute String when Device Type is NA2WGas
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Attribute String.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Metrology Config Sequence Number.
+
+
+
+
+ Available Attribute Strings Bitmask.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Attribute String when Device Type is NA2WMLC
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Attribute String.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Metrology Config Sequence Number.
+
+
+
+
+ Available Attribute Strings Bitmask.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Attribute String when Device Type is RawMetrology
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Attribute String.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Metrology Config Sequence Number.
+
+
+
+
+ Available Attribute Strings Bitmask.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Attribute String when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Attribute String.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Metrology Config Sequence Number.
+
+
+
+
+ Available Attribute Strings Bitmask.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Attribute String when Device Type is RectifierMonitor
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Attribute String.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Metrology Config Sequence Number.
+
+
+
+
+ Available Attribute Strings Bitmask.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Binding/Configuration
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Binding/Configuration when Device Type is NA2WMLC
+
+
+
+
+ NA2W Product Type.
+
+
+
+
+ Status Flags.
+
+
+
+
+ Metrology Config Sequence Number.
+
+
+
+
+ Latitude (signed).
+
+
+
+
+ Longitude (signed).
+
+
+
+
+ Pole ID.
+
+
+
+
+ Tenant ID.
+
+
+
+
+ Product Version.
+
+
+
+
+ Product Version: Beta.
+
+
+
+
+ Product Version: Major.
+
+
+
+
+ Product Version: Minor.
+
+
+
+
+ Product Version: Patch.
+
+
+
+
+ Device Type Version.
+
+
+
+
+ Device Type Version: Beta.
+
+
+
+
+ Device Type Version: Major.
+
+
+
+
+ Device Type Version: Minor.
+
+
+
+
+ Device Type Version: Patch.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Binding/Configuration when Device Type is WirelessWaterRegister
+
+
+
+
+ NA2W Product Type.
+
+
+
+
+ Bound SmartPoint FlexNet ID.
+
+
+
+
+ Register Address.
+
+
+
+
+ Product Version.
+
+
+
+
+ Product Version: Beta.
+
+
+
+
+ Product Version: Major.
+
+
+
+
+ Product Version: Minor.
+
+
+
+
+ Product Version: Patch.
+
+
+
+
+ Device Type Version.
+
+
+
+
+ Device Type Version: Beta.
+
+
+
+
+ Device Type Version: Major.
+
+
+
+
+ Device Type Version: Minor.
+
+
+
+
+ Device Type Version: Patch.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Binding/Configuration when Device Type is RawMetrology
+
+
+
+
+ Message Reason.
+
+
+
+
+ Latitude (signed floating point).
+
+
+
+
+ Longitude (signed floating point).
+
+
+
+
+ Altitude (signed integer).
+
+
+
+
+ Meter Serial Number.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Binding/Configuration when Device Type is BatteryEndpoint
+
+
+
+
+ Message Reason.
+
+
+
+
+ Latitude (signed floating point).
+
+
+
+
+ Longitude (signed floating point).
+
+
+
+
+ Altitude (signed integer).
+
+
+
+
+ Meter Serial Number.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ Digital Input A State.
+
+
+
+
+ Digital Input B State.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Binding/Configuration when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Message Reason.
+
+
+
+
+ Latitude (signed floating point).
+
+
+
+
+ Longitude (signed floating point).
+
+
+
+
+ Altitude (signed integer).
+
+
+
+
+ Meter Serial Number.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ Native Potential (mV).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Binding/Configuration when Device Type is MainsEndpoint
+
+
+
+
+ Message Reason.
+
+
+
+
+ Latitude (signed floating point).
+
+
+
+
+ Longitude (signed floating point).
+
+
+
+
+ Altitude (signed integer).
+
+
+
+
+ Meter Serial Number.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ Digital Input A State.
+
+
+
+
+ Digital Input B State.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Binding/Configuration when Device Type is RectifierMonitor
+
+
+
+
+ Message Reason.
+
+
+
+
+ Latitude (signed floating point).
+
+
+
+
+ Longitude (signed floating point).
+
+
+
+
+ Altitude (signed integer).
+
+
+
+
+ Meter Serial Number.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ Interruptor State.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WChannelSetup_NA2WWater when Water Channel Setup Option is AlternativeFields
+
+
+
+
+ Use SmartMeter Gen2 WBDB Reading Message (1.6+).
+
+
+
+
+ SmartMeter Gen2 WBDB Reading Message Changed (1.6+).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WChannelSetup_NA2WWater when Water Channel Setup Option is SetMeterReadingValue
+
+
+
+
+ Meter Reading Value.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup when Device Type is RawMetrology
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Meter Sample Rate (MSR) Changed.
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Supervisory Transmit Rate [FB LAT] Changed.
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Supervisory Transmit Rate [FB MoM] Changed.
+
+
+
+
+ History Encoding.
+
+
+
+
+ History Encoding Changed.
+
+
+
+
+ History Scale.
+
+
+
+
+ History Scale Changed.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ Infrastructure Type and ID Changed.
+
+
+
+
+ Metrology Configuration Sequence Number.
+
+
+
+
+ Metrology Configuration Sequence Number Changed.
+
+
+
+
+ Sensor Settling Delay.
+
+
+
+
+ Sensor Settling Delay Changed.
+
+
+
+
+ Sensor Power Off Delay.
+
+
+
+
+ Sensor Power Off Delay Changed.
+
+
+
+
+ Sensor Samples Per Measurement.
+
+
+
+
+ Sensor Samples Per Measurement Changed.
+
+
+
+
+ Sensor Time Between Samples.
+
+
+
+
+ Sensor Time Between Samples Changed.
+
+
+
+
+ Active.
+
+
+
+
+ Active Changed.
+
+
+
+
+ Setup Dump.
+
+
+
+
+ Field Features.
+
+
+
+
+ Field Features Change Operation.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup when Device Type is BatteryEndpoint
+
+
+
+
+ Utility Code.
+
+
+
+
+ Utility Code Changed.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Top Level State Changed.
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Meter Sample Rate (MSR) Changed.
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Supervisory Transmit Rate [FB LAT] Changed.
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Supervisory Transmit Rate [FB MoM] Changed.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB LAT] Changed.
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ Tx OpMode [FB MoM] Changed.
+
+
+
+
+ Battery Type.
+
+
+
+
+ Battery Type Changed.
+
+
+
+
+ Active.
+
+
+
+
+ Active Changed.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ Infrastructure Type and ID Changed.
+
+
+
+
+ Digital Input A Enabled.
+
+
+
+
+ Digital Input A Enabled Changed.
+
+
+
+
+ Digital Input A Alarm Trigger.
+
+
+
+
+ Digital Input A Alarm Trigger Changed.
+
+
+
+
+ Digital Input A Alarm Start Hysteresis.
+
+
+
+
+ Digital Input A Alarm Start Hysteresis Changed.
+
+
+
+
+ Digital Input A Alarm Stop Hysteresis.
+
+
+
+
+ Digital Input A Alarm Stop Hysteresis Changed.
+
+
+
+
+ Digital Input A Labels.
+
+
+
+
+ Digital Input A Labels Changed.
+
+
+
+
+ Digital Input B Enabled.
+
+
+
+
+ Digital Input B Enabled Changed.
+
+
+
+
+ Digital Input B Alarm Trigger.
+
+
+
+
+ Digital Input B Alarm Trigger Changed.
+
+
+
+
+ Digital Input B Alarm Start Hysteresis.
+
+
+
+
+ Digital Input B Alarm Start Hysteresis Changed.
+
+
+
+
+ Digital Input B Alarm Stop Hysteresis.
+
+
+
+
+ Digital Input B Alarm Stop Hysteresis Changed.
+
+
+
+
+ Digital Input B Labels.
+
+
+
+
+ Digital Input B Labels Changed.
+
+
+
+
+ Digital Input Alarm Persistence.
+
+
+
+
+ Digital Input Alarm Persistence Changed.
+
+
+
+
+ Setup Dump.
+
+
+
+
+ Setup Dump All Channels.
+
+
+
+
+ Reset Battery Usage.
+
+
+
+
+ Field Features.
+
+
+
+
+ Field Features Change Operation.
+
+
+
+
+ Setup Dump Count.
+
+
+
+
+ Setup Dump Count Changed.
+
+
+
+
+ Setup Dump Delay (sec).
+
+
+
+
+ Setup Dump Delay Changed.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID and Type Changed.
+
+
+
+
+ CP Type.
+
+
+
+
+ CP Type Changed.
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Meter Sample Rate (MSR) Changed.
+
+
+
+
+ Active.
+
+
+
+
+ Active Changed.
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Supervisory Transmit Rate [FB LAT] Changed.
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Supervisory Transmit Rate [FB MoM] Changed.
+
+
+
+
+ Reference Cell Offset (mV).
+
+
+
+
+ Reference Cell Offset Changed.
+
+
+
+
+ Native Potential (mV).
+
+
+
+
+ Native Potential Changed.
+
+
+
+
+ Vb2d Read Relay Open Time (10ms).
+
+
+
+
+ Vb2d Read Relay Open Time Changed.
+
+
+
+
+ Vb2d Read Delay Time (10ms).
+
+
+
+
+ Vb2d Read Delay Time Changed.
+
+
+
+
+ History Encoding.
+
+
+
+
+ History Encoding Changed.
+
+
+
+
+ History Scale.
+
+
+
+
+ History Scaling Changed.
+
+
+
+
+ Setup Dump.
+
+
+
+
+ Field Features Change Operation.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup when Device Type is MainsEndpoint
+
+
+
+
+ Utility Code.
+
+
+
+
+ Utility Code Changed.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Top Level State Changed.
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Meter Sample Rate (MSR) Changed.
+
+
+
+
+ Active.
+
+
+
+
+ Active Changed.
+
+
+
+
+ Supervisory Transmit Rate.
+
+
+
+
+ Supervisory Transmit Rate Changed.
+
+
+
+
+ Tx OpMode.
+
+
+
+
+ Tx OpMode Changed.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ Infrastructure Type and ID Changed.
+
+
+
+
+ Digital Input A Enabled.
+
+
+
+
+ Digital Input A Enabled Changed.
+
+
+
+
+ Digital Input A Alarm Trigger.
+
+
+
+
+ Digital Input A Alarm Trigger Changed.
+
+
+
+
+ Digital Input A Alarm Start Hysteresis.
+
+
+
+
+ Digital Input A Alarm Start Hysteresis Changed.
+
+
+
+
+ Digital Input A Alarm Stop Hysteresis.
+
+
+
+
+ Digital Input A Alarm Stop Hysteresis Changed.
+
+
+
+
+ Digital Input B Enabled.
+
+
+
+
+ Digital Input B Enabled Changed.
+
+
+
+
+ Digital Input B Alarm Trigger.
+
+
+
+
+ Digital Input B Alarm Trigger Changed.
+
+
+
+
+ Digital Input B Alarm Start Hysteresis.
+
+
+
+
+ Digital Input B Alarm Start Hysteresis Changed.
+
+
+
+
+ Digital Input B Alarm Stop Hysteresis.
+
+
+
+
+ Digital Input B Alarm Stop Hysteresis Changed.
+
+
+
+
+ Digital Input Alarm Persistence.
+
+
+
+
+ Digital Input Alarm Persistence Changed.
+
+
+
+
+ Setup Dump Count.
+
+
+
+
+ Setup Dump Count Channged.
+
+
+
+
+ Setup Dump Delay (sec).
+
+
+
+
+ Setup Dump Delay Channged.
+
+
+
+
+ Setup Dump.
+
+
+
+
+ Setup Dump All Channels.
+
+
+
+
+ Field Features Change Operation.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup when Device Type is RectifierMonitor
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Meter Sample Rate (MSR) Changed.
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Supervisory Transmit Rate [FB LAT] Changed.
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Supervisory Transmit Rate [FB MoM] Changed.
+
+
+
+
+ Active.
+
+
+
+
+ Active Changed.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ Infrastructure Type and ID Changed.
+
+
+
+
+ History Encoding.
+
+
+
+
+ History Encoding Changed.
+
+
+
+
+ History Scale.
+
+
+
+
+ History Scale Changed.
+
+
+
+
+ Shunt Resistor Value.
+
+
+
+
+ Shunt Resistor mV Value.
+
+
+
+
+ Shunt Resistor Values Changed.
+
+
+
+
+ Interrupter Relay Type.
+
+
+
+
+ Interrupter Relay Type Changed.
+
+
+
+
+ Field Features Change Operation.
+
+
+
+
+ Rectifier Monitor Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup 2 when Device Type is NA2WWater
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Meter Sample Rate (MSR) Changed.
+
+
+
+
+ Perform Setup Dump.
+
+
+
+
+ Tilt Tamper Setting Changed.
+
+
+
+
+ Tilt Tamper Setting.
+
+
+
+
+ Reset Alarms.
+
+
+
+
+ Reset History.
+
+
+
+
+ Reset Reference Orientation.
+
+
+
+
+ Number of Encoder Digits Changed.
+
+
+
+
+ Number of Encoder Digits.
+
+
+
+
+ Programmer ID.
+
+
+
+
+ Programmer ID Changed.
+
+
+
+
+ Field Features Change Operation.
+
+
+
+
+ Field Features.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup 2 when Device Type is NA2WGSV
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Meter Sample Rate (MSR) Changed.
+
+
+
+
+ Serial Number.
+
+
+
+
+ Serial Number Changed.
+
+
+
+
+ Perform Setup Dump.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup Audit
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Channel Setup Audit when Device Type is NA2WWater
+
+
+
+
+ Meter Type.
+
+
+
+
+ Broken Pipe.
+
+
+
+
+ EP Activated?.
+
+
+
+
+ Meter Units.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ History Scale.
+
+
+
+
+ Enhanced History Compression Enabled.
+
+
+
+
+ Is Reading Valid.
+
+
+
+
+ Leak Detection Threshold.
+
+
+
+
+ Leak Detection Consecutive Reads.
+
+
+
+
+ Backflow Detection Threshold.
+
+
+
+
+ Backflow Detection Consecutive Reads.
+
+
+
+
+ Reading.
+
+
+
+
+ Customer Serial Number.
+
+
+
+
+ Number of Encoder Digits.
+
+
+
+
+ WBDBReadingMessageFormat.
+
+
+
+
+ Meter units from bind meter?.
+
+
+
+
+ Reading resolution from bind meter?.
+
+
+
+
+ Reading, ID, and number of digits from bind meter?.
+
+
+
+
+ Tilt Tamper Setting.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup Audit when Device Type is NA2WGas
+
+
+
+
+ Meter Type.
+
+
+
+
+ Number Of Index Dials.
+
+
+
+
+ Channel Activated?.
+
+
+
+
+ Meter Units.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ History Scale.
+
+
+
+
+ Lock State.
+
+
+
+
+ Reading.
+
+
+
+
+ Index Drive.
+
+
+
+
+ Index Scale.
+
+
+
+
+ Compensation Factor.
+
+
+
+
+ Reverse Flow Detection Threshold.
+
+
+
+
+ Cut Wire Alarm Enabled?.
+
+
+
+
+ Rotation Of Drive Shaft.
+
+
+
+
+ Drive Shaft Rotation Not Yet Determined (Auto-detecting).
+
+
+
+
+ Pulses Per Revolution.
+
+
+
+
+ Broken Pipe Time.
+
+
+
+
+ Broken Pipe Threshold.
+
+
+
+
+ Broken Pipe Threshold Resolution.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup Audit when Device Type is NA2WGSV
+
+
+
+
+ Shutoff Type.
+
+
+
+
+ Valve Test Period.
+
+
+
+
+ EP Activated?.
+
+
+
+
+ Automatic Shutoff [Low Pressure].
+
+
+
+
+ Automatic Shutoff [High Pressure].
+
+
+
+
+ Automatic Shutoff [Excess Flow].
+
+
+
+
+ Automatic Shutoff [Tilt].
+
+
+
+
+ Automatic Shutoff [Seismic].
+
+
+
+
+ Automatic Shutoff [Over Temperature].
+
+
+
+
+ Low Pressure Shutoff Threshold.
+
+
+
+
+ High Pressure Shutoff Threshold.
+
+
+
+
+ Low Pressure Warning Threshold.
+
+
+
+
+ High Pressure Warning Threshold.
+
+
+
+
+ Excess Flow Shutoff Threshold.
+
+
+
+
+ Last Reading.
+
+
+
+
+ Expected Valve Position.
+
+
+
+
+ Actual Valve Position.
+
+
+
+
+ Last Valve Change Reason.
+
+
+
+
+ Is Reading Valid.
+
+
+
+
+ Pressure Scale Factor.
+
+
+
+
+ Minimum Valve Travel (add 256 for hsp).
+
+
+
+
+ Maximum Valve Travel (add 256 for hsp).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup Audit when Device Type is NA2WMLC
+
+
+
+
+ V2 Flag = 1.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WChannelSetupAudit_NA2WMLC when V2 Flag = 1 is MessageVersion1
+
+
+
+
+ Tenant ID.
+
+
+
+
+ Utility Code.
+
+
+
+
+ Tx OpMode.
+
+
+
+
+ Upper Rated Power (5W Units).
+
+
+
+
+ Field Features.
+
+
+
+
+ Rated Power (5W Units).
+
+
+
+
+ Maximum Voltage (2V Units).
+
+
+
+
+ Minimum Voltage (2V Units).
+
+
+
+
+ Top Level State.
+
+
+
+
+ Concurrent Sun & Schedule.
+
+
+
+
+ Metrology Config Sequence Number.
+
+
+
+
+ GPS Hardware Derived.
+
+
+
+
+ Meter Sample Rate.
+
+
+
+
+ Supervisory Transmit Rate (STR).
+
+
+
+
+ Power Factor.
+
+
+
+
+ Protected.
+
+
+
+
+ Sunrise/Sunset Light Level.
+
+
+
+
+ History Type.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ AC Line Frequency 50 Hz.
+
+
+
+
+ Bulb On Time (6 hour blocks).
+
+
+
+
+ Ballast On Time (6 hour blocks).
+
+
+
+
+ Service Voltage (2V Units).
+
+
+
+
+ Altitude (meters).
+
+
+
+
+ GPS Threshold (10m Units).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WChannelSetupAudit_NA2WMLC when V2 Flag = 1 is MessageVersion2
+
+
+
+
+ Tenant ID.
+
+
+
+
+ Utility Code.
+
+
+
+
+ Tx OpMode.
+
+
+
+
+ Cycling Counter.
+
+
+
+
+ Cycling Counter Days.
+
+
+
+
+ Upper Rated Power (5W Units).
+
+
+
+
+ Field Features.
+
+
+
+
+ Rated Power (5W Units).
+
+
+
+
+ Maximum Voltage (2V Units).
+
+
+
+
+ Minimum Voltage (2V Units).
+
+
+
+
+ Top Level State.
+
+
+
+
+ Concurrent Sun & Schedule.
+
+
+
+
+ Metrology Config Sequence Number.
+
+
+
+
+ GPS Hardware Derived.
+
+
+
+
+ Meter Sample Rate.
+
+
+
+
+ Supervisory Transmit Rate (STR).
+
+
+
+
+ Power Factor(Signed).
+
+
+
+
+ Protected.
+
+
+
+
+ Sunrise/Sunset Light Level.
+
+
+
+
+ History Type.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ AC Line Frequency 50 Hz.
+
+
+
+
+ Bulb On Time (6 hour blocks).
+
+
+
+
+ Ballast On Time (6 hour blocks).
+
+
+
+
+ Service Voltage (2V Units).
+
+
+
+
+ Altitude (meters).
+
+
+
+
+ GPS Threshold (10m Units).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup Audit when Device Type is NA2W3PortRemoteGas
+
+
+
+
+ Port 1 Reading Digits.
+
+
+
+
+ Port 1 Reading Units.
+
+
+
+
+ Port 1 Reading Resolution.
+
+
+
+
+ Port 2 Reading Digits.
+
+
+
+
+ Port 2 Reading Units.
+
+
+
+
+ Port 2 Reading Resolution.
+
+
+
+
+ Port 1 Reading Valid.
+
+
+
+
+ Port 2 Reading Valid.
+
+
+
+
+ History Scale.
+
+
+
+
+ Lock State.
+
+
+
+
+ Pulse scaling?.
+
+
+
+
+ Cut Wire Alarm Enabled.
+
+
+
+
+ Channel Activated.
+
+
+
+
+ Port 1 Reading.
+
+
+
+
+ Port 2 Reading.
+
+
+
+
+ Enhanced History Compression.
+
+
+
+
+ Meter Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup Audit when Device Type is LibertyGas
+
+
+
+
+ Meter Type.
+
+
+
+
+ Number Of Index Dials.
+
+
+
+
+ Channel Activated?.
+
+
+
+
+ Meter Units.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ History Scale.
+
+
+
+
+ Lock State.
+
+
+
+
+ Reading.
+
+
+
+
+ Index Drive.
+
+
+
+
+ Index Scale.
+
+
+
+
+ Compensation Factor.
+
+
+
+
+ Reverse Flow Detection Threshold.
+
+
+
+
+ Cut Wire Alarm Enabled?.
+
+
+
+
+ Rotation Of Drive Shaft.
+
+
+
+
+ Drive Shaft Rotation Not Yet Determined (Auto-detecting).
+
+
+
+
+ Pulses Per Revolution.
+
+
+
+
+ Broken Pipe Time.
+
+
+
+
+ Broken Pipe Threshold.
+
+
+
+
+ Broken Pipe Threshold Resolution.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup Audit when Device Type is RawMetrology
+
+
+
+
+ Extended Meter Sample Rate.
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Active.
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Setup Dump In Progress.
+
+
+
+
+ Setup Dump Complete.
+
+
+
+
+ Field Features.
+
+
+
+
+ Sensor Settling Delay.
+
+
+
+
+ Sensor Samples Per Measurement.
+
+
+
+
+ Sensor Time Between Samples.
+
+
+
+
+ Sensor Power Off Delay.
+
+
+
+
+ Metrology Configuration Sequence Number.
+
+
+
+
+ History Encoding.
+
+
+
+
+ History Scale.
+
+
+
+
+ MessageReason.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup Audit when Device Type is BatteryEndpoint
+
+
+
+
+ Utility Code.
+
+
+
+
+ Meter Sample Rate.
+
+
+
+
+ Active.
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Top Level State.
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Setup Dump In Progress.
+
+
+
+
+ Setup Dump Complete.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ Field Features.
+
+
+
+
+ Digital Input A Alarm Trigger.
+
+
+
+
+ Digital Input B Alarm Trigger.
+
+
+
+
+ Digital Input Alarm Persistence.
+
+
+
+
+ Digital Input A Enabled.
+
+
+
+
+ Digital Input B Enabled.
+
+
+
+
+ Digital Input A Alarm Start Hysteresis.
+
+
+
+
+ Digital Input B Alarm Start Hysteresis.
+
+
+
+
+ Digital Input A Alarm Stop Hysteresis.
+
+
+
+
+ Digital Input B Alarm Stop Hysteresis.
+
+
+
+
+ Digital Input A Labels.
+
+
+
+
+ Digital Input B Labels.
+
+
+
+
+ Battery Type.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ MessageReason.
+
+
+
+
+ Metrology Configuration Sequence Number.
+
+
+
+
+ Setup Dump Count.
+
+
+
+
+ Setup Dump Delay (sec).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup Audit when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Cathodic Protection Type.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ Reference Cell Offset.
+
+
+
+
+ Active.
+
+
+
+
+ Service Mode.
+
+
+
+
+ Meter Sample Rate.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ Setup Dump In Progress.
+
+
+
+
+ Setup Dump Complete.
+
+
+
+
+ Field Features.
+
+
+
+
+ Vb2d Read Relay Open Time (10ms inc).
+
+
+
+
+ Vb2d Read Delay Time (10ms inc).
+
+
+
+
+ History Encoding.
+
+
+
+
+ History Scale.
+
+
+
+
+ MessageReason.
+
+
+
+
+ Metrology Configuration Sequence Number.
+
+
+
+
+ Native Potential (mV).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup Audit when Device Type is MainsEndpoint
+
+
+
+
+ Utility Code.
+
+
+
+
+ Meter Sample Rate.
+
+
+
+
+ Active.
+
+
+
+
+ Supervisory Transmit Rate.
+
+
+
+
+ Service Mode.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Tx OpMode.
+
+
+
+
+ Setup Dump In Progress.
+
+
+
+
+ Setup Dump Complete.
+
+
+
+
+ MessageReason.
+
+
+
+
+ Field Features.
+
+
+
+
+ Digital Input A Alarm Trigger.
+
+
+
+
+ Digital Input B Alarm Trigger.
+
+
+
+
+ Digital Input Alarm Persistence.
+
+
+
+
+ Digital Input A Enabled.
+
+
+
+
+ Digital Input B Enabled.
+
+
+
+
+ Digital Input A Alarm Start Hysteresis.
+
+
+
+
+ Digital Input B Alarm Start Hysteresis.
+
+
+
+
+ Digital Input A Alarm Stop Hysteresis.
+
+
+
+
+ Digital Input B Alarm Stop Hysteresis.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ Alarm Configuration Sequence Number.
+
+
+
+
+ Setup Dump Count.
+
+
+
+
+ Setup Dump Delay (sec).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Channel Setup Audit when Device Type is RectifierMonitor
+
+
+
+
+ Meter Sample Rate.
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Top Level State.
+
+
+
+
+ Active.
+
+
+
+
+ Service Mode.
+
+
+
+
+ Interrupter State.
+
+
+
+
+ Metrology Configuration Sequence Number.
+
+
+
+
+ Rectifier Monitor Type.
+
+
+
+
+ Interrupter Relay Type.
+
+
+
+
+ Rectifier Monitor Field Features.
+
+
+
+
+ Setup Dump In Progress.
+
+
+
+
+ Setup Dump Complete.
+
+
+
+
+ MessageReason.
+
+
+
+
+ History Scale.
+
+
+
+
+ Infrastructure Type.
+
+
+
+
+ Infrastructure ID.
+
+
+
+
+ History Encoding.
+
+
+
+
+ Shunt Resistor Value.
+
+
+
+
+ Shunt Resistor mV Value.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Data Report
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Data Report when Device Type is NA2WMLC
+
+
+
+
+ Report ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WMLC when Report ID is DetailedRead
+
+
+
+
+ Energy (mWH).
+
+
+
+
+ Power (mW).
+
+
+
+
+ Voltage RMS (V).
+
+
+
+
+ Current RMS (mA).
+
+
+
+
+ Effective Current (mA).
+
+
+
+
+ Power Factor (%).
+
+
+
+
+ Frequency (Hz).
+
+
+
+
+ Time Stamp (sec).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WMLC when Report ID is MidnightRead
+
+
+
+
+ Energy (mWH).
+
+
+
+
+ Power (mW).
+
+
+
+
+ Voltage RMS (V).
+
+
+
+
+ Current RMS (mA).
+
+
+
+
+ Effective Current (mA).
+
+
+
+
+ Power Factor (%).
+
+
+
+
+ Frequency (Hz).
+
+
+
+
+ Time Stamp (sec).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WMLC when Report ID is TfxConfig2
+
+
+
+
+ MSR 0 = MTR.
+
+
+
+
+ MSR 1 = MTR.
+
+
+
+
+ MSR 2 = MTR.
+
+
+
+
+ MSR 3 = MTR.
+
+
+
+
+ MSR 4 = MTR.
+
+
+
+
+ MSR 5 = MTR.
+
+
+
+
+ MSR 6 = MTR.
+
+
+
+
+ MSR 7 = MTR.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WMLC when Report ID is TfxConfig3
+
+
+
+
+ Count.
+
+
+
+
+ Attempt 0.
+
+
+
+
+ Attempt 1.
+
+
+
+
+ Attempt 2.
+
+
+
+
+ Attempt 3.
+
+
+
+
+ Attempt 4.
+
+
+
+
+ Attempt 5.
+
+
+
+
+ Attempt 6.
+
+
+
+
+ Attempt 7.
+
+
+
+
+ Attempt 8.
+
+
+
+
+ Attempt 9.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WMLC when Report ID is GPSPositionFix
+
+
+
+
+ Time.
+
+
+
+
+ Latitude.
+
+
+
+
+ Longitude.
+
+
+
+
+ Altitude.
+
+
+
+
+ Fix Quality.
+
+
+
+
+ Satellites.
+
+
+
+
+ Horizontal Dilution.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WMLC when Report ID is SLCLightControllerDetails
+
+
+
+
+ Flags.
+
+
+
+
+ Version.
+
+
+
+
+ Feature.
+
+
+
+
+ Serial Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WMLC when Report ID is SLCLightControllerStatus
+
+
+
+
+ Flags.
+
+
+
+
+ VDig (dV).
+
+
+
+
+ VDim (dV).
+
+
+
+
+ Temperature.
+
+
+
+
+ Max Temperature.
+
+
+
+
+ Min Temperature.
+
+
+
+
+ Light On Ticks.
+
+
+
+
+ Reset.
+
+
+
+
+ WD Reset.
+
+
+
+
+ Ext WD Reset.
+
+
+
+
+ Status.
+
+
+
+
+ Alarms.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Data Report when Device Type is NA2WWater
+
+
+
+
+ Report ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is StatisticsOverview
+
+
+
+
+ Product Patch Revision.
+
+
+
+
+ Product Beta.
+
+
+
+
+ Product Major Revision.
+
+
+
+
+ Product Minor Revision.
+
+
+
+
+ Total Module Count.
+
+
+
+
+ Module Offset.
+
+
+
+
+ Payload Module Count.
+
+
+
+
+ [A]Module ID.
+
+
+
+
+ [A]Statistics Revision.
+
+
+
+
+ [A]Number of Bytes.
+
+
+
+
+ [B]Module ID.
+
+
+
+
+ [B]Statistics Revision.
+
+
+
+
+ [B]Number of Bytes.
+
+
+
+
+ [C]Module ID.
+
+
+
+
+ [C]Statistics Revision.
+
+
+
+
+ [C]Number of Bytes.
+
+
+
+
+ [D]Module ID.
+
+
+
+
+ [D]Statistics Revision.
+
+
+
+
+ [D]Number of Bytes.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is ModuleStatistics
+
+
+
+
+ Number of Bytes.
+
+
+
+
+ Module ID.
+
+
+
+
+ Statistics Revision.
+
+
+
+
+ Byte Offset.
+
+
+
+
+ Byte Count.
+
+
+
+
+ Raw Data.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is TfxConfig
+
+
+
+
+ Tone Interval (sec).
+
+
+
+
+ Activity BUP Interval (sec).
+
+
+
+
+ Activity BUP Count.
+
+
+
+
+ Activity BUP Rx On Time (msec).
+
+
+
+
+ Activity BUP Rx Early Start (msec).
+
+
+
+
+ SensusRf BUP Interval (sec).
+
+
+
+
+ SensusRf BUP Rx On Time (msec).
+
+
+
+
+ SensusRf BUP Rx Early Start (msec).
+
+
+
+
+ SensusRf BUP Lat Interval.
+
+
+
+
+ Rx Base.
+
+
+
+
+ Rx Sub Channel.
+
+
+
+
+ Rx Channel.
+
+
+
+
+ Tx Base.
+
+
+
+
+ Tx Sub Channel.
+
+
+
+
+ Tx Channel.
+
+
+
+
+ Power Level.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is TfxLinkStatus
+
+
+
+
+ Security State.
+
+
+
+
+ Unique Key Pending.
+
+
+
+
+ Shared Key Pending.
+
+
+
+
+ EOL Warning.
+
+
+
+
+ End Of Life.
+
+
+
+
+ Sync Pending.
+
+
+
+
+ Current Register Mode.
+
+
+
+
+ Rx Rssi Min.
+
+
+
+
+ Rx Rssi Max.
+
+
+
+
+ Rx Rssi Avg.
+
+
+
+
+ Tx Rssi Min.
+
+
+
+
+ Tx Rssi Max.
+
+
+
+
+ Tx Rssi Avg.
+
+
+
+
+ Read Sync Running.
+
+
+
+
+ Param Sync Running.
+
+
+
+
+ SensusRF BUP Tracking.
+
+
+
+
+ FlexNet BUP Tracking.
+
+
+
+
+ Key Sync Running.
+
+
+
+
+ Read Sync Attempts.
+
+
+
+
+ Param Sync Attempts.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is MemoryDump
+
+
+
+
+ Source.
+
+
+
+
+ Device.
+
+
+
+
+ Address.
+
+
+
+
+ Byte Count.
+
+
+
+
+ Raw Data.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is MultipleChannelOnDemandRead
+
+
+
+
+ Channels Reported Bitmask.
+
+
+
+
+ Has Alarm? Bitmask.
+
+
+
+
+ Reading A.
+
+
+
+
+ Reading B.
+
+
+
+
+ Reading C.
+
+
+
+
+ Reading D.
+
+
+
+
+ Reading E.
+
+
+
+
+ Reading F.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is MemoryUsage
+
+
+
+
+ Stack Heap Size.
+
+
+
+
+ Max Stack Usage.
+
+
+
+
+ Max Heap Usage.
+
+
+
+
+ Pool Status.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is BiDiTest
+
+
+
+
+ Status.
+
+
+
+
+ Operation ID.
+
+
+
+
+ Time Since Start.
+
+
+
+
+ Count.
+
+
+
+
+ Delay.
+
+
+
+
+ Command Length.
+
+
+
+
+ Pre-Set Pad Fill Pattern.
+
+
+
+
+ BiDi Command.
+
+
+
+
+ Pad Bytes.
+
+
+
+
+ Custom Pad Fill / Random Seed.
+
+
+
+
+ Current Count.
+
+
+
+
+ Success Count.
+
+
+
+
+ Fail Initial Count.
+
+
+
+
+ Fail Response Count.
+
+
+
+
+ Fail Parsing Count.
+
+
+
+
+ Fail Resources Count.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is ActivityDataReport
+
+
+
+
+ Battery Usage in mAh.
+
+
+
+
+ Time alive.
+
+
+
+
+ Transmission on-time.
+
+
+
+
+ Receiver on-time.
+
+
+
+
+ Tx aborted.
+
+
+
+
+ MoM Comm switches.
+
+
+
+
+ MoM Comm commands.
+
+
+
+
+ WB/DB tones detected.
+
+
+
+
+ Meter readings.
+
+
+
+
+ BIDI/LAT attempts.
+
+
+
+
+ Tone generations.
+
+
+
+
+ FW upgrades_SmartPoint.
+
+
+
+
+ FW upgrades_Register.
+
+
+
+
+ Multi-sensor meter paired.
+
+
+
+
+ BIDI comms tests.
+
+
+
+
+ BIDI warranty operations.
+
+
+
+
+ Status Page.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is SmartPointUpgradeStatus
+
+
+
+
+ Target firmware version.
+
+
+
+
+ Phase of FWDL.
+
+
+
+
+ Error codes.
+
+
+
+
+ Total number of blocks in image.
+
+
+
+
+ Number of carousels.
+
+
+
+
+ Receive windows opened.
+
+
+
+
+ Number of missing blocks.
+
+
+
+
+ Time to next window.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is MeterUpgradeStatus
+
+
+
+
+ Target firmware version.
+
+
+
+
+ Phase of FWDL.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus when Phase of FWDL is WaitingIdle
+
+
+
+
+ Is iPERL ASIC?.
+
+
+
+
+ Total number of blocks in image.
+
+
+
+
+ Last block number transmitted.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus_WaitingIdle when Is iPERL ASIC? is False
+
+
+
+
+ Error code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus_WaitingIdle when Is iPERL ASIC? is True
+
+
+
+
+ Error code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus when Phase of FWDL is LoadStart
+
+
+
+
+ Is iPERL ASIC?.
+
+
+
+
+ Total number of blocks in image.
+
+
+
+
+ Last block number transmitted.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus_LoadStart when Is iPERL ASIC? is False
+
+
+
+
+ Error code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus_LoadStart when Is iPERL ASIC? is True
+
+
+
+
+ Error code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus when Phase of FWDL is BlockLoad
+
+
+
+
+ Is iPERL ASIC?.
+
+
+
+
+ Total number of blocks in image.
+
+
+
+
+ Last block number transmitted.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus_BlockLoad when Is iPERL ASIC? is False
+
+
+
+
+ Error code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus_BlockLoad when Is iPERL ASIC? is True
+
+
+
+
+ Error code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus when Phase of FWDL is BackFill
+
+
+
+
+ Is iPERL ASIC?.
+
+
+
+
+ Total number of blocks in image.
+
+
+
+
+ Number of missing blocks.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus_BackFill when Is iPERL ASIC? is False
+
+
+
+
+ Error code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus_BackFill when Is iPERL ASIC? is True
+
+
+
+
+ Error code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus when Phase of FWDL is LoadFlash
+
+
+
+
+ Is iPERL ASIC?.
+
+
+
+
+ Total number of blocks in image.
+
+
+
+
+ Number of missing blocks.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus_LoadFlash when Is iPERL ASIC? is False
+
+
+
+
+ Error code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus_LoadFlash when Is iPERL ASIC? is True
+
+
+
+
+ Error code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus when Phase of FWDL is Complete
+
+
+
+
+ Is iPERL ASIC?.
+
+
+
+
+ Total number of blocks in image.
+
+
+
+
+ Number of missing blocks.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus_Complete when Is iPERL ASIC? is False
+
+
+
+
+ Error code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus_Complete when Is iPERL ASIC? is True
+
+
+
+
+ Error code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus when Phase of FWDL is Aborted
+
+
+
+
+ Is iPERL ASIC?.
+
+
+
+
+ Total number of blocks in image.
+
+
+
+
+ Number of missing blocks.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus_Aborted when Is iPERL ASIC? is False
+
+
+
+
+ Error code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_MeterUpgradeStatus_Aborted when Is iPERL ASIC? is True
+
+
+
+
+ Error code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is SensusRFEncryptionKeyStatus
+
+
+
+
+ SmartPoint To Register.
+
+
+
+
+ SmartPoint To HHD.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is ULFNBeaconInfo
+
+
+
+
+ Page Number.
+
+
+
+
+ Max Pages.
+
+
+
+
+ BeaconEntry[0].
+
+
+
+
+ BeaconEntry[1].
+
+
+
+
+ BeaconEntry[2].
+
+
+
+
+ BeaconEntry[3].
+
+
+
+
+ BeaconEntry[4].
+
+
+
+
+ BeaconEntry[5].
+
+
+
+
+ BeaconEntry[6].
+
+
+
+
+ BeaconEntry[7].
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is MeterIPCStatus
+
+
+
+
+ State.
+
+
+
+
+ Time Since Last Communication.
+
+
+
+
+ Time Since Last Sync.
+
+
+
+
+ Time Since Last Reboot.
+
+
+
+
+ Reboot Count.
+
+
+
+
+ Sync Count.
+
+
+
+
+ Transaction Count.
+
+
+
+
+ Transaction Failed Count.
+
+
+
+
+ Valid Packet Count.
+
+
+
+
+ Bad Packet Count.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is BoardDetails
+
+
+
+
+ Product Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_BoardDetails when Product Type is FlexNetIPERLS4RadioEP1
+
+
+
+
+ PCB ID.
+
+
+
+
+ Variant ID.
+
+
+
+
+ Processor ID.
+
+
+
+
+ Processor Revision.
+
+
+
+
+ Processor Flash Size.
+
+
+
+
+ Processor RAM Size.
+
+
+
+
+ Serial Flash Family.
+
+
+
+
+ Serial Flash Number.
+
+
+
+
+ Serial Flash Revision.
+
+
+
+
+ EEPROM Family.
+
+
+
+
+ EEPROM Number.
+
+
+
+
+ EEPROM Revision.
+
+
+
+
+ Radio Family.
+
+
+
+
+ Radio Number.
+
+
+
+
+ Radio Revision.
+
+
+
+
+ PCB ID ADC Reading.
+
+
+
+
+ Variant ID ADC Reading.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater_BoardDetails when Product Type is FlexNetIPERLS4Radio
+
+
+
+
+ PCB ID.
+
+
+
+
+ Variant ID.
+
+
+
+
+ Processor ID.
+
+
+
+
+ Processor Revision.
+
+
+
+
+ Processor Flash Size.
+
+
+
+
+ Processor RAM Size.
+
+
+
+
+ Serial Flash Family.
+
+
+
+
+ Serial Flash Number.
+
+
+
+
+ Serial Flash Revision.
+
+
+
+
+ EEPROM Family.
+
+
+
+
+ EEPROM Number.
+
+
+
+
+ EEPROM Revision.
+
+
+
+
+ Radio Family.
+
+
+
+
+ Radio Number.
+
+
+
+
+ Radio Revision.
+
+
+
+
+ PCB ID ADC Reading.
+
+
+
+
+ Variant ID ADC Reading.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is ProcessorDetails
+
+
+
+
+ Product Type.
+
+
+
+
+ UUID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is CutWireStatus
+
+
+
+
+ Product Type.
+
+
+
+
+ Cut Wire Detected.
+
+
+
+
+ Last Reading was Request.
+
+
+
+
+ Cut Wire ADC Reading.
+
+
+
+
+ Relative Time Of Last Reading.
+
+
+
+
+ MSRs since Reading Changed.
+
+
+
+
+ MSRs since Cut Wire Failed.
+
+
+
+
+ Relative Time since Last MSR Test.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is TiltTamperStatus
+
+
+
+
+ Product Type.
+
+
+
+
+ Tilt Tamper Detected.
+
+
+
+
+ Tilt Tamper Setting.
+
+
+
+
+ Orientation from Periodic Check.
+
+
+
+
+ Orientation from Tilt Event.
+
+
+
+
+ Nuisance Threshold Reached.
+
+
+
+
+ Relative Time Of Last Orientation.
+
+
+
+
+ Orientation: X.
+
+
+
+
+ Orientation: Y.
+
+
+
+
+ Orientation: Z.
+
+
+
+
+ Relative Time Of Reference Orientation.
+
+
+
+
+ Reference Orientation: X.
+
+
+
+
+ Reference Orientation: Y.
+
+
+
+
+ Reference Orientation: Z.
+
+
+
+
+ Number of Detected Events.
+
+
+
+
+ Calibration Offset: X.
+
+
+
+
+ Calibration Offset: Y.
+
+
+
+
+ Calibration Offset: Z.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is ADCSamples
+
+
+
+
+ Sample Type.
+
+
+
+
+ Sample 1.
+
+
+
+
+ Sample 2.
+
+
+
+
+ Sample 3.
+
+
+
+
+ Sample 4.
+
+
+
+
+ Sample 5.
+
+
+
+
+ Sample 6.
+
+
+
+
+ Sample 7.
+
+
+
+
+ Sample 8.
+
+
+
+
+ Sample 9.
+
+
+
+
+ Sample 10.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WWater when Report ID is TimeValues
+
+
+
+
+ Epoch Time.
+
+
+
+
+ System Time.
+
+
+
+
+ Product Time.
+
+
+
+
+ Time Since Birth.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Data Report when Device Type is NA2WGas
+
+
+
+
+ Report ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WGas when Report ID is StatisticsOverview
+
+
+
+
+ Product Patch Revision.
+
+
+
+
+ Product Beta.
+
+
+
+
+ Product Major Revision.
+
+
+
+
+ Product Minor Revision.
+
+
+
+
+ Total Module Count.
+
+
+
+
+ Module Offset.
+
+
+
+
+ Payload Module Count.
+
+
+
+
+ [A]Module ID.
+
+
+
+
+ [A]Statistics Revision.
+
+
+
+
+ [A]Number of Bytes.
+
+
+
+
+ [B]Module ID.
+
+
+
+
+ [B]Statistics Revision.
+
+
+
+
+ [B]Number of Bytes.
+
+
+
+
+ [C]Module ID.
+
+
+
+
+ [C]Statistics Revision.
+
+
+
+
+ [C]Number of Bytes.
+
+
+
+
+ [D]Module ID.
+
+
+
+
+ [D]Statistics Revision.
+
+
+
+
+ [D]Number of Bytes.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WGas when Report ID is ModuleStatistics
+
+
+
+
+ Number of Bytes.
+
+
+
+
+ Module ID.
+
+
+
+
+ Statistics Revision.
+
+
+
+
+ Byte Offset.
+
+
+
+
+ Byte Count.
+
+
+
+
+ Raw Data.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WGas when Report ID is GasMetrologyInformation
+
+
+
+
+ MD5 Hash.
+
+
+
+
+ Metrology Patch.
+
+
+
+
+ Metrology Beta.
+
+
+
+
+ Metrology Major.
+
+
+
+
+ Metrology Minor.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WGas when Report ID is MemoryDump
+
+
+
+
+ Source.
+
+
+
+
+ Device.
+
+
+
+
+ Address.
+
+
+
+
+ Byte Count.
+
+
+
+
+ Raw Data.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WGas when Report ID is MemoryUsage
+
+
+
+
+ Stack Heap Size.
+
+
+
+
+ Max Stack Usage.
+
+
+
+
+ Max Heap Usage.
+
+
+
+
+ Pool Status.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WGas when Report ID is ActivityDataReport
+
+
+
+
+ Battery Usage in mAh.
+
+
+
+
+ Time alive.
+
+
+
+
+ Transmission on-time.
+
+
+
+
+ Receiver on-time.
+
+
+
+
+ Tx aborted.
+
+
+
+
+ MoM Comm switches.
+
+
+
+
+ MoM Comm commands.
+
+
+
+
+ WB/DB tones detected.
+
+
+
+
+ Meter readings.
+
+
+
+
+ Comm attempts.
+
+
+
+
+ Time since install.
+
+
+
+
+ FW upgrades_SmartPoint.
+
+
+
+
+ FW upgrades_Register.
+
+
+
+
+ Optical packets.
+
+
+
+
+ Installations.
+
+
+
+
+ Critical Reading feat. was enabled.
+
+
+
+
+ Status Page.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WGas when Report ID is MeterUpgradeStatus
+
+
+
+
+ Target firmware version.
+
+
+
+
+ FWDL Progress.
+
+
+
+
+ FWDL Error Code.
+
+
+
+
+ FWDL Error State.
+
+
+
+
+ Total Blocks.
+
+
+
+
+ Missing Blocks.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WGas when Report ID is MeterIPCStatus
+
+
+
+
+ State.
+
+
+
+
+ Time Since Last Communication.
+
+
+
+
+ Time Since Last Sync.
+
+
+
+
+ Time Since Last Reboot.
+
+
+
+
+ Reboot Count.
+
+
+
+
+ Sync Count.
+
+
+
+
+ Transaction Count.
+
+
+
+
+ Transaction Failed Count.
+
+
+
+
+ Valid Packet Count.
+
+
+
+
+ Bad Packet Count.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WGas when Report ID is BoardDetails
+
+
+
+
+ Product Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WGas_BoardDetails when Product Type is SonixV2Radio
+
+
+
+
+ PCB ID.
+
+
+
+
+ Variant ID.
+
+
+
+
+ Processor ID.
+
+
+
+
+ Processor Revision.
+
+
+
+
+ Processor Flash Size.
+
+
+
+
+ Processor RAM Size.
+
+
+
+
+ Serial Flash Family.
+
+
+
+
+ Serial Flash Number.
+
+
+
+
+ Serial Flash Revision.
+
+
+
+
+ EEPROM Family.
+
+
+
+
+ EEPROM Number.
+
+
+
+
+ EEPROM Revision.
+
+
+
+
+ Radio Family.
+
+
+
+
+ Radio Number.
+
+
+
+
+ Radio Revision.
+
+
+
+
+ PCB ID ADC Reading.
+
+
+
+
+ Variant ID ADC Reading.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WGas_BoardDetails when Product Type is SonixV2RadioPhaseII
+
+
+
+
+ PCB ID.
+
+
+
+
+ Variant ID.
+
+
+
+
+ Processor ID.
+
+
+
+
+ Processor Revision.
+
+
+
+
+ Processor Flash Size.
+
+
+
+
+ Processor RAM Size.
+
+
+
+
+ Serial Flash Family.
+
+
+
+
+ Serial Flash Number.
+
+
+
+
+ Serial Flash Revision.
+
+
+
+
+ EEPROM Family.
+
+
+
+
+ EEPROM Number.
+
+
+
+
+ EEPROM Revision.
+
+
+
+
+ Radio Family.
+
+
+
+
+ Radio Number.
+
+
+
+
+ Radio Revision.
+
+
+
+
+ PCB ID ADC Reading.
+
+
+
+
+ Variant ID ADC Reading.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WGas when Report ID is ProcessorDetails
+
+
+
+
+ Product Type.
+
+
+
+
+ UUID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2WGas when Report ID is ADCSamples
+
+
+
+
+ Sample Type.
+
+
+
+
+ Sample 1.
+
+
+
+
+ Sample 2.
+
+
+
+
+ Sample 3.
+
+
+
+
+ Sample 4.
+
+
+
+
+ Sample 5.
+
+
+
+
+ Sample 6.
+
+
+
+
+ Sample 7.
+
+
+
+
+ Sample 8.
+
+
+
+
+ Sample 9.
+
+
+
+
+ Sample 10.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Data Report when Device Type is NA2W3PortRemoteGas
+
+
+
+
+ Report ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2W3PortRemoteGas when Report ID is GasMetrologyInformation
+
+
+
+
+ MD5 Hash.
+
+
+
+
+ Metrology Patch.
+
+
+
+
+ Metrology Beta.
+
+
+
+
+ Metrology Major.
+
+
+
+
+ Metrology Minor.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_NA2W3PortRemoteGas when Report ID is ActivityDataReport
+
+
+
+
+ Battery Usage in mAh.
+
+
+
+
+ Time alive.
+
+
+
+
+ Transmission on-time.
+
+
+
+
+ Receiver on-time.
+
+
+
+
+ Tx aborted.
+
+
+
+
+ MoM Comm switches.
+
+
+
+
+ MoM Comm commands.
+
+
+
+
+ WB/DB tones detected.
+
+
+
+
+ Meter readings.
+
+
+
+
+ FW upgrades_SmartPoint.
+
+
+
+
+ Critical Reading feat. was enabled.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Data Report when Device Type is BatteryEndpoint
+
+
+
+
+ Report ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_BatteryEndpoint when Report ID is StatisticsOverview
+
+
+
+
+ Product Patch Revision.
+
+
+
+
+ Product Beta.
+
+
+
+
+ Product Major Revision.
+
+
+
+
+ Product Minor Revision.
+
+
+
+
+ Total Module Count.
+
+
+
+
+ Module Offset.
+
+
+
+
+ Payload Module Count.
+
+
+
+
+ [A]Module ID.
+
+
+
+
+ [A]Statistics Revision.
+
+
+
+
+ [A]Number of Bytes.
+
+
+
+
+ [B]Module ID.
+
+
+
+
+ [B]Statistics Revision.
+
+
+
+
+ [B]Number of Bytes.
+
+
+
+
+ [C]Module ID.
+
+
+
+
+ [C]Statistics Revision.
+
+
+
+
+ [C]Number of Bytes.
+
+
+
+
+ [D]Module ID.
+
+
+
+
+ [D]Statistics Revision.
+
+
+
+
+ [D]Number of Bytes.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_BatteryEndpoint when Report ID is ModuleStatistics
+
+
+
+
+ Number of Bytes.
+
+
+
+
+ Module ID.
+
+
+
+
+ Statistics Revision.
+
+
+
+
+ Byte Offset.
+
+
+
+
+ Byte Count.
+
+
+
+
+ Raw Data.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_BatteryEndpoint when Report ID is MultipleChannelOnDemandRead
+
+
+
+
+ Channels Reported Bitmask.
+
+
+
+
+ Has Alarm? Bitmask.
+
+
+
+
+ Reading A.
+
+
+
+
+ Reading B.
+
+
+
+
+ Reading C.
+
+
+
+
+ Reading D.
+
+
+
+
+ Reading E.
+
+
+
+
+ Reading F.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_BatteryEndpoint when Report ID is MemoryUsage
+
+
+
+
+ Stack Heap Size.
+
+
+
+
+ Max Stack Usage.
+
+
+
+
+ Max Heap Usage.
+
+
+
+
+ Pool Status.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_BatteryEndpoint when Report ID is HardFaultReport
+
+
+
+
+ CFSR.
+
+
+
+
+ PC On Stack.
+
+
+
+
+ MMFAR.
+
+
+
+
+ BFAR.
+
+
+
+
+ SP.
+
+
+
+
+ LR.
+
+
+
+
+ Hard Fault: DEBUGEVT.
+
+
+
+
+ Hard Fault: FORCED.
+
+
+
+
+ Hard Fault: VECTTBL.
+
+
+
+
+ Data Valid.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Data Report when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Report ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_CathodicProtectionMetrology when Report ID is DetailedSurveyResult
+
+
+
+
+ Device Operation Result.
+
+
+
+
+ Number of Samples.
+
+
+
+
+ Start Number of Samples.
+
+
+
+
+ Time Synced.
+
+
+
+
+ Operation ID.
+
+
+
+
+ [0] Synced.
+
+
+
+
+ [0] Sample:.
+
+
+
+
+ [1] Synced.
+
+
+
+
+ [1] Sample:.
+
+
+
+
+ [2] Synced.
+
+
+
+
+ [2] Sample:.
+
+
+
+
+ [3] Synced.
+
+
+
+
+ [3] Sample:.
+
+
+
+
+ [4] Synced.
+
+
+
+
+ [4] Sample:.
+
+
+
+
+ [5] Synced.
+
+
+
+
+ [5] Sample:.
+
+
+
+
+ [6] Synced.
+
+
+
+
+ [6] Sample:.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Data Report when Device Type is MainsEndpoint
+
+
+
+
+ Report ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_MainsEndpoint when Report ID is StatisticsOverview
+
+
+
+
+ Product Patch Revision.
+
+
+
+
+ Product Beta.
+
+
+
+
+ Product Major Revision.
+
+
+
+
+ Product Minor Revision.
+
+
+
+
+ Total Module Count.
+
+
+
+
+ Module Offset.
+
+
+
+
+ Payload Module Count.
+
+
+
+
+ [A]Module ID.
+
+
+
+
+ [A]Statistics Revision.
+
+
+
+
+ [A]Number of Bytes.
+
+
+
+
+ [B]Module ID.
+
+
+
+
+ [B]Statistics Revision.
+
+
+
+
+ [B]Number of Bytes.
+
+
+
+
+ [C]Module ID.
+
+
+
+
+ [C]Statistics Revision.
+
+
+
+
+ [C]Number of Bytes.
+
+
+
+
+ [D]Module ID.
+
+
+
+
+ [D]Statistics Revision.
+
+
+
+
+ [D]Number of Bytes.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_MainsEndpoint when Report ID is ModuleStatistics
+
+
+
+
+ Number of Bytes.
+
+
+
+
+ Module ID.
+
+
+
+
+ Statistics Revision.
+
+
+
+
+ Byte Offset.
+
+
+
+
+ Byte Count.
+
+
+
+
+ Raw Data.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_MainsEndpoint when Report ID is MultipleChannelOnDemandRead
+
+
+
+
+ Channels Reported Bitmask.
+
+
+
+
+ Has Alarm? Bitmask.
+
+
+
+
+ Reading A.
+
+
+
+
+ Reading B.
+
+
+
+
+ Reading C.
+
+
+
+
+ Reading D.
+
+
+
+
+ Reading E.
+
+
+
+
+ Reading F.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Data Report when Device Type is RectifierMonitor
+
+
+
+
+ Report ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_RectifierMonitor when Report ID is StatisticsOverview
+
+
+
+
+ Product Patch Revision.
+
+
+
+
+ Product Beta.
+
+
+
+
+ Product Major Revision.
+
+
+
+
+ Product Minor Revision.
+
+
+
+
+ Total Module Count.
+
+
+
+
+ Module Offset.
+
+
+
+
+ Payload Module Count.
+
+
+
+
+ [A]Module ID.
+
+
+
+
+ [A]Statistics Revision.
+
+
+
+
+ [A]Number of Bytes.
+
+
+
+
+ [B]Module ID.
+
+
+
+
+ [B]Statistics Revision.
+
+
+
+
+ [B]Number of Bytes.
+
+
+
+
+ [C]Module ID.
+
+
+
+
+ [C]Statistics Revision.
+
+
+
+
+ [C]Number of Bytes.
+
+
+
+
+ [D]Module ID.
+
+
+
+
+ [D]Statistics Revision.
+
+
+
+
+ [D]Number of Bytes.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDataReport_RectifierMonitor when Report ID is ModuleStatistics
+
+
+
+
+ Number of Bytes.
+
+
+
+
+ Module ID.
+
+
+
+
+ Statistics Revision.
+
+
+
+
+ Byte Offset.
+
+
+
+
+ Byte Count.
+
+
+
+
+ Raw Data.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Device Operation Request
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WWater when Operation is GetCurrentValveState
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WWater when Operation is CloseValve
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WWater when Operation is OpenValve
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WWater when Operation is TrickleValve
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WWater when Operation is TestValve
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WWater when Operation is NetworkAnalysis
+
+
+
+
+ Version.
+
+
+
+
+ Operation ID.
+
+
+
+
+ Count.
+
+
+
+
+ Delay (+6 seconds).
+
+
+
+
+ Customer ID.
+
+
+
+
+ Base.
+
+
+
+
+ Uplink Channel.
+
+
+
+
+ Downlink Channel.
+
+
+
+
+ Uplink Modulation.
+
+
+
+
+ Downlink Modulation.
+
+
+
+
+ TGB ID (optional).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WWater when Operation is BiDiTest
+
+
+
+
+ Operation ID.
+
+
+
+
+ Max Allowable Age.
+
+
+
+
+ Count.
+
+
+
+
+ Delay.
+
+
+
+
+ Test Command Length.
+
+
+
+
+ BiDi Command.
+
+
+
+
+ Num Pad Bytes.
+
+
+
+
+ Pre-Set Pad Fill Pattern.
+
+
+
+
+ Custom Pad Fill / Random Seed.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WWater when Operation is EnableAdvancedFeatures
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WWater when Operation is UnsealIPERLRegister
+
+
+
+
+ Hashkey.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WWater when Operation is TestComponent
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Device Operation Request when Device Type is NA2WGas
+
+
+
+
+ Operation.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WGas when Operation is ViewValveState
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WGas when Operation is NetworkAnalysis
+
+
+
+
+ Version.
+
+
+
+
+ Operation ID.
+
+
+
+
+ Count.
+
+
+
+
+ Delay (+6 seconds).
+
+
+
+
+ Customer ID.
+
+
+
+
+ Base.
+
+
+
+
+ Uplink Channel.
+
+
+
+
+ Downlink Channel.
+
+
+
+
+ Uplink Modulation.
+
+
+
+
+ Downlink Modulation.
+
+
+
+
+ TGB ID (optional).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WGas when Operation is ReedSwitchEvalTest
+
+
+
+
+ ms Per Revolution.
+
+
+
+
+ Num Test Revolutions.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Device Operation Request when Device Type is NA2WGSV
+
+
+
+
+ Operation.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Device Operation Request when Device Type is NA2WMLC
+
+
+
+
+ Operation Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WMLC when Operation Type is SetSchedule
+
+
+
+
+ Schedule Entry 1.
+
+
+
+
+ Schedule Entry 2.
+
+
+
+
+ Schedule Entry 3.
+
+
+
+
+ Schedule Entry 4.
+
+
+
+
+ Schedule Entry 5.
+
+
+
+
+ Schedule Entry 6.
+
+
+
+
+ Schedule Entry 7.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WMLC when Operation Type is ControlSchedule
+
+
+
+
+ Affect All.
+
+
+
+
+ Control Type.
+
+
+
+
+ Sun Slots.
+
+
+
+
+ Mon Slots.
+
+
+
+
+ Tue Slots.
+
+
+
+
+ Wed Slots.
+
+
+
+
+ Thu Slots.
+
+
+
+
+ Fri Slots.
+
+
+
+
+ Sat Slots.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WMLC when Operation Type is DiscoverByPoleID
+
+
+
+
+ Pole ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WMLC when Operation Type is SetBlinkPattern
+
+
+
+
+ Starting Second.
+
+
+
+
+ On Time (seconds).
+
+
+
+
+ Off Time (seconds).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WMLC when Operation Type is Override
+
+
+
+
+ Override Light Intensity.
+ Initial value is LightIntensity.Level6.
+
+
+
+
+ Override Pattern.
+
+
+
+
+ Override Time.
+
+
+
+
+ Override Event.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WMLC when Operation Type is ExecuteSelfDiscovery
+
+
+
+
+ Default Attribute Strings.
+
+
+
+
+ Inc Ch Config Seq Num.
+
+
+
+
+ Setup Dump.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WMLC when Operation Type is FindLocation
+
+
+
+
+ Setup Dump.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WMLC when Operation Type is ExecuteAutoInstall
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WMLC when Operation Type is OverrideArea
+
+
+
+
+ Override Light Intensity.
+ Initial value is LightIntensity.Level6.
+
+
+
+
+ Override Pattern.
+
+
+
+
+ Override Time.
+
+
+
+
+ Override Event.
+
+
+
+
+ Latitude.
+
+
+
+
+ Longitude.
+
+
+
+
+ Radius.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_NA2WMLC when Operation Type is RunDimAutoCal
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Device Operation Request when Device Type is LibertyGas
+
+
+
+
+ Operation.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Device Operation Request when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Operation.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_CathodicProtectionMetrology when Operation is OpenRelay
+
+
+
+
+ Timeout (sec).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_CathodicProtectionMetrology when Operation is CloseRelay
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_CathodicProtectionMetrology when Operation is ScheduledOffRead
+
+
+
+
+ Start Time.
+
+
+
+
+ Numer of Cycles.
+
+
+
+
+ Trigger Threshold (mV).
+
+
+
+
+ Trigger Holdoff (ms).
+
+
+
+
+ Response Window (min).
+
+
+
+
+ Operation Identifier.
+
+
+
+
+ Result Tx Override.
+
+
+
+
+ Result Repeats.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_CathodicProtectionMetrology when Operation is ServiceMode
+
+
+
+
+ Timeout (min).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Device Operation Request when Device Type is MainsEndpoint
+
+
+
+
+ Operation.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_MainsEndpoint when Operation is ServiceMode
+
+
+
+
+ Timeout (min).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Device Operation Request when Device Type is RectifierMonitor
+
+
+
+
+ Operation.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationRequest_RectifierMonitor when Operation is ScheduledInterruption
+
+
+
+
+ Start Time.
+
+
+
+
+ Numer of Cycles.
+
+
+
+
+ Interrupter Off Time (ms).
+
+
+
+
+ Interrupter On Time (ms).
+
+
+
+
+ Response Window (min).
+
+
+
+
+ Operation Identifier.
+
+
+
+
+ Result Tx Override.
+
+
+
+
+ Result Repeats.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WWater when Operation is GetCurrentValveState
+
+
+
+
+ Operation Result.
+
+
+
+
+ Expected Valve State.
+
+
+
+
+ Actual Valve State.
+
+
+
+
+ Valve Actuation Reason.
+
+
+
+
+ Autonomous Event Request Channel.
+
+
+
+
+ Autonomous Event Alarm ID.
+
+
+
+
+ Autonomous Event Alarm Config Seq Num.
+
+
+
+
+ Autonomous Event Metro Config Seq Num.
+
+
+
+
+ Number of Valve Actuations to Date.
+
+
+
+
+ Time Since Event.
+
+
+
+
+ Current Reading Valid.
+
+
+
+
+ Current Reading.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WWater when Operation is CloseValve
+
+
+
+
+ Operation Result.
+
+
+
+
+ Expected Valve State.
+
+
+
+
+ Actual Valve State.
+
+
+
+
+ Valve Actuation Reason.
+
+
+
+
+ Autonomous Event Request Channel.
+
+
+
+
+ Autonomous Event Alarm ID.
+
+
+
+
+ Autonomous Event Alarm Config Seq Num.
+
+
+
+
+ Autonomous Event Metro Config Seq Num.
+
+
+
+
+ Number of Valve Actuations to Date.
+
+
+
+
+ Time Since Event.
+
+
+
+
+ Current Reading Valid.
+
+
+
+
+ Current Reading.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WWater when Operation is OpenValve
+
+
+
+
+ Operation Result.
+
+
+
+
+ Expected Valve State.
+
+
+
+
+ Actual Valve State.
+
+
+
+
+ Valve Actuation Reason.
+
+
+
+
+ Autonomous Event Request Channel.
+
+
+
+
+ Autonomous Event Alarm ID.
+
+
+
+
+ Autonomous Event Alarm Config Seq Num.
+
+
+
+
+ Autonomous Event Metro Config Seq Num.
+
+
+
+
+ Number of Valve Actuations to Date.
+
+
+
+
+ Time Since Event.
+
+
+
+
+ Current Reading Valid.
+
+
+
+
+ Current Reading.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WWater when Operation is TrickleValve
+
+
+
+
+ Operation Result.
+
+
+
+
+ Expected Valve State.
+
+
+
+
+ Actual Valve State.
+
+
+
+
+ Valve Actuation Reason.
+
+
+
+
+ Autonomous Event Request Channel.
+
+
+
+
+ Autonomous Event Alarm ID.
+
+
+
+
+ Autonomous Event Alarm Config Seq Num.
+
+
+
+
+ Autonomous Event Metro Config Seq Num.
+
+
+
+
+ Number of Valve Actuations to Date.
+
+
+
+
+ Time Since Event.
+
+
+
+
+ Current Reading Valid.
+
+
+
+
+ Current Reading.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WWater when Operation is TestValve
+
+
+
+
+ Operation Result.
+
+
+
+
+ Expected Valve State.
+
+
+
+
+ Actual Valve State.
+
+
+
+
+ Valve Actuation Reason.
+
+
+
+
+ Autonomous Event Request Channel.
+
+
+
+
+ Autonomous Event Alarm ID.
+
+
+
+
+ Autonomous Event Alarm Config Seq Num.
+
+
+
+
+ Autonomous Event Metro Config Seq Num.
+
+
+
+
+ Number of Valve Actuations to Date.
+
+
+
+
+ Time Since Event.
+
+
+
+
+ Current Reading Valid.
+
+
+
+
+ Current Reading.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WWater when Operation is StateMismatch
+
+
+
+
+ Operation Result.
+
+
+
+
+ Expected Valve State.
+
+
+
+
+ Actual Valve State.
+
+
+
+
+ Valve Actuation Reason.
+
+
+
+
+ Autonomous Event Request Channel.
+
+
+
+
+ Autonomous Event Alarm ID.
+
+
+
+
+ Autonomous Event Alarm Config Seq Num.
+
+
+
+
+ Autonomous Event Metro Config Seq Num.
+
+
+
+
+ Number of Valve Actuations to Date.
+
+
+
+
+ Time Since Event.
+
+
+
+
+ Current Reading Valid.
+
+
+
+
+ Current Reading.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WWater when Operation is NetworkAnalysis
+
+
+
+
+ Operation Result.
+
+
+
+
+ Version.
+
+
+
+
+ Operation ID.
+
+
+
+
+ Ping Count.
+
+
+
+
+ Ping Delay.
+
+
+
+
+ TGBs in Result.
+
+
+
+
+ TGBs Heard.
+
+
+
+
+ TGB ID 0.
+
+
+
+
+ TGB 0 Times Heard.
+
+
+
+
+ TGB 0 Supports FNv2.
+
+
+
+
+ TGB 0 Uplink Signal.
+
+
+
+
+ TGB 0 Uplink Noise.
+
+
+
+
+ TGB 0 Downlink Signal.
+
+
+
+
+ TGB 0 Downlink Noise.
+
+
+
+
+ TGB ID 1.
+
+
+
+
+ TGB 1 Times Heard.
+
+
+
+
+ TGB 1 Supports FNv2.
+
+
+
+
+ TGB 1 Uplink Signal.
+
+
+
+
+ TGB 1 Uplink Noise.
+
+
+
+
+ TGB 1 Downlink Signal.
+
+
+
+
+ TGB 1 Downlink Noise.
+
+
+
+
+ TGB ID 2.
+
+
+
+
+ TGB 2 Times Heard.
+
+
+
+
+ TGB 2 Supports FNv2.
+
+
+
+
+ TGB 2 Uplink Signal.
+
+
+
+
+ TGB 2 Uplink Noise.
+
+
+
+
+ TGB 2 Downlink Signal.
+
+
+
+
+ TGB 2 Downlink Noise.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WWater when Operation is BiDiTest
+
+
+
+
+ Operation Result.
+
+
+
+
+ Status.
+
+
+
+
+ Operation ID.
+
+
+
+
+ Time Since Start.
+
+
+
+
+ Count.
+
+
+
+
+ Delay.
+
+
+
+
+ Response Requested.
+
+
+
+
+ Command Length.
+
+
+
+
+ Pre-Set Pad Fill Pattern.
+
+
+
+
+ BiDi Command.
+
+
+
+
+ Pad Bytes.
+
+
+
+
+ Custom Pad Fill / Random Seed.
+
+
+
+
+ Current Count.
+
+
+
+
+ Success Count.
+
+
+
+
+ Fail Initial Count.
+
+
+
+
+ Fail Response Count.
+
+
+
+
+ Fail Parsing Count.
+
+
+
+
+ Fail Resources Count.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WWater when Operation is EnableAdvancedFeatures
+
+
+
+
+ Operation Result.
+
+
+
+
+ Status.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WWater when Operation is UnsealIPERLRegister
+
+
+
+
+ Operation Result.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WWater when Operation is TestComponent
+
+
+
+
+ Operation Result.
+
+
+
+
+ Component ID.
+
+
+
+
+ Action.
+
+
+
+
+ # of Loops.
+
+
+
+
+ Current Offset.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Device Operation Result when Device Type is NA2WGas
+
+
+
+
+ Operation.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WGas when Operation is ViewValveState
+
+
+
+
+ Operation Result.
+
+
+
+
+ Expected Valve State.
+
+
+
+
+ Actual Valve State.
+
+
+
+
+ Valve Actuation Reason.
+
+
+
+
+ Autonomous Event Request Channel.
+
+
+
+
+ Autonomous Event Alarm ID.
+
+
+
+
+ Autonomous Event Alarm Config Seq Num.
+
+
+
+
+ Autonomous Event Metro Config Seq Num.
+
+
+
+
+ Number of Valve Actuations to Date.
+
+
+
+
+ Time Since Event.
+
+
+
+
+ Current Reading Valid.
+
+
+
+
+ Current Reading.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Is Predefined?.
+
+
+
+
+ Retries Remaining.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WGas when Operation is NetworkAnalysis
+
+
+
+
+ Operation Result.
+
+
+
+
+ Version.
+
+
+
+
+ Operation ID.
+
+
+
+
+ Ping Count.
+
+
+
+
+ Ping Delay.
+
+
+
+
+ TGBs in Result.
+
+
+
+
+ TGBs Heard.
+
+
+
+
+ TGB ID 0.
+
+
+
+
+ TGB 0 Times Heard.
+
+
+
+
+ TGB 0 Supports FNv2.
+
+
+
+
+ TGB 0 Uplink Signal.
+
+
+
+
+ TGB 0 Uplink Noise.
+
+
+
+
+ TGB 0 Downlink Signal.
+
+
+
+
+ TGB 0 Downlink Noise.
+
+
+
+
+ TGB ID 1.
+
+
+
+
+ TGB 1 Times Heard.
+
+
+
+
+ TGB 1 Supports FNv2.
+
+
+
+
+ TGB 1 Uplink Signal.
+
+
+
+
+ TGB 1 Uplink Noise.
+
+
+
+
+ TGB 1 Downlink Signal.
+
+
+
+
+ TGB 1 Downlink Noise.
+
+
+
+
+ TGB ID 2.
+
+
+
+
+ TGB 2 Times Heard.
+
+
+
+
+ TGB 2 Supports FNv2.
+
+
+
+
+ TGB 2 Uplink Signal.
+
+
+
+
+ TGB 2 Uplink Noise.
+
+
+
+
+ TGB 2 Downlink Signal.
+
+
+
+
+ TGB 2 Downlink Noise.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WGas when Operation is ReedSwitchEvalTest
+
+
+
+
+ Operation Result.
+
+
+
+
+ Raw Results.
+
+
+
+
+ Degrees[0].
+
+
+
+
+ Degrees[1].
+
+
+
+
+ Degrees[2].
+
+
+
+
+ Degrees[3].
+
+
+
+
+ SwitchState[0].
+
+
+
+
+ SwitchState[1].
+
+
+
+
+ SwitchState[2].
+
+
+
+
+ SwitchState[3].
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WGas when Operation is TestComponent
+
+
+
+
+ Operation Result.
+
+
+
+
+ Component ID.
+
+
+
+
+ Action.
+
+
+
+
+ # of Loops.
+
+
+
+
+ Current Offset.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Device Operation Result when Device Type is NA2WGSV
+
+
+
+
+ Operation.
+
+
+
+
+ Operation Result.
+
+
+
+
+ Reading.
+
+
+
+
+ Expected Valve Position.
+
+
+
+
+ Actual Valve Position.
+
+
+
+
+ Last Valve Change Reason.
+
+
+
+
+ Is Reading Valid.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Device Operation Result when Device Type is NA2WMLC
+
+
+
+
+ Operation Code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WMLC when Operation Code is SetSchedule
+
+
+
+
+ Operation Result.
+
+
+
+
+ Intensity.
+
+
+
+
+ Light State.
+
+
+
+
+ Override Active.
+
+
+
+
+ Sun Rise/Set Active.
+
+
+
+
+ Schedule Active.
+
+
+
+
+ Pole ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WMLC when Operation Code is ControlSchedule
+
+
+
+
+ Operation Result.
+
+
+
+
+ Intensity.
+
+
+
+
+ Light State.
+
+
+
+
+ Override Active.
+
+
+
+
+ Sun Rise/Set Active.
+
+
+
+
+ Schedule Active.
+
+
+
+
+ Pole ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WMLC when Operation Code is DiscoverByPoleID
+
+
+
+
+ Operation Result.
+
+
+
+
+ Intensity.
+
+
+
+
+ Light State.
+
+
+
+
+ Override Active.
+
+
+
+
+ Sun Rise/Set Active.
+
+
+
+
+ Schedule Active.
+
+
+
+
+ Pole ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WMLC when Operation Code is SetBlinkPattern
+
+
+
+
+ Operation Result.
+
+
+
+
+ Intensity.
+
+
+
+
+ Light State.
+
+
+
+
+ Override Active.
+
+
+
+
+ Sun Rise/Set Active.
+
+
+
+
+ Schedule Active.
+
+
+
+
+ Pole ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WMLC when Operation Code is Override
+
+
+
+
+ Operation Result.
+
+
+
+
+ Intensity.
+
+
+
+
+ Light State.
+
+
+
+
+ Override Active.
+
+
+
+
+ Sun Rise/Set Active.
+
+
+
+
+ Schedule Active.
+
+
+
+
+ Pole ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WMLC when Operation Code is ExecuteSelfDiscovery
+
+
+
+
+ Operation Result.
+
+
+
+
+ Intensity.
+
+
+
+
+ Light State.
+
+
+
+
+ Override Active.
+
+
+
+
+ Sun Rise/Set Active.
+
+
+
+
+ Schedule Active.
+
+
+
+
+ Pole ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WMLC when Operation Code is FindLocation
+
+
+
+
+ Operation Result.
+
+
+
+
+ Intensity.
+
+
+
+
+ Light State.
+
+
+
+
+ Override Active.
+
+
+
+
+ Sun Rise/Set Active.
+
+
+
+
+ Schedule Active.
+
+
+
+
+ Pole ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WMLC when Operation Code is ExecuteAutoInstall
+
+
+
+
+ Operation Result.
+
+
+
+
+ Intensity.
+
+
+
+
+ Light State.
+
+
+
+
+ Override Active.
+
+
+
+
+ Sun Rise/Set Active.
+
+
+
+
+ Schedule Active.
+
+
+
+
+ Pole ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WMLC when Operation Code is OverrideArea
+
+
+
+
+ Operation Result.
+
+
+
+
+ Intensity.
+
+
+
+
+ Light State.
+
+
+
+
+ Override Active.
+
+
+
+
+ Sun Rise/Set Active.
+
+
+
+
+ Schedule Active.
+
+
+
+
+ Pole ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_NA2WMLC when Operation Code is TestComponent
+
+
+
+
+ Operation Result.
+
+
+
+
+ Component ID.
+
+
+
+
+ Light State.
+
+
+
+
+ Loop Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Device Operation Result when Device Type is NA2W3PortRemoteGas
+
+
+
+
+ Operation.
+
+
+
+
+ Operation Result.
+
+
+
+
+ Component ID.
+
+
+
+
+ Action.
+
+
+
+
+ # of Loops.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Device Operation Result when Device Type is LibertyGas
+
+
+
+
+ Operation.
+
+
+
+
+ Operation Result.
+
+
+
+
+ Reading.
+
+
+
+
+ Actual Valve Position.
+
+
+
+
+ Is Reading Valid.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Device Operation Result when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Operation Code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_CathodicProtectionMetrology when Operation Code is OpenRelay
+
+
+
+
+ Operation Result.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_CathodicProtectionMetrology when Operation Code is CloseRelay
+
+
+
+
+ Operation Result.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_CathodicProtectionMetrology when Operation Code is ScheduledOffRead
+
+
+
+
+ Operation Result.
+
+
+
+
+ Time Synced.
+
+
+
+
+ Message Version.
+
+
+
+
+ Number of Cycles.
+
+
+
+
+ Number of Valid Reads.
+
+
+
+
+ All Readings Min.
+
+
+
+
+ All Readings Max.
+
+
+
+
+ All Readings Average.
+
+
+
+
+ Operation Identifier.
+
+
+
+
+ Metrology Configuration Sequence Number.
+
+
+
+
+ Synced Readings Min.
+
+
+
+
+ Synced Readings Max.
+
+
+
+
+ Synced Readings Average.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_CathodicProtectionMetrology when Operation Code is ServiceMode
+
+
+
+
+ Operation Result.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Device Operation Result when Device Type is MainsEndpoint
+
+
+
+
+ Operation Code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_MainsEndpoint when Operation Code is ServiceMode
+
+
+
+
+ Operation Result.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Device Operation Result when Device Type is RectifierMonitor
+
+
+
+
+ Operation Code.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WDeviceOperationResult_RectifierMonitor when Operation Code is ScheduledInterruption
+
+
+
+
+ Operation Result.
+
+
+
+
+ Number of Cycles.
+
+
+
+
+ Operation Identifier.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W EP Capabilities
+
+
+
+
+ Device Type.
+
+
+
+
+ Max UART Packet Length.
+
+
+
+
+ Max ASK Packet Length.
+
+
+
+
+ Max On-Air Packet Length.
+
+
+
+
+ Channels Used.
+
+
+
+
+ Total Channels.
+
+
+
+
+ Number Attribute Strings.
+
+
+
+
+ Ext Flash Manufacturer ID.
+
+
+
+
+ Ext Flash Device ID.
+
+
+
+
+ Board Type.
+
+
+
+
+ RF Phy Type.
+
+
+
+
+ RF Freq. Band.
+
+
+
+
+ TCXO Frequency.
+
+
+
+
+ HF Xtal Speed.
+
+
+
+
+ RF IC Part num/rev.
+
+
+
+
+ IIT Threshold FB LAT (days).
+
+
+
+
+ IIT Threshold FB MoM (min).
+
+
+
+
+ Setup Dump Count.
+
+
+
+
+ Setup Dump Delay (sec).
+
+
+
+
+ Bootloader Version Field A.
+
+
+
+
+ Bootloader Version Field B.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W EP Setup Audit
+
+
+
+
+ Customer ID.
+
+
+
+
+ Top Level State.
+
+
+
+
+ FlexNet Network.
+
+
+
+
+ LAT Occurrence [Idle].
+
+
+
+
+ LAT Occurrence [WB/DB].
+
+
+
+
+ LAT Occurrence [FB LAT].
+
+
+
+
+ LAT Occurrence [FB MoM].
+
+
+
+
+ WB/DB Sniff [Idle] (sec).
+
+
+
+
+ WB/DB Sniff [WB/DB] (sec).
+
+
+
+
+ WB/DB Sniff [FB LAT] (sec).
+
+
+
+
+ WB/DB Sniff [FB MoM] (sec).
+
+
+
+
+ Tx OpMode [Idle].
+
+
+
+
+ Tx OpMode [WB/DB].
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ Encryption Enabled [Idle].
+
+
+
+
+ Encryption Enabled [WB/DB].
+
+
+
+
+ Encryption Enabled [FB LAT].
+
+
+
+
+ Encryption Enabled [FB MoM].
+
+
+
+
+ Supervisory Transmit Rate [Idle].
+
+
+
+
+ Supervisory Transmit Rate [WB/DB].
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ LAT Delay [HHD].
+
+
+
+
+ LAT Delay [VGB].
+
+
+
+
+ LAT Delay [TGB].
+
+
+
+
+ LAT Rx On Time [HHD].
+
+
+
+
+ LAT Rx On Time [VGB].
+
+
+
+
+ LAT Rx On Time [TGB].
+
+
+
+
+ Net Sync Period.
+
+
+
+
+ Net Sync Start Sec.
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Field Features.
+
+
+
+
+ Latitude.
+
+
+
+
+ Longitude.
+
+
+
+
+ Alarm Suppression Disabled.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Firmware Image Check Response
+
+
+
+
+ Number Missing Blocks.
+
+
+
+
+ Total Missing Blocks.
+
+
+
+
+ Missing Block 1.
+
+
+
+
+ Missing Block 2.
+
+
+
+
+ Missing Block 3.
+
+
+
+
+ Missing Block 4.
+
+
+
+
+ Missing Block 5.
+
+
+
+
+ Missing Block 6.
+
+
+
+
+ Missing Block 7.
+
+
+
+
+ Missing Block 8.
+
+
+
+
+ Missing Block 9.
+
+
+
+
+ Missing Block 10.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Install Audit
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Normal Channel (TxA).
+
+
+
+
+ Tx Channel B (TxB).
+
+
+
+
+ Tx Channel C (TxC).
+
+
+
+
+ C&I Channel (TxD).
+
+
+
+
+ mPass Channel (5 kbps, RxA).
+
+
+
+
+ mPass2 Channel (10 kbps, RxB).
+
+
+
+
+ Boost Channel.
+
+
+
+
+ Boost Subchannel.
+
+
+
+
+ Boost-hopping Enabled.
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Programmer ID.
+
+
+
+
+ RTC Seconds.
+
+
+
+
+ RTC Hour.
+
+
+
+
+ Epoch Time.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Apply MAS Channel Shift.
+
+
+
+
+ Use 1-Way Protocol.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Interval Data Page
+
+
+
+
+ Page Number.
+
+
+
+
+ Has Absolute Reading.
+
+
+
+
+ Is Last Page.
+
+
+
+
+ Is First Page.
+
+
+
+
+ Page Type.
+
+
+
+
+ Raw Data.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Interval Data Page when Page Type is ContinuationPage
+
+
+
+
+ Reading Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WIntervalDataPage_ContinuationPage when Reading Type is CompressedOnly
+
+
+
+
+ Compressed Deltas.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WIntervalDataPage_ContinuationPage when Reading Type is AbsoluteAndCompressedReadings
+
+
+
+
+ Absolute Meter Reading.
+
+
+
+
+ Compressed Deltas.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Interval Data Page when Page Type is FirstPage
+
+
+
+
+ Current Meter Reading Age [Low 5 Bits] (minutes).
+
+
+
+
+ MSR.
+
+
+
+
+ Current Meter Reading Age [High 8 Bits] (minutes).
+
+
+
+
+ Current Meter Reading.
+
+
+
+
+ Compressed Deltas.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Meters Found
+
+
+
+
+ Message Version.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W Set Attribute String when Device Type is NA2WWater
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_NA2WWater when Attribute ID is MeterBodyID
+
+
+
+
+ Meter Body ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_NA2WWater when Attribute ID is Elevation
+
+
+
+
+ Elevation.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_NA2WWater when Attribute ID is DonTUse1
+
+
+
+
+ Don't Use 1.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_NA2WWater when Attribute ID is DonTUse2
+
+
+
+
+ Don't Use 2.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Set Attribute String when Device Type is NA2WMLC
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_NA2WMLC when Attribute ID is UpperAssemblySerialNumber
+
+
+
+
+ Upper assembly Serial Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_NA2WMLC when Attribute ID is LowerAssemblySerialNumber
+
+
+
+
+ Lower assembly Serial Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_NA2WMLC when Attribute ID is BallastSerialNumber
+
+
+
+
+ Ballast Serial Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_NA2WMLC when Attribute ID is BulbSerialNumber
+
+
+
+
+ Bulb Serial Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_NA2WMLC when Attribute ID is ProductModelNumber
+
+
+
+
+ Product Model Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_NA2WMLC when Attribute ID is ProductSerialNumber
+
+
+
+
+ Product Serial Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_NA2WMLC when Attribute ID is Ballast2SerialNumber
+
+
+
+
+ Ballast 2 serial number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_NA2WMLC when Attribute ID is Bulb2SerialNumber
+
+
+
+
+ Bulb 2 serial number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_NA2WMLC when Attribute ID is AuxSerialNumber
+
+
+
+
+ Aux serial number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_NA2WMLC when Attribute ID is Aux2SerialNumber
+
+
+
+
+ Aux 2 serial number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Set Attribute String when Device Type is RawMetrology
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RawMetrology when Attribute ID is SensorManufacturer
+
+
+
+
+ Sensor Manufacturer.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RawMetrology when Attribute ID is SensorModel
+
+
+
+
+ Sensor Model.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RawMetrology when Attribute ID is SensorSerialNumber
+
+
+
+
+ Sensor Serial Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RawMetrology when Attribute ID is MeasurementFormulaPart1
+
+
+
+
+ Measurement Formual Part 1.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RawMetrology when Attribute ID is MeasurementFormulaPart2
+
+
+
+
+ Measurement Formula Part 2.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RawMetrology when Attribute ID is MeasurementFormulaPart3
+
+
+
+
+ Measurement Formula Part 3.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RawMetrology when Attribute ID is MeasurementFormulaPart4
+
+
+
+
+ Measurement Formula Part 4.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RawMetrology when Attribute ID is ThresholdFormulaPart1
+
+
+
+
+ Threshold Formula Part 1.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RawMetrology when Attribute ID is ThresholdFormulaPart2
+
+
+
+
+ Threshold Formula Part 2.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RawMetrology when Attribute ID is ThresholdFormulaPart3
+
+
+
+
+ Threshold Formula Part 3.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RawMetrology when Attribute ID is ThresholdFormulaPart4
+
+
+
+
+ Threshold Formula Part 4.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RawMetrology when Attribute ID is Elevation
+
+
+
+
+ Elevation.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RawMetrology when Attribute ID is SensorUnitsPart1
+
+
+
+
+ Sensor Units Part 1.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RawMetrology when Attribute ID is SensorUnitsPart2
+
+
+
+
+ Sensor Units Part 2.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Set Attribute String when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_CathodicProtectionMetrology when Attribute ID is AssetDescription1
+
+
+
+
+ Asset Description 1.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_CathodicProtectionMetrology when Attribute ID is AssetDescription2
+
+
+
+
+ Asset Description 2.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_CathodicProtectionMetrology when Attribute ID is AssetDescription3
+
+
+
+
+ Asset Description 3.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_CathodicProtectionMetrology when Attribute ID is AssetDescription4
+
+
+
+
+ Asset Description 4.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Set Attribute String when Device Type is RectifierMonitor
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RectifierMonitor when Attribute ID is AssetDescription1
+
+
+
+
+ Asset Description 1.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RectifierMonitor when Attribute ID is AssetDescription2
+
+
+
+
+ Asset Description 2.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RectifierMonitor when Attribute ID is AssetDescription3
+
+
+
+
+ Asset Description 3.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WSetAttributeString_RectifierMonitor when Attribute ID is AssetDescription4
+
+
+
+
+ Asset Description 4.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W Switch Top Level State
+
+
+
+
+ RTC Seconds.
+ Seconds since top-of-hour..
+
+
+
+
+ RTC Hour.
+
+
+
+
+ Epoch Time.
+ Seconds since midnight Jan 1, 2000 UTC..
+
+
+
+
+ Time Zone.
+
+
+
+
+ Top Level State.
+
+
+
+
+ Top Level State Changed.
+
+
+
+
+ Preserve TGB Characterization Table.
+
+
+
+
+ Net Sync Start Sec.
+
+
+
+
+ Net Sync Start Sec Change.
+
+
+
+
+ Net Sync Period.
+
+
+
+
+ Net Sync Period Change.
+
+
+
+
+ Target Timeslot.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ NA2W WB/DB Read when Device Type is NA2WWater
+
+
+
+
+ Reading.
+
+
+
+
+ Encoder Digits.
+
+
+
+
+ Serial Number.
+
+
+
+
+ Historical (35-Day) Alarms.
+
+
+
+
+ Has Valve.
+
+
+
+
+ Actual Valve State.
+
+
+
+
+ WD Resets.
+
+
+
+
+ Meter Type.
+
+
+
+
+ FB Suppressing Gen2.
+
+
+
+
+ WBDB Suppressing Gen2.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WWBDBRead_NA2WWater when Meter Type is NoMeterAttached
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WWBDBRead_NA2WWater when Meter Type is SingleSwitchPulse
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WWBDBRead_NA2WWater when Meter Type is Sensus3Wire
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WWBDBRead_NA2WWater when Meter Type is SensusTouchCoupler
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WWBDBRead_NA2WWater when Meter Type is NeptuneProRead6Digit
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WWBDBRead_NA2WWater when Meter Type is BadgerRTR
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WWBDBRead_NA2WWater when Meter Type is AMCOScanCoder
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WWBDBRead_NA2WWater when Meter Type is AMCOInVision
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WWBDBRead_NA2WWater when Meter Type is NeptuneECoder8Digit
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WWBDBRead_NA2WWater when Meter Type is WirelessRegister
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WWBDBRead_NA2WWater when Meter Type is SmartMeter3Wire
+
+
+
+
+ Alpha 1.
+
+
+
+
+ Alpha 2.
+
+
+
+
+ Alpha 3.
+
+
+
+
+ Alpha 4.
+
+
+
+
+ Is Beta Active.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WWBDBRead_NA2WWater when Meter Type is SmartMeterTouchCoupler
+
+
+
+
+ Alpha 1.
+
+
+
+
+ Alpha 2.
+
+
+
+
+ Alpha 3.
+
+
+
+
+ Alpha 4.
+
+
+
+
+ Is Beta Active.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WWBDBRead_NA2WWater when Meter Type is SmartMeterGen2
+
+
+
+
+ Meter Has WD Reset.
+
+
+
+
+ Meter Battery Issue Flag.
+
+
+
+
+ Meter HW Problem Flag.
+
+
+
+
+ Meter Tamper Flag.
+
+
+
+
+ Meter Empty Pipe Flag.
+
+
+
+
+ User-defined alarm state.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W WB/DB Read when Device Type is NA2WGas
+
+
+
+
+ Reading.
+
+
+
+
+ Encoder Digits.
+
+
+
+
+ Serial Number.
+
+
+
+
+ Historical (35-Day) Alarms.
+
+
+
+
+ Has Valve.
+
+
+
+
+ Actual Valve State.
+
+
+
+
+ WD Resets.
+
+
+
+
+ Meter Type.
+
+
+
+
+ FB Suppressing Gen2.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WWBDBRead_NA2WGas when Meter Type is NoMeterAttached
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WWBDBRead_NA2WGas when Meter Type is RemoteMount
+
+
+
+
+ Alpha 1.
+
+
+
+
+ Alpha 2.
+
+
+
+
+ Alpha 3.
+
+
+
+
+ Alpha 4.
+
+
+
+
+ Is Beta Active.
+
+
+
+
+ WBDB Suppressing Gen2.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WWBDBRead_NA2WGas when Meter Type is DirectMount
+
+
+
+
+ Alpha 1.
+
+
+
+
+ Alpha 2.
+
+
+
+
+ Alpha 3.
+
+
+
+
+ Alpha 4.
+
+
+
+
+ Is Beta Active.
+
+
+
+
+ WBDB Suppressing Gen2.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2WWBDBRead_NA2WGas when Meter Type is SmartMeterGen2
+
+
+
+
+ Meter Reset.
+
+
+
+
+ Active or Persistent UDA Mask.
+
+
+
+
+ Alarm Category A.
+
+
+
+
+ Alarm Category b.
+
+
+
+
+ Alarm Category c.
+
+
+
+
+ Alarm Category E.
+
+
+
+
+ Alarm Category L.
+
+
+
+
+ Alarm Category r.
+
+
+
+
+ Alarm Category P.
+
+
+
+
+ Alarm Category t.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W WB/DB Read when Device Type is NA2WGSV
+
+
+
+
+ Reading.
+
+
+
+
+ Expected Valve Position.
+
+
+
+
+ Actual Valve Position.
+
+
+
+
+ Last Valve Change Reason.
+
+
+
+
+ Is Reading Valid.
+
+
+
+
+ Pressure Scale Factor.
+
+
+
+
+ Serial Number.
+
+
+
+
+ Historical (35-Day) Alarms.
+
+
+
+
+ WD Resets.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W WB/DB Read when Device Type is NA2W3PortRemoteGas
+
+
+
+
+ Port 1 Reading.
+
+
+
+
+ Port 2 Reading.
+
+
+
+
+ Port 1 Reading Digits.
+
+
+
+
+ Port 2 Reading Digits.
+
+
+
+
+ Serial Number.
+
+
+
+
+ Historical (35-Day) Alarms.
+
+
+
+
+ WD Resets.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ NA2W WB/DB Read when Device Type is LibertyGas
+
+
+
+
+ Reading.
+
+
+
+
+ Encoder Digits.
+
+
+
+
+ Meter Type.
+
+
+
+
+ Serial Number.
+
+
+
+
+ Historical (35-Day) Alarms.
+
+
+
+
+ WD Resets.
+
+
+
+
+ Alpha 1.
+
+
+
+
+ Alpha 2.
+
+
+
+
+ Alpha 3.
+
+
+
+
+ Alpha 4.
+
+
+
+
+ Is Beta Active.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping
+
+
+
+
+ Legacy Override Mode.
+
+
+
+
+ Ping Type.
+
+
+
+
+ Ping Data.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Ping when Ping Type is Normal
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is Configuration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is DemandRead
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is HHMPassBinding_BuddyAllowed
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is HHMPassBinding_BuddyDisabled
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is Alarm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is HHMPassAlarm_BuddyDisabled
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is HHMPassDemandRead_BuddyDisabled
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is MeterReadingMessage
+
+
+
+
+ Reset TFX Timing.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is TierData
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is DemandReadPingOnly
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is SingleTierMessage
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is ExtendedSetup
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is Setup
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is Binding
+
+
+
+
+ Set Just Programmed Bit.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is ElectricIntervalData
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is ElectricIntervalDataFromAddress
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is ElectricIntervalDataClear
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is SingleTierMessageWithRead
+
+
+
+
+ Tier.
+
+
+
+
+ Sub-tier.
+
+
+
+
+ Data Table.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is DemandHistory
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is HHDInstallationInformation
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is HomeLANPing
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IConAEnhancedAlarm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is GroupAddressVector
+
+
+
+
+ Page Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IConSerialNumber
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IConStyleNumber
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IConMeterFormAndVoltage
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IConCTPTMultipliers
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IConReversePowerErrorResetSettings
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IConLCDFormatCurrentDisplayList
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is DemandEnableStatusIntervalConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is TOUEnableStatusTierAndSeasonConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is TOUCurrentYearHolidays
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is TOUNextYearHolidays
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is ClickHistory
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is LoadLimitStatusThreshold
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is AdvancedVoltageQualitySettings
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is TOUAutoPushOptions
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IConACurrentTOUTierData
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IConACurrentTOUDualTierPing_NoMeterRead
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IConACurrentTOUDualTierPing_MeterRead
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IConALoadProfileData
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is FlexNetAdvancedSetup
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is CnIHighResReadWithPulseData
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is ReadTimeAdjustmentLog
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is WhoIsYourBuddy
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IConADailyRead
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is TOUDayType
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IConAFactoryConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IConASendTOURateAndCurrentTime
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is CombinedExtendedSetupAndBind
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is AESKeyBinding
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is LoadProfileMultiBlock
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is LoadProfileSingleBlockSegment
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is RequestNA2WInformation
+
+
+
+
+ Info Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is Standard
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP1
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP2
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP3
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP4
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP5
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP6
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP7
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP8
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP9
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP10
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP100
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP101
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP102
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_RequestNA2WInformation when Info Type is StatisticsP103
+
+
+
+
+ Channel Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is RequestAllFlexNetIDs
+
+
+
+
+ Meters Found Message Version.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is RequestBothSerialNumbers
+
+
+
+
+ Channel Number.
+
+
+
+
+ Request Meter Serial Numbers.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is NA2WConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IConAServiceQuality
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is BuddyThrottleConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IConAWeeklyAlarm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is NA2WIntervalData
+
+
+
+
+ Interval Data Command.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WIntervalData when Interval Data Command is Start
+
+
+
+
+ Channel (3-Port Remote Gas Only).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WIntervalData when Interval Data Command is Continue
+
+
+
+
+ Channel (3-Port Remote Gas Only).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WIntervalData when Interval Data Command is Ack
+
+
+
+
+ Channel (3-Port Remote Gas Only).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WIntervalData when Interval Data Command is StoreIDEntry
+
+
+
+
+ Reading.
+
+
+
+
+ Alarms (raw hex).
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is NA2WEPSetupAudit
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is NA2WInstallAudit
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is NA2WChannelSetupAudit
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is SmartMeterAlarm
+
+
+
+
+ Page or Alarm ID.
+ Initial value is 0.
+
+
+
+
+ Alarm category.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is NA2WStatusRequest
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is AESLastCommandInfo
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is NA2WChannelSetup2Audit
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is NA2WSchedule
+
+
+
+
+ Page.
+ Initial value is 0.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is NA2WCalibration
+
+
+
+
+ Page.
+ Initial value is 0.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is ExtendedQuery
+
+
+
+
+ Extened Query Sub Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WAttributeString when Device Type is NA2WWater
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WAttributeString when Device Type is NA2WGas
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WAttributeString when Device Type is NA2WMLC
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WAttributeString when Device Type is RawMetrology
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WAttributeString when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WAttributeString when Device Type is RectifierMonitor
+
+
+
+
+ Attribute ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is RequestBoardIDInfo
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is UniversalFWVersion
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IPInterfaceConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is IPInterfaceList
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is NA2WDataReport
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport when Device Type is NA2WMLC
+
+
+
+
+ Report ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport when Device Type is NA2WWater
+
+
+
+
+ Report ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is StatisticsOverview
+
+
+
+
+ Module Offset.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is ModuleStatistics
+
+
+
+
+ Module ID.
+
+
+
+
+ Byte Offset.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is TfxConfig
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is TfxLinkStatus
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is MemoryDump
+
+
+
+
+ Source.
+
+
+
+
+ Address.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is MultipleChannelOnDemandRead
+
+
+
+
+ Read Channel 0.
+
+
+
+
+ Read Channel 1.
+
+
+
+
+ Read Channel 2.
+
+
+
+
+ Read Channel 3.
+
+
+
+
+ Read Channel 4.
+
+
+
+
+ Read Channel 5.
+
+
+
+
+ Read Channel 6.
+
+
+
+
+ Read Channel 7.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is MemoryUsage
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is BiDiTest
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is ActivityDataReport
+
+
+
+
+ Status Page.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is SmartPointUpgradeStatus
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is MeterUpgradeStatus
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is SensusRFEncryptionKeyStatus
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is ULFNBeaconInfo
+
+
+
+
+ Page Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is MeterIPCStatus
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is BoardDetails
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is ProcessorDetails
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is CutWireStatus
+
+
+
+
+ On Demand Read.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is TiltTamperStatus
+
+
+
+
+ On Demand Read.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is ADCSamples
+
+
+
+
+ Sample Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is ResetDetails
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is ValveStatus
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WWater when Report ID is TimeValues
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport when Device Type is NA2WGas
+
+
+
+
+ Report ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WGas when Report ID is StatisticsOverview
+
+
+
+
+ Module Offset.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WGas when Report ID is ModuleStatistics
+
+
+
+
+ Module ID.
+
+
+
+
+ Byte Offset.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WGas when Report ID is GasMetrologyInformation
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WGas when Report ID is MemoryDump
+
+
+
+
+ Source.
+
+
+
+
+ Address.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WGas when Report ID is MemoryUsage
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WGas when Report ID is ActivityDataReport
+
+
+
+
+ Status Page.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WGas when Report ID is MeterUpgradeStatus
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WGas when Report ID is NetworkAnalysisStatus
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WGas when Report ID is MeterIPCStatus
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WGas when Report ID is BoardDetails
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WGas when Report ID is ProcessorDetails
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2WGas when Report ID is ADCSamples
+
+
+
+
+ Sample Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport when Device Type is NA2W3PortRemoteGas
+
+
+
+
+ Report ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2W3PortRemoteGas when Report ID is GasMetrologyInformation
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_NA2W3PortRemoteGas when Report ID is ActivityDataReport
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport when Device Type is BatteryEndpoint
+
+
+
+
+ Report ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_BatteryEndpoint when Report ID is StatisticsOverview
+
+
+
+
+ Module Offset.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_BatteryEndpoint when Report ID is ModuleStatistics
+
+
+
+
+ Module ID.
+
+
+
+
+ Byte Offset.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_BatteryEndpoint when Report ID is MultipleChannelOnDemandRead
+
+
+
+
+ Read Channel 0.
+
+
+
+
+ Read Channel 1.
+
+
+
+
+ Read Channel 2.
+
+
+
+
+ Read Channel 3.
+
+
+
+
+ Read Channel 4.
+
+
+
+
+ Read Channel 5.
+
+
+
+
+ Read Channel 6.
+
+
+
+
+ Read Channel 7.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_BatteryEndpoint when Report ID is MemoryUsage
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_BatteryEndpoint when Report ID is HardFaultReport
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Report ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_CathodicProtectionMetrology when Report ID is LastSurveyResult
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_CathodicProtectionMetrology when Report ID is DetailedSurveyResult
+
+
+
+
+ Starting Sample Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport when Device Type is MainsEndpoint
+
+
+
+
+ Report ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_MainsEndpoint when Report ID is StatisticsOverview
+
+
+
+
+ Module Offset.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_MainsEndpoint when Report ID is ModuleStatistics
+
+
+
+
+ Module ID.
+
+
+
+
+ Byte Offset.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_MainsEndpoint when Report ID is MultipleChannelOnDemandRead
+
+
+
+
+ Read Channel 0.
+
+
+
+
+ Read Channel 1.
+
+
+
+
+ Read Channel 2.
+
+
+
+
+ Read Channel 3.
+
+
+
+
+ Read Channel 4.
+
+
+
+
+ Read Channel 5.
+
+
+
+
+ Read Channel 6.
+
+
+
+
+ Read Channel 7.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport when Device Type is RectifierMonitor
+
+
+
+
+ Report ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_RectifierMonitor when Report ID is StatisticsOverview
+
+
+
+
+ Module Offset.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_NA2WDataReport_RectifierMonitor when Report ID is ModuleStatistics
+
+
+
+
+ Module ID.
+
+
+
+
+ Byte Offset.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is NA2WMeterInformation
+
+
+
+
+ Re-read Meter.
+
+
+
+
+ Request Capabilities.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is NA2WFixedBaseConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is NA2WSmartAlarmConfigurationAudit
+
+
+
+
+ Alarm ID.
+
+
+
+
+ Version.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is WaterReadingString
+
+
+
+
+ Re-read Meter.
+
+
+
+
+ Page Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is NA2WSetupDumpPing
+
+
+
+
+ Count per Message.
+
+
+
+
+ Tx Override Mode for Dump.
+
+
+
+
+ PA On for Dump Messages.
+
+
+
+
+ Transmit All Channels.
+
+
+
+
+ Transmit RNI Registration.
+
+
+
+
+ Transmit Alarm Configurations.
+
+
+
+
+ Transmit Device Specific Details.
+
+
+
+
+ Message Reason.
+
+
+
+
+ LAT Transmission Source.
+
+
+
+
+ Override LAT Delay.
+
+
+
+
+ Override LAT Delay Value.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is FNv2SecuritySummaryRequest
+
+
+
+
+ CommandVersion.
+
+
+
+
+ Filler.
+
+
+
+
+ PayloadVerification.
+
+
+
+
+ Extended Security Summary Sub Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_FNv2SecuritySummaryRequest when Extended Security Summary Sub Type is ReadFullCertificate
+
+
+
+
+ CertTableIndex.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_FNv2SecuritySummaryRequest when Extended Security Summary Sub Type is ReadCertSummary
+
+
+
+
+ CertTableIndex.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_FNv2SecuritySummaryRequest when Extended Security Summary Sub Type is CertTableSummary
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_FNv2SecuritySummaryRequest when Extended Security Summary Sub Type is ReadSecurityState
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping when Ping Type is ExtendedPingQuery
+
+
+
+
+ Extended Ping Query Sub Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_ExtendedPingQuery when Extended Ping Query Sub Type is MeterLogEntries
+
+
+
+
+ Message Version.
+
+
+
+
+ Fragmentation Enabled.
+
+
+
+
+ Sequence Number Enabled.
+
+
+
+
+ Log Table.
+
+
+
+
+ Search Criteria.
+
+
+
+
+ Number Of Logs.
+
+
+
+
+ Start Time Stamp.
+
+
+
+
+ Sequence Number.
+
+
+
+
+ Event List 1.
+
+
+
+
+ Event List 2.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Ping_ExtendedPingQuery when Extended Ping Query Sub Type is ReadRemoteDisconnectSwitch
+
+
+
+
+ Message Version.
+
+
+
+
+ Fragmentation Enabled.
+
+
+
+
+ Sequence Number Enabled.
+
+
+
+
+ Log Table.
+
+
+
+
+ Search Criteria.
+
+
+
+
+ Number Of Logs.
+
+
+
+
+ Start Time Stamp.
+
+
+
+
+ Sequence Number.
+
+
+
+
+ Event List 1.
+
+
+
+
+ Event List 2.
+
+
+
+
+ Event List 3.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Reset FlexNet Module
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Serial Number Message
+
+
+
+
+ Device Type.
+
+
+
+
+ Contains Factory ID.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Serial Number Message when Contains Factory ID is False
+
+
+
+
+ Customer Serial Number.
+
+
+
+
+ Meter Serial Number.
+
+
+
+
+ Device Minor Version.
+
+
+
+
+ Device Major Version.
+
+
+
+
+ Device Beta Release Bit.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Serial Number Message when Contains Factory ID is True
+
+
+
+
+ Valid Factory ID.
+
+
+
+
+ Cached Factory ID.
+
+
+
+
+ Contains Customer ID.
+
+
+
+
+ Register Factory ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SerialNumberMessage_True when Contains Customer ID is False
+
+
+
+
+ Meter Serial Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SerialNumberMessage_True when Contains Customer ID is True
+
+
+
+
+ Customer Serial Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Set AES Encryption Key
+
+
+
+
+ Key Strength.
+
+
+
+
+ Key Segment.
+
+
+
+
+ CBC-MAC Verification.
+
+
+
+
+ On-Air Unique Key Rotation.
+
+
+
+
+ Key Type.
+
+
+
+
+ AES Key Segment.
+
+
+
+
+ CBC-MAC Segment.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set Customer ID
+
+
+
+
+ Customer ID.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set Customer Serial Number
+
+
+
+
+ Serial Number Type.
+ Initial value is SerialNumberType.CustomerSerialNumber.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set Customer Serial Number when Serial Number Type is CustomerSerialNumber
+
+
+
+
+ Serial Number.
+
+
+
+
+ Binding Response.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Set Customer Serial Number when Serial Number Type is PoleID
+
+
+
+
+ Pole ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Set Electric Meter History Resolution
+
+
+
+
+ History Resolution.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set Group Address
+
+
+
+
+ Group Address.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set Group Address Vector
+
+
+
+
+ Group Address 1.
+
+
+
+
+ Group Address 2.
+
+
+
+
+ Group Address 3.
+
+
+
+
+ Group Address 4.
+
+
+
+
+ Remove Group Address 1.
+
+
+
+
+ Remove Group Address 2.
+
+
+
+
+ Remove Group Address 3.
+
+
+
+
+ Remove Group Address 4.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set Lat & Long
+
+
+
+
+ Latitude.
+
+
+
+
+ Longitude.
+
+
+
+
+ Altitude.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Set TCXO Correction
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Setup/Configuration
+
+
+
+
+ Device Type Minor Version.
+
+
+
+
+ Device Type Major Version.
+
+
+
+
+ Device Type Beta Version?.
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Setup/Configuration when Device Type is FlexNetWater
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate.
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Transmit Channel A.
+
+
+
+
+ Transmit Channel B.
+
+
+
+
+ Transmit Channel C.
+
+
+
+
+ Transmit Channel D.
+
+
+
+
+ Receiver Channel A.
+
+
+
+
+ Boost Channel.
+
+
+
+
+ Boost Subchannel.
+
+
+
+
+ Boost Hopping.
+
+
+
+
+ Transmit Channel Mask.
+
+
+
+
+ Tx OpMode.
+
+
+
+
+ Receiver Operational Mode.
+
+
+
+
+ Enable Encryption.
+
+
+
+
+ Real Time Clock (Seconds since TOH).
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ A/D Converter Calibration.
+
+
+
+
+ Meter Type.
+
+
+
+
+ Encoder Digits.
+
+
+
+
+ EP Active?.
+
+
+
+
+ Meter Units.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ History Scale.
+
+
+
+
+ Radio Model.
+
+
+
+
+ Leak Detection Threshold.
+
+
+
+
+ Leak Detection Consecutive Reads.
+
+
+
+
+ Interval Data Enabled.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Setup/Configuration when Device Type is NA2WWater
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Shutoff Valve Is Available.
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Normal Channel (TxA).
+
+
+
+
+ FlexNet Licensed Available.
+
+
+
+
+ FlexNet Unlicensed Available.
+
+
+
+
+ FlexNet TFW Available.
+
+
+
+
+ FNV2 Available.
+
+
+
+
+ FNV2 Multiple Payload Frame Available.
+
+
+
+
+ Tx Modulation 8SFSK Available.
+
+
+
+
+ Rx Modulation m4Pass Available.
+
+
+
+
+ Asymmetric Key State.
+
+
+
+
+ Tilt Tamper Available.
+
+
+
+
+ Tilt Tamper Setting.
+
+
+
+
+ FlexNet Network.
+
+
+
+
+ Receiver Modulation.
+
+
+
+
+ Receiver Channel.
+
+
+
+
+ Normal Modulation.
+
+
+
+
+ Supervisory Frame Type.
+
+
+
+
+ Tone Response Frame Type.
+
+
+
+
+ C&I Channel (TxD).
+
+
+
+
+ mPass Channel (5 kbps, RxA).
+
+
+
+
+ mPass2 Channel (10 kbps, RxB).
+
+
+
+
+ Boost Channel.
+
+
+
+
+ Boost Subchannel.
+
+
+
+
+ Boost Hopping.
+
+
+
+
+ Transmit Channel Mask.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ ADC0.
+
+
+
+
+ ADC1.
+
+
+
+
+ ADC2.
+
+
+
+
+ Meter Type.
+
+
+
+
+ Encoder Digits.
+
+
+
+
+ Meter Units.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ History Scale.
+
+
+
+
+ Radio Model.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Setup/Configuration when Device Type is NA2WGSV
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Normal Channel (TxA).
+
+
+
+
+ Tx Channel B.
+
+
+
+
+ Tx Channel C.
+
+
+
+
+ C&I Channel (TxD).
+
+
+
+
+ mPass Channel (5 kbps, RxA).
+
+
+
+
+ mPass2 Channel (10 kbps, RxB).
+
+
+
+
+ Boost Channel.
+
+
+
+
+ Boost Subchannel.
+
+
+
+
+ Boost Hopping.
+
+
+
+
+ Transmit Channel Mask.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ ADC0.
+
+
+
+
+ ADC1.
+
+
+
+
+ ADC2.
+
+
+
+
+ Meter Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Setup/Configuration when Device Type is NA2WMLC
+
+
+
+
+ V2 Flag = 1.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SetupConfiguration_NA2WMLC when V2 Flag = 1 is MessageVersion1
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate.
+
+
+
+
+ Device Patch Version.
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Normal Channel (TxA).
+
+
+
+
+ Tx Channel B.
+
+
+
+
+ Tx Channel C.
+
+
+
+
+ C&I Channel (TxD).
+
+
+
+
+ mPass Channel (5 kbps, RxA).
+
+
+
+
+ mPass2 Channel (10 kbps, RxB).
+
+
+
+
+ Boost Channel.
+
+
+
+
+ Boost Subchannel.
+
+
+
+
+ Boost Hopping.
+
+
+
+
+ Transmit Channel Mask.
+
+
+
+
+ Tx OpMode.
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SetupConfiguration_NA2WMLC when V2 Flag = 1 is MessageVersion2
+
+
+
+
+ Cycling Counter Days 0 - 14; 15 indicates overflow.
+
+
+
+
+ Total Bulb On Time (6 hr blocks).
+
+
+
+
+ Power Factor (Signed).
+
+
+
+
+ Cycling Counter 0 - 254; 255 indicates overflow.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Setup/Configuration when Device Type is NA2W3PortRemoteGas
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate [FB LAT].
+
+
+
+
+ History Scale.
+
+
+
+
+ Lock State.
+
+
+
+
+ Supervisory Transmit Rate [FB MoM].
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Normal Channel (TxA).
+
+
+
+
+ Tx Channel B.
+
+
+
+
+ Tx Channel C.
+
+
+
+
+ C&I Channel(TxD).
+
+
+
+
+ mPass Channel (5 kbps, RxA).
+
+
+
+
+ mPass2 Channel (10 kbps, RxB).
+
+
+
+
+ Boost Channel.
+
+
+
+
+ Boost Subchannel.
+
+
+
+
+ Boost Hopping.
+
+
+
+
+ Transmit Channel Mask.
+
+
+
+
+ Tx OpMode [FB LAT].
+
+
+
+
+ Tx OpMode [FB MoM].
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ ADC0.
+
+
+
+
+ ADC1.
+
+
+
+
+ ADC2.
+
+
+
+
+ Port 1 Reading Digits.
+
+
+
+
+ Port 1 Reading Units.
+
+
+
+
+ Port 1 Reading Resolution.
+
+
+
+
+ Port 2 Reading Digits.
+
+
+
+
+ Port 2 Reading Units.
+
+
+
+
+ Port 2 Reading Resolution.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Setup/Configuration when Device Type is BatteryEndpoint
+
+
+
+
+ Meter Sample Rate.
+
+
+
+
+ Supervisory Transmit Rate - FB LAT.
+
+
+
+
+ Supervisory Transmit Rate - FB MOM.
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Transmit Channel A.
+
+
+
+
+ Transmit Channel B.
+
+
+
+
+ Transmit Channel C.
+
+
+
+
+ Transmit Channel D.
+
+
+
+
+ Receiver Channel A.
+
+
+
+
+ Receiver Channel B.
+
+
+
+
+ Boost Mode Channel.
+
+
+
+
+ Boost Mode Sub-Channel.
+
+
+
+
+ Boost Mode Hopping.
+
+
+
+
+ Transmit Channel Mask.
+
+
+
+
+ Transmitter Operational Mode - FB LAT.
+
+
+
+
+ Transmitter Operational Mode - FB MOM.
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Battery Calibration Slope.
+
+
+
+
+ Battery Calibration Offset.
+
+
+
+
+ Battery Type.
+
+
+
+
+ Device Patch Version.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Setup/Configuration when Device Type is CathodicProtectionMetrology
+
+
+
+
+ Meter Sample Rate.
+
+
+
+
+ Supervisory Transmit Rate - FB LAT.
+
+
+
+
+ Supervisory Transmit Rate - FB MOM.
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Transmit Channel A.
+
+
+
+
+ Transmit Channel B.
+
+
+
+
+ Transmit Channel C.
+
+
+
+
+ Transmit Channel D.
+
+
+
+
+ Receiver Channel A.
+
+
+
+
+ Receiver Channel B.
+
+
+
+
+ Boost Mode Channel.
+
+
+
+
+ Boost Mode Sub-Channel.
+
+
+
+
+ Boost Mode Hopping.
+
+
+
+
+ Transmit Channel Mask.
+
+
+
+
+ Transmitter Operational Mode - FB LAT.
+
+
+
+
+ Transmitter Operational Mode - FB MOM.
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Battery Calibration Slope.
+
+
+
+
+ Battery Calibration Offset.
+
+
+
+
+ Cathodic Protection Type.
+
+
+
+
+ Device Patch Version.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Setup/Configuration when Device Type is MainsEndpoint
+
+
+
+
+ Meter Sample Rate.
+
+
+
+
+ Supervisory Transmit Rate - FB LAT.
+
+
+
+
+ Supervisory Transmit Rate - FB MOM.
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Transmit Channel A.
+
+
+
+
+ Transmit Channel B.
+
+
+
+
+ Transmit Channel C.
+
+
+
+
+ Transmit Channel D.
+
+
+
+
+ Receiver Channel A.
+
+
+
+
+ Receiver Channel B.
+
+
+
+
+ Boost Mode Channel.
+
+
+
+
+ Boost Mode Sub-Channel.
+
+
+
+
+ Boost Mode Hopping.
+
+
+
+
+ Transmit Channel Mask.
+
+
+
+
+ Transmitter Operational Mode - FB LAT.
+
+
+
+
+ Transmitter Operational Mode - FB MOM.
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Board Voltage Calibration Slope.
+
+
+
+
+ Board Voltage Calibration Offset.
+
+
+
+
+ Device Patch Version.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Setup/Configuration when Device Type is RectifierMonitor
+
+
+
+
+ Meter Sample Rate.
+
+
+
+
+ Supervisory Transmit Rate - FB LAT.
+
+
+
+
+ Supervisory Transmit Rate - FB MOM.
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Transmit Channel A.
+
+
+
+
+ Transmit Channel B.
+
+
+
+
+ Transmit Channel C.
+
+
+
+
+ Transmit Channel D.
+
+
+
+
+ Receiver Channel A.
+
+
+
+
+ Receiver Channel B.
+
+
+
+
+ Boost Mode Channel.
+
+
+
+
+ Boost Mode Sub-Channel.
+
+
+
+
+ Boost Mode Hopping.
+
+
+
+
+ Transmit Channel Mask.
+
+
+
+
+ Transmitter Operational Mode - FB LAT.
+
+
+
+
+ Transmitter Operational Mode - FB MOM.
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Battery Calibration Slope.
+
+
+
+
+ Battery Calibration Offset.
+
+
+
+
+ Rectifier Monitor Type.
+
+
+
+
+ Device Patch Version.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Set Voltage Quality Settings
+
+
+
+
+ Minimum Click Duration.
+
+
+
+
+ Minimum Voltage Threshold.
+
+
+
+
+ Voltage Averaging Window.
+
+
+
+
+ Outage Time Threshold.
+
+
+
+
+ Restored Time Threshold.
+
+
+
+
+ High Temperature Alarm Threshold.
+
+
+
+
+ High Resolution Electric Meter.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Smart Meter Alarm when Device Type is NA2WWater
+
+
+
+
+ Message Version.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SmartMeterAlarm_NA2WWater when Message Version is AlphaAndBeta
+
+
+
+
+ Minutes Since Event.
+
+
+
+
+ Reading.
+
+
+
+
+ Reading Is Valid.
+
+
+
+
+ Dead Battery.
+
+
+
+
+ Configuration Error [Latched].
+
+
+
+
+ Severe Hardware Problem.
+
+
+
+
+ Upgrade Mode.
+
+
+
+
+ Idle.
+
+
+
+
+ Low Battery.
+
+
+
+
+ Tamper.
+
+
+
+
+ Empty Pipe.
+
+
+
+
+ Backflow.
+
+
+
+
+ Leak.
+
+
+
+
+ Misc Metro Warning.
+
+
+
+
+ High El Volt Noise [Latched].
+
+
+
+
+ Pressure Sensitivity.
+
+
+
+
+ Critical Hardware Warning.
+
+
+
+
+ Metrology Comm Error.
+
+
+
+
+ Alarm Overflow.
+
+
+
+
+ Subtype Code.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SmartMeterAlarm_NA2WWater_AlphaAndBeta when Subtype Code is Krohne
+
+
+
+
+ Counter Overflow.
+
+
+
+
+ Low Coil Current.
+
+
+
+
+ High Coil Current.
+
+
+
+
+ Low Coil Voltage.
+
+
+
+
+ High Coil Voltage.
+
+
+
+
+ Battery Status.
+
+
+
+
+ EEPROM Wear.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SmartMeterAlarm_NA2WWater_AlphaAndBeta when Subtype Code is IPERL
+
+
+
+
+ Reboot Count.
+
+
+
+
+ Reboot.
+
+
+
+
+ Low Field.
+
+
+
+
+ Historical Low Field.
+
+
+
+
+ EMF Range.
+
+
+
+
+ Historical EMF Range.
+
+
+
+
+ Leak [Current].
+
+
+
+
+ Low Battery Volts.
+
+
+
+
+ Historical Low Battery Volts.
+
+
+
+
+ High Current.
+
+
+
+
+ Historical High Current.
+
+
+
+
+ Empty Pipe [Current].
+
+
+
+
+ High Temperature.
+
+
+
+
+ Historical High Temperature.
+
+
+
+
+ Glide Slope.
+
+
+
+
+ Historical Glide Slope.
+
+
+
+
+ Backflow [Current].
+
+
+
+
+ Config Error.
+
+
+
+
+ Historical Config Error.
+
+
+
+
+ TouchRead Failure.
+
+
+
+
+ Historical TouchRead Failure.
+
+
+
+
+ Tamper [Current].
+
+
+
+
+ Low Temperature.
+
+
+
+
+ Historical Low Temperature.
+
+
+
+
+ High El Volt Noise [Current].
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SmartMeterAlarm_NA2WWater_SensusRF when Meter Version is ESAAPElectronicRegister
+
+
+
+
+ Total Pages.
+
+
+
+
+ Page Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SmartMeterAlarm_NA2WWater_SensusRF_ESAAPElectronicRegister when Page Number is Page0Data
+
+
+
+
+ Reading.
+
+
+
+
+ Reading Valid.
+
+
+
+
+ Is Demand Read.
+
+
+
+
+ In Time Sync.
+
+
+
+
+ MessageReason.
+
+
+
+
+ Specific Error Set.
+
+
+
+
+ Medium Absent.
+
+
+
+
+ Broken Pipe.
+
+
+
+
+ Backflow.
+
+
+
+
+ Metrology Unavailable.
+
+
+
+
+ Magnetic Tamper.
+
+
+
+
+ Leak.
+
+
+
+
+ Low Battery.
+
+
+
+
+ Specific Error.
+
+
+
+
+ Leak Start.
+
+
+
+
+ Leak End.
+
+
+
+
+ Magnetic Tamper Start.
+
+
+
+
+ Magnetic Tamper End.
+
+
+
+
+ Backflow Start.
+
+
+
+
+ Backflow End.
+
+
+
+
+ Broken Pipe Start.
+
+
+
+
+ Broken Pipe End.
+
+
+
+
+ Days Remaining.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SmartMeterAlarm_NA2WWater_SensusRF_ESAAPElectronicRegister when Page Number is Page1Data
+
+
+
+
+ Low Battery Start.
+
+
+
+
+ Low Battery End.
+
+
+
+
+ Time Of Last Reset.
+
+
+
+
+ Backwards Volume.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SmartMeterAlarm_NA2WWater_SensusRF when Meter Version is IPERLWithTFXSupport
+
+
+
+
+ Total Pages.
+
+
+
+
+ Page Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SmartMeterAlarm_NA2WWater_SensusRF_IPERLWithTFXSupport when Page Number is Page0Data
+
+
+
+
+ Reading.
+
+
+
+
+ Reading Valid.
+
+
+
+
+ Is Demand Read.
+
+
+
+
+ In Time Sync.
+
+
+
+
+ MessageReason.
+
+
+
+
+ Specific Error Set.
+
+
+
+
+ Medium Absent.
+
+
+
+
+ Broken Pipe.
+
+
+
+
+ Backflow.
+
+
+
+
+ Metrology Unavailable.
+
+
+
+
+ Magnetic Tamper.
+
+
+
+
+ Leak.
+
+
+
+
+ Low Battery.
+
+
+
+
+ Specific Error.
+
+
+
+
+ Leak Start.
+
+
+
+
+ Leak End.
+
+
+
+
+ Magnetic Tamper Start.
+
+
+
+
+ Magnetic Tamper End.
+
+
+
+
+ Backflow Start.
+
+
+
+
+ Backflow End.
+
+
+
+
+ Broken Pipe Start.
+
+
+
+
+ Broken Pipe End.
+
+
+
+
+ Days Remaining.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SmartMeterAlarm_NA2WWater_SensusRF_IPERLWithTFXSupport when Page Number is Page1Data
+
+
+
+
+ Low Battery Start.
+
+
+
+
+ Very Low Battery Start.
+
+
+
+
+ Time Of Last Reset.
+
+
+
+
+ Backwards Volume.
+
+
+
+
+ Empty Pipe Start.
+
+
+
+
+ Empty Pipe End.
+
+
+
+
+ Metrology Unavailable Start.
+
+
+
+
+ Metrology Unavailable End.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Unused.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SmartMeterAlarm_NA2WWater_Timestamped when Is pre-defined alarm? is UserDefined
+
+
+
+
+ Alarm ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SmartMeterAlarm_NA2WWater_Timestamped when Is pre-defined alarm? is PreDefined
+
+
+
+
+ Alarm ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SmartMeterAlarm_NA2WWater when Message Version is MeterAgnostic
+
+
+
+
+ Is Demand Read.
+
+
+
+
+ MessageReason.
+
+
+
+
+ Reading Valid.
+
+
+
+
+ Meter Status.
+
+
+
+
+ Meter Manufacturer.
+
+
+
+
+ Reading.
+
+
+
+
+ Low Power Alarm Start.
+
+
+
+
+ Low Power Alarm End.
+
+
+
+
+ Permanent Alarm Start.
+
+
+
+
+ Permanent Alarm End.
+
+
+
+
+ Temporary Alarm Start.
+
+
+
+
+ Temporary Alarm End.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Smart Meter Alarm when Device Type is NA2WGas
+
+
+
+
+ User-defined alarm state.
+
+
+
+
+ Pre-defined alarm state.
+
+
+
+
+ Is pre-defined alarm?.
+
+
+
+
+ Alarm configuration sequence number.
+
+
+
+
+ Metrology configuration sequence number.
+
+
+
+
+ Reading.
+
+
+
+
+ Reading Is On Demand.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Time since alarm condition triggered [raw].
+
+
+
+
+ Time since alarm condition was no longer present [raw].
+
+
+
+
+ Alarm-specific data.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SmartMeterAlarm_NA2WGas when Is pre-defined alarm? is UserDefined
+
+
+
+
+ Alarm ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ SmartMeterAlarm_NA2WGas when Is pre-defined alarm? is PreDefined
+
+
+
+
+ Alarm ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Smart Meter Alarm when Device Type is MainsEndpoint
+
+
+
+
+ User-defined alarm state.
+
+
+
+
+ Pre-defined alarm state.
+
+
+
+
+ Is pre-defined alarm?.
+
+
+
+
+ Alarm ID.
+
+
+
+
+ Alarm configuration sequence number.
+
+
+
+
+ Metrology configuration sequence number.
+
+
+
+
+ Reading Is On Demand.
+
+
+
+
+ Message Reason.
+
+
+
+
+ Reading.
+
+
+
+
+ Time since alarm condition triggered [raw].
+
+
+
+
+ Time since alarm condition was no longer present [raw].
+
+
+
+
+ Alarm-specific data.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ Static Setup
+
+
+
+
+ Meter Sample Rate (MSR).
+
+
+
+
+ Supervisory Transmit Rate.
+
+
+
+
+ Base Frequency.
+
+
+
+
+ Tx Channel A.
+
+
+
+
+ Tx Channel B.
+
+
+
+
+ Tx Channel C.
+
+
+
+
+ Priority Channel.
+
+
+
+
+ Receiver Channel.
+
+
+
+
+ C&I Channel (TxD).
+
+
+
+
+ Transmit Channel Mask.
+
+
+
+
+ Tx OpMode.
+
+
+
+
+ Rx OpMode.
+
+
+
+
+ Programmer ID.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ FlexNetGasFactoryFeatures
+
+
+
+
+ Hourly Data Enabled.
+
+
+
+
+ Locking Available.
+
+
+
+
+ EEPROM Available.
+
+
+
+
+ FlexNetWaterFactoryFeatures
+
+
+
+
+ Port 2 Available.
+
+
+
+
+ Leak Detect/Broken Pipe Available.
+
+
+
+
+ Interval Data Available.
+
+
+
+
+ Touch Couple Available.
+
+
+
+
+ Hourly Data Enabled.
+
+
+
+
+ Endpoint Type.
+
+
+
+
+ FlexNetGasFieldFeatures
+
+
+
+
+ Device is Deactivated.
+
+
+
+
+ FlexNetWaterFieldFeatures
+
+
+
+
+ Dual Port Enabled.
+
+
+
+
+ Leak Detect/Broken Pipe Enabled.
+
+
+
+
+ Interval Data Enabled.
+
+
+
+
+ Device Is Deactivated.
+
+
+
+
+ FlexNetWaterHHDInstallFieldFeatures
+
+
+
+
+ Dual Port Enabled.
+
+
+
+
+ Leak Detect/Broken Pipe Enabled.
+
+
+
+
+ Interval Data Enabled.
+
+
+
+
+ Device Is Activated.
+
+
+
+
+ NA2WFactoryFeatures
+
+
+
+
+ Port 2 Available (Water Only).
+
+
+
+
+ Leak Detect & Broken Pipe Avail.
+
+
+
+
+ Interval Data Available.
+
+
+
+
+ Touch Couple Available (Water), Remote Mount (Gas).
+
+
+
+
+ Water Shutoff Available (Water), Seismic Sensor Available (Gas).
+
+
+
+
+ Mains Powered.
+
+
+
+
+ Regulatory Mode (Water), Gas Locking Available (Gas).
+
+
+
+
+ EEPROM Available.
+
+
+
+
+ WB/DB Available.
+
+
+
+
+ FB Available.
+
+
+
+
+ Minimum Meter Sample Rate.
+
+
+
+
+ Critical Reading Feature Available.
+
+
+
+
+ Alternate WB/DB Tone Available.
+
+
+
+
+ 13FSK Normal Available.
+
+
+
+
+ Use Tone For Installation.
+
+
+
+
+ NA2WWaterFactoryFeatures
+
+
+
+
+ Port 2 Available.
+
+
+
+
+ Leak Detect & Broken Pipe Avail.
+
+
+
+
+ Interval Data Available.
+
+
+
+
+ Touch Couple Available.
+
+
+
+
+ Water Shutoff Available.
+
+
+
+
+ Mains Powered.
+
+
+
+
+ Regulatory Mode.
+
+
+
+
+ EEPROM Available.
+
+
+
+
+ WB/DB Available.
+
+
+
+
+ FB Available.
+
+
+
+
+ Minimum Meter Sample Rate.
+
+
+
+
+ 8am Read Available.
+
+
+
+
+ Alternate WB/DB Tone Available.
+
+
+
+
+ 13FSK Normal Available.
+
+
+
+
+ Use Tone For Installation.
+
+
+
+
+ NA2WGasFactoryFeatures
+
+
+
+
+ Broken Pipe Detect Available.
+
+
+
+
+ Interval Data Available.
+
+
+
+
+ Remote Mount.
+
+
+
+
+ Valve Available.
+
+
+
+
+ Mains Powered.
+
+
+
+
+ Gas Locking Available.
+
+
+
+
+ EEPROM Available.
+
+
+
+
+ WB/DB Available.
+
+
+
+
+ FB Available.
+
+
+
+
+ Minimum Meter Sample Rate.
+
+
+
+
+ Critical Reading Feature Available.
+
+
+
+
+ Alternate WB/DB Tone Available.
+
+
+
+
+ 13FSK Normal Available.
+
+
+
+
+ Use Tone For Installation.
+
+
+
+
+ FT9NA2WGasFactoryFeatures
+
+
+
+
+ Broken Pipe Detect Available.
+
+
+
+
+ Interval Data Available.
+
+
+
+
+ Remote Mount.
+
+
+
+
+ Valve Available.
+
+
+
+
+ Gas Locking Available.
+
+
+
+
+ WB/DB Available.
+
+
+
+
+ FB Available.
+
+
+
+
+ Minimum Meter Sample Rate.
+
+
+
+
+ 3PortGasFactoryFeatures
+
+
+
+
+ Broken Pipe Detect Available.
+
+
+
+
+ Interval Data Available.
+
+
+
+
+ Remote Mount.
+
+
+
+
+ Gas Locking Available.
+
+
+
+
+ EEPROM Available.
+
+
+
+
+ WB/DB Available.
+
+
+
+
+ FB Available.
+
+
+
+
+ Minimum Meter Sample Rate.
+
+
+
+
+ Critical Reading Feature Available.
+
+
+
+
+ Alternate WB/DB Tone Available.
+
+
+
+
+ 13FSK Normal Available.
+
+
+
+
+ Use Tone For Installation.
+
+
+
+
+ NA2WGSVFactoryFeatures
+
+
+
+
+ Interval Data Available.
+
+
+
+
+ Seismic Sensor Available.
+
+
+
+
+ Mains Powered.
+
+
+
+
+ Gas Locking Available.
+
+
+
+
+ EEPROM Available.
+
+
+
+
+ WB/DB Available.
+
+
+
+
+ FB Available.
+
+
+
+
+ Minimum Meter Sample Rate.
+
+
+
+
+ 8am Read Available.
+
+
+
+
+ Alternate WB/DB Tone Available.
+
+
+
+
+ 13FSK Normal Available.
+
+
+
+
+ Use Tone For Installation.
+
+
+
+
+ NA2WMLCFactoryFeatures
+
+
+
+
+ 13FSK Normal Available.
+
+
+
+
+ Regulatory Mode.
+
+
+
+
+ GPS Available.
+
+
+
+
+ Dimmable Ballast.
+
+
+
+
+ RawMetrologyFactoryFeatures
+
+
+
+
+ WB/DB Available.
+
+
+
+
+ FB Available.
+
+
+
+
+ BatteryEndpointFactoryFeatures
+
+
+
+
+ Digital A Available.
+
+
+
+
+ Digital B Available.
+
+
+
+
+ Channels Available.
+
+
+
+
+ Regulatory Mode.
+
+
+
+
+ Mains Powered.
+
+
+
+
+ Demo Mode.
+
+
+
+
+ WB/DB Available.
+
+
+
+
+ FB Available.
+
+
+
+
+ Daily Time Sync Available.
+
+
+
+
+ 13FSK Normal Available.
+
+
+
+
+ CathodicProtectionMetrologyFactoryFeatures
+
+
+
+
+ WB/DB Available.
+
+
+
+
+ FB Available.
+
+
+
+
+ MainsEndpointFactoryFeatures
+
+
+
+
+ Digital A Available.
+
+
+
+
+ Digital B Available.
+
+
+
+
+ Channels Available.
+
+
+
+
+ Regulatory Mode.
+
+
+
+
+ Mains Powered.
+
+
+
+
+ Demo Mode.
+
+
+
+
+ WB/DB Available.
+
+
+
+
+ FB Available.
+
+
+
+
+ 13FSK Normal Available.
+
+
+
+
+ RectifierMonitorFactoryFeatures
+
+
+
+
+ WB/DB Available.
+
+
+
+
+ FB Available.
+
+
+
+
+ FT9EndpointFactoryFeatures
+
+
+
+
+ Mains Powered.
+
+
+
+
+ EEPROM Available.
+
+
+
+
+ Alternate WB/DB Tone Available.
+
+
+
+
+ 13FSK Normal Available.
+
+
+
+
+ Use Tone For Installation.
+
+
+
+
+ FNv2 Available.
+
+
+
+
+ Supervisory MultiPayload Available.
+
+
+
+
+ FNv2 ToneResponseAvailable.
+
+
+
+
+ Tone Response MultiPayloads Available.
+
+
+
+
+ NA2WFieldFeatures
+
+
+
+
+ Dual Port Enabled (Water only).
+
+
+
+
+ Leak Detect & Broken Pipe Enabled.
+
+
+
+
+ Interval Data Enabled.
+
+
+
+
+ Reading Data Protection.
+
+
+
+
+ Enhanced History Compression Enabled.
+
+
+
+
+ mPass2 on RxA.
+
+
+
+
+ 5 kbps mPass2.
+
+
+
+
+ Deactivate Device.
+
+
+
+
+ WB/DB Enabled.
+
+
+
+
+ FB Enabled.
+
+
+
+
+ Use 1-Way Protocol.
+
+
+
+
+ Use 7FSK for DB.
+
+
+
+
+ Critical Reading Feature Enabled.
+
+
+
+
+ Alternate WB/DB Tone Enabled.
+
+
+
+
+ 13FSK Normal Enabled.
+
+
+
+
+ 12 Timeslots Enabled.
+
+
+
+
+ NA2WWaterFieldFeatures
+
+
+
+
+ Dual Port Enabled.
+
+
+
+
+ Leak Detect & Broken Pipe Enabled.
+
+
+
+
+ Interval Data Enabled.
+
+
+
+
+ Reading Data Protection.
+
+
+
+
+ Enhanced History Compression Enabled.
+
+
+
+
+ mPass2 on RxA.
+
+
+
+
+ 5 kbps mPass2.
+
+
+
+
+ Deactivate Device.
+
+
+
+
+ WB/DB Enabled.
+
+
+
+
+ FB Enabled.
+
+
+
+
+ Use 1-Way Protocol.
+
+
+
+
+ Use 7FSK for DB.
+
+
+
+
+ 8am Read Enabled.
+
+
+
+
+ Alternate WB/DB Tone Enabled.
+
+
+
+
+ 13FSK Normal Enabled.
+
+
+
+
+ 12 Timeslots Enabled.
+
+
+
+
+ NA2WGasFieldFeatures
+
+
+
+
+ Broken Pipe Detect Enabled.
+
+
+
+
+ Interval Data Enabled.
+
+
+
+
+ Enhanced History Compression Enabled.
+
+
+
+
+ Use mPass1 for RX.
+
+
+
+
+ RX 5kb/s.
+
+
+
+
+ Deactivate Device.
+
+
+
+
+ WB/DB Enabled.
+
+
+
+
+ FB Enabled.
+
+
+
+
+ Use 1-Way Protocol.
+
+
+
+
+ Use 7FSK for DB.
+
+
+
+
+ Critical Reading Feature Enabled.
+
+
+
+
+ Alternate WB/DB Tone Enabled.
+
+
+
+
+ 13FSK Normal Enabled.
+
+
+
+
+ 12 Timeslots Enabled.
+
+
+
+
+ FT9NA2WGasFieldFeatures
+
+
+
+
+ Broken Pipe Detect Enabled.
+
+
+
+
+ Interval Data Enabled.
+
+
+
+
+ Enhanced History Compression Enabled.
+
+
+
+
+ WB/DB Enabled.
+
+
+
+
+ FB Enabled.
+
+
+
+
+ Use 1-Way Protocol.
+
+
+
+
+ 8am Read Enabled.
+
+
+
+
+ FT9EndpointFieldFeatures
+
+
+
+
+ Reading Data Protection Enabled.
+
+
+
+
+ Rx On Mpass.
+
+
+
+
+ Rx At 5kbps.
+
+
+
+
+ 7 Fsk Wbdb.
+
+
+
+
+ Alternative WBDB Tone Enabled.
+
+
+
+
+ 13 Normal Fsk Enabled.
+
+
+
+
+ 12 Timeslots Enabled.
+
+
+
+
+ FNv2 Enabled.
+
+
+
+
+ Supervisory MultiPayload Enabled.
+
+
+
+
+ FNv2 ToneResponseEnabled.
+
+
+
+
+ Tone Response MultiPayload Enabled.
+
+
+
+
+ FlexNet Network.
+
+
+
+
+ FNv2FrequencyChannel
+
+
+
+
+ Changed.
+
+
+
+
+ Number.
+
+
+
+
+ MTU.
+
+
+
+
+ Modulation.
+
+
+
+
+ 3PortGasFieldFeatures
+
+
+
+
+ Broken Pipe Detect Enabled.
+
+
+
+
+ Interval Data Enabled.
+
+
+
+
+ Enhanced History Compression Enabled.
+
+
+
+
+ Device Deactivated?.
+
+
+
+
+ WB/DB Enabled.
+
+
+
+
+ FB Enabled.
+
+
+
+
+ Use 1-Way Protocol.
+
+
+
+
+ Use 7FSK for DB.
+
+
+
+
+ Critical Reading Feature Enabled.
+
+
+
+
+ Alternate WB/DB Tone Enabled.
+
+
+
+
+ 13FSK Normal Enabled.
+
+
+
+
+ 12 Timeslots Enabled.
+
+
+
+
+ NA2WGSVFieldFeatures
+
+
+
+
+ Interval Data Enabled.
+
+
+
+
+ Seismic Sensor Enabled.
+
+
+
+
+ Deactivate Device.
+
+
+
+
+ WB/DB Enabled.
+
+
+
+
+ FB Enabled.
+
+
+
+
+ Use 1-Way Protocol.
+
+
+
+
+ Use 7FSK for DB.
+
+
+
+
+ 8am Read Enabled.
+
+
+
+
+ Alternate WB/DB Tone Enabled.
+
+
+
+
+ 13FSK Normal Enabled.
+
+
+
+
+ 12 Timeslots Enabled.
+
+
+
+
+ NA2WMLCFieldFeatures
+
+
+
+
+ Interval Data Enabled.
+
+
+
+
+ Self Discovery Enabled.
+
+
+
+
+ Auto Install Enabled.
+
+
+
+
+ 13FSK Normal Enabled.
+
+
+
+
+ Data Rate: 5kbps.
+
+
+
+
+ Use mPass 1.
+
+
+
+
+ Classic Frames.
+
+
+
+
+ Device is Deactivated.
+
+
+
+
+ RawMetrologyFieldFeatures
+
+
+
+
+ Device is Deactivated.
+
+
+
+
+ WB/DB Enabled.
+
+
+
+
+ FB Enabled.
+
+
+
+
+ FT9RawMetrologyFieldFeatures
+
+
+
+
+ WB/DB Enabled.
+
+
+
+
+ FB Enabled.
+
+
+
+
+ BatteryEndpointFieldFeatures
+
+
+
+
+ mPass Tx Rate.
+
+
+
+
+ Demo Mode.
+
+
+
+
+ mPass1 Receive.
+
+
+
+
+ 5 kbps Receive.
+
+
+
+
+ Device is Deactivated.
+
+
+
+
+ WB/DB Enabled.
+
+
+
+
+ FB Enabled.
+
+
+
+
+ Daily Time Sync Enabled.
+
+
+
+
+ Use 7FSK for DB.
+
+
+
+
+ 13FSK Normal Enabled.
+
+
+
+
+ 12 Timeslots Enabled.
+
+
+
+
+ CathodicProtectionMetrologyFieldFeatures
+
+
+
+
+ WB/DB Enabled.
+
+
+
+
+ FB Enabled.
+
+
+
+
+ Software Filter Disabled.
+
+
+
+
+ Device is Deactivated.
+
+
+
+
+ MainsEndpointFieldFeatures
+
+
+
+
+ mPass Tx Rate.
+
+
+
+
+ Demo Mode.
+
+
+
+
+ mPass1 Receive.
+
+
+
+
+ 5 kbps Receive.
+
+
+
+
+ Device is Deactivated.
+
+
+
+
+ WB/DB Enabled.
+
+
+
+
+ FB Enabled.
+
+
+
+
+ Use 7FSK for DB.
+
+
+
+
+ 13FSK Normal Enabled.
+
+
+
+
+ 12 Timeslots Enabled.
+
+
+
+
+ RectifierMonitorFieldFeatures
+
+
+
+
+ WB/DB Enabled.
+
+
+
+
+ FB Enabled.
+
+
+
+
+ Device is Deactivated.
+
+
+
+
+ EndpointFieldFeatures
+
+
+
+
+ Reading Data Protection.
+
+
+
+
+ mPass2 on RxA.
+
+
+
+
+ 5 kbps mPass2.
+
+
+
+
+ Use 7FSK for DB.
+
+
+
+
+ Alternate WB/DB Tone Enabled.
+
+
+
+
+ 13FSK Normal Enabled.
+
+
+
+
+ 12 Timeslots Enabled.
+
+
+
+
+ FNv2 Enabled.
+
+
+
+
+ Supervisory MPayload Enabled.
+
+
+
+
+ Tone Response FNv2 Enabled.
+
+
+
+
+ Tone Response MPayload Enabled.
+
+
+
+
+ FlexNet Network.
+
+
+
+
+ FlexNetWaterHistoricalAlarms
+
+
+
+
+ Leak.
+
+
+
+
+ Broken Pipe.
+
+
+
+
+ Backflow.
+
+
+
+
+ Tamper.
+
+
+
+
+ Meter Communication Failed.
+
+
+
+
+ Non-numeric Read/Meter Read Malfunction.
+
+
+
+
+ History Overflow.
+
+
+
+
+ FlexNetGasHistoricalAlarms
+
+
+
+
+ Weekly Alarm--Magnetic Tamper.
+
+
+
+
+ Weekly Alarm--Tilt Tamper.
+
+
+
+
+ Weekly Alarm--Backflow.
+
+
+
+
+ Weekly Alarm--History Overflow.
+
+
+
+
+ NA2WGasHistoricalAlarms
+
+
+
+
+ Broken Pipe.
+
+
+
+
+ Backflow.
+
+
+
+
+ Magnetic Tamper.
+
+
+
+
+ Cut Wire Tamper.
+
+
+
+
+ Tilt Tamper.
+
+
+
+
+ BiDi Communication Failure.
+
+
+
+
+ Meter Communication Failure.
+
+
+
+
+ Operational Alarm Suppressed.
+
+
+
+
+ Hardware Alarm Suppressed.
+
+
+
+
+ Temperature Alarm Suppressed.
+
+
+
+
+ Pressure Alarm Suppressed.
+
+
+
+
+ Setup Dump Interrupted.
+
+
+
+
+ LibertyGasHistoricalAlarms
+
+
+
+
+ Battery Door Tamper.
+
+
+
+
+ Magnetic Tamper.
+
+
+
+
+ Meter Communication Failed.
+
+
+
+
+ Tilt Tamper.
+
+
+
+
+ NA2WGSVHistoricalAlarms
+
+
+
+
+ Pressure Low Shutoff.
+
+
+
+
+ Pressure High Shutoff.
+
+
+
+
+ Excess Flow Shutoff.
+
+
+
+
+ Tilt Shutoff.
+
+
+
+
+ Seismic Event Shutoff.
+
+
+
+
+ Pressure Low Warning.
+
+
+
+
+ Pressure High Warning.
+
+
+
+
+ Unknown Valve State.
+
+
+
+
+ Over Temperature.
+
+
+
+
+ NA2W3PortHistoricalAlarms
+
+
+
+
+ Corrector Alarm.
+
+
+
+
+ Cut Wire Tamper.
+
+
+
+
+ NA2WMLCAlarmsV1and2
+
+
+
+
+ Lamp Failure Alarm.
+
+
+
+
+ Board Failure Alarm.
+
+
+
+
+ Metrology Error Alarm.
+
+
+
+
+ Metrology Failure Alarm.
+
+
+
+
+ Metrology Reset Alarm.
+
+
+
+
+ Over Current Alarm.
+
+
+
+
+ Daylight Burner.
+
+
+
+
+ GPS Hardware Failure.
+
+
+
+
+ GPS Position.
+
+
+
+
+ Self-Discovery Failure.
+
+
+
+
+ Power Surge.
+
+
+
+
+ Brown Out Warning.
+
+
+
+
+ High Current.
+
+
+
+
+ Low Current.
+
+
+
+
+ Reverse Energy.
+
+
+
+
+ Meter Changed.
+
+
+
+
+ Relay Corrected.
+
+
+
+
+ GPS Location Changed Warning.
+
+
+
+
+ NA2WMLCAlarmsV3
+
+
+
+
+ Lamp Failure Alarm.
+
+
+
+
+ DALI Driver Failure.
+
+
+
+
+ Memory Error Alarm.
+
+
+
+
+ Metrology Failure Alarm.
+
+
+
+
+ Metrology Reset Alarm.
+
+
+
+
+ Over-Voltage Alarm.
+
+
+
+
+ Daylight Burner.
+
+
+
+
+ GPS Hardware Failure.
+
+
+
+
+ GPS Position.
+
+
+
+
+ Self-Discovery Failure.
+
+
+
+
+ High Power Alarm.
+
+
+
+
+ Low Power Alarm.
+
+
+
+
+ Unchanged Light Level.
+
+
+
+
+ Open Circuit Alarm.
+
+
+
+
+ Blocked Relay Alarm.
+
+
+
+
+ Fixture Type Changed Alarm.
+
+
+
+
+ Power Surge.
+
+
+
+
+ Brownout Detected.
+
+
+
+
+ High Current.
+
+
+
+
+ Low Current.
+
+
+
+
+ Low Power Factor Warning.
+
+
+
+
+ High Temperature Warning.
+
+
+
+
+ Cycling Lamp Warning.
+
+
+
+
+ GPS Location Changed Warning.
+
+
+
+
+ NA2WMLCStatusFlags
+
+
+
+
+ Power Failure.
+
+
+
+
+ Power Restored.
+
+
+
+
+ Reading Failed.
+
+
+
+
+ On-Demand Read.
+
+
+
+
+ Self Discovery Running.
+
+
+
+
+ GPS Search Running.
+
+
+
+
+ GPS Lock.
+
+
+
+
+ No Time Sync.
+
+
+
+
+ RawMetrologyAlarms
+
+
+
+
+ Metrology Low Voltage Alarm.
+
+
+
+
+ Communication Failure Alarm.
+
+
+
+
+ BatteryEndpointAlarms
+
+
+
+
+ Low Voltage Alarm.
+
+
+
+
+ Digital Input A Alarm.
+
+
+
+
+ Digital Input B Alarm.
+
+
+
+
+ CathodicProtectionMetrologyAlarms
+
+
+
+
+ Low Voltage Alarm.
+
+
+
+
+ Metrology Failure.
+
+
+
+
+ End-of-Life.
+
+
+
+
+ MLCScheduleEntry
+
+
+
+
+ Hour.
+
+
+
+
+ Min..
+
+
+
+
+ Level.
+
+
+
+
+ Blink.
+
+
+
+
+ Slot.
+
+
+
+
+ Day of Week.
+
+
+
+
+ Enabled.
+
+
+
+
+ ScheduleSlotControl
+
+
+
+
+ 1st Slot.
+
+
+
+
+ 2nd Slot.
+
+
+
+
+ 3rd Slot.
+
+
+
+
+ 4th Slot.
+
+
+
+
+ OverrideTerminationEvent
+
+
+
+
+ Sunrise.
+
+
+
+
+ Sunset.
+
+
+
+
+ Next Scheduled Event.
+
+
+
+
+ MLCLightingLevelConfiguration
+
+
+
+
+ Hardware Setting.
+
+
+
+
+ Current Scale.
+
+
+
+
+ Full On Required.
+
+
+
+
+ UserDefinedAlarmStateVector
+
+
+
+
+ User-defined alarm 0.
+
+
+
+
+ User-defined alarm 1.
+
+
+
+
+ User-defined alarm 2.
+
+
+
+
+ User-defined alarm 3.
+
+
+
+
+ User-defined alarm 4.
+
+
+
+
+ User-defined alarm 5.
+
+
+
+
+ User-defined alarm 6.
+
+
+
+
+ User-defined alarm 7.
+
+
+
+
+ User-defined alarm 8.
+
+
+
+
+ User-defined alarm 9.
+
+
+
+
+ User-defined alarm 10.
+
+
+
+
+ User-defined alarm 11.
+
+
+
+
+ User-defined alarm 12.
+
+
+
+
+ User-defined alarm 13.
+
+
+
+
+ User-defined alarm 14.
+
+
+
+
+ User-defined alarm 15.
+
+
+
+
+ User-defined alarm 16.
+
+
+
+
+ User-defined alarm 17.
+
+
+
+
+ User-defined alarm 18.
+
+
+
+
+ User-defined alarm 19.
+
+
+
+
+ User-defined alarm 20.
+
+
+
+
+ User-defined alarm 21.
+
+
+
+
+ User-defined alarm 22.
+
+
+
+
+ User-defined alarm 23.
+
+
+
+
+ WaterPredefinedAlarmStateVector
+
+
+
+
+ Upgrade mode.
+
+
+
+
+ Severe hardware problem.
+
+
+
+
+ Non-volatile memory error.
+
+
+
+
+ Dead battery/too low to accumulate.
+
+
+
+
+ Empty pipe.
+
+
+
+
+ Magnetic tamper.
+
+
+
+
+ Meter disconnect tamper.
+
+
+
+
+ Near end-of-life.
+
+
+
+
+ Beyond end-of-life.
+
+
+
+
+ Metrology comm error.
+
+
+
+
+ Critical hardware warning.
+
+
+
+
+ Reboot.
+
+
+
+
+ EMF range.
+
+
+
+
+ Low field.
+
+
+
+
+ High current.
+
+
+
+
+ Low primary battery volts.
+
+
+
+
+ Low secondary battery volts.
+
+
+
+
+ Glide slope.
+
+
+
+
+ High temperature.
+
+
+
+
+ Config error.
+
+
+
+
+ Actuator failure.
+
+
+
+
+ Pre-defined alarm 21.
+
+
+
+
+ Pre-defined alarm 22.
+
+
+
+
+ Pre-defined alarm 23.
+
+
+
+
+ GasPredefinedAlarmStateVector
+
+
+
+
+ Index Lost.
+
+
+
+
+ Configuration lost.
+
+
+
+
+ Calibration lost.
+
+
+
+
+ Metrology HW failure.
+
+
+
+
+ Meter HW failure.
+
+
+
+
+ Meter power reset.
+
+
+
+
+ Optical port communication failure.
+
+
+
+
+ Non-standard operation.
+
+
+
+
+ Meter reboot.
+
+
+
+
+ Physical tamper.
+
+
+
+
+ Metrology tamper.
+
+
+
+
+ Air in meter.
+
+
+
+
+ Unsatisfactory readings.
+
+
+
+
+ Temperature compensation failure.
+
+
+
+
+ Pressure compensation failure.
+
+
+
+
+ Flow out of range.
+
+
+
+
+ Pre-defined alarm 16.
+
+
+
+
+ Pre-defined alarm 17.
+
+
+
+
+ Pre-defined alarm 18.
+
+
+
+
+ Radio communication failure.
+
+
+
+
+ End of life warning.
+
+
+
+
+ End of life.
+
+
+
+
+ Battery Low.
+
+
+
+
+ Pre-defined alarm 23.
+
+
+
+
+ RawMetrologyPredefinedAlarmStateVector
+
+
+
+
+ Predefined alarm 0.
+
+
+
+
+ Predefined alarm 1.
+
+
+
+
+ Predefined alarm 2.
+
+
+
+
+ Predefined alarm 3.
+
+
+
+
+ Predefined alarm 4.
+
+
+
+
+ Predefined alarm 5.
+
+
+
+
+ Predefined alarm 6.
+
+
+
+
+ Predefined alarm 7.
+
+
+
+
+ Predefined alarm 8.
+
+
+
+
+ Predefined alarm 9.
+
+
+
+
+ Predefined alarm 10.
+
+
+
+
+ Predefined alarm 11.
+
+
+
+
+ Predefined alarm 12.
+
+
+
+
+ Predefined alarm 13.
+
+
+
+
+ Predefined alarm 14.
+
+
+
+
+ Predefined alarm 15.
+
+
+
+
+ Predefined alarm 16.
+
+
+
+
+ Predefined alarm 17.
+
+
+
+
+ Predefined alarm 18.
+
+
+
+
+ Predefined alarm 19.
+
+
+
+
+ Predefined alarm 20.
+
+
+
+
+ Predefined alarm 21.
+
+
+
+
+ Predefined alarm 22.
+
+
+
+
+ Predefined alarm 23.
+
+
+
+
+ BatteryEndpointPredefinedAlarmStateVector
+
+
+
+
+ Predefined alarm 0.
+
+
+
+
+ Predefined alarm 1.
+
+
+
+
+ Predefined alarm 2.
+
+
+
+
+ Predefined alarm 3.
+
+
+
+
+ Predefined alarm 4.
+
+
+
+
+ Predefined alarm 5.
+
+
+
+
+ Predefined alarm 6.
+
+
+
+
+ Predefined alarm 7.
+
+
+
+
+ Predefined alarm 8.
+
+
+
+
+ Predefined alarm 9.
+
+
+
+
+ Predefined alarm 10.
+
+
+
+
+ Predefined alarm 11.
+
+
+
+
+ Predefined alarm 12.
+
+
+
+
+ Predefined alarm 13.
+
+
+
+
+ Predefined alarm 14.
+
+
+
+
+ Predefined alarm 15.
+
+
+
+
+ Predefined alarm 16.
+
+
+
+
+ Predefined alarm 17.
+
+
+
+
+ Predefined alarm 18.
+
+
+
+
+ Predefined alarm 19.
+
+
+
+
+ Predefined alarm 20.
+
+
+
+
+ Predefined alarm 21.
+
+
+
+
+ Predefined alarm 22.
+
+
+
+
+ Predefined alarm 23.
+
+
+
+
+ CathodicProtectionMetrologyPredefinedAlarmStateVector
+
+
+
+
+ Predefined alarm 0.
+
+
+
+
+ Predefined alarm 1.
+
+
+
+
+ Predefined alarm 2.
+
+
+
+
+ Predefined alarm 3.
+
+
+
+
+ Predefined alarm 4.
+
+
+
+
+ Predefined alarm 5.
+
+
+
+
+ Predefined alarm 6.
+
+
+
+
+ Predefined alarm 7.
+
+
+
+
+ Predefined alarm 8.
+
+
+
+
+ Predefined alarm 9.
+
+
+
+
+ Predefined alarm 10.
+
+
+
+
+ Predefined alarm 11.
+
+
+
+
+ Predefined alarm 12.
+
+
+
+
+ Predefined alarm 13.
+
+
+
+
+ Predefined alarm 14.
+
+
+
+
+ Predefined alarm 15.
+
+
+
+
+ Predefined alarm 16.
+
+
+
+
+ Predefined alarm 17.
+
+
+
+
+ Predefined alarm 18.
+
+
+
+
+ Predefined alarm 19.
+
+
+
+
+ Predefined alarm 20.
+
+
+
+
+ Predefined alarm 21.
+
+
+
+
+ Predefined alarm 22.
+
+
+
+
+ Predefined alarm 23.
+
+
+
+
+ CnIMeterAlarms
+
+
+
+
+ Meter Unprogrammed.
+
+
+
+
+ Configuration Error.
+
+
+
+
+ Self Check Error.
+
+
+
+
+ RAM Failure Error.
+
+
+
+
+ ROM Failure Error.
+
+
+
+
+ NONVOL Error.
+
+
+
+
+ Clock Error.
+
+
+
+
+ Measurement Error.
+
+
+
+
+ Low Battery Error.
+
+
+
+
+ Low Loss Potential.
+
+
+
+
+ Demand Overload.
+
+
+
+
+ Power Failure.
+
+
+
+
+ IConAErrors
+
+
+
+
+ Metro Startup.
+
+
+
+
+ Metro Cal Corrupt.
+
+
+
+
+ Metro Bad Register Num.
+
+
+
+
+ Metro Chip Integ Fail.
+
+
+
+
+ E2 Read.
+
+
+
+
+ E2 Write.
+
+
+
+
+ Configuration Error.
+
+
+
+
+ Spare 7.
+
+
+
+
+ Block No Good Blocks.
+
+
+
+
+ Block Buffer Size.
+
+
+
+
+ Block Bad Index.
+
+
+
+
+ Block Cant Mark Bad.
+
+
+
+
+ Spare 2.
+
+
+
+
+ Spare 3.
+
+
+
+
+ Disconnect Fail.
+
+
+
+
+ Reverse Power.
+
+
+
+
+ IConAWarnings
+
+
+
+
+ Metro Integrity Check.
+
+
+
+
+ Metro Write.
+
+
+
+
+ Metro Reg Check.
+
+
+
+
+ Metro Bit Check.
+
+
+
+
+ E2 ReRead.
+
+
+
+
+ E2 Timeout.
+
+
+
+
+ E2 Partials Mismatch.
+
+
+
+
+ E2 Write.
+
+
+
+
+ Block Marked Bad.
+
+
+
+
+ Block CRC.
+
+
+
+
+ Block Corrupt.
+
+
+
+
+ Over Class Amps.
+
+
+
+
+ Metro Energy Lost .
+
+
+
+
+ Metro High Load.
+
+
+
+
+ Disconnect Unsafe To Close.
+
+
+
+
+ Comms.
+
+
+
+
+ ElectricAlarmData
+
+
+
+
+ Calibration Error.
+
+
+
+
+ Register Check Error.
+
+
+
+
+ Reset Error.
+
+
+
+
+ RAM Bit Error.
+
+
+
+
+ General CRC Error.
+
+
+
+
+ Soft EEPROM Error.
+
+
+
+
+ Watchdog Restart.
+
+
+
+
+ Bit Checksum Error.
+
+
+
+
+ Soft kWh Error.
+
+
+
+
+ Low AC Volts.
+
+
+
+
+ Current Too High.
+
+
+
+
+ Power Failure.
+
+
+
+
+ Hard EEPROM Error.
+
+
+
+
+ Hard kWh Error.
+
+
+
+
+ Configuration Error.
+
+
+
+
+ Reverse Power.
+
+
+
+
+ ElectricMicroProcessorErrors
+
+
+
+
+ Processor Resets.
+
+
+
+
+ ROM Test Failed.
+
+
+
+
+ RAM Test Failed.
+
+
+
+
+ ElectricLockErrors
+
+
+
+
+ Synthesizer Lock Failures.
+
+
+
+
+ Receiver Calibration Errors.
+
+
+
+
+ ElectricAlarmFlags
+
+
+
+
+ EEPROM Available.
+
+
+
+
+ Temperature Alarm.
+
+
+
+
+ Over Voltage Alarm.
+
+
+
+
+ Reverse Power Alarm.
+
+
+
+
+ FT9ProgrammerID
+
+
+
+
+ User ID.
+
+
+
+
+ Programmer Increment.
+
+
+
+
+ CommandHandlerFlags
+
+
+
+
+ Allowed Direct.
+
+
+
+
+ Allowed Group.
+
+
+
+
+ Allowed Broadcast.
+
+
+
+
+ Allowed Multicast.
+
+
+
+
+ Allowed Broadcast Nonencrypted.
+
+
+
+
+ Always Requires Encryption.
+
+
+
+
+ Requires Encryption after 15 minutes.
+
+
+
+
+ Command Uses Time Quantum.
+
+
+
+
+ CBC Length.
+
+
+
+
+ Command Not Supported.
+
+
+
+
+ FlexNetWaterMeterSetup
+
+
+
+
+ Meter Type.
+
+
+
+
+ Meter Units.
+
+
+
+
+ Reading Resolution.
+
+
+
+
+ History Scale.
+
+
+
+
+ Endpoint Type.
+
+
+
+
+ Leak Detection Threshold.
+
+
+
+
+ Leak Detection Consecutive Reads.
+
+
+
+
+ 15 Minute Interval Data.
+
+
+
+
+ Reading.
+
+
+
+
+ WaterMeterAlarmMessageFormat
+
+
+
+
+ Has actuator (valve).
+
+
+
+
+ Alpha-Beta.
+
+
+
+
+ Timestamped.
+
+
+
+
+ SensusIntegratedGasProductConfiguration
+
+
+
+
+ Configuration Locked.
+
+
+
+
+ Hardware Lock Required.
+
+
+
+
+ Hardware Locked.
+
+
+
+
+ Pulse Output Enabled.
+
+
+
+
+ Integrated Radio.
+
+
+
+
+ Sealed.
+
+
+
+
+ Meter Stopped.
+
+
+
+
+ Supports Volume UDA.
+
+
+
+
+ Supports Temperature UDA.
+
+
+
+
+ Supports Pressure UDA.
+
+
+
+
+ SensusIntegratedGasMetrologyConfiguration
+
+
+
+
+ Temperature Compensation.
+
+
+
+
+ Fixed Factor Compensation.
+
+
+
+
+ Fast Sample Mode.
+
+
+
+
+ CertificateStatus
+
+
+
+
+ Invalid.
+
+
+
+
+ Revoked.
+
+
+
+
+ FailCRC.
+
+
+
+
+ FailFirstTrust.
+
+
+
+
+ FailedRootTrust.
+
+
+
+
+ IsPRDCert.
+
+
+
+
+ IsBakedIn.
+
+
+
+
+ CertificateUsage
+
+
+
+
+ KeyCertSign.
+
+
+
+
+ CodeSign.
+
+
+
+
+ RNI-Command.
+
+
+
+
+ KeyAgree.
+
+
+
+
+ CertificateSummary
+
+
+
+
+ Status.
+
+
+
+
+ Usage.
+
+
+
+
+ Length.
+
+
+
+
+ SecurityStateInfo
+
+
+
+
+ Cert Valid Bits.
+
+
+
+
+ Endpoint Private Key Valid.
+
+
+
+
+ Asymmetric Supported.
+
+
+
+
+ RNI AES State.
+
+
+
+
+ HHD AES State.
+
+
+
+
+ SecurityConfiguration
+
+
+
+
+ SecurityReset Block Unseal.
+
+
+
+
+ Security Rules Enabled.
+
+
+
+
+ JTAG Access Enabled.
+
+
+
+
+ Metrology Factory Seal State.
+
+
+
+
+ FT9EpSetupAuditV1
+
+
+
+
+ Message Reason.
+
+
+
+
+ Product Type.
+
+
+
+
+ Product Version.
+
+
+
+
+ Radio Model.
+
+
+
+
+ Alarm Suppression Disabled.
+
+
+
+
+ Programmer ID.
+
+
+
+
+ Watchdog Reset Count.
+
+
+
+
+ Battery Voltage.
+
+
+
+
+ Battery Voltage Under Load.
+
+
+
+
+ Device Temperature.
+
+
+
+
+ TCXO Correction.
+
+
+
+
+ Latitude.
+
+
+
+
+ Longitude.
+
+
+
+
+ Altitude.
+
+
+
+
+ RTC Seconds.
+
+
+
+
+ RTC Hour.
+
+
+
+
+ Epoch Time.
+
+
+
+
+ Autonomous TX Count.
+
+
+
+
+ CustomerId.
+
+
+
+
+ Fragmentation Session Size.
+
+
+
+
+ Base Frequency Channel.
+
+
+
+
+ Standard RF Channel.
+
+
+
+
+ Standard MTU.
+
+
+
+
+ Standard Modulation.
+
+
+
+
+ Poll Response RF Channel.
+
+
+
+
+ Poll Response MTU.
+
+
+
+
+ Poll Response Modulation.
+
+
+
+
+ Alarm RF Channel.
+
+
+
+
+ Alarm MTU.
+
+
+
+
+ Alarm Modulation.
+
+
+
+
+ Buddy RF Channel.
+
+
+
+
+ Buddy MTU.
+
+
+
+
+ Buddy Modulation.
+
+
+
+
+ Command RF Channel.
+
+
+
+
+ Command MTU.
+
+
+
+
+ Command Modulation.
+
+
+
+
+ Vgb RF Channel.
+
+
+
+
+ Vgb MTU.
+
+
+
+
+ Vgb Modulation.
+
+
+
+
+ Ensure RF Channel.
+
+
+
+
+ Ensure MTU.
+
+
+
+
+ Ensure Modulation.
+
+
+
+
+ Critical RF Channel.
+
+
+
+
+ Critical MTU.
+
+
+
+
+ Critical Modulation.
+
+
+
+
+ Factory Features.
+
+
+
+
+ Field Features.
+
+
+
+
+ Transmit Operational Mode [Idle].
+
+
+
+
+ Transmit Operational Mode [WB/DB].
+
+
+
+
+ Transmit Operational Mode [FB LAT].
+
+
+
+
+ Transmit Operational Mode [FB MoM].
+
+
+
+
+ LAT Occurrence.
+
+
+
+
+ WBDB Sniff Interval [Idle] (sec).
+
+
+
+
+ WBDB Sniff Interval [WB/DB] (sec).
+
+
+
+
+ WBDB Sniff Interval [FB LAT] (sec).
+
+
+
+
+ WBDB Sniff Interval [FB MoM] (sec).
+
+
+
+
+ LAT RX On Time [HHD].
+
+
+
+
+ LAT Delay [HHD].
+
+
+
+
+ LAT RX On Time [VGB].
+
+
+
+
+ LAT Delay [VGB].
+
+
+
+
+ LAT RX On Time [TGB].
+
+
+
+
+ LAT Delay [TGB].
+
+
+
+
+ Security State.
+
+
+
+
+ TgbMetaData
+
+
+
+
+ ID.
+
+
+
+
+ Times Heard.
+
+
+
+
+ Supports FNv2.
+
+
+
+
+ Average Uplink Signal.
+
+
+
+
+ Average Uplink Noise.
+
+
+
+
+ Average Downlink Signal.
+
+
+
+
+ Average Downlink Noise.
+
+
+
+
+ AC248ChannelAlarmMasks
+
+
+
+
+ Channel.
+
+
+
+
+ Predefined Alarm Mask.
+
+
+
+
+ UserDefined Alarm Mask.
+
+
+
+
+ IntHolder
+
+
+
+
+ Reading.
+
+
+
+
+ Testing Message
+
+
+
+
+ Counter1.
+
+
+
+
+ Counter2.
+
+
+
+
+ Fixed [00].
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Unused
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ Water/Gas Meter Read With History
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ WB/DB Silencing ACK
+
+
+
+
+ Hold-Off Seconds.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ ZigBee Command
+
+
+
+
+ ZigBee Command Length.
+
+
+
+
+ Command ID.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ ZigBee Command when Command ID is IHDConfiguration
+
+
+
+
+ Time Between Pushes.
+
+
+
+
+ Time Units.
+
+
+
+
+ Base Frequency.
+
+
+
+
+ HAN Channel.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Command when Command ID is PermitJoining
+
+
+
+
+ Time.
+
+
+
+
+ Time Units.
+
+
+
+
+ Device Address.
+
+
+
+
+ Local HAN Device ID.
+
+
+
+
+ Device Type.
+
+
+
+
+ Device Type RAW.
+
+
+
+
+ Implicit Join?.
+
+
+
+
+ Address Is FlexNet ID?.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Command when Command ID is SetLoadControlParameter
+
+
+
+
+ MAC Address.
+
+
+
+
+ Parameter Identifier.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBeeCommand_SetLoadControlParameter when Parameter Identifier is UtilityEnrollmentGroup
+
+
+
+
+ ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBeeCommand_SetLoadControlParameter when Parameter Identifier is StartRandomizationTime
+
+
+
+
+ Minutes.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBeeCommand_SetLoadControlParameter when Parameter Identifier is StopRandomizationTime
+
+
+
+
+ Minutes.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBeeCommand_SetLoadControlParameter when Parameter Identifier is DeviceClass
+
+
+
+
+ Class.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBeeCommand_SetLoadControlParameter when Parameter Identifier is SerialNumber
+
+
+
+
+ Serial Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBeeCommand_SetLoadControlParameter when Parameter Identifier is TamperDetectTimeoutThreshold
+
+
+
+
+ Seconds.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBeeCommand_SetLoadControlParameter when Parameter Identifier is ColdLoadPickupDuration
+
+
+
+
+ Duration.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBeeCommand_SetLoadControlParameter when Parameter Identifier is MaxControlDuration
+
+
+
+
+ Duration.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Command when Command ID is GetLoadControlParameter
+
+
+
+
+ MAC Address.
+
+
+
+
+ Parameter Identifier.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Command when Command ID is PingForEndpointVersionInformation
+
+
+
+
+ MAC Address.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Command when Command ID is PingForLoadControlModuleStatus
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through
+
+
+
+
+ ZigBee Response Length.
+
+
+
+
+ Response ID.
+
+
+
+
+ Called by Frame class after buffer has been updated with
+ latest copy of data.
+
+
+
+
+ ZigBee Pass-through when Response ID is ACK
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is NAK
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is Confirm
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is QueryVersion
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is GetLoadControlParameterResponse
+
+
+
+
+ MAC Address.
+
+
+
+
+ Parameter Identifier.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBeePassThrough_GetLoadControlParameterResponse when Parameter Identifier is UtilityEnrollmentGroup
+
+
+
+
+ ID.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBeePassThrough_GetLoadControlParameterResponse when Parameter Identifier is StartRandomizationTime
+
+
+
+
+ Minutes.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBeePassThrough_GetLoadControlParameterResponse when Parameter Identifier is StopRandomizationTime
+
+
+
+
+ Minutes.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBeePassThrough_GetLoadControlParameterResponse when Parameter Identifier is DeviceClass
+
+
+
+
+ Class.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBeePassThrough_GetLoadControlParameterResponse when Parameter Identifier is SerialNumber
+
+
+
+
+ Serial Number.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBeePassThrough_GetLoadControlParameterResponse when Parameter Identifier is TamperDetectTimeoutThreshold
+
+
+
+
+ Seconds.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBeePassThrough_GetLoadControlParameterResponse when Parameter Identifier is ColdLoadPickupDuration
+
+
+
+
+ Duration.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBeePassThrough_GetLoadControlParameterResponse when Parameter Identifier is MaxControlDuration
+
+
+
+
+ Duration.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is VerifyCertificateAndPrivateKeyResponse
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is LoadControlEventReports
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is HANStatus
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is IDOfHANDevice
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is ReadESIAttributeResponse
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is OTAUpgradeParameterResponse
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is GetOTAUpgradeStatusResponse
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is AlarmReportingMessage
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is LCMStatusResponseMessage
+
+
+
+
+ Time Sync.
+
+
+
+
+ Current Pricing Tier.
+
+
+
+
+ Number of Relays.
+
+
+
+
+ Event ID.
+
+
+
+
+ Relay 1 Tamper Active.
+
+
+
+
+ Relay 2 Tamper Active.
+
+
+
+
+ Relay 3 Tamper Active.
+
+
+
+
+ Relay 1 Event Active.
+
+
+
+
+ Relay 2 Event Active.
+
+
+
+
+ Relay 3 Event Active.
+
+
+
+
+ Relay 1 Event Pending.
+
+
+
+
+ Relay 2 Event Pending.
+
+
+
+
+ Relay 3 Event Pending.
+
+
+
+
+ Relay 1 Closed .
+
+
+
+
+ Relay 2 Closed .
+
+
+
+
+ Relay 3 Closed .
+
+
+
+
+ Relay 1 Load Detected.
+
+
+
+
+ Relay 2 Load Detected.
+
+
+
+
+ Relay 3 Load Detected.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is GenericResponse
+
+
+
+
+ Flex Command Being Responded To.
+
+
+
+
+ Response Reason.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is PriceTierPing
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is LoadControlEventQueuePingResponse
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is MessageQueuePingResponse
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is PriceFormatPing
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is DeviceListPing
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is BillingDataPingResponse
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is PingResponseForESIErrorCounts
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is PingResponseForMemoryStats
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is PingResponseForNetworkInfo
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is PingResponseForLoadControlConfiguration
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is PingResponseForResetSourceCounters
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is PingResponseForAPSLinkKey
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is PingResponseForTOUTierInfo
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is PingResponseForNetworkMonitoringConfigurationSettings
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is PingResponseForEndpointVersionInformation
+
+
+
+
+ Endpoint Type.
+
+
+
+
+ MAC Address.
+
+
+
+
+ Manufacturer ID.
+
+
+
+
+ Product ID.
+
+
+
+
+ HW Version.
+
+
+
+
+ FW Version.
+
+
+
+
+ Device Type.
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is PingResponseForRadioInfo
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is PingResponseForExtendedVersionInformation
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is PingResponseForNetworkKey
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is ZigBeeResponse
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is RequestForFragmentReSend
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is SendFlexACKNAKToBE
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is SendFirmwareImageCheckResponseToBE
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is SendUniversalFWVersionPingResponseToBE
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is SerialUpgradeStartResponse
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is SerialUpgradeCheckImageResponse
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ ZigBee Pass-through when Response ID is SerialUpgradeStatusMessage
+
+
+
+
+ Called by Frame/Envelope class after it instantiates
+ this object and after it calls AdjustSize().
+
+
+
+
+ The FlexNet RadioProfile that was used to create this ICommunicator object.
+
+
+
+
+ Turn off the receiver
+
+
+
+
+ Maximum supported transmit power in dBm.
+
+
+
+
+ Minimum supported transmit power in dBm.
+
+
+
+
+ Default transmit power in dBm.
+
+
+
+
+ Does this device support map loop interface?
+
+
+
+
+ Does this device support ASK?
+
+
+
+
+ Transmit power used when transmitting ASK in dBm.
+
+
+
+
+ Does this device support mPass-1 (5 kbps)?
+
+
+
+
+ Transmit power used when transmitting on mPass-1 (5 kbps) in dBm.
+
+
+
+
+ Does this device support mPass-2 (NA2W 10kbps)?
+
+
+
+
+ Transmit power used when transmitting on mPass-2 (NA2W 10 kbps) in dBm.
+
+
+
+
+ Attempt to connect to an NA2W device using tone detection.
+
+
+ Callers should subscribe to the event to
+ capture received frames that occurred during detection.
+
+ the overall timeout for the detection
+ the FlexNet ID to which we want to connect
+ A function that returns true if the
+ connection attempt should be cancelled
+ true if a connection was estabished
+
+
+
+ Creates a binding between two FlexNet IDs.
+ Bindings are transitive, so Bind(a, b); Bind(b, c) also causes 'a' and 'c' to be bound.
+ Bindings should be created for any set of FlexNet IDs that share common radio hardware.
+ This allows the CommDev to deliver LAT messages to a single FNID through LAT windows for any FNID that shares the same radio.
+
+
+
+
+
+
+ Returns the bound FlexNetID for the supplied FlexNetID. If no bound peer is found, returns the supplied FlexNetID.
+
+
+
+
+
+
+ Can this device emit an NA2W interrogation tone?
+
+
+
+
+ Transmit power used when emitting NA2W interrogation tone in dBm.
+
+
+
+
+ Called when a FlexNet frame is received by the ICommunicationDevice.
+
+
+
+
+ Called when a FlexNet message is received by the ICommunicationDevice.
+
+
+
+
+ Called when a FlexNet command is received by the ICommunicationDevice.
+
+
+
+
+ If TxRxDevice is an IDevice, returns the result of its GetConnectTask() extension method.
+ Otherwise, returns an DoWorkEventHandler that does nothing.
+
+
+
+
+ Gets the underlying CommandLink out of a Communicator wrapping a CommandLink.
+
+
+
+ if comDev is not a Communicator wrapping a CommandLink
+
+
+
+ Modulation schemes available for FlexNet RF devices.
+
+
+
+
+ Standard American NA2W commands.
+
+
+
+
+ Standard NA2W Normal in North America.
+
+
+
+
+ Referred to as "Poll Response" by RNI.
+
+
+
+
+ Abilities of a device capable of transmitting FlexNet messages.
+
+
+
+
+ Maximum supported transmit power in dBm.
+
+
+
+
+ Minimum supported transmit power in dBm.
+
+
+
+
+ List of supported TxStyle's.
+
+
+
+
+ List of supported tx frame types. Current options are:
+ - typeof(NA2WCommand)
+ - typeof(ClassicCommand)
+ - typeof(SerialCommand)
+
+
+
+
+ Does this device support the specified TxStyle and frame type combination?
+
+
+
+ true if device can transmit the specified frametype using the specified TxStyle
+
+
+
+ Note to implementors: method may need to restore listening to the state of your comm dev
+ after transmitting.
+
+
+
+
+
+
+
+
+
+ when TxStyle and frame type are not a supported combination.
+
+
+
+ Does this device support encrpyted transmits?
+
+
+
+
+ Transmits an NA2WCommand in a LAT window.
+
+
+ Maximum amount of time to wait for a LAT window to open.
+
+
+
+
+
+
+
+
+
+ Transmits an NA2WCommand in a LAT window.
+
+
+ Maximum amount of time to wait for a LAT window to open.
+
+
+
+
+
+
+
+
+
+
+ Loads a command into the LAT queue for sending when the next available window opens.
+
+
+
+
+
+
+
+
+
+
+ Attempt to connect to an NA2W device using tone detection.
+
+
+ Tone detection is a complicated process, though conceptually simple. We emit a tone pattern
+ followed by a period of silence. The tone/silence sequence is required because the communication
+ device is half-duplex. If we had a full duplex communication device there would be no need for
+ a period of silence. Because we cannot 'hear' the SmartPoint while emitting tone, we may miss the
+ response and have to catch it on the next go around.
+
+
+
+
+
+
+ A function that returns true if the
+ connection attempt should be cancelled
+ true if a connection was established
+
+
+
+ Creates a binding between two FlexNet IDs.
+ Bindings are transitive, so Bind(a, b); Bind(b, c) also causes 'a' and 'c' to be bound.
+ Bindings should be created for any set of FlexNet IDs that share common radio hardware.
+ This allows the CommDev to deliver LAT messages to a single FNID through LAT windows for any FNID that shares the same radio.
+
+
+
+
+
+
+ Returns the bound FlexNetID for the supplied FlexNetID. If no bound peer is found, returns the supplied FlexNetID.
+
+
+
+
+
+
+ Informs the communication device that the device with specified FlexNet ID
+ will open a LAT window at the specified time.
+
+ This method is exposed publicly to facilitate composite communication devices.
+ For example, listening using one device, but transmitting from another device.
+
+
+
+
+
+
+ Amount of time to wait after the start of a LAT window before transmitting.
+ Adjusting this value affects where in the SmartPoint's LAT window the command will be received.
+
+
+
+
+ Abilities of a device capable of receiving FlexNet messages.
+
+
+
+
+ A sequence of the TxStyles that can be received by this RxDevice.
+
+
+
+
+ Determines whether a particular TxStyle can be received by this RxDevice.
+
+
+
+
+
+
+ Instructs the device to listen for messages transmitted using
+ the specified TxStyle on a specified channel.
+
+ Note: Some devices may be able to listen for multiple TxStyles on
+ multiple radio channels. Most can only listen for one style on a
+ single channel at a time.
+
+
+
+
+
+
+ FNv2
+
+
+
+
+
+
+
+ Silences future FrameReceived events.
+
+
+
+
+ Notifies observers that a frame has been received.
+
+
+
+
+ Gets the age, in minutes, of the current meter reading from an NA2WIntervalDataPage_FirstPage.
+
+
+ age, in minutes, as a single uint value
+
+
+
+ Specifies a FlexNet radio channel.
+ A RadioChannel is immutable.
+
+
+
+
+ Creates a RadioChannel centered around the specified frequency giving base 38
+ preference.
+
+ Center frequency in MHz.
+
+
+
+ Constructs a RadioChannel given a specific center frequency and a desired
+ BaseFrequency.
+
+ Center frequency in MHz.
+ FlexNet base frequency to use. 38 and 40 are the most
+ commonly used base frequencies in Protocols.FlexNet.
+ If base is not valid for mhz.
+
+
+
+
+ The FlexNet base frequency of this RadioChannel. Used in StaticSetup and
+ NA2WInstallInitiation Base fields.
+ Each increment in base frequency adds 12.8 MHz, where a value of 0 equals 409.6 MHz.
+
+
+
+
+ The FlexNet "channel" of this RadioChannel. A channel is what is set in StaticSetup and
+ NA2WInstallInitiation TxA/Normal field (along with other similar fields).
+ Each increment in channel adds 6.25 kHz.
+
+
+
+
+ Modulation - relavent to FNv2
+
+
+
+
+ Forward Error Correction type - relavent to FNv2
+
+
+
+
+ Forward Error Correction type - relavent to FNv2
+
+
+
+
+ The frequency specified by this RadioChannel in MHz.
+
+
+
+
+ Represents this RadioChannel in the format BaseFrequency-Channel.
+
+
+
+
+ Groups a set of RadioChannels and a Subnet Mask to define all the
+ parameters needed for RF transmissions on a FlexNet network.
+ For a list of known radio profiles, see the KnownProfiles property.
+
+
+
+
+ The public static RadioProfile members of RadioProfile,
+ in arbitrary order.
+
+
+
+
+ Find the first radio profile from the list of known profiles that
+ has the same frequencies as the supplied candidate profile.
+
+
+
+
+
+
+ Find the first radio profile from the list of known profiles that
+ has the same frequencies as the supplied candidate profile. Match
+ against the preferred radio profile first.
+
+
+
+
+
+
+
+ Find the first radio profile from the supplied list of known profiles that
+ has the same frequencies as the supplied candidate profile.
+
+ UtilityCode will be copies from candidate
+
+
+
+
+
+
+ This is almost AMANAOAP, but not quite.
+
+
+
+
+ For 450 FMT
+
+
+
+
+ For 450 FMT
+
+
+
+
+ For 450 FMT
+
+
+
+
+ For 450 FMT
+
+
+
+
+ Set to true for radio profiles that are licensed for use by customers.
+ Sensus test frequencies may technically be licensed just for the RTP building,
+ but those should be set to false.
+
+
+
+
+ A BackgroundWorker capable of updating the firmware on a SmartPoint or other device that
+ uses FlexNet/FlexNet Serial.
+
+ The UserState property of ProgressChangedEventArgs will be a string describing progress.
+
+
+
+ image to load onto the device.
+
+
+
+ Starts the firmware update proceedure, but does not start sending blocks.
+ Typically, this method does nothing if StartBlockID is non-zero.
+
+
+
+
+ Sends blocks StartBlockID through EndBlockID
+
+
+
+
+ Sends blocks in the specified range, inclusive.
+
+
+
+
+
+
+ ID of the first block to transmit. Use this for continuations.
+
+
+
+
+ ID of the block currently being transmitted. Use this for detailed progress or for determining
+ where to start if an upgrade is interrupted.
+
+
+
+
+ ID of the last block to transmit. This is used for engineering/test purposes.
+ A value of -1 indicates all blocks should be sent.
+
+
+
+
+ Note to overriders: This method should set the protected backworkWorkerEventArgs member to e.
+
+
+
+
+
+
+ Sets the secret maintain storage bit in the FirmwareLoadStart command.
+ (Most devices do not support this bit. Elec.reg is the only one at the moment.)
+
+
+
+
+ Subclasses that call the single-parameter constructor should call this method in their constructor
+ to complete initialization after initializing their own members.
+
+
+
+
+ The total number of fractional days retrieved.
+
+
+ This number will often be larger than
+ due to the way that interval data pages are returned from the SmartPoint.
+
+
+
+
+ All the readings returned by the interval data messaging.
+
+
+ Note that this IEnumerable will often include more days than were
+ requested due to the way that interval data pages are returned from the SmartPoint.
+ Use or to
+ get an IEnumerable that matches the number of days requested.
+
+
+
+
+ Returns the number of readings corresponding to the requested number of days.
+
+
+
+
+ Returns the same data as but with the Value as a string
+ instead of a long.
+
+
+ The string value accounts for negative reading values the correspond to entries
+ in the enumeration.
+
+
+
+
+ Default implementation of ITxRxDevice.
+ Subclasses can use the "AddSupportedX" methods to register supported
+ TxStyles and frame formats and use the default implementations of the "Supported"
+ properties and "Supports" predicates.
+
+ LAT window tracking and scheduled transmissions are implemented.
+
+ Subclasses do not need to override both of the StartTone() methods:
+ the default implementations here are defined in terms of each other.
+
+
+
+
+ Returns the empty string by default.
+
+
+
+
+ Returns true by default.
+
+
+
+
+ Is a no-op by default
+
+
+
+
+ Subclasses should call this method at the start of their Disconnect() methods.
+
+ Stops tone, and cleans up the LAT queue.
+
+
+
+
+ Default transmit power. This value is used when the dBm value of a Tx method is null.
+
+
+
+
+ Schedules a transmission for a particular point in time.
+
+
+
+ Function that does the appropriate transmit. Will be invoked at the specified time.
+ callback function from standard .NET asynchrous pattern
+ AsyncData returned in AsyncResult
+
+
+
+
+ Used by subclasses to register frame and tx style combinations.
+
+
+
+
+
+
+ Instructs device to start emitting NA2W interrogation tone.
+
+
+ Overrides should (in this order:)
+ have device start emitting tone forever
+ set emittingTone = true
+ return
+ Overrides should not call base.StartTone()
+
+
+
+
+ Instructs device to start emitting NA2W interrogation tone for a specified duration.
+
+
+ Overrides should (in this order:)
+ have device start emitting tone for the specified amount of time.
+ set emittingTone = true
+ return
+ Overrides should not call base.StartTone()
+
+
+
+
+
+
+
+ Overrides should stop the device from emitting tone, and then call this method
+ to reset the toneTimer and set emittingTone = false.
+
+
+
+
+ Stops tone and disposes toneTimer, if applicable.
+ Subclasses should call this method with an argument of true
+ when being disposed.
+
+
+
+
+
+ Busy waits until RelativeTime.Now is when.
+
+
+
+
+
+ Load an NA2W command into the LAT queue.
+
+
+
+
+
+
+
+
+
+
+ Remove all entries from the LAT queue that match the given FlexNet ID
+
+
+
+
+
+ Remove all elements from the LAT queue
+
+
+
+
+ Attempt to connect to an NA2W device using tone detection.
+
+
+ Tone detection is a complicated process, though conceptually simple. We emit a tone pattern
+ followed by a period of silence. The tone/silence sequence is required because the communication
+ device is half-duplex. If we had a full duplex communication device there would be no need for
+ a period of silence. Because we cannot 'hear' the SmartPoint while emitting tone, we may miss the
+ response and have to catch it on the next go around.
+
+
+
+
+
+
+ A function that returns true if the
+ connection attempt should be cancelled
+ true if an connection was made
+
+
+
+ The channel last passed to the Listen() method.
+
+
+
+
+ The last modes passed to the StaticSetup command
+
+
+
+
+ Amount of time to wait after the start of a LAT window before transmitting.
+ Adjusting this value affects where in the SmartPoint's LAT window the command will be received.
+
+
+
+
+ The LAT delay to assume for all messages from non-zero-channels, if we have not yet heard from channel 0.
+
+
+
+
+ Cleanup expired LAT windows.
+ Uses LAT data structures. Must be called within a lock (latTimesbyFNID) { ... }
+
+
+
+
+ A Block contains exactly 64 bits of data. This class
+ provides several handy block-level operations.
+
+
+
+
+ Encrypts the given string using the given password and returns
+ a byte array of ciphertext which has the salt encoded so that
+ it can be used with DecryptString().
+
+
+
+
+
+
+
+ Encrypts the given string using the given password and returns
+ a byte array of ciphertext which has the salt encoded so that
+ it can be used with DecryptString().
+
+
+
+
+
+
+
+ Encrypts the given byte array using the given password and returns
+ a byte array of ciphertext which has the salt encoded so that
+ it can be used with DecryptBytes().
+
+
+
+
+
+
+
+ Encrypts the given byte array using the given password and returns
+ a byte array of ciphertext which has the salt encoded so that
+ it can be used with DecryptBytes().
+
+
+
+
+
+
+
+ Decrypts the cipher text which was produced by String()
+ by using the given password.
+ If decryption is successful, the original plaintext string
+ will be returned. Otherwise, null will be returned.
+
+
+
+
+
+
+
+ Decrypts the cipher text which was produced by String()
+ by using the given password.
+ If decryption is successful, the original plaintext string
+ will be returned. Otherwise, null will be returned.
+
+
+
+
+
+
+
+ Decrypts the cipher text which was produced by EncryptByes()
+ by using the given password.
+ If decryption is successful, the original plaintext array
+ will be returned. Otherwise, null will be returned.
+
+
+
+
+
+
+
+ Decrypts the cipher text which was produced by EncryptByes()
+ by using the given password.
+ If decryption is successful, the original plaintext array
+ will be returned. Otherwise, null will be returned.
+
+
+
+
+
+
+
+ Encrypts RSA private key using a random 8 byte salt
+
+
+
+
+
+
+
+ Decrypts what was encrypted by EncryptPrivateKey()
+
+
+
+
+
+
+
+ Returns a 32 byte array with a cryptographically strong sequence of random values.
+ The returned byte array is intended to be used as a stand-alone encryption key that is not part of a key pair.
+
+
+
+
+
+ This container serializes to a byte array that is at least
+ 16 bytes long and is always divisible by 8.
+
+
+
+
+ An implementation of the RFC3394 key-wrapping algorithm.
+
+
+
+
+
+ Constructs a KeyWrapAlgorithm object with the specified key-encryption key.
+
+ The key-encryption key to use for subsequent wrapping and unwrapping operations. This must be a valid AES key.
+ kek was a null reference.
+ kek must be a valid AES key, either 128, 192 or 256 bits long.
+
+
+
+ Wrap key data.
+
+ The key data, two or more 8-byte blocks.
+ The encrypted, wrapped data.
+ plaintext was null.
+ The plaintext contained fewer than 16 bytes.
+ plaintext was not made up of 64-bit blocks.
+
+
+
+ Unwrap encrypted key data.
+
+ The encrypted key data, two or more 8-byte blocks.
+ The original key data.
+ ciphertext was null.
+ The ciphertext contained fewer than 16 bytes.
+ ciphertext was not made up of 64-bit blocks.
+ The decryption process failed an integrity check.
+
+
+
+ Wrap key data with a key-encryption key.
+
+ The key encryption key. This must be a valid AES key.
+ The key data, two or more 8-byte blocks.
+ The encrypted, wrapped data.
+ One or more arguments was null.
+ Either kek was an invalid AES key, or the plaintext contained fewer than 16 bytes.
+ plaintext was not made up of 64-bit blocks.
+
+
+
+ Unwrap key data with a key-decryption key.
+
+ The key-decryption key. This must be a valid AES key.
+ The encrypted key data, two or more 8-byte blocks.
+ The original key data.
+ One or more arguments was null.
+ Either kek was an invalid AES key, or the ciphertext contained fewer than 16 bytes.
+ ciphertext was not made up of 64-bit blocks.
+ The decryption process failed an integrity check.
+
+
+
+ Validates a key encryption key.
+
+ The key encryption key (KEK) to validate.
+
+
+
+ Validates the input to the (un)wrapping methods.
+
+ Input to validate.
+ Name to use for exception messages.
+ n must be at least 2, see §2.
+
+
+
+ Encrypts a block of plaintext with AES.
+
+ Plaintext to encrypt.
+ containing the ciphertext bytes.
+
+
+
+ Decrypts a block of ciphertext with AES.
+
+ Ciphertext to decrypt.
+ containing the plaintext bytes.
+
+
+
+ Retrieves the 64 most significant bits of a 128-bit [].
+
+ An array of two blocks (128 bits).
+ The 64 most significant bits of .
+
+
+
+ Retrieves the 64 least significant bits of a 128-bit [].
+
+ An array of two blocks (128 bits).
+ The 64 most significant bits of .
+
+
+
+ Tests whether two arrays have the same contents.
+
+ The first array.
+ The second array.
+ true if the two arrays have the same contents, otherwise false.
+
+
+
+ Gets salt bytes.
+
+
+
+
+ Gets iteration count.
+
+
+
+
+ Gets Password.
+
+
+
+
+ Gets key bytes.
+
+
+
+
+ Import the provided dictionary of encryption keys into the KeyStore. Clears all previous keys from the KeyStore and erases the known key dictionary.
+ In the dictionary, the (key/value) pair is the (deviceID/List of key versions for that deviceID)
+
+ The dictionary of keys
+
+
+
+ Gets the key known to be associated with the provided deviceID or empty key (all zeros) if no known key exists
+ To be used when encrypting a message
+
+ The deviceID
+ The key associated with the given deviceID. Empty key if no known key exists.
+
+
+
+ Gets the key known to be associated with the provided deviceID or empty key (all zeros) if no known key exists
+ To be used when encrypting a message
+
+ The deviceID
+ The key associated with the given deviceID. Empty key if no known key exists.
+
+
+
+ Returns all the keys in the KeyStore as a List of strings. Each string is formatted as "DeviceID: [List of byte arrays]"
+
+ All of the keys in the KeyStore
+
+
+
+ Gets a list of all the keys in the KeyStore associated with the provided deviceID. If there is a key known to work with the provided deviceID, that key will be first in the list.
+ To be used when decrypting a message
+
+ The deviceID
+ List containing all keys in the KeyStore associated with the provided deviceID
+
+
+
+ Gets a list of all the keys in the KeyStore associated with the provided deviceID. If there is a key known to work with the provided deviceID, that key will be first in the list.
+ To be used when decrypting a message
+
+ The deviceID
+ List containing all keys in the KeyStore associated with the provided deviceID
+
+
+
+ Associates the provided key with the provided deviceID.
+ To be used when the provided key is known to successfully encrypt/decrypt messages to/from the provided deviceID
+
+ The deviceID
+ The key to associate with the deviceID
+
+
+
+ Associates the provided key with the provided deviceID.
+ To be used when the provided key is known to successfully encrypt/decrypt messages to/from the provided deviceID
+
+ The deviceID
+ The key to associate with the deviceID
+
+
+
+ Checks whether the provided key is equal to the key known to be associated with the provided deviceID
+
+ The deviceID
+ The key to compare with the known key
+ True if the provided key equals the known key. False if no known key exists, or if the provided key doesn't equal the known key.
+
+
+
+ Checks whether the provided key is equal to the key known to be associated with the provided deviceID
+
+ The deviceID
+ The key to compare with the known key
+ True if the provided key equals the known key. False if no known key exists, or if the provided key doesn't equal the known key.
+
+
+
+ Checks whether there is a key known to be associated with the given deviceID
+
+ The deviceID
+ True if there is a known key. False otherwise.
+
+
+
+ Checks whether there is a key known to be associated with the given deviceID
+
+ The deviceID
+ True if there is a known key. False otherwise.
+
+
+
+ Utilities for dealing with Radio IDs.
+ Can represent a Radio ID, but also provides implicit conversion operators
+ to and from int types.
+
+
+
+
+ Actual SensusRF addresses are always 11 digits, but the first 1 or 2 digits are generally left off when printed on the device, etc.
+ A prefix of 10 seems to mean "meter", 14 seems to mean "radio" (such as PulseRF, SmartPoint), BUT meters-under-development are also 14.
+ We (sort of) ignore the first two digits for meters and first digit for radios, so strip them just in case they're there.
+
+
+ corrected ID string
+
+
+
+ Returns a MeterTypeAndFreq struct based on a MeterID string
+
+ Meter ID string
+ type and frequency
+
+
+
+ Returns a SensusRF MeterType based on a passed in (int) ID.
+ May return non-canonical values (e.g. Metertype.Unknown).
+ Also, returns MeterType.IPERLFLX even though that is not a valid SensusRF MeterType.
+ The caller is responsible for using that appropriately.
+
+ the meter's SensusRF ID
+ the meter type
+
+
+
+ Returns a SensusRF MeterType based on a passed in (int) ID.
+ May return non-canonical values (e.g. Metertype.Unknown).
+ Also, returns MeterType.IPERLFLX even though that is not a valid SensusRF MeterType.
+ The caller is responsible for using that appropriately.
+
+ the meter's SensusRF ID as a string
+ the meter type
+
+
+
+ Returns a SensusRF Meter frequency based on a passed in (int) ID.
+
+ the meter's SensusRF ID
+ the meter frequency or -1 for unknown
+
+
+
+ Returns a SensusRF Meter frequency based on a passed in ID string.
+
+ the meter's SensusRF ID as a string
+ the meter frequency or -1 for unknown
+
+
+
+ Exception thrown when the Send to Sirt failed, i.e. when the P12 byte is different than expected.
+
+
+
+
+ Using the reported meter type and size, reports a more specific type for the meter
+ In particular, Meistream and the 640 E-Register both report themselves as "ERegister", but
+ we can disambiguate if the meter size is in expected ranges.
+
+ the reported meter type
+ the reported meter size
+ the clarified meter type, possibly as an "unknown" value
+
+
+
+ Using the reported meter type, size, and integrated status, reports a more specific type for the meter
+ In particular, Meistream and the 640 E-Register both report themselves as "ERegister", but
+ we can disambiguate if the meter size is in expected ranges. ///
+ the reported meter type
+ the reported meter size
+ true if we know the device is (or is not) an integrated device.
+
+
+
+
+ Using the reported meter type and size, reports a more specific type for the meter
+ In particular, Meistream and the 640 E-Register both report themselves as "ERegister", but
+ we can disambiguate if the meter size is in expected ranges.
+ If not null, we can use the SensusRF ID to help clarify as well.
+
+ the reported meter type
+ the reported meter size
+ true if we know the device is (or is not) an integrated device. (e.g. called in SmartPoint code)
+ SensusRF ID of the device
+ the clarified meter type, possibly as an "unknown" value
+
+
+
+ I copied this from TelegramFrame.cs. I think it's right since we're now properly
+ determining CRCs above and returning correct frames.
+ Only Grok uses this code anyway, so we should be good.
+
+
+
+
+
+ Bits in the first byte
+
+
+
+ Converts given relative time (number of seconds from 2000/1/1 in UTC) to absolute local time.
+
+
+
+
+
+
+ Contverts given local or UTC time (depends on set DateTimeKind) to relative time (number of seconds from 2000/1/1 in UTC)
+
+
+
+
+
+
+ Represents a 13 bit value, 2 bit exponent, 1 bit sign.
+
+
+ Introduced by Defect 59451: "Need to add support for Flow Report Compression for ESSAP eRegister C and I Meters"
+
+
+
+
+ Interface for common properties of Air Telegram from SIRT (i.e. with message code 11 MessageCode.Telegram
+ Which is BUP, SEMI, LOG, Tunnel ...
+
+
+
+
+ Used when decryption doesn't produce correct telegram i.e. checksum doesn't match
+
+
+
+
+ Backing store for LogFilterID.
+
+
+
+
+ Set to non-zero value to filter log messages by FlexNet / Radio ID.
+
+
+
+
+ These parameters are fixed length.
+
+
+
+
+ Time the telegram was captured/parsed
+
+
+
+
+ Time the telegram was captured/parsed
+
+
+
+
+
+ Column Headers:
+
+ Date Time
+ Uncorrected Reading(unit)
+ Corrected Reading(unit)
+ Minimum Temperature(unit)
+ Maximum Temperature(unit)
+ Average Temperature(unit)*
+ Fixed Operating Pressure(unit)
+ Active Alarms
+ Valve State (This represents the valve state at the end of the interval)
+
+
+
+
+
+
+
+
+ Column Headers:
+
+ Date Time
+ Uncorrected Reading(unit)
+ Corrected Reading(unit)
+ Maximum Temperature(unit)
+ Minimum Temperature(unit)
+ Average Temperature(unit)*
+ Maximum Pressure (unit)
+ Minimum Pressure (unit)
+ Average Pressure (unit)*
+ Fixed Operating Pressure(unit)
+ Active Alarms
+ Valve State (This represents the valve state at the end of the interval)
+
+
+
+
+
+
+
+ Metrology data results
+
+
+
+
+ Metrology data results
+
+
+
+
+ Called by Envelope/BackedHeaders class as part of the parsing process.
+
+
+
+
+
+
+ Called by Envelope class as part of the parsing process.
+
+
+
+
+
+
+
+ header bytes (7)
+ - STX : 0 0x02
+ - DeviceTypeProtocol8 : 1 'F' for flow-rig
+ - r1',r2' : 2,3 Random bytes, modified
+ - p1,p2 : 4,5 Password bytes
+ - Command : 6
+
+
+
+
+ Footer
+
+
+
+
+ Number of bytes including control bytes, command code, and checksum.
+
+
+
+
+ Includes Control, Status, Data, and Checksum.
+ For number of bytes in payload, use Payload.Length.
+
+
+
+
+ Header bytes: STX (0x02), 'G', CommandEcho
+ For number of bytes in payload, use Payload.Length
+
+
+
+
+ Footer byte: EOT (0x04)
+
+
+
+
+ Includes Control, Status, Data, and Checksum.
+ For number of bytes in payload, use Payload.Length.
+
+
+
+
+ Key is a string encapsulation of sensor ID and alarm ID:
+ - sensor ID is 0 for volume, 1 for temperature, or 2 for pressure
+ - alarm ID is unique identifier within a sensor.
+ For example, the High Low Pressure Alarm (ID 3) is rendered "2-3".
+ Value is the row number in the table for the alarm occurrence.
+
+
+
+
+ Sets up the main data table from which we can display a subset of columns
+ and persist all of them.
+
+ Used to create the filename during persisting.
+ Allows alarm logging to ignore certain alarms.
+
+
+
+ This method adds rows to the main DataTable based on incoming records.
+
+ log records retrieved from the meter through the Sonix Optical protocol
+ for displaying progress to the UI
+
+
+
+ Provides LCD display corresponding to alarms.
+ Unfortunately, there is no way to get this information programatically from
+ the Optical Protocol. So...if new Standard alarms are added or
+ existing alarms change their type with new firmware revisions, this
+ hard-coded method will "need updated".
+
+ volume, temperature, or pressure
+ within a sensor, a unique identifier for the alarm
+ what the LCD will show for a given active alarm
+
+
+
+ Provides alarm type corresponding to alarms.
+ Unfortunately, there is no way to get this information programatically from
+ the Optical Protocol. So...if new Standard alarms are added or
+ existing alarms change their type with new firmware revisions, this
+ hard-coded method will "need updated".
+ Note: "Standard" alarms are (if is-special) treated as "One-Shot".
+
+ volume, temperature, or pressure
+ within a sensor, a unique identifier for the alarm
+
+
+
+
+ Calculate the start time of the alarm
+
+ the alarm state response object
+ set to true if the state response contains a valid time interval
+ the start time of the alarm
+
+
+
+ Calculate the end time of the alarm
+
+ the alarm state response object
+ set to true if the state response contains a valid time interval
+ the end time of the alarm
+
+
+
+ This method interprets the unsigned short for alarm time (either start
+ or end) in the manner specified in the Optical Protocol Specification,
+ Section 4.7.4, part "6 - View Alarm State". This reads,
+
+ "Time since alarm condition triggered. Based on threshold conditions for
+ the alarm, this could be some time after the alarm condition was
+ initially detected.
+
+ Times will be indicated as a LE integer in increments of 1 minute if
+ the most significant bit equals 0; otherwise the time is in increments
+ of 6 hours. Times are relative deltas from the time the message is transmitted.
+
+ Timestamp value of 0xFFFF indicates the time field is invalid/not populated."
+
+ the short for time
+ set to false if time field is invalid/not populated
+ quantity of time
+
+
+
+ This method adds rows to the DataTable based on incoming LogRecords.
+ This is for Phase 2 Sonix IQ not having a pressure sensor.
+
+
+
+
+
+ This method adds rows to the DataTable based on incoming LogRecords.
+ This is for Phase 2 Sonix IQ having a pressure sensor.
+
+
+
+
+
+ This method adds rows to the DataTable based on incoming LogRecords.
+ This is for Phase 1 Sonix IQ.
+
+
+
+
+
+ This method create a .csv of all the log contents.
+
+ If true, columns for min/max temperature and valve are included.
+ If this and isPhase2 are true, columns for min/max/avg pressure are also included.
+
+
+
+
+ Same clone process as above method.
+
+
+
+
+ Cubic meters.
+
+
+
+
+ Cubic feet.
+
+
+
+
+ High resolution data
+
+
+
+
+ Metrology data results
+
+
+
+
+ Returns the empty string by default.
+
+
+
+
+ Returns true by default.
+
+
+
+ payload of the response rather than the entire UI1236Response.
+
+
+
+
+
+
+
+
+ payload of the response rather than the entire UI1236Response.
+
+
+ payload of the response rather than the entire UI1236Response.
+
+
+
+
+
+
+
+
+ payload of the response rather than the entire UI1236Response.
+
+
+
+ Gets the manufacture date and time of seconds since 1/1/2000 UTC.
+
+ Builds a 0x39 "View Manufacture Date " command
+
+ TouchCouple device communicating with.
+ Date and time of seconds since 1/1/2000 UTC.
+
+
+
+ Gets the installation date and time of seconds since 1/1/2000 UTC.
+
+ Builds a 0xBD "View In-Service Start Time" command
+
+ TouchCouple device communicating with.
+ Date and time of seconds since 1/1/2000 UTC.
+
+
+
+ Gets the total number of valve actuations.
+
+ Builds a 0xC1 "View Valve Counts" command
+
+ TouchCouple device communicating with.
+ Total number of valve actuations by user.
+
+
+
+ Gets the hourly alarm data up to 120 days.
+
+ Builds a 0xC2 "View Hourly Log Entries" command
+ using provided parameters and constructs a periodic
+ alarm entry result.
+
+ If there are more entries left, another query will
+ be sent with the same params, just a new start time.
+
+ TouchCouple device communicating with.
+ Sensor channel communicating with.
+ Relative stop time for retrieving logs.
+ Relative start time for retrieving logs.
+ Bitmask for user-defined alarms.
+ Bitmask for pre-defined alarms.
+ Max entries device is capable of receiving.
+ List of hourly alarm log entries.
+
+
+
+ Gets the detailed alarm data up to 120 days.
+
+ Builds a 0xC3 "View Detailed Log Entries" command
+ using provided parameters and constructs a detailed
+ alarm entry result.
+
+ If there are more entries left, resend the same
+ command with the resumptionCookie byte set to non-zero.
+
+ TouchCouple device communicating with.
+ Sensor channel communicating with.
+ Relative stop time for retrieving logs.
+ Relative start time for retrieving logs.
+ Bitmask for user-defined alarms.
+ Bitmask for pre-defined alarms.
+ Initialize (0) or resume (non-zero) query.
+ List of detailed alarm log entries.
+
+
+
+ Builds an 18-byte alarm log command to transmit.
+
+
+
+
+ Retrieve alarm counters with View Alarm Counters (0xFD 0xC4)
+
+ TouchCouple device communicating with.
+ Sensor channel communicating with.
+ Dictionary of alarmName --> counter for PreDefined Alarms, alarmIndex --> counter for UserDefined Alarms
+
+
+
+ Builds an 1-byte alarm counter command to transmit.
+
+
+
+
+ Time when ally time = 0.
+
+
+
+
+ Converts ally time (number of seconds since epoch) to a DateTime. Ignores drift of ally clock.
+
+
+
+
+
+
+ Converts a DateTime to ally time (number of seconds since epoch). Ignores drift of ally clock.
+
+
+
+
+
+
+ Gets the difference in time between the ally's system clock and System.DateTime.Now.
+
+
+ DateTime.Now - ally time
+
+
+
+ Attempts to unseal an Ally.
+
+
+ true if successfully unsealed
+
+
+
+ The below description of the hash was copied from src/sterling/app_touchread.c :: touchreadGenerateHash64(...)
+ It has been updated to more accurately reflect the calculation of the hash.
+
+
+ Hash requirements are 1) that it can be deduced by asking the meter some questions and passing through an algorithm
+ 2) it expires after a given time
+ 3) is not common to all meters in a batch/for one utility
+
+ The hash is 0xssssiiiiccccvvvv
+ ssss = (seconds active & 0xFFFF00 >> 8)
+ iiii = CRC16 of serial number
+ cccc = nibbles hold count of bits set in each of the first 4 letters of the customer text string
+ vvvv = (UInt32 constructed from ASCII values of 3rd - 6th digits of the display volume) MOD 11
+
+ The use of (seconds active & 0xFFFF00) means the message is only valid for a maximum of 256
+ seconds, if you're unlucky and try to unlock just as it wraps try again!
+
+ Requirement (3) is met by 'cccc' and 'iiii', ASCii is highly redundant hence counting bits to jumble
+ up the zeros.
+
+ MOD 11 maths is always good and vvvv reinforces (2).
+
+ Strings are padded to at least 7 characters with the text "Factory" where not set or short.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ time interval between datalog entries, in minutes
+
+
+
+ Gets the datalog interval for a specified datalog in minutes.
+
+
+
+
+
+
+ payload of the response rather than the entire UI1236Response.
+
+
+
+
+
+
+
+
+ payload of the response rather than the entire UI1236Response.
+
+
+
+
+
+
+
+ time interval between datalog entries, in minutes
+
+
+
+ Gets the datalog interval for a specified datalog in minutes.
+
+
+
+
+
+
+
+ Attempts to unseal an eRegisterPlus.
+
+
+ true if successfully unsealed
+
+
+
+ Retrieve the Interval Data and Leak Detect state
+
+
+ There will be NO paylod if no ports are set up for ID or LD
+
+
+
+
+ DO NOT USE ME - GetIDMeterInfo
+
+
+
+
+
+
+
+ Inveral Data Meter Information
+
+ Not in spec and not used in smshhapp even though there is code for it.
+
+
+
+
+ Reverse-engineered from OMNI's t2u_seal.c :: sns_do_hash(...)
+
+ Comments for rounds of algorithm copied from t2u_seal.c to facilitate verification.
+
+
+
+
+
+
+ Not available on SWM001 (original iPERL)
+
+
+
+
+ A copy of the data bytes to be written.
+
+
+
+
+ When iPERL with ASIC considers time 0.
+
+
+
+
+ Converts iPERL with ASIC time to "human" time.
+
+
+
+
+
+
+ Converts iPERL with ASIC time to "human" time.
+
+
+
+
+
+
+ Converts a date time to a TimeSpan indicating the number of seconds since the start of
+ the iPERL with ASIC's epoch start.
+
+
+
+
+
+
+ Converts a meter's percent error measured when its calibration factor is 100%
+ to the calibration factor that needs to be applied.
+
+
+
+
+
+
+ Converts the calibration factor read from an iPERL to the percent error measured when the
+ meter was calibrated.
+
+
+
+
+
+ payload of the response rather than the entire UI1236Response.
+
+
+
+
+
+
+
+
+ payload of the response rather than the entire UI1236Response.
+
+
+
+
+
+
+ age of file to view. 0 is current, 1 is previous, 2 is one before that
+
+
+
+
+ Attempts to unseal an iPERL.
+
+
+ true if successfully unsealed
+
+
+
+ The below description of the hash was copied from src/sterling/app_touchread.c :: touchreadGenerateHash64(...)
+ It has been updated to more accurately reflect the calculation of the hash.
+
+
+ Hash requirements are 1) that it can be deduced by asking the meter some questions and passing through an algorithm
+ 2) it expires after a given time
+ 3) is not common to all meters in a batch/for one utility
+
+ The hash is 0xssssiiiiccccvvvv
+ ssss = (seconds active & 0xFFFF00 >> 8)
+ iiii = CRC16 of serial number
+ cccc = nibbles hold count of bits set in each of the first 4 letters of the customer text string
+ vvvv = (UInt32 constructed from ASCII values of 3rd - 6th digits of the display volume) MOD 11
+
+ The use of (seconds active & 0xFFFF00) means the message is only valid for a maximum of 256
+ seconds, if you're unlucky and try to unlock just as it wraps try again!
+
+ Requirement (3) is met by 'cccc' and 'iiii', ASCii is highly redundant hence counting bits to jumble
+ up the zeros.
+
+ MOD 11 maths is always good and vvvv reinforces (2).
+
+ Strings are padded to at least 7 characters with the text "Factory" where not set or short.
+
+
+
+
+
+
+
+
+
+
+
+ In 1/4 ml.
+
+
+
+
+ Number of attempts for commands. Default is 3.
+
+
+
+
+ Sets the ID reported in the ;I field of a UI-1203 AMR string.
+
+
+
+
+
+
+ Configures which digits to report in the ;R field of the AMR string.
+
+
+ Number of digits to report in AMR string
+ A non-positive integer that indicates which digit is the "last" one reported in the ;R field of the AMR string.
+ If 0, the right most digit of the totalizer/display is the last digit returned in the AMR string.
+ If -1, then the right most digit will not be reported in the AMR string.
+
+
+
+
+ Sets the "units" field in the UI1236 reading string. Use 0xFF for 'no units'.
+
+
+ V;RB00000193,-2,4;IBAQWSEDRRFGT;J -> units = gallons
+ V;RB00000193,-2,1;IBAQWSEDRRFGT;J -> units = Cubic feet
+ V;RB00000193,-2;IBAQWSEDRRFGT;J -> no units
+
+
+ use 0xFF to disable the units
+
+
+
+ Sets the UI1236 reading string format.
+
+
+ General Form of ReadingMode
+ Rnnnniiiiiiii -> Fixed
+ V;RBnnnn[n[n[n[n]]]];IBiiiiiiii -> Short (Normal)
+ V[f1][f2][f3][f4][f5][f6][f7]... -> Extended
+ V;RBnnnn[n[n[n[n]]]];IBiiiiiiii;MfE[α1[α2[α3[ α4]]]] [-[β1][ β2…β18]] -> SmartMeter
+
+ Sample UI1236 Reading String for various Modes
+ R1234MeterID8 -> Fixed, reading = 1234, meterID = MeterID8
+ V;RB12345678;IBMeterID8 -> Short, reading = 12345678, meterID = MeterID8
+ V;RB00000193,-2,4;IBAQWSEDRRFGT;J -> Extended, reading = 00000193, meterID = AQWSEDRRFGT
+
+
+
+
+
+
+ Sets the "multiplier" field in the UI1236 reading string. Use -128 for 'no exponent'.
+
+
+ Variable reading string examples:
+ V;RB00001234,+03;IB71313502 -> multiplier = 1000
+ V;RB00001234,-02;IB71313502 -> multiplier = 0.01
+ V;RB00001234;IB71313502 -> no multiplier
+
+
+ use -128 to disable the exponent (multiplier)
+
+
+
+ Post-process UI1236 rx data and return an appropriate object.
+
+
+
+
+
+
+
+ Added in UI-1236 B1.23
+
+
+
+
+ Added in UI-1236 B1.23
+
+
+
+ Desired outcome of the operation.
+ Number of seconds slave expects operation to complete.
+
+
+
+ Added in UI-1236 B1.23
+
+
+
+ Operation to perform
+ Number of seconds slave expects operation to complete.
+
+
+
+ Added in UI-1236 B1.23
+
+
+
+
+
+
+ Added in UI-1236 B1.23
+
+
+ Which fields to enable in response.
+
+
+
+
+ Added in UI-1236 B1.23
+
+
+
+ payload of the response rather than the entire UI1236Response.
+
+
+
+
+
+ payload of the response rather than the entire UI1236Response.
+
+
+
+
+
+ No responce
+
+
+
+ UI1236 control flags when the short (8-bit) control flags field is used.
+ Refer to UI1236r7 for more details.
+
+
+
+
+ Open.
+
+
+
+
+ Closed.
+
+
+
+
+ Trickle.
+
+
+
+
+ Armed.
+
+
+
+
+ Open.
+
+
+
+
+ Closed.
+
+
+
+
+ Trickle.
+
+
+
+
+ Armed.
+
+
+
+
+ Not Yet Determined After Reboot.
+
+
+
+
+ Unknown Due To Error.
+
+
+
+
+ Operation In Progress.
+
+
+
+
+ Unknown.
+
+
+
+
+ Command.
+
+
+
+
+ Autonomous.
+
+
+
+
+ Test.
+
+
+
+
+ This is not the meter size defined in command 0x2B of UI-1236 B1.23. That is UI1236MeterSize.
+
+
+
+
+ Meter sizes described in command 0x2B of UI-1236 B1.23.
+
+
+
+
+ Ranges of available meter sizes.
+
+
+
+
+ This value was added in UI-1236 B1.23, which was introduced with the ally meter.
+ It enables the presence of the UI-1203 ;N field to add the additional digit.
+
+
+
+
+ Number of decimal digits thrown away from the right side of the totalizer value.
+ Note that the integer values of members is negative, as specified in UI-1236.
+
+
+
+
+ Volume per revolution, in 1/65536ths of a milliliter
+
+
+
+
+ Displayed measurement units. Unrelated to Volume, which is always in fractional milliliters.
+
+
+
+
+ Added in UI1236 B1.23.
+
+
+
+
+ Close valve.
+
+
+
+
+ Open valve.
+
+
+
+
+ Trickle valve.
+
+
+
+
+ Test valve.
+
+
+
+
+ Status/error codes defined by UI1236r07, with a couple of additions from tb2e_spec_interface.
+
+
+
+
+ Any communication error occurred. Defined by tb2e spec interface v06,
+ not in UI1236.
+
+
+
+
+ Command complete, no errors.
+
+
+
+
+ Error, unable to execute command.
+
+
+
+
+ Error, unknown command.
+
+
+
+
+ Error, unsupport control bit pattern.
+
+
+
+
+ Indicates the command is prohibited due to the factory seal being in place.
+ This status code was added in UI-1236 B1.23.
+
+
+
+
+ Frame received, no error.
+
+
+
+
+ Message corrupt.
+
+
+
+
+ Wait status. Wait a few moments before retrying.
+
+
+
+
+ Interface does not know command. Not defined in UI1236r05, but is defined in
+ tb2e spec interface v06.
+
+
+
+
+ If ErrorCode is UI1236Status.Wait, this field will indicate the amount of
+ time the slave indicated it would take for the requested command to complete.
+
+
+
+
+ Stops tone and disposes toneTimer, if applicable.
+
+
+
+
+
+ Represents the Data for a UI1236 command. That is,
+ it represents the bytes following the Command Code,
+ but not including the checksum.
+
+
+
+
+ This field is not included in the protected Frame.buffer property. It will be included in
+ a UI1236Command's buffer after Bake()'ing, though.
+
+
+
+
+ Length as specified in the UniPro Communicator communication spec.
+ Includes all bytes of the frame, including start and length.
+
+
+
+
+ A command containing all fields as described in UI1236r7 with 8 bits of control flags.
+
+
+
+
+
+ Construct a UI1236 command with the Response request bit in the control byte set.
+
+
+
+
+
+ Constructs a command that consists simply of a command code.
+ If using one of the members of the UI1236Commands enum, you must
+ explicitly cast it to a byte.
+
+
+
+
+
+ Constructs a UI1236Command with specified control flags, command code, and data bytes.
+ To create a device-specific command, see the UI1236DeviceSpecificCommand().
+
+
+
+
+
+
+
+
+ Constructs a device-specific UI1236 command.
+
+
+
+
+
+
+
+
+ Number of bytes including control flags, command code, and checksum.
+
+
+
+
+ 8-bit control flags.
+ Note that the 16-bit control flags in UI1236r7 are not supported.
+
+
+
+
+ Models a UI1236 device-specific subcommand payload with data fields suitable for use within a
+ UI1236DeviceSpecificCommand. For device-specific subcommands that do not have any
+ data fields, simply construct a UI1236DeviceSpecificSubCommand using the device-specific
+ command code.
+
+ Note to subclasses: base.buffer[0] will store the device-specific command code.
+ This means that the first byte of data should be stored in base.buffer[1].
+
+
+
+
+
+
+
+ Number of bytes of data after the subcommand code
+
+
+
+ To construct a UI1236Response from an array of bytes, use UI1236Response.Parse().
+
+
+
+
+ Length as specified in UI1236r07: Includes Control, Status, Data, and Checksum.
+ For number of bytes in payload, use Payload.Length.
+
+
+
+
+ Reverse-engineered from OMNI's t2u_seal.c :: sns_do_hash(...)
+
+ Comments for rounds of algorithm copied from t2u_seal.c to facilitate verification.
+
+
+
+
+
+
+ Several methods to allow 'running' a transaction using ICancellable.
+
+
+
+
+ Execute a transaction using ICancellable to check for cancellation and capture errors.
+
+
+ Calls RunAsync on the supplied ITransaction using the supplied ICommunicator object.
+ Checks for cancellation every 1000ms while waiting for transaction to complete.
+
+
+
+
+
+
+
+
+ Execute a transaction using ICancellable to check for cancellation and capture errors.
+
+
+ Calls RunAsync on the supplied ITransaction using the supplied ICommunicator object.
+ Checks for cancellation every 1000ms while waiting for transaction to complete.
+
+
+
+
+
+
+
+
+
+
+ Execute a transaction using ICancellable to check for cancellation and capture errors.
+
+
+ Calls RunAsync on the supplied ITransaction using the supplied ICommunicator object.
+ Checks for cancellation every 1000ms while waiting for transaction to complete.
+
+
+
+
+
+
+
+
+ Execute a transaction using ICancellable to check for cancellation and capture errors.
+
+
+ Calls RunAsync on the supplied ITransaction using the supplied ICommunicator object.
+ Checks for cancellation every 1000ms while waiting for transaction to complete.
+
+
+
+
+
+
+
+
+
+
+ Execute a transaction using ICancellable to check for cancellation and capture errors.
+
+
+ Calls RunAsync on the supplied ITransaction using the supplied ICommunicator object.
+ Checks for cancellation every 1000ms while waiting for transaction to complete.
+
+
+
+
+
+
+
+
+
+
+
+ IGPSDEvice implementation that parses NMEA data to produce fix data.
+
+
+ See https://www.gpsinformation.org/dale/nmea.htm
+
+
+
+
+
+
+
+
+ There are 2 NMEA sentences that are parsed here. They are detiled below.
+
+ GGA - essential fix data which provide 3D location and accuracy data.
+
+ $GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47
+
+ Where:
+ GGA Global Positioning System Fix Data
+ 123519 Fix taken at 12:35:19 UTC
+ 4807.038,N Latitude 48 deg 07.038' N
+ 01131.000,E Longitude 11 deg 31.000' E
+ 1 Fix quality:
+ 0 = invalid
+ 1 = GPS fix(SPS)
+ 2 = DGPS fix
+ 3 = PPS fix
+ 4 = Real Time Kinematic
+ 5 = Float RTK
+ 6 = estimated(dead reckoning) (2.3 feature)
+ 7 = Manual input mode
+ 8 = Simulation mode
+ 08 Number of satellites being tracked
+ 0.9 Horizontal dilution of position
+ 545.4, M Altitude, Meters, above mean sea level
+ 46.9, M Height of geoid(mean sea level) above WGS84 ellipsoid
+ (empty field) time in seconds since last DGPS update
+ (empty field) DGPS station ID number
+ *47 the checksum data, always begins with*
+
+ -------------------------------------------------------------------------------------
+ RMC - NMEA has its own version of essential gps pvt (position, velocity, time) data.
+ It is called RMC, The Recommended Minimum, which will look similar to:
+
+ $GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A
+
+ Where:
+ RMC Recommended Minimum sentence C
+ 123519 Fix taken at 12:35:19 UTC
+ A Status A = active or V = Void.
+ 4807.038, N Latitude 48 deg 07.038' N
+ 01131.000,E Longitude 11 deg 31.000' E
+ 022.4 Speed over the ground in knots
+ 084.4 Track angle in degrees True
+ 230394 Date - 23rd of March 1994
+ 003.1,W Magnetic Variation
+ *6A The checksum data, always begins with *
+
+
+
+
+
+
+
+ Create a GPSPosition object from raw GPS data elements.
+
+
+ NMEA Format of latitudes and longitudes
+ Where a numeric latitude or longitude is given, the two digits immediately to the
+ left of the decimal point are whole minutes, to the right are decimals of minutes,
+ and the remaining digits to the left of the whole minutes are whole degrees.
+ Examples:
+ 4533.35 is 45 degrees and 33.35 minutes. ".35" of a minute is exactly 21 seconds.
+ 16708.033 is 167 degrees and 8.033 minutes. ".033" of a minute is about 2 seconds.
+
+ Latitude in NMEA units
+ Longitude in NMEA units
+
+
+ GPSPosition object with LAT/LON filled out
+
+
+
+ Update the saved GPS position value, stale timer, and fix state,
+ and fire off an OnPositionChanged event.
+
+
+
+
+
+
+ Extracts a NMEASentence object from a string of received data.
+
+
+ Exceptions must be handled by higher layer code.
+
+
+
+
+
+
+ Utilities for dealing with MXU IDs.
+ Can represent an MXU ID, but also provides implicit conversion operators
+ to and from int types.
+
+ @todo Update to include group address features.
+
+
+
+ Verifies an MXU ID is within range.
+
+
+
+
+
+
+ Verifies an MXU ID is within range.
+
+
+
+
+
+
+ Simple wrapper to interpret an MXUPacket as an MXU Command.
+ Commands are transmitted by the backend to the endpoint.
+
+
+
+
+ Helper class to convert a parameter (or list of parameters) to a byte array payload.
+
+
+
+
+ Simple wrapper to interpret an MXUPacket as an MXU Message.
+ Messages are transmitted by the endpoint to the backend.
+
+
+
+
+ Models a UI1300 Frame (MXU frame). The actual commands will be defined elsewhere.
+
+
+ The general format of a MXU frame is as follows:
+ [start][length][packet identifier][data][CRC-16]
+
+ start......: 0x0D
+ length.....: 8 bits, number of bytes in remainder of message (including CRC).
+ packet ID..: 1 byte
+ data.......: variable
+ CRC16......: 16 bit CRC (start through end of data).
+
+
+
+
+ Packet Identifier.
+
+
+ The packet identifier is an eight-bit field with the following format:
+ Bit: 7 6 5 4 3 2 1 0
+ F L n n n n n n
+ Bit 7: /FIRST packet in message: when zero, indicates that this is the first packet of a message.
+ Bit 6: /LAST packet in message: when zero, indicates that this is the last packet in a message.
+ Bit 5-0: MESSAGE TYPE or SEQUENCE COUNT: When bit 7 is zero (first packet in message) this field
+ identifies the “message type”. When bit 7 is 1 this field is the packet sequence count
+ (the second packet has a packet sequence count of 1).
+
+ The following table shows the four possible combinations of bits 6 and 7:
+ Bits Bits Comments
+ 7 6 5 4 3 2 1 0
+ 0 0 Message Type Single packet message (both first and last packet)
+ 0 1 Message Type First Packet of Multi-packet message
+ 1 1 Sequence Count Mid Packet of Multi-packet message
+ 1 0 Sequence Count Last Packet of Multi-packet message
+
+
+
+
+ MessageType or SequenceNumber depending on IsMessageType
+
+
+
+
+ These parameters are fixed length. Sometimes the MXU unit reports an
+ incorrect length for these items, so we just look them up.
+
+
+
+
+ Construct an MXU ID Parameter using an MXU ID with no wildcard digits.
+
+
+
+
+
+ Construct an MXU ID Parameter using an MXU ID that may contain wildcard digits.
+
+
+ when true, the mxuId parameter includes wildcard digits
+
+
+
+ Decompress and format encoder data.
+
+
+
+
+ Return the count value as a string, formatted accordingly.
+
+
+
+
+ Psuedo-noise code used to encode transmitted data.
+
+
+
+
+ Specifies the interval of time, starting at the end of the interrogate command,
+ for the MXUs to generate their replies in blind mode.
+ If not specified defaults to a value set at configuration.
+
+ In steps of 100ms
+
+
+
+ In steps of 100ms
+
+
+
+
+ Specifies the amount of time, beyond the end of the frame interval,
+ for the MXUs to stay awake, waiting for an acknowledgement from the interrogate unit.
+ If not specified defaults to a value set at configuration.
+
+ In steps of 100ms
+
+
+
+ In steps of 100ms
+
+
+
+
+ Represents MXU version string.
+
+
+ MXU Version string is formatted as shown:
+ -----------------------------------------------------------------------------
+ | 1 byte | 2 bytes | 2 bytes | 1 byte | 2 bytes |
+ | Platform ID | Protocol Major | Protocol Minor | WEGGE Major | WEGGE Minor |
+ -----------------------------------------------------------------------------
+ Ex: 2R132272
+ Platform = 2 (MXU HW Revision)
+ Protocol = R1.32
+ WEGGE = 2.72
+
+
+
+
+ Represents this RadioChannel in the format BaseFrequency-Channel.
+
+
+
+
+ Represents the Data for a UI1281 command. That is,
+ it represents the bytes following the Command Code,
+ but not including the checksum.
+
+
+
+
+ This field is not included in the protected Frame.buffer property. It will be included in
+ a UI1236Command's buffer after Bake()'ing, though.
+
+
+
+
+ Transmitted data is logged at the Debug level under the facilities LogFacility.Serial and UI1281SerialDevice.TxLogFacilityName.
+ Received data is logged at the Debug level under the facilities LogFacility.Serial and UI1281SerialDevice.RxLogFacilityName.
+
+
+
+
+ Perform any additional connect work required to allow Read/Write operations.
+ The IsConnected property must reflect the connected state on completion.
+
+
+
+
+ Perform any additional work to shut down the connection.
+
+
+
+
+ Shut down the link. Call the Disconnected handler if the notifyDisconnect
+ flag is set. In general, any time the disconnect is called autonomously,
+ the notifyDisconnect should be true.
+
+
+
+
+
+ Transmitted bytes are logged using this facility name at the LogSeverity.Debug level.
+
+
+
+
+ Received bytes are logged using this facility name at the LogSeverity.Debug level.
+
+
+
+
+ Subclasses may call this method when a data reception event occurs.
+
+
+
+
+ A port that can read and write UI1281 messages via a SerialPort.
+
+
+
+
+ An instance of an ILoggingStrategy is an object that can write various communication
+ events to a log of some sort. An implementation of an ILoggingStrategy could, for example,
+ write events to a text box on the screen, a text file, or to a database.
+
+
+
+
+ Method called when a device "connect" should be added to the log.
+
+
+
+
+ Method called when a device "disconnect" should be added to the log.
+
+
+
+
+ Method called when a transmission should be logged.
+
+ the address of the receipient device, if known
+ the serial data that was transmitted to the communications device
+ the device that transmitted the message
+ the frame sent to the recipient device (usually encapsulated within the `data')
+ the protocol by which the command was communicated
+
+
+
+ Method called when a reception should be logged.
+
+ the address of the originating device, if known
+ the serial data that was received from the communications device
+ the device that received the message
+ the frame sent by the originating device (usually encapsulated within the `data')
+ the protocol by which the command was communicated
+
+
+
+ An implementation of ILoggingStrategy that logs communication device
+ events using Log.Info(). Events are logged as LogFacility.CommDev.
+
+
+
+
+ An implementation of ILoggingStrategy that logs communication device
+ events using Log.Info(). Events are logged as LogFacility.CommDev.
+
+
+
+
+ Connection renewal modes.
+
+
+
+
+ Periodicaly-renewed connections must be renewed at fixed intervals regardless of connection usage.
+
+
+
+
+ Idle-renewed connections must be renewed after a certain period of inactivity.
+
+ If the connection is continually used, it may never need to be explicitly renewed.
+
+
+
+
+ ConnectionManager manages the renewal of connections that automatically close.
+
+ All transactions must be run through the connection manager to prevent overlapping usage
+ of the communication device and to make sure that idle timeouts can be correctly managed.
+
+
+
+
+ Create a new Connection Manager.
+
+ Renewals are disabled by default. Call EnableRenewals() to enable them.
+
+ The renewal mode
+ The time after which the connection closes
+ How long into the renewal period to wait before attempting a renewal
+ The renewal function. Should return true if the renewal succeeded, and false otherwise.
+
+
+
+ Perform an action on a managed connection.
+
+ If the action returns, the connection is assumed to be successfully used.
+ If the action throws, the connection is assumed to have NOT been successfully used.
+
+ The return type of the action
+ The action to perform on the connection
+ The return value of the supplied action
+ The exception thrown by the supplied action
+
+
+
+ Perform an action on a managed connection.
+
+ If the action returns, the connection is assumed to be successfully used.
+ If the action throws, the connection is assumed to have NOT been successfully used.
+
+ The action to perform on the connection
+ The exception thrown by the supplied action
+
+
+
+ Raised if the connection is unable to be renewed.
+
+
+
+
+ Dispose the connection manager.
+
+ No further renewals will be attempted.
+
+
+
+
+ Resume automatic renewal of the connection.
+
+ If no renewal is pending, an immediate renewal is performed.
+
+
+
+
+ Disable renewal of the connection.
+
+ If a renewal was pending, it is Canceled. No further renewals will be performed.
+
+
+
+
+ Raises the ConnectionLost event.
+
+
+
+
+ Attempt to renew the connection.
+
+
+
+
+ The ESAAP SmartPoint timed out when talking to the ESAAP Register
+
+
+
+
+ Converts a hex string to an array of bytes.
+
+ A hexadecimal string. Must have an even number of nybbles (ie, no lone nybbles -- a whole number of bytes).
+ 0x is allowed, but not required. Any character that is not a valid hex character is ignored.
+
+ hexString converted to bytes.
+ If hexString contains an odd number of nybbles.
+
+
+
+ Adds abilities to read/write from a byte array at arbitrary bit indexes
+ and arbitrary bit widths. All methods write/read little endian.
+
+
+
+
+ Writes an unsigned integer into a byte array using BCD format. That is, one digit per byte.
+
+
+
+ which element in the array should hold the most significant digit. NOTE: this is byte-based, not bit-based.
+
+
+
+
+ Indicates that the output of the CRC should be bitwise-inverted.
+ When CRC16.Output is CRCOutput.Inverted, any "seed" values will be inverted as the first step of the calculation.
+
+
+
+
+
+
+
+ Initial value of CRC16. Can be the output of a previous run of Calculate(). If this CRC uses Output of CRCOut.Inverted,
+ seed will be inverted before calculating the CRC of bytes.
+
+
+
+
+
+
+
+
+ Initial value of CRC16. Can be the output of a previous run of Calculate(). If this CRC uses Output of CRCOut.Inverted,
+ seed will be inverted before calculating the CRC.
+
+
+
+
+
+
+
+ Methods for calculating CRC32 using the standard 0xedb88320 (lsb-first) polynomial.
+
+
+
+
+ Note: Does not invert bits at the end.
+
+
+
+
+
+
+
+
+ Note: Does not invert bits at the end.
+
+
+
+
+
+
+
+
+
+ Note: Does not invert bits at the end.
+
+
+
+
+
+
+ Note: Does not invert bits at the end.
+
+
+
+
+
+
+
+ Yields each element in the sequence, and then repeats the sequence again, and again...
+ This is effectively an infinitely-long repeating sequence.
+
+
+
+
+
+
+
+ A synonym for Select. Maps each member of a sequence into another sequence
+ by applying a function.
+
+
+
+
+ function to apply to each member of x
+
+
+
+
+ An imperative version of Map/Select.
+
+
+
+
+
+
+
+ Breaks a sequence into equally-sized chunks.
+
+
+
+
+
+
+
+
+ Wraps this object instance into an IEnumerable<T>
+ consisting of a single item.
+
+ Type of the wrapped object.
+ The object to wrap.
+
+ An IEnumerable<T> consisting of a single item.
+
+
+
+
+ .NET 3.5 does not have an Enum.GetValues() method.
+ Use this instead:
+ new MyEnum().GetValues()
+
+
+
+
+
+
+ Returns the list of strings in value order.
+
+
+
+
+
+
+
+ Converts the string representation of the name or numeric value of one or more enumerated constants to an equivilant enumerated object.
+ Note: Utilised the DescriptionAttribute for values that use it.
+
+ The System.Type of the enumeration.
+ A string containing the name or value to convert.
+
+
+
+
+ Converts the string representation of the name or numeric value of one or more enumerated constants to an equivilant enumerated object.
+ A parameter specified whether the operation is case-sensitive.
+ Note: Utilised the DescriptionAttribute for values that use it.
+
+ The System.Type of the enumeration.
+ A string containing the name or value to convert.
+ Whether the operation is case-sensitive or not.
+
+
+
+
+ Converts the string representation of the name or numeric value of one or more enumerated constants to an equivilant enumerated object.
+ A parameter specified whether the operation is case-sensitive.
+ Note: Utilised the DescriptionAttribute for values that use it.
+
+ The System.Type of the enumeration.
+ A string containing the name or value to convert.
+ Whether the operation is case-sensitive or not.
+ The value to be assigned if parse is unsuccessful
+
+
+
+
+ Returns the value of the DescriptionAttribute if the specified Enum value has one.
+ If not, returns the ToString() representation of the Enum value.
+
+ The Enum to get the description for
+
+
+
+
+ Verifies a type is an enum with the [Flags] attribute.
+
+
+
+
+
+ Determines whether a flag enum has a particular flag set.
+ Performs (value & flag != 0).
+
+ an enum with the [Flags] attribute
+
+
+ true if the flag is set, otherwise false
+ if T is not an enum type with a [Flags] attribute
+
+
+
+ Converts a flag enum variable to a sequence of the individual flags that are set.
+
+ an enum with the [Flags] attribute
+
+ sequence of each set flag in value
+ if T is not an enum type with a [Flags] attribute
+
+
+
+ Converts a sequence of flag values to a single value with all flags in the sequence set.
+ Inverse operation of GetFlags().
+
+
+
+
+ if T is not an enum type with a [Flags] attribute
+
+
+
+ Returns an instance of the enum with all possible values set.
+
+
+
+ if T is not an enum type with a [Flags] attribute
+
+
+
+ Safely raises an event by verifying the handler is non-null before invoking it.
+ If handler is null, returns immediately.
+
+ type of the EventArgs
+ event to raise
+ sender parameter passed to subscribers of the event
+ args parameter passed to subscribers
+
+
+
+ Provides conveniences for dealing with exceptions.
+
+
+
+
+ Use in a default case of a switch statement to signal new enum members not being handled correctly.
+
+
+
+
+ ToString()'s an exception and all its inner exceptions.
+
+
+ ex and its inner exceptions ToString()'ed with a blank line between each one
+
+
+
+ Indicates that code that uses an enum as input encountered an unexpected member of the enum type.
+ This is likely to be caused when an additional member is added to an enum, but a method has
+ not been updated to handle that member.
+
+
+
+
+ Constructor
+
+
+
+ Altitude relative to sea level in meters.
+
+
+
+ Constructor
+
+
+
+
+
+
+
+ Altitude relative to sea level in meters.
+
+
+
+ A wrapper for an IDictionary that can check that when adding a new value, the key has already been used.
+
+
+
+
+ When true, an add to this dictionary will throw KeyNotFoundException if they key doesn't already exist.
+
+
+
+
+ New KeyCheckingDictionary with keychecking enabled.
+
+
+
+
+
+
+
+
+
+ if CheckKeys is true and a new key is added
+
+
+
+ A logger that logs messages using Debug.WriteLine().
+
+
+
+
+ A logger that allows an arbitrary Action delegate to be executed.
+ This is useful for getting log data to display in a window or to trigger
+ some activity when a particular log event occurs.
+
+
+
+
+
+
+ Function to execute at log time.
+ The parameter to action is the formatted log message.
+
+
+
+
+ A logger that will write to a file with the date in its filename
+ and prepend the current time to each message.
+ Old files created in same location with the same format of name will be deleted
+ whenever a new HistoricalFileLogger is instantiated.
+
+
+
+
+ Creates a new HistoricalFileLogger with the date time format of "yyyyMMdd".
+
+
+
+
+
+
+ Creates a new log file and deletes files with similar name
+ created longer than a specified time ago. Exceptions encountered while attempting to
+ parse the names of old files or delete them will be ignored.
+
+
+ Path to where to save the log. The filename has the datetime of creation
+ appended to it. For example, if pathTemplate is "/logs/appLog", dateTimeFormat
+ is "yyyyMMdd", and it is Christmas Eve 2012, the file written will be named "/logs/appLog-20121224.log"
+
+
+ how old a log file should be before it is deleted to reclaim disk space.
+ That is, if saveDuration is TimeSpan.FromDays(2), a preexisting file with the same pathTemplate
+ but was created longer than 2 days ago will be deleted. Use TimeSpan.MaxValue to never delete old files.
+
+
+ DateTime format used for the output files. See the MSDN documentation
+ for formatting DateTime strings.
+ DateTime.ParseExact(dateFromFileName, dateTimeFormat, CultureInfo.CurrentCulture is used
+ to parse the date in the filenames.
+
+
+
+
+ Get the file name with absolute file path for the log file for the given DateTime.
+ The file name contains info on the given DateTime as described in the given format.
+
+
+
+ string containing the file name with absolute file path
+
+
+
+ A LogAction that writes to a file or stream, with no restrictions on how
+ old a log file can be.
+
+
+
+
+ Format string for log messages.
+
+ Fields:
+ {0} - severity
+ {1} - time
+ {2} - thread ID
+ {3} - message
+ {4} - log facility
+
+
+
+
+ Similar to HistoricalFileLogger, but keeps a specified number of log files
+ on disk rather than files less than a specified age.
+ The .log file with no number after the date is the most recent, with
+ older versions being numbered from 1 to n.
+
+
+
+
+ Transmits log messages over a UDP port
+
+
+
+
+ Creates a UDPLogger on ipAddress 255.255.255.255,
+ with a specified port number.
+
+
+
+
+
+ Maps a MessageSelector to an action to perform when a message matching
+ that selector is logged. Is also responsible for running the action
+ when a MessageSelector's acceptance criteria is matched.
+
+
+
+
+ An implementation of the standard "syslog" facility.
+ Common FieldLogic log facilities are defined as constants in the LogFacility class.
+ To log all events classified as "Packet" to a file, use a line similar to the following in your app:
+ Log.AddStandardFileLogger(LogFacility.Packet + ".*", Path.Combine(directory, "Packet"));
+ The term "facility" is used to indicate the "subsystem" producing the log message. Users may define their
+ own facility strings, but the standard FieldLogic facilities are defined in LogFacility.
+ Usage of "facility" here differs from the standard syslog because rather than using facility numbers, this class uses strings
+ to indicate facility. It is recommended that in order to avoid accidentally misspelling a facility name in
+ client code that a reference to a string be used rather than a string literal each time one of the Log
+ methods is called, similar to the members of Sensus.LogFacility.
+ The set of "severities" defined for use in this class are identical to the ones used in the standard Unix
+ syslog.
+ A "selector" is used to specify a combination of facilities and severities that should or should not be logged.
+
+
+
+
+ Allows global enable/disable of logged severity levels.
+
+
+
+
+ Starts up the Logger
+
+
+
+
+ Shuts down the logger. This will block for a little while, as the Logger will flush it's queues.
+
+
+
+
+ Disables all logging. Logging can only be re-enabled by calling the
+ relevant Add() methods again.
+
+
+
+
+ Adds a rule for selecting messages to log, and what to do when a message satisfies those conditions.
+ See FunctionLogger for a LogAction that allows you to execute arbitrary code when
+ a matching log message is encountered.
+
+ a string representation of a rule.
+ See MessageSelector.Parse() for details on how to specify a selector using a string.
+
+
+
+
+
+ Specifies an action that should be executed when a log message
+ matches the selector.
+
+
+ delegate that takes the string to log as its parameter
+
+
+
+ Specifies that log messages written with specified selector should go to
+ a file with specified name. Files created longer than 15 days ago will be
+ deleted.
+
+
+ specification of which facility and severity levels should be written to the log.
+ See the class documentation or MessageSelector.Parse for information on specifying selectors.
+
+
+ A pathTemplate passed to HistoricalFileLogger.
+ This is the prefix of the filename to log to. "-(date).log" will be added to the end.
+
+
+
+
+
+ Specifies that log messages written with specified selector should go to
+ a file with specified name. Files created longer than 15 days ago will be
+ deleted.
+
+
+ specification of which facility and severity levels should be written to the log.
+ See the class documentation or MessageSelector.Parse for information on specifying selectors.
+
+
+
+
+
+
+
+
+ Writes a formatted string to the log.
+
+ name of facility producing the log message
+ severity level
+ message in String.Format() format
+ arguments to String.Format(message, ...)
+
+
+
+ Writes a debug string to the log.
+
+ name of facility producing the log message
+ message in String.Format() format
+ arguments to String.Format(message, ...)
+
+
+
+ Writes an informational string to the log.
+
+ name of facility producing the log message
+ message in String.Format() format
+ arguments to String.Format(message, ...)
+
+
+
+ Writes a notice string to the log.
+
+ name of facility producing the log message
+ message in String.Format() format
+ arguments to String.Format(message, ...)
+
+
+
+ Writes a warning string to the log.
+
+ name of facility producing the log message
+ message in String.Format() format
+ arguments to String.Format(message, ...)
+
+
+
+ Writes an error string to the log.
+
+ name of facility producing the log message
+ message in String.Format() format
+ arguments to String.Format(message, ...)
+
+
+
+ Writes a critical error string to the log.
+
+ name of facility producing the log message
+ message in String.Format() format
+ arguments to String.Format(message, ...)
+
+
+
+ Writes an alert string to the log.
+
+ name of facility producing the log message
+ message in String.Format() format
+ arguments to String.Format(message, ...)
+
+
+
+ Writes a emergency string to the log.
+
+ name of facility producing the log message
+ message in String.Format() format
+ arguments to String.Format(message, ...)
+
+
+
+ Writes various version information to the log using selector (LogFacility.Application, LogSeverity.Info).
+
+
+
+
+ Gets Version Information of the Assembly
+
+ the assembly
+
+
+
+
+ A frame whose size varies depending on its contents.
+
+
+
+
+ Writes this Envelope to a BinaryWriter by serializing
+ the header, then Payload, then the footer.
+
+ Bake() should be called before calling Serialize().
+
+
+
+
+
+ Converts this Frame to an array of bytes by calling Serialize().
+ Bake() should be called before calling this method.
+
+
+
+
+
+ This method is called after instantiating the object and copying the header bytes.
+ If the envelope was instantiated with a header size of 0, then the header will be
+ the entire length of the whole message. This will help to facilitate variable
+ length messages that don't know their length unless they have access to all the information.
+
+ Return the value of the intended header size (must be less than or equal to the
+ whole message). This method will keep being called until its return value matches
+ the header length when called (header.Length).
+
+
+ Returns the desired length of the header
+
+
+
+ This method is called after instantiating the object and copying the header bytes.
+ If the envelope was instantiated with a header size of 0, then the header will be
+ the entire length of the whole message. This will help to facilitate variable
+ length messages that don't know their length unless they have access to all the information.
+
+ Return the value of the intended header size (must be less than or equal to the
+ whole message). This method will keep being called until its return value matches
+ the header length when called (header.Length).
+
+
+ This is passed through from the original Parse call if it was present
+ Returns the desired length of the header
+
+
+
+ If called before calling ToBytes() or Serialize(), the Bake() method may need to be called
+ before this method is called, else some bytes may be left out of the returned string.
+
+
+
+
+
+ Constructs an instance of type TEnvelope from a byte array, using the first headerLength bytes for the header,
+ and the last footerLength bytes as the footer. The bytes in-between will be passed to TEnvelope.ParsePayload()
+ and the result assigned to the Payload property of the returned instance.
+
+
+
+
+
+
+
+ Meethod to pass into Initialize() call
+
+
+
+
+ A Lazy string that contains a hex string representation of this Envelope.
+
+
+
+
+ A Lazy string that contains a representation of all properties of this Envelope
+ and its Payload.
+
+
+
+
+ The default implementation of IFrame.
+ Stores the data as a single, contiguous byte[]: the protected field "buffer". Subclasses
+ should use it as their backing store for properties. Bake() implementations should ensure that all bytes in
+ buffer are set to appropriate values.
+
+
+
+
+ Causes all calculated field values to be set. (For example, CRC may not be set until after calling Bake().)
+
+
+
+
+ Writes the contents of buffer to specified stream. The Bake() method should be called before
+ calling this method to ensure that all bytes have their correct values set.
+
+
+
+
+
+ Converts this Frame to an array of bytes by calling Serialize().
+
+
+
+
+
+ Called when the object has been initialized allowing the caller
+ to resize (potentially grab more buffer for variable length frames).
+
+ This is called before Initialize()
+
+
+
+
+ Called once object has been instantiated and raw data has been copied
+
+
+
+
+
+
+ When invoked, returns this.ToHexString().
+
+
+
+
+ When invoked, returns a string containing a representation of each property in the class.
+
+
+
+
+ Constructs a new frame of specified length containing all 0's.
+
+
+
+
+
+ Constructs and initializes a new frame of the same size and data as an array.
+
+
+
+
+
+ Overwrites the bytes in the protected field buffer with all contents from an array.
+
+
+ If param buffer.length is not the same as this.buffer.length
+
+
+
+ Overwrites the bytes in the protected field buffer with a subset of an array.
+
+
+
+
+ If param length is not the same as this.buffer.length
+
+
+
+ Stores the data of the frame. Subclasses should use this array as their backing-store for properties.
+ A subclass's Bake() method should ensure that every byte in this array has been updated to the value
+ needed for transmission over the network.
+
+
+
+
+ A frame represents part of a message which can be treated as as sequence of bytes.
+
+ A default implementation is provided in Frame.
+
+
+
+
+ The number of bytes this IFrame serializes to.
+
+
+
+
+ Finalize the frame in preparation for transmission.
+ Fills in any computed fields, such as CRCs.
+
+
+
+
+ Writes the bytes this IFrame represents to a stream.
+ The frame MUST be baked before it is serialized.
+
+
+
+
+
+ Same as Serialized, but any Sensitive attributes should be obscured
+
+
+
+
+
+ Returns the bytes that comprise the frame.
+ CAN be a slow operation, so should be avoided if possible.
+ Prefer Serialize or IEnumerable<byte>.
+
+ array of length Length
+
+
+
+ Same as ToBytes(), but any Sensitive attributes should be obscured
+
+
+
+
+
+ Return a string showing the bytes that comprise the frame in the following format:
+ "01 23 45 67 ..."
+
+
+
+
+
+ Same as ToHexString(), but any Sensitive attributes should be obscured
+
+
+
+
+
+ Creates a deep-copy of this IFrame.
+
+
+
+
+
+ This is not intended to be used except for some verify specific and, perhaps, yet
+ to be defined corner cases. This is really intended as debug or post-mortem tool.
+
+
+
+
+
+
+ Time that the frame was received.
+
+
+
+
+ Frame received by the communication device.
+
+
+
+
+ Method clones properties of a source class to a new cloned class.
+ Properties with SerializeAttibure are not cloned.
+
+
+
+ target
+
+
+
+ Should the property be serialized?
+
+
+
+
+
+
+ This parameter exists solely to ensure that a new unit test is created for each new piece of sensitive data.
+ If you are adding new sensitive data you MUST add a new value to the SensitiveItem enum.
+
+
+
+ Specifies the name for a field/property that is used when serializing/deserializing an object using ObjectSerializer.
+
+
+
+
+ Specifies the name for a field/property that is used when serializing/deserializing an object using ObjectSerializer.
+
+
+
+
+ Specifies the name for a class that is used when serializing/deserializing an object using ObjectSerializer.
+
+
+
+
+
+
+
+
+
+ A new value should be added to this enum for each and every new piece of sensitive data.
+ Each piece of sensitive data must have it's own unit test to ensure that FL handles the import properly if sensitive data was stripped on export.
+ Unit tests are located in the SensitiveItemTest class. If there is no unit test for one of the values in this enum, the build will fail.
+
+
+
+
+ Serializes and deserializes objects.
+ Currently, the serialization format is an XML format.
+
+
+
+
+ When set, Dictionary items will be printed in the order the enumerator chooses.
+ When clear, Dictionary items will be printed sorted by key value.
+
+
+
+
+ When set, enums will be printed using their Description attribute if present
+
+
+
+
+ When set JSONPrint will using carriage returns and indents to beautify the output
+
+
+
+
+ Returns whether or not an object is "complex."
+
+ This affects two things:
+ - Complex objects are recursed into by ToPropertyBag. Simple objects are left alone.
+ - Complex objects are printed on their own line by the pretty printer under the assumption that they could be multi-line. Simple objects are not.
+
+
+
+
+
+
+ Helpers for performing relatively-common tasks via reflection.
+
+
+
+
+ Determines whether a Type implements an interface with the specified name.
+
+
+
+
+
+
+
+ Finds all the classes in an Assembly that implement an interface with the given name.
+
+
+
+
+
+
+
+ Finds all the classes that implement an interface that reside within the same assembly as the interface
+
+
+
+
+
+
+ Finds all classes in an Assembly that are subclasses of the specified base class type.
+
+
+
+
+
+
+
+ Does the same thing as Assembly.GetTypes(), but rather than throwing if a type could not be loaded,
+ returns an array of the types that were able to be loaded.
+
+ On .NET CF, this method behaves exactly like Assembly.GetTypes().
+
+
+ array of types that were successfully loaded
+
+
+
+ Gets classes in an assembly that have been tagged with a specified attribute.
+
+
+ Type of the attribute to search for. e.g., typeof(CommandAttribute)
+
+
+
+
+ Applies the value set in the DefaultValueAttribute for each property on an object.
+
+
+
+
+
+ Gets the first Attribute matching TAttribute found on the given MemberInfo.
+ The class hierarchy is not traversed when searching for the Attribute.
+
+ Attribute type to look for
+
+ the first attribute of the member info of the specified type or null if there are no attributes of that type
+
+
+
+ Gets the first Attribute matching TAttribute found on the given Assembly.
+ The class hierarchy is not traversed when searching for the Attribute.
+
+ Attribute type to look for
+
+ the first attribute of the assembly of the specified type or null if there are no attributes of that type
+
+
+
+ Gets the first Attribute matching TAttribute found on the given MemberInfo.
+ The class hierarchy is not traversed when searching for the Attribute.
+
+ Attribute type to look for
+
+ the first attribute of the member info of the specified type or null if there are no attributes of that type
+
+
+
+ Gets the DisplayName of an instance property.
+ Example: GetPropertyDisplayName( () => myObj.TheProperty )
+ Note: Not available on .NET Compact Framework
+
+ type of the property
+ A lambda expression containing the property to query.
+
+
+
+
+ Resolve a named type or statically-accessible property.
+
+
+ ResolveName("Sensus.Connect.App") returns the App type.
+ ResolveName("Sensus.Connect.App.Settings") returns the value of App's static Settings property.
+
+ The fully-qualified name of the type or property.
+ The resolved type or property.
+
+
+
+ Used by Scheduler to determine when to run an action.
+
+
+
+
+ Use to schedule a Task to be run at a very precise time.
+
+
+
+
+ Methods for converting string to and from byte arrays.
+
+
+
+
+ Converts a sequence of bytes to a string assuming the bytes are using
+ ASCII encoding. Alias of System.Text.Encoding.ASCII.GetString().
+
+
+
+
+
+
+ Converts a sequence of bytes to a string assuming the bytes are using
+ UTF-8 encoding. Alias of System.Text.Encoding.UTF8.GetString().
+
+
+
+
+
+
+ Converts a string to an array of bytes using UTF-8 encoding.
+ An alias of System.Text.Encoding.UTF8.GetBytes().
+
+
+
+
+
+
+ Converts a string to an array of bytes using ASCII encoding.
+ An alias of System.Text.Encoding.ASCII.GetBytes().
+
+
+
+
+
+
+ Ordered column headers
+
+
+
+ ordered table headers
+
+
+
+ Writes the values in a dictionary to a row using the keys to determine which column.
+ Values for keys that are were not contained in the headers passed to WriteHeaderRow() are ignored.
+ If dict does not contain a value with a key matching one of the header names, an empty column is emitted.
+ NOTE: You must have constructed this TableWriter with headers, or this method will throw.
+
+
+
+
+
+
+ Escapes the contents of a data cell as necessary. Default implementation is to return the string passed in.
+
+
+
+
+
+
+ Replaces occurences of Delimiter in cellData with \Delimiter.
+
+
+
+
+
+
+ Writes strings to a Microsoft Excel-compatible CSV format.
+
+
+
+
+ Escapes a single cell of a CSV table as Microsoft Excel would do:
+
+ - All occurrences of " in the string are replaced with ""
+ - The following are wrapped in double quotes:
+ strings starting or ending with spaces; strings containing commas,
+ double quotes, or line breaks.
+
+
+
+ String.Empty if rawString is Null or empty. Else rawString escaped as described.
+
+
+
+ Factory methods for creating various threads and timers such that
+ exceptions thrown by their thread-bodies are caught and logged before
+ being rethrown.
+
+
+
+
+ Puts a task in the ThreadPool. See ThreadPool.QueueUserWorkItem.
+
+
+
+
+ Puts a task in the ThreadPool. See ThreadPool.QueueUserWorkItem.
+
+
+
+
+ Creates a named thread that logs uncaught exceptions to LogFacility.Application, LogLevel.Notice
+ before rethrowing them.
+
+
+
+
+
+
+
+ Executes an action, but logs any uncaught exceptions to Log.Notice(LogFacility.Application...
+ before rethrowing them.
+
+ Note: action is run on the invoking thread, not a new thread. Use MakeThread to create a new thread.
+
+
+
+
+
+ Wraps a DoWorkEventHandler in a try/catch that logs to Log.Notice(LogFacility.Application
+ any exceptions that are thrown before rethrowing them.
+
+
+
+
+
+
+ These enumeration values match the UI1236 reading units enum.
+
+
+
+
+ The UK/Canadian gallon.
+
+
+
+
+ Use for storing a quantity of volume.
+ Provides properties for converting to different units of volume.
+
+
+
+
+ For messages related to exceptional conditions in FlexNet.
+ If you are wanting to log transmissions or receptions,
+ you probably want FlexNetSerialBytes.
+
+
+
+
+ A parsed view of messages to/from OmniCommunicator.
+
+
+
+
+ Hex string representation of bytes to/from OmniCommunicator.
+
+
+
+
+ Gets a sorted list of all the serial ports on the system, and works around an issue
+ on Windows 7 (and possibly Win Vista) where there is sometimes a garbage character
+ on the end of the port name.
+
+
+ This method also obtains the FriendlyName for each port in the system and populates a
+ dictionary with the results so that subsequent calls to GetFriendlyName will be fast.
+ The results of GetPortNames() can be stored if performance is a concern.
+
+
+
+
+
+ Gets all of the unique serial ports on the system, and works around an issue
+ on Windows 7 (and possibly Win Vista) where there is sometimes a garbage character
+ on the endof the port name. Note that if the garbage character is actually a digit,
+ this method is unable to correct it.
+
+
+
+
+
+ Returns a port name of the form "COMn" from a DisplayName of the form "COMn: FriendlyName".
+
+
+ If the DisplayName does not contain a FriendlyName (ie. it is already in the form "COMn") then
+ that name is returned.
+
+
+
+
+
+
+
+
+ Returns a DisplayName of the form "COMn: FriendlyName" from a port name of the form "COMn".
+
+
+ If no FriendlyName exists then the portName alone will be returned.
+
+
+
+
+
+
+
+
+ Under Construction: currently returns the supplied port name.
+
+
+
+
+
+
+ Stores the "Friendly Name" for all COM ports found on the system.
+
+
+
+
+ Uses ManagementObjectSearcher to obtain the friendly name property for all ports for the form COMn.
+ The friendly names found are stored in the FriendlyName dictionary and can be accessed via the
+ dictionary directly or via the GetFriendlyName static method.
+
+
+ This method has a long run-time.
+
+
+
+
+ Obtain the "FriendlyName" for the given port "COMn".
+
+
+ If the port has no friendly name, the supplied portName will be returned.
+
+ Friendly Name: A human readable named used to describe an network resource,
+ as an alternative to the often cryptic computer, port and sharenames.
+
+ Examples: "Laser Printer in Laurens Office," as opposed to "HP311PRT".
+ "USB Serial Port" as opposed to "COM34".
+
+
+
+
+
+
+ Obtain the Device Name for the given port "COMn".
+
+
+ Really just provides the manufacturer name.
+
+
+
+
+
+
+ Writes log events to System.Diagnostics.EventLog.
+
+
+
+
+ Logs messages using Console.WriteLine().
+
+
+
+
diff --git a/NfcC7_DLL/NfcHanler/FieldLogicLibrary/Sensus.dll b/NfcC7_DLL/NfcHanler/FieldLogicLibrary/Sensus.dll
new file mode 100644
index 000000000..6c9a3f80c
Binary files /dev/null and b/NfcC7_DLL/NfcHanler/FieldLogicLibrary/Sensus.dll differ
diff --git a/NfcC7_DLL/NfcHanler/FieldLogicLibrary/Sensus.pdb b/NfcC7_DLL/NfcHanler/FieldLogicLibrary/Sensus.pdb
new file mode 100644
index 000000000..532a5a962
Binary files /dev/null and b/NfcC7_DLL/NfcHanler/FieldLogicLibrary/Sensus.pdb differ
diff --git a/NfcC7_DLL/NfcHanler/FieldLogicStaging/DataReportRequest_ModuleStatistics.cs b/NfcC7_DLL/NfcHanler/FieldLogicStaging/DataReportRequest_ModuleStatistics.cs
new file mode 100644
index 000000000..0ed880d5c
--- /dev/null
+++ b/NfcC7_DLL/NfcHanler/FieldLogicStaging/DataReportRequest_ModuleStatistics.cs
@@ -0,0 +1,64 @@
+using System.ComponentModel;
+using Sensus;
+using Sensus.Protocols.FlexNet;
+using Sensus.Protocols.FlexNet.FNv2;
+
+namespace NfcC7_DLL.NfcHanler.FieldLogicStaging
+{
+ [NA2WSerialProtocolCommand(DataReportRequest_ModuleStatistics._Code, DataReportRequest_ModuleStatistics._Version)]
+ public class DataReportRequest_ModuleStatistics : BackedHeaders, INA2WSerialProtocolCommand
+ {
+ public const byte _Size = 7;
+ public const DataLinkFrameType _FrameType = DataLinkFrameType.Command;
+ public const byte _Code = 0x14;
+ public const byte _Version = 1; // Version is overlays ReportId. ReportId = 1 is ModuleStatistics.
+
+ public DataReportRequest_ModuleStatistics() : base(_Size) { Version = _Version; }
+
+ public DataReportRequest_ModuleStatistics(Func buffer, Func offset) : base(buffer, offset) { Version = _Version; }
+
+ public static EventReadV0 Parse(byte[] buffer, UInt32 offset, UInt32 length)
+ {
+ return Parse(buffer, offset, length);
+ }
+
+ protected override void Initialize(UInt32 wholeMessageLength)
+ {
+ base.Initialize(wholeMessageLength);
+ }
+
+ public override void Bake()
+ {
+ base.Bake();
+ }
+
+ IFrame IFrame.Clone()
+ {
+ return Parse(Buffer, Offset, _Size);
+ }
+
+ public T Unwrap()
+ {
+ return default(T);
+ }
+
+ [Browsable(false)]
+ public override uint Size { get { return _Size; } set { } }
+
+ [Browsable(false)]
+ public DataLinkFrameType FrameType { get { return _FrameType; } }
+
+ [Browsable(false)]
+ public byte CommandCode { get { return _Code; } }
+
+ [Browsable(false)]
+ public UInt32 PayloadLength { get; private set; }
+
+ public byte Version { get { return Buffer.Read((Offset + 0) * 8 + 0, 8); } set { Buffer.Write(value, (Offset + 0) * 8 + 0, 8); } }
+ public byte ReportId { get { return Buffer.Read((Offset + 0) * 8 + 0, 8); } set { Buffer.Write(value, (Offset + 0) * 8 + 0, 8); } }
+ public UInt16 ModuleId { get { return Buffer.Read((Offset + 1) * 8 + 0, 16); } set { Buffer.Write(value, (Offset + 1) * 8 + 0, 16); } }
+ public UInt16 ByteOffset { get { return Buffer.Read((Offset + 3) * 8 + 0, 16); } set { Buffer.Write(value, (Offset + 3) * 8 + 0, 16); } }
+ public UInt16 ByteCount { get { return Buffer.Read((Offset + 5) * 8 + 0, 16); } set { Buffer.Write(value, (Offset + 5) * 8 + 0, 16); } }
+ }
+}
+
diff --git a/NfcC7_DLL/NfcHanler/FieldLogicStaging/DataReportRequest_StatisticOverview.cs b/NfcC7_DLL/NfcHanler/FieldLogicStaging/DataReportRequest_StatisticOverview.cs
new file mode 100644
index 000000000..58f1e6e25
--- /dev/null
+++ b/NfcC7_DLL/NfcHanler/FieldLogicStaging/DataReportRequest_StatisticOverview.cs
@@ -0,0 +1,60 @@
+using System.ComponentModel;
+using Sensus;
+using Sensus.Protocols.FlexNet;
+using Sensus.Protocols.FlexNet.FNv2;
+
+namespace NfcC7_DLL.NfcHanler.FieldLogicStaging
+{
+ [NA2WSerialProtocolCommand(DataReportRequest_StatisticsOverview._Code, DataReportRequest_StatisticsOverview._Version)]
+ public class DataReportRequest_StatisticsOverview : BackedHeaders, INA2WSerialProtocolCommand
+ {
+ public const byte _Size = 1;
+ public const DataLinkFrameType _FrameType = DataLinkFrameType.Command;
+ public const byte _Code = 0x14;
+ public const byte _Version = 0; // Version is overlays ReportId. ReportId = 0 is StatisticsOverview.
+
+ public DataReportRequest_StatisticsOverview() : base(_Size) { Version = _Version; }
+
+ public DataReportRequest_StatisticsOverview(Func buffer, Func offset) : base(buffer, offset) { Version = _Version; }
+
+ public static EventReadV0 Parse(byte[] buffer, UInt32 offset, UInt32 length)
+ {
+ return Parse(buffer, offset, length);
+ }
+
+ protected override void Initialize(UInt32 wholeMessageLength)
+ {
+ base.Initialize(wholeMessageLength);
+ }
+
+ public override void Bake()
+ {
+ base.Bake();
+ }
+
+ IFrame IFrame.Clone()
+ {
+ return Parse(Buffer, Offset, _Size);
+ }
+
+ public T Unwrap()
+ {
+ return default(T);
+ }
+
+ [Browsable(false)]
+ public override uint Size { get { return _Size; } set { } }
+
+ [Browsable(false)]
+ public DataLinkFrameType FrameType { get { return _FrameType; } }
+
+ [Browsable(false)]
+ public byte CommandCode { get { return _Code; } }
+
+ [Browsable(false)]
+ public UInt32 PayloadLength { get; private set; }
+
+ public byte Version { get { return Buffer.Read((Offset + 0) * 8 + 0, 8); } set { Buffer.Write(value, (Offset + 0) * 8 + 0, 8); } }
+ public byte ReportId { get { return Buffer.Read((Offset + 0) * 8 + 0, 8); } set { Buffer.Write(value, (Offset + 0) * 8 + 0, 8); } }
+ }
+}
diff --git a/NfcC7_DLL/NfcHanler/FieldLogicStaging/EngineeringTestCommand.cs b/NfcC7_DLL/NfcHanler/FieldLogicStaging/EngineeringTestCommand.cs
new file mode 100644
index 000000000..6381a8895
--- /dev/null
+++ b/NfcC7_DLL/NfcHanler/FieldLogicStaging/EngineeringTestCommand.cs
@@ -0,0 +1,73 @@
+using System.ComponentModel;
+using Sensus;
+using Sensus.Protocols.FlexNet;
+using Sensus.Protocols.FlexNet.FNv2;
+
+namespace NfcC7_DLL.NfcHanler.FieldLogicStaging
+{
+ [NA2WSerialProtocolCommand(EngineeringTestCommand._Code, EngineeringTestCommand._Version)]
+ public class EngineeringTestCommand : Envelope