Table of Contents

Namespace NominalSystems.Classes

Classes

Accelerometer

[Nominal] The accelerometer sensor is able to measure the acceleration of the spacecraft that is being attached to.

Antenna

[Nominal] The antenna is able to handle a connection between two objects, which could be a combination of spacecraft and ground station. Antenna use data and can be connected to power sources. They implement telemetry interfaces and can communicate via packets.

AntennaFrequencyDriftErrorModel

[Nominal] This implements the Frequency Drift error model on an Antenna that will adjust its frequency over time. This frequency is constant and when turned on will continue to drift.

AttitudeAnomalyTrackingSoftware

[Nominal] Defines a detector that detects anomalies within its attitude-determining sensors by comparing the sensors with the gyro sensor or other sensors.

AttitudeReferenceCorrectionSoftware

[Nominal] This module reads in the attitude reference R and applies a fixed rotation to give a corrected reference C. This can be used to modify the reference directly, or to allow a general body-fixed frame Bc to align with the reference R. In the latter case, assume a body frame B, and a corrected body frame Bc which we want to align with frame R. To do this, frame B is aligned with a corrected reference frame C. This module produces the corrected reference frame C such that when B aligns with C, Bc aligns with R.

AttitudeReferenceErrorSoftware

[Nominal] This module is intended to be the last module in the guidance module chain. It’s input is the reference orientation message generated by a prior module, and the body orientation. It’s output is a guidance attitude to align the body frame with the reference. This module allows for a corrected reference frame, or a equivalent corrected reference frame to account for a corrected body frame. In the output AttGuidMessage, the B frame is the (uncorrected) body frame, the R frame is the corrected reference frame (if applicable). See the Attitude Reference Correction Software for details. This module was previously named Attitude Tracking Error Software.

AttitudeReferenceValidationSoftware

[Nominal] This module evaluates whether a pointing task has been achieved within a specified tolerance and enables a connected device if true. This will output whether a particular attitude guidance has been achieved.

Battery

[Nominal] A battery unit can be attached to a power circuit on an entity and is able to store power that can be both charged and discharged out of the system.

BatteryLeakageErrorModel

[Nominal] This class is able to perform a leakage rate on the battery that it is connected to, slowly depleting the battery over time.

BoresightSensor

[Nominal] Defines a support class that can be added to a sensor to perform a range of boresight calculations.

CSSAggregatorSoftware

[Nominal] Defines the software that is able to aggregate multiple CSS sensors into a single coarse sun sensor message that can be created.

Camera

[Nominal] Payload model for the camera that can interface with Unreal and produce images. This class is able to take imagery of different kinds and store the data as byte arrays.

CameraLibrary

[Nominal] A library for handling the mathematical functions for the cameras and lenses used in the simulation. These can calculate other properties such as the field of view, aperture f-stops, and depth of field.

CameraPowerModel

[Nominal] Creates a power model for a camera, which will draw power from the electrical circuit whenever an image is captured.

ChargeCoupledDevice

[Nominal] A CCD (Charge-Coupled Device) is a sensor that captures light by converting photons into electrical charges at each pixel, which are then transferred sequentially to produce a digital image. Known for high image quality, CCDs excel in applications requiring low noise and precise light detection, such as astronomy and professional photography. This sensor is useful for determining the noise at a particular location in the simulation, due to atmospheric and light effects.

CoarseSunSensor

[Nominal] Defines a sensor that is able to detect the orientation of the Sun in reference to the body that implements such a sensor.

CoarseSunSensorArray

[Nominal] Defines a constellation of Coarse Sun Sensors. This is able to handle some of the constellation metrics and produce an output about the total amount of constellation values.

Computer

[Nominal] The default computer class is able to connect up software automatically and create functionality for an object.

ComputerLibrary

[Nominal] A static library for handling the creation of custom commands that can be used for various operation computers and computer classes.

ComputerSoftwareRateErrorModel

[Nominal] This model is able to change the frequency of flight software that has been added to a computer. Any flight software that is added to the computer will have its update frequency changed to the frequency of this model.

ControllerSoftwareChain

[Nominal] Defines a controller chain that takes in an attitude guidance message and outputs a command torque message, either for a reaction wheel or an external torque.

DataConstants

[Nominal] Stores a list of constants useful for the data subsystem

DataStorageMessageWriter

[Nominal] The message logger model is able to log registered messages to the partitioned data storage system. These messages can be retrieved at a later time or can be exported as a CSV file.

DataStorageUnit

[Nominal] The data storage unit is the smallest unit of memory that can be stored on an object. The unit is able to store bytes and save and load these bytes between simulations. Bytes can also be released using reference pointers which can be created between the data storage unit and other objects.

DragEffector

[Nominal] A drag effector is able to affect the forces and torques on a spacecraft as it moves through an atmosphere. This effector can be used for simple fixed drag models or more complex lookup table models.

EarthHorizonSensor

[Nominal] Calculates "roll" and "pitch" error to earth horizon from it's field of view

ElectromagneticSensor

[Nominal] Detects any electromagnetic signatures in the simulation and is able to report them to a message.

EphemerisGeodeticTranslationSoftware

[Nominal] The ephemeris geodetic translation software is able to convert a standard ephemeris message into a geodetic message, including the latitude, longitude, altitude and PCPF frame about some body.

EphemerisOrbitalTranslationSoftware

[Nominal] The ephemeris orbital translation software is able to convert a standard ephemeris message into an orbital message, including the six Keplerian elements and the period of the orbit.

ExternalForceTorque

[Nominal] Allows the user to apply an external torque and/or force to a body by specifying the force and torque on the input messages in the body and inertial frames.

ExternalPowerSource

[Nominal] The external power source provides a constant power without changing at a particular wattage.

ExternalTorqueMappingSoftwareChain

[Nominal] This class is able to map the control of the system to an external torque dynamic effector associated with the spacecraft

FuelSource

[Nominal] Base class for 'FuelSource' types. This component is a container for fuel and applies energy momentum contributions to the spacecraft. It also calculates the mass flow between components.

FuelSourceCentrifugalBurnModel

[Nominal] A Centrifugal Burn 'FuelSource' Model

FuelSourceConstantDensityModel

[Nominal] A Constant Density 'FuelSource' Model

FuelSourceConstantVolumeModel

[Nominal] A Constant Volume 'FuelSource' Model

FuelSourceEmptyingModel

[Nominal] A Emptying 'FuelSource' Model

FuelSourceModel

[Nominal] Base class for Fuel source models that are added to the fuel source for calculating the fuel.

FuelSourceUniformBurnModel

[Nominal] A Uniform Burn 'FuelSource' Model

GPSSensor

[Nominal] A global positioning system (GPS) sensor that can be used to determine the current position of the satellite based on the GPS constellation. This can be converted to a navigation message as well as a GPS coordinates around a particular body. This sensor will assume that a GPS constellation is initialised with a set of Two Line Element satellites.

GeodeticEphemerisTranslationSoftware

This software converts a latitude, longitude, altitude value (geodetic) coordinate about a planet to an acceptable ephemeris message.

Gimbal

[Nominal] The Gimbal class provides a single 1-axial gimbal that allows for a component attached to be rotated about a fixed axis. The gimbal will rotate about its local Up-vector, which is a yaw rotation. The gimbal does not move horizontally and does not perform any physical calculations. This means that it will not contribute to the changes in the mass properties of the spacecraft or any torques applied to the spacecraft’s overall orientation. Objects attached to the gimbal will be rotated at the pivot point (the local origin) and gimbals can be stacked for multidimensional rotations. Physics-based estimates, such as forces and moment of inertia calculations are not calculated. As such, the gimbal should be used as a proof of concept design before moving to a more advanced and accurate system, such as the Hinged Rigid Body (HRB) component.

GlobalPositioningSystem

[Nominal] The GPS (global positioning system) constellation system is able to provide positioning information about a particular constellation of GPS spacecraft that are initialised.

GravityGradientEffector

[Nominal] This module implements a first order gravity gradient torque acting on a spacecraft. It is written in a general manner such that one or more gravitational objects are considered. This allows a continued simulation to apply gravity gradients torque near the Earth, the moon and onwards to Mars.

GroundEphemerisTranslationSoftware

[Nominal] This software converts a Ground Station's ground state message to an ephemeris message.

GroundLocationPointingSoftware

[Nominal] This module is used to generate the attitude reference message in order to have a spacecraft point at a location on the ground

GroundPointingSoftwareChain

[Nominal] This pointing chain is able to direct the guidance computer to orient the spacecraft towards a ground station on a planet. This will require a ground states to connect to, which can come from a ground station.

GroundSensorCommandComparer

Custom comparer for GroundSensorCommandPacket that orders commands first by their timestamp (including sub-second precision), and if the timestamps are equal, by their priority flags.

GroundSensorCommandPacket

Represents a command packet for tasking a ground sensor.

GroundSensorComputer

[Nominal] The ground sensor operation computer is a high level computer that can communicate with all systems onboard a ground sensor. It is able to interface with the pointing and sensor and produce commands that the

GroundSensorOperationsComputer

[Nominal] The ground sensor operation computer is a high level computer that can communicate with all systems onboard a ground sensor. It is able to interface with the pointing and sensor and produce commands that the

GroundStationAccessSoftware

[Nominal] A class that is used for calculating ground station access to a body. This works for any ephemeris message, that can be computed in inertial space.

GuidanceComputer

[Nominal] A guidance computer can be added to a spacecraft which can control the guidance modes of the software. This is useful for having different behaviours, making use of the Guidance Software Chain Sequence.

GuidanceSoftwareChainSequence

[Nominal] Defines a software chain sequence for the guidance computer that is able to switch between different software chain types.

Gyroscope

[Nominal] The gyroscope class is able to detect the change in orientation and the estimated current orientation of the spacecraft.

HRBTorqueMappingSoftware

[Nominal] Calculates a motor torque to drive a hinged panel to a reference angle state. A sensed and reference hinged rigid body angle drives a simple PD control law.

HeatmapCamera

[Nominal] This specific heatmap camera is able to view scaled views such as Infra-Red, Mass or other parameters that exist on the spacecraft components.

HingedRigidBody

[Nominal] This component models hinged rigid body that is a physical component attached to a spacecraft body. Other physical components maybe added to this component to inherit its state properties. It may be contributed by a motor object.

IdleControllerSoftwareChain

[Nominal] This software chain defines an idle controller chain which produces an empty message and sends it to the control loop.

InertialPointingSoftware

[Nominal] This attitude guidance module computes an inertially fixed reference frame with an optional fixed attitude rotation.

InertialPointingSoftwareChain

[Nominal] A pointing software chain that enables pointing in a particular reference frame towards a specific direction.

Instrument

[Nominal] An instrument is a source of data and can output data from a particular sensor or some form of output. The data can be read from but cannot store data. As such, only the most recent data is visible from the system.

IntermittentConnectionErrorModel

[Nominal] The Intermittent Connection Error Model can be added to any physical component on an entity, and is used as a part of the power system. It allows for the simulation of faulty connections between electrical components causing an open circuit.

MRPControllerSoftwareChain

This software chain defines the controller for the MRP feedback, which can get some reaction wheels and pass the control into the feedback PID loop.

MRPFeedbackControlSoftware

[Nominal] This module provides a general MRP feedback control law. This 3-axis control can asymptotically track a general reference attitude trajectory. The module is setup to work with or without N reaction wheels with general orientation. If the reaction wheel states are fed into this module, then the resulting RW gyroscopic terms are compensated for. If the wheel information is not present, then these terms are ignored.

MTBDipoleMappingSoftware

[Nominal] Defines the dipole mapping software. This module takes a desired torque to control the spacecraft, and maps it to a magnetic torque bar array.

MTBFeedforwardMappingSoftware

[Nominal] This module calculates the torque produced by an array of magnetic torque bars (MTB) and applies it to the current body torque command as a feedforward term.

MagneticTorqueBar

[Nominal] This component models a singular magnetic torque bar. These magnetic torque bars can be added as children of Magnetic Torque Bar arrays.

MagneticTorqueBarArray

[Nominal] Holds the functionality for a Magnetic Torque Rod that can interact with the magnetic field.

MagneticTorqueBarArrayHysteresisErrorModel

[Nominal] The hysteresis error model creates a timed history error on the magnetic torque bars.

MagneticTorqueBarMappingSoftwareChain

This mapping chain defines the magnetic torque bar mapping which uses the magnetometer and magnetic torque bar (MTB) array to determine the torque of the bars based on an input command.

Magnetometer

[Nominal] Class for the Three Axis Magnetometer (TAM) sensor that is able to detect the magnetic field of the craft.

MappingSoftwareChain

Defines a mapping chain that takes in a request for torque and creates the torque command loaded into a valid controller. This could be a reaction wheel array or an external force torque module.

NadirPointingSoftware

[Nominal] This attitude guidance module computes the orbital Hill reference frame states. The orbit can be any type of Keplerian motion, including circular, elliptical or hyperbolic. This is also known as Hill Pointing software. The LVLH coordinate system is defined by the unit vectors {i_r, i_theta, i_h}, with radial vector i_r, angular momentum vector i_h = r^ x v^, and azimuthal vector i_theta to complete the triad.

NadirPointingSoftwareChain

[Nominal] This pointing chain is able to direct the guidance computer to orient the spacecraft towards pointing at the orbiting body in a Nadir (straight-down) orientation. This is useful for imaging and other communication modes. This will also align to the LVLH frame in the direction of motion.

NavigationSoftwareChain

[Nominal] Defines a navigation chain that is able to produce some translational and attitude estimate for the current position and rotation for the spacecraft.

ObjectEphemerisTranslationSoftware

[Nominal] This software converts any objects' transform message to an ephemeris message for tracking purposes.

OpticalReceiver

[Nominal] An optical receiver is able to have a line of sight that is affected by the laser link that is set. The optical receiver is a form of a laser receiver that is able to receive data from a laser transmitter.

OpticalTransmitter

[Nominal] The optical transmitter is a form of a transmitter that is able to use optical communication to transmit data to a receiver. This is similar to a laser link and can communicate via light.

OpticalTransmitterAlignmentErrorModel

[Nominal] This implements an optical alignment error model on the laser transmitter that adjusts the alignment of the transmitter emitter to be out of aligned by some degree.

PartitionedDataStorage

[Nominal] The partitioned data storage unit acts as a hard-drive for storing data on an object. The unit is able to have clusters of data units, with a maximum amount of storage available within each unit. The storage system can partition the data units into groups for easier access management and storage.

PartitionedDataStorageBitFlippingErrorModel

[Nominal] The 'BitFlipping' model for the 'PartitionedDataStorage' component will randomly flip bits on the partitioned data storage system. This will allow for the storage of data to be incorrect at a particular probability.

PartitionedDataStorageDataLossErrorModel

[Nominal] The 'DataLoss' model for the 'PartitionedDataStorage' component will randomly delete data from the storage system at a particular time interval.

PartitionedDataStorageLockupErrorModel

[Nominal] The 'Lockup' model for the 'PartitionedDataStorage' component will randomly lockup some of the storage models in the system and will prevent them from being written to.

PlanetEphemerisTranslationSoftware

[Nominal] This software simply converts a planet state message into an Ephemeris message that can be used for navigation systems.

PointingSoftwareChain

Defines a pointing chain that takes in a navigator that exists on a spacecraft's computer and outputs a guidance message that can be read via a MRP controller or feedback loop.

PowerBus

[Nominal] The Power Bus is a component that can be attached to an object that controls the power system on-board the entity. It allows for power to flow from a battery unit, into a series of nodes. All components that are power related must attach to this component.

PowerComponent

[Nominal] A component that can be attached to the power system and is able to have a created power model.

PowerCurrentLimiter

[Nominal] A current limiter is able to disable a part of the circuit when the current exceeds a threshold.

PowerFuse

[Nominal] A power fuse is able to flick a switch, disabling a circuit when a current exceeds a threshold.

PowerManager

[Nominal] The power manager is able to manipulate a connected EPS bus based on some inputs from a message. This can be connected to a software or user interface to adjust manual properties of the circuit.

PowerMonitor

[Nominal] A power monitor is able to produce metrics from the power system and allow for enabling and disabling of particular component powers.

PowerSink

[Nominal] A power sink is a component that can be added to the power bus system and is able to consume power.

PowerSource

[Nominal] A power source is a component that can be added to the power bus system and is able to provide power that can charge up a storage unit, such as a battery.

PowerSourceUnsteadyErrorModel

[Nominal] The 'Unsteady' model for the 'PowerSource' component that will flicker the model to be valid and invalid.

PowerSwitch

[Nominal] A power switch is able to control the circuit it is connected to based on user input.

RWEncoderSoftware

[Nominal] This module encodes RW telemetry into reaction wheel speeds. This will encode the signals from the reaction wheels based on the status.

RWMomentumControlSoftware

[Nominal] This module calculates a body frame torque required to dump momentum stored in a reaction wheel array.

RWNullSpaceMappingSoftware

[Nominal] This module uses the Reaction Wheel (RW) null space to slow down the wheels. The resulting motor torques are superimposed on top of the attitude feedback control RW motor torques.

RWTorqueMappingSoftware

[Nominal] Defines the software for the reaction wheel motor torque. This module maps a desired torque to control the spacecraft, and maps it to the available wheels using a minimum norm inverse fit. Previously named ReactionWheelMotorTorqueSoftware.

RWVoltageMappingSoftware

[Nominal] This module assumes a set of voltages are sent to the RW motors to control their speed. It includes a simple voltage dead-band.

ReactionWheel

[Nominal] This component models a singular reaction wheel. These reaction wheels can be added as children of Reaction Wheel Arrays.

ReactionWheelArray

[Nominal] This component models a reaction wheel array connected to a rigid body. Reaction wheel arrays may be constructed from three different model: balanced wheels, simple jitter, and fully-coupled imbalanced wheels.

ReactionWheelArrayPowerModel

[Nominal] This model creates a map between motor voltage commands and the resulting load on the parent's electrical sub-system. It is a component model that can attach to a reaction wheel to provide the power draw from a system.

ReactionWheelArrayThermalModel

[Nominal] This particular thermal model is able to attach to a thermal model on the reaction wheel array and is able to set the thermal properties of the wheels based on the wheel speeds.

ReactionWheelMappingSoftwareChain

This mapping chain defines the simple reaction wheel software chain for a basic reaction wheel controller, that can update the reaction wheel with the result of a torque command.

Receiver

[Nominal] This class handles the receiving of data from a Link Block and can read the data and submit it to some kind of data storage. The receiver can decode messages stored and return them as values ready for use.

ReceiverInterferenceErrorModel

[Nominal] This implements an interference model that adjusts the number of packets that are corrupted due to interference.

ReceiverMessageWriterModel

[Nominal] This implements a model on the receiver that can be connected to a partitioned storage system and is able to write the received messages to the storage.

RelativePointingSoftware

[Nominal] This software takes the vector that points from the spacecraft to target object and calculates the orientation, angular velocity and angular acceleration of this vector with respect to the inertial reference frame in inertial reference frame components and passes them to the attitude tracking error module, where that attitude error can be calculated.

RelativePointingSoftwareChain

[Nominal] This pointing chain is able to direct the guidance computer to orient the spacecraft towards another object in orbit. This could be another spacecraft, a planet, or any generic object that exists.

Sensor

[Nominal] A base class for a sensor module that exists on an object. A sensor is able to determine some data but does not affect the dynamics of the object attached to.

SimpleNavigationSoftware

[Nominal] Simple navigation model used to provide error-ed truth (or truth). This class is used to perturb the truth state away using a gauss-Markov error model. It is designed to look like a random walk process put on top of the nominal position, velocity, attitude, and attitude rate. This is meant to be used in place of the nominal navigation system output.

SimpleNavigationSoftwareChain

This software chain defines the simple navigator for the navigator chain, to create the navigation for the computer.

Software

[Nominal] A base class for creating some form of software that can act on an object of some kind. This will emulate a piece of flight software or conversion software.

SolarPanel

[Nominal] A solar panel can produce power from incident sunlight absorbed by the surface of the panel. Sunlight is able to be calculated both from the direction of the sun and any planetary albedo reflection. The power is dependent on the angle the solar panel is to the sources, its area and the efficiency of the panel.

SolarPanelDegradationErrorModel

[Nominal] The 'Degradation' model for the 'SolarPanel' component that adjusts the efficiency over time.

SolarRadiationPressure

[Nominal] The solar radiation pressure module is able to create a force and torque on the spacecraft based on the effect of solar radiation on the particular object.

SpacecraftEphemerisTranslationSoftware

[Nominal] This software converts a Spacecraft's body state message to an ephemeris message, as well as a navigation translation message.

SpacecraftGeodeticTranslationSoftware

[Nominal] This module is used to convert the inertial position and velocity into PCPF coordinates.

SpacecraftOperationComputer

[Nominal] The operation computer is a high level computer that can communicate with all systems onboard a spacecraft. It is able to interface with the EPS, telemetry and Attitude systems and produce commands that the Guidance Computer can use. Commands must be transmitted with a key of 'commands' for the computer to read and execute the command.

StarTracker

[Nominal] A star tracker sensor simulates noise over the top of a navigation state to emulate how a typical star tracker may work.

SunEstimationNavigationSoftwareChain

This software chain is able to use the coarse sun sensor constellations, that may exist on the spacecraft, to estimate the direction that the sun is is based on the sensors and an Extended Kalman Filter (EKF). This will produce a more realistic estimate of spacecraft attitude than a typical simple navigator will. The translation, however, is just used from the simple navigator module.

SunPointingSoftwareChain

A software chain to point a spacecraft at the sun in the direction of a solar panel if it exists. If a solar panel does not exist, then this chain will direct the spacecraft's up vector towards the sun instead.

SunSafePointingSoftware

[Nominal] This module provides the attitude guidance output for a sun pointing mode. This is used for safe mode, or a power generation mode. The input is the sun direction vector which does not have to be normalized, as well as the body rate information. The output is the standard attitude reference state message. The sun direction measurement is cross with the desired body axis that is to point at the sun to create a principle rotation vector. The dot product between these two vectors is used to extract the principal rotation angle. With these a tracking error MRP state is computer. The body rate tracking errors relative to the reference frame are set equal to the measured body rates to bring the vehicle to rest when pointing at the sun. Thus, the reference angular rate and acceleration vectors relative to the inertial frame are nominally set to zero. If the sun vector is not available, then the reference rate is set to a body-fixed value while the attitude tracking error is set to zero.

SunlineEKFNavigationSoftware

[Nominal] This module provides a state estimation routine for a coarse sun sensor constellation using an Extended Kalman Filter (EKF).

SyntheticApertureRADAR

[Nominal] The Synthetic Aperture RADAR (SAR) class is able to detect the presence of objects within the simulation. This requires a RADAR sensor to be attached to the spacecraft or ground object and will produce maps and textures when the sensor is active and is using a visualization engine.

TAMEncoderSoftware

[Nominal] Defines the software that is able to compute the body frame magnetometer data from the sensor frame magnetometer data.

TelemetrySystem

[Nominal] The telemetry system handles the interactions between transmitters and receivers by creating the link blocks between each of the antenna nodes. This ensures that the appropriate links are created and altered if the bandwidths or frequency ranges change.

Thruster

[Nominal] The thruster class is able to provide thrust to the spacecraft which can be used for orbit maneuvers.

ThrusterArray

[Nominal] The thruster array is a collection of thrusters that can be used to control the spacecraft. It has a collective configuration message that is able to determine the overall thrust of the system. The Thrusters are not required to have a thruster array, but if multiple thrusters are present, it is recommended to have a thruster array to control them.

ThrusterControlSoftware

[Nominal] Defines the thruster controller software. This module takes a desired torque to control the spacecraft, and maps it to an array of thrusters.

ThrusterFuelModel

[Nominal] A component model that is added onto a component to enable fuel consumption properties such as a thruster.

ThrusterMathLibrary

[NominalSystems] A collection of mathematical functions

ThrusterRamp

[Nominal] Evaluate thrust's ON/OFF curves

ThrusterRemainderMappingSoftware

[Nominal] Defines the thruster mapping software. This module takes a desired torque to control the spacecraft, and maps it to an array of thrusters.

ThrusterSchmittMappingSoftware

[Nominal] Defines the thruster mapping software. This module takes a desired torque to control the spacecraft, and maps it to an array of thrusters.

TorqueDipoleConversionSoftware

[Nominal] Defines the software that maps between torque commands to dipoles for an object with magnetic torque rods. The dipoles are a magnetic moment that can be used by an object for pointing methods.

TrackingMount

[Nominal] The tracking mount is a component that can be added to a ground station to track a spacecraft, or space object. It takes in an access message, with an elevation and azimuth, and is able to rotate on itself to track the object. It will move any child objects with it, and can be used to track objects in the sky.

Transmitter

[Nominal] This class handles the transmitting of data from some data source and can send out the data to a LinkedBlock that can communicate it over the ether. This requires a connection to some form of receiver.

TransmitterPacketCorruptionErrorModel

[Nominal] This implements a data loss model which adjusts the fraction that the transmitter looses data. This will corrupt data produced by the transmitter.

TransmitterPowerModel

[Nominal] This model creates a mapping between the transmitter producing some transmission with a decibel level and the power system. This enables the drawing of power.

TransmitterStorageModel

[Nominal] This implements a model on the transmitter that can be connected to a partitioned storage system and pulls data from the buffer and attempts to transmit the messages whenever in access.

VelocityAccumulationTrackingSoftware

[Nominal] This software is able to determine the accumulation of velocity based on the accelerometer sensor data. This will output a navigation translation message with the velocity outputted from the data.

VelocityPointingSoftware

[Nominal] This attitude guidance module computes the velocity pointing reference frame state. The orbit can be any type of Keplerian motion, including circular, elliptical or hyperbolic. The velocity coordinate system is defined by the unit vectors {i_n, i_v, i_h}, with velocity vector i_v, angular momentum vector i_h = r^ x v^, and normal vector i_n to complete the triad.

VelocityPointingSoftwareChain

[Nominal] The velocity pointing software chain is a software chain that is able to align the spacecraft with the velocity vector of motion.

VoltageTorqueConversionSoftware

[Nominal] This module translates incoming voltage commands into torques commands. This was previously the Motor Voltage Device Interface class.

Structs

DataPacket

[Nominal] This struct stores information about a particular packet within a sequence of packets. This packet will contain some data in a form of raw bytes and will also have a header information including the name of the object that was decoded, the packet number and the index of the next packet. If there are no next packets, this will be recorded as an invalid index. The packet also includes a checksum that can be used to evaluate if any errors exist before the decoding is made.

DataPointer

[Nominal] This structure defines a simulated pointer for a data unit. This includes the starting location (pointer) and size of the data that is being stored.

GPSState

[Nominal] The GPS state will define the state of a particular GPS satellite from the GPS constellation system. This can be used to determine the data for a particular GPS sensor.

LightTarget

[Nominal] A light target defines an object with a specific size and reflective properties that can be used to determine the light that is emitted or bounced off of the object.

PartitionedDataPointer

[Nominal] This structure defines a simulated pointer for a partition of data. This includes the partition the data is located in, the pointer to within that data and also the number of bytes this data includes.

VoltagePowerLookup

[Nominal] Voltage-Power lookup table support structure for storing data for a particular set of voltage and power.

Wire

[Nominal] This structure defines a wire that connects two nodes in a power circuit.

Interfaces

IPayload

[Nominal] This interface is used to define a payload that can be used to 'Capture' data of some kind and send the data as a byte array that can be sent over a network or stored in a file.

IPowerInterface

[Nominal] This interface is used to mark a class as a power interface, which can be used for the power bus and any component that requires power.

Enums

FuelSourceModelType

[Nominal] Defines the fuel model type for the fuel source. This will define the fuel types and how they will be used in the simulation.

SensorFaultType

[Nominal] Defines the output definition for component availability for any sensor. This can be used by certain sensors to obstruct the value that is produced by the sensor.

TerminalType

[Nominal] Defines the terminal type for a sensor or wire. This is either the positive or negative terminal of the sensor or wire.