mirror of
https://github.com/nasa/fpp.git
synced 2026-04-12 14:13:33 -05:00
239 lines
5.3 KiB
Plaintext
239 lines
5.3 KiB
Plaintext
=== Framework Definitions
|
|
|
|
Several definitions are used specially by the F Prime framework.
|
|
These are called *framework definitions.*
|
|
|
|
==== Constant Definitions
|
|
|
|
The table below lists the framework constant definitions.
|
|
Each row in the table has the following meaning:
|
|
|
|
. The row provides a qualified name _N_ and a set of rules _R_.
|
|
|
|
. If the model contains a
|
|
<<Definitions_Constant-Definitions,constant definition>> _D_ with
|
|
<<Scoping-of-Names_Names-of-Definitions,qualified name>> _N_,
|
|
then _D_ must have the following properties:
|
|
|
|
.. Each qualified identifier that is a prefix of the
|
|
name _N_, but not the name itself, must
|
|
<<Scoping-of-Names_Resolution-of-Qualified-Identifiers,refer to>> a
|
|
<<Definitions_Module-Definitions,module definition>>.
|
|
For example, the definition _D_ may not appear inside a component
|
|
or state machine.
|
|
|
|
.. The definition _D_ must conform to the rules _R_.
|
|
|
|
The rules use the following terms:
|
|
|
|
* An *integer constant* is a <<Definitions_Constant-Definitions,constant definition>>
|
|
whose <<Types_Underlying-Types,underlying type>> is an
|
|
<<Types_Internal-Types_Integer-Types,integer type>>.
|
|
|
|
* A *nonnegative integer constant* is an integer constant
|
|
whose value is greater than or equal to zero.
|
|
|
|
* A *positive integer constant* is an integer constant
|
|
whose value is greater than zero.
|
|
|
|
* A *string size constant* is an integer constant whose value is a
|
|
valid <<Types_String-Types,string size>>.
|
|
|
|
|===
|
|
|Qualified Name|Rules
|
|
|
|
|`FW_ASSERT_COUNT_MAX`
|
|
|Must be a nonnegative integer constant.
|
|
|
|
|`FW_CMD_ARG_BUFFER_MAX_SIZE`
|
|
|Must be a positive integer constant.
|
|
|
|
|`FW_CMD_STRING_MAX_SIZE`
|
|
|Must be a string size constant.
|
|
|
|
|`FW_COM_BUFFER_MAX_SIZE`
|
|
|Must be a positive integer constant.
|
|
|
|
|`FW_CONTEXT_DONT_CARE`
|
|
|Must be an integer constant.
|
|
|
|
|`FW_FILE_BUFFER_MAX_SIZE`
|
|
|Must be a positive integer constant.
|
|
|
|
|`FW_FIXED_LENGTH_STRING_SIZE`
|
|
|Must be a string size constant.
|
|
|
|
|`FW_INTERNAL_INTERFACE_STRING_MAX_SIZE`
|
|
|Must be a string size constant.
|
|
|
|
|`FW_LOG_BUFFER_MAX_SIZE`
|
|
|Must be a positive integer constant.
|
|
|
|
|`FW_LOG_STRING_MAX_SIZE`
|
|
|Must be a string size constant.
|
|
|
|
|`FW_LOG_TEXT_BUFFER_SIZE`
|
|
|Must be a positive integer constant.
|
|
|
|
|`FW_OBJ_SIMPLE_REG_BUFF_SIZE`
|
|
|Must be a positive integer constant.
|
|
|
|
|`FW_OBJ_SIMPLE_REG_ENTRIES`
|
|
|Must be a positive integer constant.
|
|
|
|
|`FW_PARAM_BUFFER_MAX_SIZE`
|
|
|Must be a positive integer constant.
|
|
|
|
|`FW_PARAM_STRING_MAX_SIZE`
|
|
|Must be a string size constant.
|
|
|
|
|`FW_QUEUE_NAME_BUFFER_SIZE`
|
|
|Must be a positive integer constant.
|
|
|
|
|`FW_QUEUE_SIMPLE_QUEUE_ENTRIES`
|
|
|Must be a positive integer constant.
|
|
|
|
|`FW_SERIALIZE_FALSE_VALUE`
|
|
|Must be an integer constant.
|
|
|
|
|`FW_SERIALIZE_TRUE_VALUE`
|
|
|Must be an integer constant.
|
|
|
|
|`FW_SM_SIGNAL_BUFFER_MAX_SIZE`
|
|
|Must be a positive integer constant.
|
|
|
|
|`FW_STATEMENT_ARG_BUFFER_MAX_SIZE`
|
|
|Must be a positive integer constant.
|
|
|
|
|`FW_TASK_NAME_BUFFER_SIZE`
|
|
|Must be a positive integer constant.
|
|
|
|
|`FW_TLM_BUFFER_MAX_SIZE`
|
|
|Must be a positive integer constant.
|
|
|
|
|`FW_TLM_STRING_MAX_SIZE`
|
|
|Must be a string size constant.
|
|
|
|
|`Fw.DpCfg.CONTAINER_USER_DATA_SIZE`
|
|
|Must be a positive integer constant.
|
|
|
|
|===
|
|
|
|
==== Type Definitions
|
|
|
|
The table below lists the framework type definitions.
|
|
The rows have the same meaning as stated for
|
|
<<Definitions_Framework-Definitions_Constant-Definitions,constant
|
|
definitions>>, except that the qualified names are the names
|
|
of <<Definitions_Type-Definitions,type definitions>>.
|
|
The rules use the following terms:
|
|
|
|
* An *integer alias type* is an <<Definitions_Alias-Type-Definitions,alias type
|
|
definition>> whose <<Types_Underlying-Types,underlying type>> is a
|
|
<<Types_Primitive-Integer-Types,primitive integer type>>.
|
|
|
|
* A *signed integer alias type* is an integer alias type whose
|
|
underlying type is signed.
|
|
|
|
* An *unsigned integer alias type* is an integer alias type whose
|
|
underlying type is unsigned.
|
|
|
|
|===
|
|
|Qualified Name|Rules
|
|
|
|
|`Fw.DpCfg.ProcType`
|
|
|Must be an <<Definitions_Enum-Definitions,enum definition>>.
|
|
|
|
|`Fw.DpState`
|
|
|Must be an <<Definitions_Enum-Definitions,enum definition>>.
|
|
|
|
|`FwAssertArgType`
|
|
|Must be an integer alias type.
|
|
|
|
|`FwChanIdType`
|
|
|Must be an integer alias type.
|
|
|
|
|`FwDpIdType`
|
|
|Must be an integer alias type.
|
|
|
|
|`FwDpPriorityType`
|
|
|Must be an integer alias type.
|
|
|
|
|`FwEnumStoreType`
|
|
|Must be an integer alias type.
|
|
|
|
|`FwEventIdType`
|
|
|Must be an integer alias type.
|
|
|
|
|`FwIndexType`
|
|
|Must be a signed integer alias type.
|
|
|
|
|`FwOpcodeType`
|
|
|Must be an integer alias type.
|
|
|
|
|`FwPacketDescriptorType`
|
|
|Must be an integer alias type.
|
|
|
|
|`FwPrmIdType`
|
|
|Must be an integer alias type.
|
|
|
|
|`FwQueuePriorityType`
|
|
|Must be an integer alias type.
|
|
|
|
|`FwSignedSizeType`
|
|
|Must be a signed integer alias type.
|
|
|
|
|`FwSizeStoreType`
|
|
|Must be an integer alias type.
|
|
|
|
|`FwSizeType`
|
|
|Must be an unsigned integer alias type.
|
|
|
|
|`FwTaskPriorityType`
|
|
|Must be an integer alias type.
|
|
|
|
|`FwTimeBaseStoreType`
|
|
|Must be an integer alias type.
|
|
|
|
|`FwTimeContextStoreType`
|
|
|Must be an integer alias type.
|
|
|
|
|`FwTlmPacketizeIdType`
|
|
|Must be an integer alias type.
|
|
|
|
|`FwTraceIdType`
|
|
|Must be an integer alias type.
|
|
|
|
|===
|
|
|
|
==== Port Definitions
|
|
|
|
The F Prime framework provides <<Definitions_Port-Definitions,port definitions>>
|
|
with the following qualified names:
|
|
|
|
* `Fw.CmdReg`
|
|
|
|
* `Fw.CmdResponse`
|
|
|
|
* `Fw.Cmd`
|
|
|
|
* `Fw.DpGet`
|
|
|
|
* `Fw.DpRequest`
|
|
|
|
* `Fw.DpResponse`
|
|
|
|
* `Fw.DpSend`
|
|
|
|
* `Fw.LogText`
|
|
|
|
* `Fw.Log`
|
|
|
|
* `Fw.PrmGet`
|
|
|
|
* `Fw.PrmSet`
|
|
|
|
* `Fw.Time`
|
|
|
|
* `Fw.Tlm`
|