F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
VersionComponentAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title VersionComponentAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for Version component base class
5 // ======================================================================
6 
7 #ifndef Svc_VersionComponentAc_HPP
8 #define Svc_VersionComponentAc_HPP
9 
10 #include <atomic>
11 
12 #include "Fw/Cmd/CmdPortAc.hpp"
13 #include "Fw/Cmd/CmdRegPortAc.hpp"
15 #include "Fw/Cmd/CmdString.hpp"
17 #include "Fw/FPrimeBasicTypes.hpp"
18 #include "Fw/Log/LogPortAc.hpp"
19 #include "Fw/Log/LogString.hpp"
20 #include "Fw/Log/LogTextPortAc.hpp"
21 #if !FW_DIRECT_PORT_CALLS
23 #endif
24 #if !FW_DIRECT_PORT_CALLS
26 #endif
27 #include "Fw/Time/TimePortAc.hpp"
28 #include "Fw/Tlm/TlmPortAc.hpp"
29 #include "Fw/Tlm/TlmString.hpp"
30 #include "Os/Mutex.hpp"
37 
38 namespace Svc {
39 
44  {
45 
46  // ----------------------------------------------------------------------
47  // Friend classes
48  // ----------------------------------------------------------------------
49 
51  friend class VersionTesterBase;
53  friend class VersionTester;
54 
55  protected:
56 
57  // ----------------------------------------------------------------------
58  // Constants
59  // ----------------------------------------------------------------------
60 
62  enum {
64  };
65 
67  enum {
70  };
71 
73  enum {
80  };
81 
83  enum {
84  OPCODE_ENABLE = 0x0,
86  };
87 
89  enum {
94  };
95 
97  enum {
120  };
121 
122  public:
123 
124  // ----------------------------------------------------------------------
125  // Component initialization
126  // ----------------------------------------------------------------------
127 
129  void init(
130  FwEnumStoreType instance = 0
131  );
132 
133 #if !FW_DIRECT_PORT_CALLS
134 
135  public:
136 
137  // ----------------------------------------------------------------------
138  // Getters for special input ports
139  // ----------------------------------------------------------------------
140 
145  FwIndexType portNum
146  );
147 
148 #endif
149 
150 #if !FW_DIRECT_PORT_CALLS
151 
152  public:
153 
154  // ----------------------------------------------------------------------
155  // Getters for typed input ports
156  // ----------------------------------------------------------------------
157 
162  FwIndexType portNum
163  );
164 
169  FwIndexType portNum
170  );
171 
172 #endif
173 
174 #if !FW_DIRECT_PORT_CALLS
175 
176  public:
177 
178  // ----------------------------------------------------------------------
179  // Connect input ports to special output ports
180  // ----------------------------------------------------------------------
181 
184  FwIndexType portNum,
185  Fw::InputCmdRegPort* port
186  );
187 
190  FwIndexType portNum,
192  );
193 
196  FwIndexType portNum,
197  Fw::InputLogPort* port
198  );
199 
200 #if FW_ENABLE_TEXT_LOGGING == 1
201 
203  void set_logTextOut_OutputPort(
204  FwIndexType portNum,
205  Fw::InputLogTextPort* port
206  );
207 
208 #endif
209 
212  FwIndexType portNum,
213  Fw::InputTimePort* port
214  );
215 
218  FwIndexType portNum,
219  Fw::InputTlmPort* port
220  );
221 
222 #endif
223 
224 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION
225 
226  public:
227 
228  // ----------------------------------------------------------------------
229  // Connect serial input ports to special output ports
230  // ----------------------------------------------------------------------
231 
234  FwIndexType portNum,
235  Fw::InputSerializePort* port
236  );
237 
240  FwIndexType portNum,
241  Fw::InputSerializePort* port
242  );
243 
246  FwIndexType portNum,
247  Fw::InputSerializePort* port
248  );
249 
250 #if FW_ENABLE_TEXT_LOGGING == 1
251 
253  void set_logTextOut_OutputPort(
254  FwIndexType portNum,
255  Fw::InputSerializePort* port
256  );
257 
258 #endif
259 
262  FwIndexType portNum,
263  Fw::InputSerializePort* port
264  );
265 
268  FwIndexType portNum,
269  Fw::InputSerializePort* port
270  );
271 
272 #endif
273 
274  public:
275 
276  // ----------------------------------------------------------------------
277  // Command registration
278  // ----------------------------------------------------------------------
279 
283  void regCommands();
284 
285  protected:
286 
287  // ----------------------------------------------------------------------
288  // Component construction and destruction
289  // ----------------------------------------------------------------------
290 
293  const char* compName = ""
294  );
295 
297  virtual ~VersionComponentBase();
298 
299  protected:
300 
301  // ----------------------------------------------------------------------
302  // Getters for numbers of special input ports
303  // ----------------------------------------------------------------------
304 
309  return NUM_CMDIN_INPUT_PORTS;
310  }
311 
312  protected:
313 
314  // ----------------------------------------------------------------------
315  // Getters for numbers of typed input ports
316  // ----------------------------------------------------------------------
317 
323  }
324 
330  }
331 
332  protected:
333 
334  // ----------------------------------------------------------------------
335  // Getters for numbers of special output ports
336  // ----------------------------------------------------------------------
337 
343  }
344 
350  }
351 
357  }
358 
359 #if FW_ENABLE_TEXT_LOGGING == 1
360 
364  static constexpr FwIndexType getNum_logTextOut_OutputPorts() {
366  }
367 
368 #endif
369 
375  }
376 
382  }
383 
384  protected:
385 
386  // ----------------------------------------------------------------------
387  // Connection status queries for special output ports
388  // ----------------------------------------------------------------------
389 
394  FwIndexType portNum
395  ) const;
396 
401  FwIndexType portNum
402  ) const;
403 
408  FwIndexType portNum
409  ) const;
410 
411 #if FW_ENABLE_TEXT_LOGGING == 1
412 
416  bool isConnected_logTextOut_OutputPort(
417  FwIndexType portNum
418  ) const;
419 
420 #endif
421 
426  FwIndexType portNum
427  ) const;
428 
433  FwIndexType portNum
434  ) const;
435 
436 #if FW_DIRECT_PORT_CALLS
437  public:
438 #else
439  protected:
440 #endif
441 
442  // ----------------------------------------------------------------------
443  // Port handler base-class functions for special input ports
444  //
445  // Call these functions directly to bypass the corresponding ports
446  // ----------------------------------------------------------------------
447 
449  void cmdIn_handlerBase(
450  FwIndexType portNum,
451  FwOpcodeType opCode,
452  U32 cmdSeq,
453  Fw::CmdArgBuffer& args
454  );
455 
456  protected:
457 
458  // ----------------------------------------------------------------------
459  // Handlers to implement for typed input ports
460  // ----------------------------------------------------------------------
461 
463  virtual void getVersion_handler(
464  FwIndexType portNum,
465  const Svc::VersionCfg::VersionEnum& version_id,
466  Fw::StringBase& version_string,
467  Svc::VersionStatus& status
468  ) = 0;
469 
471  virtual void setVersion_handler(
472  FwIndexType portNum,
473  const Svc::VersionCfg::VersionEnum& version_id,
474  Fw::StringBase& version_string,
475  Svc::VersionStatus& status
476  ) = 0;
477 
478 #if FW_DIRECT_PORT_CALLS
479  public:
480 #else
481  protected:
482 #endif
483 
484  // ----------------------------------------------------------------------
485  // Port handler base-class functions for typed input ports
486  //
487  // Call these functions directly to bypass the corresponding ports
488  // ----------------------------------------------------------------------
489 
492  FwIndexType portNum,
493  const Svc::VersionCfg::VersionEnum& version_id,
494  Fw::StringBase& version_string,
495  Svc::VersionStatus& status
496  );
497 
500  FwIndexType portNum,
501  const Svc::VersionCfg::VersionEnum& version_id,
502  Fw::StringBase& version_string,
503  Svc::VersionStatus& status
504  );
505 
506  protected:
507 
508  // ----------------------------------------------------------------------
509  // Command response
510  // ----------------------------------------------------------------------
511 
513  void cmdResponse_out(
514  FwOpcodeType opCode,
515  U32 cmdSeq,
516  Fw::CmdResponse response
517  );
518 
519  protected:
520 
521  // ----------------------------------------------------------------------
522  // Command handlers to implement
523  // ----------------------------------------------------------------------
524 
528  virtual void ENABLE_cmdHandler(
529  FwOpcodeType opCode,
530  U32 cmdSeq,
531  const Svc::VersionEnabled& enable
532  ) = 0;
533 
537  virtual void VERSION_cmdHandler(
538  FwOpcodeType opCode,
539  U32 cmdSeq,
540  const Svc::VersionType& version_type
541  ) = 0;
542 
543  protected:
544 
545  // ----------------------------------------------------------------------
546  // Command handler base-class functions
547  //
548  // Call these functions directly to bypass the command input port
549  // ----------------------------------------------------------------------
550 
555  FwOpcodeType opCode,
556  U32 cmdSeq,
557  Fw::CmdArgBuffer& args
558  );
559 
564  FwOpcodeType opCode,
565  U32 cmdSeq,
566  Fw::CmdArgBuffer& args
567  );
568 
569  protected:
570 
571  // ----------------------------------------------------------------------
572  // Event logging functions
573  // ----------------------------------------------------------------------
574 
579  const Fw::StringBase& version
580  ) const;
581 
586  const Fw::StringBase& version
587  ) const;
588 
593  const Fw::StringBase& version
594  ) const;
595 
600  const Svc::VersionCfg::VersionEnum& version_enum,
601  const Fw::StringBase& version_value
602  ) const;
603 
604  protected:
605 
606  // ----------------------------------------------------------------------
607  // Telemetry serialized write
608  // ----------------------------------------------------------------------
609 
614  void tlmWrite(
615  FwChanIdType id,
616  Fw::TlmBuffer& _tlmBuff,
617  Fw::Time _tlmTime = Fw::Time()
618  ) const;
619 
620  protected:
621 
622  // ----------------------------------------------------------------------
623  // Telemetry write functions
624  // ----------------------------------------------------------------------
625 
630  const Fw::StringBase& arg,
631  Fw::Time _tlmTime = Fw::Time()
632  ) const;
633 
638  const Fw::StringBase& arg,
639  Fw::Time _tlmTime = Fw::Time()
640  ) const;
641 
646  const Svc::CustomVersionDb& arg,
647  Fw::Time _tlmTime = Fw::Time()
648  ) const;
649 
652  const Svc::CustomVersionDb& arg,
653  Fw::Time _tlmTime = Fw::Time()
654  ) const;
655 
658  const Svc::CustomVersionDb& arg,
659  Fw::Time _tlmTime = Fw::Time()
660  ) const;
661 
664  const Svc::CustomVersionDb& arg,
665  Fw::Time _tlmTime = Fw::Time()
666  ) const;
667 
670  const Svc::CustomVersionDb& arg,
671  Fw::Time _tlmTime = Fw::Time()
672  ) const;
673 
676  const Svc::CustomVersionDb& arg,
677  Fw::Time _tlmTime = Fw::Time()
678  ) const;
679 
682  const Svc::CustomVersionDb& arg,
683  Fw::Time _tlmTime = Fw::Time()
684  ) const;
685 
688  const Svc::CustomVersionDb& arg,
689  Fw::Time _tlmTime = Fw::Time()
690  ) const;
691 
694  const Svc::CustomVersionDb& arg,
695  Fw::Time _tlmTime = Fw::Time()
696  ) const;
697 
700  const Svc::CustomVersionDb& arg,
701  Fw::Time _tlmTime = Fw::Time()
702  ) const;
703 
708  const Fw::StringBase& arg,
709  Fw::Time _tlmTime = Fw::Time()
710  ) const;
711 
714  const Fw::StringBase& arg,
715  Fw::Time _tlmTime = Fw::Time()
716  ) const;
717 
720  const Fw::StringBase& arg,
721  Fw::Time _tlmTime = Fw::Time()
722  ) const;
723 
726  const Fw::StringBase& arg,
727  Fw::Time _tlmTime = Fw::Time()
728  ) const;
729 
732  const Fw::StringBase& arg,
733  Fw::Time _tlmTime = Fw::Time()
734  ) const;
735 
738  const Fw::StringBase& arg,
739  Fw::Time _tlmTime = Fw::Time()
740  ) const;
741 
744  const Fw::StringBase& arg,
745  Fw::Time _tlmTime = Fw::Time()
746  ) const;
747 
750  const Fw::StringBase& arg,
751  Fw::Time _tlmTime = Fw::Time()
752  ) const;
753 
756  const Fw::StringBase& arg,
757  Fw::Time _tlmTime = Fw::Time()
758  ) const;
759 
762  const Fw::StringBase& arg,
763  Fw::Time _tlmTime = Fw::Time()
764  ) const;
765 
766  protected:
767 
768  // ----------------------------------------------------------------------
769  // Time
770  // ----------------------------------------------------------------------
771 
775  Fw::Time getTime() const;
776 
777  protected:
778 
779  // ----------------------------------------------------------------------
780  // Mutex operations for guarded ports
781  //
782  // You can override these operations to provide more sophisticated
783  // synchronization
784  // ----------------------------------------------------------------------
785 
787  virtual void lock();
788 
790  virtual void unLock();
791 
792  private:
793 
794  // ----------------------------------------------------------------------
795  // Calls for messages received on special input ports
796  // ----------------------------------------------------------------------
797 
799  static void m_p_cmdIn_in(
800  Fw::PassiveComponentBase* callComp,
801  FwIndexType portNum,
802  FwOpcodeType opCode,
803  U32 cmdSeq,
804  Fw::CmdArgBuffer& args
805  );
806 
807  private:
808 
809  // ----------------------------------------------------------------------
810  // Calls for messages received on typed input ports
811  // ----------------------------------------------------------------------
812 
814  static void m_p_getVersion_in(
815  Fw::PassiveComponentBase* callComp,
816  FwIndexType portNum,
817  const Svc::VersionCfg::VersionEnum& version_id,
818  Fw::StringBase& version_string,
819  Svc::VersionStatus& status
820  );
821 
823  static void m_p_setVersion_in(
824  Fw::PassiveComponentBase* callComp,
825  FwIndexType portNum,
826  const Svc::VersionCfg::VersionEnum& version_id,
827  Fw::StringBase& version_string,
828  Svc::VersionStatus& status
829  );
830 
831  private:
832 
833  // ----------------------------------------------------------------------
834  // Invocation functions for special output ports
835  // ----------------------------------------------------------------------
836 
838  void cmdRegOut_out(
839  FwIndexType portNum,
840  FwOpcodeType opCode
841  ) const;
842 
844  void cmdResponseOut_out(
845  FwIndexType portNum,
846  FwOpcodeType opCode,
847  U32 cmdSeq,
848  const Fw::CmdResponse& response
849  ) const;
850 
852  void logOut_out(
853  FwIndexType portNum,
854  FwEventIdType id,
855  Fw::Time& timeTag,
856  const Fw::LogSeverity& severity,
857  Fw::LogBuffer& args
858  ) const;
859 
860 #if FW_ENABLE_TEXT_LOGGING
861 
863  void logTextOut_out(
864  FwIndexType portNum,
865  FwEventIdType id,
866  Fw::Time& timeTag,
867  const Fw::LogSeverity& severity,
868  Fw::TextLogString& text
869  ) const;
870 
871 #endif
872 
874  void timeCaller_out(
875  FwIndexType portNum,
876  Fw::Time& time
877  ) const;
878 
880  void tlmOut_out(
881  FwIndexType portNum,
882  FwChanIdType id,
883  Fw::Time& timeTag,
884  Fw::TlmBuffer& val
885  ) const;
886 
887 #if !FW_DIRECT_PORT_CALLS
888 
889  private:
890 
891  // ----------------------------------------------------------------------
892  // Special input ports
893  // ----------------------------------------------------------------------
894 
896  Fw::InputCmdPort m_cmdIn_InputPort[NUM_CMDIN_INPUT_PORTS];
897 
898 #endif
899 
900 #if !FW_DIRECT_PORT_CALLS
901 
902  private:
903 
904  // ----------------------------------------------------------------------
905  // Typed input ports
906  // ----------------------------------------------------------------------
907 
909  Svc::InputVersionPort m_getVersion_InputPort[NUM_GETVERSION_INPUT_PORTS];
910 
912  Svc::InputVersionPort m_setVersion_InputPort[NUM_SETVERSION_INPUT_PORTS];
913 
914 #endif
915 
916 #if !FW_DIRECT_PORT_CALLS
917 
918  private:
919 
920  // ----------------------------------------------------------------------
921  // Special output ports
922  // ----------------------------------------------------------------------
923 
925  Fw::OutputCmdRegPort m_cmdRegOut_OutputPort[NUM_CMDREGOUT_OUTPUT_PORTS];
926 
928  Fw::OutputCmdResponsePort m_cmdResponseOut_OutputPort[NUM_CMDRESPONSEOUT_OUTPUT_PORTS];
929 
931  Fw::OutputLogPort m_logOut_OutputPort[NUM_LOGOUT_OUTPUT_PORTS];
932 
933 #if FW_ENABLE_TEXT_LOGGING == 1
934 
936  Fw::OutputLogTextPort m_logTextOut_OutputPort[NUM_LOGTEXTOUT_OUTPUT_PORTS];
937 
938 #endif
939 
941  Fw::OutputTimePort m_timeCaller_OutputPort[NUM_TIMECALLER_OUTPUT_PORTS];
942 
944  Fw::OutputTlmPort m_tlmOut_OutputPort[NUM_TLMOUT_OUTPUT_PORTS];
945 
946 #endif
947 
948  private:
949 
950  // ----------------------------------------------------------------------
951  // Mutexes
952  // ----------------------------------------------------------------------
953 
955  Os::Mutex m_guardedPortMutex;
956 
957  };
958 
959 }
960 
961 #endif
void tlmWrite_LibraryVersion10(const Fw::StringBase &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel LibraryVersion10.
void tlmWrite_CustomVersion07(const Svc::CustomVersionDb &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel CustomVersion07.
void tlmWrite_LibraryVersion04(const Fw::StringBase &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel LibraryVersion04.
void regCommands()
Register commands with the Command Dispatcher.
FwIdType FwOpcodeType
The type of a command opcode.
void tlmWrite(FwChanIdType id, Fw::TlmBuffer &_tlmBuff, Fw::Time _tlmTime=Fw::Time()) const
void tlmWrite_LibraryVersion01(const Fw::StringBase &arg, Fw::Time _tlmTime=Fw::Time()) const
virtual void getVersion_handler(FwIndexType portNum, const Svc::VersionCfg::VersionEnum &version_id, Fw::StringBase &version_string, Svc::VersionStatus &status)=0
Handler for input port getVersion.
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts()
void tlmWrite_CustomVersion02(const Svc::CustomVersionDb &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel CustomVersion02.
I32 FwEnumStoreType
bool isConnected_tlmOut_OutputPort(FwIndexType portNum) const
void tlmWrite_CustomVersion10(const Svc::CustomVersionDb &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel CustomVersion10.
virtual void ENABLE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Svc::VersionEnabled &enable)=0
void set_tlmOut_OutputPort(FwIndexType portNum, Fw::InputTlmPort *port)
Connect port to tlmOut[portNum].
void set_logOut_OutputPort(FwIndexType portNum, Fw::InputLogPort *port)
Connect port to logOut[portNum].
void tlmWrite_LibraryVersion06(const Fw::StringBase &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel LibraryVersion06.
static constexpr FwIndexType getNum_cmdIn_InputPorts()
virtual void setVersion_handler(FwIndexType portNum, const Svc::VersionCfg::VersionEnum &version_id, Fw::StringBase &version_string, Svc::VersionStatus &status)=0
Handler for input port setVersion.
bool isConnected_cmdRegOut_OutputPort(FwIndexType portNum) const
Fw::InputCmdPort * get_cmdIn_InputPort(FwIndexType portNum)
void tlmWrite_CustomVersion03(const Svc::CustomVersionDb &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel CustomVersion03.
void VERSION_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
virtual void unLock()
Unlock the guarded mutex.
friend class VersionTesterBase
Friend class tester to support autocoded test harness.
void tlmWrite_LibraryVersion03(const Fw::StringBase &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel LibraryVersion03.
Enum representing a command response.
static constexpr FwIndexType getNum_getVersion_InputPorts()
void cmdResponse_out(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
Emit command response.
static constexpr FwIndexType getNum_tlmOut_OutputPorts()
void tlmWrite_LibraryVersion08(const Fw::StringBase &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel LibraryVersion08.
void init()
Object initializer.
Definition: ObjBase.cpp:24
virtual ~VersionComponentBase()
Destroy VersionComponentBase object.
void setVersion_handlerBase(FwIndexType portNum, const Svc::VersionCfg::VersionEnum &version_id, Fw::StringBase &version_string, Svc::VersionStatus &status)
Handler base-class function for input port setVersion.
void tlmWrite_CustomVersion05(const Svc::CustomVersionDb &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel CustomVersion05.
FwIdType FwEventIdType
The type of an event identifier.
Auto-generated base for Version component.
void log_ACTIVITY_LO_ProjectVersion(const Fw::StringBase &version) const
An enumeration for version status.
Svc::InputVersionPort * get_getVersion_InputPort(FwIndexType portNum)
static constexpr FwIndexType getNum_timeCaller_OutputPorts()
friend class VersionTester
Friend class tester implementation to support white-box testing.
FwIdType FwChanIdType
The type of a telemetry channel identifier.
void tlmWrite_LibraryVersion05(const Fw::StringBase &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel LibraryVersion05.
Svc::InputVersionPort * get_setVersion_InputPort(FwIndexType portNum)
void getVersion_handlerBase(FwIndexType portNum, const Svc::VersionCfg::VersionEnum &version_id, Fw::StringBase &version_string, Svc::VersionStatus &status)
Handler base-class function for input port getVersion.
Enum representing event severity.
Data Structure for custom version Tlm.
void set_cmdResponseOut_OutputPort(FwIndexType portNum, Fw::InputCmdResponsePort *port)
Connect port to cmdResponseOut[portNum].
void log_ACTIVITY_LO_CustomVersions(const Svc::VersionCfg::VersionEnum &version_enum, const Fw::StringBase &version_value) const
virtual void lock()
Lock the guarded mutex.
A command to enable or disable Event verbosity and Telemetry.
bool isConnected_logOut_OutputPort(FwIndexType portNum) const
void tlmWrite_CustomVersion09(const Svc::CustomVersionDb &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel CustomVersion09.
PlatformIndexType FwIndexType
void tlmWrite_CustomVersion06(const Svc::CustomVersionDb &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel CustomVersion06.
void tlmWrite_LibraryVersion07(const Fw::StringBase &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel LibraryVersion07.
static constexpr FwIndexType getNum_logOut_OutputPorts()
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts()
void cmdIn_handlerBase(FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
Handler base-class function for input port cmdIn.
RateGroupDivider component implementation.
An enumeration for Version Type.
void tlmWrite_LibraryVersion02(const Fw::StringBase &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel LibraryVersion02.
void ENABLE_cmdHandlerBase(FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
virtual void VERSION_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, const Svc::VersionType &version_type)=0
void tlmWrite_CustomVersion04(const Svc::CustomVersionDb &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel CustomVersion04.
bool isConnected_timeCaller_OutputPort(FwIndexType portNum) const
void tlmWrite_CustomVersion01(const Svc::CustomVersionDb &arg, Fw::Time _tlmTime=Fw::Time()) const
void log_ACTIVITY_LO_FrameworkVersion(const Fw::StringBase &version) const
VersionComponentBase(const char *compName="")
Construct VersionComponentBase object.
void log_ACTIVITY_LO_LibraryVersions(const Fw::StringBase &version) const
Tracks versions for project, framework and user defined versions etc.
void tlmWrite_CustomVersion08(const Svc::CustomVersionDb &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel CustomVersion08.
bool isConnected_cmdResponseOut_OutputPort(FwIndexType portNum) const
void tlmWrite_LibraryVersion09(const Fw::StringBase &arg, Fw::Time _tlmTime=Fw::Time()) const
Write telemetry channel LibraryVersion09.
static constexpr FwIndexType getNum_setVersion_InputPorts()
void tlmWrite_FrameworkVersion(const Fw::StringBase &arg, Fw::Time _tlmTime=Fw::Time()) const
void set_cmdRegOut_OutputPort(FwIndexType portNum, Fw::InputCmdRegPort *port)
Connect port to cmdRegOut[portNum].
void set_timeCaller_OutputPort(FwIndexType portNum, Fw::InputTimePort *port)
Connect port to timeCaller[portNum].
void tlmWrite_ProjectVersion(const Fw::StringBase &arg, Fw::Time _tlmTime=Fw::Time()) const