F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
Svc::TimeConverter Class Referencefinal

#include <Svc/TimeConverter/TimeConverter.hpp>

Inheritance diagram for Svc::TimeConverter:
Svc::TimeConverterComponentBase Fw::PassiveComponentBase Fw::ObjBase

Public Member Functions

 TimeConverter (const char *const compName)
 Construct TimeConverter object. More...
 
 ~TimeConverter ()
 Destroy TimeConverter object. More...
 
- Public Member Functions inherited from Svc::TimeConverterComponentBase
void init (FwEnumStoreType instance=0)
 Initialize TimeConverterComponentBase object. More...
 
Fw::InputCmdPort * get_cmdIn_InputPort (FwIndexType portNum)
 
Svc::InputConvertTimePort * get_convertTime_InputPort (FwIndexType portNum)
 
Svc::InputTimeOffsetSendPort * get_offsetUpdate_InputPort (FwIndexType portNum)
 
void set_cmdRegOut_OutputPort (FwIndexType portNum, Fw::InputCmdRegPort *port)
 Connect port to cmdRegOut[portNum]. More...
 
void set_cmdResponseOut_OutputPort (FwIndexType portNum, Fw::InputCmdResponsePort *port)
 Connect port to cmdResponseOut[portNum]. More...
 
void set_eventOut_OutputPort (FwIndexType portNum, Fw::InputLogPort *port)
 Connect port to eventOut[portNum]. More...
 
void set_timeCaller_OutputPort (FwIndexType portNum, Fw::InputTimePort *port)
 Connect port to timeCaller[portNum]. More...
 
void regCommands ()
 Register commands with the Command Dispatcher. More...
 
- Public Member Functions inherited from Fw::PassiveComponentBase
void setIdBase (const FwIdType)
 Set the ID base. More...
 
FwIdType getIdBase () const
 
virtual void deinit ()
 Deinitialization function. More...
 

Static Public Attributes

static constexpr I64 US_PER_SECOND = 1000000
 Microseconds in one second. More...
 
static constexpr I64 MAX_TIME_US
 Largest time representable by an Fw::Time, in microseconds. More...
 

Additional Inherited Members

- Protected Types inherited from Svc::TimeConverterComponentBase
enum  { NUM_CMDIN_INPUT_PORTS = 1 }
 Enumerations for numbers of special input ports. More...
 
enum  { NUM_CONVERTTIME_INPUT_PORTS = 1, NUM_OFFSETUPDATE_INPUT_PORTS = 1 }
 Enumerations for numbers of typed input ports. More...
 
enum  {
  NUM_CMDREGOUT_OUTPUT_PORTS = 1, NUM_CMDRESPONSEOUT_OUTPUT_PORTS = 1, NUM_EVENTOUT_OUTPUT_PORTS = 1, NUM_TEXTEVENTOUT_OUTPUT_PORTS = 1,
  NUM_TIMECALLER_OUTPUT_PORTS = 1
}
 Enumerations for numbers of special output ports. More...
 
enum  { OPCODE_SET_OFFSET = 0x0, OPCODE_CLEAR_OFFSETS = 0x1, OPCODE_GET_OFFSET = 0x2, OPCODE_DUMP_OFFSETS = 0x3 }
 Command opcodes. More...
 
enum  {
  EVENTID_NOCONVERSIONAVAILABLE = 0x0, EVENTID_INVALIDTIME = 0x1, EVENTID_OFFSETSET = 0x2, EVENTID_OFFSETTABLEFULL = 0x3,
  EVENTID_OFFSETSCLEARED = 0x4, EVENTID_OFFSETREPORT = 0x5, EVENTID_NOOFFSETSTORED = 0x6, EVENTID_OFFSETTABLEEMPTY = 0x7,
  EVENTID_IDENTICALTIMEBASES = 0x8, EVENTID_OFFSETOUTOFRANGE = 0x9, EVENTID_UNUSABLETIMEBASE = 0xa
}
 Event IDs. More...
 
enum  {
  EVENTID_NOCONVERSIONAVAILABLE_THROTTLE = 5, EVENTID_INVALIDTIME_THROTTLE = 5, EVENTID_OFFSETTABLEFULL_THROTTLE = 5, EVENTID_IDENTICALTIMEBASES_THROTTLE = 5,
  EVENTID_OFFSETOUTOFRANGE_THROTTLE = 5, EVENTID_UNUSABLETIMEBASE_THROTTLE = 5
}
 Event throttle values: sets initial value of countdown variables. More...
 
- Protected Member Functions inherited from Svc::TimeConverterComponentBase
 TimeConverterComponentBase (const char *compName="")
 Construct TimeConverterComponentBase object. More...
 
virtual ~TimeConverterComponentBase ()
 Destroy TimeConverterComponentBase object. More...
 
bool isConnected_cmdRegOut_OutputPort (FwIndexType portNum) const
 
bool isConnected_cmdResponseOut_OutputPort (FwIndexType portNum) const
 
bool isConnected_eventOut_OutputPort (FwIndexType portNum) const
 
bool isConnected_timeCaller_OutputPort (FwIndexType portNum) const
 
void cmdIn_handlerBase (FwIndexType portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 Handler base-class function for input port cmdIn. More...
 
Svc::ConvertTimeStatus convertTime_handlerBase (FwIndexType portNum, const Fw::Time &in_time, Fw::Time &out_time)
 Handler base-class function for input port convertTime. More...
 
void offsetUpdate_handlerBase (FwIndexType portNum, const Svc::TimeOffset &offset)
 Handler base-class function for input port offsetUpdate. More...
 
void cmdResponse_out (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdResponse response)
 Emit command response. More...
 
void SET_OFFSET_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void CLEAR_OFFSETS_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void GET_OFFSET_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void DUMP_OFFSETS_cmdHandlerBase (FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
void log_WARNING_LO_NoConversionAvailable (const TimeBase &in_tb, const TimeBase &out_tb)
 
void log_WARNING_LO_InvalidTime (const TimeBase &in_tb, const TimeBase &out_tb, I64 offset_us, I64 in_time_us)
 
void log_ACTIVITY_HI_OffsetSet (const TimeBase &from, const TimeBase &to, I64 offset_us) const
 
void log_WARNING_HI_OffsetTableFull (const TimeBase &from, const TimeBase &to, U32 capacity)
 
void log_ACTIVITY_HI_OffsetsCleared (U32 entries) const
 
void log_ACTIVITY_HI_OffsetReport (const TimeBase &from, const TimeBase &to, I64 offset_us) const
 
void log_WARNING_LO_NoOffsetStored (const TimeBase &from, const TimeBase &to) const
 
void log_ACTIVITY_HI_OffsetTableEmpty () const
 
void log_WARNING_LO_IdenticalTimeBases (const TimeBase &tb)
 
void log_WARNING_HI_OffsetOutOfRange (const TimeBase &from, const TimeBase &to, I64 offset_us)
 
void log_WARNING_HI_UnusableTimeBase (const TimeBase &tb)
 
void log_WARNING_LO_NoConversionAvailable_ThrottleClear ()
 Reset throttle value for NoConversionAvailable. More...
 
void log_WARNING_LO_InvalidTime_ThrottleClear ()
 Reset throttle value for InvalidTime. More...
 
void log_WARNING_HI_OffsetTableFull_ThrottleClear ()
 Reset throttle value for OffsetTableFull. More...
 
void log_WARNING_LO_IdenticalTimeBases_ThrottleClear ()
 Reset throttle value for IdenticalTimeBases. More...
 
void log_WARNING_HI_OffsetOutOfRange_ThrottleClear ()
 Reset throttle value for OffsetOutOfRange. More...
 
void log_WARNING_HI_UnusableTimeBase_ThrottleClear ()
 Reset throttle value for UnusableTimeBase. More...
 
Fw::Time getTime () const
 
virtual void lock ()
 Lock the guarded mutex. More...
 
virtual void unLock ()
 Unlock the guarded mutex. More...
 
- Protected Member Functions inherited from Fw::PassiveComponentBase
 PassiveComponentBase (const char *name)
 Named constructor. More...
 
virtual ~PassiveComponentBase ()
 Destructor. More...
 
void init (FwEnumStoreType instance)
 Initialization function. More...
 
FwEnumStoreType getInstance () const
 
- Protected Member Functions inherited from Fw::ObjBase
 ObjBase (const char *name)
 ObjBase constructor. More...
 
virtual ~ObjBase ()
 Destructor. More...
 
void init ()
 Object initializer. More...
 
- Static Protected Member Functions inherited from Svc::TimeConverterComponentBase
static constexpr FwIndexType getNum_cmdIn_InputPorts ()
 
static constexpr FwIndexType getNum_convertTime_InputPorts ()
 
static constexpr FwIndexType getNum_offsetUpdate_InputPorts ()
 
static constexpr FwIndexType getNum_cmdRegOut_OutputPorts ()
 
static constexpr FwIndexType getNum_cmdResponseOut_OutputPorts ()
 
static constexpr FwIndexType getNum_eventOut_OutputPorts ()
 
static constexpr FwIndexType getNum_timeCaller_OutputPorts ()
 

Detailed Description

Definition at line 19 of file TimeConverter.hpp.

Constructor & Destructor Documentation

◆ TimeConverter()

Svc::TimeConverter::TimeConverter ( const char *const  compName)
explicit

Construct TimeConverter object.

Parameters
compNameThe component name

Definition at line 36 of file TimeConverter.cpp.

◆ ~TimeConverter()

Svc::TimeConverter::~TimeConverter ( )

Destroy TimeConverter object.

Definition at line 38 of file TimeConverter.cpp.

Member Data Documentation

◆ MAX_TIME_US

constexpr I64 Svc::TimeConverter::MAX_TIME_US
static
Initial value:
=
static_cast<I64>(std::numeric_limits<U32>::max()) * US_PER_SECOND + (US_PER_SECOND - 1)

Largest time representable by an Fw::Time, in microseconds.

Definition at line 25 of file TimeConverter.hpp.

◆ US_PER_SECOND

constexpr I64 Svc::TimeConverter::US_PER_SECOND = 1000000
static

Microseconds in one second.

Definition at line 22 of file TimeConverter.hpp.


The documentation for this class was generated from the following files: