23 INT_IF_INTERRUPTREPORT,
39 class ComponentIpcSerializableBuffer :
54 return sizeof(m_buff);
61 const U8* getBuffAddr()
const {
67 U8 m_buff[SERIALIZATION_SIZE];
76 void BlockDriverComponentBase ::
88 port < static_cast<PlatformIntType>(this->getNum_BufferIn_InputPorts());
91 this->m_BufferIn_InputPort[port].init();
92 this->m_BufferIn_InputPort[port].addCallComp(
96 this->m_BufferIn_InputPort[port].setPortNum(port);
98#if FW_OBJECT_NAMES == 1
107 this->m_BufferIn_InputPort[port].setObjName(portName);
114 port < static_cast<PlatformIntType>(this->getNum_PingIn_InputPorts());
117 this->m_PingIn_InputPort[port].init();
118 this->m_PingIn_InputPort[port].addCallComp(
122 this->m_PingIn_InputPort[port].setPortNum(port);
124#if FW_OBJECT_NAMES == 1
133 this->m_PingIn_InputPort[port].setObjName(portName);
140 port < static_cast<PlatformIntType>(this->getNum_Sched_InputPorts());
143 this->m_Sched_InputPort[port].init();
144 this->m_Sched_InputPort[port].addCallComp(
148 this->m_Sched_InputPort[port].setPortNum(port);
150#if FW_OBJECT_NAMES == 1
159 this->m_Sched_InputPort[port].setObjName(portName);
166 port < static_cast<PlatformIntType>(this->getNum_Time_OutputPorts());
169 this->m_Time_OutputPort[port].init();
171#if FW_OBJECT_NAMES == 1
180 this->m_Time_OutputPort[port].setObjName(portName);
187 port < static_cast<PlatformIntType>(this->getNum_Tlm_OutputPorts());
190 this->m_Tlm_OutputPort[port].init();
192#if FW_OBJECT_NAMES == 1
201 this->m_Tlm_OutputPort[port].setObjName(portName);
208 port < static_cast<PlatformIntType>(this->getNum_BufferOut_OutputPorts());
211 this->m_BufferOut_OutputPort[port].init();
213#if FW_OBJECT_NAMES == 1
222 this->m_BufferOut_OutputPort[port].setObjName(portName);
229 port < static_cast<PlatformIntType>(this->getNum_CycleOut_OutputPorts());
232 this->m_CycleOut_OutputPort[port].init();
234#if FW_OBJECT_NAMES == 1
243 this->m_CycleOut_OutputPort[port].setObjName(portName);
250 port < static_cast<PlatformIntType>(this->getNum_PingOut_OutputPorts());
253 this->m_PingOut_OutputPort[port].init();
255#if FW_OBJECT_NAMES == 1
264 this->m_PingOut_OutputPort[port].setObjName(portName);
270 ComponentIpcSerializableBuffer::SERIALIZATION_SIZE
76 void BlockDriverComponentBase :: {
…}
286 portNum < this->getNum_BufferIn_InputPorts(),
290 return &this->m_BufferIn_InputPort[portNum];
297 portNum < this->getNum_PingIn_InputPorts(),
301 return &this->m_PingIn_InputPort[portNum];
308 portNum < this->getNum_Sched_InputPorts(),
312 return &this->m_Sched_InputPort[portNum];
319 void BlockDriverComponentBase ::
326 portNum < this->getNum_Time_OutputPorts(),
330 this->m_Time_OutputPort[portNum].addCallPort(port);
319 void BlockDriverComponentBase :: {
…}
333 void BlockDriverComponentBase ::
340 portNum < this->getNum_Tlm_OutputPorts(),
344 this->m_Tlm_OutputPort[portNum].addCallPort(port);
333 void BlockDriverComponentBase :: {
…}
351 void BlockDriverComponentBase ::
352 set_BufferOut_OutputPort(
358 portNum < this->getNum_BufferOut_OutputPorts(),
362 this->m_BufferOut_OutputPort[portNum].addCallPort(port);
351 void BlockDriverComponentBase :: {
…}
365 void BlockDriverComponentBase ::
366 set_CycleOut_OutputPort(
372 portNum < this->getNum_CycleOut_OutputPorts(),
376 this->m_CycleOut_OutputPort[portNum].addCallPort(port);
365 void BlockDriverComponentBase :: {
…}
379 void BlockDriverComponentBase ::
380 set_PingOut_OutputPort(
386 portNum < this->getNum_PingOut_OutputPorts(),
390 this->m_PingOut_OutputPort[portNum].addCallPort(port);
379 void BlockDriverComponentBase :: {
…}
393#if FW_PORT_SERIALIZATION
399 void BlockDriverComponentBase ::
402 Fw::InputSerializePort* port
406 portNum < this->getNum_Time_OutputPorts(),
410 this->m_Time_OutputPort[portNum].registerSerialPort(port);
413 void BlockDriverComponentBase ::
416 Fw::InputSerializePort* port
420 portNum < this->getNum_Tlm_OutputPorts(),
424 this->m_Tlm_OutputPort[portNum].registerSerialPort(port);
429#if FW_PORT_SERIALIZATION
435 void BlockDriverComponentBase ::
436 set_BufferOut_OutputPort(
438 Fw::InputSerializePort* port
442 portNum < this->getNum_BufferOut_OutputPorts(),
446 this->m_BufferOut_OutputPort[portNum].registerSerialPort(port);
449 void BlockDriverComponentBase ::
450 set_CycleOut_OutputPort(
452 Fw::InputSerializePort* port
456 portNum < this->getNum_CycleOut_OutputPorts(),
460 this->m_CycleOut_OutputPort[portNum].registerSerialPort(port);
463 void BlockDriverComponentBase ::
464 set_PingOut_OutputPort(
466 Fw::InputSerializePort* port
470 portNum < this->getNum_PingOut_OutputPorts(),
474 this->m_PingOut_OutputPort[portNum].registerSerialPort(port);
483 BlockDriverComponentBase ::
484 BlockDriverComponentBase(
const char* compName) :
485 Fw::ActiveComponentBase(compName)
483 BlockDriverComponentBase :: {
…}
490 BlockDriverComponentBase ::
491 ~BlockDriverComponentBase()
490 BlockDriverComponentBase :: {
…}
501 getNum_BufferIn_InputPorts()
507 getNum_PingIn_InputPorts()
513 getNum_Sched_InputPorts()
523 getNum_Time_OutputPorts()
529 getNum_Tlm_OutputPorts()
539 getNum_BufferOut_OutputPorts()
545 getNum_CycleOut_OutputPorts()
551 getNum_PingOut_OutputPorts()
560 bool BlockDriverComponentBase ::
564 portNum < this->getNum_Time_OutputPorts(),
568 return this->m_Time_OutputPort[portNum].isConnected();
560 bool BlockDriverComponentBase :: {
…}
571 bool BlockDriverComponentBase ::
575 portNum < this->getNum_Tlm_OutputPorts(),
579 return this->m_Tlm_OutputPort[portNum].isConnected();
571 bool BlockDriverComponentBase :: {
…}
586 bool BlockDriverComponentBase ::
590 portNum < this->getNum_BufferOut_OutputPorts(),
594 return this->m_BufferOut_OutputPort[portNum].isConnected();
586 bool BlockDriverComponentBase :: {
…}
597 bool BlockDriverComponentBase ::
601 portNum < this->getNum_CycleOut_OutputPorts(),
605 return this->m_CycleOut_OutputPort[portNum].isConnected();
597 bool BlockDriverComponentBase :: {
…}
608 bool BlockDriverComponentBase ::
612 portNum < this->getNum_PingOut_OutputPorts(),
616 return this->m_PingOut_OutputPort[portNum].isConnected();
608 bool BlockDriverComponentBase :: {
…}
625 void BlockDriverComponentBase ::
626 BufferIn_handlerBase(
633 portNum < this->getNum_BufferIn_InputPorts(),
642 ComponentIpcSerializableBuffer msg;
646 _status = msg.serialize(
655 _status = msg.serialize(portNum);
662 _status = msg.serialize(buff);
625 void BlockDriverComponentBase :: {
…}
678 void BlockDriverComponentBase ::
686 portNum < this->getNum_PingIn_InputPorts(),
695 ComponentIpcSerializableBuffer msg;
699 _status = msg.serialize(
708 _status = msg.serialize(portNum);
715 _status = msg.serialize(key);
678 void BlockDriverComponentBase :: {
…}
731 void BlockDriverComponentBase ::
739 portNum < this->getNum_Sched_InputPorts(),
748 ComponentIpcSerializableBuffer msg;
752 _status = msg.serialize(
761 _status = msg.serialize(portNum);
768 _status = msg.serialize(context);
731 void BlockDriverComponentBase :: {
…}
792 void BlockDriverComponentBase ::
792 void BlockDriverComponentBase :: {
…}
801 void BlockDriverComponentBase ::
801 void BlockDriverComponentBase :: {
…}
810 void BlockDriverComponentBase ::
810 void BlockDriverComponentBase :: {
…}
823 void BlockDriverComponentBase ::
830 portNum < this->getNum_BufferOut_OutputPorts(),
833 this->m_BufferOut_OutputPort[portNum].invoke(
823 void BlockDriverComponentBase :: {
…}
838 void BlockDriverComponentBase ::
845 portNum < this->getNum_CycleOut_OutputPorts(),
848 this->m_CycleOut_OutputPort[portNum].invoke(
838 void BlockDriverComponentBase :: {
…}
853 void BlockDriverComponentBase ::
860 portNum < this->getNum_PingOut_OutputPorts(),
863 this->m_PingOut_OutputPort[portNum].invoke(
853 void BlockDriverComponentBase :: {
…}
872 void BlockDriverComponentBase ::
873 InterruptReport_internalInterfaceInvoke(U32 interrupt)
875 ComponentIpcSerializableBuffer msg;
879 _status = msg.serialize(
static_cast<NATIVE_INT_TYPE>(INT_IF_INTERRUPTREPORT));
892 _status = msg.serialize(interrupt);
872 void BlockDriverComponentBase :: {
…}
912 void BlockDriverComponentBase ::
918 if (this->m_Tlm_OutputPort[0].isConnected()) {
920 this->m_Time_OutputPort[0].isConnected() &&
923 this->m_Time_OutputPort[0].invoke(_tlmTime);
935 _id = this->getIdBase() + CHANNELID_BD_CYCLES;
937 this->m_Tlm_OutputPort[0].invoke(
912 void BlockDriverComponentBase :: {
…}
952 if (this->m_Time_OutputPort[0].isConnected()) {
954 this->m_Time_OutputPort[0].invoke(_time);
969 ComponentIpcSerializableBuffer msg;
992 MsgTypeEnum msgType =
static_cast<MsgTypeEnum
>(desMsg);
994 if (msgType == BLOCKDRIVER_COMPONENT_EXIT) {
995 return MSG_DISPATCH_EXIT;
999 deserStatus = msg.deserialize(portNum);
1007 case BUFFERIN_DATABUFFER: {
1010 deserStatus = msg.deserialize(buff);
1016 this->BufferIn_handler(
1028 deserStatus = msg.deserialize(key);
1034 this->PingIn_handler(
1046 deserStatus = msg.deserialize(context);
1052 this->Sched_handler(
1061 case INT_IF_INTERRUPTREPORT: {
1063 deserStatus = msg.deserialize(interrupt);
1074 msg.getBuffLeft() == 0,
1079 this->InterruptReport_internalInterfaceHandler(
1087 return MSG_DISPATCH_ERROR;
1090 return MSG_DISPATCH_OK;
1097 void BlockDriverComponentBase ::
1105 BlockDriverComponentBase* compPtr =
static_cast<BlockDriverComponentBase*
>(callComp);
1106 compPtr->BufferIn_handlerBase(
1112 void BlockDriverComponentBase ::
1120 BlockDriverComponentBase* compPtr =
static_cast<BlockDriverComponentBase*
>(callComp);
1121 compPtr->PingIn_handlerBase(
1127 void BlockDriverComponentBase ::
1135 BlockDriverComponentBase* compPtr =
static_cast<BlockDriverComponentBase*
>(callComp);
1136 compPtr->Sched_handlerBase(