Module: navAggregate

This module takes in a series of navigation messages and constructs a navigation output message using a select subset of information from the input messages. For more information see the PDF Description.


Defines

MAX_AGG_NAV_MSG

Functions

void SelfInit_aggregateNav(NavAggregateData *configData, int64_t moduleID)

This method initializes the configData for the nav aggregation algorithm. It initializes the output messages in the messaging system.

Return

void

Parameters
  • configData: The configuration data associated with the Nav aggregation interface

void CrossInit_aggregateNav(NavAggregateData *configData, int64_t moduleID)

This method performs the second stage of initialization for the nav aggregration interface. For each configured input message, it subscribes to the associated target message and saves the ID.

Return

void

Parameters
  • configData: The configuration data associated with the aggregate nav interface

void Update_aggregateNav(NavAggregateData *configData, uint64_t callTime, int64_t moduleID)

This method takes the navigation message snippets created by the various navigation components in the FSW and aggregates them into a single complete navigation message.

Return

void

Parameters
  • configData: The configuration data associated with the aggregate nav module

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

void Reset_aggregateNav(NavAggregateData *configData, uint64_t callTime, int64_t moduleID)

This resets the module to original states.

Return

void

Parameters
  • configData: The configuration data associated with this module

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

  • moduleID: The ID associated with the configData

struct AggregateAttInput
#include <navAggregate.h>

structure containing the attitude navigation message name, ID and local buffer

Public Members

char inputNavName[MAX_STAT_MSG_LENGTH]

The name of the input message

int32_t inputNavID

Sensor IDs tied to the input name

NavAttIntMsg msgStorage
struct AggregateTransInput
#include <navAggregate.h>

structure containing the translational navigation message name, ID and local buffer

Public Members

char inputNavName[MAX_STAT_MSG_LENGTH]

The name of the input message

int32_t inputNavID

Sensor IDs tied to the input name

NavTransIntMsg msgStorage
struct NavAggregateData
#include <navAggregate.h>

Top level structure for the aggregagted navigation message module.

Public Members

AggregateAttInput attMsgs[MAX_AGG_NAV_MSG]

[-] The incoming nav message buffer

AggregateTransInput transMsgs[MAX_AGG_NAV_MSG]

[-] The incoming nav message buffer

char outputAttName[MAX_STAT_MSG_LENGTH]

The name of the input message

char outputTransName[MAX_STAT_MSG_LENGTH]

The name of the input message

uint32_t attTimeIdx

[-] The index of the message to use for attitude message time

uint32_t transTimeIdx

[-] The index of the message to use for translation message time

uint32_t attIdx

[-] The index of the message to use for inertial MRP

uint32_t rateIdx

[-] The index of the message to use for attitude rate

uint32_t posIdx

[-] The index of the message to use for inertial position

uint32_t velIdx

[-] The index of the message to use for inertial velocity

uint32_t dvIdx

[-] The index of the message to use for accumulated DV

uint32_t sunIdx

[-] The index of the message to use for sun pointing

uint32_t attMsgCount

[-] The total number of messages available as inputs

uint32_t transMsgCount

[-] The total number of messages available as inputs

int32_t navTransOutMsgID

[-] The ID associated with the outgoing message

int32_t navAttOutMsgID

[-] The ID associated with the outgoing message

BSKLogger *bskLogger

BSK Logging.