Logtalk APIs Logo
3.100.0

Contents

  • Libraries
    • adaptive_boosting_classifier
    • agglomerative_clusterer
    • amqp
    • anomaly_detection_protocols
    • application
    • apriori_pattern_miner
    • arbitrary
    • arrangements
    • assertions
    • assignvars
    • avro
    • base32
    • base58
    • base64
    • base85
    • bayesian_ridge_regression
    • borda_ranker
    • bradley_terry_ranker
    • c45_classifier
    • cartesian_products
    • cbor
    • ccsds_frames
    • ccsds_link_profiles
      • ccsds_link_profiles
    • ccsds_packet_services
    • ccsds_packetization
    • ccsds_packets
    • ccsds_tc_services
    • ccsds_time_codes
    • ccsds_time_fields
    • character_sets
    • classification_protocols
    • clo_span_pattern_miner
    • clustering_protocols
    • code_metrics
    • colley_ranker
    • combinations
    • command_line_options
    • copeland_ranker
    • core
    • coroutining
    • crs_projections
    • csv
    • cuid2
    • cusum_anomaly_detector
    • datalog
    • dates
    • dates_tz
    • dbscan_clusterer
    • dead_code_scanner
    • debug_messages
    • debugger
    • dependents
    • deques
    • derangements
    • diagrams
    • dictionaries
    • dif
    • dimension_reduction_protocols
    • doclet
    • eclat_pattern_miner
    • edcg
    • elastic_net_regression
    • elo_ranker
    • events
    • ewma_anomaly_detector
    • expand_library_alias_paths
    • expecteds
    • fcube
    • flags
    • format
    • fp_growth_pattern_miner
    • frequent_pattern_mining_protocols
    • gaussian_mixture_clusterer
    • gaussian_process_regression
    • genint
    • gensym
    • geohash
    • geojson
    • geospatial
    • git
    • glicko2_periodic_ranker
    • glicko2_ranker
    • gradient_boosting_classifier
    • gradient_boosting_regression
    • grammars
    • graphs
    • gsp_pattern_miner
    • hashes
    • hdbscan_clusterer
    • heaps
    • help
    • hierarchical_clustering
    • hierarchies
    • hmac
    • hodge_rank
    • hook_flows
    • hook_objects
    • html
    • ica_projection
    • ids
    • ieee_754
    • intervals
    • iqr_anomaly_detector
    • iso8601
    • iso_13616
    • iso_3166
    • iso_4217
    • iso_639
    • iso_9362
    • isolation_forest_anomaly_detector
    • issue_creator
    • java
    • json
    • json_ld
    • json_lines
    • json_pointer
    • json_rpc
    • json_schema
    • kcenters_clusterer
    • kemeny_young_ranker
    • kernel_pca_projection
    • kernel_svm_classifier
    • kmeans_clusterer
    • kmedians_clusterer
    • kmedoids_clusterer
    • kmodes_clusterer
    • knn_classifier
    • knn_distance_anomaly_detector
    • knn_regression
    • kprototypes_clusterer
    • ksuid
    • lasso_regression
    • lda_classifier
    • lda_projection
    • lgtdoc
    • lgtunit
    • library
    • linda
    • linear_algebra
    • linear_regression
    • linear_svm_classifier
    • linter_reporter
    • listing
    • lof_anomaly_detector
    • logging
    • logistic_regression_classifier
    • loops
    • massey_ranker
    • mcp_server
    • memcached
    • message_pack
    • meta
    • meta_compiler
    • metagol
    • mime_types
    • modified_z_score_anomaly_detector
    • multisets
    • mutation_testing
    • mutations
    • naive_bayes_classifier
    • nanoid
    • nearest_centroid_classifier
    • nested_dictionaries
    • nmea
    • nmf_projection
    • optics_clusterer
    • optionals
    • options
    • os
    • packs
    • partitions
    • pattern_mining_protocols
    • pca_projection
    • pddl_parser
    • permutations
    • plackett_luce_last_ranker
    • plackett_luce_ranker
    • pls_projection
    • ports_profiler
    • prefix_span_pattern_miner
    • probabilistic_pca_projection
    • process
    • protobuf
    • qda_classifier
    • queues
    • random
    • random_forest_classifier
    • random_forest_regression
    • random_projection
    • rank_centrality
    • ranked_pairs
    • ranking_protocols
    • reader
    • recorded_database
    • redis
    • regression_protocols
    • regression_tree
    • regularized_bradley_terry_ranker
    • ridge_regression
    • sarif
    • sbom
    • schulze_ranker
    • sequential_pattern_mining_protocols
    • sets
    • sgd_classifier
    • simulated_annealing
    • snowflakeid
    • sockets
    • spade_pattern_miner
    • statistics
    • stemming
    • stomp
    • string_distance
    • strings
    • subsequences
    • term_io
    • thurstone_mosteller_ranker
    • time_scales
    • timeout
    • tle_orbits
    • toml
    • tool_diagnostics
    • toon
    • toychr
    • truncated_svd_projection
    • tsv
    • tutor
    • types
    • tzif
    • ulid
    • union_find
    • url
    • uuid
    • validations
    • verdi_neruda
    • wkt_wkb
    • wrapper
    • xml_parser
    • yaml
    • z_score_anomaly_detector
    • zippers
  • Directories
  • Entities
  • Predicates
  • Core diagram
  • Libraries diagram
  • Tools diagram
  • Ports diagram
  • Contributions diagram
  • Index

External Contents

  • Handbook
  • Logtalk website
  • GitHub repo
Logtalk APIs
  • Libraries
  • ccsds_link_profiles
  • View page source

object

ccsds_link_profiles

Ergonomic 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:
ccsds_packet_services
Remarks:
(none)
Inherited public predicates:
(none)
  • Public predicates

    • valid_profile/1

    • parse_frame/3

    • parse_frames/3

    • generate_frame/3

    • generate_frames/3

    • valid_reassembly_state/1

    • initial_reassembly_state/1

    • pending_fragments/2

    • valid_discontinuity_policy/1

    • extract_packets/4

    • insert_packets/5

    • reassemble_packets/6

    • reassemble_packets/7

    • reassemble_packets/8

    • reassemble_frames/6

    • reassemble_frames/7

    • reassemble_frames/8

  • Protected predicates

  • Private predicates

  • Operators

Public predicates

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

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)

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)

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)

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)

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

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

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

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

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)

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)

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

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

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

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

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

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

Protected predicates

(no local declarations; see entity ancestors if any)

Private predicates

(no local declarations; see entity ancestors if any)

Operators

(none)

Previous Next

© Copyright 1998-2026, Paulo Moura.

Built with Sphinx using a theme provided by Read the Docs.