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

Multiple cleanup items for CI LAB #35

Merged
merged 5 commits into from
Mar 9, 2020

Conversation

jphickey
Copy link
Contributor

@jphickey jphickey commented Feb 7, 2020

Describe the contribution

Cleans up multiple aspects of the CI_LAB implementation. Details Below.

Fixes #23
Fixes #27
Fixes #34

These change sets are submitted as a single pull request, as they have inter-dependencies between them and will trigger conflicts if presented individually. This pull request still contains each fix as an individual commit, so each one can be independently reviewed.

For #27 / commit 157aac0: PDU introspection code in CI LAB has numerous quality issues and has repeatedly been a maintenance problem, and also is of questionable usefulness. It was agreed in the CCB to drop this feature.

For #23 / commit 3ff5cc1: Use the OSAL Socket API instead of calling BSD sockets functions directly. This is fairly straightforward.

For #34 / commit 5f873e0: Update the CI_LAB local command/telemetry processing logic to match the recommended patterns used in other modules. This applies the recommended naming conventions, message structure, and functional structure by giving each command a dedicated handler function.

Testing performed
Build for native for both debug/release builds, with unit tests enabled. Confirmed normal operation of CI_LAB for command ingest by running CFE and sending commands with cmdUtil.

Expected behavior changes
CFDP PDU manipulation with CI LAB is no longer supported. Normal command ingest behavior does not change.

System(s) tested on
Ubuntu 18.04 LTS 64 bit

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

This code has numerous quality issues and has repeatedly been
a maintenance problem, and also is of questionable usefulness.

It was agreed in the CCB to drop this feature.
This removes the need to use BSD socket calls directly within CI_LAB
@jphickey jphickey linked an issue Feb 8, 2020 that may be closed by this pull request
@jphickey
Copy link
Contributor Author

jphickey commented Feb 8, 2020

Re-pushed branch to address some minor remaining cleanup items and also add a fix for #36 to the mix. Like the others, this needs to be sequential; all changes in this pull request depend on the one before it, and cannot be cherry-picked/rebased without conflicts. But they can be independently reviewed.

Make the patterns in CI better match the patterns used
in other modules (CFE core, Sample App, etc)

- Separate each command into a separate handler function
- Each command handler accepts a const pointer to the full message
- Put Telemetry payload into a separate "Payload" sub-structure
- Use naming conventions defined in conventions document

Note the payload name changes only affect the FSW internal
usage, the payload format for the ground system is not changed.
Add a global structure called "CI_LAB_Global" for all globals, getting
them out of the global namespace.  All other identifiers that remain
in the global namespace should be prefixed consistently with CI_LAB_
to match the name of the app.
@jphickey
Copy link
Contributor Author

Updated the changeset to put the event generator in the actual Reset command handler as opposed to the internal reset routine. This avoids a spurious reset event reported at startup.

fsw/src/ci_lab_app.c Outdated Show resolved Hide resolved
@astrogeco astrogeco changed the base branch from master to ic-20200226 March 9, 2020 15:07
@jphickey
Copy link
Contributor Author

jphickey commented Mar 9, 2020

See commit 07a7077, this updates the comment for CI_LAB_ResetCounters_Internal. Did not see any CI_ResetCounters in the final commit of the pull request so possible that one was already changed.

@astrogeco astrogeco changed the base branch from ic-20200226 to ic-20200304 March 9, 2020 23:59
@astrogeco astrogeco merged commit 87c736e into nasa:ic-20200304 Mar 9, 2020
@astrogeco astrogeco mentioned this pull request Mar 10, 2020
@astrogeco astrogeco added this to the 2.4.0 milestone Mar 10, 2020
@jphickey jphickey deleted the fix-23-27-34-ci-lab-cleanup branch March 12, 2020 18:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants