7 #ifndef Svc_DpManagerComponentAc_HPP 8 #define Svc_DpManagerComponentAc_HPP 26 #if FW_ENABLE_TEXT_LOGGING == 1 29 #if !FW_DIRECT_PORT_CALLS 32 #if !FW_DIRECT_PORT_CALLS 131 #if !FW_DIRECT_PORT_CALLS 148 #if !FW_DIRECT_PORT_CALLS 186 #if !FW_DIRECT_PORT_CALLS 212 #if FW_ENABLE_TEXT_LOGGING == 1 215 void set_textEventOut_OutputPort(
236 #if !FW_DIRECT_PORT_CALLS 264 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 275 Fw::InputSerializePort* port
281 Fw::InputSerializePort* port
287 Fw::InputSerializePort* port
290 #if FW_ENABLE_TEXT_LOGGING == 1 293 void set_textEventOut_OutputPort(
295 Fw::InputSerializePort* port
303 Fw::InputSerializePort* port
309 Fw::InputSerializePort* port
314 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 325 Fw::InputSerializePort* port
331 Fw::InputSerializePort* port
355 const char* compName =
"" 435 #if FW_ENABLE_TEXT_LOGGING == 1 440 static constexpr
FwIndexType getNum_textEventOut_OutputPorts() {
514 #if FW_ENABLE_TEXT_LOGGING == 1 519 bool isConnected_textEventOut_OutputPort(
566 #if FW_DIRECT_PORT_CALLS 620 #if FW_DIRECT_PORT_CALLS 879 static void m_p_cmdIn_in(
903 static void m_p_productRequestIn_in(
911 static void m_p_productSendIn_in(
919 static void m_p_schedIn_in(
938 void cmdResponseOut_out(
954 #if FW_ENABLE_TEXT_LOGGING 957 void textEventOut_out(
981 #if !FW_DIRECT_PORT_CALLS 994 #if !FW_DIRECT_PORT_CALLS 1016 #if !FW_DIRECT_PORT_CALLS 1033 #if FW_ENABLE_TEXT_LOGGING == 1 1048 #if !FW_DIRECT_PORT_CALLS 1074 std::atomic<FwIndexType> m_BufferAllocationFailedThrottle;
1083 bool m_first_update_NumSuccessfulAllocations =
true;
1086 bool m_first_update_NumFailedAllocations =
true;
1089 bool m_first_update_NumDataProducts =
true;
1092 bool m_first_update_NumBytes =
true;
1101 U32 m_last_NumSuccessfulAllocations = {};
1104 U32 m_last_NumFailedAllocations = {};
1107 U32 m_last_NumDataProducts = {};
1110 U64 m_last_NumBytes = {};
Svc::InputSchedPort * get_schedIn_InputPort(FwIndexType portNum)
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
static constexpr FwIndexType getNum_cmdIn_InputPorts()
void set_productSendOut_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to productSendOut[portNum].
static constexpr FwIndexType getNum_productGetIn_InputPorts()
static constexpr FwIndexType getNum_productRequestIn_InputPorts()
FwIdType FwOpcodeType
The type of a command opcode.
static constexpr FwIndexType getNum_eventOut_OutputPorts()
static constexpr FwIndexType getNum_bufferGetOut_OutputPorts()
void log_WARNING_HI_BufferAllocationFailed_ThrottleClear()
Reset throttle value for BufferAllocationFailed.
PlatformSizeType FwSizeType
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
Throttle reset count for BufferAllocationFailed.
Channel ID for NumSuccessfulAllocations.
void set_timeGetOut_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeGetOut[portNum].
virtual void schedIn_handler(FwIndexType portNum, U32 context)=0
Handler for input port schedIn.
bool isConnected_productResponseOut_OutputPort(FwIndexType portNum) const
void cmdIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port cmdIn.
static constexpr FwIndexType getNum_productSendOut_OutputPorts()
bool isConnected_bufferGetOut_OutputPort(FwIndexType portNum) const
virtual ~DpManagerComponentBase()
Destroy DpManagerComponentBase object.
void productRequestIn_handlerBase(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize)
Handler base-class function for input port productRequestIn.
Enum representing a command response.
void tlmWrite_NumSuccessfulAllocations(U32 arg, Fw::Time _tlmTime=Fw::Time())
bool isConnected_tlmOut_OutputPort(FwIndexType portNum) const
void tlmWrite_NumFailedAllocations(U32 arg, Fw::Time _tlmTime=Fw::Time())
bool isConnected_cmdRegIn_OutputPort(FwIndexType portNum) const
void productSendIn_handlerBase(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer)
Handler base-class function for input port productSendIn.
void init()
Object initializer.
Fw::InputDpGetPort * get_productGetIn_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_productResponseOut_OutputPorts()
virtual void productSendIn_handler(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer)=0
Handler for input port productSendIn.
virtual Fw::Success productGetIn_handler(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize, Fw::Buffer &buffer)=0
Handler for input port productGetIn.
FwIdType FwEventIdType
The type of an event identifier.
virtual void productSendIn_preMsgHook(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer)
Pre-message hook for async input port productSendIn.
friend class DpManagerTesterBase
Friend class tester to support autocoded test harness.
Fw::InputDpSendPort * get_productSendIn_InputPort(FwIndexType portNum)
void productResponseOut_out(FwIndexType portNum, FwDpIdType id, const Fw::Buffer &buffer, const Fw::Success &status) const
Invoke output port productResponseOut.
void tlmWrite_NumDataProducts(U32 arg, Fw::Time _tlmTime=Fw::Time())
virtual void schedIn_preMsgHook(FwIndexType portNum, U32 context)
Pre-message hook for async input port schedIn.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
static constexpr FwIndexType getNum_cmdRegIn_OutputPorts()
virtual void CLEAR_EVENT_THROTTLE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq)=0
void CLEAR_EVENT_THROTTLE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
static constexpr FwIndexType getNum_schedIn_InputPorts()
Enum representing event severity.
static constexpr FwIndexType getNum_timeGetOut_OutputPorts()
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum) const
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
Buffer allocation failed.
bool isConnected_eventOut_OutputPort(FwIndexType portNum) const
Auto-generated base for DpManager component.
void schedIn_handlerBase(FwIndexType portNum, U32 context)
Handler base-class function for input port schedIn.
static constexpr FwIndexType getNum_productSendIn_InputPorts()
virtual void productRequestIn_handler(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize)=0
Handler for input port productRequestIn.
Fw::Buffer bufferGetOut_out(FwIndexType portNum, FwSizeType size) const
Invoke output port bufferGetOut.
void log_WARNING_HI_BufferAllocationFailed(FwDpIdType id)
FwIdType FwDpIdType
The type of a data product identifier.
Channel ID for NumFailedAllocations.
void productSendOut_out(FwIndexType portNum, Fw::Buffer &fwBuffer) const
Invoke output port productSendOut.
void set_productResponseOut_OutputPort(FwIndexType portNum, Fw::InputDpResponsePort *port)
Connect port to productResponseOut[portNum].
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
PlatformIndexType FwIndexType
virtual void productRequestIn_preMsgHook(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize)
Pre-message hook for async input port productRequestIn.
DpManagerComponentBase(const char *compName="")
Construct DpManagerComponentBase object.
Fw::InputDpRequestPort * get_productRequestIn_InputPort(FwIndexType portNum)
bool isConnected_productSendOut_OutputPort(FwIndexType portNum) const
void regCommands()
Register commands with the Command Dispatcher.
Channel ID for NumDataProducts.
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
RateGroupDivider component implementation.
void set_bufferGetOut_OutputPort(FwIndexType portNum, Fw::InputBufferGetPort *port)
Connect port to bufferGetOut[portNum].
bool isConnected_timeGetOut_OutputPort(FwIndexType portNum) const
friend class DpManagerTester
Friend class tester implementation to support white-box testing.
Fw::Success productGetIn_handlerBase(FwIndexType portNum, FwDpIdType id, FwSizeType dataSize, Fw::Buffer &buffer)
Handler base-class function for input port productGetIn.
virtual void CLEAR_EVENT_THROTTLE_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command CLEAR_EVENT_THROTTLE.
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
void set_cmdRegIn_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegIn[portNum].
void tlmWrite_NumBytes(U64 arg, Fw::Time _tlmTime=Fw::Time())
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const