F´ Flight Software - C/C++ Documentation  NASA-v2.0.1
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FpConfig.hpp File Reference

ISF configuration file. More...

Go to the source code of this file.

Macros

#define FW_CONFIG_ERROR(condition, name)   typedef char assert_failed_ ## name [ (condition) ? 1 : -1 ];
 
#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 a event id. More...
 
#define FwPrmIdType   U32
 Type representation for a parameter 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_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 51 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 319 of file FpConfig.hpp.

◆ FW_ARRAY_TO_STRING

#define FW_ARRAY_TO_STRING   1

Indicates if autocoded arrays have toString() methods.

Definition at line 308 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 313 of file FpConfig.hpp.

◆ FW_ASSERT_LEVEL

#define FW_ASSERT_LEVEL   FW_FILENAME_ASSERT

Defines the type of assert used.

Definition at line 165 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 170 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 226 of file FpConfig.hpp.

◆ FW_CMD_CHECK_RESIDUAL

#define FW_CMD_CHECK_RESIDUAL   1

Check for leftover command bytes.

Definition at line 241 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 231 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 220 of file FpConfig.hpp.

◆ FW_CONFIG_ERROR

#define FW_CONFIG_ERROR (   condition,
  name 
)    typedef char assert_failed_ ## name [ (condition) ? 1 : -1 ];

Definition at line 16 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 337 of file FpConfig.hpp.

◆ FW_ENABLE_TEXT_LOGGING

#define FW_ENABLE_TEXT_LOGGING   1

Indicates whether text logging is turned on.

Definition at line 286 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 276 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 354 of file FpConfig.hpp.

◆ FW_HAS_16_BIT

#define FW_HAS_16_BIT   1

Architecture supports 16 bit integers.

Definition at line 33 of file FpConfig.hpp.

◆ FW_HAS_32_BIT

#define FW_HAS_32_BIT   1

Architecture supports 32 bit integers.

Definition at line 29 of file FpConfig.hpp.

◆ FW_HAS_64_BIT

#define FW_HAS_64_BIT   1

Architecture supports 64 bit integers.

Definition at line 25 of file FpConfig.hpp.

◆ FW_HAS_F64

#define FW_HAS_F64   1

Architecture supports 64 bit floating point numbers.

Definition at line 37 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 281 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 246 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 251 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 291 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 178 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 196 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 192 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 185 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 266 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 271 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 210 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 203 of file FpConfig.hpp.

◆ FW_SERIALIZABLE_TO_STRING

#define FW_SERIALIZABLE_TO_STRING   1

Indicates if autocoded serializables have toString() methods.

Definition at line 297 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 302 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 47 of file FpConfig.hpp.

◆ FW_SERIALIZE_TRUE_VALUE

#define FW_SERIALIZE_TRUE_VALUE   (0xFF)

Value encoded during serialization for boolean true.

Definition at line 43 of file FpConfig.hpp.

◆ FW_TASK_NAME_MAX_SIZE

#define FW_TASK_NAME_MAX_SIZE   80

Max size of task name.

Definition at line 215 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 256 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 261 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 344 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 348 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 66 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 a event id.

Definition at line 70 of file FpConfig.hpp.

◆ FwOpcodeType

#define FwOpcodeType   U32

Type representation for a command opcode.

Definition at line 62 of file FpConfig.hpp.

◆ FwPacketDescriptorType

#define FwPacketDescriptorType   U32

Type representation for a packet descriptor.

Definition at line 58 of file FpConfig.hpp.

◆ FwPrmIdType

#define FwPrmIdType   U32

Type representation for a parameter id.

Definition at line 74 of file FpConfig.hpp.

◆ FwTimeBaseStoreType

#define FwTimeBaseStoreType   U16

Storage conversion for time base in scripts/ground interface.

Definition at line 332 of file FpConfig.hpp.

◆ FwTimeContextStoreType

#define FwTimeContextStoreType   U8

Storage conversion for time context in scripts/ground interface.

Definition at line 336 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 323 of file FpConfig.hpp.