31 void GenericHubComponentImpl ::send_data(
const HubType type,
39 dataOutAllocate_out(0, static_cast<U32>(size +
sizeof(U32) +
sizeof(U32) +
sizeof(
FwBuffSizeType)));
44 status = serialize.serializeFrom(static_cast<U32>(port));
46 status = serialize.serializeFrom(data, size);
48 outgoing.
setSize(static_cast<U32>(serialize.getBuffLength()));
49 dataOut_out(0, outgoing);
58 bufferDeallocate_out(0, fwBuffer);
72 type =
static_cast<HubType>(type_in);
74 status = incoming.deserializeTo(port);
76 status = incoming.deserializeTo(size);
81 U32 rawSize =
static_cast<U32
>(fwBuffer.
getSize() -
sizeof(U32) -
sizeof(U32) -
sizeof(
FwBuffSizeType));
82 FW_ASSERT(rawSize == static_cast<U32>(size));
86 status = wrapper.setBuffLen(rawSize);
88 portOut_out(static_cast<FwIndexType>(port), wrapper);
90 dataInDeallocate_out(0, fwBuffer);
94 buffersOut_out(static_cast<FwIndexType>(port), fwBuffer);
104 status = incoming.deserializeTo(timeTag);
106 status = incoming.deserializeTo(severity);
108 status = incoming.deserializeTo(args);
112 this->LogSend_out(static_cast<FwIndexType>(port),
id, timeTag, severity, args);
115 dataInDeallocate_out(0, fwBuffer);
124 status = incoming.deserializeTo(timeTag);
126 status = incoming.deserializeTo(val);
130 this->TlmSend_out(static_cast<FwIndexType>(port),
id, timeTag, val);
133 dataInDeallocate_out(0, fwBuffer);
137 void GenericHubComponentImpl ::LogRecv_handler(
const FwIndexType portNum,
146 serializer.resetSer();
147 status = serializer.serializeFrom(
id);
149 status = serializer.serializeFrom(timeTag);
151 status = serializer.serializeFrom(severity);
153 status = serializer.serializeFrom(args);
156 this->send_data(HubType::HUB_TYPE_EVENT, portNum, buffer, size);
159 void GenericHubComponentImpl ::TlmRecv_handler(
const FwIndexType portNum,
166 serializer.resetSer();
167 status = serializer.serializeFrom(
id);
169 status = serializer.serializeFrom(timeTag);
171 status = serializer.serializeFrom(val);
174 this->send_data(HubType::HUB_TYPE_CHANNEL, portNum, buffer, size);
181 void GenericHubComponentImpl ::portIn_handler(
FwIndexType portNum,
Serialization/Deserialization operation was successful.
Buffer type transmission.
void set(U8 *data, FwSizeType size, U32 context=NO_CONTEXT)
PlatformSizeType FwSizeType
void setSize(FwSizeType size)
FwSizeStoreType FwBuffSizeType
SerializeStatus
forward declaration for string
ExternalSerializeBufferWithMemberCopy getDeserializer()
FwIdType FwEventIdType
The type of an event identifier.
Serializable::SizeType getBuffLength() const
returns current buffer size
#define FW_LOG_BUFFER_MAX_SIZE
External serialize buffer with no copy semantics.
#define FW_TLM_BUFFER_MAX_SIZE
FwIdType FwChanIdType
The type of a telemetry channel identifier.
Enum representing event severity.
GenericHubComponentImpl(const char *const compName)
uint8_t U8
8-bit unsigned integer
FwSizeType getSize() const
~GenericHubComponentImpl()
PlatformIndexType FwIndexType
RateGroupDivider component implementation.
SerializeStatus serializeFrom(U8 val)
serialize 8-bit unsigned int
The size of the serial representation.
virtual U8 * getBuffAddr()=0
gets buffer address for data filling
ExternalSerializeBufferWithMemberCopy getSerializer()
#define FW_PORT_SERIALIZATION
calls for multi-note systems)
SerializeStatus deserializeTo(U8 &val)
deserialize 8-bit unsigned int