F´ Flight Software - C/C++ Documentation  NASA-v1.5.0
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Svc::ComLogger Class Reference

#include <Svc/ComLogger/ComLogger.hpp>

Inheritance diagram for Svc::ComLogger:
Svc::ComLoggerComponentBase Fw::ActiveComponentBase Fw::QueuedComponentBase Fw::PassiveComponentBase Fw::ObjBase

Public Types

enum  { MAX_FILENAME_SIZE = NAME_MAX, MAX_PATH_SIZE = PATH_MAX }
 
enum  FileMode { CLOSED = 0, OPEN = 1 }
 
- Public Types inherited from Svc::ComLoggerComponentBase
enum  { NUM_COMIN_INPUT_PORTS = 1, NUM_CMDIN_INPUT_PORTS = 1, NUM_PINGIN_INPUT_PORTS = 1 }
 
enum  {
  NUM_TIMECALLER_OUTPUT_PORTS = 1, NUM_CMDREGOUT_OUTPUT_PORTS = 1, NUM_LOGOUT_OUTPUT_PORTS = 1, NUM_CMDRESPONSEOUT_OUTPUT_PORTS = 1,
  NUM_PINGOUT_OUTPUT_PORTS = 1, NUM_LOGTEXT_OUTPUT_PORTS = 1
}
 
- Public Types inherited from Fw::ActiveComponentBase
enum  { ACTIVE_COMPONENT_EXIT }
 
- Public Types inherited from Fw::QueuedComponentBase
enum  MsgDispatchStatus { MSG_DISPATCH_OK, MSG_DISPATCH_EMPTY, MSG_DISPATCH_ERROR, MSG_DISPATCH_EXIT }
 

Public Member Functions

 ComLogger (const char *compName, const char *filePrefix, U32 maxFileSize, bool storeBufferLength=true)
 
void init (NATIVE_INT_TYPE queueDepth, NATIVE_INT_TYPE instance)
 
 ~ComLogger (void)
 
void CloseFile_cmdHandler (FwOpcodeType opCode, U32 cmdSeq)
 
void pingIn_handler (const NATIVE_INT_TYPE portNum, U32 key)
 
void openFile ()
 
void closeFile ()
 
void writeComBufferToFile (Fw::ComBuffer &data, U16 size)
 
bool writeToFile (void *data, U16 length)
 
void writeHashFile ()
 
- Public Member Functions inherited from Svc::ComLoggerComponentBase
Fw::InputComPortget_comIn_InputPort (NATIVE_INT_TYPE portNum)
 
Fw::InputCmdPortget_cmdIn_InputPort (NATIVE_INT_TYPE portNum)
 
Svc::InputPingPortget_pingIn_InputPort (NATIVE_INT_TYPE portNum)
 
void set_timeCaller_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputTimePort *port)
 
void set_cmdRegOut_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputCmdRegPort *port)
 
void set_logOut_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputLogPort *port)
 
void set_cmdResponseOut_OutputPort (NATIVE_INT_TYPE portNum, Fw::InputCmdResponsePort *port)
 
void set_pingOut_OutputPort (NATIVE_INT_TYPE portNum, Svc::InputPingPort *port)
 
void regCommands (void)
 Register commands with the Command Dispatcher. More...
 
void init (NATIVE_INT_TYPE queueDepth, NATIVE_INT_TYPE instance=0)
 
virtual ~ComLoggerComponentBase (void)
 
void pingIn_handlerBase (NATIVE_INT_TYPE portNum, U32 key)
 
virtual void pingIn_preMsgHook (NATIVE_INT_TYPE portNum, U32 key)
 
NATIVE_INT_TYPE getNum_cmdIn_InputPorts (void)
 
NATIVE_INT_TYPE getNum_pingIn_InputPorts (void)
 
NATIVE_INT_TYPE getNum_cmdRegOut_OutputPorts (void)
 
NATIVE_INT_TYPE getNum_logOut_OutputPorts (void)
 
NATIVE_INT_TYPE getNum_cmdResponseOut_OutputPorts (void)
 
NATIVE_INT_TYPE getNum_pingOut_OutputPorts (void)
 
bool isConnected_cmdRegOut_OutputPort (NATIVE_INT_TYPE portNum)
 
bool isConnected_logOut_OutputPort (NATIVE_INT_TYPE portNum)
 
bool isConnected_cmdResponseOut_OutputPort (NATIVE_INT_TYPE portNum)
 
bool isConnected_pingOut_OutputPort (NATIVE_INT_TYPE portNum)
 
void log_WARNING_HI_FileWriteError (U32 errornum, U32 bytesWritten, U32 bytesToWrite, Fw::LogStringArg &file)
 
void log_WARNING_LO_FileValidationError (Fw::LogStringArg &validationFile, Fw::LogStringArg &file, U32 status)
 
void log_DIAGNOSTIC_FileClosed (Fw::LogStringArg &file)
 
- Public Member Functions inherited from Fw::ActiveComponentBase
void start (NATIVE_INT_TYPE identifier, NATIVE_INT_TYPE priority, NATIVE_INT_TYPE stackSize, NATIVE_INT_TYPE cpuAffinity=-1)
 called by instantiator when task is to be started More...
 
void exit (void)
 exit task in active component More...
 
Os::Task::TaskStatus join (void **value_ptr)
 provide return value of thread if value_ptr is not NULL More...
 
virtual ~ActiveComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 initialization code More...
 
virtual void preamble (void)
 A function that will be called before the event loop is entered. More...
 
virtual void loop (void)
 The function that will loop dispatching messages. More...
 
virtual void finalizer (void)
 A function that will be called after exiting the loop. More...
 
- Public Member Functions inherited from Fw::QueuedComponentBase
virtual ~QueuedComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 initialization function More...
 
Os::Queue::QueueStatus createQueue (NATIVE_INT_TYPE depth, NATIVE_INT_TYPE msgSize)
 
virtual MsgDispatchStatus doDispatch (void)=0
 method to dispatch a single message in the queue. More...
 
NATIVE_INT_TYPE getNumMsgsDropped (void)
 return number of messages dropped More...
 
void incNumMsgDropped (void)
 increment the number of messages dropped More...
 
- Public Member Functions inherited from Fw::PassiveComponentBase
void setIdBase (const U32)
 Set the ID base. More...
 
U32 getIdBase (void) const
 
virtual ~PassiveComponentBase ()
 Destructor. More...
 
void init (NATIVE_INT_TYPE instance)
 Initialization function. More...
 
NATIVE_INT_TYPE getInstance (void) const
 

Public Attributes

PRIVATE __pad0__: void comIn_handler( NATIVE_INT_TYPE portNum
 
PRIVATE Fw::ComBufferdata
 
PRIVATE Fw::ComBuffer U32 context
 
U8 filePrefix [MAX_FILENAME_SIZE+MAX_PATH_SIZE]
 
U32 maxFileSize
 
FileMode fileMode
 
Os::File file
 
U8 fileName [MAX_FILENAME_SIZE+MAX_PATH_SIZE]
 
U8 hashFileName [MAX_FILENAME_SIZE+MAX_PATH_SIZE]
 
U32 byteCount
 
bool writeErrorOccured
 
bool openErrorOccured
 
bool storeBufferLength
 
- Public Attributes inherited from Svc::ComLoggerComponentBase
PROTECTED __pad0__: ComLoggerComponentBase(void)
 
PROTECTED __pad1__: virtual void comIn_handler( NATIVE_INT_TYPE portNum
 
PROTECTED Fw::ComBufferdata
 
PROTECTED Fw::ComBuffer U32 context = 0
 
PROTECTED __pad2__: void comIn_handlerBase( NATIVE_INT_TYPE portNum
 
PROTECTED __pad3__: virtual void comIn_preMsgHook( NATIVE_INT_TYPE portNum
 
PROTECTED __pad4__: void pingOut_out( NATIVE_INT_TYPE portNum
 
PROTECTED U32 key
 
PROTECTED __pad5__: NATIVE_INT_TYPE getNum_comIn_InputPorts(void)
 
PROTECTED __pad6__: NATIVE_INT_TYPE getNum_timeCaller_OutputPorts(void)
 
PROTECTED __pad7__: bool isConnected_timeCaller_OutputPort( NATIVE_INT_TYPE portNum )
 
PROTECTED __pad8__: enum { OPCODE_CLOSEFILE = 0x0
 
PROTECTED PROTECTED: virtual void CloseFile_cmdHandler( FwOpcodeType opCode
 
PROTECTED U32 cmdSeq = 0
 
PROTECTED __pad9__: virtual void CloseFile_preMsgHook( FwOpcodeType opCode
 
PROTECTED __pad10__: void CloseFile_cmdHandlerBase( FwOpcodeType opCode
 
PROTECTED U32 Fw::CmdArgBufferargs
 
PROTECTED __pad11__: void cmdResponse_out( FwOpcodeType opCode
 
PROTECTED U32 Fw::CommandResponse response
 
PROTECTED __pad12__: enum { EVENTID_FILEOPENERROR = 0x0
 
PROTECTED EVENTID_FILEWRITEERROR = 0x1
 
PROTECTED EVENTID_FILEVALIDATIONERROR = 0x2
 
PROTECTED EVENTID_FILECLOSED = 0x3
 
PROTECTED Fw::LogStringArgfile
 
PROTECTED __pad13__: Fw::Time getTime(void)
 
PRIVATE __pad14__: Fw::InputComPort m_comIn_InputPort[NUM_COMIN_INPUT_PORTS]
 
Fw::InputCmdPort m_cmdIn_InputPort [NUM_CMDIN_INPUT_PORTS]
 
Svc::InputPingPort m_pingIn_InputPort [NUM_PINGIN_INPUT_PORTS]
 
PRIVATE __pad15__: Fw::OutputTimePort m_timeCaller_OutputPort[NUM_TIMECALLER_OUTPUT_PORTS]
 
Fw::OutputCmdRegPort m_cmdRegOut_OutputPort [NUM_CMDREGOUT_OUTPUT_PORTS]
 
Fw::OutputLogPort m_logOut_OutputPort [NUM_LOGOUT_OUTPUT_PORTS]
 
Fw::OutputCmdResponsePort m_cmdResponseOut_OutputPort [NUM_CMDRESPONSEOUT_OUTPUT_PORTS]
 
Svc::OutputPingPort m_pingOut_OutputPort [NUM_PINGOUT_OUTPUT_PORTS]
 
PRIVATE __pad16__: static void m_p_comIn_in( Fw::PassiveComponentBase* callComp
 
PRIVATE NATIVE_INT_TYPE portNum
 
PRIVATE NATIVE_INT_TYPE Fw::ComBufferdata
 
PRIVATE NATIVE_INT_TYPE Fw::ComBuffer U32 context
 
PRIVATE __pad17__: virtual MsgDispatchStatus doDispatch(void)
 
- Public Attributes inherited from Fw::ActiveComponentBase
PROTECTED __pad0__: ActiveComponentBase(const char* name)
 Constructor. More...
 
Os::Task m_task
 task object for active component More...
 
PRIVATE __pad1__: static void s_baseTask(void*)
 function provided to task class for new thread. More...
 
- Public Attributes inherited from Fw::QueuedComponentBase
PROTECTED __pad0__: QueuedComponentBase(const char* name)
 Constructor. More...
 
Os::Queue m_queue
 queue object for active component More...
 
PRIVATE __pad1__: NATIVE_INT_TYPE m_msgsDropped
 number of messages dropped from full queue More...
 
- Public Attributes inherited from Fw::PassiveComponentBase
PROTECTED __pad0__: PassiveComponentBase(const char* name)
 Named constructor. More...
 
PRIVATE __pad1__: U32 m_idBase
 ID base for opcodes etc. More...
 
NATIVE_INT_TYPE m_instance
 instance of component object More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Svc::ComLoggerComponentBase
static void m_p_cmdIn_in (Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, FwOpcodeType opCode, U32 cmdSeq, Fw::CmdArgBuffer &args)
 
static void m_p_pingIn_in (Fw::PassiveComponentBase *callComp, NATIVE_INT_TYPE portNum, U32 key)
 
- Static Public Member Functions inherited from Fw::ActiveComponentBase
static void s_baseBareTask (void *)
 function provided to task class for new thread. More...
 
- Protected Member Functions inherited from Fw::ObjBase
 ObjBase (const char *name)
 ObjBase constructor. More...
 
virtual ~ObjBase ()
 Destructor. More...
 
void init (void)
 Object initializer. More...
 

Detailed Description

Definition at line 22 of file ComLogger.hpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
MAX_FILENAME_SIZE 
MAX_PATH_SIZE 

Definition at line 76 of file ComLogger.hpp.

◆ FileMode

Enumerator
CLOSED 
OPEN 

Definition at line 88 of file ComLogger.hpp.

Constructor & Destructor Documentation

◆ ComLogger()

Svc::ComLogger::ComLogger ( const char *  compName,
const char *  filePrefix,
U32  maxFileSize,
bool  storeBufferLength = true 
)

Definition at line 19 of file ComLogger.cpp.

◆ ~ComLogger()

Svc::ComLogger::~ComLogger ( void  )

Definition at line 53 of file ComLogger.cpp.

Member Function Documentation

◆ closeFile()

void Svc::ComLogger::closeFile ( )

Definition at line 183 of file ComLogger.cpp.

◆ CloseFile_cmdHandler()

void Svc::ComLogger::CloseFile_cmdHandler ( FwOpcodeType  opCode,
U32  cmdSeq 
)

Definition at line 120 of file ComLogger.cpp.

◆ init()

void Svc::ComLogger::init ( NATIVE_INT_TYPE  queueDepth,
NATIVE_INT_TYPE  instance 
)
Parameters
queueDepthThe queue depth
instanceThe instance number

Definition at line 44 of file ComLogger.cpp.

◆ openFile()

void Svc::ComLogger::openFile ( )

Definition at line 140 of file ComLogger.cpp.

◆ pingIn_handler()

void Svc::ComLogger::pingIn_handler ( const NATIVE_INT_TYPE  portNum,
U32  key 
)
virtual

Handler implementation for pingIn

Parameters
portNumThe port number
keyValue to return to pinger

Implements Svc::ComLoggerComponentBase.

Definition at line 130 of file ComLogger.cpp.

◆ writeComBufferToFile()

void Svc::ComLogger::writeComBufferToFile ( Fw::ComBuffer data,
U16  size 
)

Definition at line 203 of file ComLogger.cpp.

◆ writeHashFile()

void Svc::ComLogger::writeHashFile ( void  )

Definition at line 250 of file ComLogger.cpp.

◆ writeToFile()

bool Svc::ComLogger::writeToFile ( void *  data,
U16  length 
)

Definition at line 228 of file ComLogger.cpp.

Member Data Documentation

◆ __pad0__

PRIVATE Svc::ComLogger::__pad0__

Definition at line 52 of file ComLogger.hpp.

◆ byteCount

U32 Svc::ComLogger::byteCount

Definition at line 97 of file ComLogger.hpp.

◆ context

PRIVATE Fw::ComBuffer U32 Svc::ComLogger::context

Definition at line 57 of file ComLogger.hpp.

◆ data

PRIVATE Fw::ComBuffer& Svc::ComLogger::data

Definition at line 56 of file ComLogger.hpp.

◆ file

Os::File Svc::ComLogger::file

Definition at line 94 of file ComLogger.hpp.

◆ fileMode

FileMode Svc::ComLogger::fileMode

Definition at line 93 of file ComLogger.hpp.

◆ fileName

U8 Svc::ComLogger::fileName[MAX_FILENAME_SIZE+MAX_PATH_SIZE]

Definition at line 95 of file ComLogger.hpp.

◆ filePrefix

U8 Svc::ComLogger::filePrefix[MAX_FILENAME_SIZE+MAX_PATH_SIZE]

Definition at line 82 of file ComLogger.hpp.

◆ hashFileName

U8 Svc::ComLogger::hashFileName[MAX_FILENAME_SIZE+MAX_PATH_SIZE]

Definition at line 96 of file ComLogger.hpp.

◆ maxFileSize

U32 Svc::ComLogger::maxFileSize

Definition at line 83 of file ComLogger.hpp.

◆ openErrorOccured

bool Svc::ComLogger::openErrorOccured

Definition at line 99 of file ComLogger.hpp.

◆ storeBufferLength

bool Svc::ComLogger::storeBufferLength

Definition at line 100 of file ComLogger.hpp.

◆ writeErrorOccured

bool Svc::ComLogger::writeErrorOccured

Definition at line 98 of file ComLogger.hpp.


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