ephemDifference#

Executive Summary#

This module reads in the position and velocity of multiple orbital bodies and outputs position and velocity of each body relative to a single other orbital body position and velocity. Up to 10 input ephemeris messages can be connected.

More information can be found in the PDF Description.

Message Connection Descriptions#

The following table lists all the module input and output messages. The module msg connection is set by the user from python. The msg type contains a link to the message structure definition, while the description provides information on what this message is used for.

../../../../../_images/moduleImgEphemDifference.svg

Figure 1: ephemDifference() Module I/O Illustration#

Module I/O Messages#

Msg Variable Name

Msg Type

Description

ephBaseInMsg

EphemerisMsgPayload

base ephemeris input message name

ephInMsg

EphemerisMsgPayload

ephemeris input message to be converted, stored in changeBodies[i]

ephOutMsg

EphemerisMsgPayload

converted ephemeris output message, stored in changeBodies[i]

Class EphemDifference#

class EphemDifference : public SysModel#

Container holding ephemDifference module variables.

Public Functions

void updateState(uint64_t callTime) override#

This method recomputes the body positions and velocities relative to the base body ephemeris and writes out updated ephemeris position and velocity for each body.

Parameters:

callTime – The clock time at which the function was called (nanoseconds)

Returns:

void

void reset(uint64_t callTime) override#

This method resets the module.

Parameters:

callTime – The clock time at which the function was called (nanoseconds)

Returns:

void

Public Members

ReadFunctor<EphemerisMsgPayload> ephBaseInMsg#

base ephemeris input message name

EphemChangeConfig changeBodies[MAX_NUM_CHANGE_BODIES]#

[-] The list of bodies to change out

uint32_t ephBdyCount#

[-] The number of ephemeris bodies we are changing

BSKLogger bskLogger = {}#

BSK Logging.