// ====================================================================== // \title ActiveParamsTesterBase.cpp // \author Generated by fpp-to-cpp // \brief cpp file for ActiveParams component test harness base class // ====================================================================== #include #include #include "test-base/ActiveParamsTesterBase.hpp" // ---------------------------------------------------------------------- // Component initialization // ---------------------------------------------------------------------- void ActiveParamsTesterBase :: init(FwEnumStoreType instance) { // Initialize base class Fw::PassiveComponentBase::init(instance); // Connect input port cmdRegOut for ( FwIndexType port = 0; port < static_cast(this->getNum_from_cmdRegOut()); port++ ) { this->m_from_cmdRegOut[port].init(); this->m_from_cmdRegOut[port].addCallComp( this, from_cmdRegOut_static ); this->m_from_cmdRegOut[port].setPortNum(port); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_from_cmdRegOut[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_from_cmdRegOut[port].setObjName(portName.toChar()); #endif } // Connect input port cmdResponseOut for ( FwIndexType port = 0; port < static_cast(this->getNum_from_cmdResponseOut()); port++ ) { this->m_from_cmdResponseOut[port].init(); this->m_from_cmdResponseOut[port].addCallComp( this, from_cmdResponseOut_static ); this->m_from_cmdResponseOut[port].setPortNum(port); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_from_cmdResponseOut[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_from_cmdResponseOut[port].setObjName(portName.toChar()); #endif } // Connect input port prmGetOut for ( FwIndexType port = 0; port < static_cast(this->getNum_from_prmGetOut()); port++ ) { this->m_from_prmGetOut[port].init(); this->m_from_prmGetOut[port].addCallComp( this, from_prmGetOut_static ); this->m_from_prmGetOut[port].setPortNum(port); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_from_prmGetOut[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_from_prmGetOut[port].setObjName(portName.toChar()); #endif } // Connect input port prmSetOut for ( FwIndexType port = 0; port < static_cast(this->getNum_from_prmSetOut()); port++ ) { this->m_from_prmSetOut[port].init(); this->m_from_prmSetOut[port].addCallComp( this, from_prmSetOut_static ); this->m_from_prmSetOut[port].setPortNum(port); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_from_prmSetOut[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_from_prmSetOut[port].setObjName(portName.toChar()); #endif } // Connect input port timeGetOut for ( FwIndexType port = 0; port < static_cast(this->getNum_from_timeGetOut()); port++ ) { this->m_from_timeGetOut[port].init(); this->m_from_timeGetOut[port].addCallComp( this, from_timeGetOut_static ); this->m_from_timeGetOut[port].setPortNum(port); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_from_timeGetOut[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_from_timeGetOut[port].setObjName(portName.toChar()); #endif } // Connect input port noArgsOut for ( FwIndexType port = 0; port < static_cast(this->getNum_from_noArgsOut()); port++ ) { this->m_from_noArgsOut[port].init(); this->m_from_noArgsOut[port].addCallComp( this, from_noArgsOut_static ); this->m_from_noArgsOut[port].setPortNum(port); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_from_noArgsOut[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_from_noArgsOut[port].setObjName(portName.toChar()); #endif } // Connect input port noArgsReturnOut for ( FwIndexType port = 0; port < static_cast(this->getNum_from_noArgsReturnOut()); port++ ) { this->m_from_noArgsReturnOut[port].init(); this->m_from_noArgsReturnOut[port].addCallComp( this, from_noArgsReturnOut_static ); this->m_from_noArgsReturnOut[port].setPortNum(port); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_from_noArgsReturnOut[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_from_noArgsReturnOut[port].setObjName(portName.toChar()); #endif } // Connect input port typedOut for ( FwIndexType port = 0; port < static_cast(this->getNum_from_typedOut()); port++ ) { this->m_from_typedOut[port].init(); this->m_from_typedOut[port].addCallComp( this, from_typedOut_static ); this->m_from_typedOut[port].setPortNum(port); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_from_typedOut[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_from_typedOut[port].setObjName(portName.toChar()); #endif } // Connect input port typedReturnOut for ( FwIndexType port = 0; port < static_cast(this->getNum_from_typedReturnOut()); port++ ) { this->m_from_typedReturnOut[port].init(); this->m_from_typedReturnOut[port].addCallComp( this, from_typedReturnOut_static ); this->m_from_typedReturnOut[port].setPortNum(port); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_from_typedReturnOut[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_from_typedReturnOut[port].setObjName(portName.toChar()); #endif } // Connect output port cmdIn for ( FwIndexType port = 0; port < static_cast(this->getNum_to_cmdIn()); port++ ) { this->m_to_cmdIn[port].init(); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_to_cmdIn[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_to_cmdIn[port].setObjName(portName.toChar()); #endif } // Connect output port noArgsAsync for ( FwIndexType port = 0; port < static_cast(this->getNum_to_noArgsAsync()); port++ ) { this->m_to_noArgsAsync[port].init(); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_to_noArgsAsync[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_to_noArgsAsync[port].setObjName(portName.toChar()); #endif } // Connect output port noArgsGuarded for ( FwIndexType port = 0; port < static_cast(this->getNum_to_noArgsGuarded()); port++ ) { this->m_to_noArgsGuarded[port].init(); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_to_noArgsGuarded[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_to_noArgsGuarded[port].setObjName(portName.toChar()); #endif } // Connect output port noArgsReturnGuarded for ( FwIndexType port = 0; port < static_cast(this->getNum_to_noArgsReturnGuarded()); port++ ) { this->m_to_noArgsReturnGuarded[port].init(); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_to_noArgsReturnGuarded[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_to_noArgsReturnGuarded[port].setObjName(portName.toChar()); #endif } // Connect output port noArgsReturnSync for ( FwIndexType port = 0; port < static_cast(this->getNum_to_noArgsReturnSync()); port++ ) { this->m_to_noArgsReturnSync[port].init(); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_to_noArgsReturnSync[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_to_noArgsReturnSync[port].setObjName(portName.toChar()); #endif } // Connect output port noArgsSync for ( FwIndexType port = 0; port < static_cast(this->getNum_to_noArgsSync()); port++ ) { this->m_to_noArgsSync[port].init(); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_to_noArgsSync[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_to_noArgsSync[port].setObjName(portName.toChar()); #endif } // Connect output port typedAsync for ( FwIndexType port = 0; port < static_cast(this->getNum_to_typedAsync()); port++ ) { this->m_to_typedAsync[port].init(); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_to_typedAsync[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_to_typedAsync[port].setObjName(portName.toChar()); #endif } // Connect output port typedAsyncAssert for ( FwIndexType port = 0; port < static_cast(this->getNum_to_typedAsyncAssert()); port++ ) { this->m_to_typedAsyncAssert[port].init(); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_to_typedAsyncAssert[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_to_typedAsyncAssert[port].setObjName(portName.toChar()); #endif } // Connect output port typedAsyncBlockPriority for ( FwIndexType port = 0; port < static_cast(this->getNum_to_typedAsyncBlockPriority()); port++ ) { this->m_to_typedAsyncBlockPriority[port].init(); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_to_typedAsyncBlockPriority[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_to_typedAsyncBlockPriority[port].setObjName(portName.toChar()); #endif } // Connect output port typedAsyncDropPriority for ( FwIndexType port = 0; port < static_cast(this->getNum_to_typedAsyncDropPriority()); port++ ) { this->m_to_typedAsyncDropPriority[port].init(); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_to_typedAsyncDropPriority[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_to_typedAsyncDropPriority[port].setObjName(portName.toChar()); #endif } // Connect output port typedGuarded for ( FwIndexType port = 0; port < static_cast(this->getNum_to_typedGuarded()); port++ ) { this->m_to_typedGuarded[port].init(); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_to_typedGuarded[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_to_typedGuarded[port].setObjName(portName.toChar()); #endif } // Connect output port typedReturnGuarded for ( FwIndexType port = 0; port < static_cast(this->getNum_to_typedReturnGuarded()); port++ ) { this->m_to_typedReturnGuarded[port].init(); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_to_typedReturnGuarded[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_to_typedReturnGuarded[port].setObjName(portName.toChar()); #endif } // Connect output port typedReturnSync for ( FwIndexType port = 0; port < static_cast(this->getNum_to_typedReturnSync()); port++ ) { this->m_to_typedReturnSync[port].init(); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_to_typedReturnSync[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_to_typedReturnSync[port].setObjName(portName.toChar()); #endif } // Connect output port typedSync for ( FwIndexType port = 0; port < static_cast(this->getNum_to_typedSync()); port++ ) { this->m_to_typedSync[port].init(); #if FW_OBJECT_NAMES == 1 Fw::ObjectName portName; portName.format( "%s_to_typedSync[%" PRI_PlatformIntType "]", this->m_objName.toChar(), port ); this->m_to_typedSync[port].setObjName(portName.toChar()); #endif } } // ---------------------------------------------------------------------- // Connectors for to ports // ---------------------------------------------------------------------- void ActiveParamsTesterBase :: connect_to_cmdIn( FwIndexType portNum, Fw::InputCmdPort* port ) { FW_ASSERT( portNum < this->getNum_to_cmdIn(), static_cast(portNum) ); this->m_to_cmdIn[portNum].addCallPort(port); } void ActiveParamsTesterBase :: connect_to_noArgsAsync( FwIndexType portNum, Ports::InputNoArgsPort* port ) { FW_ASSERT( portNum < this->getNum_to_noArgsAsync(), static_cast(portNum) ); this->m_to_noArgsAsync[portNum].addCallPort(port); } void ActiveParamsTesterBase :: connect_to_noArgsGuarded( FwIndexType portNum, Ports::InputNoArgsPort* port ) { FW_ASSERT( portNum < this->getNum_to_noArgsGuarded(), static_cast(portNum) ); this->m_to_noArgsGuarded[portNum].addCallPort(port); } void ActiveParamsTesterBase :: connect_to_noArgsReturnGuarded( FwIndexType portNum, Ports::InputNoArgsReturnPort* port ) { FW_ASSERT( portNum < this->getNum_to_noArgsReturnGuarded(), static_cast(portNum) ); this->m_to_noArgsReturnGuarded[portNum].addCallPort(port); } void ActiveParamsTesterBase :: connect_to_noArgsReturnSync( FwIndexType portNum, Ports::InputNoArgsReturnPort* port ) { FW_ASSERT( portNum < this->getNum_to_noArgsReturnSync(), static_cast(portNum) ); this->m_to_noArgsReturnSync[portNum].addCallPort(port); } void ActiveParamsTesterBase :: connect_to_noArgsSync( FwIndexType portNum, Ports::InputNoArgsPort* port ) { FW_ASSERT( portNum < this->getNum_to_noArgsSync(), static_cast(portNum) ); this->m_to_noArgsSync[portNum].addCallPort(port); } void ActiveParamsTesterBase :: connect_to_typedAsync( FwIndexType portNum, Ports::InputTypedPort* port ) { FW_ASSERT( portNum < this->getNum_to_typedAsync(), static_cast(portNum) ); this->m_to_typedAsync[portNum].addCallPort(port); } void ActiveParamsTesterBase :: connect_to_typedAsyncAssert( FwIndexType portNum, Ports::InputTypedPort* port ) { FW_ASSERT( portNum < this->getNum_to_typedAsyncAssert(), static_cast(portNum) ); this->m_to_typedAsyncAssert[portNum].addCallPort(port); } void ActiveParamsTesterBase :: connect_to_typedAsyncBlockPriority( FwIndexType portNum, Ports::InputTypedPort* port ) { FW_ASSERT( portNum < this->getNum_to_typedAsyncBlockPriority(), static_cast(portNum) ); this->m_to_typedAsyncBlockPriority[portNum].addCallPort(port); } void ActiveParamsTesterBase :: connect_to_typedAsyncDropPriority( FwIndexType portNum, Ports::InputTypedPort* port ) { FW_ASSERT( portNum < this->getNum_to_typedAsyncDropPriority(), static_cast(portNum) ); this->m_to_typedAsyncDropPriority[portNum].addCallPort(port); } void ActiveParamsTesterBase :: connect_to_typedGuarded( FwIndexType portNum, Ports::InputTypedPort* port ) { FW_ASSERT( portNum < this->getNum_to_typedGuarded(), static_cast(portNum) ); this->m_to_typedGuarded[portNum].addCallPort(port); } void ActiveParamsTesterBase :: connect_to_typedReturnGuarded( FwIndexType portNum, Ports::InputTypedReturnPort* port ) { FW_ASSERT( portNum < this->getNum_to_typedReturnGuarded(), static_cast(portNum) ); this->m_to_typedReturnGuarded[portNum].addCallPort(port); } void ActiveParamsTesterBase :: connect_to_typedReturnSync( FwIndexType portNum, Ports::InputTypedReturnPort* port ) { FW_ASSERT( portNum < this->getNum_to_typedReturnSync(), static_cast(portNum) ); this->m_to_typedReturnSync[portNum].addCallPort(port); } void ActiveParamsTesterBase :: connect_to_typedSync( FwIndexType portNum, Ports::InputTypedPort* port ) { FW_ASSERT( portNum < this->getNum_to_typedSync(), static_cast(portNum) ); this->m_to_typedSync[portNum].addCallPort(port); } // ---------------------------------------------------------------------- // Getters for from ports // ---------------------------------------------------------------------- Fw::InputCmdRegPort* ActiveParamsTesterBase :: get_from_cmdRegOut(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_from_cmdRegOut(), static_cast(portNum) ); return &this->m_from_cmdRegOut[portNum]; } Fw::InputCmdResponsePort* ActiveParamsTesterBase :: get_from_cmdResponseOut(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_from_cmdResponseOut(), static_cast(portNum) ); return &this->m_from_cmdResponseOut[portNum]; } Fw::InputLogPort* ActiveParamsTesterBase :: get_from_eventOut(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_from_eventOut(), static_cast(portNum) ); return &this->m_from_eventOut[portNum]; } Fw::InputPrmGetPort* ActiveParamsTesterBase :: get_from_prmGetOut(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_from_prmGetOut(), static_cast(portNum) ); return &this->m_from_prmGetOut[portNum]; } Fw::InputPrmSetPort* ActiveParamsTesterBase :: get_from_prmSetOut(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_from_prmSetOut(), static_cast(portNum) ); return &this->m_from_prmSetOut[portNum]; } #if FW_ENABLE_TEXT_LOGGING == 1 Fw::InputLogTextPort* ActiveParamsTesterBase :: get_from_textEventOut(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_from_textEventOut(), static_cast(portNum) ); return &this->m_from_textEventOut[portNum]; } #endif Fw::InputTimePort* ActiveParamsTesterBase :: get_from_timeGetOut(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_from_timeGetOut(), static_cast(portNum) ); return &this->m_from_timeGetOut[portNum]; } Fw::InputTlmPort* ActiveParamsTesterBase :: get_from_tlmOut(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_from_tlmOut(), static_cast(portNum) ); return &this->m_from_tlmOut[portNum]; } Ports::InputNoArgsPort* ActiveParamsTesterBase :: get_from_noArgsOut(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_from_noArgsOut(), static_cast(portNum) ); return &this->m_from_noArgsOut[portNum]; } Ports::InputNoArgsReturnPort* ActiveParamsTesterBase :: get_from_noArgsReturnOut(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_from_noArgsReturnOut(), static_cast(portNum) ); return &this->m_from_noArgsReturnOut[portNum]; } Ports::InputTypedPort* ActiveParamsTesterBase :: get_from_typedOut(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_from_typedOut(), static_cast(portNum) ); return &this->m_from_typedOut[portNum]; } Ports::InputTypedReturnPort* ActiveParamsTesterBase :: get_from_typedReturnOut(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_from_typedReturnOut(), static_cast(portNum) ); return &this->m_from_typedReturnOut[portNum]; } // ---------------------------------------------------------------------- // Component construction and destruction // ---------------------------------------------------------------------- ActiveParamsTesterBase :: ActiveParamsTesterBase( const char* const compName, const U32 maxHistorySize ) : Fw::PassiveComponentBase(compName), m_param_ParamU32_valid(Fw::ParamValid::UNINIT), m_param_ParamF64_valid(Fw::ParamValid::UNINIT), m_param_ParamString_valid(Fw::ParamValid::UNINIT), m_param_ParamEnum_valid(Fw::ParamValid::UNINIT), m_param_ParamArray_valid(Fw::ParamValid::UNINIT), m_param_ParamStruct_valid(Fw::ParamValid::UNINIT) { // Initialize port histories this->fromPortHistory_typedOut = new History(maxHistorySize); this->fromPortHistory_typedReturnOut = new History(maxHistorySize); // Initialize command history this->cmdResponseHistory = new History(maxHistorySize); // Clear history this->clearHistory(); } ActiveParamsTesterBase :: ~ActiveParamsTesterBase() { // Destroy port histories delete this->fromPortHistory_typedOut; delete this->fromPortHistory_typedReturnOut; // Destroy command history delete this->cmdResponseHistory; } // ---------------------------------------------------------------------- // Default handler implementations for typed from ports // You can override these implementation with more specific behavior // ---------------------------------------------------------------------- void ActiveParamsTesterBase :: from_noArgsOut_handler(FwIndexType portNum) { this->pushFromPortEntry_noArgsOut(); } U32 ActiveParamsTesterBase :: from_noArgsReturnOut_handler(FwIndexType portNum) { this->pushFromPortEntry_noArgsReturnOut(); return 0; } void ActiveParamsTesterBase :: from_typedOut_handler( FwIndexType portNum, U32 u32, F32 f32, bool b, const Fw::StringBase& str1, const E& e, const A& a, const S& s ) { this->pushFromPortEntry_typedOut(u32, f32, b, str1, e, a, s); } F32 ActiveParamsTesterBase :: from_typedReturnOut_handler( FwIndexType portNum, U32 u32, F32 f32, bool b, const Fw::StringBase& str2, const E& e, const A& a, const S& s ) { this->pushFromPortEntry_typedReturnOut(u32, f32, b, str2, e, a, s); return 0.0f; } // ---------------------------------------------------------------------- // Handler base-class functions for from ports // ---------------------------------------------------------------------- void ActiveParamsTesterBase :: from_noArgsOut_handlerBase(FwIndexType portNum) { // Make sure port number is valid FW_ASSERT( portNum < this->getNum_from_noArgsOut(), static_cast(portNum) ); this->from_noArgsOut_handler(portNum); } U32 ActiveParamsTesterBase :: from_noArgsReturnOut_handlerBase(FwIndexType portNum) { // Make sure port number is valid FW_ASSERT( portNum < this->getNum_from_noArgsReturnOut(), static_cast(portNum) ); return this->from_noArgsReturnOut_handler(portNum); } void ActiveParamsTesterBase :: from_typedOut_handlerBase( FwIndexType portNum, U32 u32, F32 f32, bool b, const Fw::StringBase& str1, const E& e, const A& a, const S& s ) { // Make sure port number is valid FW_ASSERT( portNum < this->getNum_from_typedOut(), static_cast(portNum) ); this->from_typedOut_handler( portNum, u32, f32, b, str1, e, a, s ); } F32 ActiveParamsTesterBase :: from_typedReturnOut_handlerBase( FwIndexType portNum, U32 u32, F32 f32, bool b, const Fw::StringBase& str2, const E& e, const A& a, const S& s ) { // Make sure port number is valid FW_ASSERT( portNum < this->getNum_from_typedReturnOut(), static_cast(portNum) ); return this->from_typedReturnOut_handler( portNum, u32, f32, b, str2, e, a, s ); } // ---------------------------------------------------------------------- // Invocation functions for to ports // ---------------------------------------------------------------------- void ActiveParamsTesterBase :: invoke_to_noArgsAsync(FwIndexType portNum) { // Make sure port number is valid FW_ASSERT( portNum < this->getNum_to_noArgsAsync(), static_cast(portNum) ); this->m_to_noArgsAsync[portNum].invoke(); } void ActiveParamsTesterBase :: invoke_to_noArgsGuarded(FwIndexType portNum) { // Make sure port number is valid FW_ASSERT( portNum < this->getNum_to_noArgsGuarded(), static_cast(portNum) ); this->m_to_noArgsGuarded[portNum].invoke(); } U32 ActiveParamsTesterBase :: invoke_to_noArgsReturnGuarded(FwIndexType portNum) { // Make sure port number is valid FW_ASSERT( portNum < this->getNum_to_noArgsReturnGuarded(), static_cast(portNum) ); return this->m_to_noArgsReturnGuarded[portNum].invoke(); } U32 ActiveParamsTesterBase :: invoke_to_noArgsReturnSync(FwIndexType portNum) { // Make sure port number is valid FW_ASSERT( portNum < this->getNum_to_noArgsReturnSync(), static_cast(portNum) ); return this->m_to_noArgsReturnSync[portNum].invoke(); } void ActiveParamsTesterBase :: invoke_to_noArgsSync(FwIndexType portNum) { // Make sure port number is valid FW_ASSERT( portNum < this->getNum_to_noArgsSync(), static_cast(portNum) ); this->m_to_noArgsSync[portNum].invoke(); } void ActiveParamsTesterBase :: invoke_to_typedAsync( FwIndexType portNum, U32 u32, F32 f32, bool b, const Fw::StringBase& str1, const E& e, const A& a, const S& s ) { // Make sure port number is valid FW_ASSERT( portNum < this->getNum_to_typedAsync(), static_cast(portNum) ); this->m_to_typedAsync[portNum].invoke( u32, f32, b, str1, e, a, s ); } void ActiveParamsTesterBase :: invoke_to_typedAsyncAssert( FwIndexType portNum, U32 u32, F32 f32, bool b, const Fw::StringBase& str1, const E& e, const A& a, const S& s ) { // Make sure port number is valid FW_ASSERT( portNum < this->getNum_to_typedAsyncAssert(), static_cast(portNum) ); this->m_to_typedAsyncAssert[portNum].invoke( u32, f32, b, str1, e, a, s ); } void ActiveParamsTesterBase :: invoke_to_typedAsyncBlockPriority( FwIndexType portNum, U32 u32, F32 f32, bool b, const Fw::StringBase& str1, const E& e, const A& a, const S& s ) { // Make sure port number is valid FW_ASSERT( portNum < this->getNum_to_typedAsyncBlockPriority(), static_cast(portNum) ); this->m_to_typedAsyncBlockPriority[portNum].invoke( u32, f32, b, str1, e, a, s ); } void ActiveParamsTesterBase :: invoke_to_typedAsyncDropPriority( FwIndexType portNum, U32 u32, F32 f32, bool b, const Fw::StringBase& str1, const E& e, const A& a, const S& s ) { // Make sure port number is valid FW_ASSERT( portNum < this->getNum_to_typedAsyncDropPriority(), static_cast(portNum) ); this->m_to_typedAsyncDropPriority[portNum].invoke( u32, f32, b, str1, e, a, s ); } void ActiveParamsTesterBase :: invoke_to_typedGuarded( FwIndexType portNum, U32 u32, F32 f32, bool b, const Fw::StringBase& str1, const E& e, const A& a, const S& s ) { // Make sure port number is valid FW_ASSERT( portNum < this->getNum_to_typedGuarded(), static_cast(portNum) ); this->m_to_typedGuarded[portNum].invoke( u32, f32, b, str1, e, a, s ); } F32 ActiveParamsTesterBase :: invoke_to_typedReturnGuarded( FwIndexType portNum, U32 u32, F32 f32, bool b, const Fw::StringBase& str2, const E& e, const A& a, const S& s ) { // Make sure port number is valid FW_ASSERT( portNum < this->getNum_to_typedReturnGuarded(), static_cast(portNum) ); return this->m_to_typedReturnGuarded[portNum].invoke( u32, f32, b, str2, e, a, s ); } F32 ActiveParamsTesterBase :: invoke_to_typedReturnSync( FwIndexType portNum, U32 u32, F32 f32, bool b, const Fw::StringBase& str2, const E& e, const A& a, const S& s ) { // Make sure port number is valid FW_ASSERT( portNum < this->getNum_to_typedReturnSync(), static_cast(portNum) ); return this->m_to_typedReturnSync[portNum].invoke( u32, f32, b, str2, e, a, s ); } void ActiveParamsTesterBase :: invoke_to_typedSync( FwIndexType portNum, U32 u32, F32 f32, bool b, const Fw::StringBase& str1, const E& e, const A& a, const S& s ) { // Make sure port number is valid FW_ASSERT( portNum < this->getNum_to_typedSync(), static_cast(portNum) ); this->m_to_typedSync[portNum].invoke( u32, f32, b, str1, e, a, s ); } // ---------------------------------------------------------------------- // Getters for port counts // ---------------------------------------------------------------------- FwIndexType ActiveParamsTesterBase :: getNum_to_cmdIn() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_to_cmdIn)); } FwIndexType ActiveParamsTesterBase :: getNum_to_noArgsAsync() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_to_noArgsAsync)); } FwIndexType ActiveParamsTesterBase :: getNum_to_noArgsGuarded() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_to_noArgsGuarded)); } FwIndexType ActiveParamsTesterBase :: getNum_to_noArgsReturnGuarded() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_to_noArgsReturnGuarded)); } FwIndexType ActiveParamsTesterBase :: getNum_to_noArgsReturnSync() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_to_noArgsReturnSync)); } FwIndexType ActiveParamsTesterBase :: getNum_to_noArgsSync() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_to_noArgsSync)); } FwIndexType ActiveParamsTesterBase :: getNum_to_typedAsync() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_to_typedAsync)); } FwIndexType ActiveParamsTesterBase :: getNum_to_typedAsyncAssert() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_to_typedAsyncAssert)); } FwIndexType ActiveParamsTesterBase :: getNum_to_typedAsyncBlockPriority() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_to_typedAsyncBlockPriority)); } FwIndexType ActiveParamsTesterBase :: getNum_to_typedAsyncDropPriority() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_to_typedAsyncDropPriority)); } FwIndexType ActiveParamsTesterBase :: getNum_to_typedGuarded() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_to_typedGuarded)); } FwIndexType ActiveParamsTesterBase :: getNum_to_typedReturnGuarded() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_to_typedReturnGuarded)); } FwIndexType ActiveParamsTesterBase :: getNum_to_typedReturnSync() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_to_typedReturnSync)); } FwIndexType ActiveParamsTesterBase :: getNum_to_typedSync() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_to_typedSync)); } FwIndexType ActiveParamsTesterBase :: getNum_from_cmdRegOut() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_from_cmdRegOut)); } FwIndexType ActiveParamsTesterBase :: getNum_from_cmdResponseOut() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_from_cmdResponseOut)); } FwIndexType ActiveParamsTesterBase :: getNum_from_eventOut() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_from_eventOut)); } FwIndexType ActiveParamsTesterBase :: getNum_from_prmGetOut() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_from_prmGetOut)); } FwIndexType ActiveParamsTesterBase :: getNum_from_prmSetOut() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_from_prmSetOut)); } #if FW_ENABLE_TEXT_LOGGING == 1 FwIndexType ActiveParamsTesterBase :: getNum_from_textEventOut() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_from_textEventOut)); } #endif FwIndexType ActiveParamsTesterBase :: getNum_from_timeGetOut() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_from_timeGetOut)); } FwIndexType ActiveParamsTesterBase :: getNum_from_tlmOut() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_from_tlmOut)); } FwIndexType ActiveParamsTesterBase :: getNum_from_noArgsOut() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_from_noArgsOut)); } FwIndexType ActiveParamsTesterBase :: getNum_from_noArgsReturnOut() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_from_noArgsReturnOut)); } FwIndexType ActiveParamsTesterBase :: getNum_from_typedOut() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_from_typedOut)); } FwIndexType ActiveParamsTesterBase :: getNum_from_typedReturnOut() const { return static_cast(FW_NUM_ARRAY_ELEMENTS(this->m_from_typedReturnOut)); } // ---------------------------------------------------------------------- // Connection status queries for to ports // ---------------------------------------------------------------------- bool ActiveParamsTesterBase :: isConnected_to_cmdIn(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_to_cmdIn(), static_cast(portNum) ); return this->m_to_cmdIn[portNum].isConnected(); } bool ActiveParamsTesterBase :: isConnected_to_noArgsAsync(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_to_noArgsAsync(), static_cast(portNum) ); return this->m_to_noArgsAsync[portNum].isConnected(); } bool ActiveParamsTesterBase :: isConnected_to_noArgsGuarded(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_to_noArgsGuarded(), static_cast(portNum) ); return this->m_to_noArgsGuarded[portNum].isConnected(); } bool ActiveParamsTesterBase :: isConnected_to_noArgsReturnGuarded(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_to_noArgsReturnGuarded(), static_cast(portNum) ); return this->m_to_noArgsReturnGuarded[portNum].isConnected(); } bool ActiveParamsTesterBase :: isConnected_to_noArgsReturnSync(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_to_noArgsReturnSync(), static_cast(portNum) ); return this->m_to_noArgsReturnSync[portNum].isConnected(); } bool ActiveParamsTesterBase :: isConnected_to_noArgsSync(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_to_noArgsSync(), static_cast(portNum) ); return this->m_to_noArgsSync[portNum].isConnected(); } bool ActiveParamsTesterBase :: isConnected_to_typedAsync(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_to_typedAsync(), static_cast(portNum) ); return this->m_to_typedAsync[portNum].isConnected(); } bool ActiveParamsTesterBase :: isConnected_to_typedAsyncAssert(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_to_typedAsyncAssert(), static_cast(portNum) ); return this->m_to_typedAsyncAssert[portNum].isConnected(); } bool ActiveParamsTesterBase :: isConnected_to_typedAsyncBlockPriority(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_to_typedAsyncBlockPriority(), static_cast(portNum) ); return this->m_to_typedAsyncBlockPriority[portNum].isConnected(); } bool ActiveParamsTesterBase :: isConnected_to_typedAsyncDropPriority(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_to_typedAsyncDropPriority(), static_cast(portNum) ); return this->m_to_typedAsyncDropPriority[portNum].isConnected(); } bool ActiveParamsTesterBase :: isConnected_to_typedGuarded(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_to_typedGuarded(), static_cast(portNum) ); return this->m_to_typedGuarded[portNum].isConnected(); } bool ActiveParamsTesterBase :: isConnected_to_typedReturnGuarded(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_to_typedReturnGuarded(), static_cast(portNum) ); return this->m_to_typedReturnGuarded[portNum].isConnected(); } bool ActiveParamsTesterBase :: isConnected_to_typedReturnSync(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_to_typedReturnSync(), static_cast(portNum) ); return this->m_to_typedReturnSync[portNum].isConnected(); } bool ActiveParamsTesterBase :: isConnected_to_typedSync(FwIndexType portNum) { FW_ASSERT( portNum < this->getNum_to_typedSync(), static_cast(portNum) ); return this->m_to_typedSync[portNum].isConnected(); } // ---------------------------------------------------------------------- // Functions for testing commands // ---------------------------------------------------------------------- void ActiveParamsTesterBase :: cmdResponseIn( FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response ) { CmdResponse e = { opCode, cmdSeq, response }; this->cmdResponseHistory->push_back(e); } void ActiveParamsTesterBase :: sendRawCmd( FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer& buf ) { const U32 idBase = this->getIdBase(); FwOpcodeType _opcode = opCode + idBase; if (this->m_to_cmdIn[0].isConnected()) { this->m_to_cmdIn[0].invoke( _opcode, cmdSeq, buf ); } else { printf("Test Command Output port not connected!\n"); } } // ---------------------------------------------------------------------- // Functions to test parameters // ---------------------------------------------------------------------- void ActiveParamsTesterBase :: paramSet_ParamU32( const U32& val, Fw::ParamValid valid ) { this->m_param_ParamU32 = val; this->m_param_ParamU32_valid = valid; } void ActiveParamsTesterBase :: paramSend_ParamU32( FwEnumStoreType instance, U32 cmdSeq ) { // Build command for parameter set Fw::CmdArgBuffer args; FW_ASSERT( args.serialize(this->m_param_ParamU32) == Fw::FW_SERIALIZE_OK ); const U32 idBase = this->getIdBase(); FwOpcodeType _prmOpcode = ActiveParamsComponentBase::OPCODE_PARAMU32_SET + idBase; if (not this->m_to_cmdIn[0].isConnected()) { printf("Test Command Output port not connected!\n"); } else { this->m_to_cmdIn[0].invoke( _prmOpcode, cmdSeq, args ); } } void ActiveParamsTesterBase :: paramSave_ParamU32( FwEnumStoreType instance, U32 cmdSeq ) { Fw::CmdArgBuffer args; const U32 idBase = this->getIdBase(); FwOpcodeType _prmOpcode = ActiveParamsComponentBase::OPCODE_PARAMU32_SAVE + idBase; if (not this->m_to_cmdIn[0].isConnected()) { printf("Test Command Output port not connected!\n"); } else { this->m_to_cmdIn[0].invoke( _prmOpcode, cmdSeq, args ); } } void ActiveParamsTesterBase :: paramSet_ParamF64( const F64& val, Fw::ParamValid valid ) { this->m_param_ParamF64 = val; this->m_param_ParamF64_valid = valid; } void ActiveParamsTesterBase :: paramSend_ParamF64( FwEnumStoreType instance, U32 cmdSeq ) { // Build command for parameter set Fw::CmdArgBuffer args; FW_ASSERT( args.serialize(this->m_param_ParamF64) == Fw::FW_SERIALIZE_OK ); const U32 idBase = this->getIdBase(); FwOpcodeType _prmOpcode = ActiveParamsComponentBase::OPCODE_PARAMF64_SET + idBase; if (not this->m_to_cmdIn[0].isConnected()) { printf("Test Command Output port not connected!\n"); } else { this->m_to_cmdIn[0].invoke( _prmOpcode, cmdSeq, args ); } } void ActiveParamsTesterBase :: paramSave_ParamF64( FwEnumStoreType instance, U32 cmdSeq ) { Fw::CmdArgBuffer args; const U32 idBase = this->getIdBase(); FwOpcodeType _prmOpcode = ActiveParamsComponentBase::OPCODE_PARAMF64_SAVE + idBase; if (not this->m_to_cmdIn[0].isConnected()) { printf("Test Command Output port not connected!\n"); } else { this->m_to_cmdIn[0].invoke( _prmOpcode, cmdSeq, args ); } } void ActiveParamsTesterBase :: paramSet_ParamString( const Fw::StringBase& val, Fw::ParamValid valid ) { this->m_param_ParamString = val; this->m_param_ParamString_valid = valid; } void ActiveParamsTesterBase :: paramSend_ParamString( FwEnumStoreType instance, U32 cmdSeq ) { // Build command for parameter set Fw::CmdArgBuffer args; FW_ASSERT( args.serialize(this->m_param_ParamString) == Fw::FW_SERIALIZE_OK ); const U32 idBase = this->getIdBase(); FwOpcodeType _prmOpcode = ActiveParamsComponentBase::OPCODE_PARAMSTRING_SET + idBase; if (not this->m_to_cmdIn[0].isConnected()) { printf("Test Command Output port not connected!\n"); } else { this->m_to_cmdIn[0].invoke( _prmOpcode, cmdSeq, args ); } } void ActiveParamsTesterBase :: paramSave_ParamString( FwEnumStoreType instance, U32 cmdSeq ) { Fw::CmdArgBuffer args; const U32 idBase = this->getIdBase(); FwOpcodeType _prmOpcode = ActiveParamsComponentBase::OPCODE_PARAMSTRING_SAVE + idBase; if (not this->m_to_cmdIn[0].isConnected()) { printf("Test Command Output port not connected!\n"); } else { this->m_to_cmdIn[0].invoke( _prmOpcode, cmdSeq, args ); } } void ActiveParamsTesterBase :: paramSet_ParamEnum( const E& val, Fw::ParamValid valid ) { this->m_param_ParamEnum = val; this->m_param_ParamEnum_valid = valid; } void ActiveParamsTesterBase :: paramSend_ParamEnum( FwEnumStoreType instance, U32 cmdSeq ) { // Build command for parameter set Fw::CmdArgBuffer args; FW_ASSERT( args.serialize(this->m_param_ParamEnum) == Fw::FW_SERIALIZE_OK ); const U32 idBase = this->getIdBase(); FwOpcodeType _prmOpcode = ActiveParamsComponentBase::OPCODE_PARAMENUM_SET + idBase; if (not this->m_to_cmdIn[0].isConnected()) { printf("Test Command Output port not connected!\n"); } else { this->m_to_cmdIn[0].invoke( _prmOpcode, cmdSeq, args ); } } void ActiveParamsTesterBase :: paramSave_ParamEnum( FwEnumStoreType instance, U32 cmdSeq ) { Fw::CmdArgBuffer args; const U32 idBase = this->getIdBase(); FwOpcodeType _prmOpcode = ActiveParamsComponentBase::OPCODE_PARAMENUM_SAVE + idBase; if (not this->m_to_cmdIn[0].isConnected()) { printf("Test Command Output port not connected!\n"); } else { this->m_to_cmdIn[0].invoke( _prmOpcode, cmdSeq, args ); } } void ActiveParamsTesterBase :: paramSet_ParamArray( const A& val, Fw::ParamValid valid ) { this->m_param_ParamArray = val; this->m_param_ParamArray_valid = valid; } void ActiveParamsTesterBase :: paramSend_ParamArray( FwEnumStoreType instance, U32 cmdSeq ) { // Build command for parameter set Fw::CmdArgBuffer args; FW_ASSERT( args.serialize(this->m_param_ParamArray) == Fw::FW_SERIALIZE_OK ); const U32 idBase = this->getIdBase(); FwOpcodeType _prmOpcode = ActiveParamsComponentBase::OPCODE_PARAMARRAY_SET + idBase; if (not this->m_to_cmdIn[0].isConnected()) { printf("Test Command Output port not connected!\n"); } else { this->m_to_cmdIn[0].invoke( _prmOpcode, cmdSeq, args ); } } void ActiveParamsTesterBase :: paramSave_ParamArray( FwEnumStoreType instance, U32 cmdSeq ) { Fw::CmdArgBuffer args; const U32 idBase = this->getIdBase(); FwOpcodeType _prmOpcode = ActiveParamsComponentBase::OPCODE_PARAMARRAY_SAVE + idBase; if (not this->m_to_cmdIn[0].isConnected()) { printf("Test Command Output port not connected!\n"); } else { this->m_to_cmdIn[0].invoke( _prmOpcode, cmdSeq, args ); } } void ActiveParamsTesterBase :: paramSet_ParamStruct( const S& val, Fw::ParamValid valid ) { this->m_param_ParamStruct = val; this->m_param_ParamStruct_valid = valid; } void ActiveParamsTesterBase :: paramSend_ParamStruct( FwEnumStoreType instance, U32 cmdSeq ) { // Build command for parameter set Fw::CmdArgBuffer args; FW_ASSERT( args.serialize(this->m_param_ParamStruct) == Fw::FW_SERIALIZE_OK ); const U32 idBase = this->getIdBase(); FwOpcodeType _prmOpcode = ActiveParamsComponentBase::OPCODE_PARAMSTRUCT_SET + idBase; if (not this->m_to_cmdIn[0].isConnected()) { printf("Test Command Output port not connected!\n"); } else { this->m_to_cmdIn[0].invoke( _prmOpcode, cmdSeq, args ); } } void ActiveParamsTesterBase :: paramSave_ParamStruct( FwEnumStoreType instance, U32 cmdSeq ) { Fw::CmdArgBuffer args; const U32 idBase = this->getIdBase(); FwOpcodeType _prmOpcode = ActiveParamsComponentBase::OPCODE_PARAMSTRUCT_SAVE + idBase; if (not this->m_to_cmdIn[0].isConnected()) { printf("Test Command Output port not connected!\n"); } else { this->m_to_cmdIn[0].invoke( _prmOpcode, cmdSeq, args ); } } // ---------------------------------------------------------------------- // Functions to test time // ---------------------------------------------------------------------- void ActiveParamsTesterBase :: setTestTime(const Fw::Time& timeTag) { this->m_testTime = timeTag; } // ---------------------------------------------------------------------- // History functions // ---------------------------------------------------------------------- void ActiveParamsTesterBase :: clearHistory() { this->clearFromPortHistory(); this->cmdResponseHistory->clear(); } void ActiveParamsTesterBase :: clearFromPortHistory() { this->fromPortHistorySize = 0; this->fromPortHistorySize_noArgsOut = 0; this->fromPortHistorySize_noArgsReturnOut = 0; this->fromPortHistory_typedOut->clear(); this->fromPortHistory_typedReturnOut->clear(); } void ActiveParamsTesterBase :: pushFromPortEntry_noArgsOut() { this->fromPortHistorySize_noArgsOut++; this->fromPortHistorySize++; } void ActiveParamsTesterBase :: pushFromPortEntry_noArgsReturnOut() { this->fromPortHistorySize_noArgsReturnOut++; this->fromPortHistorySize++; } void ActiveParamsTesterBase :: pushFromPortEntry_typedOut( U32 u32, F32 f32, bool b, const Fw::StringBase& str1, const E& e, const A& a, const S& s ) { FromPortEntry_typedOut _e; _e.u32 = u32; _e.f32 = f32; _e.b = b; _e.str1 = str1; _e.e = e; _e.a = a; _e.s = s; this->fromPortHistory_typedOut->push_back(_e); this->fromPortHistorySize++; } void ActiveParamsTesterBase :: pushFromPortEntry_typedReturnOut( U32 u32, F32 f32, bool b, const Fw::StringBase& str2, const E& e, const A& a, const S& s ) { FromPortEntry_typedReturnOut _e; _e.u32 = u32; _e.f32 = f32; _e.b = b; _e.str2 = str2; _e.e = e; _e.a = a; _e.s = s; this->fromPortHistory_typedReturnOut->push_back(_e); this->fromPortHistorySize++; } // ---------------------------------------------------------------------- // Static functions for output ports // ---------------------------------------------------------------------- void ActiveParamsTesterBase :: from_cmdRegOut_static( Fw::PassiveComponentBase* const callComp, FwIndexType portNum, FwOpcodeType opCode ) { } void ActiveParamsTesterBase :: from_cmdResponseOut_static( Fw::PassiveComponentBase* const callComp, FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, const Fw::CmdResponse& response ) { ActiveParamsTesterBase* _testerBase = static_cast(callComp); _testerBase->cmdResponseIn(opCode, cmdSeq, response); } Fw::ParamValid ActiveParamsTesterBase :: from_prmGetOut_static( Fw::PassiveComponentBase* const callComp, FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer& val ) { ActiveParamsTesterBase* _testerBase = static_cast(callComp); Fw::SerializeStatus _status; Fw::ParamValid _ret = Fw::ParamValid::VALID; val.resetSer(); const U32 idBase = _testerBase->getIdBase(); FW_ASSERT(id >= idBase, id, idBase); switch (id - idBase) { case ActiveParamsComponentBase::PARAMID_PARAMU32: { _status = val.serialize(_testerBase->m_param_ParamU32); _ret = _testerBase->m_param_ParamU32_valid; FW_ASSERT( _status == Fw::FW_SERIALIZE_OK, static_cast(_status) ); break; }; case ActiveParamsComponentBase::PARAMID_PARAMF64: { _status = val.serialize(_testerBase->m_param_ParamF64); _ret = _testerBase->m_param_ParamF64_valid; FW_ASSERT( _status == Fw::FW_SERIALIZE_OK, static_cast(_status) ); break; }; case ActiveParamsComponentBase::PARAMID_PARAMSTRING: { _status = val.serialize(_testerBase->m_param_ParamString); _ret = _testerBase->m_param_ParamString_valid; FW_ASSERT( _status == Fw::FW_SERIALIZE_OK, static_cast(_status) ); break; }; case ActiveParamsComponentBase::PARAMID_PARAMENUM: { _status = val.serialize(_testerBase->m_param_ParamEnum); _ret = _testerBase->m_param_ParamEnum_valid; FW_ASSERT( _status == Fw::FW_SERIALIZE_OK, static_cast(_status) ); break; }; case ActiveParamsComponentBase::PARAMID_PARAMARRAY: { _status = val.serialize(_testerBase->m_param_ParamArray); _ret = _testerBase->m_param_ParamArray_valid; FW_ASSERT( _status == Fw::FW_SERIALIZE_OK, static_cast(_status) ); break; }; case ActiveParamsComponentBase::PARAMID_PARAMSTRUCT: { _status = val.serialize(_testerBase->m_param_ParamStruct); _ret = _testerBase->m_param_ParamStruct_valid; FW_ASSERT( _status == Fw::FW_SERIALIZE_OK, static_cast(_status) ); break; }; default: FW_ASSERT(0, id); break; } return _ret; } void ActiveParamsTesterBase :: from_prmSetOut_static( Fw::PassiveComponentBase* const callComp, FwIndexType portNum, FwPrmIdType id, Fw::ParamBuffer& val ) { ActiveParamsTesterBase* _testerBase = static_cast(callComp); Fw::SerializeStatus _status; val.resetSer(); const U32 idBase = _testerBase->getIdBase(); FW_ASSERT(id >= idBase, id, idBase); switch (id - idBase) { case ActiveParamsComponentBase::PARAMID_PARAMU32: { U32 ParamU32Val; _status = val.deserialize(ParamU32Val); FW_ASSERT( _status == Fw::FW_SERIALIZE_OK, static_cast(_status) ); FW_ASSERT( ParamU32Val == _testerBase->m_param_ParamU32 ); break; }; case ActiveParamsComponentBase::PARAMID_PARAMF64: { F64 ParamF64Val; _status = val.deserialize(ParamF64Val); FW_ASSERT( _status == Fw::FW_SERIALIZE_OK, static_cast(_status) ); FW_ASSERT( ParamF64Val == _testerBase->m_param_ParamF64 ); break; }; case ActiveParamsComponentBase::PARAMID_PARAMSTRING: { Fw::ParamString ParamStringVal; _status = val.deserialize(ParamStringVal); FW_ASSERT( _status == Fw::FW_SERIALIZE_OK, static_cast(_status) ); FW_ASSERT( ParamStringVal == _testerBase->m_param_ParamString ); break; }; case ActiveParamsComponentBase::PARAMID_PARAMENUM: { E ParamEnumVal; _status = val.deserialize(ParamEnumVal); FW_ASSERT( _status == Fw::FW_SERIALIZE_OK, static_cast(_status) ); FW_ASSERT( ParamEnumVal == _testerBase->m_param_ParamEnum ); break; }; case ActiveParamsComponentBase::PARAMID_PARAMARRAY: { A ParamArrayVal; _status = val.deserialize(ParamArrayVal); FW_ASSERT( _status == Fw::FW_SERIALIZE_OK, static_cast(_status) ); FW_ASSERT( ParamArrayVal == _testerBase->m_param_ParamArray ); break; }; case ActiveParamsComponentBase::PARAMID_PARAMSTRUCT: { S ParamStructVal; _status = val.deserialize(ParamStructVal); FW_ASSERT( _status == Fw::FW_SERIALIZE_OK, static_cast(_status) ); FW_ASSERT( ParamStructVal == _testerBase->m_param_ParamStruct ); break; }; default: FW_ASSERT(0, id); break; } } void ActiveParamsTesterBase :: from_timeGetOut_static( Fw::PassiveComponentBase* const callComp, FwIndexType portNum, Fw::Time& time ) { ActiveParamsTesterBase* _testerBase = static_cast(callComp); time = _testerBase->m_testTime; } void ActiveParamsTesterBase :: from_noArgsOut_static( Fw::PassiveComponentBase* const callComp, FwIndexType portNum ) { FW_ASSERT(callComp != nullptr); ActiveParamsTesterBase* _testerBase = static_cast(callComp); _testerBase->from_noArgsOut_handlerBase(portNum); } U32 ActiveParamsTesterBase :: from_noArgsReturnOut_static( Fw::PassiveComponentBase* const callComp, FwIndexType portNum ) { FW_ASSERT(callComp != nullptr); ActiveParamsTesterBase* _testerBase = static_cast(callComp); return _testerBase->from_noArgsReturnOut_handlerBase(portNum); } void ActiveParamsTesterBase :: from_typedOut_static( Fw::PassiveComponentBase* const callComp, FwIndexType portNum, U32 u32, F32 f32, bool b, const Fw::StringBase& str1, const E& e, const A& a, const S& s ) { FW_ASSERT(callComp != nullptr); ActiveParamsTesterBase* _testerBase = static_cast(callComp); _testerBase->from_typedOut_handlerBase( portNum, u32, f32, b, str1, e, a, s ); } F32 ActiveParamsTesterBase :: from_typedReturnOut_static( Fw::PassiveComponentBase* const callComp, FwIndexType portNum, U32 u32, F32 f32, bool b, const Fw::StringBase& str2, const E& e, const A& a, const S& s ) { FW_ASSERT(callComp != nullptr); ActiveParamsTesterBase* _testerBase = static_cast(callComp); return _testerBase->from_typedReturnOut_handlerBase( portNum, u32, f32, b, str2, e, a, s ); }