-
Notifications
You must be signed in to change notification settings - Fork 204
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-05-25 #1568
Conversation
Recognize the special string "NULL" to indicate no entry point should be called for the library. Equivalent to leaving the field empty.
Use (int) with %d conversions for portability
Adds a "install_custom.cmake" hook that can be put into a CPU-specific subdirectory under the "defs" directory, that can perform extra installation steps as required for the project/mission. Tweaks the "add_cfe_tables" function such that it can also be called from the install_custom.cmake script to generate additional/alternative table binary files for that CPU. The main update is that it uses the "APP_NAME" parameter to associate the table files with the app library, so the same set of include files can be used. This relies on the target-scope properties being used. Historically that string wasn't verified, it could have been any unique string, but now it should match the app if this is to work as expected.
Changing the implementation return types to CFE_Status_t to match the function prototypes.
Fix #1522, add printf format casts
Combines: - nasa/cFE#1568 - nasa/osal#1050 Includes: - nasa/cFE#1524, add printf format casts - nasa/cFE#1520, accept "NULL" as entry point - nasa/cfe #1549, add capability to generate multiple tables - nasa/osal#1026, Add count sem timeout test
@jphickey looks like #1549 broke SCH_LAB, see https://github.com/nasa/cFS/runs/2658714501?check_suite_focus=true |
I will check into it |
For a table build where the app name passed to cfe_add_tables does not match the actual app name, it must use the APP_DYNAMIC_TARGET_LIST and APP_STATIC_TARGET_LIST variables to get the target list for installation.
@astrogeco - Corrected as hotfix in commit d7073fa. I had originally patched my build to use the correct app names in the sch_lab and to_lab table builds. When I set the name back it caused no table file to be built. Fixed in the above commit by referencing the original list variable in that case. |
Also worth noting, I submitted nasa/sch_lab#80 to correct for the infinite loop observed here. Missing a table file is a condition that should cause SCH_LAB to simply exit with an error - not a continuous spew of error events. |
Combines: - cfe v6.8.0-rc1+dev593 (nasa/cFE#1568) - osal v5.1.0-rc1+dev458 (nasa/osal#1050) Includes: - nasa/cFE#1524, add printf format casts - nasa/cFE#1520, accept "NULL" as entry point - nasa/cfe #1549, add capability to generate multiple tables - nasa/cFE#1551, fixes discrepancies (return type, parameter names, etc) between function protoypes and implementation. Updates stubs accordingly - nasa/osal#1026, Add count sem timeout test - nasa/osal#1026, defer cancellation when BSP locked
Context
Part of nasa/cFS#260
Testing
cFE Checks: https://github.com/nasa/cFE/pull/1568/checks
cFS Bundle Checks: https://github.com/nasa/cfs/pull/260/checks
Description
PR #1524
Fix #1522, add printf format casts
Uses (int) with %d conversions in
UtAssert_True
andUtPrintf
for platform portability.PR #1520
Fix #1505, accept "NULL" as entry point
Specifying the special string NULL as the entry point in a startup script results in no entry point being called for the library. Equivalent to leaving the field empty.
PR #1549
Fix #1538, add capability to generate multiple tables
[build system] Adds an
install_custom.cmake
hook that can added to a CPU-specific subdirectory under the "defs" directory. This hook can perform extra installation steps as required for the custom implementation.Tweaks the
add_cfe_tables
function so it can be called from theinstall_custom.cmake
script to generate additional/alternative table binary files for that CPU.add_cfe_tables
now uses the "APP_NAME" parameter to associate the table files with the app library, so the same set of include files can be used. Still allows any unique string to be used as "APP_NAME" for backward compatibility. The script will now generate a "Note" message to the user if it does not match an application name.If the multiple table feature is used, it actually needs to match the application name, or else the include paths may be incomplete.
PR #1551
Fix #1474, #1552, Resolve API prototype/implementation discrepancies
Removes discrepancies (return type, parameter names, etc) between function prototypes and implementation. Also fixes some but not all use of
CFE_Status_t
in the implementations. Updates ut-stubs accordingly.Authors
@jphickey
@skliper
@zachar1a