Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cFE Integration candidate: 2021-02-02 #1150

Merged
merged 53 commits into from
Feb 16, 2021
Merged

cFE Integration candidate: 2021-02-02 #1150

merged 53 commits into from
Feb 16, 2021

Conversation

astrogeco
Copy link
Contributor

@astrogeco astrogeco commented Feb 3, 2021

Describe the contribution
Fix #1070, patch PSP include directory reference
Fix #1108, split resource id functions into module
Fix #723, CFE_EVS_Register const correct and report truncation
Fix #680, Remove table service exclusion logic
Fix #609, Remove CFE_PLATFORM_EVS_LOG_ON undefined option to diasble log
Fix #915, Check for file existence in CFE_ES_RestartApp
Fix #1122, ES and EVS use default message limits
Fix #1123, Convert global CFE_SB_Default_Qos to macro
Fix #780, Hex output for return checking ASSERTs
Fix #986, Remove unnecessary CFE_MSG_Init in TBL
Fix #1069, Resolve mismatched types in SBR throttle
Fix #1071, Initialize Status in CFE_ES_WaitForSystemState
Fix #1110, Remove unimplemented ES prototypes
Fix #1014, Remove Test_SB_Cmds_SubRptUnexpCmdCode
Fix #997, Simplify UT_InitData SB setup
Fix #996, Remove CFE_PLATFORM_SB_MAX_PIPE_DEPTH in favor of OS_QUEUE_…
Fix #1100, Update highest MsgId documentation/verification
Fix #793, Clarify restart/reload app behavior
Fix #1036, Clear task data in EarlyInit and standardize name
Fix #1032, Send->Write name update for SB write cmds
Fix #1141, PipeName unset with debug event
Fix #1145, Update workflow action badge
Fix #1144, Add workflow action timeout
Fix #1108, clean up ifdef blocks
Fix #1162, Add CodeQL analysis to workflow

HOTFIX for #1136, update doxygen refs
HOTFIX for #1136, remove ref to CFEESResourceIDBase

Testing performed
See https://github.com/nasa/cfs/pull/182/checks

Expected behavior changes

PR #1072 and #1139 - Corrects reference to PSP header file location. Build now succesfully completes the build succeeds again when using add_psp_module() in custom CMakeLists file.

PR #1118 - Replace "send" with "write" in names for commands that write files. For example, CFE_SB_**SEND**_ROUTING_INFO_CC is now CFE_SB_**WRITE**_ROUTING_INFO_CC. Updates function names, command code names and comments.

PR #1112 - Removes incorrectly implemented deferred return code of -1 for CFE_SB_ReceiveBuffer from software bus setup in UT_InitData.

PR #1121 - Implements more informative assert messages by making SETUP, TEARDOWN, ASSERT print 0x%lx while ASSERT_EQ now prints both %lfand0x%lx` format for the inputs

PR #1146 - Updates continuous-integration badges in ReadMe.md. The badges now reflect the success status of different runs.

PR #1113 - Remove Test_SB_Cmds_SubRptUnexpCmdCode which was a duplicate of Test_SB_Cmds_CmdUnexpCmdCode and did not implement any new tests.

PR #1115 - Initializes status in CFE_ES_WaitForSystemState and adds missing success test case so the function doesn't return an uninitialized Status.

PR #1120 - Removes the HkPacket and TblRegPacket message initializations from CFE_TBL_EarlyInit since they are initialized in CFE_TBL_InitData. Moves the NotifyMsg message initialization to CFE_TBL_InitData and sets the message ID each time it's sent from CFE_TBL_SendNotificationMsg. Possibly results in small performance improvement since the message isn't initialized every call.

PR #1114 - Removes unimplemented CFE_ES_AppGetList and CFE_ES_AppDumpAllInfo prototypes.

PR #1147 - Adds a 15-minute timeout to continuous integration workflows to prevent excess resource utilization.

PR #1142 - Makes debug subscription events only print the Pipe ID, not a name, in the debug events.

PR #1101 - Updates the documentation and verification for CFE_PLATFORM_SB_HIGHEST_VALID_MSGID to allows the full range of values.

PR #1083 - Clarifies the difference between "restart" and "reload" in API/cmd and user's guide documentation for CFE_ES_RESTART_APP_CC.

PR #1128 - CFE_ES_RestartApp now checks for file existence as part of command processing and does not remove the app if the file doesn't exist (just avoids one error case). it also rejects the command and increments command error counter if file is missing.

PR #1116 - Switches throttle indexes to use CFE_SB_RouteId_Atom_t and combines helper function given that msgid was removed due to being a resource hog. Resolves static analysis warning.

PR #1111 - Removes CFE_PLATFORM_SB_MAX_PIPE_DEPTH in favor of OS_QUEUE_MAX_DEPTH. This depth parameter in command is now checked prior to attempting OSAL call.

PR #1133 - Filters pointer now const in API and reports truncation when registering filters with CFE_EVS_Register.

PR #1129 - Removes the ability to disable the log by not defining CFE_PLATFORM_EVS_LOG_ON so users are no longer able to disable log completely. For minimum memory use define CFE_PLATFORM_EVS_LOG_MAX = 1. Note: This could remove control based on LogEnabled, panic on reset area fail and limp along if "sem create" fails.

PR #1132 - This removes the remnants of the table service exclusion logic and documentation: EXCLUDE_CFE_TBL no longer available, even if defined, table services will still start.

PR #1126 - Set ES and EVS pipe message limit to defaults as opposed to the custom, unjustified, CFE_SB_SubscribeEx. This change might queue additional HK messages, but SCH loads after ES anyways.

PR #1125 - Replaces CFE_SB_Default_Qos with CFE_SB_DEFAULT_QOS macro that avoids global variable exposure. Removes SB-internal defines that are not implemented nor used.

PR #1124 - Explicity memset the task data to zero at the start of EarlyInit. Standardize the global typdef/variable names.

PR #1136 - Moves all functions, macros, types, and other definitions related to resource IDs and generic resource management into a separate module, like CFE MSG, SBR, etc. This allows a mission to elect "strict" implementations of these objects, where every ID type is unique, and assigning between them or uint32 results in a compiler error. API now has separate types for each resource type (Apps, Tasks, Libs, Counters, etc). The user can elect at the mission level whether this is a simple typedef (all uint32, all interchangeable) or a wrapper type (separate/strict type, cannot be interchanged). The former is backward compatible but the latter is not - must use proper types.

PR #1163 - Adds Code QL analysis to continuous integration workflow.

System(s) tested on
Ubuntu 18.04

Additional context
Part of nasa/cFS#182

Third party code
None

Contributor Info - All information REQUIRED for consideration of pull request
@skliper
@jphickey

jphickey and others added 28 commits January 6, 2021 15:08
The PSP header files are located in fsw/shared/inc, not fsw/shared.
This corrects the reference.
Move all functions, macros, types, and other definitions
related to resource IDs and generic resource management into
a separate module, like CFE MSG and SBR, etc.

Notably this allows a mission to elect "strict" implementations
of these objects, where every ID type is unique, and assigning
between them (or uint32) results in a compiler error.
Test was just a copy/paste of Test_SB_Cmds_CmdUnexpCmdCode
and did not actually implement a new test.  Subscription
reporting is a no parameter command.
Fix #1070, patch PSP include directory reference
Do not print the pipe name in the debug event, just pipe ID.
Remove code blocks that were commented out, not needed.
Fix #1032, Send->Write name update for SB write cmds
Fix #997, Simplify UT_InitData SB setup
Fix #780, Hex output for return checking ASSERTs
Fix #1100, Update highest MsgId documentation/verification
Fix #793, Clarify restart/reload app behavior
Fix #915, Check for file existence in CFE_ES_RestartApp
Fix #1069, Resolve mismatched types in SBR throttle
Fix #996, Remove CFE_PLATFORM_SB_MAX_PIPE_DEPTH in favor of OS_QUEUE_MAX_DEPTH
Fix #723, CFE_EVS_Register const correct and report truncation
Fix #609, Remove CFE_PLATFORM_EVS_LOG_ON undefined option to diasble log
Fix #680, Remove table service exclusion logic
Fix #1122, ES and EVS use default message limits
Fix #1123, Convert global CFE_SB_Default_Qos to macro
@astrogeco astrogeco changed the title cFE Bundle Integration candidate: 2021-02-02 cFE Integration candidate: 2021-02-02 Feb 8, 2021
Fix #1036, Clear task data in EarlyInit and standardize name #1124
Fix #1108, split resource id functions into module
@astrogeco astrogeco marked this pull request as ready for review February 15, 2021 18:15
@astrogeco astrogeco merged commit 6b9c267 into main Feb 16, 2021
astrogeco added a commit to nasa/cFS that referenced this pull request Feb 16, 2021
astrogeco added a commit to nasa/cFS that referenced this pull request Feb 16, 2021
astrogeco added a commit to nasa/cFS that referenced this pull request Feb 16, 2021
@skliper skliper added this to the 7.0.0 milestone Sep 24, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment