-
Notifications
You must be signed in to change notification settings - Fork 2
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
Add SASF "note" equivalent field and SASF "FROM_REQUEST_START" equivalent time tag #30
Comments
Could you include an example SASF (just a snippet is fine) that shows the request format in context? |
Sure, added to top comment. |
@shaheerk94 how do you picture |
That's a good question. In the legacy formats, The other easier option would be to allow it everywhere, and let it mean what @parkerabercrombie which is relative to the start of the sequence. This wouldn't be the first instance of SEQ JSON allowing something that isn't allowed in the legacy formats - SEQJSON allows multiple models to be attached to a single step which isn't supported by SASF or SATF. |
Not sure I understand what you have in mind. How will the request be represented in seq.json? |
Requests currently are represented in seq json like so:
|
So in other words, if we restrict REQUEST_RELATIVE, it would only be allowed as a time tag that is attached to a step that is in a step array within a "request" type object. I don't off the top of my head know if that's even possible with seq json schemas - it would require the time tag object to have knowledge of the nature of its grandfather |
To make sure I follow - the goal is to achieve something like this? "requests": [
{
"name": "test_request1",
"steps": [
{
"stem": "FAKE_COMMAND1",
"time": { "tag": "00:00:01.000", "type": "REQUEST_RELATIVE" },
"type": "command",
"args": []
}
],
"time": { "tag": "2020-173T20:00:00.000", "type": "ABSOLUTE" },
"type": "request"
}
] |
That's right! |
What about IMO, we should avoid making the constructs (and their names) unnecessarily restrictive. If we can add a new time tag which could mean something outside requests, and if it's a lot of work to scope it to only requests, then we can just make it apply more broadly? |
I think that's a great idea. Even if FCPL doesn't support it, it seems very reasonable that a future mission may have a time tag that's "relative to sequence start". I agree that |
Actually...do any existing definitions of "block" match this context? I think the set of steps in a request, or a full onboard sequence, both qualify as things we already call "block"? I'm happy to pick up a new term (and it might contribute to our "multiple sequences per file" discussion), but curious whether "block" actually fits. |
I think of "batch" as a processing mode, less so a static collection, but that could be me. |
We've actually been trying to move away from "block" in seq2.0 terminology. We've been using "onboard subroutine" instead. So right now, "block" is only defined in legacy VML contexts and not defined in seq 2.0 land. So I think |
Ah, I missed that there was already a |
I'm onboard with block as well. Let's do that. I updated my top comment. |
Are you all onboard with "print" for "note"? @parkerabercrombie @cartermak |
Is there a rationale for renaming it and not sticking with "note"? I think either is fine, but again just hunting for what's the most 1) accurate and 2) broadly applicable. |
I think sticking with |
Thanks @shaheerk94 - I think after fresh reconsideration, I have a slight preference for I was talking to @cartermak on Slack about this and he summed it up well:
I agree with this, and prefer the more generalized "note declaration" rather than "print directive", but can see it either way & ultimately fine with either. |
I'm onboard with that as well. Let's go with the more generalized "note declaration", if @cartermak and @parkerabercrombie are onboard. |
I'm onboard 👍 |
@shaheerk94 go ahead and open a PR with the changes as discussed here and we can collect a final sign-off from everyone. |
Related problems
Psyche SASFs make extensive use of "notes" and "FROM_REQUEST_START" time tags which are not supported in SEQ JSON today. Other missions that use SASF likely will need to use those fields as well (JUNO uses both fields as well).
Describe the feature request
Open question: What are the right strings to use for note and FROM_REQUEST_START? There's precedence both for renaming legacy keywords from sasf/satf in SEQJSON and renaming legacy keywords. Some time tags have been renamed (FROM_PREVIOUS_START -> COMMAND_RELATIVE, ABSOLUTE -> ABSOLUTE, WAIT_PREVIOUS_END -> COMMAND_COMPLETE).
I propose using "note" to match SASF (as opposed to renaming) and "BLOCK_RELATIVE" instead of "FROM_REQUEST_START" to match the style of COMMAND_RELATIVE. Calling it BLOCK_RELATIVE allows it to be used outside of request contexts.
SASF Example of note+FROM_REQUEST_START:
The text was updated successfully, but these errors were encountered: