From 1dfbd4c95ace42dc04b32bbef5baf09fd4715b3c Mon Sep 17 00:00:00 2001 From: Isaac Rowe <9010221+irowebbn@users.noreply.github.com> Date: Fri, 21 Jul 2023 09:51:33 -0500 Subject: [PATCH] Fix #2407 Add perfid limit info to ES docstring --- modules/core_api/fsw/inc/cfe_es.h | 391 +++++++++++------- .../es/config/default_cfe_es_interface_cfg.h | 9 +- 2 files changed, 258 insertions(+), 142 deletions(-) diff --git a/modules/core_api/fsw/inc/cfe_es.h b/modules/core_api/fsw/inc/cfe_es.h index cac2c8f03..03c9967df 100644 --- a/modules/core_api/fsw/inc/cfe_es.h +++ b/modules/core_api/fsw/inc/cfe_es.h @@ -36,10 +36,11 @@ /* ** Includes */ -#include "common_types.h" -#include "cfe_error.h" #include "cfe_es_api_typedefs.h" #include "cfe_resourceid_api_typedefs.h" +#include "common_types.h" + +#include "cfe_error.h" /* ** The OS_PRINTF macro may be defined by OSAL to enable @@ -54,9 +55,9 @@ ** Macro Definitions */ -#define CFE_ES_DBIT(x) (1L << (x)) /* Places a one at bit positions 0 thru 31 */ -#define CFE_ES_DTEST(i, x) (((i)&CFE_ES_DBIT(x)) != 0) /* true iff bit x of i is set */ -#define CFE_ES_TEST_LONG_MASK(m, s) \ +#define CFE_ES_DBIT(x) (1L << (x)) /* Places a one at bit positions 0 thru 31 */ +#define CFE_ES_DTEST(i, x) (((i) &CFE_ES_DBIT(x)) != 0) /* true iff bit x of i is set */ +#define CFE_ES_TEST_LONG_MASK(m, s) \ (CFE_ES_DTEST(m[(s) / 32], (s) % 32)) /* Test a bit within an array of 32-bit integers. */ /*****************************************************************************/ @@ -190,9 +191,11 @@ CFE_Status_t CFE_ES_CounterID_ToIndex(CFE_ES_CounterId_t CounterId, uint32 *Idx) ** \par Assumptions, External Events, and Notes: ** None ** -** \param[in] StartType Identifies whether this was a #CFE_PSP_RST_TYPE_POWERON or #CFE_PSP_RST_TYPE_PROCESSOR. +** \param[in] StartType Identifies whether this was a #CFE_PSP_RST_TYPE_POWERON or +*#CFE_PSP_RST_TYPE_PROCESSOR. ** -** \param[in] StartSubtype Specifies, in more detail, what caused the \c StartType identified above. +** \param[in] StartSubtype Specifies, in more detail, what caused the \c StartType identified +*above. ** See #CFE_PSP_RST_SUBTYPE_POWER_CYCLE for possible examples. ** ** \param[in] ModeId Identifies the source of the Boot as determined by the BSP. @@ -210,7 +213,8 @@ void CFE_ES_Main(uint32 StartType, uint32 StartSubtype, uint32 ModeId, const cha ** ** \par Description ** This API causes an immediate reset of the cFE Kernel and all cFE Applications. -** The caller can specify whether the reset should clear all memory (#CFE_PSP_RST_TYPE_POWERON) +** The caller can specify whether the reset should clear all memory +*(#CFE_PSP_RST_TYPE_POWERON) ** or try to retain volatile memory areas (#CFE_PSP_RST_TYPE_PROCESSOR). ** ** \par Assumptions, External Events, and Notes: @@ -218,7 +222,8 @@ void CFE_ES_Main(uint32 StartType, uint32 StartSubtype, uint32 ModeId, const cha ** ** \param[in] ResetType Identifies the type of reset desired. Allowable settings are: ** \arg #CFE_PSP_RST_TYPE_POWERON - Causes all memory to be cleared -** \arg #CFE_PSP_RST_TYPE_PROCESSOR - Attempts to retain volatile disk, critical data store +** \arg #CFE_PSP_RST_TYPE_PROCESSOR - Attempts to retain volatile disk, +*critical data store ** and user reserved memory. ** ** \return Execution status, see \ref CFEReturnCodes @@ -343,10 +348,12 @@ CFE_Status_t CFE_ES_DeleteApp(CFE_ES_AppId_t AppID); ** \par Assumptions, External Events, and Notes: ** None ** -** \param[in] ExitStatus Acceptable values are: \arg #CFE_ES_RunStatus_APP_EXIT - \copybrief CFE_ES_RunStatus_APP_EXIT +** \param[in] ExitStatus Acceptable values are: \arg #CFE_ES_RunStatus_APP_EXIT - \copybrief +*CFE_ES_RunStatus_APP_EXIT ** \arg #CFE_ES_RunStatus_APP_ERROR - \copybrief CFE_ES_RunStatus_APP_ERROR ** \arg #CFE_ES_RunStatus_CORE_APP_INIT_ERROR - \copybrief CFE_ES_RunStatus_CORE_APP_INIT_ERROR -** \arg #CFE_ES_RunStatus_CORE_APP_RUNTIME_ERROR - \copybrief CFE_ES_RunStatus_CORE_APP_RUNTIME_ERROR +** \arg #CFE_ES_RunStatus_CORE_APP_RUNTIME_ERROR - \copybrief +*CFE_ES_RunStatus_CORE_APP_RUNTIME_ERROR ** ** ** \sa #CFE_ES_RunLoop @@ -377,8 +384,10 @@ void CFE_ES_ExitApp(uint32 ExitStatus); ** #CFE_ES_RunStatus_APP_RUN during application start up, and should remain as this value ** during normal operation. ** -** If "RunStatus" is set to #CFE_ES_RunStatus_APP_EXIT or #CFE_ES_RunStatus_APP_ERROR on input, -** this acts as a shutdown request - CFE_ES_RunLoop() function will return "false", and a shutdown +** If "RunStatus" is set to #CFE_ES_RunStatus_APP_EXIT or #CFE_ES_RunStatus_APP_ERROR on +*input, +** this acts as a shutdown request - CFE_ES_RunLoop() function will return "false", and a +*shutdown ** will be initiated similar to if ES had been externally commanded to shut down the app. ** ** If "RunStatus" is not used, it should be passed as NULL. In this mode, only the boolean @@ -495,10 +504,14 @@ void CFE_ES_IncrementTaskCounter(void); ** \par Assumptions, External Events, and Notes: ** None ** -** \param[in, out] ResetSubtypePtr Pointer to \c uint32 type variable in which the Reset Sub-Type will be stored. -** The caller can set this pointer to NULL if the Sub-Type is of no interest. \n -** ResetSubtypePtr If the provided pointer was not \c NULL, the Reset Sub-Type is -** stored at the given address. For a list of possible Sub-Type values, see \link +** \param[in, out] ResetSubtypePtr Pointer to \c uint32 type variable in which the Reset +*Sub-Type will be stored. +** The caller can set this pointer to NULL if the Sub-Type is +*of no interest. \n +** ResetSubtypePtr If the provided pointer was not \c NULL, the +*Reset Sub-Type is +** stored at the given address. For a list of possible Sub-Type +*values, see \link ** #CFE_PSP_RST_SUBTYPE_POWER_CYCLE "Reset Sub-Types" \endlink. ** ** \return Processor reset type @@ -520,8 +533,10 @@ int32 CFE_ES_GetResetType(uint32 *ResetSubtypePtr); ** \par Assumptions, External Events, and Notes: ** NOTE: \b All tasks associated with the Application would return the same Application ID. ** -** \param[out] AppIdPtr Pointer to variable that is to receive the Application's ID @nonnull. -** *AppIdPtr will be set to the application ID of the calling Application. +** \param[out] AppIdPtr Pointer to variable that is to receive the Application's ID +*@nonnull. +** *AppIdPtr will be set to the application ID of the calling +*Application. ** ** \return Execution status, see \ref CFEReturnCodes ** \retval #CFE_SUCCESS \copybrief CFE_SUCCESS @@ -568,7 +583,8 @@ CFE_Status_t CFE_ES_GetTaskID(CFE_ES_TaskId_t *TaskIdPtr); ** None ** ** \param[out] AppIdPtr Pointer to variable that is to receive the Application's ID @nonnull. -** \param[in] AppName Pointer to null terminated character string containing an Application name @nonnull. +** \param[in] AppName Pointer to null terminated character string containing an Application +*name @nonnull. ** ** \return Execution status, see \ref CFEReturnCodes ** \retval #CFE_SUCCESS \copybrief CFE_SUCCESS @@ -592,7 +608,8 @@ CFE_Status_t CFE_ES_GetAppIDByName(CFE_ES_AppId_t *AppIdPtr, const char *AppName ** None ** ** \param[out] LibIdPtr Pointer to variable that is to receive the Library's ID @nonnull. -** \param[in] LibName Pointer to null terminated character string containing a Library name @nonnull. +** \param[in] LibName Pointer to null terminated character string containing a Library name +*@nonnull. ** ** \return Execution status, see \ref CFEReturnCodes ** \retval #CFE_SUCCESS \copybrief CFE_SUCCESS @@ -615,13 +632,16 @@ CFE_Status_t CFE_ES_GetLibIDByName(CFE_ES_LibId_t *LibIdPtr, const char *LibName ** \par Assumptions, External Events, and Notes: ** In the case of a failure (#CFE_ES_ERR_RESOURCEID_NOT_VALID), an empty string is returned. ** -** \param[out] AppName Pointer to a character array @nonnull of at least \c BufferLength in size that will +** \param[out] AppName Pointer to a character array @nonnull of at least \c BufferLength in +*size that will ** be filled with the appropriate Application name. ** ** \param[in] AppId Application ID of Application whose name is being requested. ** -** \param[in] BufferLength The maximum number of characters, including the null terminator, that can be put -** into the \c AppName buffer. This routine will truncate the name to this length, +** \param[in] BufferLength The maximum number of characters, including the null terminator, that +*can be put +** into the \c AppName buffer. This routine will truncate the name to +*this length, ** if necessary. ** ** \return Execution status, see \ref CFEReturnCodes @@ -645,13 +665,16 @@ CFE_Status_t CFE_ES_GetAppName(char *AppName, CFE_ES_AppId_t AppId, size_t Buffe ** \par Assumptions, External Events, and Notes: ** In the case of a failure (#CFE_ES_ERR_RESOURCEID_NOT_VALID), an empty string is returned. ** -** \param[out] LibName Pointer to a character array @nonnull of at least \c BufferLength in size that will +** \param[out] LibName Pointer to a character array @nonnull of at least \c BufferLength in +*size that will ** be filled with the Library name. ** ** \param[in] LibId Library ID of Library whose name is being requested. ** -** \param[in] BufferLength The maximum number of characters @nonzero, including the null terminator, that can be put -** into the \c LibName buffer. This routine will truncate the name to this length, +** \param[in] BufferLength The maximum number of characters @nonzero, including the null +*terminator, that can be put +** into the \c LibName buffer. This routine will truncate the name to +*this length, ** if necessary. ** ** \return Execution status, see \ref CFEReturnCodes @@ -702,8 +725,10 @@ CFE_Status_t CFE_ES_GetAppInfo(CFE_ES_AppInfo_t *AppInfo, CFE_ES_AppId_t AppId); ** \par Assumptions, External Events, and Notes: ** None ** -** \param[out] TaskInfo Pointer to a \c CFE_ES_TaskInfo_t structure @nonnull that holds the specific -** task information. *TaskInfo is the filled out \c CFE_ES_TaskInfo_t structure containing +** \param[out] TaskInfo Pointer to a \c CFE_ES_TaskInfo_t structure @nonnull that holds the +*specific +** task information. *TaskInfo is the filled out \c CFE_ES_TaskInfo_t +*structure containing ** the Task Name, Parent App Name, Parent App ID among other fields. ** ** \param[in] TaskId Application ID of Application whose name is being requested. @@ -793,28 +818,34 @@ int32 CFE_ES_GetModuleInfo(CFE_ES_AppInfo_t *ModuleInfo, CFE_ResourceId_t Resour ** \brief Creates a new task under an existing Application ** ** \par Description -** This routine creates a new task (a separate execution thread) owned by the calling Application. +** This routine creates a new task (a separate execution thread) owned by the calling +*Application. ** ** \par Assumptions, External Events, and Notes: ** None ** -** \param[out] TaskIdPtr A pointer to a variable that will be filled in with the new task's ID @nonnull. -**TaskIdPtr is +** \param[out] TaskIdPtr A pointer to a variable that will be filled in with the new task's ID +*@nonnull. *TaskIdPtr is ** the Task ID of the newly created child task. ** -** \param[in] TaskName A pointer to a string containing the desired name of the new task @nonnull. -** This can be up to #OS_MAX_API_NAME characters, including the trailing null. +** \param[in] TaskName A pointer to a string containing the desired name of the new task +*@nonnull. +** This can be up to #OS_MAX_API_NAME characters, including the trailing +*null. ** ** \param[in] FunctionPtr A pointer to the function that will be spawned as a new task @nonnull. ** -** \param[in] StackPtr A pointer to the location where the child task's stack pointer should start. +** \param[in] StackPtr A pointer to the location where the child task's stack pointer should +*start. ** NOTE: Not all underlying operating systems support this parameter. -** The CFE_ES_TASK_STACK_ALLOCATE constant may be passed to indicate that the +** The CFE_ES_TASK_STACK_ALLOCATE constant may be passed to indicate that +*the ** stack should be dynamically allocated. ** ** \param[in] StackSize The number of bytes to allocate for the new task's stack @nonzero. ** -** \param[in] Priority The priority for the new task. Lower numbers are higher priority, with 0 being +** \param[in] Priority The priority for the new task. Lower numbers are higher priority, +*with 0 being ** the highest priority. ** ** \param[in] Flags Reserved for future expansion. @@ -828,9 +859,14 @@ int32 CFE_ES_GetModuleInfo(CFE_ES_AppInfo_t *ModuleInfo, CFE_ResourceId_t Resour ** \sa #CFE_ES_DeleteChildTask, #CFE_ES_ExitChildTask ** ******************************************************************************/ -CFE_Status_t CFE_ES_CreateChildTask(CFE_ES_TaskId_t *TaskIdPtr, const char *TaskName, - CFE_ES_ChildTaskMainFuncPtr_t FunctionPtr, CFE_ES_StackPointer_t StackPtr, - size_t StackSize, CFE_ES_TaskPriority_Atom_t Priority, uint32 Flags); +CFE_Status_t CFE_ES_CreateChildTask( + CFE_ES_TaskId_t *TaskIdPtr, + const char *TaskName, + CFE_ES_ChildTaskMainFuncPtr_t FunctionPtr, + CFE_ES_StackPointer_t StackPtr, + size_t StackSize, + CFE_ES_TaskPriority_Atom_t Priority, + uint32 Flags); /*****************************************************************************/ /** @@ -844,7 +880,8 @@ CFE_Status_t CFE_ES_CreateChildTask(CFE_ES_TaskId_t *TaskIdPtr, const char *Task ** None ** ** \param[out] TaskIdPtr Pointer to variable that is to receive the Task's ID @nonnull. -** \param[in] TaskName Pointer to null terminated character string containing a Task name @nonnull. +** \param[in] TaskName Pointer to null terminated character string containing a Task name +*@nonnull. ** ** \return Execution status, see \ref CFEReturnCodes ** \retval #CFE_SUCCESS \copybrief CFE_SUCCESS @@ -867,13 +904,16 @@ CFE_Status_t CFE_ES_GetTaskIDByName(CFE_ES_TaskId_t *TaskIdPtr, const char *Task ** \par Assumptions, External Events, and Notes: ** In the case of a failure (#CFE_ES_ERR_RESOURCEID_NOT_VALID), an empty string is returned. ** -** \param[out] TaskName Pointer to a character array @nonnull of at least \c BufferLength in size that will +** \param[out] TaskName Pointer to a character array @nonnull of at least \c BufferLength in +*size that will ** be filled with the Task name. ** ** \param[in] TaskId Task ID of Task whose name is being requested. ** -** \param[in] BufferLength The maximum number of characters, including the null terminator, that can be put -** into the \c TaskName buffer. This routine will truncate the name to this length, +** \param[in] BufferLength The maximum number of characters, including the null terminator, that +*can be put +** into the \c TaskName buffer. This routine will truncate the name to +*this length, ** if necessary. ** ** \return Execution status, see \ref CFEReturnCodes @@ -903,7 +943,8 @@ CFE_Status_t CFE_ES_GetTaskName(char *TaskName, CFE_ES_TaskId_t TaskId, size_t B ** \return Execution status, see \ref CFEReturnCodes ** \retval #CFE_SUCCESS \copybrief CFE_SUCCESS ** \retval #CFE_ES_ERR_CHILD_TASK_DELETE \covtest \copybrief CFE_ES_ERR_CHILD_TASK_DELETE -** \retval #CFE_ES_ERR_CHILD_TASK_DELETE_MAIN_TASK \copybrief CFE_ES_ERR_CHILD_TASK_DELETE_MAIN_TASK +** \retval #CFE_ES_ERR_CHILD_TASK_DELETE_MAIN_TASK \copybrief +*CFE_ES_ERR_CHILD_TASK_DELETE_MAIN_TASK ** \retval #CFE_ES_ERR_RESOURCEID_NOT_VALID \copybrief CFE_ES_ERR_RESOURCEID_NOT_VALID ** ** \sa #CFE_ES_CreateChildTask, #CFE_ES_ExitChildTask @@ -984,7 +1025,8 @@ CFE_Status_t CFE_ES_WriteToSysLog(const char *SpecStringPtr, ...) OS_PRINTF(1, 2 ** \brief Calculate a CRC on a block of memory ** ** \par Description -** This routine calculates a cyclic redundancy check (CRC) on a block of memory. The CRC algorithm +** This routine calculates a cyclic redundancy check (CRC) on a block of memory. The CRC +*algorithm ** used is determined by the last parameter. ** ** \par Assumptions, External Events, and Notes: @@ -1012,7 +1054,8 @@ CFE_Status_t CFE_ES_WriteToSysLog(const char *SpecStringPtr, ...) OS_PRINTF(1, 2 ** If DataPtr is null or DataLength is 0, will return InputCRC ** ******************************************************************************/ -uint32 CFE_ES_CalculateCRC(const void *DataPtr, size_t DataLength, uint32 InputCRC, CFE_ES_CrcType_Enum_t TypeCRC); +uint32 CFE_ES_CalculateCRC( + const void *DataPtr, size_t DataLength, uint32 InputCRC, CFE_ES_CrcType_Enum_t TypeCRC); /*****************************************************************************/ /** @@ -1043,18 +1086,25 @@ void CFE_ES_ProcessAsyncEvent(void); ** ** \par Description ** This routine allocates a block of memory in the Critical Data Store and associates it with -** the calling Application. The memory can survive an Application restart as well as a Processor Reset. +** the calling Application. The memory can survive an Application restart as well as a +*Processor Reset. ** ** \par Assumptions, External Events, and Notes: -** This function does _not_ clear or otherwise initialize/modify the data within the CDS block. -** If this function returns #CFE_ES_CDS_ALREADY_EXISTS the block may already have valid data in it. -** -** If a new CDS block is reserved (either because the name did not exist, or existed as a different -** size) it is the responsibility of the calling application to fill the CDS block with valid data. -** This is indicated by a #CFE_SUCCESS return code, and in this case the calling application should +** This function does _not_ clear or otherwise initialize/modify the data within the CDS +*block. +** If this function returns #CFE_ES_CDS_ALREADY_EXISTS the block may already have valid data +*in it. +** +** If a new CDS block is reserved (either because the name did not exist, or existed as a +*different +** size) it is the responsibility of the calling application to fill the CDS block with valid +*data. +** This is indicated by a #CFE_SUCCESS return code, and in this case the calling application +*should ** ensure that it also calls CFE_ES_CopyToCDS() to fill the block with valid data. ** -** \param[out] CDSHandlePtr Pointer Application's variable that will contain the CDS Memory Block Handle @nonnull. +** \param[out] CDSHandlePtr Pointer Application's variable that will contain the CDS Memory +*Block Handle @nonnull. ** HandlePtr is the handle of the CDS block that can be used in ** #CFE_ES_CopyToCDS and #CFE_ES_RestoreFromCDS. ** @@ -1075,7 +1125,8 @@ void CFE_ES_ProcessAsyncEvent(void); ** \sa #CFE_ES_CopyToCDS, #CFE_ES_RestoreFromCDS ** ******************************************************************************/ -CFE_Status_t CFE_ES_RegisterCDS(CFE_ES_CDSHandle_t *CDSHandlePtr, size_t BlockSize, const char *Name); +CFE_Status_t +CFE_ES_RegisterCDS(CFE_ES_CDSHandle_t *CDSHandlePtr, size_t BlockSize, const char *Name); /*****************************************************************************/ /** @@ -1089,7 +1140,8 @@ CFE_Status_t CFE_ES_RegisterCDS(CFE_ES_CDSHandle_t *CDSHandlePtr, size_t BlockSi ** None ** ** \param[out] BlockIdPtr Pointer to variable that is to receive the CDS Block ID @nonnull. -** \param[in] BlockName Pointer to null terminated character string containing a CDS Block name @nonnull. +** \param[in] BlockName Pointer to null terminated character string containing a CDS Block +*name @nonnull. ** ** \return Execution status, see \ref CFEReturnCodes ** \retval #CFE_SUCCESS \copybrief CFE_SUCCESS @@ -1113,13 +1165,16 @@ CFE_Status_t CFE_ES_GetCDSBlockIDByName(CFE_ES_CDSHandle_t *BlockIdPtr, const ch ** \par Assumptions, External Events, and Notes: ** In the case of a failure (#CFE_ES_ERR_RESOURCEID_NOT_VALID), an empty string is returned. ** -** \param[out] BlockName Pointer to a character array @nonnull of at least \c BufferLength in size that will +** \param[out] BlockName Pointer to a character array @nonnull of at least \c BufferLength in +*size that will ** be filled with the CDS Block name. ** ** \param[in] BlockId Block ID/Handle of CDS registry entry whose name is being requested. ** -** \param[in] BufferLength The maximum number of characters, including the null terminator, that can be put -** into the \c BlockName buffer. This routine will truncate the name to this length, +** \param[in] BufferLength The maximum number of characters, including the null terminator, that +*can be put +** into the \c BlockName buffer. This routine will truncate the name to +*this length, ** if necessary. ** ** \return Execution status, see \ref CFEReturnCodes @@ -1131,7 +1186,8 @@ CFE_Status_t CFE_ES_GetCDSBlockIDByName(CFE_ES_CDSHandle_t *BlockIdPtr, const ch ** \sa #CFE_ES_GetCDSBlockIDByName ** ******************************************************************************/ -CFE_Status_t CFE_ES_GetCDSBlockName(char *BlockName, CFE_ES_CDSHandle_t BlockId, size_t BufferLength); +CFE_Status_t +CFE_ES_GetCDSBlockName(char *BlockName, CFE_ES_CDSHandle_t BlockId, size_t BufferLength); /*****************************************************************************/ /** @@ -1145,7 +1201,8 @@ CFE_Status_t CFE_ES_GetCDSBlockName(char *BlockName, CFE_ES_CDSHandle_t BlockId, ** \par Assumptions, External Events, and Notes: ** None ** -** \param[in] Handle The handle of the CDS block that was previously obtained from #CFE_ES_RegisterCDS. +** \param[in] Handle The handle of the CDS block that was previously obtained from +*#CFE_ES_RegisterCDS. ** ** \param[in] DataToCopy A Pointer to the block of memory to be copied into the CDS @nonnull. ** @@ -1174,11 +1231,13 @@ CFE_Status_t CFE_ES_CopyToCDS(CFE_ES_CDSHandle_t Handle, const void *DataToCopy) ** \par Assumptions, External Events, and Notes: ** None ** -** \param[in] Handle The handle of the CDS block that was previously obtained from #CFE_ES_RegisterCDS. +** \param[in] Handle The handle of the CDS block that was previously obtained from +*#CFE_ES_RegisterCDS. ** -** \param[out] RestoreToMemory A Pointer to the block of memory @nonnull that is to be restored with the contents -*of -** the CDS. *RestoreToMemory is the contents of the specified CDS. +** \param[out] RestoreToMemory A Pointer to the block of memory @nonnull that is to be restored +*with the contents of +** the CDS. *RestoreToMemory is the contents of the specified +*CDS. ** ** \return Execution status, see \ref CFEReturnCodes ** \retval #CFE_SUCCESS \copybrief CFE_SUCCESS @@ -1198,77 +1257,90 @@ CFE_Status_t CFE_ES_RestoreFromCDS(void *RestoreToMemory, CFE_ES_CDSHandle_t Han /*****************************************************************************/ /** -** \brief Initializes a memory pool created by an application without using a semaphore during processing. +** \brief Initializes a memory pool created by an application without using a semaphore during +*processing. ** ** \par Description -** This routine initializes a pool of memory supplied by the calling application. When a memory pool +** This routine initializes a pool of memory supplied by the calling application. When a +*memory pool ** created by this routine is processed, no mutex handling is performed. ** ** \par Assumptions, External Events, and Notes: ** -# The size of the pool must be an integral number of 32-bit words ** -# The start address of the pool must be 32-bit aligned -** -# 168 bytes are used for internal bookkeeping, therefore, they will not be available for allocation. +** -# 168 bytes are used for internal bookkeeping, therefore, they will not be available for +*allocation. ** -** \param[out] PoolID A pointer to the variable the caller wishes to have the memory pool handle kept in +** \param[out] PoolID A pointer to the variable the caller wishes to have the memory pool +*handle kept in *@nonnull. ** PoolID is the memory pool handle. ** -** \param[in] MemPtr A Pointer to the pool of memory created by the calling application @nonnull. This address -*must -** be aligned suitably for the processor architecture. The #CFE_ES_STATIC_POOL_TYPE +** \param[in] MemPtr A Pointer to the pool of memory created by the calling application +*@nonnull. This address must +** be aligned suitably for the processor architecture. The +*#CFE_ES_STATIC_POOL_TYPE ** macro may be used to assist in creating properly aligned memory pools. ** -** \param[in] Size The size of the pool of memory @nonzero. Note that this must be an integral multiple of -*the +** \param[in] Size The size of the pool of memory @nonzero. Note that this must be an +*integral multiple of the ** memory alignment of the processor architecture. ** ** \return Execution status, see \ref CFEReturnCodes ** \retval #CFE_SUCCESS \copybrief CFE_SUCCESS ** \retval #CFE_ES_BAD_ARGUMENT \copybrief CFE_ES_BAD_ARGUMENT ** -** \sa #CFE_ES_PoolCreate, #CFE_ES_PoolCreateEx, #CFE_ES_GetPoolBuf, #CFE_ES_PutPoolBuf, #CFE_ES_GetMemPoolStats +** \sa #CFE_ES_PoolCreate, #CFE_ES_PoolCreateEx, #CFE_ES_GetPoolBuf, #CFE_ES_PutPoolBuf, +*#CFE_ES_GetMemPoolStats ** ******************************************************************************/ CFE_Status_t CFE_ES_PoolCreateNoSem(CFE_ES_MemHandle_t *PoolID, void *MemPtr, size_t Size); /*****************************************************************************/ /** -** \brief Initializes a memory pool created by an application while using a semaphore during processing. +** \brief Initializes a memory pool created by an application while using a semaphore during +*processing. ** ** \par Description -** This routine initializes a pool of memory supplied by the calling application. When a memory pool +** This routine initializes a pool of memory supplied by the calling application. When a +*memory pool ** created by this routine is processed, mutex handling will be performed. ** ** \par Assumptions, External Events, and Notes: ** -# The size of the pool must be an integral number of 32-bit words ** -# The start address of the pool must be 32-bit aligned -** -# 168 bytes are used for internal bookkeeping, therefore, they will not be available for allocation. +** -# 168 bytes are used for internal bookkeeping, therefore, they will not be available for +*allocation. ** -** \param[out] PoolID A pointer to the variable the caller wishes to have the memory pool handle kept in +** \param[out] PoolID A pointer to the variable the caller wishes to have the memory pool +*handle kept in *@nonnull. ** PoolID is the memory pool handle. ** -** \param[in] MemPtr A Pointer to the pool of memory created by the calling application @nonnull. This address -*must -** be aligned suitably for the processor architecture. The #CFE_ES_STATIC_POOL_TYPE +** \param[in] MemPtr A Pointer to the pool of memory created by the calling application +*@nonnull. This address must +** be aligned suitably for the processor architecture. The +*#CFE_ES_STATIC_POOL_TYPE ** macro may be used to assist in creating properly aligned memory pools. ** -** \param[in] Size The size of the pool of memory @nonzero. Note that this must be an integral multiple of -*the +** \param[in] Size The size of the pool of memory @nonzero. Note that this must be an +*integral multiple of the ** memory alignment of the processor architecture. ** ** \return Execution status, see \ref CFEReturnCodes ** \retval #CFE_SUCCESS \copybrief CFE_SUCCESS ** \retval #CFE_ES_BAD_ARGUMENT \copybrief CFE_ES_BAD_ARGUMENT ** -** \sa #CFE_ES_PoolCreateNoSem, #CFE_ES_PoolCreateEx, #CFE_ES_GetPoolBuf, #CFE_ES_PutPoolBuf, #CFE_ES_GetMemPoolStats +** \sa #CFE_ES_PoolCreateNoSem, #CFE_ES_PoolCreateEx, #CFE_ES_GetPoolBuf, #CFE_ES_PutPoolBuf, +*#CFE_ES_GetMemPoolStats ** ******************************************************************************/ CFE_Status_t CFE_ES_PoolCreate(CFE_ES_MemHandle_t *PoolID, void *MemPtr, size_t Size); /*****************************************************************************/ /** -** \brief Initializes a memory pool created by an application with application specified block sizes. +** \brief Initializes a memory pool created by an application with application specified block +*sizes. ** ** \par Description ** This routine initializes a pool of memory supplied by the calling application. @@ -1276,32 +1348,43 @@ CFE_Status_t CFE_ES_PoolCreate(CFE_ES_MemHandle_t *PoolID, void *MemPtr, size_t ** \par Assumptions, External Events, and Notes: ** -# The size of the pool must be an integral number of 32-bit words ** -# The start address of the pool must be 32-bit aligned -** -# 168 bytes are used for internal bookkeeping, therefore, they will not be available for allocation. +** -# 168 bytes are used for internal bookkeeping, therefore, they will not be available for +*allocation. ** -** \param[out] PoolID A pointer to the variable the caller wishes to have the memory pool handle kept in +** \param[out] PoolID A pointer to the variable the caller wishes to have the memory pool +*handle kept in *@nonnull. ** PoolID is the memory pool handle. ** -** \param[in] MemPtr A Pointer to the pool of memory created by the calling application @nonnull. This address -*must -** be aligned suitably for the processor architecture. The #CFE_ES_STATIC_POOL_TYPE -** macro may be used to assist in creating properly aligned memory pools. +** \param[in] MemPtr A Pointer to the pool of memory created by the calling application +*@nonnull. This address must +** be aligned suitably for the processor architecture. The +*#CFE_ES_STATIC_POOL_TYPE +** macro may be used to assist in creating properly aligned memory +*pools. ** -** \param[in] Size The size of the pool of memory @nonzero. Note that this must be an integral multiple of -*the +** \param[in] Size The size of the pool of memory @nonzero. Note that this must be an +*integral multiple of the ** memory alignment of the processor architecture. ** -** \param[in] NumBlockSizes The number of different block sizes specified in the \c BlockSizes array. If set -** larger than #CFE_PLATFORM_ES_POOL_MAX_BUCKETS, #CFE_ES_BAD_ARGUMENT will be returned. -** If BlockSizes is null and NumBlockSizes is 0, NubBlockSizes will be set to +** \param[in] NumBlockSizes The number of different block sizes specified in the \c BlockSizes +*array. If set +** larger than #CFE_PLATFORM_ES_POOL_MAX_BUCKETS, #CFE_ES_BAD_ARGUMENT +*will be returned. +** If BlockSizes is null and NumBlockSizes is 0, NubBlockSizes will be +*set to ** #CFE_PLATFORM_ES_POOL_MAX_BUCKETS. ** -** \param[in] BlockSizes Pointer to an array of sizes to be used instead of the default block sizes specified by -** #CFE_PLATFORM_ES_MEM_BLOCK_SIZE_01 through #CFE_PLATFORM_ES_MAX_BLOCK_SIZE. If the +** \param[in] BlockSizes Pointer to an array of sizes to be used instead of the default block +*sizes specified by +** #CFE_PLATFORM_ES_MEM_BLOCK_SIZE_01 through +*#CFE_PLATFORM_ES_MAX_BLOCK_SIZE. If the ** pointer is equal to NULL, the default block sizes are used. ** -** \param[in] UseMutex Flag indicating whether the new memory pool will be processing with mutex handling or -** not. Valid parameter values are #CFE_ES_USE_MUTEX and #CFE_ES_NO_MUTEX +** \param[in] UseMutex Flag indicating whether the new memory pool will be processing with +*mutex handling or +** not. Valid parameter values are #CFE_ES_USE_MUTEX and +*#CFE_ES_NO_MUTEX ** ** \return Execution status, see \ref CFEReturnCodes ** \retval #CFE_SUCCESS \copybrief CFE_SUCCESS @@ -1309,11 +1392,17 @@ CFE_Status_t CFE_ES_PoolCreate(CFE_ES_MemHandle_t *PoolID, void *MemPtr, size_t ** \retval #CFE_ES_NO_RESOURCE_IDS_AVAILABLE \copybrief CFE_ES_NO_RESOURCE_IDS_AVAILABLE ** \retval #CFE_STATUS_EXTERNAL_RESOURCE_FAIL \covtest \copybrief CFE_STATUS_EXTERNAL_RESOURCE_FAIL ** -** \sa #CFE_ES_PoolCreate, #CFE_ES_PoolCreateNoSem, #CFE_ES_GetPoolBuf, #CFE_ES_PutPoolBuf, #CFE_ES_GetMemPoolStats +** \sa #CFE_ES_PoolCreate, #CFE_ES_PoolCreateNoSem, #CFE_ES_GetPoolBuf, #CFE_ES_PutPoolBuf, +*#CFE_ES_GetMemPoolStats ** ******************************************************************************/ -CFE_Status_t CFE_ES_PoolCreateEx(CFE_ES_MemHandle_t *PoolID, void *MemPtr, size_t Size, uint16 NumBlockSizes, - const size_t *BlockSizes, bool UseMutex); +CFE_Status_t CFE_ES_PoolCreateEx( + CFE_ES_MemHandle_t *PoolID, + void *MemPtr, + size_t Size, + uint16 NumBlockSizes, + const size_t *BlockSizes, + bool UseMutex); /*****************************************************************************/ /** @@ -1334,35 +1423,41 @@ CFE_Status_t CFE_ES_PoolCreateEx(CFE_ES_MemHandle_t *PoolID, void *MemPtr, size_ ** \retval #CFE_SUCCESS \copybrief CFE_SUCCESS ** \retval #CFE_ES_ERR_RESOURCEID_NOT_VALID \copybrief CFE_ES_ERR_RESOURCEID_NOT_VALID ** -** \sa #CFE_ES_PoolCreate, #CFE_ES_PoolCreateNoSem, #CFE_ES_GetPoolBuf, #CFE_ES_PutPoolBuf, #CFE_ES_GetMemPoolStats +** \sa #CFE_ES_PoolCreate, #CFE_ES_PoolCreateNoSem, #CFE_ES_GetPoolBuf, #CFE_ES_PutPoolBuf, +*#CFE_ES_GetMemPoolStats ** ******************************************************************************/ int32 CFE_ES_PoolDelete(CFE_ES_MemHandle_t PoolID); /*****************************************************************************/ /** -** \brief Gets a buffer from the memory pool created by #CFE_ES_PoolCreate or #CFE_ES_PoolCreateNoSem +** \brief Gets a buffer from the memory pool created by #CFE_ES_PoolCreate or +*#CFE_ES_PoolCreateNoSem ** ** \par Description -** This routine obtains a block of memory from the memory pool supplied by the calling application. +** This routine obtains a block of memory from the memory pool supplied by the calling +*application. ** ** \par Assumptions, External Events, and Notes: ** -# The size allocated from the memory pool is, at a minimum, 12 bytes more than requested. ** -** \param[out] BufPtr A pointer to the Application's pointer @nonnull in which will be stored the address of the +** \param[out] BufPtr A pointer to the Application's pointer @nonnull in which will be stored +*the address of the ** allocated memory buffer. *BufPtr is the address of the requested buffer. ** -** \param[in] Handle The handle to the memory pool as returned by #CFE_ES_PoolCreate or #CFE_ES_PoolCreateNoSem. +** \param[in] Handle The handle to the memory pool as returned by #CFE_ES_PoolCreate or +*#CFE_ES_PoolCreateNoSem. ** -** \param[in] Size The size of the buffer requested. NOTE: The size allocated may be larger. +** \param[in] Size The size of the buffer requested. NOTE: The size allocated may be +*larger. ** ** \return Bytes Allocated, or error code \ref CFEReturnCodes ** \retval #CFE_ES_ERR_RESOURCEID_NOT_VALID \copybrief CFE_ES_ERR_RESOURCEID_NOT_VALID ** \retval #CFE_ES_ERR_MEM_BLOCK_SIZE \copybrief CFE_ES_ERR_MEM_BLOCK_SIZE ** \retval #CFE_ES_BAD_ARGUMENT \copybrief CFE_ES_BAD_ARGUMENT ** -** \sa #CFE_ES_PoolCreate, #CFE_ES_PoolCreateNoSem, #CFE_ES_PoolCreateEx, #CFE_ES_PutPoolBuf, #CFE_ES_GetMemPoolStats, -*#CFE_ES_GetPoolBufInfo +** \sa #CFE_ES_PoolCreate, #CFE_ES_PoolCreateNoSem, #CFE_ES_PoolCreateEx, #CFE_ES_PutPoolBuf, +*#CFE_ES_GetMemPoolStats, #CFE_ES_GetPoolBufInfo ** ******************************************************************************/ int32 CFE_ES_GetPoolBuf(CFE_ES_MemPoolBuf_t *BufPtr, CFE_ES_MemHandle_t Handle, size_t Size); @@ -1377,24 +1472,27 @@ int32 CFE_ES_GetPoolBuf(CFE_ES_MemPoolBuf_t *BufPtr, CFE_ES_MemHandle_t Handle, ** \par Assumptions, External Events, and Notes: ** None ** -** \param[in] Handle The handle to the memory pool as returned by #CFE_ES_PoolCreate or #CFE_ES_PoolCreateNoSem. +** \param[in] Handle The handle to the memory pool as returned by #CFE_ES_PoolCreate or +*#CFE_ES_PoolCreateNoSem. ** ** \param[in] BufPtr A pointer to the memory buffer to provide status for @nonnull. ** -** \return Size of the buffer if successful, or status code if not successful, see \ref CFEReturnCodes +** \return Size of the buffer if successful, or status code if not successful, see \ref +*CFEReturnCodes ** \retval #CFE_ES_ERR_RESOURCEID_NOT_VALID \copybrief CFE_ES_ERR_RESOURCEID_NOT_VALID ** \retval #CFE_ES_BUFFER_NOT_IN_POOL \copybrief CFE_ES_BUFFER_NOT_IN_POOL ** \retval #CFE_ES_BAD_ARGUMENT \copybrief CFE_ES_BAD_ARGUMENT ** -** \sa #CFE_ES_PoolCreate, #CFE_ES_PoolCreateNoSem, #CFE_ES_PoolCreateEx, #CFE_ES_GetPoolBuf, #CFE_ES_GetMemPoolStats, -*#CFE_ES_PutPoolBuf +** \sa #CFE_ES_PoolCreate, #CFE_ES_PoolCreateNoSem, #CFE_ES_PoolCreateEx, #CFE_ES_GetPoolBuf, +*#CFE_ES_GetMemPoolStats, #CFE_ES_PutPoolBuf ** ******************************************************************************/ CFE_Status_t CFE_ES_GetPoolBufInfo(CFE_ES_MemHandle_t Handle, CFE_ES_MemPoolBuf_t BufPtr); /*****************************************************************************/ /** -** \brief Releases a buffer from the memory pool that was previously allocated via #CFE_ES_GetPoolBuf +** \brief Releases a buffer from the memory pool that was previously allocated via +*#CFE_ES_GetPoolBuf ** ** \par Description ** This routine releases a buffer back into the memory pool. @@ -1402,7 +1500,8 @@ CFE_Status_t CFE_ES_GetPoolBufInfo(CFE_ES_MemHandle_t Handle, CFE_ES_MemPoolBuf_ ** \par Assumptions, External Events, and Notes: ** None ** -** \param[in] Handle The handle to the memory pool as returned by #CFE_ES_PoolCreate or #CFE_ES_PoolCreateNoSem. +** \param[in] Handle The handle to the memory pool as returned by #CFE_ES_PoolCreate or +*#CFE_ES_PoolCreateNoSem. ** ** \param[in] BufPtr A pointer to the memory buffer to be released @nonnull. ** @@ -1412,8 +1511,8 @@ CFE_Status_t CFE_ES_GetPoolBufInfo(CFE_ES_MemHandle_t Handle, CFE_ES_MemPoolBuf_ ** \retval #CFE_ES_BUFFER_NOT_IN_POOL \copybrief CFE_ES_BUFFER_NOT_IN_POOL ** \retval #CFE_ES_POOL_BLOCK_INVALID \copybrief CFE_ES_POOL_BLOCK_INVALID ** -** \sa #CFE_ES_PoolCreate, #CFE_ES_PoolCreateNoSem, #CFE_ES_PoolCreateEx, #CFE_ES_GetPoolBuf, #CFE_ES_GetMemPoolStats, -*#CFE_ES_GetPoolBufInfo +** \sa #CFE_ES_PoolCreate, #CFE_ES_PoolCreateNoSem, #CFE_ES_PoolCreateEx, #CFE_ES_GetPoolBuf, +*#CFE_ES_GetMemPoolStats, #CFE_ES_GetPoolBufInfo ** ******************************************************************************/ int32 CFE_ES_PutPoolBuf(CFE_ES_MemHandle_t Handle, CFE_ES_MemPoolBuf_t BufPtr); @@ -1431,7 +1530,8 @@ int32 CFE_ES_PutPoolBuf(CFE_ES_MemHandle_t Handle, CFE_ES_MemPoolBuf_t BufPtr); ** None ** ** \param[out] BufPtr Pointer to #CFE_ES_MemPoolStats_t data structure @nonnull to be -** filled with memory statistics. *BufPtr is the Memory Pool Statistics stored in given +** filled with memory statistics. *BufPtr is the Memory Pool Statistics +*stored in given ** data structure. ** ** \param[in] Handle The handle to the memory pool whose statistics are desired. @@ -1441,7 +1541,8 @@ int32 CFE_ES_PutPoolBuf(CFE_ES_MemHandle_t Handle, CFE_ES_MemPoolBuf_t BufPtr); ** \retval #CFE_ES_ERR_RESOURCEID_NOT_VALID \copybrief CFE_ES_ERR_RESOURCEID_NOT_VALID ** \retval #CFE_ES_BAD_ARGUMENT \copybrief CFE_ES_BAD_ARGUMENT ** -** \sa #CFE_ES_PoolCreate, #CFE_ES_PoolCreateNoSem, #CFE_ES_PoolCreateEx, #CFE_ES_GetPoolBuf, #CFE_ES_PutPoolBuf +** \sa #CFE_ES_PoolCreate, #CFE_ES_PoolCreateNoSem, #CFE_ES_PoolCreateEx, #CFE_ES_GetPoolBuf, +*#CFE_ES_PutPoolBuf ** ******************************************************************************/ CFE_Status_t CFE_ES_GetMemPoolStats(CFE_ES_MemPoolStats_t *BufPtr, CFE_ES_MemHandle_t Handle); @@ -1501,7 +1602,11 @@ CFE_Status_t CFE_ES_GetMemPoolStats(CFE_ES_MemPoolStats_t *BufPtr, CFE_ES_MemHan ** tool (see section 5.15). ** ** \par Assumptions, External Events, and Notes: - +** +** \c Marker limited to the range of 0 to +** #CFE_MISSION_ES_PERF_MAX_IDS - 1. Any performance ids outside of this +** range will be ignored and will be flagged as an error. +** ** This function implements a circular buffer using an array. ** DataStart points to first stored entry ** DataEnd points to next available entry @@ -1546,8 +1651,8 @@ void CFE_ES_PerfLogAdd(uint32 Marker, uint32 EntryExit); ** \retval #CFE_ES_ERR_DUPLICATE_NAME \copybrief CFE_ES_ERR_DUPLICATE_NAME ** \retval #CFE_ES_NO_RESOURCE_IDS_AVAILABLE \copybrief CFE_ES_NO_RESOURCE_IDS_AVAILABLE ** -** \sa #CFE_ES_IncrementGenCounter, #CFE_ES_DeleteGenCounter, #CFE_ES_SetGenCount, #CFE_ES_GetGenCount, -*#CFE_ES_GetGenCounterIDByName +** \sa #CFE_ES_IncrementGenCounter, #CFE_ES_DeleteGenCounter, #CFE_ES_SetGenCount, +*#CFE_ES_GetGenCount, #CFE_ES_GetGenCounterIDByName ** ******************************************************************************/ CFE_Status_t CFE_ES_RegisterGenCounter(CFE_ES_CounterId_t *CounterIdPtr, const char *CounterName); @@ -1568,8 +1673,8 @@ CFE_Status_t CFE_ES_RegisterGenCounter(CFE_ES_CounterId_t *CounterIdPtr, const c ** \retval #CFE_SUCCESS \copybrief CFE_SUCCESS ** \retval #CFE_ES_BAD_ARGUMENT \copybrief CFE_ES_BAD_ARGUMENT ** -** \sa #CFE_ES_IncrementGenCounter, #CFE_ES_RegisterGenCounter, #CFE_ES_SetGenCount, #CFE_ES_GetGenCount, -*#CFE_ES_GetGenCounterIDByName +** \sa #CFE_ES_IncrementGenCounter, #CFE_ES_RegisterGenCounter, #CFE_ES_SetGenCount, +*#CFE_ES_GetGenCount, #CFE_ES_GetGenCounterIDByName ** ******************************************************************************/ CFE_Status_t CFE_ES_DeleteGenCounter(CFE_ES_CounterId_t CounterId); @@ -1590,8 +1695,8 @@ CFE_Status_t CFE_ES_DeleteGenCounter(CFE_ES_CounterId_t CounterId); ** \retval #CFE_SUCCESS \copybrief CFE_SUCCESS ** \retval #CFE_ES_BAD_ARGUMENT \copybrief CFE_ES_BAD_ARGUMENT ** -** \sa #CFE_ES_RegisterGenCounter, #CFE_ES_DeleteGenCounter, #CFE_ES_SetGenCount, #CFE_ES_GetGenCount, -*#CFE_ES_GetGenCounterIDByName +** \sa #CFE_ES_RegisterGenCounter, #CFE_ES_DeleteGenCounter, #CFE_ES_SetGenCount, +*#CFE_ES_GetGenCount, #CFE_ES_GetGenCounterIDByName ** ******************************************************************************/ CFE_Status_t CFE_ES_IncrementGenCounter(CFE_ES_CounterId_t CounterId); @@ -1614,8 +1719,8 @@ CFE_Status_t CFE_ES_IncrementGenCounter(CFE_ES_CounterId_t CounterId); ** \retval #CFE_SUCCESS \copybrief CFE_SUCCESS ** \retval #CFE_ES_BAD_ARGUMENT \copybrief CFE_ES_BAD_ARGUMENT ** -** \sa #CFE_ES_RegisterGenCounter, #CFE_ES_DeleteGenCounter, #CFE_ES_IncrementGenCounter, #CFE_ES_GetGenCount, -*#CFE_ES_GetGenCounterIDByName +** \sa #CFE_ES_RegisterGenCounter, #CFE_ES_DeleteGenCounter, #CFE_ES_IncrementGenCounter, +*#CFE_ES_GetGenCount, #CFE_ES_GetGenCounterIDByName ** ******************************************************************************/ CFE_Status_t CFE_ES_SetGenCount(CFE_ES_CounterId_t CounterId, uint32 Count); @@ -1638,8 +1743,8 @@ CFE_Status_t CFE_ES_SetGenCount(CFE_ES_CounterId_t CounterId, uint32 Count); ** \retval #CFE_SUCCESS \copybrief CFE_SUCCESS ** \retval #CFE_ES_BAD_ARGUMENT \copybrief CFE_ES_BAD_ARGUMENT ** -** \sa #CFE_ES_RegisterGenCounter, #CFE_ES_DeleteGenCounter, #CFE_ES_SetGenCount, #CFE_ES_IncrementGenCounter, -*#CFE_ES_GetGenCounterIDByName +** \sa #CFE_ES_RegisterGenCounter, #CFE_ES_DeleteGenCounter, #CFE_ES_SetGenCount, +*#CFE_ES_IncrementGenCounter, #CFE_ES_GetGenCounterIDByName ** ******************************************************************************/ CFE_Status_t CFE_ES_GetGenCount(CFE_ES_CounterId_t CounterId, uint32 *Count); @@ -1655,7 +1760,8 @@ CFE_Status_t CFE_ES_GetGenCount(CFE_ES_CounterId_t CounterId, uint32 *Count); ** None. ** ** \param[out] CounterIdPtr Pointer to variable that is to receive the Counter's ID @nonnull. -** \param[in] CounterName Pointer to null terminated character string containing a Counter name @nonnull. +** \param[in] CounterName Pointer to null terminated character string containing a Counter +*name @nonnull. ** ** \return Execution status, see \ref CFEReturnCodes ** \retval #CFE_SUCCESS \copybrief CFE_SUCCESS @@ -1665,7 +1771,8 @@ CFE_Status_t CFE_ES_GetGenCount(CFE_ES_CounterId_t CounterId, uint32 *Count); ** \sa #CFE_ES_GetGenCounterName ** ******************************************************************************/ -CFE_Status_t CFE_ES_GetGenCounterIDByName(CFE_ES_CounterId_t *CounterIdPtr, const char *CounterName); +CFE_Status_t +CFE_ES_GetGenCounterIDByName(CFE_ES_CounterId_t *CounterIdPtr, const char *CounterName); /*****************************************************************************/ /** @@ -1678,13 +1785,16 @@ CFE_Status_t CFE_ES_GetGenCounterIDByName(CFE_ES_CounterId_t *CounterIdPtr, cons ** \par Assumptions, External Events, and Notes: ** In the case of a failure (#CFE_ES_ERR_RESOURCEID_NOT_VALID), an empty string is returned. ** -** \param[out] CounterName Pointer to a character array @nonnull of at least \c BufferLength in size that will +** \param[out] CounterName Pointer to a character array @nonnull of at least \c BufferLength in +*size that will ** be filled with the Counter name. ** ** \param[in] CounterId ID of Counter whose name is being requested. ** -** \param[in] BufferLength The maximum number of characters, including the null terminator @nonzero, that can be put -** into the \c CounterName buffer. This routine will truncate the name to this length, +** \param[in] BufferLength The maximum number of characters, including the null terminator +*@nonzero, that can be put +** into the \c CounterName buffer. This routine will truncate the name +*to this length, ** if necessary. ** ** \return Execution status, see \ref CFEReturnCodes @@ -1695,7 +1805,8 @@ CFE_Status_t CFE_ES_GetGenCounterIDByName(CFE_ES_CounterId_t *CounterIdPtr, cons ** \sa #CFE_ES_GetGenCounterIDByName ** ******************************************************************************/ -CFE_Status_t CFE_ES_GetGenCounterName(char *CounterName, CFE_ES_CounterId_t CounterId, size_t BufferLength); +CFE_Status_t +CFE_ES_GetGenCounterName(char *CounterName, CFE_ES_CounterId_t CounterId, size_t BufferLength); /**@}*/ diff --git a/modules/es/config/default_cfe_es_interface_cfg.h b/modules/es/config/default_cfe_es_interface_cfg.h index 04f833187..3786beeb3 100644 --- a/modules/es/config/default_cfe_es_interface_cfg.h +++ b/modules/es/config/default_cfe_es_interface_cfg.h @@ -52,9 +52,14 @@ ** \cfeescfg Define Max Number of Performance IDs for messages ** ** \par Description: -** Defines the maximum number of perf ids allowed in command/telemetry messages +** Defines the maximum number of perf ids allowed. ** -** This affects the layout of command/telemetry messages but does not affect run +** Each performance id is used to identify something that needs to be +** measured. Performance ids are limited to the range of 0 to +** #CFE_MISSION_ES_PERF_MAX_IDS - 1. Any performance ids outside of this +** range will be ignored and will be flagged as an error. +** +** This affects the layout of telemetry messages but does not affect run ** time behavior or internal allocation. ** ** \par Limits