38 status =
serialize.serializeFrom(static_cast<U32>(type));
40 status =
serialize.serializeFrom(static_cast<U32>(port));
42 status =
serialize.serializeFrom(data, static_cast<FwBuffSizeType>(size));
45 toBufferDriver_out(0, outgoing);
54 bufferInReturn_out(portNum, fwBuffer);
59 fromBufferDriverReturn_out(0, fwBuffer);
69 serializer.resetSer();
73 status = serializer.serializeFrom(context);
80 void GenericHub ::cmdRespIn_handler(
FwIndexType portNum,
87 serializer.resetSer();
89 status = serializer.serializeFrom(opCode);
91 status = serializer.serializeFrom(cmdSeq);
93 status = serializer.serializeFrom(response);
113 status = incoming.deserializeTo(type_in);
121 type =
static_cast<HubType>(type_in);
122 status = incoming.deserializeTo(port);
126 status = incoming.deserializeTo(size);
137 status = wrapper.setBuffLen(rawSize);
140 if (port < this->getNum_serialOut_OutputPorts() &&
141 this->isConnected_serialOut_OutputPort(static_cast<FwIndexType>(port))) {
142 serialOut_out(static_cast<FwIndexType>(port), wrapper);
145 fromBufferDriverReturn_out(0, fwBuffer);
150 if (port < this->getNum_bufferOut_OutputPorts() &&
151 this->isConnected_bufferOut_OutputPort(static_cast<FwIndexType>(port))) {
152 bufferOut_out(static_cast<FwIndexType>(port), fwBuffer);
155 fromBufferDriverReturn_out(0, fwBuffer);
166 status = incoming.deserializeTo(timeTag);
169 status = incoming.deserializeTo(severity);
172 status = incoming.deserializeTo(args);
177 this->isConnected_eventOut_OutputPort(static_cast<FwIndexType>(port))) {
178 this->eventOut_out(static_cast<FwIndexType>(port),
id, timeTag, severity, args);
181 fromBufferDriverReturn_out(0, fwBuffer);
190 status = incoming.deserializeTo(timeTag);
193 status = incoming.deserializeTo(val);
196 this->isConnected_tlmOut_OutputPort(static_cast<FwIndexType>(port))) {
198 this->tlmOut_out(static_cast<FwIndexType>(port),
id, timeTag, val);
202 fromBufferDriverReturn_out(0, fwBuffer);
214 status = wrapper.setBuffLen(rawSize -
sizeof(U32));
217 status = incoming.deserializeSkip(rawSize -
sizeof(U32));
219 status = incoming.deserializeTo(context);
222 this->isConnected_cmdDispOut_OutputPort(static_cast<FwIndexType>(port))) {
223 this->cmdDispOut_out(static_cast<FwIndexType>(port), wrapper, context);
227 fromBufferDriverReturn_out(0, fwBuffer);
234 status = incoming.deserializeTo(opCode);
236 status = incoming.deserializeTo(cmdSeq);
239 status = incoming.deserializeTo(response);
243 this->isConnected_cmdRespOut_OutputPort(static_cast<FwIndexType>(port))) {
244 this->cmdRespOut_out(static_cast<FwIndexType>(port), opCode, cmdSeq, response);
247 fromBufferDriverReturn_out(0, fwBuffer);
251 fromBufferDriverReturn_out(0, fwBuffer);
257 deallocate_out(portNum, fwBuffer);
260 void GenericHub::eventIn_handler(
const FwIndexType portNum,
269 serializer.resetSer();
270 status = serializer.serializeFrom(
id);
272 status = serializer.serializeFrom(timeTag);
274 status = serializer.serializeFrom(severity);
276 status = serializer.serializeFrom(args);
279 this->send_data(HubType::HUB_TYPE_EVENT, portNum, buffer, size);
286 serializer.resetSer();
287 status = serializer.serializeFrom(
id);
289 status = serializer.serializeFrom(timeTag);
291 status = serializer.serializeFrom(val);
294 this->send_data(HubType::HUB_TYPE_CHANNEL, portNum, buffer, size);
301 void GenericHub::serialIn_handler(
FwIndexType portNum,
Serialization/Deserialization operation was successful.
FwIdType FwOpcodeType
The type of a command opcode.
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.
SerializeStatus deserializeTo(U8 &val, Endianness mode=Endianness::BIG) override
Deserialize an 8-bit unsigned integer value.
Fw::SerializeStatus serialize(Fw::SerialBufferBase &serializer, FwSizeType size)
Serialize an idle packet of exactly size bytes (header and idle data) into serializer ...
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.
U8 * getBuffAddr()
Get buffer address for data filling (non-const version)
Omit length from serialization.
The size of the serial representation.
Data was left in the buffer, but not enough to deserialize.
External serialize buffer with no copy semantics.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
FwSizeType FwSizeStoreType
Enum representing event severity.
uint8_t U8
8-bit unsigned integer
FwSizeType getSize() const
PlatformIndexType FwIndexType
RateGroupDivider component implementation.
GenericHub(const char *const compName)
ExternalSerializeBufferWithMemberCopy getSerializer()
#define FW_PORT_SERIALIZATION
calls for multi-note systems)
The size of the serial representation.