Module: ephemDifference

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.

More information can be found in the PDF Description.


Defines

MAX_NUM_CHANGE_BODIES

Functions

void SelfInit_ephemDifference(EphemDifferenceData *configData, int64_t moduleID)

This method creates the output ephemeris messages for each body.

Return

void

Parameters
  • configData: The configuration data associated with the ephemeris model

  • moduleID: The module identification integer

void CrossInit_ephemDifference(EphemDifferenceData *configData, int64_t moduleID)

This method subscribes to the body ephemeris messages which will be augmented relative to another base frame.

Return

void

Parameters
  • configData: The configuration data associated with the ephemeris model

  • moduleID: The module identification integer

void Update_ephemDifference(EphemDifferenceData *configData, uint64_t callTime, int64_t moduleID)

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

Return

void

Parameters
  • configData: The configuration data associated with the ephemeris model

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

  • moduleID: The module identification integer

void Reset_ephemDifference(EphemDifferenceData *configData, uint64_t callTime, int64_t moduleID)

This method resets the module.

Return

void

Parameters
  • configData: The configuration data associated with the ephemeris model

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

  • moduleID: The module identification integer

struct EphemChangeConfig
#include <ephemDifference.h>

Container with paired input/output message names and IDs.

Public Members

char ephInMsgName[MAX_STAT_MSG_LENGTH]

[-] Input name for the ephemeris message

int32_t ephInMsgId

[-] Input message ID for ephemeris

char ephOutMsgName[MAX_STAT_MSG_LENGTH]

[-] The name converted output message

int32_t ephOutMsgId

[-] Ephemeris output message ID

struct EphemDifferenceData
#include <ephemDifference.h>

Container holding ephemDifference module variables.

Public Members

char ephBaseInMsgName[MAX_STAT_MSG_LENGTH]

Name of the 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

int32_t ephBaseInMsgId

[-] The ID associated with the incoming clock correlation

BSKLogger *bskLogger

BSK Logging.