Beispiel #1
0
 void IGXDLMSBase.Load(GXXmlReader reader)
 {
     LnId               = (short)reader.ReadElementContentAsInt("LnId");
     LsId               = (byte)reader.ReadElementContentAsInt("LsId");
     SId                = (byte)reader.ReadElementContentAsInt("SId");
     Sna                = GXCommon.HexToBytes(reader.ReadElementContentAsString("SNa"));
     State              = (MacState)reader.ReadElementContentAsInt("State");
     ScpLength          = (byte)reader.ReadElementContentAsInt("ScpLength");
     NodeHierarchyLevel = (byte)reader.ReadElementContentAsInt("NodeHierarchyLevel");
     BeaconSlotCount    = (byte)reader.ReadElementContentAsInt("BeaconSlotCount");
     BeaconRxSlot       = (byte)reader.ReadElementContentAsInt("BeaconRxSlot");
     BeaconTxSlot       = (byte)reader.ReadElementContentAsInt("BeaconTxSlot");
     BeaconRxFrequency  = (byte)reader.ReadElementContentAsInt("BeaconRxFrequency");
     BeaconTxFrequency  = (byte)reader.ReadElementContentAsInt("BeaconTxFrequency");
     Capabilities       = (MacCapabilities)reader.ReadElementContentAsInt("Capabilities");
 }
Beispiel #2
0
        public override int GetHashCode()
        {
            int prime  = 31;
            int result = 1;

            result = prime * result + _apsFlags;
            result = prime * result + BufferSize;
            result = prime * result + (ComplexDescriptorAvailable ? 1231 : 1237);
            result = prime * result + (IsextendedEndpointListAvailable ? 1231 : 1237);
            result = prime * result + (ExtendedSimpleDescriptorListAvailable ? 1231 : 1237);
            result = prime * result + ((FrequencyBands == null) ? 0 : FrequencyBands.GetHashCode());
            result = prime * result + IncomingTransferSize;
            result = prime * result + /*((LogicalNodeType == null) ? 0 : */ LogicalNodeType.GetHashCode();
            result = prime * result + ((MacCapabilities == null) ? 0 : MacCapabilities.GetHashCode());
            result = prime * result + ManufacturerCode;
            result = prime * result + OutgoingTransferSize;
            result = prime * result + ((ServerCapabilities == null) ? 0 : ServerCapabilities.GetHashCode());
            result = prime * result + (IsuserDescriptorAvailable ? 1231 : 1237);
            return(result);
        }
Beispiel #3
0
        public override bool Equals(Object obj)
        {
            if (this == obj)
            {
                return(true);
            }
            if (obj == null)
            {
                return(false);
            }
            if (this.GetType() != obj.GetType())
            {
                return(false);
            }
            NodeDescriptor other = (NodeDescriptor)obj;

            if (_apsFlags != other._apsFlags)
            {
                return(false);
            }
            if (BufferSize != other.BufferSize)
            {
                return(false);
            }
            if (ComplexDescriptorAvailable != other.ComplexDescriptorAvailable)
            {
                return(false);
            }
            if (IsextendedEndpointListAvailable != other.IsextendedEndpointListAvailable)
            {
                return(false);
            }
            if (ExtendedSimpleDescriptorListAvailable != other.ExtendedSimpleDescriptorListAvailable)
            {
                return(false);
            }
            if (FrequencyBands == null)
            {
                if (other.FrequencyBands != null)
                {
                    return(false);
                }
            }
            else if (!FrequencyBands.Equals(other.FrequencyBands)) // TODO: SequenceEquals ??
            {
                return(false);
            }
            if (IncomingTransferSize != other.IncomingTransferSize)
            {
                return(false);
            }
            if (LogicalNodeType != other.LogicalNodeType)
            {
                return(false);
            }
            if (MacCapabilities == null)
            {
                if (other.MacCapabilities != null)
                {
                    return(false);
                }
            }
            else if (!MacCapabilities.Equals(other.MacCapabilities)) // TODO: SequenceEquals ??
            {
                return(false);
            }
            if (ManufacturerCode != other.ManufacturerCode)
            {
                return(false);
            }
            if (OutgoingTransferSize != other.OutgoingTransferSize)
            {
                return(false);
            }
            if (ServerCapabilities == null)
            {
                if (other.ServerCapabilities != null)
                {
                    return(false);
                }
            }
            else if (!ServerCapabilities.Equals(other.ServerCapabilities)) // TODO: SequenceEquals ??
            {
                return(false);
            }
            if (IsuserDescriptorAvailable != other.IsuserDescriptorAvailable)
            {
                return(false);
            }
            return(true);
        }
Beispiel #4
0
        void IGXDLMSBase.SetValue(GXDLMSSettings settings, ValueEventArgs e)
        {
            switch (e.Index)
            {
            case 1:
                LogicalName = GXCommon.ToLogicalName(e.Value);
                break;

            case 2:
                LnId = Convert.ToInt16(e.Value);
                break;

            case 3:
                LsId = Convert.ToByte(e.Value);
                break;

            case 4:
                SId = Convert.ToByte(e.Value);
                break;

            case 5:
                Sna = (byte[])e.Value;
                break;

            case 6:
                State = (MacState)Convert.ToByte(e.Value);
                break;

            case 7:
                ScpLength = Convert.ToInt16(e.Value);
                break;

            case 8:
                NodeHierarchyLevel = Convert.ToByte(e.Value);
                break;

            case 9:
                BeaconSlotCount = Convert.ToByte(e.Value);
                break;

            case 10:
                BeaconRxSlot = Convert.ToByte(e.Value);
                break;

            case 11:
                BeaconTxSlot = Convert.ToByte(e.Value);
                break;

            case 12:
                BeaconRxFrequency = Convert.ToByte(e.Value);
                break;

            case 13:
                BeaconTxFrequency = Convert.ToByte(e.Value);
                break;

            case 14:
                Capabilities = (MacCapabilities)Convert.ToUInt16(e.Value);
                break;

            default:
                e.Error = ErrorCode.ReadWriteDenied;
                break;
            }
        }