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