| Did you know ... | Search Documentation: |
| Pack logtalk -- logtalk-3.100.1/docs/apis/_sources/ccsds_link_profiles_0.rst.txt |
.. index:: single: ccsds_link_profiles .. _ccsds_link_profiles/0:
.. rst-class:: right
object
ccsds_link_profilesErgonomic wrappers around the CCSDS TM, TC, and AOS frame objects using explicit profile terms.
| Availability:
| logtalk_load(ccsds_link_profiles(loader))
| Author: Paulo Moura | Version: 0:1:0 | Date: 2026-05-09
| Compilation flags:
| static, context_switching_calls
| Uses: | :ref:`ccsds_packet_services <ccsds_packet_services/0>`
| Remarks: | (none)
| Inherited public predicates: | (none)
.. contents:: :local: :backlinks: top
.. index:: valid_profile/1 .. _ccsds_link_profiles/0::valid_profile/1:
valid_profile/1 ^^^^^^^^^^^^^^^^^^^
True if the argument is a supported CCSDS link profile term.
| Compilation flags:
| static
| Template:
| valid_profile(Profile)
| Mode and number of proofs:
| valid_profile(@compound) - zero_or_one
.. index:: parse_frame/3 .. _ccsds_link_profiles/0::parse_frame/3:
parse_frame/3 ^^^^^^^^^^^^^^^^^
Parses exactly one CCSDS transfer frame from a source using a link profile term. Supported source terms are file(File), stream(Stream), and bytes(Bytes).
| Compilation flags:
| static
| Template:
| parse_frame(Source,Profile,Frame)
| Mode and number of proofs:
| parse_frame(+compound,+compound,-compound) - one_or_error
| Exceptions:
| Source is a variable:
| instantiation_error
| Profile is a variable:
| instantiation_error
| Profile is neither a variable nor a supported link profile term:
| domain_error(ccsds_link_profile,Profile)
| Source does not contain exactly one frame for the selected profile:
| domain_error(ccsds_single_frame_source,Source)
.. index:: parse_frames/3 .. _ccsds_link_profiles/0::parse_frames/3:
parse_frames/3 ^^^^^^^^^^^^^^^^^^
Parses zero or more CCSDS transfer frames from a source using a link profile term. Supported source terms are file(File), stream(Stream), and bytes(Bytes).
| Compilation flags:
| static
| Template:
| parse_frames(Source,Profile,Frames)
| Mode and number of proofs:
| parse_frames(+compound,+compound,-list(compound)) - one_or_error
| Exceptions:
| Source is a variable:
| instantiation_error
| Profile is a variable:
| instantiation_error
| Profile is neither a variable nor a supported link profile term:
| domain_error(ccsds_link_profile,Profile)
.. index:: generate_frame/3 .. _ccsds_link_profiles/0::generate_frame/3:
generate_frame/3 ^^^^^^^^^^^^^^^^^^^^
Generates exactly one CCSDS transfer frame to a sink using a link profile term. Supported sink terms are file(File), stream(Stream), and bytes(Bytes).
| Compilation flags:
| static
| Template:
| generate_frame(Sink,Profile,Frame)
| Mode and number of proofs:
| generate_frame(+compound,+compound,+compound) - one_or_error
| Exceptions:
| Sink is a variable:
| instantiation_error
| Profile is a variable:
| instantiation_error
| Frame is a variable:
| instantiation_error
| Profile is neither a variable nor a supported link profile term:
| domain_error(ccsds_link_profile,Profile)
| Frame is neither a variable nor a valid frame term for the selected profile:
| domain_error(ccsds_frame_term,Frame)
.. index:: generate_frames/3 .. _ccsds_link_profiles/0::generate_frames/3:
generate_frames/3 ^^^^^^^^^^^^^^^^^^^^^
Generates zero or more CCSDS transfer frames to a sink using a link profile term. Supported sink terms are file(File), stream(Stream), and bytes(Bytes).
| Compilation flags:
| static
| Template:
| generate_frames(Sink,Profile,Frames)
| Mode and number of proofs:
| generate_frames(+compound,+compound,+list(compound)) - one_or_error
| Exceptions:
| Sink is a variable:
| instantiation_error
| Profile is a variable:
| instantiation_error
| Frames is a variable:
| instantiation_error
| Profile is neither a variable nor a supported link profile term:
| domain_error(ccsds_link_profile,Profile)
| Frames is neither a variable nor a list of valid frame terms for the selected profile:
| domain_error(ccsds_frame_terms,Frames)
.. index:: valid_reassembly_state/1 .. _ccsds_link_profiles/0::valid_reassembly_state/1:
valid_reassembly_state/1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
True if the argument is a valid TM/AOS channel packet reassembly state term for the profile-level packet reassembly predicates.
| 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_link_profiles/0::initial_reassembly_state/1:
initial_reassembly_state/1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Returns the initial TM/AOS channel packet reassembly state for the profile-level packet reassembly predicates.
| Compilation flags:
| static
| Template:
| initial_reassembly_state(State)
| Mode and number of proofs:
| initial_reassembly_state(-compound) - one
.. index:: pending_fragments/2 .. _ccsds_link_profiles/0::pending_fragments/2:
pending_fragments/2 ^^^^^^^^^^^^^^^^^^^^^^^
Returns the non-empty pending packet fragments currently buffered per TM or AOS virtual channel.
| Compilation flags:
| static
| Template:
| pending_fragments(State,PendingFragments)
| Mode and number of proofs:
| pending_fragments(+compound,-list(compound)) - one_or_error
.. index:: valid_discontinuity_policy/1 .. _ccsds_link_profiles/0::valid_discontinuity_policy/1:
valid_discontinuity_policy/1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
True if the argument is a valid packet reassembly 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:: extract_packets/4 .. _ccsds_link_profiles/0::extract_packets/4:
extract_packets/4 ^^^^^^^^^^^^^^^^^^^^^
Extracts the TM first-header-pointer packet zone or the AOS M_PDU packet zone from a TM or AOS frame using the selected link profile and packet secondary header length.
| Compilation flags:
| static
| Template:
| extract_packets(Profile,SecondaryHeaderLength,Frame,PacketZone)
| Mode and number of proofs:
| extract_packets(+compound,+integer,+compound,-compound) - one_or_error
| Exceptions:
| Profile is a variable:
| instantiation_error
| SecondaryHeaderLength is a variable:
| instantiation_error
| Frame is a variable:
| instantiation_error
| Profile is neither a variable nor a supported link profile term:
| domain_error(ccsds_link_profile,Profile)
| Profile is a telecommand profile and therefore does not support packet extraction:
| domain_error(ccsds_packet_link_profile,Profile)
| Frame is neither a variable nor a valid frame term for the selected profile:
| domain_error(ccsds_frame_term,Frame)
.. index:: insert_packets/5 .. _ccsds_link_profiles/0::insert_packets/5:
insert_packets/5 ^^^^^^^^^^^^^^^^^^^^
Regenerates the TM first-header-pointer packet zone or the AOS M_PDU packet zone for a TM or AOS frame using the selected link profile and packet secondary header length.
| Compilation flags:
| static
| Template:
| insert_packets(Profile,SecondaryHeaderLength,PacketZone,Frame,UpdatedFrame)
| Mode and number of proofs:
| insert_packets(+compound,+integer,+compound,+compound,-compound) - one_or_error
| Exceptions:
| Profile is a variable:
| instantiation_error
| SecondaryHeaderLength is a variable:
| instantiation_error
| PacketZone is a variable:
| instantiation_error
| Frame is a variable:
| instantiation_error
| Profile is neither a variable nor a supported link profile term:
| domain_error(ccsds_link_profile,Profile)
| Profile is a telecommand profile and therefore does not support packet insertion:
| domain_error(ccsds_packet_link_profile,Profile)
| Frame is neither a variable nor a valid frame term for the selected profile:
| domain_error(ccsds_frame_term,Frame)
.. index:: reassemble_packets/6 .. _ccsds_link_profiles/0::reassemble_packets/6:
reassemble_packets/6 ^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete packets from a single TM or AOS transfer frame using the default throw discontinuity recovery policy.
| Compilation flags:
| static
| Template:
| reassemble_packets(Profile,SecondaryHeaderLength,Frame,State,Packets,UpdatedState)
| Mode and number of proofs:
| reassemble_packets(+compound,+integer,+compound,+compound,-list(compound),-compound) - one_or_error
.. index:: reassemble_packets/7 .. _ccsds_link_profiles/0::reassemble_packets/7:
reassemble_packets/7 ^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete packets from a single TM or AOS transfer frame using the selected discontinuity recovery policy.
| Compilation flags:
| static
| Template:
| reassemble_packets(Profile,SecondaryHeaderLength,Frame,Policy,State,Packets,UpdatedState)
| Mode and number of proofs:
| reassemble_packets(+compound,+integer,+compound,+atom,+compound,-list(compound),-compound) - one_or_error
.. index:: reassemble_packets/8 .. _ccsds_link_profiles/0::reassemble_packets/8:
reassemble_packets/8 ^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete packets from a single TM or AOS transfer frame using the selected discontinuity recovery policy and returns any recovery events.
| Compilation flags:
| static
| Template:
| reassemble_packets(Profile,SecondaryHeaderLength,Frame,Policy,State,Packets,UpdatedState,Events)
| Mode and number of proofs:
| reassemble_packets(+compound,+integer,+compound,+atom,+compound,-list(compound),-compound,-list(compound)) - one_or_error
.. index:: reassemble_frames/6 .. _ccsds_link_profiles/0::reassemble_frames/6:
reassemble_frames/6 ^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete packets across a sequence of TM or AOS transfer frames using the default throw discontinuity recovery policy.
| Compilation flags:
| static
| Template:
| reassemble_frames(Profile,SecondaryHeaderLength,Frames,State,Packets,UpdatedState)
| Mode and number of proofs:
| reassemble_frames(+compound,+integer,+list(compound),+compound,-list(compound),-compound) - one_or_error
.. index:: reassemble_frames/7 .. _ccsds_link_profiles/0::reassemble_frames/7:
reassemble_frames/7 ^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete packets across a sequence of TM or AOS transfer frames using the selected discontinuity recovery policy.
| Compilation flags:
| static
| Template:
| reassemble_frames(Profile,SecondaryHeaderLength,Frames,Policy,State,Packets,UpdatedState)
| Mode and number of proofs:
| reassemble_frames(+compound,+integer,+list(compound),+atom,+compound,-list(compound),-compound) - one_or_error
.. index:: reassemble_frames/8 .. _ccsds_link_profiles/0::reassemble_frames/8:
reassemble_frames/8 ^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete packets across a sequence of TM or AOS transfer frames using the selected discontinuity recovery policy and returns any recovery events.
| Compilation flags:
| static
| Template:
| reassemble_frames(Profile,SecondaryHeaderLength,Frames,Policy,State,Packets,UpdatedState,Events)
| Mode and number of proofs:
| reassemble_frames(+compound,+integer,+list(compound),+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)