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
Fw Namespace Reference

Classes

class  ActiveComponentBase
 
class  ActiveComponentExitSerializableBuffer
 
class  AmpcsEvrLogPacket
 
class  Buffer
 
class  ByteArray
 A variable-length byte array. More...
 
class  CmdArgBuffer
 
class  CmdPacket
 
class  CmdStringArg
 
class  ComBuffer
 
class  ComPacket
 
class  ConstByteArray
 A variable-length byte array with constant access. More...
 
class  EightyCharString
 
class  ExternalSerializeBuffer
 
class  FileBuffer
 
class  FileChunkPacket
 
class  FilePacket
 A file packet. More...
 
class  InputBufferGetPort
 
class  InputBufferSendPort
 
class  InputCmdPort
 
class  InputCmdRegPort
 
class  InputCmdResponsePort
 
class  InputComPort
 
class  InputLogPort
 
class  InputLogTextPort
 
class  InputPortBase
 
class  InputPrmGetPort
 
class  InputPrmSetPort
 
class  InputTimePort
 
class  InputTlmPort
 
class  InternalInterfaceString
 
class  LogAssertHook
 
class  LogBuffer
 
class  Logger
 
class  LogPacket
 
class  LogStringArg
 
class  MallocAllocator
 
class  MemAllocator
 
class  MmapAllocator
 
class  ObjBase
 Brief class description. More...
 
class  OutputBufferGetPort
 
class  OutputBufferSendPort
 
class  OutputCmdPort
 
class  OutputCmdRegPort
 
class  OutputCmdResponsePort
 
class  OutputComPort
 
class  OutputLogPort
 
class  OutputLogTextPort
 
class  OutputPortBase
 
class  OutputPrmGetPort
 
class  OutputPrmSetPort
 
class  OutputTimePort
 
class  OutputTlmPort
 
class  ParamBuffer
 
class  ParamString
 
class  PassiveComponentBase
 
class  PolyType
 
class  PortBase
 
class  QueuedComponentBase
 
class  SerialBuffer
 A variable-length serializable buffer. More...
 
class  Serializable
 forward declaration More...
 
class  SerializableFile
 The type of a packet header. More...
 
class  SerializeBufferBase
 
class  StringBase
 
class  StructSerializable
 
class  TextLogString
 
class  Time
 
class  TlmBuffer
 
class  TlmPacket
 
class  TlmString
 
class  TrapHandler
 

Enumerations

enum  CommandResponse {
  COMMAND_OK, COMMAND_INVALID_OPCODE, COMMAND_VALIDATION_ERROR, COMMAND_FORMAT_ERROR,
  COMMAND_EXECUTION_ERROR, COMMAND_BUSY, CommandResponse_MAX
}
 
enum  LogSeverity {
  LOG_FATAL = 1, LOG_WARNING_HI = 2, LOG_WARNING_LO = 3, LOG_COMMAND = 4,
  LOG_ACTIVITY_HI = 5, LOG_ACTIVITY_LO = 6, LOG_DIAGNOSTIC = 7, LogSeverity_MAX
}
 
enum  TextLogSeverity {
  TEXT_LOG_FATAL = 1, TEXT_LOG_WARNING_HI = 2, TEXT_LOG_WARNING_LO = 3, TEXT_LOG_COMMAND = 4,
  TEXT_LOG_ACTIVITY_HI = 5, TEXT_LOG_ACTIVITY_LO = 6, TEXT_LOG_DIAGNOSTIC = 7, TextLogSeverity_MAX
}
 
enum  ParamValid {
  PARAM_UNINIT, PARAM_VALID, PARAM_INVALID, PARAM_DEFAULT,
  ParamValid_MAX
}
 
enum  {
  FW_TYPEID_U8 = 10, FW_TYPEID_18 = 11, FW_TYPEID_U16 = 12, FW_TYPEID_I16 = 13,
  FW_TYPEID_U32 = 14, FW_TYPEID_I32 = 15, FW_TYPEID_U64 = 16, FW_TYPEID_I64 = 17,
  FW_TYPEID_F32 = 18, FW_TYPEID_F64 = 19, FW_TYPEID_BOOL = 20, FW_TYPEID_PTR = 21,
  FW_TYPEID_BUFF = 22, FW_TYPEID_POLY = 30, FW_TYPEID_CMD_BUFF = 40, FW_TYPEID_CMD_STR = 41,
  FW_TYPEID_TLM_BUFF = 42, FW_TYPEID_TLM_STR = 43, FW_TYPEID_LOG_BUFF = 44, FW_TYPEID_LOG_STR = 45,
  FW_TYPEID_PRM_BUFF = 46, FW_TYPEID_PRM_STR = 47, FW_TYPEID_FILE_BUFF = 48, FW_TYPEID_EIGHTY_CHAR_STRING = 50,
  FW_TYPEID_INTERNAL_INTERFACE_STRING = 51
}
 
enum  SerializeStatus {
  FW_SERIALIZE_OK, FW_SERIALIZE_FORMAT_ERROR, FW_SERIALIZE_NO_ROOM_LEFT, FW_DESERIALIZE_BUFFER_EMPTY,
  FW_DESERIALIZE_FORMAT_ERROR, FW_DESERIALIZE_SIZE_MISMATCH, FW_DESERIALIZE_TYPE_MISMATCH
}
 forward declaration for string More...
 

Functions

void defaultReportAssert (FILE_NAME_ARG file, NATIVE_UINT_TYPE lineNo, NATIVE_UINT_TYPE numArgs, AssertArg arg1, AssertArg arg2, AssertArg arg3, AssertArg arg4, AssertArg arg5, AssertArg arg6, I8 *destBuffer, NATIVE_INT_TYPE buffSize)
 

Detailed Description

File: Logger.cpp Description: Framework logging implementation Author: mstarch

This file adds in support to the core 'Fw' package, to separate it from Os and other loggers, and allow the architect of the system to select which core framework logging should be used.

File: Loger.hpp Description: Framework logging support Author: mstarch

This file adds in support to the core 'Fw' package, to separate it from Os and other loggers, and allow the architect of the system to select which core framework logging should be used.

This class is a pure virtual base class for memory allocators in Fprime. The intent is to provide derived classes the get memory from different sources. The base class can be passed to classes so the allocator can be selected at the system level, and different allocators can be used by different components as appropriate.

The identifier can be used to look up a pre-allocated buffer by ID in an embbeded system.

The size is the requested size of the memory. If the allocator cannot return the requested amount, it should return the actual amount and users should check.

The recoverable flag is intended to be used in embedded environments where memory can survive a processor reset and data can be recovered. The component using the allocator can then use the data. Any integrity checks are up to the user of the memory.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
FW_TYPEID_U8 

U8 serialized type id.

FW_TYPEID_18 

I8 serialized type id.

FW_TYPEID_U16 

U16 serialized type id.

FW_TYPEID_I16 

I16 serialized type id.

FW_TYPEID_U32 

U32 serialized type id.

FW_TYPEID_I32 

I32 serialized type id.

FW_TYPEID_U64 

U64 serialized type id.

FW_TYPEID_I64 

I64 serialized type id.

FW_TYPEID_F32 

F32 serialized type id.

FW_TYPEID_F64 

F64 serialized type id.

FW_TYPEID_BOOL 

boolean serialized type id

FW_TYPEID_PTR 

pointer serialized type id

FW_TYPEID_BUFF 

buffer serialized type id

FW_TYPEID_POLY 

PolyType serialized type id.

FW_TYPEID_CMD_BUFF 

Command Buffer type id.

FW_TYPEID_CMD_STR 

Command string type id.

FW_TYPEID_TLM_BUFF 

Telemetry Buffer type id.

FW_TYPEID_TLM_STR 

Telemetry string type id.

FW_TYPEID_LOG_BUFF 

Log Buffer type id.

FW_TYPEID_LOG_STR 

Log string type id.

FW_TYPEID_PRM_BUFF 

Parameter Buffer type id.

FW_TYPEID_PRM_STR 

Parameter string type id.

FW_TYPEID_FILE_BUFF 

File piece Buffer type id.

FW_TYPEID_EIGHTY_CHAR_STRING 

80 char string Buffer type id

FW_TYPEID_INTERNAL_INTERFACE_STRING 

interface string Buffer type id

Definition at line 21 of file SerIds.hpp.

◆ CommandResponse

Enumerator
COMMAND_OK 
COMMAND_INVALID_OPCODE 
COMMAND_VALIDATION_ERROR 
COMMAND_FORMAT_ERROR 
COMMAND_EXECUTION_ERROR 
COMMAND_BUSY 
CommandResponse_MAX 

Definition at line 24 of file CmdResponsePortAc.hpp.

◆ LogSeverity

Enumerator
LOG_FATAL 
LOG_WARNING_HI 
LOG_WARNING_LO 
LOG_COMMAND 
LOG_ACTIVITY_HI 
LOG_ACTIVITY_LO 
LOG_DIAGNOSTIC 
LogSeverity_MAX 

Definition at line 26 of file LogPortAc.hpp.

◆ ParamValid

Enumerator
PARAM_UNINIT 
PARAM_VALID 
PARAM_INVALID 
PARAM_DEFAULT 
ParamValid_MAX 

Definition at line 25 of file PrmGetPortAc.hpp.

◆ SerializeStatus

forward declaration for string

Enumerator
FW_SERIALIZE_OK 

Serialization/Deserialization operation was successful.

FW_SERIALIZE_FORMAT_ERROR 

Data was the wrong format (e.g. wrong packet type)

FW_SERIALIZE_NO_ROOM_LEFT 

No room left in the buffer to serialize data.

FW_DESERIALIZE_BUFFER_EMPTY 

Deserialization buffer was empty when trying to read more data.

FW_DESERIALIZE_FORMAT_ERROR 

Deserialization data had incorrect values (unexpected data types)

FW_DESERIALIZE_SIZE_MISMATCH 

Data was left in in the buffer, but not enough to deserialize.

FW_DESERIALIZE_TYPE_MISMATCH 

Deserialized type ID didn't match.

Definition at line 14 of file Serializable.hpp.

◆ TextLogSeverity

Enumerator
TEXT_LOG_FATAL 
TEXT_LOG_WARNING_HI 
TEXT_LOG_WARNING_LO 
TEXT_LOG_COMMAND 
TEXT_LOG_ACTIVITY_HI 
TEXT_LOG_ACTIVITY_LO 
TEXT_LOG_DIAGNOSTIC 
TextLogSeverity_MAX 

Definition at line 26 of file LogTextPortAc.hpp.

Function Documentation

◆ defaultReportAssert()

void Fw::defaultReportAssert ( FILE_NAME_ARG  file,
NATIVE_UINT_TYPE  lineNo,
NATIVE_UINT_TYPE  numArgs,
AssertArg  arg1,
AssertArg  arg2,
AssertArg  arg3,
AssertArg  arg4,
AssertArg  arg5,
AssertArg  arg6,
I8 destBuffer,
NATIVE_INT_TYPE  buffSize 
)