6.11 REGISTER TYPES
There are a few more parts to registers than are immediately obvious. Each register has a defined type that gives information about what kind of data it can store. The type is given a capital letter to identify it.
For example, type ‘C’ is an 8bit integer that can store values from 0 to 255.
The table below gives a list of all available base data types and what they translate to. In the register tables the data type is listed for each register using its letter code. Types that require a length have the letter followed by a number – “A17” is a 17 byte long string, which can hold up to 16 characters (last character is a null)
All number formats more than 8bits have big-endian byte ordering – that is the Most Significant Byte occurs first when read out using Command Line Protocol (or its variations). Some complex structures though may use little-endian format, but in such cases it will be explicitly noted.
EDMI Atlas Meter – System Integration Guide ver 0.04 Page 46 of 189 Copyright © 2011 EDMI Limited. All Rights Reserved.
Base Data Type Name Data Format Type
A String Null terminated ASCII string. A series of ASCII A
characters, with the end being marked by a zero.
For example, “Hello” is represented as the bytes:
{72}{101}{108}{108}{111}{0}
B Boolean This is a byte that can be 0 meaning false, or 1 B
being true. Setting it to any non-zero value will
result in a setting of 1.
C Byte 8-bit unsigned integer. C
F Float Single precision IEEE 32-bit floating point number. F
I Short 16-bit signed short integer. I
L Long 32-bit signed long integer. L
N None Used by the meter to indicate an invalid type. N
Q Time Time as 3 bytes: {Hour}{Minute}{Second} Q
Displays on an LCD formatted as HH:MM:SS
Time is always in 24 hour time.
R Date Date as 3 bytes: {Date}{Month}{Year} R
Displays on an LCD formatted as DD/MM/YY
S Special Special (not a regular type) S
T Date/Time Time/date as 6 bytes: T
{Date}{Month}{Year}{Hour}{Minute}{Second}
Displays on an LCD formatted as alternating date
and time components. HH:MM:SS and DD/MM/YY.
The internal version of this is an unsigned 32-bit
seconds since 1/1/1996. Used in a few instances,
where it is noted.
Figure 6.10 Atlas Register Types
6.11.1.1. C# SAMPLE CODE
public enum AtlasDataTypes : byte {
String = (byte)'A', Boolean = (byte)'B', Byte = (byte)'C', Float = (byte)'F', Short = (byte)'I', Long = (byte)'L', None = (byte)'N', Time = (byte)'Q', Date = (byte)'R', Special = (byte)'S', DateTime = (byte)'T' };