| Did you know ... | Search Documentation: |
| Pack logtalk -- logtalk-3.100.1/docs/apis/_sources/ccsds_frame_protocol_0.rst.txt |
.. index:: single: ccsds_frame_protocol .. _ccsds_frame_protocol/0:
.. rst-class:: right
protocol
ccsds_frame_protocolCCSDS transfer frame parser and generator protocol.
| Availability:
| logtalk_load(ccsds_frames(loader))
| Author: Paulo Moura | Version: 1:0:0 | Date: 2026-05-08
| Compilation flags:
| static
| Dependencies: | (none)
| Remarks: | (none)
| Inherited public predicates: | (none)
.. contents:: :local: :backlinks: top
.. index:: parse/2 .. _ccsds_frame_protocol/0::parse/2:
parse/2 ^^^^^^^^^^^
Parses CCSDS transfer frame(s) from a source. Supported source terms are file(File), stream(Stream), and bytes(Bytes).
| Compilation flags:
| static
| Template:
| parse(Source,Frames)
| Mode and number of proofs:
| parse(+compound,-list(compound)) - one_or_error
.. index:: generate/2 .. _ccsds_frame_protocol/0::generate/2:
generate/2 ^^^^^^^^^^^^^^
Generates CCSDS transfer frame bytes to a sink. Supported sink terms are file(File), stream(Stream), and bytes(Bytes).
| Compilation flags:
| static
| Template:
| generate(Sink,Frames)
| Mode and number of proofs:
| generate(+compound,+list(compound)) - one_or_error
.. index:: generate/3 .. _ccsds_frame_protocol/0::generate/3:
generate/3 ^^^^^^^^^^^^^^
Generates a list of bytes from a single CCSDS transfer frame term with an open tail. When the selected object includes an FECF, the generated bytes use a freshly computed FECF derived from the remaining frame fields.
| Compilation flags:
| static
| Template:
| generate(Frame,Bytes,Tail)
| Mode and number of proofs:
| generate(+compound,-list(byte),--variable) - one_or_error
.. index:: valid/1 .. _ccsds_frame_protocol/0::valid/1:
valid/1 ^^^^^^^^^^^
True if the argument is a valid transfer frame term for the selected object and, when applicable, carries the correct FECF for the remaining frame fields.
| Compilation flags:
| static
| Template:
| valid(Frame)
| Mode and number of proofs:
| valid(@compound) - zero_or_one
.. index:: update_fecf/2 .. _ccsds_frame_protocol/0::update_fecf/2:
update_fecf/2 ^^^^^^^^^^^^^^^^^
Computes the correct frame error control field for the selected object configuration and returns the corresponding updated frame term.
| Compilation flags:
| static
| Template:
| update_fecf(Frame,UpdatedFrame)
| Mode and number of proofs:
| update_fecf(+compound,-compound) - one_or_error
.. index:: verify_fecf/1 .. _ccsds_frame_protocol/0::verify_fecf/1:
verify_fecf/1 ^^^^^^^^^^^^^^^^^
True if the frame term contains the correct FECF for the selected object configuration.
| Compilation flags:
| static
| Template:
| verify_fecf(Frame)
| Mode and number of proofs:
| verify_fecf(@compound) - zero_or_one
.. index:: frame_type/2 .. _ccsds_frame_protocol/0::frame_type/2:
frame_type/2 ^^^^^^^^^^^^^^^^
Returns the transfer frame type for a frame term.
| Compilation flags:
| static
| Template:
| frame_type(Frame,Type)
| Mode and number of proofs:
| frame_type(+compound,-atom) - one
.. index:: version/2 .. _ccsds_frame_protocol/0::version/2:
version/2 ^^^^^^^^^^^^^
Extracts the transfer frame version number.
| Compilation flags:
| static
| Template:
| version(Frame,Version)
| Mode and number of proofs:
| version(+compound,-integer) - one
.. index:: spacecraft_id/2 .. _ccsds_frame_protocol/0::spacecraft_id/2:
spacecraft_id/2 ^^^^^^^^^^^^^^^^^^^
Extracts the spacecraft identifier.
| Compilation flags:
| static
| Template:
| spacecraft_id(Frame,SpacecraftId)
| Mode and number of proofs:
| spacecraft_id(+compound,-integer) - one
.. index:: virtual_channel_id/2 .. _ccsds_frame_protocol/0::virtual_channel_id/2:
virtual_channel_id/2 ^^^^^^^^^^^^^^^^^^^^^^^^
Extracts the virtual channel identifier.
| Compilation flags:
| static
| Template:
| virtual_channel_id(Frame,VirtualChannelId)
| Mode and number of proofs:
| virtual_channel_id(+compound,-integer) - one
.. index:: data_field/2 .. _ccsds_frame_protocol/0::data_field/2:
data_field/2 ^^^^^^^^^^^^^^^^
Extracts the transfer frame data field as a list of bytes.
| Compilation flags:
| static
| Template:
| data_field(Frame,DataField)
| Mode and number of proofs:
| data_field(+compound,-list(byte)) - one
.. index:: ocf/2 .. _ccsds_frame_protocol/0::ocf/2:
ocf/2 ^^^^^^^^^
Extracts the operational control field. Returns none when absent.
| Compilation flags:
| static
| Template:
| ocf(Frame,OCF)
| Mode and number of proofs:
| ocf(+compound,-compound) - one
.. index:: fecf/2 .. _ccsds_frame_protocol/0::fecf/2:
fecf/2 ^^^^^^^^^^
Extracts the frame error control field. Returns none when absent.
| Compilation flags:
| static
| Template:
| fecf(Frame,FECF)
| Mode and number of proofs:
| fecf(+compound,-compound) - one
(none)
(none)
(none)