mirror of
https://github.com/nasa/fpp.git
synced 2025-12-13 08:41:15 -06:00
1869 lines
42 KiB
C++
1869 lines
42 KiB
C++
// ======================================================================
|
|
// \title PassiveCommandsTesterBase.cpp
|
|
// \author Generated by fpp-to-cpp
|
|
// \brief cpp file for PassiveCommands component test harness base class
|
|
// ======================================================================
|
|
|
|
#include <cstdlib>
|
|
#include <cstring>
|
|
|
|
#include "test-base/PassiveCommandsTesterBase.hpp"
|
|
|
|
// ----------------------------------------------------------------------
|
|
// Component initialization
|
|
// ----------------------------------------------------------------------
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
init(FwEnumStoreType instance)
|
|
{
|
|
// Initialize base class
|
|
Fw::PassiveComponentBase::init(instance);
|
|
|
|
// Connect input port cmdRegOut
|
|
for (
|
|
FwIndexType port = 0;
|
|
port < static_cast<FwIndexType>(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<FwIndexType>(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 timeGetOut
|
|
for (
|
|
FwIndexType port = 0;
|
|
port < static_cast<FwIndexType>(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<FwIndexType>(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<FwIndexType>(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<FwIndexType>(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<FwIndexType>(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<FwIndexType>(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 noArgsGuarded
|
|
for (
|
|
FwIndexType port = 0;
|
|
port < static_cast<FwIndexType>(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<FwIndexType>(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<FwIndexType>(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<FwIndexType>(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 typedGuarded
|
|
for (
|
|
FwIndexType port = 0;
|
|
port < static_cast<FwIndexType>(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<FwIndexType>(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<FwIndexType>(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<FwIndexType>(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 PassiveCommandsTesterBase ::
|
|
connect_to_cmdIn(
|
|
FwIndexType portNum,
|
|
Fw::InputCmdPort* port
|
|
)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_cmdIn(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
this->m_to_cmdIn[portNum].addCallPort(port);
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
connect_to_noArgsGuarded(
|
|
FwIndexType portNum,
|
|
Ports::InputNoArgsPort* port
|
|
)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_noArgsGuarded(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
this->m_to_noArgsGuarded[portNum].addCallPort(port);
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
connect_to_noArgsReturnGuarded(
|
|
FwIndexType portNum,
|
|
Ports::InputNoArgsReturnPort* port
|
|
)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_noArgsReturnGuarded(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
this->m_to_noArgsReturnGuarded[portNum].addCallPort(port);
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
connect_to_noArgsReturnSync(
|
|
FwIndexType portNum,
|
|
Ports::InputNoArgsReturnPort* port
|
|
)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_noArgsReturnSync(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
this->m_to_noArgsReturnSync[portNum].addCallPort(port);
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
connect_to_noArgsSync(
|
|
FwIndexType portNum,
|
|
Ports::InputNoArgsPort* port
|
|
)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_noArgsSync(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
this->m_to_noArgsSync[portNum].addCallPort(port);
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
connect_to_typedGuarded(
|
|
FwIndexType portNum,
|
|
Ports::InputTypedPort* port
|
|
)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_typedGuarded(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
this->m_to_typedGuarded[portNum].addCallPort(port);
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
connect_to_typedReturnGuarded(
|
|
FwIndexType portNum,
|
|
Ports::InputTypedReturnPort* port
|
|
)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_typedReturnGuarded(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
this->m_to_typedReturnGuarded[portNum].addCallPort(port);
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
connect_to_typedReturnSync(
|
|
FwIndexType portNum,
|
|
Ports::InputTypedReturnPort* port
|
|
)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_typedReturnSync(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
this->m_to_typedReturnSync[portNum].addCallPort(port);
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
connect_to_typedSync(
|
|
FwIndexType portNum,
|
|
Ports::InputTypedPort* port
|
|
)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_typedSync(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
this->m_to_typedSync[portNum].addCallPort(port);
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
// Getters for from ports
|
|
// ----------------------------------------------------------------------
|
|
|
|
Fw::InputCmdRegPort* PassiveCommandsTesterBase ::
|
|
get_from_cmdRegOut(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_from_cmdRegOut(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return &this->m_from_cmdRegOut[portNum];
|
|
}
|
|
|
|
Fw::InputCmdResponsePort* PassiveCommandsTesterBase ::
|
|
get_from_cmdResponseOut(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_from_cmdResponseOut(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return &this->m_from_cmdResponseOut[portNum];
|
|
}
|
|
|
|
Fw::InputLogPort* PassiveCommandsTesterBase ::
|
|
get_from_eventOut(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_from_eventOut(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return &this->m_from_eventOut[portNum];
|
|
}
|
|
|
|
Fw::InputPrmGetPort* PassiveCommandsTesterBase ::
|
|
get_from_prmGetOut(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_from_prmGetOut(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return &this->m_from_prmGetOut[portNum];
|
|
}
|
|
|
|
Fw::InputPrmSetPort* PassiveCommandsTesterBase ::
|
|
get_from_prmSetOut(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_from_prmSetOut(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return &this->m_from_prmSetOut[portNum];
|
|
}
|
|
|
|
#if FW_ENABLE_TEXT_LOGGING == 1
|
|
|
|
Fw::InputLogTextPort* PassiveCommandsTesterBase ::
|
|
get_from_textEventOut(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_from_textEventOut(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return &this->m_from_textEventOut[portNum];
|
|
}
|
|
|
|
#endif
|
|
|
|
Fw::InputTimePort* PassiveCommandsTesterBase ::
|
|
get_from_timeGetOut(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_from_timeGetOut(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return &this->m_from_timeGetOut[portNum];
|
|
}
|
|
|
|
Fw::InputTlmPort* PassiveCommandsTesterBase ::
|
|
get_from_tlmOut(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_from_tlmOut(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return &this->m_from_tlmOut[portNum];
|
|
}
|
|
|
|
Ports::InputNoArgsPort* PassiveCommandsTesterBase ::
|
|
get_from_noArgsOut(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_from_noArgsOut(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return &this->m_from_noArgsOut[portNum];
|
|
}
|
|
|
|
Ports::InputNoArgsReturnPort* PassiveCommandsTesterBase ::
|
|
get_from_noArgsReturnOut(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_from_noArgsReturnOut(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return &this->m_from_noArgsReturnOut[portNum];
|
|
}
|
|
|
|
Ports::InputTypedPort* PassiveCommandsTesterBase ::
|
|
get_from_typedOut(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_from_typedOut(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return &this->m_from_typedOut[portNum];
|
|
}
|
|
|
|
Ports::InputTypedReturnPort* PassiveCommandsTesterBase ::
|
|
get_from_typedReturnOut(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_from_typedReturnOut(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return &this->m_from_typedReturnOut[portNum];
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
// Component construction and destruction
|
|
// ----------------------------------------------------------------------
|
|
|
|
PassiveCommandsTesterBase ::
|
|
PassiveCommandsTesterBase(
|
|
const char* const compName,
|
|
const U32 maxHistorySize
|
|
) :
|
|
Fw::PassiveComponentBase(compName)
|
|
{
|
|
// Initialize port histories
|
|
this->fromPortHistory_typedOut = new History<FromPortEntry_typedOut>(maxHistorySize);
|
|
this->fromPortHistory_typedReturnOut = new History<FromPortEntry_typedReturnOut>(maxHistorySize);
|
|
|
|
// Initialize command history
|
|
this->cmdResponseHistory = new History<CmdResponse>(maxHistorySize);
|
|
|
|
// Clear history
|
|
this->clearHistory();
|
|
}
|
|
|
|
PassiveCommandsTesterBase ::
|
|
~PassiveCommandsTesterBase()
|
|
{
|
|
// 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 PassiveCommandsTesterBase ::
|
|
from_noArgsOut_handler(FwIndexType portNum)
|
|
{
|
|
this->pushFromPortEntry_noArgsOut();
|
|
}
|
|
|
|
U32 PassiveCommandsTesterBase ::
|
|
from_noArgsReturnOut_handler(FwIndexType portNum)
|
|
{
|
|
this->pushFromPortEntry_noArgsReturnOut();
|
|
return 0;
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
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 PassiveCommandsTesterBase ::
|
|
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 PassiveCommandsTesterBase ::
|
|
from_noArgsOut_handlerBase(FwIndexType portNum)
|
|
{
|
|
// Make sure port number is valid
|
|
FW_ASSERT(
|
|
portNum < this->getNum_from_noArgsOut(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
this->from_noArgsOut_handler(portNum);
|
|
}
|
|
|
|
U32 PassiveCommandsTesterBase ::
|
|
from_noArgsReturnOut_handlerBase(FwIndexType portNum)
|
|
{
|
|
// Make sure port number is valid
|
|
FW_ASSERT(
|
|
portNum < this->getNum_from_noArgsReturnOut(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
return this->from_noArgsReturnOut_handler(portNum);
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
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<FwAssertArgType>(portNum)
|
|
);
|
|
this->from_typedOut_handler(
|
|
portNum,
|
|
u32,
|
|
f32,
|
|
b,
|
|
str1,
|
|
e,
|
|
a,
|
|
s
|
|
);
|
|
}
|
|
|
|
F32 PassiveCommandsTesterBase ::
|
|
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<FwAssertArgType>(portNum)
|
|
);
|
|
return this->from_typedReturnOut_handler(
|
|
portNum,
|
|
u32,
|
|
f32,
|
|
b,
|
|
str2,
|
|
e,
|
|
a,
|
|
s
|
|
);
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
// Invocation functions for to ports
|
|
// ----------------------------------------------------------------------
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
invoke_to_noArgsGuarded(FwIndexType portNum)
|
|
{
|
|
// Make sure port number is valid
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_noArgsGuarded(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
this->m_to_noArgsGuarded[portNum].invoke();
|
|
}
|
|
|
|
U32 PassiveCommandsTesterBase ::
|
|
invoke_to_noArgsReturnGuarded(FwIndexType portNum)
|
|
{
|
|
// Make sure port number is valid
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_noArgsReturnGuarded(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
return this->m_to_noArgsReturnGuarded[portNum].invoke();
|
|
}
|
|
|
|
U32 PassiveCommandsTesterBase ::
|
|
invoke_to_noArgsReturnSync(FwIndexType portNum)
|
|
{
|
|
// Make sure port number is valid
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_noArgsReturnSync(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
return this->m_to_noArgsReturnSync[portNum].invoke();
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
invoke_to_noArgsSync(FwIndexType portNum)
|
|
{
|
|
// Make sure port number is valid
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_noArgsSync(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
this->m_to_noArgsSync[portNum].invoke();
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
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<FwAssertArgType>(portNum)
|
|
);
|
|
this->m_to_typedGuarded[portNum].invoke(
|
|
u32,
|
|
f32,
|
|
b,
|
|
str1,
|
|
e,
|
|
a,
|
|
s
|
|
);
|
|
}
|
|
|
|
F32 PassiveCommandsTesterBase ::
|
|
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<FwAssertArgType>(portNum)
|
|
);
|
|
return this->m_to_typedReturnGuarded[portNum].invoke(
|
|
u32,
|
|
f32,
|
|
b,
|
|
str2,
|
|
e,
|
|
a,
|
|
s
|
|
);
|
|
}
|
|
|
|
F32 PassiveCommandsTesterBase ::
|
|
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<FwAssertArgType>(portNum)
|
|
);
|
|
return this->m_to_typedReturnSync[portNum].invoke(
|
|
u32,
|
|
f32,
|
|
b,
|
|
str2,
|
|
e,
|
|
a,
|
|
s
|
|
);
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
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<FwAssertArgType>(portNum)
|
|
);
|
|
this->m_to_typedSync[portNum].invoke(
|
|
u32,
|
|
f32,
|
|
b,
|
|
str1,
|
|
e,
|
|
a,
|
|
s
|
|
);
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
// Getters for port counts
|
|
// ----------------------------------------------------------------------
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_to_cmdIn() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_to_cmdIn));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_to_noArgsGuarded() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_to_noArgsGuarded));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_to_noArgsReturnGuarded() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_to_noArgsReturnGuarded));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_to_noArgsReturnSync() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_to_noArgsReturnSync));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_to_noArgsSync() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_to_noArgsSync));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_to_typedGuarded() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_to_typedGuarded));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_to_typedReturnGuarded() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_to_typedReturnGuarded));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_to_typedReturnSync() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_to_typedReturnSync));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_to_typedSync() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_to_typedSync));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_from_cmdRegOut() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_from_cmdRegOut));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_from_cmdResponseOut() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_from_cmdResponseOut));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_from_eventOut() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_from_eventOut));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_from_prmGetOut() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_from_prmGetOut));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_from_prmSetOut() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_from_prmSetOut));
|
|
}
|
|
|
|
#if FW_ENABLE_TEXT_LOGGING == 1
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_from_textEventOut() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_from_textEventOut));
|
|
}
|
|
|
|
#endif
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_from_timeGetOut() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_from_timeGetOut));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_from_tlmOut() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_from_tlmOut));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_from_noArgsOut() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_from_noArgsOut));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_from_noArgsReturnOut() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_from_noArgsReturnOut));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_from_typedOut() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_from_typedOut));
|
|
}
|
|
|
|
FwIndexType PassiveCommandsTesterBase ::
|
|
getNum_from_typedReturnOut() const
|
|
{
|
|
return static_cast<FwIndexType>(FW_NUM_ARRAY_ELEMENTS(this->m_from_typedReturnOut));
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
// Connection status queries for to ports
|
|
// ----------------------------------------------------------------------
|
|
|
|
bool PassiveCommandsTesterBase ::
|
|
isConnected_to_cmdIn(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_cmdIn(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return this->m_to_cmdIn[portNum].isConnected();
|
|
}
|
|
|
|
bool PassiveCommandsTesterBase ::
|
|
isConnected_to_noArgsGuarded(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_noArgsGuarded(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return this->m_to_noArgsGuarded[portNum].isConnected();
|
|
}
|
|
|
|
bool PassiveCommandsTesterBase ::
|
|
isConnected_to_noArgsReturnGuarded(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_noArgsReturnGuarded(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return this->m_to_noArgsReturnGuarded[portNum].isConnected();
|
|
}
|
|
|
|
bool PassiveCommandsTesterBase ::
|
|
isConnected_to_noArgsReturnSync(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_noArgsReturnSync(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return this->m_to_noArgsReturnSync[portNum].isConnected();
|
|
}
|
|
|
|
bool PassiveCommandsTesterBase ::
|
|
isConnected_to_noArgsSync(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_noArgsSync(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return this->m_to_noArgsSync[portNum].isConnected();
|
|
}
|
|
|
|
bool PassiveCommandsTesterBase ::
|
|
isConnected_to_typedGuarded(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_typedGuarded(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return this->m_to_typedGuarded[portNum].isConnected();
|
|
}
|
|
|
|
bool PassiveCommandsTesterBase ::
|
|
isConnected_to_typedReturnGuarded(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_typedReturnGuarded(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return this->m_to_typedReturnGuarded[portNum].isConnected();
|
|
}
|
|
|
|
bool PassiveCommandsTesterBase ::
|
|
isConnected_to_typedReturnSync(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_typedReturnSync(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return this->m_to_typedReturnSync[portNum].isConnected();
|
|
}
|
|
|
|
bool PassiveCommandsTesterBase ::
|
|
isConnected_to_typedSync(FwIndexType portNum)
|
|
{
|
|
FW_ASSERT(
|
|
portNum < this->getNum_to_typedSync(),
|
|
static_cast<FwAssertArgType>(portNum)
|
|
);
|
|
|
|
return this->m_to_typedSync[portNum].isConnected();
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
// Functions for testing commands
|
|
// ----------------------------------------------------------------------
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
cmdResponseIn(
|
|
FwOpcodeType opCode,
|
|
U32 cmdSeq,
|
|
Fw::CmdResponse response
|
|
)
|
|
{
|
|
CmdResponse e = { opCode, cmdSeq, response };
|
|
this->cmdResponseHistory->push_back(e);
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
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");
|
|
}
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
sendCmd_CMD_SYNC(
|
|
const FwEnumStoreType instance,
|
|
U32 cmdSeq
|
|
)
|
|
{
|
|
Fw::CmdArgBuffer buf;
|
|
|
|
// Call output command port
|
|
FwOpcodeType _opcode;
|
|
const U32 idBase = this->getIdBase();
|
|
_opcode = PassiveCommandsComponentBase::OPCODE_CMD_SYNC + 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");
|
|
}
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
sendCmd_CMD_SYNC_PRIMITIVE(
|
|
const FwEnumStoreType instance,
|
|
U32 cmdSeq,
|
|
U32 u32,
|
|
F32 f32,
|
|
bool b
|
|
)
|
|
{
|
|
// Serialize arguments
|
|
Fw::CmdArgBuffer buf;
|
|
Fw::SerializeStatus _status;
|
|
|
|
_status = buf.serialize(u32);
|
|
FW_ASSERT(
|
|
_status == Fw::FW_SERIALIZE_OK,
|
|
static_cast<FwAssertArgType>(_status)
|
|
);
|
|
|
|
_status = buf.serialize(f32);
|
|
FW_ASSERT(
|
|
_status == Fw::FW_SERIALIZE_OK,
|
|
static_cast<FwAssertArgType>(_status)
|
|
);
|
|
|
|
_status = buf.serialize(b);
|
|
FW_ASSERT(
|
|
_status == Fw::FW_SERIALIZE_OK,
|
|
static_cast<FwAssertArgType>(_status)
|
|
);
|
|
|
|
// Call output command port
|
|
FwOpcodeType _opcode;
|
|
const U32 idBase = this->getIdBase();
|
|
_opcode = PassiveCommandsComponentBase::OPCODE_CMD_SYNC_PRIMITIVE + 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");
|
|
}
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
sendCmd_CMD_SYNC_STRING(
|
|
const FwEnumStoreType instance,
|
|
U32 cmdSeq,
|
|
const Fw::StringBase& str1,
|
|
const Fw::StringBase& str2
|
|
)
|
|
{
|
|
// Serialize arguments
|
|
Fw::CmdArgBuffer buf;
|
|
Fw::SerializeStatus _status;
|
|
|
|
_status = str1.serialize(buf, FW_CMD_STRING_MAX_SIZE);
|
|
FW_ASSERT(
|
|
_status == Fw::FW_SERIALIZE_OK,
|
|
static_cast<FwAssertArgType>(_status)
|
|
);
|
|
|
|
_status = str2.serialize(buf, FW_CMD_STRING_MAX_SIZE);
|
|
FW_ASSERT(
|
|
_status == Fw::FW_SERIALIZE_OK,
|
|
static_cast<FwAssertArgType>(_status)
|
|
);
|
|
|
|
// Call output command port
|
|
FwOpcodeType _opcode;
|
|
const U32 idBase = this->getIdBase();
|
|
_opcode = PassiveCommandsComponentBase::OPCODE_CMD_SYNC_STRING + 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");
|
|
}
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
sendCmd_CMD_SYNC_ENUM(
|
|
const FwEnumStoreType instance,
|
|
U32 cmdSeq,
|
|
E e
|
|
)
|
|
{
|
|
// Serialize arguments
|
|
Fw::CmdArgBuffer buf;
|
|
Fw::SerializeStatus _status;
|
|
|
|
_status = buf.serialize(e);
|
|
FW_ASSERT(
|
|
_status == Fw::FW_SERIALIZE_OK,
|
|
static_cast<FwAssertArgType>(_status)
|
|
);
|
|
|
|
// Call output command port
|
|
FwOpcodeType _opcode;
|
|
const U32 idBase = this->getIdBase();
|
|
_opcode = PassiveCommandsComponentBase::OPCODE_CMD_SYNC_ENUM + 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");
|
|
}
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
sendCmd_CMD_SYNC_ARRAY(
|
|
const FwEnumStoreType instance,
|
|
U32 cmdSeq,
|
|
A a
|
|
)
|
|
{
|
|
// Serialize arguments
|
|
Fw::CmdArgBuffer buf;
|
|
Fw::SerializeStatus _status;
|
|
|
|
_status = buf.serialize(a);
|
|
FW_ASSERT(
|
|
_status == Fw::FW_SERIALIZE_OK,
|
|
static_cast<FwAssertArgType>(_status)
|
|
);
|
|
|
|
// Call output command port
|
|
FwOpcodeType _opcode;
|
|
const U32 idBase = this->getIdBase();
|
|
_opcode = PassiveCommandsComponentBase::OPCODE_CMD_SYNC_ARRAY + 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");
|
|
}
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
sendCmd_CMD_SYNC_STRUCT(
|
|
const FwEnumStoreType instance,
|
|
U32 cmdSeq,
|
|
S s
|
|
)
|
|
{
|
|
// Serialize arguments
|
|
Fw::CmdArgBuffer buf;
|
|
Fw::SerializeStatus _status;
|
|
|
|
_status = buf.serialize(s);
|
|
FW_ASSERT(
|
|
_status == Fw::FW_SERIALIZE_OK,
|
|
static_cast<FwAssertArgType>(_status)
|
|
);
|
|
|
|
// Call output command port
|
|
FwOpcodeType _opcode;
|
|
const U32 idBase = this->getIdBase();
|
|
_opcode = PassiveCommandsComponentBase::OPCODE_CMD_SYNC_STRUCT + 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");
|
|
}
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
sendCmd_CMD_GUARDED(
|
|
const FwEnumStoreType instance,
|
|
U32 cmdSeq
|
|
)
|
|
{
|
|
Fw::CmdArgBuffer buf;
|
|
|
|
// Call output command port
|
|
FwOpcodeType _opcode;
|
|
const U32 idBase = this->getIdBase();
|
|
_opcode = PassiveCommandsComponentBase::OPCODE_CMD_GUARDED + 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");
|
|
}
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
sendCmd_CMD_GUARDED_PRIMITIVE(
|
|
const FwEnumStoreType instance,
|
|
U32 cmdSeq,
|
|
U32 u32,
|
|
F32 f32,
|
|
bool b
|
|
)
|
|
{
|
|
// Serialize arguments
|
|
Fw::CmdArgBuffer buf;
|
|
Fw::SerializeStatus _status;
|
|
|
|
_status = buf.serialize(u32);
|
|
FW_ASSERT(
|
|
_status == Fw::FW_SERIALIZE_OK,
|
|
static_cast<FwAssertArgType>(_status)
|
|
);
|
|
|
|
_status = buf.serialize(f32);
|
|
FW_ASSERT(
|
|
_status == Fw::FW_SERIALIZE_OK,
|
|
static_cast<FwAssertArgType>(_status)
|
|
);
|
|
|
|
_status = buf.serialize(b);
|
|
FW_ASSERT(
|
|
_status == Fw::FW_SERIALIZE_OK,
|
|
static_cast<FwAssertArgType>(_status)
|
|
);
|
|
|
|
// Call output command port
|
|
FwOpcodeType _opcode;
|
|
const U32 idBase = this->getIdBase();
|
|
_opcode = PassiveCommandsComponentBase::OPCODE_CMD_GUARDED_PRIMITIVE + 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");
|
|
}
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
sendCmd_CMD_GUARDED_STRING(
|
|
const FwEnumStoreType instance,
|
|
U32 cmdSeq,
|
|
const Fw::StringBase& str1,
|
|
const Fw::StringBase& str2
|
|
)
|
|
{
|
|
// Serialize arguments
|
|
Fw::CmdArgBuffer buf;
|
|
Fw::SerializeStatus _status;
|
|
|
|
_status = str1.serialize(buf, FW_CMD_STRING_MAX_SIZE);
|
|
FW_ASSERT(
|
|
_status == Fw::FW_SERIALIZE_OK,
|
|
static_cast<FwAssertArgType>(_status)
|
|
);
|
|
|
|
_status = str2.serialize(buf, FW_CMD_STRING_MAX_SIZE);
|
|
FW_ASSERT(
|
|
_status == Fw::FW_SERIALIZE_OK,
|
|
static_cast<FwAssertArgType>(_status)
|
|
);
|
|
|
|
// Call output command port
|
|
FwOpcodeType _opcode;
|
|
const U32 idBase = this->getIdBase();
|
|
_opcode = PassiveCommandsComponentBase::OPCODE_CMD_GUARDED_STRING + 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");
|
|
}
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
sendCmd_CMD_GUARDED_ENUM(
|
|
const FwEnumStoreType instance,
|
|
U32 cmdSeq,
|
|
E e
|
|
)
|
|
{
|
|
// Serialize arguments
|
|
Fw::CmdArgBuffer buf;
|
|
Fw::SerializeStatus _status;
|
|
|
|
_status = buf.serialize(e);
|
|
FW_ASSERT(
|
|
_status == Fw::FW_SERIALIZE_OK,
|
|
static_cast<FwAssertArgType>(_status)
|
|
);
|
|
|
|
// Call output command port
|
|
FwOpcodeType _opcode;
|
|
const U32 idBase = this->getIdBase();
|
|
_opcode = PassiveCommandsComponentBase::OPCODE_CMD_GUARDED_ENUM + 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");
|
|
}
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
sendCmd_CMD_GUARDED_ARRAY(
|
|
const FwEnumStoreType instance,
|
|
U32 cmdSeq,
|
|
A a
|
|
)
|
|
{
|
|
// Serialize arguments
|
|
Fw::CmdArgBuffer buf;
|
|
Fw::SerializeStatus _status;
|
|
|
|
_status = buf.serialize(a);
|
|
FW_ASSERT(
|
|
_status == Fw::FW_SERIALIZE_OK,
|
|
static_cast<FwAssertArgType>(_status)
|
|
);
|
|
|
|
// Call output command port
|
|
FwOpcodeType _opcode;
|
|
const U32 idBase = this->getIdBase();
|
|
_opcode = PassiveCommandsComponentBase::OPCODE_CMD_GUARDED_ARRAY + 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");
|
|
}
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
sendCmd_CMD_GUARDED_STRUCT(
|
|
const FwEnumStoreType instance,
|
|
U32 cmdSeq,
|
|
S s
|
|
)
|
|
{
|
|
// Serialize arguments
|
|
Fw::CmdArgBuffer buf;
|
|
Fw::SerializeStatus _status;
|
|
|
|
_status = buf.serialize(s);
|
|
FW_ASSERT(
|
|
_status == Fw::FW_SERIALIZE_OK,
|
|
static_cast<FwAssertArgType>(_status)
|
|
);
|
|
|
|
// Call output command port
|
|
FwOpcodeType _opcode;
|
|
const U32 idBase = this->getIdBase();
|
|
_opcode = PassiveCommandsComponentBase::OPCODE_CMD_GUARDED_STRUCT + 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 time
|
|
// ----------------------------------------------------------------------
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
setTestTime(const Fw::Time& timeTag)
|
|
{
|
|
this->m_testTime = timeTag;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
// History functions
|
|
// ----------------------------------------------------------------------
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
clearHistory()
|
|
{
|
|
this->clearFromPortHistory();
|
|
this->cmdResponseHistory->clear();
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
clearFromPortHistory()
|
|
{
|
|
this->fromPortHistorySize = 0;
|
|
this->fromPortHistorySize_noArgsOut = 0;
|
|
this->fromPortHistorySize_noArgsReturnOut = 0;
|
|
this->fromPortHistory_typedOut->clear();
|
|
this->fromPortHistory_typedReturnOut->clear();
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
pushFromPortEntry_noArgsOut()
|
|
{
|
|
this->fromPortHistorySize_noArgsOut++;
|
|
this->fromPortHistorySize++;
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
pushFromPortEntry_noArgsReturnOut()
|
|
{
|
|
this->fromPortHistorySize_noArgsReturnOut++;
|
|
this->fromPortHistorySize++;
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
pushFromPortEntry_typedOut(
|
|
U32 u32,
|
|
F32 f32,
|
|
bool b,
|
|
const Fw::StringBase& str1,
|
|
const E& e,
|
|
const A& a,
|
|
const S& s
|
|
)
|
|
{
|
|
FromPortEntry_typedOut _e = {
|
|
u32,
|
|
f32,
|
|
b,
|
|
str1,
|
|
e,
|
|
a,
|
|
s
|
|
};
|
|
this->fromPortHistory_typedOut->push_back(_e);
|
|
this->fromPortHistorySize++;
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
pushFromPortEntry_typedReturnOut(
|
|
U32 u32,
|
|
F32 f32,
|
|
bool b,
|
|
const Fw::StringBase& str2,
|
|
const E& e,
|
|
const A& a,
|
|
const S& s
|
|
)
|
|
{
|
|
FromPortEntry_typedReturnOut _e = {
|
|
u32,
|
|
f32,
|
|
b,
|
|
str2,
|
|
e,
|
|
a,
|
|
s
|
|
};
|
|
this->fromPortHistory_typedReturnOut->push_back(_e);
|
|
this->fromPortHistorySize++;
|
|
}
|
|
|
|
// ----------------------------------------------------------------------
|
|
// Static functions for output ports
|
|
// ----------------------------------------------------------------------
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
from_cmdRegOut_static(
|
|
Fw::PassiveComponentBase* const callComp,
|
|
FwIndexType portNum,
|
|
FwOpcodeType opCode
|
|
)
|
|
{
|
|
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
from_cmdResponseOut_static(
|
|
Fw::PassiveComponentBase* const callComp,
|
|
FwIndexType portNum,
|
|
FwOpcodeType opCode,
|
|
U32 cmdSeq,
|
|
const Fw::CmdResponse& response
|
|
)
|
|
{
|
|
PassiveCommandsTesterBase* _testerBase = static_cast<PassiveCommandsTesterBase*>(callComp);
|
|
_testerBase->cmdResponseIn(opCode, cmdSeq, response);
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
from_timeGetOut_static(
|
|
Fw::PassiveComponentBase* const callComp,
|
|
FwIndexType portNum,
|
|
Fw::Time& time
|
|
)
|
|
{
|
|
PassiveCommandsTesterBase* _testerBase = static_cast<PassiveCommandsTesterBase*>(callComp);
|
|
time = _testerBase->m_testTime;
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
from_noArgsOut_static(
|
|
Fw::PassiveComponentBase* const callComp,
|
|
FwIndexType portNum
|
|
)
|
|
{
|
|
FW_ASSERT(callComp != nullptr);
|
|
PassiveCommandsTesterBase* _testerBase = static_cast<PassiveCommandsTesterBase*>(callComp);
|
|
_testerBase->from_noArgsOut_handlerBase(portNum);
|
|
}
|
|
|
|
U32 PassiveCommandsTesterBase ::
|
|
from_noArgsReturnOut_static(
|
|
Fw::PassiveComponentBase* const callComp,
|
|
FwIndexType portNum
|
|
)
|
|
{
|
|
FW_ASSERT(callComp != nullptr);
|
|
PassiveCommandsTesterBase* _testerBase = static_cast<PassiveCommandsTesterBase*>(callComp);
|
|
return _testerBase->from_noArgsReturnOut_handlerBase(portNum);
|
|
}
|
|
|
|
void PassiveCommandsTesterBase ::
|
|
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);
|
|
PassiveCommandsTesterBase* _testerBase = static_cast<PassiveCommandsTesterBase*>(callComp);
|
|
_testerBase->from_typedOut_handlerBase(
|
|
portNum,
|
|
u32,
|
|
f32,
|
|
b,
|
|
str1,
|
|
e,
|
|
a,
|
|
s
|
|
);
|
|
}
|
|
|
|
F32 PassiveCommandsTesterBase ::
|
|
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);
|
|
PassiveCommandsTesterBase* _testerBase = static_cast<PassiveCommandsTesterBase*>(callComp);
|
|
return _testerBase->from_typedReturnOut_handlerBase(
|
|
portNum,
|
|
u32,
|
|
f32,
|
|
b,
|
|
str2,
|
|
e,
|
|
a,
|
|
s
|
|
);
|
|
}
|