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);
68 serializer.resetSer();
72 status = serializer.serializeFrom(context);
79 void GenericHub ::cmdRespIn_handler(
FwIndexType portNum,
86 serializer.resetSer();
88 status = serializer.serializeFrom(opCode);
90 status = serializer.serializeFrom(cmdSeq);
92 status = serializer.serializeFrom(response);
110 type =
static_cast<HubType>(type_in);
112 status = incoming.deserializeTo(port);
114 status = incoming.deserializeTo(size);
119 U32 rawSize =
static_cast<U32
>(fwBuffer.
getSize() -
sizeof(U32) -
sizeof(U32) -
sizeof(
FwBuffSizeType));
120 FW_ASSERT(rawSize == static_cast<U32>(size));
124 status = wrapper.setBuffLen(rawSize);
126 serialOut_out(static_cast<FwIndexType>(port), wrapper);
128 fromBufferDriverReturn_out(0, fwBuffer);
132 bufferOut_out(static_cast<FwIndexType>(port), fwBuffer);
142 status = incoming.deserializeTo(timeTag);
144 status = incoming.deserializeTo(severity);
146 status = incoming.deserializeTo(args);
150 this->eventOut_out(static_cast<FwIndexType>(port),
id, timeTag, severity, args);
153 fromBufferDriverReturn_out(0, fwBuffer);
162 status = incoming.deserializeTo(timeTag);
164 status = incoming.deserializeTo(val);
168 this->tlmOut_out(static_cast<FwIndexType>(port),
id, timeTag, val);
171 fromBufferDriverReturn_out(0, fwBuffer);
177 status = wrapper.setBuffLen(rawSize -
sizeof(U32));
180 incoming.deserializeSkip(rawSize -
sizeof(U32));
181 status = incoming.deserializeTo(context);
184 this->cmdDispOut_out(static_cast<FwIndexType>(port), wrapper, context);
187 fromBufferDriverReturn_out(0, fwBuffer);
194 status = incoming.deserializeTo(opCode);
196 status = incoming.deserializeTo(cmdSeq);
198 status = incoming.deserializeTo(response);
202 this->cmdRespOut_out(static_cast<FwIndexType>(port), opCode, cmdSeq, response);
205 fromBufferDriverReturn_out(0, fwBuffer);
211 deallocate_out(portNum, fwBuffer);
214 void GenericHub::eventIn_handler(
const FwIndexType portNum,
223 serializer.resetSer();
224 status = serializer.serializeFrom(
id);
226 status = serializer.serializeFrom(timeTag);
228 status = serializer.serializeFrom(severity);
230 status = serializer.serializeFrom(args);
233 this->send_data(HubType::HUB_TYPE_EVENT, portNum, buffer, size);
240 serializer.resetSer();
241 status = serializer.serializeFrom(
id);
243 status = serializer.serializeFrom(timeTag);
245 status = serializer.serializeFrom(val);
248 this->send_data(HubType::HUB_TYPE_CHANNEL, portNum, buffer, size);
255 void GenericHub::serialIn_handler(
FwIndexType portNum,
Serialization/Deserialization operation was successful.
FwIdType FwOpcodeType
The type of a command opcode.
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)
The size of the serial representation.
Serializable::SizeType getSize() const override
Get current buffer size.
virtual U8 * getBuffAddr()=0
Get buffer address for data filling (non-const version)
FwSizeStoreType FwBuffSizeType
Enum representing a command response.
SerializeStatus
forward declaration for string
ExternalSerializeBufferWithMemberCopy getDeserializer()
FwIdType FwEventIdType
The type of an event identifier.
Buffer type transmission.
Omit length from serialization.
External serialize buffer with no copy semantics.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
U8 * getBuffAddr()
Get buffer address for data filling (non-const version)
Enum representing event severity.
The size of the serial representation.
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)