33GenericHubComponentImpl ::~GenericHubComponentImpl() {}
35void GenericHubComponentImpl ::send_data(
const HubType type,
45 status = serialize.
serialize(
static_cast<U32
>(type));
47 status = serialize.
serialize(
static_cast<U32
>(port));
52 dataOut_out(0, outgoing);
60 send_data(HUB_TYPE_BUFFER, portNum, fwBuffer.
getData(), fwBuffer.
getSize());
61 bufferDeallocate_out(0, fwBuffer);
65 HubType type = HUB_TYPE_MAX;
80 type =
static_cast<HubType
>(type_in);
90 FW_ASSERT(rawSize ==
static_cast<U32
>(size));
91 if (type == HUB_TYPE_PORT) {
94 status = wrapper.setBuffLen(rawSize);
96 portOut_out(port, wrapper);
98 dataInDeallocate_out(0, fwBuffer);
99 }
else if (type == HUB_TYPE_BUFFER) {
102 buffersOut_out(port, fwBuffer);
103 }
else if (type == HUB_TYPE_EVENT) {
120 this->LogSend_out(port,
id, timeTag, severity, args);
123 dataInDeallocate_out(0, fwBuffer);
124 }
else if (type == HUB_TYPE_CHANNEL) {
138 this->TlmSend_out(port,
id, timeTag, val);
141 dataInDeallocate_out(0, fwBuffer);
145void GenericHubComponentImpl ::LogRecv_handler(
const NATIVE_INT_TYPE portNum,
153 serializer.resetSer();
154 status = serializer.serialize(
id);
156 status = serializer.serialize(timeTag);
158 status = serializer.serialize(severity);
160 status = serializer.serialize(args);
162 U32 size = serializer.getBuffLength();
163 this->send_data(HubType::HUB_TYPE_EVENT, portNum, buffer, size);
167void GenericHubComponentImpl ::TlmRecv_handler(
const NATIVE_INT_TYPE portNum,
174 serializer.resetSer();
175 status = serializer.serialize(
id);
177 status = serializer.serialize(timeTag);
179 status = serializer.serialize(val);
181 U32 size = serializer.getBuffLength();
182 this->send_data(HubType::HUB_TYPE_CHANNEL, portNum, buffer, size);
PlatformIntType NATIVE_INT_TYPE
uint8_t U8
8-bit unsigned integer
#define FW_LOG_BUFFER_MAX_SIZE
#define FW_PORT_SERIALIZATION
#define FW_TLM_BUFFER_MAX_SIZE
C++-compatible configuration header for fprime configuration.
void set(U8 *data, U32 size, U32 context=NO_CONTEXT)
SerializeBufferBase & getSerializeRepr()
Enum representing event severity.
@ SERIALIZED_SIZE
The size of the serial representation.
void init()
Object initializer.
SerializeStatus setBuffLen(NATIVE_UINT_TYPE length)
sets buffer length manually after filling with data
SerializeStatus deserialize(U8 &val)
deserialize 8-bit unsigned int
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
virtual U8 * getBuffAddr()=0
gets buffer address for data filling
NATIVE_UINT_TYPE getBuffLength() const
returns current buffer size
Auto-generated base for GenericHub component.
SerializeStatus
forward declaration for string
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.