| Did you know ... | Search Documentation: |
| Pack logtalk -- logtalk-3.100.1/docs/apis/_sources/ccsds_packet_services_0.rst.txt |
.. index:: single: ccsds_packet_services .. _ccsds_packet_services/0:
.. rst-class:: right
object
ccsds_packet_servicesHelpers for CCSDS packet service packet-zone splitting and cross-frame TM/AOS packet reassembly.
| Availability:
| logtalk_load(ccsds_packet_services(loader))
| Author: Paulo Moura | Version: 0:1:0 | Date: 2026-05-08
| Compilation flags:
| static, context_switching_calls
| Uses:
| :ref:`ccsds_packets(SecondaryHeaderLength) <ccsds_packets/1>`
| :ref:`list <list/0>`
| :ref:`type <type/0>`
| Remarks: | (none)
| Inherited public predicates: | (none)
.. contents:: :local: :backlinks: top
.. index:: valid_reassembly_state/1 .. _ccsds_packet_services/0::valid_reassembly_state/1:
valid_reassembly_state/1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
True if the argument is a valid packet reassembly state term.
| Compilation flags:
| static
| Template:
| valid_reassembly_state(State)
| Mode and number of proofs:
| valid_reassembly_state(@compound) - zero_or_one
.. index:: initial_reassembly_state/1 .. _ccsds_packet_services/0::initial_reassembly_state/1:
initial_reassembly_state/1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Returns the initial cross-frame packet reassembly state.
| Compilation flags:
| static
| Template:
| initial_reassembly_state(State)
| Mode and number of proofs:
| initial_reassembly_state(-compound) - one
.. index:: pending_data/2 .. _ccsds_packet_services/0::pending_data/2:
pending_data/2 ^^^^^^^^^^^^^^^^^^
Extracts the currently buffered trailing packet fragment bytes from a packet reassembly state.
| Compilation flags:
| static
| Template:
| pending_data(State,Bytes)
| Mode and number of proofs:
| pending_data(+compound,-list(byte)) - one
.. index:: valid_channel_reassembly_state/1 .. _ccsds_packet_services/0::valid_channel_reassembly_state/1:
valid_channel_reassembly_state/1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
True if the argument is a valid frame-channel packet reassembly state term keyed by frame type, spacecraft identifier, and virtual channel identifier.
| Compilation flags:
| static
| Template:
| valid_channel_reassembly_state(State)
| Mode and number of proofs:
| valid_channel_reassembly_state(@compound) - zero_or_one
.. index:: initial_channel_reassembly_state/1 .. _ccsds_packet_services/0::initial_channel_reassembly_state/1:
initial_channel_reassembly_state/1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Returns the initial frame-channel packet reassembly state.
| Compilation flags:
| static
| Template:
| initial_channel_reassembly_state(State)
| Mode and number of proofs:
| initial_channel_reassembly_state(-compound) - one
.. index:: pending_fragments/2 .. _ccsds_packet_services/0::pending_fragments/2:
pending_fragments/2 ^^^^^^^^^^^^^^^^^^^^^^^
Extracts the non-empty pending packet fragments buffered per frame type, spacecraft identifier, and virtual channel identifier.
| Compilation flags:
| static
| Template:
| pending_fragments(State,PendingFragments)
| Mode and number of proofs:
| pending_fragments(+compound,-list(compound)) - one
.. index:: valid_discontinuity_policy/1 .. _ccsds_packet_services/0::valid_discontinuity_policy/1:
valid_discontinuity_policy/1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
True if the argument is a valid discontinuity recovery policy atom. Valid values are throw, drop, and resynchronize.
| Compilation flags:
| static
| Template:
| valid_discontinuity_policy(Policy)
| Mode and number of proofs:
| valid_discontinuity_policy(@atom) - zero_or_one
.. index:: valid/1 .. _ccsds_packet_services/0::valid/1:
valid/1 ^^^^^^^^^^^
True if the argument is a valid packet-zone term.
| Compilation flags:
| static
| Template:
| valid(PacketZone)
| Mode and number of proofs:
| valid(@compound) - zero_or_one
.. index:: prefix_data/2 .. _ccsds_packet_services/0::prefix_data/2:
prefix_data/2 ^^^^^^^^^^^^^^^^^
Extracts the bytes that precede the first complete packet in a packet zone.
| Compilation flags:
| static
| Template:
| prefix_data(PacketZone,PrefixData)
| Mode and number of proofs:
| prefix_data(+compound,-list(byte)) - one
.. index:: packets/2 .. _ccsds_packet_services/0::packets/2:
packets/2 ^^^^^^^^^^^^^
Extracts the list of complete packets in a packet zone.
| Compilation flags:
| static
| Template:
| packets(PacketZone,Packets)
| Mode and number of proofs:
| packets(+compound,-list(compound)) - one
.. index:: suffix_data/2 .. _ccsds_packet_services/0::suffix_data/2:
suffix_data/2 ^^^^^^^^^^^^^^^^^
Extracts the bytes that trail the last complete packet in a packet zone.
| Compilation flags:
| static
| Template:
| suffix_data(PacketZone,SuffixData)
| Mode and number of proofs:
| suffix_data(+compound,-list(byte)) - one
.. index:: split_packet_zone/4 .. _ccsds_packet_services/0::split_packet_zone/4:
split_packet_zone/4 ^^^^^^^^^^^^^^^^^^^^^^^
Splits a packet-zone byte sequence using the first header pointer and parses any complete packets starting at that offset. A pointer value of 2047 denotes that no packet starts in the zone.
| Compilation flags:
| static
| Template:
| split_packet_zone(Bytes,FirstHeaderPointer,SecondaryHeaderLength,PacketZone)
| Mode and number of proofs:
| split_packet_zone(+list(byte),+integer,+integer,-compound) - one_or_error
.. index:: join_packet_zone/4 .. _ccsds_packet_services/0::join_packet_zone/4:
join_packet_zone/4 ^^^^^^^^^^^^^^^^^^^^^^
Encodes a packet-zone term back into bytes and returns the corresponding first header pointer. When the packet list is empty, the pointer is set to 2047.
| Compilation flags:
| static
| Template:
| join_packet_zone(PacketZone,SecondaryHeaderLength,Bytes,FirstHeaderPointer)
| Mode and number of proofs:
| join_packet_zone(+compound,+integer,-list(byte),-integer) - one_or_error
.. index:: extract_tm_packets/3 .. _ccsds_packet_services/0::extract_tm_packets/3:
extract_tm_packets/3 ^^^^^^^^^^^^^^^^^^^^^^^^
Extracts a TM transfer frame packet zone as a packet-zone term using the frame first header pointer and the given packet secondary header length.
| Compilation flags:
| static
| Template:
| extract_tm_packets(Frame,SecondaryHeaderLength,PacketZone)
| Mode and number of proofs:
| extract_tm_packets(+compound,+integer,-compound) - one_or_error
.. index:: insert_tm_packets/4 .. _ccsds_packet_services/0::insert_tm_packets/4:
insert_tm_packets/4 ^^^^^^^^^^^^^^^^^^^^^^^
Updates a TM transfer frame data field and first header pointer from a packet-zone term while preserving the remaining frame fields unchanged.
| Compilation flags:
| static
| Template:
| insert_tm_packets(PacketZone,SecondaryHeaderLength,Frame,UpdatedFrame)
| Mode and number of proofs:
| insert_tm_packets(+compound,+integer,+compound,-compound) - one_or_error
.. index:: split_aos_packet_zone/3 .. _ccsds_packet_services/0::split_aos_packet_zone/3:
split_aos_packet_zone/3 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Splits an AOS M_PDU packet-service data field into a packet-zone term. The first two octets are interpreted as the M_PDU first header pointer field, where 2046 denotes idle data only and 2047 denotes that no packet starts in the packet zone.
| Compilation flags:
| static
| Template:
| split_aos_packet_zone(Bytes,SecondaryHeaderLength,PacketZone)
| Mode and number of proofs:
| split_aos_packet_zone(+list(byte),+integer,-compound) - one_or_error
.. index:: join_aos_packet_zone/3 .. _ccsds_packet_services/0::join_aos_packet_zone/3:
join_aos_packet_zone/3 ^^^^^^^^^^^^^^^^^^^^^^^^^^
Encodes a packet-zone term as an AOS M_PDU packet-service data field, including the two-octet first header pointer field.
| Compilation flags:
| static
| Template:
| join_aos_packet_zone(PacketZone,SecondaryHeaderLength,Bytes)
| Mode and number of proofs:
| join_aos_packet_zone(+compound,+integer,-list(byte)) - one_or_error
.. index:: reassemble_packet_zone/5 .. _ccsds_packet_services/0::reassemble_packet_zone/5:
reassemble_packet_zone/5 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete packets from a packet-zone term and a prior packet reassembly state, returning any complete packets plus the updated trailing fragment state.
| Compilation flags:
| static
| Template:
| reassemble_packet_zone(PacketZone,SecondaryHeaderLength,State,Packets,UpdatedState)
| Mode and number of proofs:
| reassemble_packet_zone(+compound,+integer,+compound,-list(compound),-compound) - one_or_error
.. index:: extract_aos_packets/3 .. _ccsds_packet_services/0::extract_aos_packets/3:
extract_aos_packets/3 ^^^^^^^^^^^^^^^^^^^^^^^^^
Extracts an AOS transfer frame packet zone as a packet-zone term using the two-octet M_PDU header at the beginning of the frame data field.
| Compilation flags:
| static
| Template:
| extract_aos_packets(Frame,SecondaryHeaderLength,PacketZone)
| Mode and number of proofs:
| extract_aos_packets(+compound,+integer,-compound) - one_or_error
.. index:: insert_aos_packets/4 .. _ccsds_packet_services/0::insert_aos_packets/4:
insert_aos_packets/4 ^^^^^^^^^^^^^^^^^^^^^^^^
Updates an AOS transfer frame data field from a packet-zone term by regenerating the M_PDU first header pointer and packet-zone bytes while preserving the remaining frame fields unchanged.
| Compilation flags:
| static
| Template:
| insert_aos_packets(PacketZone,SecondaryHeaderLength,Frame,UpdatedFrame)
| Mode and number of proofs:
| insert_aos_packets(+compound,+integer,+compound,-compound) - one_or_error
.. index:: reassemble_tm_packets/5 .. _ccsds_packet_services/0::reassemble_tm_packets/5:
reassemble_tm_packets/5 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Extracts the packet zone from a TM transfer frame, using the default throw discontinuity recovery policy, and returns the complete packets plus the updated channel reassembly state.
| Compilation flags:
| static
| Template:
| reassemble_tm_packets(Frame,SecondaryHeaderLength,State,Packets,UpdatedState)
| Mode and number of proofs:
| reassemble_tm_packets(+compound,+integer,+compound,-list(compound),-compound) - one_or_error
.. index:: reassemble_tm_packets/6 .. _ccsds_packet_services/0::reassemble_tm_packets/6:
reassemble_tm_packets/6 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Extracts the packet zone from a TM transfer frame, applies the selected discontinuity recovery policy when frame-count continuity is broken, and returns the complete packets plus the updated channel reassembly state.
| Compilation flags:
| static
| Template:
| reassemble_tm_packets(Frame,SecondaryHeaderLength,Policy,State,Packets,UpdatedState)
| Mode and number of proofs:
| reassemble_tm_packets(+compound,+integer,+atom,+compound,-list(compound),-compound) - one_or_error
.. index:: reassemble_tm_packets/7 .. _ccsds_packet_services/0::reassemble_tm_packets/7:
reassemble_tm_packets/7 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Extracts the packet zone from a TM transfer frame, applies the selected discontinuity recovery policy when frame-count continuity is broken, and returns the complete packets, updated channel reassembly state, and explicit recovery events.
| Compilation flags:
| static
| Template:
| reassemble_tm_packets(Frame,SecondaryHeaderLength,Policy,State,Packets,UpdatedState,Events)
| Mode and number of proofs:
| reassemble_tm_packets(+compound,+integer,+atom,+compound,-list(compound),-compound,-list(compound)) - one_or_error
.. index:: reassemble_tm_frames/5 .. _ccsds_packet_services/0::reassemble_tm_frames/5:
reassemble_tm_frames/5 ^^^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete packets across a sequence of TM transfer frames using the default throw discontinuity recovery policy.
| Compilation flags:
| static
| Template:
| reassemble_tm_frames(Frames,SecondaryHeaderLength,State,Packets,UpdatedState)
| Mode and number of proofs:
| reassemble_tm_frames(+list(compound),+integer,+compound,-list(compound),-compound) - one_or_error
.. index:: reassemble_tm_frames/6 .. _ccsds_packet_services/0::reassemble_tm_frames/6:
reassemble_tm_frames/6 ^^^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete packets across a sequence of TM transfer frames using the selected discontinuity recovery policy.
| Compilation flags:
| static
| Template:
| reassemble_tm_frames(Frames,SecondaryHeaderLength,Policy,State,Packets,UpdatedState)
| Mode and number of proofs:
| reassemble_tm_frames(+list(compound),+integer,+atom,+compound,-list(compound),-compound) - one_or_error
.. index:: reassemble_tm_frames/7 .. _ccsds_packet_services/0::reassemble_tm_frames/7:
reassemble_tm_frames/7 ^^^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete packets across a sequence of TM transfer frames using the selected discontinuity recovery policy and returns any recovery events in frame order.
| Compilation flags:
| static
| Template:
| reassemble_tm_frames(Frames,SecondaryHeaderLength,Policy,State,Packets,UpdatedState,Events)
| Mode and number of proofs:
| reassemble_tm_frames(+list(compound),+integer,+atom,+compound,-list(compound),-compound,-list(compound)) - one_or_error
.. index:: reassemble_aos_packets/5 .. _ccsds_packet_services/0::reassemble_aos_packets/5:
reassemble_aos_packets/5 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Extracts the packet zone from an AOS transfer frame, using the default throw discontinuity recovery policy, and returns the complete packets plus the updated channel reassembly state.
| Compilation flags:
| static
| Template:
| reassemble_aos_packets(Frame,SecondaryHeaderLength,State,Packets,UpdatedState)
| Mode and number of proofs:
| reassemble_aos_packets(+compound,+integer,+compound,-list(compound),-compound) - one_or_error
.. index:: reassemble_aos_packets/6 .. _ccsds_packet_services/0::reassemble_aos_packets/6:
reassemble_aos_packets/6 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Extracts the packet zone from an AOS transfer frame, applies the selected discontinuity recovery policy when frame-count continuity is broken, and returns the complete packets plus the updated channel reassembly state.
| Compilation flags:
| static
| Template:
| reassemble_aos_packets(Frame,SecondaryHeaderLength,Policy,State,Packets,UpdatedState)
| Mode and number of proofs:
| reassemble_aos_packets(+compound,+integer,+atom,+compound,-list(compound),-compound) - one_or_error
.. index:: reassemble_aos_packets/7 .. _ccsds_packet_services/0::reassemble_aos_packets/7:
reassemble_aos_packets/7 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Extracts the packet zone from an AOS transfer frame, applies the selected discontinuity recovery policy when frame-count continuity is broken, and returns the complete packets, updated channel reassembly state, and explicit recovery events.
| Compilation flags:
| static
| Template:
| reassemble_aos_packets(Frame,SecondaryHeaderLength,Policy,State,Packets,UpdatedState,Events)
| Mode and number of proofs:
| reassemble_aos_packets(+compound,+integer,+atom,+compound,-list(compound),-compound,-list(compound)) - one_or_error
.. index:: reassemble_aos_frames/5 .. _ccsds_packet_services/0::reassemble_aos_frames/5:
reassemble_aos_frames/5 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete packets across a sequence of AOS transfer frames using the default throw discontinuity recovery policy.
| Compilation flags:
| static
| Template:
| reassemble_aos_frames(Frames,SecondaryHeaderLength,State,Packets,UpdatedState)
| Mode and number of proofs:
| reassemble_aos_frames(+list(compound),+integer,+compound,-list(compound),-compound) - one_or_error
.. index:: reassemble_aos_frames/6 .. _ccsds_packet_services/0::reassemble_aos_frames/6:
reassemble_aos_frames/6 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete packets across a sequence of AOS transfer frames using the selected discontinuity recovery policy.
| Compilation flags:
| static
| Template:
| reassemble_aos_frames(Frames,SecondaryHeaderLength,Policy,State,Packets,UpdatedState)
| Mode and number of proofs:
| reassemble_aos_frames(+list(compound),+integer,+atom,+compound,-list(compound),-compound) - one_or_error
.. index:: reassemble_aos_frames/7 .. _ccsds_packet_services/0::reassemble_aos_frames/7:
reassemble_aos_frames/7 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete packets across a sequence of AOS transfer frames using the selected discontinuity recovery policy and returns any recovery events in frame order.
| Compilation flags:
| static
| Template:
| reassemble_aos_frames(Frames,SecondaryHeaderLength,Policy,State,Packets,UpdatedState,Events)
| Mode and number of proofs:
| reassemble_aos_frames(+list(compound),+integer,+atom,+compound,-list(compound),-compound,-list(compound)) - one_or_error
(no local declarations; see entity ancestors if any)
(no local declarations; see entity ancestors if any)
(none)