Add optional sequence execution state preservation across processor reset
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 46
- Forks
- 39
- PR merge metrics
- No merged PRs in 30d
Description
Checklist (Please check before submitting)
- I reviewed the Contributing Guide.
- I reviewed the README file to see if the feature is in the major future work.
- I performed a cursory search to see if the feature request is relevant, not redundant, nor in conflict with other tickets.
Is your feature request related to a problem? Please describe.
Users of cFS have no way of resuming an ATS/RTS in the event of a processor reset. They would have to assume the fresh start of an ATS/RTS after processor reset.
Describe the solution you'd like
Preserve execution state before processor reset and restore afterwards to SC. Could likely be done with CDS and different options as to when state is copied over such as after a command is transmitted, at the end of a SC wakeup (provided that non-zero amount of commands executed that wakeup), or sometime else.
Describe alternatives you've considered
Users can configure a specific auto-start RTS for processor reset recovery, but this starts a predefined recovery sequence rather than preserving the execution state of the nominal ATS/RTS that was active before reset. It does not know which commands from the original sequence had already been transmitted or which commands remained pending.
https://github.com/nasa/SC/blob/1356713606db00a47fb32dab81352d5c20954260/fsw/src/sc_app.c#L174-L182
Additional context
project DAVINCI inquired about this.
Requester Info
Justin Figueroa, Vantage Systems Inc
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the processor-reset handling referenced in fsw/src/sc_app.c at lines 174-182 and trace how ATS/RTS execution state is represented and recovered. Define the preservation and restoration behavior, including when state is copied and how CDS options should work; done means an active sequence can resume correctly after reset without replacing it with a predefined recovery sequence.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100