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

C-compatible configuration header for fprime configuration. More...

Go to the source code of this file.

Macros

#define FPCONFIG_H_
 
#define PRI_FwIndexType   PRI_PlatformIndexType
 
#define PRI_FwSizeType   PRI_PlatformSizeType
 
#define PRI_FwAssertArgType   PRI_PlatformAssertArgType
 
#define PRI_FwNativeIntType   PRI_PlatformIntType
 
#define PRI_FwNativeUIntType   PRI_PlatformUIntType
 
#define PRI_FwBuffSizeType   PRIu16
 
#define PRI_FwEnumStoreType   PRId32
 
#define FW_CONTEXT_DONT_CARE   0xFF
 Don't care value for time contexts in sequences.
 
#define PRI_FwTimeBaseStoreType   PRIu16
 
#define PRI_FwTimeContextStoreType   PRIu8
 
#define PRI_FwPacketDescriptorType   PRIu32
 
#define PRI_FwOpcodeType   PRIu32
 
#define PRI_FwChanIdType   PRIu32
 
#define PRI_FwEventIdType   PRIu32
 
#define PRI_FwPrmIdType   PRIu32
 
#define PRI_FwTlmPacketizeIdType   PRIu16
 
#define FW_SERIALIZE_TRUE_VALUE   (0xFF)
 Value encoded during serialization for boolean true.
 
#define FW_SERIALIZE_FALSE_VALUE   (0x00)
 Value encoded during serialization for boolean false.
 
#define FW_OBJECT_NAMES    1
 Indicates whether or not object names are stored (more memory, can be used for tracking objects)
 
#define FW_OPTIONAL_NAME(name)   ""
 
#define FW_OBJECT_TO_STRING   0
 
#define FW_OBJECT_REGISTRATION    1
 Indicates whether or not objects can register themselves (more code, more object tracking)
 
#define FW_QUEUE_REGISTRATION   1
 Indicates whether or not queue registration is used.
 
#define FW_BAREMETAL_SCHEDULER    0
 Indicates whether or not a baremetal scheduler should be used. Alternatively the Os scheduler is used.
 
#define FW_PORT_TRACING   1
 Indicates whether port calls are traced (more code, more visibility into execution)
 
#define FW_PORT_SERIALIZATION    1
 
#define FW_SERIALIZATION_TYPE_ID    0
 Indicates if type id is stored when type is serialized. (More storage, but more type safety)
 
#define FW_ASSERT_DFL_MSG_LEN   256
 Maximum assert message length when using the default assert handler.
 
#define FW_ASSERT_LEVEL   FW_FILENAME_ASSERT
 Defines the type of assert used.
 
#define FW_ASSERT_TEXT_SIZE   120
 Size of string used to store assert description.
 
#define FW_QUEUE_NAME_MAX_SIZE   80
 Max size of message queue name.
 
#define FW_TASK_NAME_MAX_SIZE   80
 Max size of task name.
 
#define FW_COM_BUFFER_MAX_SIZE   128
 Max size of Fw::Com buffer.
 
#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.
 
#define FW_CMD_CHECK_RESIDUAL   1
 Check for leftover command bytes.
 
#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.
 
#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.
 
#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.
 
#define FW_FILE_BUFFER_MAX_SIZE   255
 Max size of file buffer (i.e. chunk of file)
 
#define FW_INTERNAL_INTERFACE_STRING_MAX_SIZE   256
 Max size of interface string parameter type.
 
#define FW_ENABLE_TEXT_LOGGING   1
 Indicates whether text logging is turned on.
 
#define FW_LOG_TEXT_BUFFER_SIZE   256
 Max size of string for text log message.
 
#define FW_SERIALIZABLE_TO_STRING   1
 Indicates if autocoded serializables have toString() methods.
 
#define FW_ARRAY_TO_STRING   1
 Indicates if autocoded arrays have toString() methods.
 
#define FW_AMPCS_COMPATIBLE   0
 Whether or not JPL AMPCS ground system support is enabled.
 
#define FW_USE_TIME_BASE   1
 Whether or not to use the time base.
 
#define FW_USE_TIME_CONTEXT   1
 Whether or not to serialize the time context.
 
#define FW_FIXED_LENGTH_STRING_SIZE   256
 Character array size for the filepath character type.
 

Typedefs

typedef PlatformIndexType FwIndexType
 
typedef PlatformSizeType FwSizeType
 
typedef PlatformAssertArgType FwAssertArgType
 
typedef PlatformIntType FwNativeIntType
 
typedef PlatformUIntType FwNativeUIntType
 
typedef U16 FwBuffSizeType
 
typedef I32 FwEnumStoreType
 
typedef U16 FwTimeBaseStoreType
 
typedef U8 FwTimeContextStoreType
 
typedef U32 FwPacketDescriptorType
 
typedef U32 FwOpcodeType
 
typedef U32 FwChanIdType
 
typedef U32 FwEventIdType
 
typedef U32 FwPrmIdType
 
typedef U16 FwTlmPacketizeIdType
 

Enumerations

enum  TimeBase { TB_NONE , TB_PROC_TIME , TB_WORKSTATION_TIME , TB_DONT_CARE }
 

Detailed Description

C-compatible configuration header for fprime configuration.

Author
T. Canham, mstarch

Definition in file FpConfig.h.

Macro Definition Documentation

◆ FPCONFIG_H_

#define FPCONFIG_H_

Definition at line 13 of file FpConfig.h.

◆ 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.h.

◆ FW_ARRAY_TO_STRING

#define FW_ARRAY_TO_STRING   1

Indicates if autocoded arrays have toString() methods.

Definition at line 308 of file FpConfig.h.

◆ 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 161 of file FpConfig.h.

◆ FW_ASSERT_LEVEL

#define FW_ASSERT_LEVEL   FW_FILENAME_ASSERT

Defines the type of assert used.

Definition at line 163 of file FpConfig.h.

◆ FW_ASSERT_TEXT_SIZE

#define FW_ASSERT_TEXT_SIZE   120

Size of string used to store assert description.

Definition at line 168 of file FpConfig.h.

◆ 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 118 of file FpConfig.h.

◆ 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.h.

◆ FW_CMD_CHECK_RESIDUAL

#define FW_CMD_CHECK_RESIDUAL   1

Check for leftover command bytes.

Definition at line 241 of file FpConfig.h.

◆ 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.h.

◆ 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.h.

◆ FW_CONTEXT_DONT_CARE

#define FW_CONTEXT_DONT_CARE   0xFF

Don't care value for time contexts in sequences.

Definition at line 45 of file FpConfig.h.

◆ FW_ENABLE_TEXT_LOGGING

#define FW_ENABLE_TEXT_LOGGING   1

Indicates whether text logging is turned on.

Definition at line 286 of file FpConfig.h.

◆ 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.h.

◆ FW_FIXED_LENGTH_STRING_SIZE

#define FW_FIXED_LENGTH_STRING_SIZE   256

Character array size for the filepath character type.

Definition at line 336 of file FpConfig.h.

◆ 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.h.

◆ 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.h.

◆ 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.h.

◆ 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.h.

◆ 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 83 of file FpConfig.h.

◆ FW_OBJECT_REGISTRATION

#define FW_OBJECT_REGISTRATION    1

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

Definition at line 109 of file FpConfig.h.

◆ FW_OBJECT_TO_STRING

#define FW_OBJECT_TO_STRING   0

Definition at line 102 of file FpConfig.h.

◆ FW_OPTIONAL_NAME

#define FW_OPTIONAL_NAME (   name)    ""

Definition at line 91 of file FpConfig.h.

◆ 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.h.

◆ 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.h.

◆ 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 132 of file FpConfig.h.

◆ FW_PORT_TRACING

#define FW_PORT_TRACING   1

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

Definition at line 125 of file FpConfig.h.

◆ 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.h.

◆ FW_QUEUE_REGISTRATION

#define FW_QUEUE_REGISTRATION   1

Indicates whether or not queue registration is used.

Definition at line 113 of file FpConfig.h.

◆ FW_SERIALIZABLE_TO_STRING

#define FW_SERIALIZABLE_TO_STRING   1

Indicates if autocoded serializables have toString() methods.

Definition at line 297 of file FpConfig.h.

◆ 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 145 of file FpConfig.h.

◆ FW_SERIALIZE_FALSE_VALUE

#define FW_SERIALIZE_FALSE_VALUE   (0x00)

Value encoded during serialization for boolean false.

Definition at line 77 of file FpConfig.h.

◆ FW_SERIALIZE_TRUE_VALUE

#define FW_SERIALIZE_TRUE_VALUE   (0xFF)

Value encoded during serialization for boolean true.

Definition at line 73 of file FpConfig.h.

◆ FW_TASK_NAME_MAX_SIZE

#define FW_TASK_NAME_MAX_SIZE   80

Max size of task name.

Definition at line 215 of file FpConfig.h.

◆ 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.h.

◆ 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.h.

◆ FW_USE_TIME_BASE

#define FW_USE_TIME_BASE   1

Whether or not to use the time base.

Definition at line 326 of file FpConfig.h.

◆ FW_USE_TIME_CONTEXT

#define FW_USE_TIME_CONTEXT   1

Whether or not to serialize the time context.

Definition at line 330 of file FpConfig.h.

◆ PRI_FwAssertArgType

#define PRI_FwAssertArgType   PRI_PlatformAssertArgType

Definition at line 22 of file FpConfig.h.

◆ PRI_FwBuffSizeType

#define PRI_FwBuffSizeType   PRIu16

Definition at line 31 of file FpConfig.h.

◆ PRI_FwChanIdType

#define PRI_FwChanIdType   PRIu32

Definition at line 60 of file FpConfig.h.

◆ PRI_FwEnumStoreType

#define PRI_FwEnumStoreType   PRId32

Definition at line 34 of file FpConfig.h.

◆ PRI_FwEventIdType

#define PRI_FwEventIdType   PRIu32

Definition at line 63 of file FpConfig.h.

◆ PRI_FwIndexType

#define PRI_FwIndexType   PRI_PlatformIndexType

Definition at line 16 of file FpConfig.h.

◆ PRI_FwNativeIntType

#define PRI_FwNativeIntType   PRI_PlatformIntType

Definition at line 25 of file FpConfig.h.

◆ PRI_FwNativeUIntType

#define PRI_FwNativeUIntType   PRI_PlatformUIntType

Definition at line 28 of file FpConfig.h.

◆ PRI_FwOpcodeType

#define PRI_FwOpcodeType   PRIu32

Definition at line 57 of file FpConfig.h.

◆ PRI_FwPacketDescriptorType

#define PRI_FwPacketDescriptorType   PRIu32

Definition at line 54 of file FpConfig.h.

◆ PRI_FwPrmIdType

#define PRI_FwPrmIdType   PRIu32

Definition at line 66 of file FpConfig.h.

◆ PRI_FwSizeType

#define PRI_FwSizeType   PRI_PlatformSizeType

Definition at line 19 of file FpConfig.h.

◆ PRI_FwTimeBaseStoreType

#define PRI_FwTimeBaseStoreType   PRIu16

Definition at line 48 of file FpConfig.h.

◆ PRI_FwTimeContextStoreType

#define PRI_FwTimeContextStoreType   PRIu8

Definition at line 51 of file FpConfig.h.

◆ PRI_FwTlmPacketizeIdType

#define PRI_FwTlmPacketizeIdType   PRIu16

Definition at line 69 of file FpConfig.h.

Typedef Documentation

◆ FwAssertArgType

Definition at line 21 of file FpConfig.h.

◆ FwBuffSizeType

typedef U16 FwBuffSizeType

Definition at line 30 of file FpConfig.h.

◆ FwChanIdType

typedef U32 FwChanIdType

Definition at line 59 of file FpConfig.h.

◆ FwEnumStoreType

typedef I32 FwEnumStoreType

Definition at line 33 of file FpConfig.h.

◆ FwEventIdType

typedef U32 FwEventIdType

Definition at line 62 of file FpConfig.h.

◆ FwIndexType

Definition at line 15 of file FpConfig.h.

◆ FwNativeIntType

Definition at line 24 of file FpConfig.h.

◆ FwNativeUIntType

Definition at line 27 of file FpConfig.h.

◆ FwOpcodeType

typedef U32 FwOpcodeType

Definition at line 56 of file FpConfig.h.

◆ FwPacketDescriptorType

Definition at line 53 of file FpConfig.h.

◆ FwPrmIdType

typedef U32 FwPrmIdType

Definition at line 65 of file FpConfig.h.

◆ FwSizeType

Definition at line 18 of file FpConfig.h.

◆ FwTimeBaseStoreType

typedef U16 FwTimeBaseStoreType

Definition at line 47 of file FpConfig.h.

◆ FwTimeContextStoreType

Definition at line 50 of file FpConfig.h.

◆ FwTlmPacketizeIdType

typedef U16 FwTlmPacketizeIdType

Definition at line 68 of file FpConfig.h.

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 38 of file FpConfig.h.