F´ Flight Software - C/C++ Documentation  NASA-v1.6.0
A framework for building embedded system applications to NASA flight quality standards.
FpConfig.hpp File Reference

ISF configuration file. More...

Go to the source code of this file.

Macros

#define FW_HAS_64_BIT   1
 Architecture supports 64 bit integers. More...
 
#define FW_HAS_32_BIT   1
 Architecture supports 32 bit integers. More...
 
#define FW_HAS_16_BIT   1
 Architecture supports 16 bit integers. More...
 
#define FW_HAS_F64   1
 Architecture supports 64 bit floating point numbers. More...
 
#define FW_SERIALIZE_TRUE_VALUE   (0xFF)
 Value encoded during serialization for boolean true. More...
 
#define FW_SERIALIZE_FALSE_VALUE   (0x00)
 Value encoded during serialization for boolean false. More...
 
#define AssertArg   U32
 
#define FwPacketDescriptorType   U32
 Type representation for a packet descriptor. More...
 
#define FwOpcodeType   U32
 Type representation for a command opcode. More...
 
#define FwChanIdType   U32
 Type representation for a channel id. More...
 
#define FwEventIdType   U32
 Type representation for an event id. More...
 
#define FwPrmIdType   U32
 Type representation for a parameter id. More...
 
#define FwTlmPacketizeIdType   U16
 Packetized telemetry packet id. More...
 
#define FwBuffSizeType   U16
 Type representation for storing a buffer or string size. More...
 
#define FwEnumStoreType   I32
 Type representation for an enumeration value. More...
 
#define FW_OBJECT_NAMES   1
 Indicates whether or not object names are stored (more memory, can be used for tracking objects) More...
 
#define FW_OPTIONAL_NAME(name)   name
 
#define FW_OBJECT_TO_STRING   1
 Indicates whether or not generated objects have toString() methods to dump internals (more code) More...
 
#define FW_OBJECT_REGISTRATION   1
 Indicates whether or not objects can register themselves (more code, more object tracking) More...
 
#define FW_QUEUE_REGISTRATION   1
 Indicates whether or not queue registration is used. More...
 
#define FW_BAREMETAL_SCHEDULER   0
 Indicates whether or not a baremetal scheduler should be used. Alternatively the Os scheduler is used. More...
 
#define FW_PORT_TRACING   1
 Indicates whether port calls are traced (more code, more visibility into execution) More...
 
#define FW_PORT_SERIALIZATION   1
 Indicates whether there is code in ports to serialize the call (more code, but ability to serialize calls for multi-note systems) More...
 
#define FW_SERIALIZATION_TYPE_ID   0
 Indicates if type id is stored when type is serialized. (More storage, but more type safety) More...
 
#define FW_NO_ASSERT   1
 Asserts turned off. More...
 
#define FW_FILEID_ASSERT   2
 File ID used - requires -DASSERT_FILE_ID=somevalue to be set on the compile command line. More...
 
#define FW_FILENAME_ASSERT   3
 Uses the file name in the assert - image stores filenames. More...
 
#define FW_ASSERT_DFL_MSG_LEN   256
 Maximum assert message length when using the default assert handler. More...
 
#define FW_ASSERT_LEVEL   FW_FILENAME_ASSERT
 Defines the type of assert used. More...
 
#define FW_ASSERT_TEXT_SIZE   120
 Size of string used to store assert description. More...
 
#define FW_OBJ_NAME_MAX_SIZE   80
 Size of object name (if object names enabled). AC Limits to 80, truncation occurs above 80. More...
 
#define FW_OBJ_TO_STRING_BUFFER_SIZE   255
 Size of string storing toString() text. More...
 
#define FW_OBJ_SIMPLE_REG_ENTRIES   500
 Number of objects stored in simple object registry. More...
 
#define FW_OBJ_SIMPLE_REG_BUFF_SIZE   255
 Size of object registry dump string. More...
 
#define FW_QUEUE_SIMPLE_QUEUE_ENTRIES   100
 Number of queues stored in simple queue registry. More...
 
#define FW_QUEUE_NAME_MAX_SIZE   80
 Max size of message queue name. More...
 
#define FW_TASK_NAME_MAX_SIZE   80
 Max size of task name. More...
 
#define FW_COM_BUFFER_MAX_SIZE   128
 Max size of Fw::Com buffer. More...
 
#define FW_CMD_ARG_BUFFER_MAX_SIZE   (FW_COM_BUFFER_MAX_SIZE - sizeof(FwOpcodeType) - sizeof(FwPacketDescriptorType))
 
#define FW_CMD_STRING_MAX_SIZE   40
 Max character size of command string arguments. More...
 
#define FW_CMD_CHECK_RESIDUAL   1
 Check for leftover command bytes. More...
 
#define FW_LOG_BUFFER_MAX_SIZE   (FW_COM_BUFFER_MAX_SIZE - sizeof(FwEventIdType) - sizeof(FwPacketDescriptorType))
 
#define FW_LOG_STRING_MAX_SIZE   100
 Max size of log string parameter type. More...
 
#define FW_TLM_BUFFER_MAX_SIZE   (FW_COM_BUFFER_MAX_SIZE - sizeof(FwChanIdType) - sizeof(FwPacketDescriptorType))
 
#define FW_TLM_STRING_MAX_SIZE   40
 Max size of channelized telemetry string type. More...
 
#define FW_PARAM_BUFFER_MAX_SIZE   (FW_COM_BUFFER_MAX_SIZE - sizeof(FwPrmIdType) - sizeof(FwPacketDescriptorType))
 
#define FW_PARAM_STRING_MAX_SIZE   40
 Max size of parameter string type. More...
 
#define FW_FILE_BUFFER_MAX_SIZE   255
 Max size of file buffer (i.e. chunk of file) More...
 
#define FW_INTERNAL_INTERFACE_STRING_MAX_SIZE   256
 Max size of interface string parameter type. More...
 
#define FW_ENABLE_TEXT_LOGGING   1
 Indicates whether text logging is turned on. More...
 
#define FW_LOG_TEXT_BUFFER_SIZE   256
 Max size of string for text log message. More...
 
#define FW_SERIALIZABLE_TO_STRING   1
 Indicates if autocoded serializables have toString() methods. More...
 
#define FW_SERIALIZABLE_TO_STRING_BUFFER_SIZE   255
 Size of string to store toString() string output. More...
 
#define FW_ARRAY_TO_STRING   1
 Indicates if autocoded arrays have toString() methods. More...
 
#define FW_ARRAY_TO_STRING_BUFFER_SIZE   256
 Size of string to store toString() string output. More...
 
#define FW_AMPCS_COMPATIBLE   0
 Whether or not JPL AMPCS ground system support is enabled. More...
 
#define FwTimeBaseStoreType   U16
 Storage conversion for time base in scripts/ground interface. More...
 
#define FwTimeContextStoreType   U8
 Storage conversion for time context in scripts/ground interface. More...
 
#define FW_CONTEXT_DONT_CARE   0xFF
 Don't care value for time contexts in sequences. More...
 
#define FW_USE_TIME_BASE   1
 Whether or not to use the time base. More...
 
#define FW_USE_TIME_CONTEXT   1
 Whether or not to serialize the time context. More...
 
#define FW_FIXED_LENGTH_STRING_SIZE   256
 Character array size for the filepath character type. More...
 

Enumerations

enum  TimeBase { TB_NONE, TB_PROC_TIME, TB_WORKSTATION_TIME, TB_DONT_CARE = 0xFFFF }
 

Detailed Description

ISF configuration file.

Author
T. Canham

Definition in file FpConfig.hpp.

Macro Definition Documentation

◆ AssertArg

#define AssertArg   U32

Definition at line 47 of file FpConfig.hpp.

◆ FW_AMPCS_COMPATIBLE

#define FW_AMPCS_COMPATIBLE   0

Whether or not JPL AMPCS ground system support is enabled.

Definition at line 320 of file FpConfig.hpp.

◆ FW_ARRAY_TO_STRING

#define FW_ARRAY_TO_STRING   1

Indicates if autocoded arrays have toString() methods.

Definition at line 309 of file FpConfig.hpp.

◆ FW_ARRAY_TO_STRING_BUFFER_SIZE

#define FW_ARRAY_TO_STRING_BUFFER_SIZE   256

Size of string to store toString() string output.

Definition at line 314 of file FpConfig.hpp.

◆ FW_ASSERT_DFL_MSG_LEN

#define FW_ASSERT_DFL_MSG_LEN   256

Maximum assert message length when using the default assert handler.

Definition at line 163 of file FpConfig.hpp.

◆ FW_ASSERT_LEVEL

#define FW_ASSERT_LEVEL   FW_FILENAME_ASSERT

Defines the type of assert used.

Definition at line 166 of file FpConfig.hpp.

◆ FW_ASSERT_TEXT_SIZE

#define FW_ASSERT_TEXT_SIZE   120

Size of string used to store assert description.

Definition at line 171 of file FpConfig.hpp.

◆ FW_BAREMETAL_SCHEDULER

#define FW_BAREMETAL_SCHEDULER   0

Indicates whether or not a baremetal scheduler should be used. Alternatively the Os scheduler is used.

Definition at line 123 of file FpConfig.hpp.

◆ FW_CMD_ARG_BUFFER_MAX_SIZE

#define FW_CMD_ARG_BUFFER_MAX_SIZE   (FW_COM_BUFFER_MAX_SIZE - sizeof(FwOpcodeType) - sizeof(FwPacketDescriptorType))

Definition at line 227 of file FpConfig.hpp.

◆ FW_CMD_CHECK_RESIDUAL

#define FW_CMD_CHECK_RESIDUAL   1

Check for leftover command bytes.

Definition at line 242 of file FpConfig.hpp.

◆ FW_CMD_STRING_MAX_SIZE

#define FW_CMD_STRING_MAX_SIZE   40

Max character size of command string arguments.

Definition at line 232 of file FpConfig.hpp.

◆ FW_COM_BUFFER_MAX_SIZE

#define FW_COM_BUFFER_MAX_SIZE   128

Max size of Fw::Com buffer.

Definition at line 221 of file FpConfig.hpp.

◆ FW_CONTEXT_DONT_CARE

#define FW_CONTEXT_DONT_CARE   0xFF

Don't care value for time contexts in sequences.

Definition at line 338 of file FpConfig.hpp.

◆ FW_ENABLE_TEXT_LOGGING

#define FW_ENABLE_TEXT_LOGGING   1

Indicates whether text logging is turned on.

Definition at line 287 of file FpConfig.hpp.

◆ FW_FILE_BUFFER_MAX_SIZE

#define FW_FILE_BUFFER_MAX_SIZE   255

Max size of file buffer (i.e. chunk of file)

Definition at line 277 of file FpConfig.hpp.

◆ FW_FILEID_ASSERT

#define FW_FILEID_ASSERT   2

File ID used - requires -DASSERT_FILE_ID=somevalue to be set on the compile command line.

Definition at line 161 of file FpConfig.hpp.

◆ FW_FILENAME_ASSERT

#define FW_FILENAME_ASSERT   3

Uses the file name in the assert - image stores filenames.

Definition at line 162 of file FpConfig.hpp.

◆ FW_FIXED_LENGTH_STRING_SIZE

#define FW_FIXED_LENGTH_STRING_SIZE   256

Character array size for the filepath character type.

Definition at line 355 of file FpConfig.hpp.

◆ FW_HAS_16_BIT

#define FW_HAS_16_BIT   1

Architecture supports 16 bit integers.

Definition at line 29 of file FpConfig.hpp.

◆ FW_HAS_32_BIT

#define FW_HAS_32_BIT   1

Architecture supports 32 bit integers.

Definition at line 25 of file FpConfig.hpp.

◆ FW_HAS_64_BIT

#define FW_HAS_64_BIT   1

Architecture supports 64 bit integers.

Definition at line 21 of file FpConfig.hpp.

◆ FW_HAS_F64

#define FW_HAS_F64   1

Architecture supports 64 bit floating point numbers.

Definition at line 33 of file FpConfig.hpp.

◆ FW_INTERNAL_INTERFACE_STRING_MAX_SIZE

#define FW_INTERNAL_INTERFACE_STRING_MAX_SIZE   256

Max size of interface string parameter type.

Definition at line 282 of file FpConfig.hpp.

◆ FW_LOG_BUFFER_MAX_SIZE

#define FW_LOG_BUFFER_MAX_SIZE   (FW_COM_BUFFER_MAX_SIZE - sizeof(FwEventIdType) - sizeof(FwPacketDescriptorType))

Definition at line 247 of file FpConfig.hpp.

◆ FW_LOG_STRING_MAX_SIZE

#define FW_LOG_STRING_MAX_SIZE   100

Max size of log string parameter type.

Definition at line 252 of file FpConfig.hpp.

◆ FW_LOG_TEXT_BUFFER_SIZE

#define FW_LOG_TEXT_BUFFER_SIZE   256

Max size of string for text log message.

Definition at line 292 of file FpConfig.hpp.

◆ FW_NO_ASSERT

#define FW_NO_ASSERT   1

Asserts turned off.

Definition at line 160 of file FpConfig.hpp.

◆ FW_OBJ_NAME_MAX_SIZE

#define FW_OBJ_NAME_MAX_SIZE   80

Size of object name (if object names enabled). AC Limits to 80, truncation occurs above 80.

Definition at line 179 of file FpConfig.hpp.

◆ FW_OBJ_SIMPLE_REG_BUFF_SIZE

#define FW_OBJ_SIMPLE_REG_BUFF_SIZE   255

Size of object registry dump string.

Definition at line 197 of file FpConfig.hpp.

◆ FW_OBJ_SIMPLE_REG_ENTRIES

#define FW_OBJ_SIMPLE_REG_ENTRIES   500

Number of objects stored in simple object registry.

Definition at line 193 of file FpConfig.hpp.

◆ FW_OBJ_TO_STRING_BUFFER_SIZE

#define FW_OBJ_TO_STRING_BUFFER_SIZE   255

Size of string storing toString() text.

Definition at line 186 of file FpConfig.hpp.

◆ FW_OBJECT_NAMES

#define FW_OBJECT_NAMES   1

Indicates whether or not object names are stored (more memory, can be used for tracking objects)

Definition at line 91 of file FpConfig.hpp.

◆ FW_OBJECT_REGISTRATION

#define FW_OBJECT_REGISTRATION   1

Indicates whether or not objects can register themselves (more code, more object tracking)

Definition at line 115 of file FpConfig.hpp.

◆ FW_OBJECT_TO_STRING

#define FW_OBJECT_TO_STRING   1

Indicates whether or not generated objects have toString() methods to dump internals (more code)

Definition at line 106 of file FpConfig.hpp.

◆ FW_OPTIONAL_NAME

#define FW_OPTIONAL_NAME (   name)    name

Definition at line 97 of file FpConfig.hpp.

◆ FW_PARAM_BUFFER_MAX_SIZE

#define FW_PARAM_BUFFER_MAX_SIZE   (FW_COM_BUFFER_MAX_SIZE - sizeof(FwPrmIdType) - sizeof(FwPacketDescriptorType))

Definition at line 267 of file FpConfig.hpp.

◆ FW_PARAM_STRING_MAX_SIZE

#define FW_PARAM_STRING_MAX_SIZE   40

Max size of parameter string type.

Definition at line 272 of file FpConfig.hpp.

◆ FW_PORT_SERIALIZATION

#define FW_PORT_SERIALIZATION   1

Indicates whether there is code in ports to serialize the call (more code, but ability to serialize calls for multi-note systems)

Definition at line 135 of file FpConfig.hpp.

◆ FW_PORT_TRACING

#define FW_PORT_TRACING   1

Indicates whether port calls are traced (more code, more visibility into execution)

Definition at line 130 of file FpConfig.hpp.

◆ FW_QUEUE_NAME_MAX_SIZE

#define FW_QUEUE_NAME_MAX_SIZE   80

Max size of message queue name.

Definition at line 211 of file FpConfig.hpp.

◆ FW_QUEUE_REGISTRATION

#define FW_QUEUE_REGISTRATION   1

Indicates whether or not queue registration is used.

Definition at line 119 of file FpConfig.hpp.

◆ FW_QUEUE_SIMPLE_QUEUE_ENTRIES

#define FW_QUEUE_SIMPLE_QUEUE_ENTRIES   100

Number of queues stored in simple queue registry.

Definition at line 204 of file FpConfig.hpp.

◆ FW_SERIALIZABLE_TO_STRING

#define FW_SERIALIZABLE_TO_STRING   1

Indicates if autocoded serializables have toString() methods.

Definition at line 298 of file FpConfig.hpp.

◆ FW_SERIALIZABLE_TO_STRING_BUFFER_SIZE

#define FW_SERIALIZABLE_TO_STRING_BUFFER_SIZE   255

Size of string to store toString() string output.

Definition at line 303 of file FpConfig.hpp.

◆ FW_SERIALIZATION_TYPE_ID

#define FW_SERIALIZATION_TYPE_ID   0

Indicates if type id is stored when type is serialized. (More storage, but more type safety)

Definition at line 147 of file FpConfig.hpp.

◆ FW_SERIALIZE_FALSE_VALUE

#define FW_SERIALIZE_FALSE_VALUE   (0x00)

Value encoded during serialization for boolean false.

Definition at line 43 of file FpConfig.hpp.

◆ FW_SERIALIZE_TRUE_VALUE

#define FW_SERIALIZE_TRUE_VALUE   (0xFF)

Value encoded during serialization for boolean true.

Definition at line 39 of file FpConfig.hpp.

◆ FW_TASK_NAME_MAX_SIZE

#define FW_TASK_NAME_MAX_SIZE   80

Max size of task name.

Definition at line 216 of file FpConfig.hpp.

◆ FW_TLM_BUFFER_MAX_SIZE

#define FW_TLM_BUFFER_MAX_SIZE   (FW_COM_BUFFER_MAX_SIZE - sizeof(FwChanIdType) - sizeof(FwPacketDescriptorType))

Definition at line 257 of file FpConfig.hpp.

◆ FW_TLM_STRING_MAX_SIZE

#define FW_TLM_STRING_MAX_SIZE   40

Max size of channelized telemetry string type.

Definition at line 262 of file FpConfig.hpp.

◆ FW_USE_TIME_BASE

#define FW_USE_TIME_BASE   1

Whether or not to use the time base.

Definition at line 345 of file FpConfig.hpp.

◆ FW_USE_TIME_CONTEXT

#define FW_USE_TIME_CONTEXT   1

Whether or not to serialize the time context.

Definition at line 349 of file FpConfig.hpp.

◆ FwBuffSizeType

#define FwBuffSizeType   U16

Type representation for storing a buffer or string size.

Definition at line 79 of file FpConfig.hpp.

◆ FwChanIdType

#define FwChanIdType   U32

Type representation for a channel id.

Definition at line 62 of file FpConfig.hpp.

◆ FwEnumStoreType

#define FwEnumStoreType   I32

Type representation for an enumeration value.

Definition at line 84 of file FpConfig.hpp.

◆ FwEventIdType

#define FwEventIdType   U32

Type representation for an event id.

Definition at line 66 of file FpConfig.hpp.

◆ FwOpcodeType

#define FwOpcodeType   U32

Type representation for a command opcode.

Definition at line 58 of file FpConfig.hpp.

◆ FwPacketDescriptorType

#define FwPacketDescriptorType   U32

Type representation for a packet descriptor.

Definition at line 54 of file FpConfig.hpp.

◆ FwPrmIdType

#define FwPrmIdType   U32

Type representation for a parameter id.

Definition at line 70 of file FpConfig.hpp.

◆ FwTimeBaseStoreType

#define FwTimeBaseStoreType   U16

Storage conversion for time base in scripts/ground interface.

Definition at line 333 of file FpConfig.hpp.

◆ FwTimeContextStoreType

#define FwTimeContextStoreType   U8

Storage conversion for time context in scripts/ground interface.

Definition at line 337 of file FpConfig.hpp.

◆ FwTlmPacketizeIdType

#define FwTlmPacketizeIdType   U16

Packetized telemetry packet id.

Definition at line 74 of file FpConfig.hpp.

Enumeration Type Documentation

◆ TimeBase

enum TimeBase
Enumerator
TB_NONE 

No time base has been established.

TB_PROC_TIME 

Indicates time is processor cycle time. Not tied to external time.

TB_WORKSTATION_TIME 

Time as reported on workstation where software is running. For testing.

TB_DONT_CARE 

Don't care value for sequences. If FwTimeBaseStoreType is changed, value should be changed.

Definition at line 324 of file FpConfig.hpp.