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-05-25 #1568

Merged
merged 12 commits into from
May 26, 2021
Merged

cFE Integration candidate: 2021-05-25 #1568

merged 12 commits into from
May 26, 2021

Conversation

astrogeco
Copy link
Contributor

@astrogeco astrogeco commented May 24, 2021

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 inUtAssert_True and UtPrintf 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 the install_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

jphickey and others added 6 commits May 13, 2021 15:36
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.
@astrogeco astrogeco marked this pull request as draft May 24, 2021 17:26
Fix #1538, add capability to generate multiple tables
astrogeco added a commit to nasa/cFS that referenced this pull request May 24, 2021
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
@astrogeco
Copy link
Contributor Author

astrogeco commented May 24, 2021

@jphickey
Copy link
Contributor

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.
@jphickey
Copy link
Contributor

@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.

@jphickey
Copy link
Contributor

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.

@astrogeco astrogeco marked this pull request as ready for review May 26, 2021 02:15
@astrogeco astrogeco merged commit 176e3df into main May 26, 2021
astrogeco added a commit to nasa/cFS that referenced this pull request May 26, 2021
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
@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
Labels
None yet
Projects
None yet
4 participants