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 #if FW_ENABLE_TEXT_LOGGING == 1
21 #include "Fw/Log/LogTextPortAc.hpp"
22 #endif
23 #if !FW_DIRECT_PORT_CALLS
25 #endif
26 #if !FW_DIRECT_PORT_CALLS
28 #endif
29 #include "Fw/Time/TimePortAc.hpp"
30 #include "Fw/Tlm/TlmPortAc.hpp"
31 #include "Fw/Tlm/TlmString.hpp"
32 #include "Os/Mutex.hpp"
39 
40 namespace Svc {
41 
46  {
47 
48  // ----------------------------------------------------------------------
49  // Friend classes
50  // ----------------------------------------------------------------------
51 
53  friend class VersionTesterBase;
55  friend class VersionTester;
56 
57  protected:
58 
59  // ----------------------------------------------------------------------
60  // Constants
61  // ----------------------------------------------------------------------
62 
64  enum {
66  };
67 
69  enum {
72  };
73 
75  enum {
82  };
83 
85  enum {
86  OPCODE_ENABLE = 0x0,
88  };
89 
91  enum {
96  };
97 
99  enum {
122  };
123 
124  public:
125 
126  // ----------------------------------------------------------------------
127  // Component initialization
128  // ----------------------------------------------------------------------
129 
131  void init(
132  FwEnumStoreType instance = 0
133  );
134 
135 #if !FW_DIRECT_PORT_CALLS
136 
137  public:
138 
139  // ----------------------------------------------------------------------
140  // Getters for special input ports
141  // ----------------------------------------------------------------------
142 
147  FwIndexType portNum
148  );
149 
150 #endif
151 
152 #if !FW_DIRECT_PORT_CALLS
153 
154  public:
155 
156  // ----------------------------------------------------------------------
157  // Getters for typed input ports
158  // ----------------------------------------------------------------------
159 
164  FwIndexType portNum
165  );
166 
171  FwIndexType portNum
172  );
173 
174 #endif
175 
176 #if !FW_DIRECT_PORT_CALLS
177 
178  public:
179 
180  // ----------------------------------------------------------------------
181  // Connect input ports to special output ports
182  // ----------------------------------------------------------------------
183 
186  FwIndexType portNum,
187  Fw::InputCmdRegPort* port
188  );
189 
192  FwIndexType portNum,
194  );
195 
198  FwIndexType portNum,
199  Fw::InputLogPort* port
200  );
201 
202 #if FW_ENABLE_TEXT_LOGGING == 1
203 
205  void set_logTextOut_OutputPort(
206  FwIndexType portNum,
207  Fw::InputLogTextPort* port
208  );
209 
210 #endif
211 
214  FwIndexType portNum,
215  Fw::InputTimePort* port
216  );
217 
220  FwIndexType portNum,
221  Fw::InputTlmPort* port
222  );
223 
224 #endif
225 
226 #if !FW_DIRECT_PORT_CALLS && FW_PORT_SERIALIZATION
227 
228  public:
229 
230  // ----------------------------------------------------------------------
231  // Connect serial input ports to special output ports
232  // ----------------------------------------------------------------------
233 
236  FwIndexType portNum,
237  Fw::InputSerializePort* port
238  );
239 
242  FwIndexType portNum,
243  Fw::InputSerializePort* port
244  );
245 
248  FwIndexType portNum,
249  Fw::InputSerializePort* port
250  );
251 
252 #if FW_ENABLE_TEXT_LOGGING == 1
253 
255  void set_logTextOut_OutputPort(
256  FwIndexType portNum,
257  Fw::InputSerializePort* port
258  );
259 
260 #endif
261 
264  FwIndexType portNum,
265  Fw::InputSerializePort* port
266  );
267 
270  FwIndexType portNum,
271  Fw::InputSerializePort* port
272  );
273 
274 #endif
275 
276  public:
277 
278  // ----------------------------------------------------------------------
279  // Command registration
280  // ----------------------------------------------------------------------
281 
285  void regCommands();
286 
287  protected:
288 
289  // ----------------------------------------------------------------------
290  // Component construction and destruction
291  // ----------------------------------------------------------------------
292 
295  const char* compName = ""
296  );
297 
299  virtual ~VersionComponentBase();
300 
301  protected:
302 
303  // ----------------------------------------------------------------------
304  // Getters for numbers of special input ports
305  // ----------------------------------------------------------------------
306 
311  return NUM_CMDIN_INPUT_PORTS;
312  }
313 
314  protected:
315 
316  // ----------------------------------------------------------------------
317  // Getters for numbers of typed input ports
318  // ----------------------------------------------------------------------
319 
325  }
326 
332  }
333 
334  protected:
335 
336  // ----------------------------------------------------------------------
337  // Getters for numbers of special output ports
338  // ----------------------------------------------------------------------
339 
345  }
346 
352  }
353 
359  }
360 
361 #if FW_ENABLE_TEXT_LOGGING == 1
362 
366  static constexpr FwIndexType getNum_logTextOut_OutputPorts() {
368  }
369 
370 #endif
371 
377  }
378 
384  }
385 
386  protected:
387 
388  // ----------------------------------------------------------------------
389  // Connection status queries for special output ports
390  // ----------------------------------------------------------------------
391 
396  FwIndexType portNum
397  ) const;
398 
403  FwIndexType portNum
404  ) const;
405 
410  FwIndexType portNum
411  ) const;
412 
413 #if FW_ENABLE_TEXT_LOGGING == 1
414 
418  bool isConnected_logTextOut_OutputPort(
419  FwIndexType portNum
420  ) const;
421 
422 #endif
423 
428  FwIndexType portNum
429  ) const;
430 
435  FwIndexType portNum
436  ) const;
437 
438 #if FW_DIRECT_PORT_CALLS
439  public:
440 #else
441  protected:
442 #endif
443 
444  // ----------------------------------------------------------------------
445  // Port handler base-class functions for special input ports
446  //
447  // Call these functions directly to bypass the corresponding ports
448  // ----------------------------------------------------------------------
449 
451  void cmdIn_handlerBase(
452  FwIndexType portNum,
453  FwOpcodeType opCode,
454  U32 cmdSeq,
455  Fw::CmdArgBuffer& args
456  );
457 
458  protected:
459 
460  // ----------------------------------------------------------------------
461  // Handlers to implement for typed input ports
462  // ----------------------------------------------------------------------
463 
465  virtual void getVersion_handler(
466  FwIndexType portNum,
467  const Svc::VersionCfg::VersionEnum& version_id,
468  Fw::StringBase& version_string,
469  Svc::VersionStatus& status
470  ) = 0;
471 
473  virtual void setVersion_handler(
474  FwIndexType portNum,
475  const Svc::VersionCfg::VersionEnum& version_id,
476  Fw::StringBase& version_string,
477  Svc::VersionStatus& status
478  ) = 0;
479 
480 #if FW_DIRECT_PORT_CALLS
481  public:
482 #else
483  protected:
484 #endif
485 
486  // ----------------------------------------------------------------------
487  // Port handler base-class functions for typed input ports
488  //
489  // Call these functions directly to bypass the corresponding ports
490  // ----------------------------------------------------------------------
491 
494  FwIndexType portNum,
495  const Svc::VersionCfg::VersionEnum& version_id,
496  Fw::StringBase& version_string,
497  Svc::VersionStatus& status
498  );
499 
502  FwIndexType portNum,
503  const Svc::VersionCfg::VersionEnum& version_id,
504  Fw::StringBase& version_string,
505  Svc::VersionStatus& status
506  );
507 
508  protected:
509 
510  // ----------------------------------------------------------------------
511  // Command response
512  // ----------------------------------------------------------------------
513 
515  void cmdResponse_out(
516  FwOpcodeType opCode,
517  U32 cmdSeq,
518  Fw::CmdResponse response
519  );
520 
521  protected:
522 
523  // ----------------------------------------------------------------------
524  // Command handlers to implement
525  // ----------------------------------------------------------------------
526 
530  virtual void ENABLE_cmdHandler(
531  FwOpcodeType opCode,
532  U32 cmdSeq,
533  Svc::VersionEnabled enable
534  ) = 0;
535 
539  virtual void VERSION_cmdHandler(
540  FwOpcodeType opCode,
541  U32 cmdSeq,
542  Svc::VersionType version_type
543  ) = 0;
544 
545  protected:
546 
547  // ----------------------------------------------------------------------
548  // Command handler base-class functions
549  //
550  // Call these functions directly to bypass the command input port
551  // ----------------------------------------------------------------------
552 
557  FwOpcodeType opCode,
558  U32 cmdSeq,
559  Fw::CmdArgBuffer& args
560  );
561 
566  FwOpcodeType opCode,
567  U32 cmdSeq,
568  Fw::CmdArgBuffer& args
569  );
570 
571  protected:
572 
573  // ----------------------------------------------------------------------
574  // Event logging functions
575  // ----------------------------------------------------------------------
576 
581  const Fw::StringBase& version
582  ) const;
583 
588  const Fw::StringBase& version
589  ) const;
590 
595  const Fw::StringBase& version
596  ) const;
597 
602  Svc::VersionCfg::VersionEnum version_enum,
603  const Fw::StringBase& version_value
604  ) const;
605 
606  protected:
607 
608  // ----------------------------------------------------------------------
609  // Telemetry serialized write
610  // ----------------------------------------------------------------------
611 
616  void tlmWrite(
617  FwChanIdType id,
618  Fw::TlmBuffer& _tlmBuff,
619  Fw::Time _tlmTime = Fw::Time()
620  ) const;
621 
622  protected:
623 
624  // ----------------------------------------------------------------------
625  // Telemetry write functions
626  // ----------------------------------------------------------------------
627 
632  const Fw::StringBase& arg,
633  Fw::Time _tlmTime = Fw::Time()
634  ) const;
635 
640  const Fw::StringBase& arg,
641  Fw::Time _tlmTime = Fw::Time()
642  ) const;
643 
648  const Svc::CustomVersionDb& arg,
649  Fw::Time _tlmTime = Fw::Time()
650  ) const;
651 
654  const Svc::CustomVersionDb& arg,
655  Fw::Time _tlmTime = Fw::Time()
656  ) const;
657 
660  const Svc::CustomVersionDb& arg,
661  Fw::Time _tlmTime = Fw::Time()
662  ) const;
663 
666  const Svc::CustomVersionDb& arg,
667  Fw::Time _tlmTime = Fw::Time()
668  ) const;
669 
672  const Svc::CustomVersionDb& arg,
673  Fw::Time _tlmTime = Fw::Time()
674  ) const;
675 
678  const Svc::CustomVersionDb& arg,
679  Fw::Time _tlmTime = Fw::Time()
680  ) const;
681 
684  const Svc::CustomVersionDb& arg,
685  Fw::Time _tlmTime = Fw::Time()
686  ) const;
687 
690  const Svc::CustomVersionDb& arg,
691  Fw::Time _tlmTime = Fw::Time()
692  ) const;
693 
696  const Svc::CustomVersionDb& arg,
697  Fw::Time _tlmTime = Fw::Time()
698  ) const;
699 
702  const Svc::CustomVersionDb& arg,
703  Fw::Time _tlmTime = Fw::Time()
704  ) const;
705 
710  const Fw::StringBase& arg,
711  Fw::Time _tlmTime = Fw::Time()
712  ) const;
713 
716  const Fw::StringBase& arg,
717  Fw::Time _tlmTime = Fw::Time()
718  ) const;
719 
722  const Fw::StringBase& arg,
723  Fw::Time _tlmTime = Fw::Time()
724  ) const;
725 
728  const Fw::StringBase& arg,
729  Fw::Time _tlmTime = Fw::Time()
730  ) const;
731 
734  const Fw::StringBase& arg,
735  Fw::Time _tlmTime = Fw::Time()
736  ) const;
737 
740  const Fw::StringBase& arg,
741  Fw::Time _tlmTime = Fw::Time()
742  ) const;
743 
746  const Fw::StringBase& arg,
747  Fw::Time _tlmTime = Fw::Time()
748  ) const;
749 
752  const Fw::StringBase& arg,
753  Fw::Time _tlmTime = Fw::Time()
754  ) const;
755 
758  const Fw::StringBase& arg,
759  Fw::Time _tlmTime = Fw::Time()
760  ) const;
761 
764  const Fw::StringBase& arg,
765  Fw::Time _tlmTime = Fw::Time()
766  ) const;
767 
768  protected:
769 
770  // ----------------------------------------------------------------------
771  // Time
772  // ----------------------------------------------------------------------
773 
777  Fw::Time getTime() const;
778 
779  protected:
780 
781  // ----------------------------------------------------------------------
782  // Mutex operations for guarded ports
783  //
784  // You can override these operations to provide more sophisticated
785  // synchronization
786  // ----------------------------------------------------------------------
787 
789  virtual void lock();
790 
792  virtual void unLock();
793 
794  private:
795 
796  // ----------------------------------------------------------------------
797  // Calls for messages received on special input ports
798  // ----------------------------------------------------------------------
799 
801  static void m_p_cmdIn_in(
802  Fw::PassiveComponentBase* callComp,
803  FwIndexType portNum,
804  FwOpcodeType opCode,
805  U32 cmdSeq,
806  Fw::CmdArgBuffer& args
807  );
808 
809  private:
810 
811  // ----------------------------------------------------------------------
812  // Calls for messages received on typed input ports
813  // ----------------------------------------------------------------------
814 
816  static void m_p_getVersion_in(
817  Fw::PassiveComponentBase* callComp,
818  FwIndexType portNum,
819  const Svc::VersionCfg::VersionEnum& version_id,
820  Fw::StringBase& version_string,
821  Svc::VersionStatus& status
822  );
823 
825  static void m_p_setVersion_in(
826  Fw::PassiveComponentBase* callComp,
827  FwIndexType portNum,
828  const Svc::VersionCfg::VersionEnum& version_id,
829  Fw::StringBase& version_string,
830  Svc::VersionStatus& status
831  );
832 
833  private:
834 
835  // ----------------------------------------------------------------------
836  // Invocation functions for special output ports
837  // ----------------------------------------------------------------------
838 
840  void cmdRegOut_out(
841  FwIndexType portNum,
842  FwOpcodeType opCode
843  ) const;
844 
846  void cmdResponseOut_out(
847  FwIndexType portNum,
848  FwOpcodeType opCode,
849  U32 cmdSeq,
850  const Fw::CmdResponse& response
851  ) const;
852 
854  void logOut_out(
855  FwIndexType portNum,
856  FwEventIdType id,
857  Fw::Time& timeTag,
858  const Fw::LogSeverity& severity,
859  Fw::LogBuffer& args
860  ) const;
861 
862 #if FW_ENABLE_TEXT_LOGGING
863 
865  void logTextOut_out(
866  FwIndexType portNum,
867  FwEventIdType id,
868  Fw::Time& timeTag,
869  const Fw::LogSeverity& severity,
870  Fw::TextLogString& text
871  ) const;
872 
873 #endif
874 
876  void timeCaller_out(
877  FwIndexType portNum,
878  Fw::Time& time
879  ) const;
880 
882  void tlmOut_out(
883  FwIndexType portNum,
884  FwChanIdType id,
885  Fw::Time& timeTag,
886  Fw::TlmBuffer& val
887  ) const;
888 
889 #if !FW_DIRECT_PORT_CALLS
890 
891  private:
892 
893  // ----------------------------------------------------------------------
894  // Special input ports
895  // ----------------------------------------------------------------------
896 
898  Fw::InputCmdPort m_cmdIn_InputPort[NUM_CMDIN_INPUT_PORTS];
899 
900 #endif
901 
902 #if !FW_DIRECT_PORT_CALLS
903 
904  private:
905 
906  // ----------------------------------------------------------------------
907  // Typed input ports
908  // ----------------------------------------------------------------------
909 
911  Svc::InputVersionPort m_getVersion_InputPort[NUM_GETVERSION_INPUT_PORTS];
912 
914  Svc::InputVersionPort m_setVersion_InputPort[NUM_SETVERSION_INPUT_PORTS];
915 
916 #endif
917 
918 #if !FW_DIRECT_PORT_CALLS
919 
920  private:
921 
922  // ----------------------------------------------------------------------
923  // Special output ports
924  // ----------------------------------------------------------------------
925 
927  Fw::OutputCmdRegPort m_cmdRegOut_OutputPort[NUM_CMDREGOUT_OUTPUT_PORTS];
928 
930  Fw::OutputCmdResponsePort m_cmdResponseOut_OutputPort[NUM_CMDRESPONSEOUT_OUTPUT_PORTS];
931 
933  Fw::OutputLogPort m_logOut_OutputPort[NUM_LOGOUT_OUTPUT_PORTS];
934 
935 #if FW_ENABLE_TEXT_LOGGING == 1
936 
938  Fw::OutputLogTextPort m_logTextOut_OutputPort[NUM_LOGTEXTOUT_OUTPUT_PORTS];
939 
940 #endif
941 
943  Fw::OutputTimePort m_timeCaller_OutputPort[NUM_TIMECALLER_OUTPUT_PORTS];
944 
946  Fw::OutputTlmPort m_tlmOut_OutputPort[NUM_TLMOUT_OUTPUT_PORTS];
947 
948 #endif
949 
950  private:
951 
952  // ----------------------------------------------------------------------
953  // Mutexes
954  // ----------------------------------------------------------------------
955 
957  Os::Mutex m_guardedPortMutex;
958 
959  };
960 
961 }
962 
963 #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.
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.
A command to enable or disable Event verbosity and Telemetry.
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.
virtual void ENABLE_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::VersionEnabled enable)=0
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].
virtual void lock()
Lock the guarded mutex.
void log_ACTIVITY_LO_CustomVersions(Svc::VersionCfg::VersionEnum version_enum, const Fw::StringBase &version_value) const
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)
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].
virtual void VERSION_cmdHandler(FwOpcodeType opCode, U32 cmdSeq, Svc::VersionType version_type)=0
void tlmWrite_ProjectVersion(const Fw::StringBase &arg, Fw::Time _tlmTime=Fw::Time()) const