Skip to content

Commit

Permalink
Merge pull request #1258 from nasa/integration-candidate
Browse files Browse the repository at this point in the history
cFE Integration candidate: 2021-03-30
  • Loading branch information
astrogeco authored Apr 1, 2021
2 parents 98bc158 + 806fd87 commit 87025c7
Show file tree
Hide file tree
Showing 165 changed files with 2,695 additions and 4,029 deletions.
24 changes: 24 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,30 @@ The detailed cFE user's guide can be viewed at <https://github.com/nasa/cFS/blob

## Version History

### Development Build: v6.8.0-rc1+dev484

- Removes cases in `cfe_es_apps.c` and `cfe_tbl_internal.c` that could never hit the alternate condition since the condition was already checked
- Removes all APIs deprecated in #777 and #998
- Resolves CodeQL warnings on uninitialized variables.
- Refactors a small portion of `CFE_TIME_UnregisterSynchCallback` and initializes variables to resolve "uninitialized variable" false alarms.
- Fixes a typo in initialization in `CFE_TBL_Validate( CFE_TBL_Handle_t TblHandle )`
- Initializes `TotalMsgSize` as 0 to avoid static analysis warning of "use before initialized"
- Increments the `CreatePipeErrorCounter` for all create pipe errors to eliminate a trivial static analysis warning
- Removes redundant or unreachable assignments and checks
- Updates header guards to standard format. Converts some file-scope block comments to a doxygen format to include a summary of the file.
- Enables the internal helper functions that determine table slot availability to handle NULL pointers.
- Resolves static analysis warnings by removing redundant check for `CFE_SUCCESS` in `CFE_EVS_EarlyInit`
- Moves the invocation of `CFE_PSP_AttachExceptions()` from the registration function to the pre-entry function and removes all references to task registration in code, docs, and tests. **This API change affects cFS apps.**
- Renames `CFE_TestRunner_AppMain` as `CFE_TR_AppMain` so it is less than 20 characters long. Updates App file names in documentation for `cfe_es_startup.scr`.
- Replace the call to `CFE_SB_MessageStringGet()` with the new filename-aware function `CFE_FS_ParseInputFileName()` for commands that contain file names like `CFE_ES_StopPerfDataCmd`. The default pathname/extension logic is now applied here too and only a "basename" is strictly necessary, although if a full/absolute path is given, it will be used as is.
- Removes the now-unnecessary `CFE_SB_ZeroCopyHandle_t` type and all APIs that refer or require it .Replaces `CFE_SB_ZeroCopyGetPtr()` and `CFE_SB_ZeroCopyGetPtr()` with two new simplified functions `CFE_SB_AllocateMessageBuffer()` and `CFE_SB_ReleaseMessageBuffer()` , respectively. These new functions do not use a separate handle. Updates the `CFE_SB_TransmitBuffer()` API to also remove the handle. Does affect public APIs.
- Internal cleanup localized to ES implementation. Consolidate all ES global variables under the `CFE_ES_Global` struct. Removes the separate `CFE_ES_TaskData` and some random pointers that were stored at global scope. Adjusts all references to the deprecated items accordingly (search and replace).
- Adds PSP version info to ES Housekeeping TLM messages. Changes both PSP and OSAL version info assignments on HK TLM to use the new version info API.
- Fixes check for "NumBuckets" member to use `<=` instead of `<`. `CFE_ES_GenPoolValidateState()` now returns `true` if using the max number of buckets (17 by default) and the pool structure using max value will correctly validate
- Replaces remaining `CFE_ES_ERR_BUFFER` with `CFE_ES_BAD_ARGUMENT` for when functions receive an invalid null-pointer argument. Adds null pointer checks in `cfe_es_api.c`.
- Adds branch coverage to html report when running `make lcov`
- See <https://github.com/nasa/cFE/pull/1258>

### Development Build: v6.8.0-rc1+dev436

- Adds a local definition of SOFTWARE_BIG/LITTLE_BIT_ORDER directly inside cfe_endian.h to provide a compatible symbol for apps that still require this. This allows CFE to build and run successfully when OSAL stops providing this in `common_types.h`.
Expand Down
2 changes: 1 addition & 1 deletion cmake/Makefile.sample
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ test:
lcov:
lcov --capture --rc lcov_branch_coverage=1 --directory $(O)/$(ARCH) --output-file $(O)/$(ARCH)/coverage_test.info
lcov --rc lcov_branch_coverage=1 --add-tracefile $(O)/$(ARCH)/coverage_base.info --add-tracefile $(O)/$(ARCH)/coverage_test.info --output-file $(O)/$(ARCH)/coverage_total.info
genhtml $(O)/$(ARCH)/coverage_total.info --output-directory $(O)/$(ARCH)/lcov
genhtml $(O)/$(ARCH)/coverage_total.info --branch-coverage --output-directory $(O)/$(ARCH)/lcov
@/bin/echo -e "\n\nCoverage Report Link: file:$(CURDIR)/$(O)/$(ARCH)/lcov/index.html\n"

doc:
Expand Down
35 changes: 18 additions & 17 deletions cmake/sample_defs/cpu1_msgids.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,22 +18,23 @@
** limitations under the License.
*/

/******************************************************************************
** File: cfe_msgids.h
**
** Purpose:
** This header file contains the Message Id's for messages used by the
** cFE core.
**
** Author: R.McGraw/SSI
**
** Notes:
** This file should not contain messages defined by cFE external
** applications.
**
******************************************************************************/
#ifndef _cfe_msgids_
#define _cfe_msgids_
/**
* @file
*
* Purpose:
* This header file contains the Message Id's for messages used by the
* cFE core.
*
* Author: R.McGraw/SSI
*
* Notes:
* This file should not contain messages defined by cFE external
* applications.
*
*/

#ifndef CPU1_MSGIDS_H
#define CPU1_MSGIDS_H

/*
** Includes
Expand Down Expand Up @@ -129,4 +130,4 @@
#define CFE_SB_ONESUB_TLM_MID CFE_PLATFORM_TLM_MID_BASE + CFE_MISSION_SB_ONESUB_TLM_MSG /* 0x080E */
#define CFE_ES_MEMSTATS_TLM_MID CFE_PLATFORM_TLM_MID_BASE + CFE_MISSION_ES_MEMSTATS_TLM_MSG /* 0x0810 */

#endif
#endif /* CPU1_MSGIDS_H */
34 changes: 17 additions & 17 deletions cmake/sample_defs/cpu1_platform_cfg.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,23 +18,23 @@
** limitations under the License.
*/

/******************************************************************************
** File: cfe_platform_cfg.h
**
** 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
**
******************************************************************************/
/**
* @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_
#define _cfe_platform_cfg_
#ifndef CPU1_PLATFORM_CFG_H
#define CPU1_PLATFORM_CFG_H

/**
** \cfeescfg Default virtual path for persistent storage
Expand Down Expand Up @@ -1708,4 +1708,4 @@
*/
#define CFE_PLATFORM_ES_STARTUP_SCRIPT_TIMEOUT_MSEC 1000

#endif /* _cfe_platform_cfg_ */
#endif /* CPU1_PLATFORM_CFG_H */
42 changes: 19 additions & 23 deletions cmake/sample_defs/sample_mission_cfg.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,24 @@
** limitations under the License.
*/

/******************************************************************************
** File: cfe_mission_cfg.h
**
** Purpose:
** This header file contains the mission configuration parameters and
** typedefs with mission scope.
**
** 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_mission_cfg_
#define _cfe_mission_cfg_
/**
* @file
*
* Purpose:
* This header file contains the mission configuration parameters and
* typedefs with mission scope.
*
* 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 SAMPLE_MISSION_CFG_H
#define SAMPLE_MISSION_CFG_H

/**
** \cfesbcfg Maximum SB Message Size
Expand Down Expand Up @@ -65,7 +65,6 @@
** format. This avoids having to modify each individual caller
** when the default choice is changed.
**
**
** \par Limits
** if CFE_MISSION_TIME_CFG_DEFAULT_TAI is defined as true then CFE_MISSION_TIME_CFG_DEFAULT_UTC must be
** defined as false.
Expand All @@ -82,7 +81,6 @@
** The following definition enables the use of a simulated time at
** the tone signal using a software bus message.
**
**
** \par Limits
** Not Applicable
*/
Expand Down Expand Up @@ -131,7 +129,6 @@
**
** Note: units are in micro-seconds
**
**
** \par Limits
** 0 to 999,999 decimal
*/
Expand Down Expand Up @@ -421,7 +418,6 @@
** anticipated to be reasonably small (i.e. tens, not hundreds). Large
** values have not been tested.
**
**
*/
#define CFE_MISSION_ES_POOL_MAX_BUCKETS 17

Expand Down Expand Up @@ -562,4 +558,4 @@
*/
#define CFE_MISSION_ES_CDS_MAX_FULL_NAME_LEN (CFE_MISSION_ES_CDS_MAX_NAME_LENGTH + CFE_MISSION_MAX_API_LEN + 4)

#endif /* _cfe_mission_cfg_ */
#endif /* SAMPLE_MISSION_CFG_H */
38 changes: 19 additions & 19 deletions cmake/sample_defs/sample_perfids.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,24 +18,24 @@
** limitations under the License.
*/

/*
** File: cfe_perfids.h
**
** Purpose: This file contains the cFE performance IDs
**
** Design Notes:
** 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. Note that
** performance ids 0-31 are reserved for the cFE Core.
**
** References:
**
*/

#ifndef _cfe_perfids_
#define _cfe_perfids_
/**
* @file
*
* Purpose: This file contains the cFE performance IDs
*
* Design Notes:
* 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. Note that
* performance ids 0-31 are reserved for the cFE Core.
*
* References:
*
*/

#ifndef SAMPLE_PERFIDS_H
#define SAMPLE_PERFIDS_H

#define CFE_MISSION_ES_PERF_EXIT_BIT 31 /**< \brief bit (31) is reserved by the perf utilities */

Expand All @@ -58,4 +58,4 @@

/** \} */

#endif /* _cfe_perfids_ */
#endif /* SAMPLE_PERFIDS_H */
11 changes: 4 additions & 7 deletions cmake/target/inc/target_config.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,7 @@
*/

/**
* \file target_config.h
*
* Created on: Dec 12, 2014
* Created by: joseph.p.hickey@nasa.gov
* @file
*
* Defines structures for the global system-wide configuration data.
* These structures can be accessed at runtime and are an alternative to
Expand All @@ -31,8 +28,8 @@
* code becomes more portable.
*/

#ifndef TARGET_CONFIG_H_
#define TARGET_CONFIG_H_
#ifndef TARGET_CONFIG_H
#define TARGET_CONFIG_H

#include "common_types.h"
#include "cfe_psp_configdata.h"
Expand Down Expand Up @@ -213,4 +210,4 @@ typedef const struct
*/
extern Target_ConfigData GLOBAL_CONFIGDATA;

#endif /* TARGET_CONFIG_H_ */
#endif /* TARGET_CONFIG_H */
8 changes: 4 additions & 4 deletions docs/README_functionaltest.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,10 @@ cases. It also must be loaded after `cfe_assert`.
To execute tests at startup, the following lines can be added to `cfe_es_startup.scr` on the
designated test target:

CFE_LIB, /cf/cfe_assert.so, CFE_Assert_LibInit, ASSERT_LIB, 0, 0, 0x0, 0;
CFE_APP, /cf/cfe_testrunner.so, CFE_TestRunner_AppMain, TESTRUN_APP, 100, 16384, 0x0, 0;
CFE_LIB, /cf/cfe_testcase.so, CFE_Test_Init, CFETEST_LIB, 0, 0, 0x0, 0;
CFE_LIB, /cf/psp_test.so, PSP_Test_Init, PSPTEST_LIB, 0, 0, 0x0, 0;
CFE_LIB, cfe_assert, CFE_Assert_LibInit, ASSERT_LIB, 0, 0, 0x0, 0;
CFE_APP, cfe_testrunner, CFE_TR_AppMain, TESTRUN_APP, 100, 16384, 0x0, 0;
CFE_LIB, cfe_testcase, CFE_Test_Init, CFETEST_LIB, 0, 0, 0x0, 0;
CFE_LIB, psp_test, PSP_Test_Init, PSPTEST_LIB, 0, 0, 0x0, 0;

It is important that `cfe_assert` is loaded first, as all other test libraries depend on
symbols provided in this library. The order of loading other test cases should not
Expand Down
Loading

0 comments on commit 87025c7

Please sign in to comment.