-
Notifications
You must be signed in to change notification settings - Fork 25
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
Standardization of Command Responses #95
Comments
The second list ( There is a success (INFO) event issued (and command counter increment), e.g. Or is the problem more that the commands, as currently implemented, cannot be considered either completely successful or otherwise a failure (ERROR)? (i.e. the commands can be partially successful, where they update the results table, but only then realise that the definitions table entry is empty). |
Good observation/point. I reached back to the project that originally requested standardizing the command responses to get further clarification on this. In this case - we increment the command counter and issue an event because the commands are valid. However, the spirit of the command fails when the memory definition table entry is empty (the tables are not updated). User's should be made aware of the failure - such that we should issue error message(s) as opposed to a debug message(s) for those events (ie the second list should be error as opposed to debug messages). |
@dmknutsen cool no worries. Re. 1st list - some issue a Note, cFE has a similar pattern in a few cases (e.g. Options are to:
Option 2 seems like the worst as it could be quite hard or impossible to increment the command/command-error counters correctly further down the call-chain. Also increases complexity/coupling and lowers cohesion. |
Option 3 is best. The information conveyed in the messages is useful to the end user. If projects have bandwidth limitations and/or wish to reduce the message flow, they can certainly switch back to DEBUG message types on a case by case basis to best fit their project. The more important thing from in my view is that the default behavior is consistent. Same would apply to cFE. |
Checklist (Please check before submitting)
Is your feature request related to a problem? Please describe.
cFS should have standardized command responses for commands that set a state/mode like enable/disable, on/off, true/false, start/stop/pause/resume, etc.
For those commands, the app should respond as describe below:
The following command response does not align with the standard:
Successful events are debug type:
CS_ONESHOT_STARTED_DBG_EID
CS_RECOMPUTE_CFECORE_STARTED_DBG_EID
CS_RECOMPUTE_OS_STARTED_DBG_EID
CS_RECOMPUTE_EEPROM_STARTED_DBG_EID
Debug events are issued when a command addresses an empty table state
CS_ENABLE_EEPROM_DEF_EMPTY_DBG_EID
CS_ENABLE_MEMORY_DEF_EMPTY_DBG_EID
CS_DISABLE_MEMORY_DEF_EMPTY_DBG_EID
CS_ENABLE_TABLE_DEF_NOT_FOUND_DBG_EID
CS_DISABLE_TABLE_DEF_NOT_FOUND_DBG_EID
CS_ENABLE_APP_DEF_NOT_FOUND_DBG_EID
CS_DISABLE_APP_DEF_NOT_FOUND_DBG_EID
Describe the solution you'd like
Update logic to align with the standard.
Requester Info
Dan Knutsen
NASA Goddard
The text was updated successfully, but these errors were encountered: