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 write functions
610  // ----------------------------------------------------------------------
611 
616  const Fw::StringBase& arg,
617  Fw::Time _tlmTime = Fw::Time()
618  ) const;
619 
624  const Fw::StringBase& arg,
625  Fw::Time _tlmTime = Fw::Time()
626  ) const;
627 
632  const Svc::CustomVersionDb& arg,
633  Fw::Time _tlmTime = Fw::Time()
634  ) const;
635 
638  const Svc::CustomVersionDb& arg,
639  Fw::Time _tlmTime = Fw::Time()
640  ) const;
641 
644  const Svc::CustomVersionDb& arg,
645  Fw::Time _tlmTime = Fw::Time()
646  ) const;
647 
650  const Svc::CustomVersionDb& arg,
651  Fw::Time _tlmTime = Fw::Time()
652  ) const;
653 
656  const Svc::CustomVersionDb& arg,
657  Fw::Time _tlmTime = Fw::Time()
658  ) const;
659 
662  const Svc::CustomVersionDb& arg,
663  Fw::Time _tlmTime = Fw::Time()
664  ) const;
665 
668  const Svc::CustomVersionDb& arg,
669  Fw::Time _tlmTime = Fw::Time()
670  ) const;
671 
674  const Svc::CustomVersionDb& arg,
675  Fw::Time _tlmTime = Fw::Time()
676  ) const;
677 
680  const Svc::CustomVersionDb& arg,
681  Fw::Time _tlmTime = Fw::Time()
682  ) const;
683 
686  const Svc::CustomVersionDb& arg,
687  Fw::Time _tlmTime = Fw::Time()
688  ) const;
689 
694  const Fw::StringBase& arg,
695  Fw::Time _tlmTime = Fw::Time()
696  ) const;
697 
700  const Fw::StringBase& arg,
701  Fw::Time _tlmTime = Fw::Time()
702  ) const;
703 
706  const Fw::StringBase& arg,
707  Fw::Time _tlmTime = Fw::Time()
708  ) const;
709 
712  const Fw::StringBase& arg,
713  Fw::Time _tlmTime = Fw::Time()
714  ) const;
715 
718  const Fw::StringBase& arg,
719  Fw::Time _tlmTime = Fw::Time()
720  ) const;
721 
724  const Fw::StringBase& arg,
725  Fw::Time _tlmTime = Fw::Time()
726  ) const;
727 
730  const Fw::StringBase& arg,
731  Fw::Time _tlmTime = Fw::Time()
732  ) const;
733 
736  const Fw::StringBase& arg,
737  Fw::Time _tlmTime = Fw::Time()
738  ) const;
739 
742  const Fw::StringBase& arg,
743  Fw::Time _tlmTime = Fw::Time()
744  ) const;
745 
748  const Fw::StringBase& arg,
749  Fw::Time _tlmTime = Fw::Time()
750  ) const;
751 
752  protected:
753 
754  // ----------------------------------------------------------------------
755  // Time
756  // ----------------------------------------------------------------------
757 
761  Fw::Time getTime() const;
762 
763  protected:
764 
765  // ----------------------------------------------------------------------
766  // Mutex operations for guarded ports
767  //
768  // You can override these operations to provide more sophisticated
769  // synchronization
770  // ----------------------------------------------------------------------
771 
773  virtual void lock();
774 
776  virtual void unLock();
777 
778  private:
779 
780  // ----------------------------------------------------------------------
781  // Calls for messages received on special input ports
782  // ----------------------------------------------------------------------
783 
785  static void m_p_cmdIn_in(
786  Fw::PassiveComponentBase* callComp,
787  FwIndexType portNum,
788  FwOpcodeType opCode,
789  U32 cmdSeq,
790  Fw::CmdArgBuffer& args
791  );
792 
793  private:
794 
795  // ----------------------------------------------------------------------
796  // Calls for messages received on typed input ports
797  // ----------------------------------------------------------------------
798 
800  static void m_p_getVersion_in(
801  Fw::PassiveComponentBase* callComp,
802  FwIndexType portNum,
803  const Svc::VersionCfg::VersionEnum& version_id,
804  Fw::StringBase& version_string,
805  Svc::VersionStatus& status
806  );
807 
809  static void m_p_setVersion_in(
810  Fw::PassiveComponentBase* callComp,
811  FwIndexType portNum,
812  const Svc::VersionCfg::VersionEnum& version_id,
813  Fw::StringBase& version_string,
814  Svc::VersionStatus& status
815  );
816 
817  private:
818 
819  // ----------------------------------------------------------------------
820  // Invocation functions for special output ports
821  // ----------------------------------------------------------------------
822 
824  void cmdRegOut_out(
825  FwIndexType portNum,
826  FwOpcodeType opCode
827  ) const;
828 
830  void cmdResponseOut_out(
831  FwIndexType portNum,
832  FwOpcodeType opCode,
833  U32 cmdSeq,
834  const Fw::CmdResponse& response
835  ) const;
836 
838  void logOut_out(
839  FwIndexType portNum,
840  FwEventIdType id,
841  Fw::Time& timeTag,
842  const Fw::LogSeverity& severity,
843  Fw::LogBuffer& args
844  ) const;
845 
846 #if FW_ENABLE_TEXT_LOGGING
847 
849  void logTextOut_out(
850  FwIndexType portNum,
851  FwEventIdType id,
852  Fw::Time& timeTag,
853  const Fw::LogSeverity& severity,
854  Fw::TextLogString& text
855  ) const;
856 
857 #endif
858 
860  void timeCaller_out(
861  FwIndexType portNum,
862  Fw::Time& time
863  ) const;
864 
866  void tlmOut_out(
867  FwIndexType portNum,
868  FwChanIdType id,
869  Fw::Time& timeTag,
870  Fw::TlmBuffer& val
871  ) const;
872 
873 #if !FW_DIRECT_PORT_CALLS
874 
875  private:
876 
877  // ----------------------------------------------------------------------
878  // Special input ports
879  // ----------------------------------------------------------------------
880 
882  Fw::InputCmdPort m_cmdIn_InputPort[NUM_CMDIN_INPUT_PORTS];
883 
884 #endif
885 
886 #if !FW_DIRECT_PORT_CALLS
887 
888  private:
889 
890  // ----------------------------------------------------------------------
891  // Typed input ports
892  // ----------------------------------------------------------------------
893 
895  Svc::InputVersionPort m_getVersion_InputPort[NUM_GETVERSION_INPUT_PORTS];
896 
898  Svc::InputVersionPort m_setVersion_InputPort[NUM_SETVERSION_INPUT_PORTS];
899 
900 #endif
901 
902 #if !FW_DIRECT_PORT_CALLS
903 
904  private:
905 
906  // ----------------------------------------------------------------------
907  // Special output ports
908  // ----------------------------------------------------------------------
909 
911  Fw::OutputCmdRegPort m_cmdRegOut_OutputPort[NUM_CMDREGOUT_OUTPUT_PORTS];
912 
914  Fw::OutputCmdResponsePort m_cmdResponseOut_OutputPort[NUM_CMDRESPONSEOUT_OUTPUT_PORTS];
915 
917  Fw::OutputLogPort m_logOut_OutputPort[NUM_LOGOUT_OUTPUT_PORTS];
918 
919 #if FW_ENABLE_TEXT_LOGGING == 1
920 
922  Fw::OutputLogTextPort m_logTextOut_OutputPort[NUM_LOGTEXTOUT_OUTPUT_PORTS];
923 
924 #endif
925 
927  Fw::OutputTimePort m_timeCaller_OutputPort[NUM_TIMECALLER_OUTPUT_PORTS];
928 
930  Fw::OutputTlmPort m_tlmOut_OutputPort[NUM_TLMOUT_OUTPUT_PORTS];
931 
932 #endif
933 
934  private:
935 
936  // ----------------------------------------------------------------------
937  // Mutexes
938  // ----------------------------------------------------------------------
939 
941  Os::Mutex m_guardedPortMutex;
942 
943  };
944 
945 }
946 
947 #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_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