/// <summary>
        /// Encode an RSSI Filter packet into the specified buffer
        /// </summary>
        /// <param name="buffer"></param>
        /// <param name="index"></param>
        /// <param name="threshold"></param>
        public static void EncodeRSSIFilterControl(byte[] buffer, ref int index, int threshold)
        {
            // Encode header
            PacketHeader header = new PacketHeader(PacketTypeCode.SetRssiFilter);

            SerializePacket(buffer, ref index, header);

            // Encode payload
            RSSIFilterControlPacket packet = new RSSIFilterControlPacket
            {
                threshold = threshold
            };

            SerializePacket(buffer, ref index, packet);

            // Encode footer
            SerializePacket(buffer, ref index, _footer);
        }
        /// <summary>
        /// Decode an RSSI Filter Control packet from the byte stream
        /// </summary>
        /// <param name="buffer"></param>
        /// <param name="index"></param>
        /// <returns></returns>
        private static int DecodeRSSIFilterControlPacket(byte[] buffer, ref int index)
        {
            RSSIFilterControlPacket value = DeserializePacket <RSSIFilterControlPacket>(buffer, ref index);

            return(value.threshold);
        }