Test - Integrate - Control

Variable String & Octet Parameters

It is now possible to define the presence and size of the length field of variable-length string and octet parameters on a per-parameter basis

Variable length strings and octets (PUS types 7,0 and 8,0) typically start with a length field to indicate how many bytes are in the string. The ECSS PUS standard requires this to be configurable. For example the length field may be one byte, allowing a string of up to 255 characters; while two bytes would permit a string length 65535 bytes. Modern satellites are permitting longer packets, and these frequently have to carry payload data that might include memory load, file transfer or embedded packets.

Until now the system supported configuration of the size of the length field as follows:

  • TM/vblParamLengthBytes (default 1, allowed 1,2,4)
  • TC/vblParamLengthBytes (default 0, allowed 0,1,2,4)

These settings covered 7,0 and 8,0 parameters in TM and TC packets for the whole system. The value 0 in TC means no length field is inserted; this is compatible with the SCOS2000 default for TC, and yet SCOS2000 did not support variable length parameters in TM at all.

The system-wide setting was not flexible enough to cover all cases; for example different subsystems or equipment may have different treatment of variable length strings, and so we might want to make specific exceptions to the system-wide default.

It is now possible to define the "length of the length field" on a per-parameter basis; this is done by creating two new fields in the MIB

PCF_VPLB - for a TM parameter
CDF_VPLB - for a TC parameter

In both cases, if unspecified, then the current system-wide setting is used. The letters "VPLB" stand for "Variable Parameter Length Bytes"

The new fields are described in full in the "MIB Compatibility" section of the user manual.