40 status = serialize.serializeFrom(static_cast<U32>(port));
42 status = serialize.serializeFrom(data, size);
44 outgoing.
setSize(static_cast<U32>(serialize.getSize()));
45 toBufferDriver_out(0, outgoing);
54 bufferInReturn_out(portNum, fwBuffer);
59 fromBufferDriverReturn_out(0, fwBuffer);
73 type =
static_cast<HubType>(type_in);
75 status = incoming.deserializeTo(port);
77 status = incoming.deserializeTo(size);
82 U32 rawSize =
static_cast<U32
>(fwBuffer.
getSize() -
sizeof(U32) -
sizeof(U32) -
sizeof(
FwBuffSizeType));
83 FW_ASSERT(rawSize == static_cast<U32>(size));
87 status = wrapper.setBuffLen(rawSize);
89 serialOut_out(static_cast<FwIndexType>(port), wrapper);
91 fromBufferDriverReturn_out(0, fwBuffer);
95 bufferOut_out(static_cast<FwIndexType>(port), fwBuffer);
105 status = incoming.deserializeTo(timeTag);
107 status = incoming.deserializeTo(severity);
109 status = incoming.deserializeTo(args);
113 this->eventOut_out(static_cast<FwIndexType>(port),
id, timeTag, severity, args);
116 fromBufferDriverReturn_out(0, fwBuffer);
125 status = incoming.deserializeTo(timeTag);
127 status = incoming.deserializeTo(val);
131 this->tlmOut_out(static_cast<FwIndexType>(port),
id, timeTag, val);
134 fromBufferDriverReturn_out(0, fwBuffer);
140 deallocate_out(portNum, fwBuffer);
143 void GenericHub::eventIn_handler(
const FwIndexType portNum,
152 serializer.resetSer();
153 status = serializer.serializeFrom(
id);
155 status = serializer.serializeFrom(timeTag);
157 status = serializer.serializeFrom(severity);
159 status = serializer.serializeFrom(args);
162 this->send_data(HubType::HUB_TYPE_EVENT, portNum, buffer, size);
169 serializer.resetSer();
170 status = serializer.serializeFrom(
id);
172 status = serializer.serializeFrom(timeTag);
174 status = serializer.serializeFrom(val);
177 this->send_data(HubType::HUB_TYPE_CHANNEL, portNum, buffer, size);
184 void GenericHub::serialIn_handler(
FwIndexType portNum,
Serialization/Deserialization operation was successful.
SerializeStatus serializeFrom(U8 val, Endianness mode=Endianness::BIG) override
Serialize an 8-bit unsigned integer value.
void set(U8 *data, FwSizeType size, U32 context=NO_CONTEXT)
PlatformSizeType FwSizeType
void setSize(FwSizeType size)
Serializable::SizeType getSize() const override
Get current buffer size.
virtual U8 * getBuffAddr()=0
Get buffer address for data filling (non-const version)
FwSizeStoreType FwBuffSizeType
The size of the serial representation.
SerializeStatus
forward declaration for string
ExternalSerializeBufferWithMemberCopy getDeserializer()
FwIdType FwEventIdType
The type of an event identifier.
Buffer type transmission.
External serialize buffer with no copy semantics.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
Enum representing event severity.
uint8_t U8
8-bit unsigned integer
FwSizeType getSize() const
PlatformIndexType FwIndexType
RateGroupDivider component implementation.
SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG) override
Deserialize an 8-bit unsigned integer value.
GenericHub(const char *const compName)
ExternalSerializeBufferWithMemberCopy getSerializer()
#define FW_PORT_SERIALIZATION
calls for multi-note systems)