Beispiel #1
0
        /// <summary>
        /// Decodes an identification and emitter category message.
        /// </summary>
        /// <param name="message"></param>
        private void DecodeIdentification(AdsbMessage message)
        {
            message.MessageFormat = MessageFormat.IdentificationAndCategory;
            var subMessage = message.IdentifierAndCategory = new IdentifierAndCategoryMessage();

            subMessage.EmitterCategory = _EmitterCategories[message.Type - 1, _BitStream.ReadByte(3)];
            subMessage.Identification  = ModeSCharacterTranslator.ExtractCharacters(_BitStream, 8);
        }
Beispiel #2
0
        /// <summary>
        /// Decodes an identification and emitter category message.
        /// </summary>
        /// <param name="message"></param>
        private void DecodeIdentification(AdsbMessage message)
        {
            message.MessageFormat = MessageFormat.IdentificationAndCategory;
            var subMessage = message.IdentifierAndCategory = new IdentifierAndCategoryMessage();

            subMessage.EmitterCategory = _EmitterCategories[message.Type - 1, _BitStream.ReadByte(3)];
            subMessage.Identification  = ModeSCharacterTranslator.ExtractCharacters(_BitStream, 8);

            if (IsFineFormatTisb(message))
            {
                // These are only sent for TIS-B fine format messages with a valid ICAO24, in which case the
                // IMF flag can be assumed to be zero
                message.TisbIcaoModeAFlag = 0;
            }
        }