Main Page | Modules | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

PUSTelemetryPacket Class Reference
[Packet Utilization Standard (PUS)Telemetry Management]

#include <PUSTelemetryPacket.h>

Inheritance diagram for PUSTelemetryPacket:

TelemetryPacket CC_RootObject DC_DummyPUSTelemetryPacket DC_PUSDataReportingPacket DC_PUSTcVerificationPacket PUSMemoryDump DC_PUSMemoryDumpAbsolute DC_PUSMemoryDumpOffset List of all members.

Detailed Description

Base class from which all PUS telemetry packet classes are derived.

A PUS telemetry packet class encapsulate a packet of telemetry data that is compliant with the Packet Utilization Stadard (PUS). PUS telemetry packet classes are organized as telemetry packets in the sense that this class extends class TelemetryPacket. Class TelemetryPacket defines a data acquisition service to acquire a stream of telemetry bytes. From the point of view of the PUSTelemetryPacket class, this stream of bytes represent the source data part of the PUS packet encapsulated by the class. The mapping between the attributes defined by the TelemetryPacket superclass and the attributes mandated by the PUS is as follows:<ul> The packet ID PUS attribute has a fixed value for all telemetry packet originating from the same application process and it is therefore implemented as a static attribute. The service type PUS attribute is mapped to the telemetry packet type attribute of the TelemetryPacket class. The service subtype PUS attribute is mapped to the telemetry packet subtype attribute of the TelemetryPacket class. The destination PUS attribute is mapped to the telemetry packet destination attribute of the TelemetryPacket class. The time PUS attribute is mapped to the telemetry packet time tag attribute of the TelemetryPacket class. Since most telemetry packets in an application can be expected to have the same destination, this class also defines a static default destination attribute.

Author:
Alessandro Pasetti (P&P Software GmbH)
Version:
1.0

Definition at line 49 of file PUSTelemetryPacket.h.

Public Member Functions

 PUSTelemetryPacket (void)
 Instantiate a PUS telemetry packet component.

virtual void setType (TD_TelemetryType tmType)
 Setter method for the telemetry packet type.

virtual void setSubType (TD_TelemetrySubType tmSubType)
 Setter method for the telemetry packet sub-type.

virtual void setDestination (TD_TelemetryDestination tmDest)
 Setter method for the telemetry packet destination.

virtual TD_TelemetryType getType (void) const
 Getter method for the telemetry type.

virtual TD_TelemetrySubType getSubType (void) const
 Getter method for the telemetry sub-type.

virtual TD_ObsTime getTimeTag (void) const
 Getter method for the telemetry packet time tag.

virtual void setTimeTag (TD_ObsTime timeTag)
 Setter method for the telemetry packet time tag.

virtual TD_TelemetryDestination getDestination (void) const
 Getter method for the telemetry packet destination.

virtual bool isObjectConfigured (void)
 Perform a class-specific configuration check on the telemetry packet: verify that the type, the sub type, the destination, the time tag, and the packet identifier have a legal value.


Static Public Member Functions

void setApplicationId (TD_APID apid)
 Setter method for the application identifier (APID).

TD_PUSPacketId getPacketId (void)
 Getter method for the telemetry packet identifier.

TD_TelemetryDestination getDefaultDestination (void)
 Getter method for the telemetry packet default destination.

void setDefaultDestination (TD_TelemetryDestination defDest)
 Setter method for the telemetry packet default destination.

void setObsClock (ObsClock *pObsClock)
 Load the OBS Clock component.

ObsClockgetObsClock (void)
 Return the OBS Clock component.


Constructor & Destructor Documentation

PUSTelemetryPacket::PUSTelemetryPacket void   ) 
 

Instantiate a PUS telemetry packet component.

The telemetry attributes are set as follows:

  • The telemetry time tag is set to a non-legal value to indicate that the telemetry packet component is not yet configured
  • The telemetry type is set to a non-legal value to indicate that the telemetry component is not yet configured
  • The telemetry subtype is set to a non-legal value to indicate that the telemetry packet component is not yet configured
  • The telemetry destination is set equal to the default destination
Note that the packet identifier (a static attribute) is initialized to an illegal value to indicate that the component is not yet initialized.

Definition at line 22 of file PUSTelemetryPacket.cpp.


Member Function Documentation

TD_TelemetryDestination PUSTelemetryPacket::getDefaultDestination void   )  [static]
 

Getter method for the telemetry packet default destination.

Returns:
the telemetry packet default destination

Definition at line 44 of file PUSTelemetryPacket.cpp.

TD_TelemetryDestination PUSTelemetryPacket::getDestination void   )  const [virtual]
 

Getter method for the telemetry packet destination.

Returns:
the telemetry packet destination

Reimplemented from TelemetryPacket.

Definition at line 79 of file PUSTelemetryPacket.cpp.

ObsClock * PUSTelemetryPacket::getObsClock void   )  [static]
 

Return the OBS Clock component.

See also:
setObsClock
Returns:
the OBS Clock component.

Definition at line 89 of file PUSTelemetryPacket.cpp.

TD_PUSPacketId PUSTelemetryPacket::getPacketId void   )  [static]
 

Getter method for the telemetry packet identifier.

The telemetry packet identifier is assumed to be fixed for all telemetry packets in the same application process. According to the PUS, the packet identifier consists of the following four fields:

  • The version number: this field is fixed and equal to 0
  • The type: this field is fixed and equal to 0
  • The data field header: this field is fixed and equal to 1 (indicating that a telemetry packet always has a secondary header)
  • The application ID: this field is fixed within the application process and it is equal to the application identifier
See also:
setApplicationId
Returns:
the packet identifier

Definition at line 29 of file PUSTelemetryPacket.cpp.

TD_TelemetrySubType PUSTelemetryPacket::getSubType void   )  const [virtual]
 

Getter method for the telemetry sub-type.

Returns:
the telemetry sub-type

Reimplemented from TelemetryPacket.

Definition at line 59 of file PUSTelemetryPacket.cpp.

TD_ObsTime PUSTelemetryPacket::getTimeTag void   )  const [virtual]
 

Getter method for the telemetry packet time tag.

Returns:
the telemetry packet time

Reimplemented from TelemetryPacket.

Definition at line 69 of file PUSTelemetryPacket.cpp.

TD_TelemetryType PUSTelemetryPacket::getType void   )  const [virtual]
 

Getter method for the telemetry type.

Returns:
the telemetry sub-type

Reimplemented from TelemetryPacket.

Definition at line 49 of file PUSTelemetryPacket.cpp.

bool PUSTelemetryPacket::isObjectConfigured void   )  [virtual]
 

Perform a class-specific configuration check on the telemetry packet: verify that the type, the sub type, the destination, the time tag, and the packet identifier have a legal value.

Returns:
true if the component is configured, false otherwise.

Reimplemented from CC_RootObject.

Reimplemented in DC_PUSDataReportingPacket, and PUSMemoryDump.

Definition at line 99 of file PUSTelemetryPacket.cpp.

void PUSTelemetryPacket::setApplicationId TD_APID  apid  )  [static]
 

Setter method for the application identifier (APID).

The APID is used to construct the telemetry packet identifier. The APID is placed in the 11 least-significant bits of the PUS packet identifier. A pseudo-code implementation for this method is as follows:

      packetId = 2**11;           // set the fixed part of the packet ID
      packetId = packetId + apid; // set the APID part of the packet ID 
The APID should be smaller than 2**11.
See also:
getPacketId
Parameters:
apid the identifier of the application generating the telemetry packet

Definition at line 33 of file PUSTelemetryPacket.cpp.

void PUSTelemetryPacket::setDefaultDestination TD_TelemetryDestination  defDest  )  [static]
 

Setter method for the telemetry packet default destination.

Parameters:
defDest the telemetry packet default destination

Definition at line 39 of file PUSTelemetryPacket.cpp.

void PUSTelemetryPacket::setDestination TD_TelemetryDestination  tmDest  )  [virtual]
 

Setter method for the telemetry packet destination.

Parameters:
tmDest telemetry packet destination

Reimplemented from TelemetryPacket.

Definition at line 84 of file PUSTelemetryPacket.cpp.

void PUSTelemetryPacket::setObsClock ObsClock pObsClock  )  [static]
 

Load the OBS Clock component.

Telemetry packets may need access to this component in order to time-stamp the telemetry data as they are collected.

Parameters:
pObsClock the OBS Clock component.

Definition at line 94 of file PUSTelemetryPacket.cpp.

void PUSTelemetryPacket::setSubType TD_TelemetrySubType  tmSubType  )  [virtual]
 

Setter method for the telemetry packet sub-type.

Parameters:
tmSubType the telemetry packet sub-type

Reimplemented from TelemetryPacket.

Definition at line 64 of file PUSTelemetryPacket.cpp.

void PUSTelemetryPacket::setTimeTag TD_ObsTime  timeTag  )  [virtual]
 

Setter method for the telemetry packet time tag.

Parameters:
timeTag the telemetry packet time tag

Reimplemented from TelemetryPacket.

Definition at line 74 of file PUSTelemetryPacket.cpp.

void PUSTelemetryPacket::setType TD_TelemetryType  tmType  )  [virtual]
 

Setter method for the telemetry packet type.

Parameters:
tmType the telemetry packet type

Reimplemented from TelemetryPacket.

Definition at line 54 of file PUSTelemetryPacket.cpp.


The documentation for this class was generated from the following files:
Copyright 2003 P&P Software GmbH - All Rights Reserved