API Reference

Overview

This section provides a list of public APIs for all PUSopen® software modules (Section 2.2). The user shall only use the base header file <pusopen/pusopen.h>, which includes all other necessary header files.

Warning

The APIs of the PUSopen® stack are not thread-safe.

Public APIs

Table 14 PUSopen® Public APIs

API

Description

po_init

Initialize PUSopen.

po_set_apid

Set current APID.

po_set_apuid

Set current APUID.

po_set_pus13_upload_chunk_size

po_set_pus13_download_chunk_size

po_set_ps_checksum_type

po_set_fess_instance

po_set_fess_encoding

po_set_fess_asm

po_set_fess_asm_len

po_set_vc_instance

po_set_vc_mux_table

po_add_event

po_add_custom_function

po_add_obparam

po_add_observable_params

po_add_observable_obparams_fess

po_add_hkreport

po_triggerPus1()

Process (validate and extract) next received TM/TC.

po_triggerPus3()

Next cycle of TM[3,25] generation.

po_triggerPus13()

Create next TM[13,x] report (next chunk of dataset).

po_sendTm()

Create new TM.

po_sendTc()

Create new TC.

po_triggerPs()

Validate and extract next received CCSDS packet.

po_triggerVc()

Validate and extract next received CCSDS Transfer Frame.

po_accept()

po_acceptN

po_available

po_availableN

po_frame

po_frameN

po_frameVc

po_flushVc

po_pus1notify

po_pus5tm

po_pus13Downlink

po_pus13Uplink

po_pus13Abort

po_pus13IsUplink

po_pus13IsDownlink

po_sendTc

po_sendTm

po_set_callback_tm

po_set_callback_tc

po_set_callback_time

po_set_callback_pkt_seq

po_set_callback_tm_seq

po_set_callback_subnet_request

po_set_callback_subnet_indication

po_routing_parse_record

po_routing_clear

po_routing_add

po_routing

po_set_callback_debug

po_debug_msg

po_debug_u1

po_debug_u2

po_debug_msg_on

po_debug_msg_off

po_debug_print_record

Public Macros

Table 15 PUSopen® Public Macros

Macro

Description

CURRENT_APID

CURRENT_APUID

PO_CREATE_CONFIG

PO_CREATE_FESS