| Did you know ... | Search Documentation: |
| Pack logtalk -- logtalk-3.100.1/docs/apis/_sources/ccsds_tc_services_0.rst.txt |
.. index:: single: ccsds_tc_services .. _ccsds_tc_services/0:
.. rst-class:: right
object
ccsds_tc_servicesHelpers for CCSDS telecommand segment extraction, insertion, and cross-frame TC service reassembly.
| Availability:
| logtalk_load(ccsds_tc_services(loader))
| Author: Paulo Moura | Version: 0:1:0 | Date: 2026-05-08
| Compilation flags:
| static, context_switching_calls
| Uses: | :ref:`list <list/0>` | :ref:`type <type/0>`
| Remarks: | (none)
| Inherited public predicates: | (none)
.. contents:: :local: :backlinks: top
.. index:: valid_segment/1 .. _ccsds_tc_services/0::valid_segment/1:
valid_segment/1 ^^^^^^^^^^^^^^^^^^^
True if the argument is a valid CCSDS telecommand segment term.
| Compilation flags:
| static
| Template:
| valid_segment(Segment)
| Mode and number of proofs:
| valid_segment(@compound) - zero_or_one
.. index:: sequence_flags/2 .. _ccsds_tc_services/0::sequence_flags/2:
sequence_flags/2 ^^^^^^^^^^^^^^^^^^^^
Extracts the telecommand segment sequence flags.
| Compilation flags:
| static
| Template:
| sequence_flags(Segment,SequenceFlags)
| Mode and number of proofs:
| sequence_flags(+compound,-atom) - one
.. index:: map_id/2 .. _ccsds_tc_services/0::map_id/2:
map_id/2 ^^^^^^^^^^^^
Extracts the telecommand service-unit MAP identifier from either a telecommand segment term or a provenance-aware reassembled telecommand service-unit term.
| Compilation flags:
| static
| Template:
| map_id(ServiceUnit,MapId)
| Mode and number of proofs:
| map_id(+compound,-integer) - one
.. index:: valid_map_dispatch/1 .. _ccsds_tc_services/0::valid_map_dispatch/1:
valid_map_dispatch/1 ^^^^^^^^^^^^^^^^^^^^^^^^
True if the argument is a valid MAP-aware dispatch term grouping complete telecommand service units for a single MAP identifier.
| Compilation flags:
| static
| Template:
| valid_map_dispatch(Dispatch)
| Mode and number of proofs:
| valid_map_dispatch(@compound) - zero_or_one
.. index:: dispatch_map_id/2 .. _ccsds_tc_services/0::dispatch_map_id/2:
dispatch_map_id/2 ^^^^^^^^^^^^^^^^^^^^^
Extracts the MAP identifier from a MAP-aware dispatch term.
| Compilation flags:
| static
| Template:
| dispatch_map_id(Dispatch,MapId)
| Mode and number of proofs:
| dispatch_map_id(+compound,-integer) - one
.. index:: dispatch_service_units/2 .. _ccsds_tc_services/0::dispatch_service_units/2:
dispatch_service_units/2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Extracts the complete telecommand service units from a MAP-aware dispatch term.
| Compilation flags:
| static
| Template:
| dispatch_service_units(Dispatch,ServiceUnits)
| Mode and number of proofs:
| dispatch_service_units(+compound,-list(compound)) - one
.. index:: segment_header_suffix/2 .. _ccsds_tc_services/0::segment_header_suffix/2:
segment_header_suffix/2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Extracts the mission-specific segment-header suffix bytes. Returns the empty list when the segment has no mission-specific suffix.
| Compilation flags:
| static
| Template:
| segment_header_suffix(Segment,HeaderSuffix)
| Mode and number of proofs:
| segment_header_suffix(+compound,-list(byte)) - one
.. index:: valid_reassembled_segment/1 .. _ccsds_tc_services/0::valid_reassembled_segment/1:
valid_reassembled_segment/1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
True if the argument is a valid provenance-aware reassembled telecommand service-unit term.
| Compilation flags:
| static
| Template:
| valid_reassembled_segment(ReassembledSegment)
| Mode and number of proofs:
| valid_reassembled_segment(@compound) - zero_or_one
.. index:: segment_header_suffixes/2 .. _ccsds_tc_services/0::segment_header_suffixes/2:
segment_header_suffixes/2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Extracts the ordered list of per-frame mission-specific segment-header suffixes that contributed to a provenance-aware reassembled telecommand service-unit term.
| Compilation flags:
| static
| Template:
| segment_header_suffixes(ReassembledSegment,HeaderSuffixes)
| Mode and number of proofs:
| segment_header_suffixes(+compound,-list(list(byte))) - one
.. index:: segment_data/2 .. _ccsds_tc_services/0::segment_data/2:
segment_data/2 ^^^^^^^^^^^^^^^^^^
Extracts the telecommand segment data bytes.
| Compilation flags:
| static
| Template:
| segment_data(Segment,Data)
| Mode and number of proofs:
| segment_data(+compound,-list(byte)) - one
.. index:: valid_reassembly_state/1 .. _ccsds_tc_services/0::valid_reassembly_state/1:
valid_reassembly_state/1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
True if the argument is a valid telecommand segment 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_tc_services/0::initial_reassembly_state/1:
initial_reassembly_state/1 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Returns the initial telecommand segment reassembly state.
| Compilation flags:
| static
| Template:
| initial_reassembly_state(State)
| Mode and number of proofs:
| initial_reassembly_state(-compound) - one
.. index:: pending_fragments/2 .. _ccsds_tc_services/0::pending_fragments/2:
pending_fragments/2 ^^^^^^^^^^^^^^^^^^^^^^^
Extracts the pending segmented telecommand data fragments keyed by spacecraft, virtual channel, and MAP 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_tc_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:: extract_tc_segment/2 .. _ccsds_tc_services/0::extract_tc_segment/2:
extract_tc_segment/2 ^^^^^^^^^^^^^^^^^^^^^^^^
Extracts a telecommand segment from a telecommand transfer frame using the representation tc_segment(SequenceFlags, MapId, HeaderSuffix, Data). When mission-specific segment headers use multiple octets, only the first octet is interpreted for the standard MAP and sequence semantics and the remaining octets are returned as HeaderSuffix.
| Compilation flags:
| static
| Template:
| extract_tc_segment(Frame,Segment)
| Mode and number of proofs:
| extract_tc_segment(+compound,-compound) - one_or_error
.. index:: insert_tc_segment/3 .. _ccsds_tc_services/0::insert_tc_segment/3:
insert_tc_segment/3 ^^^^^^^^^^^^^^^^^^^^^^^
Updates a telecommand transfer frame from a telecommand segment term by encoding the standard MAP and sequence semantics in the first segment-header octet and preserving any remaining mission-specific segment-header octets.
| Compilation flags:
| static
| Template:
| insert_tc_segment(Segment,Frame,UpdatedFrame)
| Mode and number of proofs:
| insert_tc_segment(+compound,+compound,-compound) - one_or_error
.. index:: reassemble_tc_frame/4 .. _ccsds_tc_services/0::reassemble_tc_frame/4:
reassemble_tc_frame/4 ^^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete telecommand service units from a single telecommand transfer frame using the default throw discontinuity recovery policy.
| Compilation flags:
| static
| Template:
| reassemble_tc_frame(Frame,State,Segments,UpdatedState)
| Mode and number of proofs:
| reassemble_tc_frame(+compound,+compound,-list(compound),-compound) - one_or_error
.. index:: reassemble_tc_frame/5 .. _ccsds_tc_services/0::reassemble_tc_frame/5:
reassemble_tc_frame/5 ^^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete telecommand service units from a single telecommand transfer frame using the selected discontinuity recovery policy.
| Compilation flags:
| static
| Template:
| reassemble_tc_frame(Frame,Policy,State,Segments,UpdatedState)
| Mode and number of proofs:
| reassemble_tc_frame(+compound,+atom,+compound,-list(compound),-compound) - one_or_error
.. index:: reassemble_tc_frame/6 .. _ccsds_tc_services/0::reassemble_tc_frame/6:
reassemble_tc_frame/6 ^^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete telecommand service units from a single telecommand transfer frame using the selected discontinuity recovery policy and returns any recovery events.
| Compilation flags:
| static
| Template:
| reassemble_tc_frame(Frame,Policy,State,Segments,UpdatedState,Events)
| Mode and number of proofs:
| reassemble_tc_frame(+compound,+atom,+compound,-list(compound),-compound,-list(compound)) - one_or_error
.. index:: reassemble_tc_frames/4 .. _ccsds_tc_services/0::reassemble_tc_frames/4:
reassemble_tc_frames/4 ^^^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete telecommand service units across a sequence of telecommand transfer frames using the default throw discontinuity recovery policy.
| Compilation flags:
| static
| Template:
| reassemble_tc_frames(Frames,State,Segments,UpdatedState)
| Mode and number of proofs:
| reassemble_tc_frames(+list(compound),+compound,-list(compound),-compound) - one_or_error
.. index:: reassemble_tc_frames/5 .. _ccsds_tc_services/0::reassemble_tc_frames/5:
reassemble_tc_frames/5 ^^^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete telecommand service units across a sequence of telecommand transfer frames using the selected discontinuity recovery policy.
| Compilation flags:
| static
| Template:
| reassemble_tc_frames(Frames,Policy,State,Segments,UpdatedState)
| Mode and number of proofs:
| reassemble_tc_frames(+list(compound),+atom,+compound,-list(compound),-compound) - one_or_error
.. index:: reassemble_tc_frames/6 .. _ccsds_tc_services/0::reassemble_tc_frames/6:
reassemble_tc_frames/6 ^^^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete telecommand service units across a sequence of telecommand transfer frames using the selected discontinuity recovery policy and returns any recovery events in frame order.
| Compilation flags:
| static
| Template:
| reassemble_tc_frames(Frames,Policy,State,Segments,UpdatedState,Events)
| Mode and number of proofs:
| reassemble_tc_frames(+list(compound),+atom,+compound,-list(compound),-compound,-list(compound)) - one_or_error
.. index:: reassemble_tc_frame_with_provenance/5 .. _ccsds_tc_services/0::reassemble_tc_frame_with_provenance/5:
reassemble_tc_frame_with_provenance/5 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete telecommand service units from a single telecommand transfer frame using the default throw discontinuity recovery policy and returns provenance-aware reassembled service-unit terms.
| Compilation flags:
| static
| Template:
| reassemble_tc_frame_with_provenance(Frame,State,ReassembledSegments,UpdatedState,Events)
| Mode and number of proofs:
| reassemble_tc_frame_with_provenance(+compound,+compound,-list(compound),-compound,-list(compound)) - one_or_error
.. index:: reassemble_tc_frame_with_provenance/6 .. _ccsds_tc_services/0::reassemble_tc_frame_with_provenance/6:
reassemble_tc_frame_with_provenance/6 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete telecommand service units from a single telecommand transfer frame using the selected discontinuity recovery policy and returns provenance-aware reassembled service-unit terms plus any recovery events.
| Compilation flags:
| static
| Template:
| reassemble_tc_frame_with_provenance(Frame,Policy,State,ReassembledSegments,UpdatedState,Events)
| Mode and number of proofs:
| reassemble_tc_frame_with_provenance(+compound,+atom,+compound,-list(compound),-compound,-list(compound)) - one_or_error
.. index:: reassemble_tc_frames_with_provenance/5 .. _ccsds_tc_services/0::reassemble_tc_frames_with_provenance/5:
reassemble_tc_frames_with_provenance/5 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete telecommand service units across a sequence of telecommand transfer frames using the default throw discontinuity recovery policy and returns provenance-aware reassembled service-unit terms.
| Compilation flags:
| static
| Template:
| reassemble_tc_frames_with_provenance(Frames,State,ReassembledSegments,UpdatedState,Events)
| Mode and number of proofs:
| reassemble_tc_frames_with_provenance(+list(compound),+compound,-list(compound),-compound,-list(compound)) - one_or_error
.. index:: reassemble_tc_frames_with_provenance/6 .. _ccsds_tc_services/0::reassemble_tc_frames_with_provenance/6:
reassemble_tc_frames_with_provenance/6 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Reassembles complete telecommand service units across a sequence of telecommand transfer frames using the selected discontinuity recovery policy and returns provenance-aware reassembled service-unit terms plus any recovery events in frame order.
| Compilation flags:
| static
| Template:
| reassemble_tc_frames_with_provenance(Frames,Policy,State,ReassembledSegments,UpdatedState,Events)
| Mode and number of proofs:
| reassemble_tc_frames_with_provenance(+list(compound),+atom,+compound,-list(compound),-compound,-list(compound)) - one_or_error
.. index:: dispatch_service_units_by_map/2 .. _ccsds_tc_services/0::dispatch_service_units_by_map/2:
dispatch_service_units_by_map/2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Groups complete telecommand service-unit terms by MAP identifier, preserving the original service-unit order within each MAP bucket and the first-seen order of MAP buckets. Accepts both telecommand segment terms and provenance-aware reassembled telecommand service-unit terms.
| Compilation flags:
| static
| Template:
| dispatch_service_units_by_map(ServiceUnits,Dispatches)
| Mode and number of proofs:
| dispatch_service_units_by_map(+list(compound),-list(compound)) - one_or_error
.. index:: dispatch_service_units_by_map/3 .. _ccsds_tc_services/0::dispatch_service_units_by_map/3:
dispatch_service_units_by_map/3 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Extracts the complete telecommand service units for a specific MAP identifier from a list of complete telecommand service-unit terms.
| Compilation flags:
| static
| Template:
| dispatch_service_units_by_map(ServiceUnits,MapId,DispatchedServiceUnits)
| Mode and number of proofs:
| dispatch_service_units_by_map(+list(compound),+integer,-list(compound)) - one_or_error
(no local declarations; see entity ancestors if any)
(no local declarations; see entity ancestors if any)
(none)