mirror of
https://github.com/nasa/fprime.git
synced 2025-12-12 18:31:06 -06:00
81 lines
2.3 KiB
C++
81 lines
2.3 KiB
C++
// ======================================================================
|
|
// \title MathSenderImpl.hpp
|
|
// \author tcanham, bocchino
|
|
// \brief hpp file for MathSender component implementation class
|
|
//
|
|
// \copyright
|
|
// Copyright 2009-2021, by the California Institute of Technology.
|
|
// ALL RIGHTS RESERVED. United States Government Sponsorship
|
|
// acknowledged.
|
|
//
|
|
// ======================================================================
|
|
|
|
#ifndef Ref_MathSender_HPP
|
|
#define Ref_MathSender_HPP
|
|
|
|
#include "Ref/MathSender/MathSenderComponentAc.hpp"
|
|
|
|
namespace Ref {
|
|
|
|
class MathSender :
|
|
public MathSenderComponentBase
|
|
{
|
|
|
|
public:
|
|
|
|
// ----------------------------------------------------------------------
|
|
// Construction, initialization, and destruction
|
|
// ----------------------------------------------------------------------
|
|
|
|
//! Construct object MathSender
|
|
//!
|
|
MathSender(
|
|
const char *const compName //!< The component name
|
|
);
|
|
|
|
//! Initialize object MathSender
|
|
//!
|
|
void init(
|
|
const NATIVE_INT_TYPE queueDepth, //!< The queue depth
|
|
const NATIVE_INT_TYPE instance = 0 //!< The instance number
|
|
);
|
|
|
|
//! Destroy object MathSender
|
|
//!
|
|
~MathSender();
|
|
|
|
PRIVATE:
|
|
|
|
// ----------------------------------------------------------------------
|
|
// Handler implementations for user-defined typed input ports
|
|
// ----------------------------------------------------------------------
|
|
|
|
//! Handler implementation for mathResultIn
|
|
//!
|
|
void mathResultIn_handler(
|
|
const NATIVE_INT_TYPE portNum, //!< The port number
|
|
F32 result //!< the result of the operation
|
|
);
|
|
|
|
PRIVATE:
|
|
|
|
// ----------------------------------------------------------------------
|
|
// Command handler implementations
|
|
// ----------------------------------------------------------------------
|
|
|
|
//! Implementation for DO_MATH command handler
|
|
//! Do a math operation
|
|
void DO_MATH_cmdHandler(
|
|
const FwOpcodeType opCode, //!< The opcode
|
|
const U32 cmdSeq, //!< The command sequence number
|
|
F32 val1, //!< The first value
|
|
MathOp operation, //!< The operation to perform
|
|
F32 val2 //!< The second value
|
|
);
|
|
|
|
};
|
|
|
|
} // end namespace Ref
|
|
|
|
#endif
|