Skip to content

Commit

Permalink
Merge pull request #1600 from NASA-AMMOS/feature/rtc_activate_load
Browse files Browse the repository at this point in the history
Update SeqJson Schema v1.3.1
  • Loading branch information
dandelany authored Feb 12, 2025
2 parents 9c925d6 + 7e7316f commit 532fcda
Show file tree
Hide file tree
Showing 3 changed files with 179 additions and 25 deletions.
103 changes: 95 additions & 8 deletions sequencing-server/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion sequencing-server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"@js-temporal/polyfill": "~0.4.3",
"@nasa-jpl/aerie-ampcs": "~1.0.6",
"@nasa-jpl/aerie-ts-user-code-runner": "~0.7.0",
"@nasa-jpl/seq-json-schema": "1.0.20",
"@nasa-jpl/seq-json-schema": "1.3.1",
"body-parser": "~1.20.1",
"dataloader": "~2.2.0",
"express": "~5.0.0-beta.1",
Expand Down
99 changes: 83 additions & 16 deletions sequencing-server/test/__snapshots__/command-types.spec.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -3927,7 +3927,7 @@ export type Request = {
* Description. Can be attached to any sequence step.
*/
export type Description = string;
export type Step = Activate | Command | GroundBlock | GroundEvent | Load;
export type Step = Activate | Command | GroundBlock | GroundEvent | Load | Note;
/**
* Array of command arguments
*/
Expand All @@ -3939,6 +3939,26 @@ export type Args = (
| HexArgument
| RepeatArgument
)[];
/**
* Time object
*/
export type Time =
| {
/**
* Allowed time types without a tag: COMMAND_COMPLETE
*/
type: 'COMMAND_COMPLETE';
}
| {
/**
* Allowed time types with a tag: ABSOLUTE, BLOCK_RELATIVE, COMMAND_RELATIVE, EPOCH_RELATIVE.
*/
type: 'ABSOLUTE' | 'BLOCK_RELATIVE' | 'COMMAND_RELATIVE' | 'EPOCH_RELATIVE';
/**
* Relative or absolute time. Required for ABSOLUTE, BLOCK_RELATIVE, COMMAND_RELATIVE, and EPOCH_RELATIVE time types but not COMMAND_COMPLETE.
*/
tag: string;
};

export interface SeqJson {
/**
Expand Down Expand Up @@ -3969,7 +3989,7 @@ export interface SeqJson {
/**
* Immediate commands which are interpreted by FSW and not part of any sequence.
*/
immediate_commands?: ImmediateCommand[];
immediate_commands?: (ImmediateFswCommand | ImmediateLoad | ImmediateActivate)[];
/**
* Hardware commands which are not interpreted by FSW and not part of any sequence.
*/
Expand Down Expand Up @@ -4150,19 +4170,6 @@ export interface Model {
*/
variable: string;
}
/**
* Time object
*/
export interface Time {
/**
* Relative or absolute time. Required for ABSOLUTE, COMMAND_RELATIVE, and EPOCH_RELATIVE time tags but not COMMAND_COMPLETE.
*/
tag?: string;
/**
* Allowed time types: ABSOLUTE, COMMAND_RELATIVE, EPOCH_RELATIVE, or COMMAND_COMPLETE.
*/
type: 'ABSOLUTE' | 'COMMAND_RELATIVE' | 'EPOCH_RELATIVE' | 'COMMAND_COMPLETE';
}
/**
* Command object
*/
Expand Down Expand Up @@ -4235,17 +4242,77 @@ export interface Load {
time: Time;
type: 'load';
}
/**
* Used to add a note within a sequence at a specific instant. Can be used by command & sequence simulator tools to print the string argument at the relevant instant within simulations.
*/
export interface Note {
/**
* Note string arg.
*/
string_arg: string;
description?: Description;
metadata?: Metadata;
models?: Model[];
time: Time;
type: 'note';
}
/**
* Object representing a single Immediate Command
*/
export interface ImmediateCommand {
export interface ImmediateFswCommand {
args: Args;
description?: Description;
metadata?: Metadata;
models?: Model[];
/**
* Command stem
*/
stem: string;
type?: 'immediate_command';
}
/**
* Untimed load object
*/
export interface ImmediateLoad {
args?: Args;
description?: Description;
/**
* Sequence target engine.
*/
engine?: number;
/**
* Onboard epoch to pass to the sequence for derivation of epoch-relative timetags
*/
epoch?: string;
metadata?: Metadata;
models?: Model[];
/**
* Onboard path and filename of sequence to be loaded.
*/
sequence: string;
type: 'immediate_load';
}
/**
* Untimed activate object
*/
export interface ImmediateActivate {
args?: Args;
description?: Description;
/**
* Sequence target engine.
*/
engine?: number;
/**
* Onboard epoch to pass to the sequence for derivation of epoch-relative timetags
*/
epoch?: string;
metadata?: Metadata;
models?: Model[];
/**
* Onboard path and filename of sequence to be loaded.
*/
sequence: string;
type: 'immediate_activate';
}
/**
* Object representing a single Hardware Command
Expand Down

0 comments on commit 532fcda

Please sign in to comment.