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

Fix #101, add header update platform config #104

Merged
merged 1 commit into from
Sep 21, 2023

Conversation

jphickey
Copy link
Contributor

Checklist (Please check before submitting)

Describe the contribution
This adds a new SC platform configuration option:

SC_PLATFORM_SC_ENABLE_HEADER_UPDATE

This option is translated to the UpdateHeader option of CFE_SB_TransmitMsg()

  • If set to "false" (default) this replicates current behavior. In this mode, commands within ATS/RTS tables are expected to be fully initialized, including all headers and checksums, and the message will be passed verbatim to the software bus.

  • If set to "true" (new option) this permits the commands to be timestamped and sequenced according to the real time system state. The headers will be updated as part of sending the message on the bus, and a valid checksum will be computed in real time.

Fixes #101

Testing performed
Run unit tests
Build SC with configuration each way

Expected behavior changes
If configured as true, then headers on outgoing commands are updated in real time as the messages are sent to SB.

System(s) tested on
Debian

Additional context
This is critical if the message use a strong checksum, as there is currently no way to automatically compute this when generating the table.

Contributor Info - All information REQUIRED for consideration of pull request
Joseph Hickey, Vantage Systems, Inc.

This adds a new SC platform configuration option:

SC_PLATFORM_SC_ENABLE_HEADER_UPDATE

This option is translated to the UpdateHeader option of
CFE_SB_TransmitMsg()

- If set to "false" (default) this replicates current behavior.  In this
  mode, commands within ATS/RTS tables are expected to be fully
  initialized, including all headers and checksums, and the message will
  be passed verbatim to the software bus.

- If set to "true" (new option) this permits the commands to be
  timestamped and sequenced according to the real time system state.
  The headers will be updated as part of sending the message on the bus,
  and a valid checksum will be computed in real time.

Note - There is currently no way to perform a checksum computation during table
generation, so inserting a valid checksum within in ATS/RTS table entries is
difficult when a robust checksum algorithm is used.
@dzbaker dzbaker merged commit 52fb737 into nasa:main Sep 21, 2023
17 checks passed
@jphickey jphickey deleted the fix-101-update-header branch October 6, 2023 15:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Skip checksum validation on ATS/RTS table entries
2 participants