// ====================================================================== // \title ActiveTest.cpp // \author tiffany // \brief cpp file for ActiveTest component implementation class // ====================================================================== #include "ActiveTest.hpp" #include #include "FppTest/component/active/SerialPortIndexEnumAc.hpp" // ---------------------------------------------------------------------- // Construction, initialization, and destruction // ---------------------------------------------------------------------- ActiveTest :: ActiveTest( const char *const compName ) : ActiveTestComponentBase(compName) { } ActiveTest :: ~ActiveTest() { } // ---------------------------------------------------------------------- // Handler implementations for user-defined typed input ports // ---------------------------------------------------------------------- void ActiveTest :: arrayArgsAsync_handler( const NATIVE_INT_TYPE portNum, const FormalParamArray &a, FormalParamArray &aRef ) { this->arrayArgsOut_out(portNum, a, aRef); } void ActiveTest :: enumArgsAsync_handler( const NATIVE_INT_TYPE portNum, const FormalParamEnum &en, FormalParamEnum &enRef ) { this->enumArgsOut_out(portNum, en, enRef); } void ActiveTest :: noArgsAsync_handler( const NATIVE_INT_TYPE portNum ) { this->noArgsOut_out(portNum); } void ActiveTest :: primitiveArgsAsync_handler( const NATIVE_INT_TYPE portNum, U32 u32, U32 &u32Ref, F32 f32, F32 &f32Ref, bool b, bool &bRef ) { this->primitiveArgsOut_out( portNum, u32, u32Ref, f32, f32Ref, b, bRef ); } void ActiveTest :: structArgsAsync_handler( const NATIVE_INT_TYPE portNum, const FormalParamStruct &s, FormalParamStruct &sRef ) { this->structArgsOut_out(portNum, s, sRef); } void ActiveTest :: stringArgsAsync_handler( const NATIVE_INT_TYPE portNum, const Fw::StringBase &str80, Fw::StringBase &str80Ref, const Fw::StringBase &str100, Fw::StringBase &str100Ref ) { this->stringArgsOut_out( portNum, str80, str80Ref, str100, str100Ref ); } void ActiveTest :: arrayArgsGuarded_handler( const NATIVE_INT_TYPE portNum, const FormalParamArray &a, FormalParamArray &aRef ) { this->arrayArgsOut_out(portNum, a, aRef); } void ActiveTest :: arrayArgsSync_handler( const NATIVE_INT_TYPE portNum, const FormalParamArray &a, FormalParamArray &aRef ) { this->arrayArgsOut_out(portNum, a, aRef); } FormalParamArray ActiveTest :: arrayReturnGuarded_handler( const NATIVE_INT_TYPE portNum, const FormalParamArray &a, FormalParamArray &aRef ) { return this->arrayReturnOut_out(portNum, a, aRef); } FormalParamArray ActiveTest :: arrayReturnSync_handler( const NATIVE_INT_TYPE portNum, const FormalParamArray &a, FormalParamArray &aRef ) { return this->arrayReturnOut_out(portNum, a, aRef); } void ActiveTest :: cmdOut_handler( NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer& args ) { } void ActiveTest :: enumArgsGuarded_handler( const NATIVE_INT_TYPE portNum, const FormalParamEnum &en, FormalParamEnum &enRef ) { this->enumArgsOut_out(portNum, en, enRef); } void ActiveTest :: enumArgsSync_handler( const NATIVE_INT_TYPE portNum, const FormalParamEnum &en, FormalParamEnum &enRef ) { this->enumArgsOut_out(portNum, en, enRef); } FormalParamEnum ActiveTest :: enumReturnGuarded_handler( const NATIVE_INT_TYPE portNum, const FormalParamEnum &en, FormalParamEnum &enRef ) { return this->enumReturnOut_out(portNum, en, enRef); } FormalParamEnum ActiveTest :: enumReturnSync_handler( const NATIVE_INT_TYPE portNum, const FormalParamEnum &en, FormalParamEnum &enRef ) { return this->enumReturnOut_out(portNum, en, enRef); } void ActiveTest :: noArgsGuarded_handler( const NATIVE_INT_TYPE portNum ) { this->noArgsOut_out(portNum); } bool ActiveTest :: noArgsReturnGuarded_handler( const NATIVE_INT_TYPE portNum ) { return this->noArgsReturnOut_out(portNum); } bool ActiveTest :: noArgsReturnSync_handler( const NATIVE_INT_TYPE portNum ) { return this->noArgsReturnOut_out(portNum); } void ActiveTest :: noArgsSync_handler( const NATIVE_INT_TYPE portNum ) { this->noArgsOut_out(portNum); } void ActiveTest :: primitiveArgsGuarded_handler( const NATIVE_INT_TYPE portNum, U32 u32, U32 &u32Ref, F32 f32, F32 &f32Ref, bool b, bool &bRef ) { this->primitiveArgsOut_out( portNum, u32, u32Ref, f32, f32Ref, b, bRef ); } void ActiveTest :: primitiveArgsSync_handler( const NATIVE_INT_TYPE portNum, U32 u32, U32 &u32Ref, F32 f32, F32 &f32Ref, bool b, bool &bRef ) { this->primitiveArgsOut_out( portNum, u32, u32Ref, f32, f32Ref, b, bRef ); } U32 ActiveTest :: primitiveReturnGuarded_handler( const NATIVE_INT_TYPE portNum, U32 u32, U32 &u32Ref, F32 f32, F32 &f32Ref, bool b, bool &bRef ) { return this->primitiveReturnOut_out( portNum, u32, u32Ref, f32, f32Ref, b, bRef ); } U32 ActiveTest :: primitiveReturnSync_handler( const NATIVE_INT_TYPE portNum, U32 u32, U32 &u32Ref, F32 f32, F32 &f32Ref, bool b, bool &bRef ) { return this->primitiveReturnOut_out( portNum, u32, u32Ref, f32, f32Ref, b, bRef ); } void ActiveTest :: stringArgsGuarded_handler( const NATIVE_INT_TYPE portNum, const Fw::StringBase &str80, Fw::StringBase &str80Ref, const Fw::StringBase &str100, Fw::StringBase &str100Ref ) { this->stringArgsOut_out( portNum, str80, str80Ref, str100, str100Ref ); } void ActiveTest :: stringArgsSync_handler( const NATIVE_INT_TYPE portNum, const Fw::StringBase &str80, Fw::StringBase &str80Ref, const Fw::StringBase &str100, Fw::StringBase &str100Ref ) { this->stringArgsOut_out( portNum, str80, str80Ref, str100, str100Ref ); } void ActiveTest :: structArgsGuarded_handler( const NATIVE_INT_TYPE portNum, const FormalParamStruct &s, FormalParamStruct &sRef ) { this->structArgsOut_out(portNum, s, sRef); } void ActiveTest :: structArgsSync_handler( const NATIVE_INT_TYPE portNum, const FormalParamStruct &s, FormalParamStruct &sRef ) { this->structArgsOut_out(portNum, s, sRef); } FormalParamStruct ActiveTest :: structReturnGuarded_handler( const NATIVE_INT_TYPE portNum, const FormalParamStruct &s, FormalParamStruct &sRef ) { return this->structReturnOut_out(portNum, s, sRef); } FormalParamStruct ActiveTest :: structReturnSync_handler( const NATIVE_INT_TYPE portNum, const FormalParamStruct &s, FormalParamStruct &sRef ) { return this->structReturnOut_out(portNum, s, sRef); } void ActiveTest :: enumArgsHook_handler( const NATIVE_INT_TYPE portNum, const FormalParamEnum &en, FormalParamEnum &enRef ) {} // ---------------------------------------------------------------------- // Handler implementations for user-defined serial input ports // ---------------------------------------------------------------------- void ActiveTest :: serialAsync_handler( NATIVE_INT_TYPE portNum, /*!< The port number*/ Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ ) { this->serializeStatus = this->serialOut_out(portNum, Buffer); } void ActiveTest :: serialAsyncAssert_handler( NATIVE_INT_TYPE portNum, /*!< The port number*/ Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ ) { this->serializeStatus = this->serialOut_out(SerialPortIndex::ENUM, Buffer); } void ActiveTest :: serialAsyncBlockPriority_handler( NATIVE_INT_TYPE portNum, /*!< The port number*/ Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ ) { this->serializeStatus = this->serialOut_out(SerialPortIndex::ARRAY, Buffer); } void ActiveTest :: serialAsyncDropPriority_handler( NATIVE_INT_TYPE portNum, /*!< The port number*/ Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ ) { this->serializeStatus = this->serialOut_out(SerialPortIndex::STRUCT, Buffer); } void ActiveTest :: serialGuarded_handler( NATIVE_INT_TYPE portNum, /*!< The port number*/ Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ ) { this->serializeStatus = this->serialOut_out(portNum, Buffer); } void ActiveTest :: serialSync_handler( NATIVE_INT_TYPE portNum, /*!< The port number*/ Fw::SerializeBufferBase &Buffer /*!< The serialization buffer*/ ) { this->serializeStatus = this->serialOut_out(portNum, Buffer); } // ---------------------------------------------------------------------- // Command handler implementations // ---------------------------------------------------------------------- void ActiveTest :: CMD_ASYNC_NO_ARGS_cmdHandler( const FwOpcodeType opCode, const U32 cmdSeq ) { this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); } void ActiveTest :: CMD_ASYNC_PRIMITIVE_cmdHandler( const FwOpcodeType opCode, const U32 cmdSeq, U32 u32_1, U32 u32_2, F32 f32_1, F32 f32_2, bool b1, bool b2 ) { this->primitiveCmd.args.val1 = u32_1; this->primitiveCmd.args.val2 = u32_2; this->primitiveCmd.args.val3 = f32_1; this->primitiveCmd.args.val4 = f32_2; this->primitiveCmd.args.val5 = b1; this->primitiveCmd.args.val6 = b2; this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); } void ActiveTest :: CMD_ASYNC_STRINGS_cmdHandler( const FwOpcodeType opCode, const U32 cmdSeq, const Fw::CmdStringArg& str1, const Fw::CmdStringArg& str2 ) { this->stringCmd.args.val1 = str1; this->stringCmd.args.val2 = str2; this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); } void ActiveTest :: CMD_ASYNC_ENUM_cmdHandler( const FwOpcodeType opCode, const U32 cmdSeq, FormalParamEnum en ) { this->enumCmd.args.val = en; this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); } void ActiveTest :: CMD_ASYNC_ARRAY_cmdHandler( const FwOpcodeType opCode, const U32 cmdSeq, FormalParamArray arr ) { this->arrayCmd.args.val = arr; this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); } void ActiveTest :: CMD_ASYNC_STRUCT_cmdHandler( const FwOpcodeType opCode, const U32 cmdSeq, FormalParamStruct str ) { this->structCmd.args.val = str; this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); } void ActiveTest :: CMD_NO_ARGS_cmdHandler( const FwOpcodeType opCode, const U32 cmdSeq ) { this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); } void ActiveTest :: CMD_PRIMITIVE_cmdHandler( const FwOpcodeType opCode, const U32 cmdSeq, U32 u32_1, U32 u32_2, F32 f32_1, F32 f32_2, bool b1, bool b2 ) { this->primitiveCmd.args.val1 = u32_1; this->primitiveCmd.args.val2 = u32_2; this->primitiveCmd.args.val3 = f32_1; this->primitiveCmd.args.val4 = f32_2; this->primitiveCmd.args.val5 = b1; this->primitiveCmd.args.val6 = b2; this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); } void ActiveTest :: CMD_STRINGS_cmdHandler( const FwOpcodeType opCode, const U32 cmdSeq, const Fw::CmdStringArg& str1, const Fw::CmdStringArg& str2 ) { this->stringCmd.args.val1 = str1; this->stringCmd.args.val2 = str2; this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); } void ActiveTest :: CMD_ENUM_cmdHandler( const FwOpcodeType opCode, const U32 cmdSeq, FormalParamEnum en ) { this->enumCmd.args.val = en; this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); } void ActiveTest :: CMD_ARRAY_cmdHandler( const FwOpcodeType opCode, const U32 cmdSeq, FormalParamArray arr ) { this->arrayCmd.args.val = arr; this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); } void ActiveTest :: CMD_STRUCT_cmdHandler( const FwOpcodeType opCode, const U32 cmdSeq, FormalParamStruct str ) { this->structCmd.args.val = str; this->cmdResponse_out(opCode,cmdSeq,Fw::CmdResponse::OK); } // ---------------------------------------------------------------------- // Internal interface handlers // ---------------------------------------------------------------------- //! Internal interface handler for internalArray void ActiveTest :: internalArray_internalInterfaceHandler( const FormalParamArray& arr //!< An array ) { this->arrayInterface.args.val = arr; } //! Internal interface handler for internalEnum void ActiveTest :: internalEnum_internalInterfaceHandler( const FormalParamEnum& en //!< An enum ) { this->enumInterface.args.val = en; } //! Internal interface handler for internalNoArgs void ActiveTest :: internalNoArgs_internalInterfaceHandler() { } //! Internal interface handler for internalPrimitive void ActiveTest :: internalPrimitive_internalInterfaceHandler( U32 u32_1, //!< A U32 U32 u32_2, //!< A U32 F32 f32_1, //!< An F32 F32 f32_2, //!< An F32 bool b1, //!< A boolean bool b2 //!< A boolean ) { this->primitiveInterface.args.val1 = u32_1; this->primitiveInterface.args.val2 = u32_2; this->primitiveInterface.args.val3 = f32_1; this->primitiveInterface.args.val4 = f32_2; this->primitiveInterface.args.val5 = b1; this->primitiveInterface.args.val6 = b2; } //! Internal interface handler for internalString void ActiveTest :: internalString_internalInterfaceHandler( const Fw::InternalInterfaceString& str1, //!< A string const Fw::InternalInterfaceString& str2 //!< Another string ) { this->stringInterface.args.val1 = str1; this->stringInterface.args.val2 = str2; } //! Internal interface handler for internalStruct void ActiveTest :: internalStruct_internalInterfaceHandler( const FormalParamStruct& str //!< A struct ) { this->structInterface.args.val = str; } // ---------------------------------------------------------------------- // Overflow hook implementations for user-defined async ports interfaces // ---------------------------------------------------------------------- void ActiveTest :: enumArgsHook_overflowHook( const NATIVE_INT_TYPE portNum, const FormalParamEnum &en, FormalParamEnum &enRef ) { this->enumArgsHookOverflowed_out(portNum, en, enRef); }