/// <summary>
        /// Determines whether the specified <see cref="OpenDis.Enumerations.DistributedEmission.Iff.Type5Parameter1RRBResponse"/> instance is equal to this instance.
        /// </summary>
        /// <param name="other">The <see cref="OpenDis.Enumerations.DistributedEmission.Iff.Type5Parameter1RRBResponse"/> instance to compare with this instance.</param>
        /// <returns>
        ///     <c>true</c> if the specified <see cref="OpenDis.Enumerations.DistributedEmission.Iff.Type5Parameter1RRBResponse"/> is equal to this instance; otherwise, <c>false</c>.
        /// </returns>
        public bool Equals(Type5Parameter1RRBResponse other)
        {
            // If parameter is null return false (cast to object to prevent recursive loop!)
            if ((object)other == null)
            {
                return(false);
            }

            return
                (this.Code == other.Code &&
                 this.PowerReduction == other.PowerReduction &&
                 this.RadarEnhancement == other.RadarEnhancement &&
                 this.Status == other.Status &&
                 this.Damage == other.Damage &&
                 this.Malfunction == other.Malfunction);
        }
        /// <summary>
        /// Creates the <see cref="OpenDis.Enumerations.DistributedEmission.Iff.Type5Parameter1RRBResponse"/> instance from the ushort value.
        /// </summary>
        /// <param name="value">The ushort value which represents the <see cref="OpenDis.Enumerations.DistributedEmission.Iff.Type5Parameter1RRBResponse"/> instance.</param>
        /// <returns>The <see cref="OpenDis.Enumerations.DistributedEmission.Iff.Type5Parameter1RRBResponse"/> instance, represented by the ushort value.</returns>
        public static Type5Parameter1RRBResponse FromUInt16(ushort value)
        {
            Type5Parameter1RRBResponse ps = new Type5Parameter1RRBResponse();

            uint mask0     = 0x001f;
            byte shift0    = 0;
            uint newValue0 = (value & mask0) >> shift0;

            ps.Code = (byte)newValue0;

            uint mask2     = 0x0800;
            byte shift2    = 11;
            uint newValue2 = (value & mask2) >> shift2;

            ps.PowerReduction = (Type5Parameter1RRBResponse.PowerReductionValue)newValue2;

            uint mask3     = 0x1000;
            byte shift3    = 12;
            uint newValue3 = (value & mask3) >> shift3;

            ps.RadarEnhancement = (Type5Parameter1RRBResponse.RadarEnhancementValue)newValue3;

            uint mask4     = 0x2000;
            byte shift4    = 13;
            uint newValue4 = (value & mask4) >> shift4;

            ps.Status = (Type5Parameter1RRBResponse.StatusValue)newValue4;

            uint mask5     = 0x4000;
            byte shift5    = 14;
            uint newValue5 = (value & mask5) >> shift5;

            ps.Damage = (Type5Parameter1RRBResponse.DamageValue)newValue5;

            uint mask6     = 0x8000;
            byte shift6    = 15;
            uint newValue6 = (value & mask6) >> shift6;

            ps.Malfunction = (Type5Parameter1RRBResponse.MalfunctionValue)newValue6;

            return(ps);
        }
        /// <summary>
        /// Determines whether the specified <see cref="OpenDis.Enumerations.DistributedEmission.Iff.Type5Parameter1RRBResponse"/> instance is equal to this instance.
        /// </summary>
        /// <param name="other">The <see cref="OpenDis.Enumerations.DistributedEmission.Iff.Type5Parameter1RRBResponse"/> instance to compare with this instance.</param>
        /// <returns>
        /// 	<c>true</c> if the specified <see cref="OpenDis.Enumerations.DistributedEmission.Iff.Type5Parameter1RRBResponse"/> is equal to this instance; otherwise, <c>false</c>.
        /// </returns>
        public bool Equals(Type5Parameter1RRBResponse other)
        {
            // If parameter is null return false (cast to object to prevent recursive loop!)
            if ((object)other == null)
            {
                return false;
            }

            return
                this.Code == other.Code &&
                this.PowerReduction == other.PowerReduction &&
                this.RadarEnhancement == other.RadarEnhancement &&
                this.Status == other.Status &&
                this.Damage == other.Damage &&
                this.Malfunction == other.Malfunction;
        }
        /// <summary>
        /// Creates the <see cref="OpenDis.Enumerations.DistributedEmission.Iff.Type5Parameter1RRBResponse"/> instance from the ushort value.
        /// </summary>
        /// <param name="value">The ushort value which represents the <see cref="OpenDis.Enumerations.DistributedEmission.Iff.Type5Parameter1RRBResponse"/> instance.</param>
        /// <returns>The <see cref="OpenDis.Enumerations.DistributedEmission.Iff.Type5Parameter1RRBResponse"/> instance, represented by the ushort value.</returns>
        public static Type5Parameter1RRBResponse FromUInt16(ushort value)
        {
            Type5Parameter1RRBResponse ps = new Type5Parameter1RRBResponse();

            uint mask0 = 0x001f;
            byte shift0 = 0;
            uint newValue0 = value & mask0 >> shift0;
            ps.Code = (byte)newValue0;

            uint mask2 = 0x0800;
            byte shift2 = 11;
            uint newValue2 = value & mask2 >> shift2;
            ps.PowerReduction = (Type5Parameter1RRBResponse.PowerReductionValue)newValue2;

            uint mask3 = 0x1000;
            byte shift3 = 12;
            uint newValue3 = value & mask3 >> shift3;
            ps.RadarEnhancement = (Type5Parameter1RRBResponse.RadarEnhancementValue)newValue3;

            uint mask4 = 0x2000;
            byte shift4 = 13;
            uint newValue4 = value & mask4 >> shift4;
            ps.Status = (Type5Parameter1RRBResponse.StatusValue)newValue4;

            uint mask5 = 0x4000;
            byte shift5 = 14;
            uint newValue5 = value & mask5 >> shift5;
            ps.Damage = (Type5Parameter1RRBResponse.DamageValue)newValue5;

            uint mask6 = 0x8000;
            byte shift6 = 15;
            uint newValue6 = value & mask6 >> shift6;
            ps.Malfunction = (Type5Parameter1RRBResponse.MalfunctionValue)newValue6;

            return ps;
        }