Skip to content

Commit 532fcda

Browse files
authored
Merge pull request #1600 from NASA-AMMOS/feature/rtc_activate_load
Update SeqJson Schema v1.3.1
2 parents 9c925d6 + 7e7316f commit 532fcda

File tree

3 files changed

+179
-25
lines changed

3 files changed

+179
-25
lines changed

sequencing-server/package-lock.json

+95-8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sequencing-server/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"@js-temporal/polyfill": "~0.4.3",
3030
"@nasa-jpl/aerie-ampcs": "~1.0.6",
3131
"@nasa-jpl/aerie-ts-user-code-runner": "~0.7.0",
32-
"@nasa-jpl/seq-json-schema": "1.0.20",
32+
"@nasa-jpl/seq-json-schema": "1.3.1",
3333
"body-parser": "~1.20.1",
3434
"dataloader": "~2.2.0",
3535
"express": "~5.0.0-beta.1",

sequencing-server/test/__snapshots__/command-types.spec.ts.snap

+83-16
Original file line numberDiff line numberDiff line change
@@ -3927,7 +3927,7 @@ export type Request = {
39273927
* Description. Can be attached to any sequence step.
39283928
*/
39293929
export type Description = string;
3930-
export type Step = Activate | Command | GroundBlock | GroundEvent | Load;
3930+
export type Step = Activate | Command | GroundBlock | GroundEvent | Load | Note;
39313931
/**
39323932
* Array of command arguments
39333933
*/
@@ -3939,6 +3939,26 @@ export type Args = (
39393939
| HexArgument
39403940
| RepeatArgument
39413941
)[];
3942+
/**
3943+
* Time object
3944+
*/
3945+
export type Time =
3946+
| {
3947+
/**
3948+
* Allowed time types without a tag: COMMAND_COMPLETE
3949+
*/
3950+
type: 'COMMAND_COMPLETE';
3951+
}
3952+
| {
3953+
/**
3954+
* Allowed time types with a tag: ABSOLUTE, BLOCK_RELATIVE, COMMAND_RELATIVE, EPOCH_RELATIVE.
3955+
*/
3956+
type: 'ABSOLUTE' | 'BLOCK_RELATIVE' | 'COMMAND_RELATIVE' | 'EPOCH_RELATIVE';
3957+
/**
3958+
* Relative or absolute time. Required for ABSOLUTE, BLOCK_RELATIVE, COMMAND_RELATIVE, and EPOCH_RELATIVE time types but not COMMAND_COMPLETE.
3959+
*/
3960+
tag: string;
3961+
};
39423962

39433963
export interface SeqJson {
39443964
/**
@@ -3969,7 +3989,7 @@ export interface SeqJson {
39693989
/**
39703990
* Immediate commands which are interpreted by FSW and not part of any sequence.
39713991
*/
3972-
immediate_commands?: ImmediateCommand[];
3992+
immediate_commands?: (ImmediateFswCommand | ImmediateLoad | ImmediateActivate)[];
39733993
/**
39743994
* Hardware commands which are not interpreted by FSW and not part of any sequence.
39753995
*/
@@ -4150,19 +4170,6 @@ export interface Model {
41504170
*/
41514171
variable: string;
41524172
}
4153-
/**
4154-
* Time object
4155-
*/
4156-
export interface Time {
4157-
/**
4158-
* Relative or absolute time. Required for ABSOLUTE, COMMAND_RELATIVE, and EPOCH_RELATIVE time tags but not COMMAND_COMPLETE.
4159-
*/
4160-
tag?: string;
4161-
/**
4162-
* Allowed time types: ABSOLUTE, COMMAND_RELATIVE, EPOCH_RELATIVE, or COMMAND_COMPLETE.
4163-
*/
4164-
type: 'ABSOLUTE' | 'COMMAND_RELATIVE' | 'EPOCH_RELATIVE' | 'COMMAND_COMPLETE';
4165-
}
41664173
/**
41674174
* Command object
41684175
*/
@@ -4235,17 +4242,77 @@ export interface Load {
42354242
time: Time;
42364243
type: 'load';
42374244
}
4245+
/**
4246+
* 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.
4247+
*/
4248+
export interface Note {
4249+
/**
4250+
* Note string arg.
4251+
*/
4252+
string_arg: string;
4253+
description?: Description;
4254+
metadata?: Metadata;
4255+
models?: Model[];
4256+
time: Time;
4257+
type: 'note';
4258+
}
42384259
/**
42394260
* Object representing a single Immediate Command
42404261
*/
4241-
export interface ImmediateCommand {
4262+
export interface ImmediateFswCommand {
42424263
args: Args;
42434264
description?: Description;
42444265
metadata?: Metadata;
4266+
models?: Model[];
42454267
/**
42464268
* Command stem
42474269
*/
42484270
stem: string;
4271+
type?: 'immediate_command';
4272+
}
4273+
/**
4274+
* Untimed load object
4275+
*/
4276+
export interface ImmediateLoad {
4277+
args?: Args;
4278+
description?: Description;
4279+
/**
4280+
* Sequence target engine.
4281+
*/
4282+
engine?: number;
4283+
/**
4284+
* Onboard epoch to pass to the sequence for derivation of epoch-relative timetags
4285+
*/
4286+
epoch?: string;
4287+
metadata?: Metadata;
4288+
models?: Model[];
4289+
/**
4290+
* Onboard path and filename of sequence to be loaded.
4291+
*/
4292+
sequence: string;
4293+
type: 'immediate_load';
4294+
}
4295+
/**
4296+
* Untimed activate object
4297+
*/
4298+
export interface ImmediateActivate {
4299+
args?: Args;
4300+
description?: Description;
4301+
/**
4302+
* Sequence target engine.
4303+
*/
4304+
engine?: number;
4305+
/**
4306+
* Onboard epoch to pass to the sequence for derivation of epoch-relative timetags
4307+
*/
4308+
epoch?: string;
4309+
metadata?: Metadata;
4310+
models?: Model[];
4311+
/**
4312+
* Onboard path and filename of sequence to be loaded.
4313+
*/
4314+
sequence: string;
4315+
type: 'immediate_activate';
42494316
}
42504317
/**
42514318
* Object representing a single Hardware Command

0 commit comments

Comments
 (0)