23 INT_IF_INTERRUPTREPORT,
40 class ComponentIpcSerializableBuffer :
55 return sizeof(m_buff);
62 const U8* getBuffAddr()
const {
68 U8 m_buff[SERIALIZATION_SIZE];
77 void BlockDriverComponentBase ::
89 port < static_cast<PlatformIntType>(this->getNum_BufferIn_InputPorts());
92 this->m_BufferIn_InputPort[port].init();
93 this->m_BufferIn_InputPort[port].addCallComp(
97 this->m_BufferIn_InputPort[port].setPortNum(port);
99#if FW_OBJECT_NAMES == 1
108 this->m_BufferIn_InputPort[port].setObjName(portName);
115 port < static_cast<PlatformIntType>(this->getNum_PingIn_InputPorts());
118 this->m_PingIn_InputPort[port].init();
119 this->m_PingIn_InputPort[port].addCallComp(
123 this->m_PingIn_InputPort[port].setPortNum(port);
125#if FW_OBJECT_NAMES == 1
134 this->m_PingIn_InputPort[port].setObjName(portName);
141 port < static_cast<PlatformIntType>(this->getNum_Sched_InputPorts());
144 this->m_Sched_InputPort[port].init();
145 this->m_Sched_InputPort[port].addCallComp(
149 this->m_Sched_InputPort[port].setPortNum(port);
151#if FW_OBJECT_NAMES == 1
160 this->m_Sched_InputPort[port].setObjName(portName);
167 port < static_cast<PlatformIntType>(this->getNum_Time_OutputPorts());
170 this->m_Time_OutputPort[port].init();
172#if FW_OBJECT_NAMES == 1
181 this->m_Time_OutputPort[port].setObjName(portName);
188 port < static_cast<PlatformIntType>(this->getNum_Tlm_OutputPorts());
191 this->m_Tlm_OutputPort[port].init();
193#if FW_OBJECT_NAMES == 1
202 this->m_Tlm_OutputPort[port].setObjName(portName);
209 port < static_cast<PlatformIntType>(this->getNum_BufferOut_OutputPorts());
212 this->m_BufferOut_OutputPort[port].init();
214#if FW_OBJECT_NAMES == 1
223 this->m_BufferOut_OutputPort[port].setObjName(portName);
230 port < static_cast<PlatformIntType>(this->getNum_CycleOut_OutputPorts());
233 this->m_CycleOut_OutputPort[port].init();
235#if FW_OBJECT_NAMES == 1
244 this->m_CycleOut_OutputPort[port].setObjName(portName);
251 port < static_cast<PlatformIntType>(this->getNum_PingOut_OutputPorts());
254 this->m_PingOut_OutputPort[port].init();
256#if FW_OBJECT_NAMES == 1
265 this->m_PingOut_OutputPort[port].setObjName(portName);
271 ComponentIpcSerializableBuffer::SERIALIZATION_SIZE
77 void BlockDriverComponentBase :: {
…}
287 portNum < this->getNum_BufferIn_InputPorts(),
291 return &this->m_BufferIn_InputPort[portNum];
298 portNum < this->getNum_PingIn_InputPorts(),
302 return &this->m_PingIn_InputPort[portNum];
309 portNum < this->getNum_Sched_InputPorts(),
313 return &this->m_Sched_InputPort[portNum];
320 void BlockDriverComponentBase ::
327 portNum < this->getNum_Time_OutputPorts(),
331 this->m_Time_OutputPort[portNum].addCallPort(port);
320 void BlockDriverComponentBase :: {
…}
334 void BlockDriverComponentBase ::
341 portNum < this->getNum_Tlm_OutputPorts(),
345 this->m_Tlm_OutputPort[portNum].addCallPort(port);
334 void BlockDriverComponentBase :: {
…}
352 void BlockDriverComponentBase ::
353 set_BufferOut_OutputPort(
359 portNum < this->getNum_BufferOut_OutputPorts(),
363 this->m_BufferOut_OutputPort[portNum].addCallPort(port);
352 void BlockDriverComponentBase :: {
…}
366 void BlockDriverComponentBase ::
367 set_CycleOut_OutputPort(
373 portNum < this->getNum_CycleOut_OutputPorts(),
377 this->m_CycleOut_OutputPort[portNum].addCallPort(port);
366 void BlockDriverComponentBase :: {
…}
380 void BlockDriverComponentBase ::
381 set_PingOut_OutputPort(
387 portNum < this->getNum_PingOut_OutputPorts(),
391 this->m_PingOut_OutputPort[portNum].addCallPort(port);
380 void BlockDriverComponentBase :: {
…}
394#if FW_PORT_SERIALIZATION
400 void BlockDriverComponentBase ::
403 Fw::InputSerializePort* port
407 portNum < this->getNum_Time_OutputPorts(),
411 this->m_Time_OutputPort[portNum].registerSerialPort(port);
414 void BlockDriverComponentBase ::
417 Fw::InputSerializePort* port
421 portNum < this->getNum_Tlm_OutputPorts(),
425 this->m_Tlm_OutputPort[portNum].registerSerialPort(port);
430#if FW_PORT_SERIALIZATION
436 void BlockDriverComponentBase ::
437 set_BufferOut_OutputPort(
439 Fw::InputSerializePort* port
443 portNum < this->getNum_BufferOut_OutputPorts(),
447 this->m_BufferOut_OutputPort[portNum].registerSerialPort(port);
450 void BlockDriverComponentBase ::
451 set_CycleOut_OutputPort(
453 Fw::InputSerializePort* port
457 portNum < this->getNum_CycleOut_OutputPorts(),
461 this->m_CycleOut_OutputPort[portNum].registerSerialPort(port);
464 void BlockDriverComponentBase ::
465 set_PingOut_OutputPort(
467 Fw::InputSerializePort* port
471 portNum < this->getNum_PingOut_OutputPorts(),
475 this->m_PingOut_OutputPort[portNum].registerSerialPort(port);
484 BlockDriverComponentBase ::
485 BlockDriverComponentBase(
const char* compName) :
486 Fw::ActiveComponentBase(compName)
484 BlockDriverComponentBase :: {
…}
491 BlockDriverComponentBase ::
492 ~BlockDriverComponentBase()
491 BlockDriverComponentBase :: {
…}
502 getNum_BufferIn_InputPorts()
const
508 getNum_PingIn_InputPorts()
const
514 getNum_Sched_InputPorts()
const
524 getNum_Time_OutputPorts()
const
530 getNum_Tlm_OutputPorts()
const
540 getNum_BufferOut_OutputPorts()
const
546 getNum_CycleOut_OutputPorts()
const
552 getNum_PingOut_OutputPorts()
const
561 bool BlockDriverComponentBase ::
565 portNum < this->getNum_Time_OutputPorts(),
569 return this->m_Time_OutputPort[portNum].isConnected();
561 bool BlockDriverComponentBase :: {
…}
572 bool BlockDriverComponentBase ::
576 portNum < this->getNum_Tlm_OutputPorts(),
580 return this->m_Tlm_OutputPort[portNum].isConnected();
572 bool BlockDriverComponentBase :: {
…}
587 bool BlockDriverComponentBase ::
591 portNum < this->getNum_BufferOut_OutputPorts(),
595 return this->m_BufferOut_OutputPort[portNum].isConnected();
587 bool BlockDriverComponentBase :: {
…}
598 bool BlockDriverComponentBase ::
602 portNum < this->getNum_CycleOut_OutputPorts(),
606 return this->m_CycleOut_OutputPort[portNum].isConnected();
598 bool BlockDriverComponentBase :: {
…}
609 bool BlockDriverComponentBase ::
613 portNum < this->getNum_PingOut_OutputPorts(),
617 return this->m_PingOut_OutputPort[portNum].isConnected();
609 bool BlockDriverComponentBase :: {
…}
626 void BlockDriverComponentBase ::
627 BufferIn_handlerBase(
634 portNum < this->getNum_BufferIn_InputPorts(),
643 ComponentIpcSerializableBuffer msg;
647 _status = msg.serialize(
656 _status = msg.serialize(portNum);
663 _status = msg.serialize(buff);
626 void BlockDriverComponentBase :: {
…}
679 void BlockDriverComponentBase ::
687 portNum < this->getNum_PingIn_InputPorts(),
696 ComponentIpcSerializableBuffer msg;
700 _status = msg.serialize(
709 _status = msg.serialize(portNum);
716 _status = msg.serialize(key);
679 void BlockDriverComponentBase :: {
…}
732 void BlockDriverComponentBase ::
740 portNum < this->getNum_Sched_InputPorts(),
749 ComponentIpcSerializableBuffer msg;
753 _status = msg.serialize(
762 _status = msg.serialize(portNum);
769 _status = msg.serialize(context);
732 void BlockDriverComponentBase :: {
…}
793 void BlockDriverComponentBase ::
793 void BlockDriverComponentBase :: {
…}
802 void BlockDriverComponentBase ::
802 void BlockDriverComponentBase :: {
…}
811 void BlockDriverComponentBase ::
811 void BlockDriverComponentBase :: {
…}
824 void BlockDriverComponentBase ::
831 portNum < this->getNum_BufferOut_OutputPorts(),
834 this->m_BufferOut_OutputPort[portNum].invoke(
824 void BlockDriverComponentBase :: {
…}
839 void BlockDriverComponentBase ::
846 portNum < this->getNum_CycleOut_OutputPorts(),
849 this->m_CycleOut_OutputPort[portNum].invoke(
839 void BlockDriverComponentBase :: {
…}
854 void BlockDriverComponentBase ::
861 portNum < this->getNum_PingOut_OutputPorts(),
864 this->m_PingOut_OutputPort[portNum].invoke(
854 void BlockDriverComponentBase :: {
…}
873 void BlockDriverComponentBase ::
874 InterruptReport_internalInterfaceInvoke(U32 interrupt)
876 ComponentIpcSerializableBuffer msg;
880 _status = msg.serialize(
static_cast<NATIVE_INT_TYPE>(INT_IF_INTERRUPTREPORT));
893 _status = msg.serialize(interrupt);
873 void BlockDriverComponentBase :: {
…}
913 void BlockDriverComponentBase ::
919 if (this->m_Tlm_OutputPort[0].isConnected()) {
921 this->m_Time_OutputPort[0].isConnected() &&
924 this->m_Time_OutputPort[0].invoke(_tlmTime);
936 _id = this->getIdBase() + CHANNELID_BD_CYCLES;
938 this->m_Tlm_OutputPort[0].invoke(
913 void BlockDriverComponentBase :: {
…}
953 if (this->m_Time_OutputPort[0].isConnected()) {
955 this->m_Time_OutputPort[0].invoke(_time);
970 ComponentIpcSerializableBuffer msg;
993 MsgTypeEnum msgType =
static_cast<MsgTypeEnum
>(desMsg);
995 if (msgType == BLOCKDRIVER_COMPONENT_EXIT) {
996 return MSG_DISPATCH_EXIT;
1000 deserStatus = msg.deserialize(portNum);
1008 case BUFFERIN_DATABUFFER: {
1011 deserStatus = msg.deserialize(buff);
1017 this->BufferIn_handler(
1029 deserStatus = msg.deserialize(key);
1035 this->PingIn_handler(
1047 deserStatus = msg.deserialize(context);
1053 this->Sched_handler(
1062 case INT_IF_INTERRUPTREPORT: {
1064 deserStatus = msg.deserialize(interrupt);
1075 msg.getBuffLeft() == 0,
1080 this->InterruptReport_internalInterfaceHandler(
1088 return MSG_DISPATCH_ERROR;
1091 return MSG_DISPATCH_OK;
1098 void BlockDriverComponentBase ::
1106 BlockDriverComponentBase* compPtr =
static_cast<BlockDriverComponentBase*
>(callComp);
1107 compPtr->BufferIn_handlerBase(
1113 void BlockDriverComponentBase ::
1121 BlockDriverComponentBase* compPtr =
static_cast<BlockDriverComponentBase*
>(callComp);
1122 compPtr->PingIn_handlerBase(
1128 void BlockDriverComponentBase ::
1136 BlockDriverComponentBase* compPtr =
static_cast<BlockDriverComponentBase*
>(callComp);
1137 compPtr->Sched_handlerBase(