public DeviceReportingRecipient(BacnetBitString weekofDay, DateTime fromTime, DateTime toTime, BacnetAddress adr, uint processIdentifier, bool ackRequired, BacnetBitString evenType)
 {
     Id                     = new BacnetObjectId();
     WeekofDay              = weekofDay;
     this.toTime            = toTime;
     this.fromTime          = fromTime;
     this.adr               = adr;
     this.processIdentifier = processIdentifier;
     Ack_Required           = ackRequired;
     this.evenType          = evenType;
 }
        public DeviceReportingRecipient(BacnetValue v0, BacnetValue v1, BacnetValue v2, BacnetValue v3, BacnetValue v4, BacnetValue v5, BacnetValue v6)
        {
            Id  = new BacnetObjectId();
            adr = null;

            WeekofDay = (BacnetBitString)v0.Value;
            fromTime  = (DateTime)v1.Value;
            toTime    = (DateTime)v2.Value;
            if (v3.Value is BacnetObjectId)
            {
                Id = (BacnetObjectId)v3.Value;
            }
            else
            {
                var netdescr = (BacnetValue[])v3.Value;
                var s        = (ushort)(uint)netdescr[0].Value;
                var b        = (byte[])netdescr[1].Value;
                adr = new BacnetAddress(BacnetAddressTypes.IP, s, b);
            }
            processIdentifier = (uint)v4.Value;
            Ack_Required      = (bool)v5.Value;
            evenType          = (BacnetBitString)v6.Value;
        }
Esempio n. 3
0
        public static BacnetBitString Parse(string str)
        {
            var ret = new BacnetBitString
            {
                value = new byte[ASN1.MAX_BITSTRING_BYTES]
            };

            if (string.IsNullOrEmpty(str))
            {
                return(ret);
            }

            ret.bits_used = (byte)str.Length;
            for (var i = 0; i < ret.bits_used; i++)
            {
                var isSet = str[i] == '1';
                if (isSet)
                {
                    ret.value[i / 8] |= (byte)(1 << (i % 8));
                }
            }

            return(ret);
        }