7 #ifndef Svc_BufferAccumulatorComponentAc_HPP
8 #define Svc_BufferAccumulatorComponentAc_HPP
19 #if FW_ENABLE_TEXT_LOGGING == 1
179 #if FW_ENABLE_TEXT_LOGGING == 1
182 void set_eventOutText_OutputPort(
225 #if FW_PORT_SERIALIZATION
236 Fw::InputSerializePort* port
242 Fw::InputSerializePort* port
248 Fw::InputSerializePort* port
251 #if FW_ENABLE_TEXT_LOGGING == 1
254 void set_eventOutText_OutputPort(
256 Fw::InputSerializePort* port
264 Fw::InputSerializePort* port
270 Fw::InputSerializePort* port
275 #if FW_PORT_SERIALIZATION
286 Fw::InputSerializePort* port
292 Fw::InputSerializePort* port
298 Fw::InputSerializePort* port
322 const char* compName =
""
381 #if FW_ENABLE_TEXT_LOGGING == 1
386 FwIndexType getNum_eventOutText_OutputPorts()
const;
448 #if FW_ENABLE_TEXT_LOGGING == 1
453 bool isConnected_eventOutText_OutputPort(
779 static void m_p_cmdIn_in(
794 static void m_p_bufferSendInFill_in(
801 static void m_p_bufferSendInReturn_in(
808 static void m_p_pingIn_in(
853 #if FW_ENABLE_TEXT_LOGGING == 1
PlatformSizeType FwSizeType
PlatformIndexType FwIndexType
C++-compatible configuration header for fprime configuration.
Enum representing a command response.
void init()
Object initializer.
Auto-generated base for BufferAccumulator component.
void bufferSendOutReturn_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port bufferSendOutReturn.
FwIndexType getNum_bufferSendOutDrain_OutputPorts() const
@ NUM_BUFFERSENDINFILL_INPUT_PORTS
@ NUM_BUFFERSENDINRETURN_INPUT_PORTS
FwIndexType getNum_cmdResponseOut_OutputPorts() const
void set_pingOut_OutputPort(FwIndexType portNum, Svc::InputPingPort *port)
Connect port to pingOut[portNum].
void log_WARNING_HI_BA_StillDraining(U32 numDrained, U32 numToDrain)
virtual void bufferSendInReturn_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendInReturn.
BufferAccumulatorComponentBase(const char *compName="")
Construct BufferAccumulatorComponentBase object.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum)
bool isConnected_bufferSendOutReturn_OutputPort(FwIndexType portNum)
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum)
virtual void bufferSendInFill_handler(FwIndexType portNum, Fw::Buffer &fwBuffer)=0
Handler for input port bufferSendInFill.
FwIndexType getNum_timeCaller_OutputPorts() const
FwIndexType getNum_bufferSendInFill_InputPorts() const
void log_ACTIVITY_HI_BA_PartialDrainDone(U32 numDrained)
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
@ NUM_PINGOUT_OUTPUT_PORTS
@ NUM_BUFFERSENDOUTDRAIN_OUTPUT_PORTS
@ NUM_BUFFERSENDOUTRETURN_OUTPUT_PORTS
@ NUM_CMDREGOUT_OUTPUT_PORTS
@ NUM_TIMECALLER_OUTPUT_PORTS
@ NUM_TLMOUT_OUTPUT_PORTS
@ NUM_EVENTOUT_OUTPUT_PORTS
@ NUM_CMDRESPONSEOUT_OUTPUT_PORTS
@ NUM_EVENTOUTTEXT_OUTPUT_PORTS
virtual void BA_DrainBuffers_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, U32 numToDrain, Svc::BufferAccumulator_BlockMode blockMode)=0
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
virtual void pingIn_preMsgHook(FwIndexType portNum, U32 key)
Pre-message hook for async input port pingIn.
bool isConnected_tlmOut_OutputPort(FwIndexType portNum)
virtual void BA_DrainBuffers_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BA_DrainBuffers.
void log_ACTIVITY_HI_BA_BufferAccepted()
virtual void bufferSendInFill_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port bufferSendInFill.
friend class BufferAccumulatorComponentBaseFriend
Friend class for white-box testing.
FwIndexType getNum_tlmOut_OutputPorts() const
bool isConnected_bufferSendOutDrain_OutputPort(FwIndexType portNum)
bool isConnected_eventOut_OutputPort(FwIndexType portNum)
virtual void pingIn_handler(FwIndexType portNum, U32 key)=0
Handler for input port pingIn.
FwIndexType getNum_pingIn_InputPorts() const
void bufferSendInFill_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferSendInFill.
FwIndexType getNum_bufferSendInReturn_InputPorts() const
void set_eventOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to eventOut[portNum].
virtual void BA_SetMode_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::BufferAccumulator_OpState mode)=0
void BA_DrainBuffers_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
void log_WARNING_HI_BA_QueueFull()
void bufferSendOutDrain_out(FwIndexType portNum, Fw::Buffer &fwBuffer)
Invoke output port bufferSendOutDrain.
virtual ~BufferAccumulatorComponentBase()
Destroy BufferAccumulatorComponentBase object.
FwIndexType getNum_cmdRegOut_OutputPorts() const
bool isConnected_pingOut_OutputPort(FwIndexType portNum)
void pingIn_handlerBase(FwIndexType portNum, U32 key)
Handler base-class function for input port pingIn.
FwIndexType getNum_eventOut_OutputPorts() const
void log_WARNING_HI_BA_AlreadyDraining()
void log_WARNING_LO_BA_NonBlockDrain(U32 numWillDrain, U32 numReqDrain)
@ OPCODE_BA_SETMODE
Set the mode.
@ OPCODE_BA_DRAINBUFFERS
Drain the commanded number of buffers.
Fw::InputBufferSendPort * get_bufferSendInReturn_InputPort(FwIndexType portNum)
void log_WARNING_HI_BA_DrainStalled(U32 numDrained, U32 numToDrain)
Svc::InputPingPort * get_pingIn_InputPort(FwIndexType portNum)
void set_bufferSendOutDrain_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOutDrain[portNum].
FwIndexType getNum_cmdIn_InputPorts() const
void pingOut_out(FwIndexType portNum, U32 key)
Invoke output port pingOut.
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
void tlmWrite_BA_NumQueuedBuffers(U32 arg, Fw::Time _tlmTime=Fw::Time())
FwIndexType getNum_bufferSendOutReturn_OutputPorts() const
virtual void BA_SetMode_preMsgHook(FwOpcodeType opCode, U32 cmdSeq)
Pre-message hook for command BA_SetMode.
Fw::InputBufferSendPort * get_bufferSendInFill_InputPort(FwIndexType portNum)
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum)
void set_bufferSendOutReturn_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to bufferSendOutReturn[portNum].
@ CHANNELID_BA_NUMQUEUEDBUFFERS
Channel ID for BA_NumQueuedBuffers.
void BA_SetMode_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
void regCommands()
Register commands with the Command Dispatcher.
virtual void bufferSendInReturn_preMsgHook(FwIndexType portNum, Fw::Buffer &fwBuffer)
Pre-message hook for async input port bufferSendInReturn.
void bufferSendInReturn_handlerBase(FwIndexType portNum, Fw::Buffer &fwBuffer)
Handler base-class function for input port bufferSendInReturn.
FwIndexType getNum_pingOut_OutputPorts() const
@ EVENTID_BA_BUFFERACCEPTED
The Buffer Accumulator instance accepted and enqueued a buffer. To avoid uncontrolled sending of even...
@ EVENTID_BA_DRAINSTALLED
Ran out of buffers while executing DrainBuffers command.
@ EVENTID_BA_PARTIALDRAINDONE
Finished DrainBuffers command.
@ EVENTID_BA_QUEUEFULL
The Buffer Accumulator instance received a buffer when its queue was full. To avoid uncontrolled send...
@ EVENTID_BA_STILLDRAINING
Got DrainBuffers command while executing DrainBuffers command.
@ EVENTID_BA_NONBLOCKDRAIN
Not enough buffers to complete requested drain, and NOBLOCK was set; will only drain what we have.
@ EVENTID_BA_ALREADYDRAINING
Got DrainBuffers command while in DRAIN mode.