Module: cssComm

Executive Summary

This module is responsible for correcting the raw CSS output values to the expected cosine values. This requires a pre-calibrated Chebyshev residual model which calculates the expected deviation from the expected CSS cosine output given a raw CSS measurement at a given distance from the sun. More information on 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.

Module I/O Messages

Msg Variable Name

Msg Type

Description

sensorListInMsg

CSSArraySensorMsgPayload

input message that contains CSS data

cssArrayOutMsg

CSSArraySensorMsgPayload

output message of corrected CSS data


Defines

MAX_NUM_CHEBY_POLYS

Functions

void SelfInit_cssProcessTelem(CSSConfigData *configData, int64_t moduleID)

This method initializes the configData for theCSS sensor interface. It checks to ensure that the inputs are sane and then creates the output message

Parameters:
  • configData – The configuration data associated with the CSS sensor interface

  • moduleID – The ID associated with the configData

Returns:

void

void Update_cssProcessTelem(CSSConfigData *configData, uint64_t callTime, int64_t moduleID)

This method takes the raw sensor data from the coarse sun sensors and converts that information to the format used by the CSS nav.

Parameters:
  • configData – The configuration data associated with the CSS interface

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

  • moduleID – The ID associated with the configData

Returns:

void

void Reset_cssProcessTelem(CSSConfigData *configData, uint64_t callTime, int64_t moduleID)

This method performs a complete reset of the module. Local module variables that retain time varying states between function calls are reset to their default values.

Parameters:
  • configData – The configuration data associated with the guidance module

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

  • moduleID – The ID associated with the configData

Returns:

void

struct CSSConfigData
#include <cssComm.h>

Top level structure for the CSS sensor interface system. Contains all parameters for the CSS interface.

Public Members

uint32_t numSensors

The number of sensors we are processing.

CSSArraySensorMsg_C sensorListInMsg

input message that contains CSS data

CSSArraySensorMsg_C cssArrayOutMsg

output message of corrected CSS data

CSSArraySensorMsgPayload inputValues

Input values we took off the messaging system.

double maxSensorValue

Scale factor to go from sensor values to cosine.

uint32_t chebyCount

Count on the number of chebyshev polynominals we have.

double kellyCheby[MAX_NUM_CHEBY_POLYS]

Chebyshev polynominals to fit output to cosine.

BSKLogger *bskLogger

BSK Logging.