From 9d6d18c3de334e089d1808ef11d0333317d6a817 Mon Sep 17 00:00:00 2001 From: Joseph Hickey Date: Tue, 2 May 2023 16:28:00 -0400 Subject: [PATCH] Fix #2320, reorganize CORE_PRIVATE header files Organize CORE_PRIVATE header file contents according to the convention --- modules/core_private/arch_build.cmake | 6 ++ .../default_cfe_core_private_internal_cfg.h | 70 +++++++++++++++++++ .../config/default_cfe_platform_cfg.h | 44 ++++++++++++ 3 files changed, 120 insertions(+) create mode 100644 modules/core_private/config/default_cfe_core_private_internal_cfg.h create mode 100644 modules/core_private/config/default_cfe_platform_cfg.h diff --git a/modules/core_private/arch_build.cmake b/modules/core_private/arch_build.cmake index 6bba56507..0fc3aa355 100644 --- a/modules/core_private/arch_build.cmake +++ b/modules/core_private/arch_build.cmake @@ -13,7 +13,13 @@ generate_config_includefile( FILE_NAME "cfe_platform_cfg.h" + FALLBACK_FILE "${CMAKE_CURRENT_LIST_DIR}/config/default_cfe_platform_cfg.h" MATCH_SUFFIX "platform_cfg.h" PREFIXES ${BUILD_CONFIG} ) +generate_config_includefile( + FILE_NAME "cfe_core_private_internal_cfg.h" + FALLBACK_FILE "${CMAKE_CURRENT_LIST_DIR}/config/default_cfe_core_private_internal_cfg.h" + PREFIXES ${BUILD_CONFIG} +) diff --git a/modules/core_private/config/default_cfe_core_private_internal_cfg.h b/modules/core_private/config/default_cfe_core_private_internal_cfg.h new file mode 100644 index 000000000..f654d66a2 --- /dev/null +++ b/modules/core_private/config/default_cfe_core_private_internal_cfg.h @@ -0,0 +1,70 @@ +/************************************************************************ + * NASA Docket No. GSC-18,719-1, and identified as “core Flight System: Bootes” + * + * Copyright (c) 2020 United States Government as represented by the + * Administrator of the National Aeronautics and Space Administration. + * All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. You may obtain + * a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ************************************************************************/ + +/** + * @file + * CFE Executive Services (CFE_ES) Application Private Config Definitions + * + * This provides default values for configurable items that are internal + * to this module and do NOT affect the interface(s) of this module. Changes + * to items in this file only affect the local module and will be transparent + * to external entities that are using the public interface(s). + * + * @note This file may be overridden/superceded by mission-provided defintions + * either by overriding this header or by generating definitions from a command/data + * dictionary tool. + */ +#ifndef CFE_CORE_PRIVATE_INTERNAL_CFG_H +#define CFE_CORE_PRIVATE_INTERNAL_CFG_H + +/** +** \cfesbcfg Platform Endian Indicator +** +** \par Description: +** The value of this constant indicates the endianess of the target system +** +** \par Limits +** This parameter has a lower limit of 0 and an upper limit of 1. +*/ +#define CFE_PLATFORM_ENDIAN CCSDS_LITTLE_ENDIAN + +/** \cfeescfg CFE core application startup timeout +** +** \par Description: +** The upper limit for the amount of time that the cFE core applications +** (ES, SB, EVS, TIME, TBL) are each allotted to reach their respective +** "ready" states. +** +** The CFE "main" thread starts individual tasks for each of the core applications +** (except FS). Each of these must perform some initialization work before the +** next core application can be started, so the main thread waits to ensure that the +** application has reached the "ready" state before starting the next application. +** +** If any core application fails to start, then it indicates a major problem with +** the system and startup is aborted. +** +** Units are in milliseconds +** +** \par Limits: +** Must be defined as an integer value that is greater than +** or equal to zero. +** +*/ +#define CFE_PLATFORM_CORE_MAX_STARTUP_MSEC 30000 + +#endif diff --git a/modules/core_private/config/default_cfe_platform_cfg.h b/modules/core_private/config/default_cfe_platform_cfg.h new file mode 100644 index 000000000..b61ccb8f0 --- /dev/null +++ b/modules/core_private/config/default_cfe_platform_cfg.h @@ -0,0 +1,44 @@ +/************************************************************************ + * NASA Docket No. GSC-18,719-1, and identified as “core Flight System: Bootes” + * + * Copyright (c) 2020 United States Government as represented by the + * Administrator of the National Aeronautics and Space Administration. + * All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may + * not use this file except in compliance with the License. You may obtain + * a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ************************************************************************/ + +/** + * @file + * + * Purpose: + * This header file contains the platform configuration parameters. + * + * Notes: + * The impact of changing these configurations from their default value is + * not yet documented. Changing these values may impact the performance + * and functionality of the system. + * + * Author: R.McGraw/SSI + * + */ + +#ifndef CFE_PLATFORM_CFG_H +#define CFE_PLATFORM_CFG_H + +#include "cfe_core_private_internal_cfg.h" +#include "cfe_es_platform_cfg.h" +#include "cfe_evs_platform_cfg.h" +#include "cfe_sb_platform_cfg.h" +#include "cfe_tbl_platform_cfg.h" +#include "cfe_time_platform_cfg.h" + +#endif /* CFE_PLATFORM_CFG_H */