Gurux.DLMS.GXDLMS.GetHhlcAddress C# (CSharp) Method

GetHhlcAddress() static private method

Get HDLC address.
static private GetHhlcAddress ( int value, byte size ) : Object
value int HDLC address.
size byte HDLC address size. This is optional.
return Object
        internal static Object GetHhlcAddress(int value, byte size)
        {
            if (size < 2 && value < 0x80)
            {
                return (byte)(value << 1 | 1);
            }
            if (size < 4 && value < 0x4000)
            {
                return (UInt16)((value & 0x3F80) << 2 | (value & 0x7F) << 1 | 1);
            }
            if (value < 0x10000000)
            {
                return (UInt32)((value & 0xFE00000) << 4 | (value & 0x1FC000) << 3
                                | (value & 0x3F80) << 2 | (value & 0x7F) << 1 | 1);
            }
            throw new ArgumentException("Invalid address.");
        }