https://www.kraksat.pl/space/en/ https://satrevolution.com/projects/kraksat/
--- meta: id: ax25monitor doc: | :field dest_callsign: ax25_frame.ax25_header.dest_callsign_raw.callsign_ror.callsign :field src_callsign: ax25_frame.ax25_header.src_callsign_raw.callsign_ror.callsign :field src_ssid: ax25_frame.ax25_header.src_ssid_raw.ssid :field dest_ssid: ax25_frame.ax25_header.dest_ssid_raw.ssid :field rpt_callsign: ax25_frame.ax25_header.repeater.rpt_instance[0].rpt_callsign_raw.callsign_ror.callsign :field ctl: ax25_frame.ax25_header.ctl :field pid: ax25_frame.payload.pid :field monitor: ax25_frame.payload.ax25_info.data_monitor Attention: `rpt_callsign` cannot be accessed because `rpt_instance` is an array of unknown size at the beginning of the parsing process! Left an example in here. seq: - id: ax25_frame type: ax25_frame doc-ref: 'https://www.tapr.org/pub_ax25.html' types: ax25_frame: seq: - id: ax25_header type: ax25_header - id: payload type: switch-on: ax25_header.ctl & 0x13 cases: 0x03: ui_frame 0x13: ui_frame 0x00: i_frame 0x02: i_frame 0x10: i_frame 0x12: i_frame # 0x11: s_frame ax25_header: seq: - id: dest_callsign_raw type: callsign_raw - id: dest_ssid_raw type: ssid_mask - id: src_callsign_raw type: callsign_raw - id: src_ssid_raw type: ssid_mask - id: repeater type: repeater if: (src_ssid_raw.ssid_mask & 0x01) == 0 doc: 'Repeater flag is set!' - id: ctl type: u1 repeater: seq: - id: rpt_instance type: repeaters repeat: until repeat-until: ((_.rpt_ssid_raw.ssid_mask & 0x1) == 0x1) doc: 'Repeat until no repeater flag is set!' repeaters: seq: - id: rpt_callsign_raw type: callsign_raw - id: rpt_ssid_raw type: ssid_mask callsign_raw: seq: - id: callsign_ror process: ror(1) size: 6 type: callsign callsign: seq: - id: callsign type: str encoding: ASCII size: 6 ssid_mask: seq: - id: ssid_mask type: u1 instances: ssid: value: (ssid_mask & 0x0f) >> 1 i_frame: seq: - id: pid type: u1 - id: ax25_info type: ax25_info_data size-eos: true ui_frame: seq: - id: pid type: u1 - id: ax25_info type: ax25_info_data size-eos: true ax25_info_data: seq: - id: data_monitor type: str encoding: utf-8 size-eos: true