bocchino 786d123c26 Revise math tutorial
Move MathSender implementation
2021-10-15 13:45:58 -07:00

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