7 #ifndef Svc_Ccsds_AosDeframerComponentAc_HPP 8 #define Svc_Ccsds_AosDeframerComponentAc_HPP 19 #if !FW_DIRECT_PORT_CALLS 22 #if !FW_DIRECT_PORT_CALLS 127 #if !FW_DIRECT_PORT_CALLS 151 #if !FW_DIRECT_PORT_CALLS 165 #if FW_ENABLE_TEXT_LOGGING == 1 168 void set_logTextOut_OutputPort(
201 #if !FW_DIRECT_PORT_CALLS 241 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 252 Fw::InputSerializePort* port
255 #if FW_ENABLE_TEXT_LOGGING == 1 258 void set_logTextOut_OutputPort(
260 Fw::InputSerializePort* port
268 Fw::InputSerializePort* port
274 Fw::InputSerializePort* port
280 Fw::InputSerializePort* port
285 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION 296 Fw::InputSerializePort* port
302 Fw::InputSerializePort* port
308 Fw::InputSerializePort* port
314 Fw::InputSerializePort* port
327 const char* compName =
"" 366 #if FW_ENABLE_TEXT_LOGGING == 1 371 static constexpr
FwIndexType getNum_logTextOut_OutputPorts() {
459 #if FW_ENABLE_TEXT_LOGGING == 1 464 bool isConnected_logTextOut_OutputPort(
559 #if FW_DIRECT_PORT_CALLS 806 static void m_p_dataIn_in(
814 static void m_p_dataReturnIn_in(
836 #if FW_ENABLE_TEXT_LOGGING 863 #if !FW_DIRECT_PORT_CALLS 879 #if !FW_DIRECT_PORT_CALLS 890 #if FW_ENABLE_TEXT_LOGGING == 1 911 #if !FW_DIRECT_PORT_CALLS
static constexpr FwIndexType getNum_dataOut_OutputPorts()
void log_WARNING_HI_SpanningPacketAbandoned(U8 vcId, const ComCfg::Pvn &pvn, FwSizeType bytesReceived, FwSizeType bytesExpected) const
static constexpr FwIndexType getNum_prmGetOut_OutputPorts()
virtual void dataReturnIn_handler(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)=0
Handler for input port dataReturnIn.
friend class AosDeframerTesterBase
Friend class tester to support autocoded test harness.
Channel ID for PacketsExtracted.
void log_WARNING_HI_InvalidFhp(U8 vcId, FwSizeType fhpReceived, FwSizeType dataZoneSize) const
static constexpr FwIndexType getNum_allocate_OutputPorts()
void dataOut_out(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context) const
Invoke output port dataOut.
static constexpr FwIndexType getNum_dataIn_InputPorts()
PlatformSizeType FwSizeType
void set_errorNotify_OutputPort(FwIndexType portNum, Svc::Ccsds::InputErrorNotifyPort *port)
Connect port to errorNotify[portNum].
Deframing detected a gap/discontinuity in the AOS VC frame count sequence.
friend class AosDeframerTester
Friend class tester implementation to support white-box testing.
void set_logOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to logOut[portNum].
void set_allocate_OutputPort(FwIndexType portNum, Fw::InputBufferGetPort *port)
Connect port to allocate[portNum].
void dataReturnIn_handlerBase(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)
Handler base-class function for input port dataReturnIn.
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
void tlmWrite_CrcErrorCount(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
bool isConnected_errorNotify_OutputPort(FwIndexType portNum) const
Auto-generated base for AosDeframer component.
Svc::InputComDataWithContextPort * get_dataReturnIn_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_errorNotify_OutputPorts()
void log_WARNING_LO_InvalidSpacecraftId(U16 transmitted, U16 configured) const
bool isConnected_prmGetOut_OutputPort(FwIndexType portNum) const
void init()
Object initializer.
static constexpr FwIndexType getNum_deallocate_OutputPorts()
Deframing received a VCID not in the accepted set (CCSDS 732.0-B-5 Section 4.1.2.3) ...
bool isConnected_allocate_OutputPort(FwIndexType portNum) const
Deframing received an invalid checksum (CCSDS 732.0-B-5 Section 4.1.6)
FwIdType FwEventIdType
The type of an event identifier.
virtual void lock()
Lock the guarded mutex.
void tlmWrite_FramesProcessed(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
static constexpr FwIndexType getNum_dataReturnIn_InputPorts()
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
void set_deallocate_OutputPort(FwIndexType portNum, Fw::InputBufferSendPort *port)
Connect port to deallocate[portNum].
void set_dataReturnOut_OutputPort(FwIndexType portNum, Svc::InputComDataWithContextPort *port)
Connect port to dataReturnOut[portNum].
void log_WARNING_HI_InvalidFrameLength(FwSizeType actual, U32 expected) const
Deframing received an invalid SCID (CCSDS 732.0-B-5 Section 4.1.2.2)
Channel ID for CrcErrorCount.
virtual void unLock()
Unlock the guarded mutex.
void set_prmGetOut_OutputPort(FwIndexType portNum, Fw::InputPrmGetPort *port)
Connect port to prmGetOut[portNum].
FwIdType FwChanIdType
The type of a telemetry channel identifier.
virtual ~AosDeframerComponentBase()
Destroy AosDeframerComponentBase object.
void deallocate_out(FwIndexType portNum, Fw::Buffer &fwBuffer) const
Invoke output port deallocate.
Frame was received with idle-only data on a virtual channel (CCSDS 732.0-B-5 Section 4...
Enum representing event severity.
AosDeframerComponentBase(const char *compName="")
Construct AosDeframerComponentBase object.
Packet Version Numbers are 3 bits with only 2 currently valid values.
bool isConnected_deallocate_OutputPort(FwIndexType portNum) const
void tlmWrite_LatestVcFrameCount(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
Fw::Buffer allocate_out(FwIndexType portNum, FwSizeType size) const
Invoke output port allocate.
static constexpr FwIndexType getNum_prmSetOut_OutputPorts()
Channel ID for FramesProcessed.
uint8_t U8
8-bit unsigned integer
void dataIn_handlerBase(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)
Handler base-class function for input port dataIn.
void log_ACTIVITY_LO_IdleFrame(U8 vcId) const
void errorNotify_out(FwIndexType portNum, const Svc::Ccsds::FrameError &errorCode) const
Invoke output port errorNotify.
Deframing received an invalid CCSDS Transfer Frame Version Number (CCSDS 732.0-B-5 Section 4...
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
virtual void dataIn_handler(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context)=0
Handler for input port dataIn.
void log_WARNING_HI_DisabledPvn(U8 vcId, U8 pvn) const
bool isConnected_dataReturnOut_OutputPort(FwIndexType portNum) const
bool isConnected_prmSetOut_OutputPort(FwIndexType portNum) const
Svc::InputComDataWithContextPort * get_dataIn_InputPort(FwIndexType portNum)
void log_WARNING_HI_SpanningPacketAllocFailed(U8 vcId, const ComCfg::Pvn &pvn, FwSizeType packetSize) const
void set_dataOut_OutputPort(FwIndexType portNum, Svc::InputComDataWithContextPort *port)
Connect port to dataOut[portNum].
PlatformIndexType FwIndexType
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
void log_ACTIVITY_LO_InvalidVcId(U8 transmitted, U8 configured) const
Type used to pass context info between components during framing/deframing.
Deframing encountered a packet version number that is not enabled by configuration.
RateGroupDivider component implementation.
static constexpr FwIndexType getNum_logOut_OutputPorts()
void set_prmSetOut_OutputPort(FwIndexType portNum, Fw::InputPrmSetPort *port)
Connect port to prmSetOut[portNum].
bool isConnected_logOut_OutputPort(FwIndexType portNum) const
Spanning packet buffer allocation failed; packet dropped.
void dataReturnOut_out(FwIndexType portNum, Fw::Buffer &data, const ComCfg::FrameContext &context) const
Invoke output port dataReturnOut.
void log_WARNING_HI_InvalidFecf(U16 transmitted, U16 computed) const
Deframing received an invalid frame length.
void tlmWrite_PacketsExtracted(U32 arg, Fw::Time _tlmTime=Fw::Time()) const
static constexpr FwIndexType getNum_dataReturnOut_OutputPorts()
bool isConnected_dataOut_OutputPort(FwIndexType portNum) const
Channel ID for LatestVcFrameCount.
A spanning packet was abandoned before receiving all expected bytes.
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
bool isConnected_tlmOut_OutputPort(FwIndexType portNum) const
bool isConnected_timeCaller_OutputPort(FwIndexType portNum) const
An invalid First Header Pointer (FHP) was received.
void log_WARNING_HI_InvalidTfvn(U8 transmitted, U8 expected) const
void log_WARNING_HI_VcFrameCountGap(U8 vcId, U32 received, U32 expected) const