id: sarsat_sarp_msg_extract label: SARP Message Extractor category: '[Sarsat]' templates: imports: from sarsat import sarp_msg_extract make: sarp_msg_extract() inputs: - label: in domain: message outputs: - label: valid domain: message - label: invalid domain: message documentation: |- SARP (Search And Rescue Processor) Message Extractor. Each 72-byte PDS frame contains three 24-byte SARP messages. Each SARP message should start with the sync word 0xD60 (12 bits). This block splits incoming PDS frames into individual SARP messages and validates the sync word: - 'valid' port: Messages with correct sync word (0xD60) - 'invalid' port: Messages with incorrect sync word Note: Even messages on the 'invalid' port may contain recoverable beacon data - check BCH error correction codes. Input: PDU from PDS Frame Sync block (72 bytes) Output: Individual 24-byte SARP messages file_format: 1