Skip to main content

Sequence Editor

Aerie sequence editor is a web application with various features (auto complete, linting, hinting) to assist users while typing a sequence of commands. Aerie currently supports AMPCS command, parameter, and channel dictionary schemas for commands, parameters, and telemetry channels. To be able to author or edit a sequence, users must reference a parcel containing a command dictionary available in the Aerie instance. To upload a command dictionary see instructions here. Users may optionally upload parameter dictionaries, channel dictionaries, and adaptataion code on the same view. After these are uploaded a parcel should be specified.

Parcel

Aerie groups a command dictionary along with zero of more parameter dictionaries, an optional channel dictionary, and an optional javascript adaptation file. If a parcel includes an adaptation, the adaptation may use parameter and channel dictionaries for additional information beyond the command dictionary. If a parcek does not specify an adaption or specifies an adaptation does not make use of the additional dictionaries they may have no impact on sequencing.

Navigate to the parcel page to create a parcel or edit an existing parcel.

Navigate to Aerie parcel configuration view
Use main Aerie drop down menu to navigate to the Aerie parcel configuration view.

Create a new parcel or edit an existing parcel to change the configuration. Parcels are often named according to Ground Data System or Flight Software releases.

Specify which dictionaries and adaptation makeup a parcel
Parcels define a grouping of files that effect sequencing checks and translations

Navigate to the Aerie sequence editor from the Aerie drop down menu at the upper left corner.

Navigate to Aerie sequencing editor
Use main Aerie drop down menu to navigate to the Aerie sequence editor.

The landing page lists all sequences available at this venue in the left panel. Upon click users can view the contents of sequences in the right hand side editor in a "read only" mode. To edit an individual sequence click the pencil icon for the sequence on the left hand side panel as shown in the image below.

View list of sequences
The landing page lists all sequences that are authored.
note

Currently Aerie sequence editor does not support user roles and permissions, hence all sequences authored in this venue will be accessible to everyone who has access to Aerie. User roles will allow limiting edit and/or view access to some sequences. For now, we recommend pre-appending a user name to your sequence names to indicate ownership.

In the sequence editing page users need to select a command dictionary before they can edit the sequence. Editing sequence simply means adding any of the step types defined in the seqJSON format to the steps section of the sequence. In addition seqJSON allows arbitrary JSON objects to be added as metadata. Refer to your mission guidelines regarding metadata format expected by downstream processes and tools.

Edit sequence
Users can rename or edit a sequence, and view the seqJSON output.

Import / export seqJSON

Aerie editor allows authoring and viewing sequences in a user friendly format which is more compact, easier to read and write compared to the seqJSON. However seqJSON is the exchange format that should be used to exchange sequences with upstream and downstream tools. While creating a new sequence, users can import a seqJSON using the in (Choose File) button available at the new sequence the left panel. After authoring a sequence, it can be downloaded to the your local machine using the (Download) button at the upper right corner of the seqJSON view panel at the bottom.

Typing commands

As explained earlier authoring a sequence simply means concatenating commands in the steps array. Example below illustrates how a simple sequence with a few commands and various time tags looks like.

R001T00:00:01 GROW_BANANA 1 60
C PICK_BANANA

C AVS_RESET_ECE
C BC_MANAGE_ACTIVE_BUS "BUS_A" "DISABLE"
A2024-123T00:00:00 PACKAGE_BANANA 0 ["lot_0" 1]
R00:00:10 THROW_BANANA 10
  • Each command step must start with a time tag. Time tags supported in seqJSON are command complete ( C ), absolute ( A2020-001T00:00:00), relative ( R00:00:00 ), and epoch relative (E00:00:00). To understand how these time tags get executed on board, refer to your missions Sequencing FDD.
  • To view list of commands, type a time tag and a space.
  • To filter commands, start typing the first few letters of the command stem.
  • After selecting the command the parameters will be inside of the right "Selected Command" panel.
  • If command has arguments they will be deliniated with a space.
  • Editor can autocomplete argument names with the control + Space shortcut.
  • For the enumerated args, control + Space can be used to select one of the defined enum values.
  • Errors will be linted with a red squiggly underline. Hovering over the error should provide explanation for the error as shown below.
  • Generate seqJSON will fail if you have errors in the sequence.

Form editor

Aerie offers a form editor to edit individual arguments. Different argument types -- strings, enumerations, variables and numbers -- each have their own appropriate control

Form view for sequence editing
The currently selected command's arguments can be edited in the form view, changes are reflected in the open sequence.

Keyboard shortcuts

When the cursor is within the sequence editor the following keyboard commands are available

Windows/LinuxMacCommandDescription
Alt-ArrowLeftCtrl-ArrowLeft on macOScursorSyntaxLeftMove the cursor over the next syntactic element to the left.
Shift-Alt-ArrowLeftShift-Ctrl-ArrowLeft on macOSselectSyntaxLeftMove the selection head over the next syntactic element to the left.
Alt-ArrowRightCtrl-ArrowRight on macOScursorSyntaxRightMove the cursor over the next syntactic element to the right.
Shift-Alt-ArrowRightShift-Ctrl-ArrowRight on macOSselectSyntaxRightMove the selection head over the next syntactic element to the right.
Alt-ArrowUpAlt-ArrowUpmoveLineUpMove the selected lines up one line.
Alt-ArrowDownAlt-ArrowDownmoveLineDownMove the selected lines down one line.
Shift-Alt-ArrowUpShift-Alt-ArrowUpcopyLineUpCreate a copy of the selected lines. Keep the selection in the top copy.
Shift-Alt-ArrowDownShift-Alt-ArrowDowncopyLineDownCreate a copy of the selected lines. Keep the selection in the bottom copy.
Alt-lCtrl-lselectLineExpand the selection to cover entire lines.
Ctrl-[Cmd-[indentLessRemove a unit of indentation from all selected lines.
Ctrl-]Cmd-]indentMoreAdd a unit of indentation to all selected lines.
Shift-Ctrl-kShift-Cmd-kdeleteLineDelete selected lines.
Ctrl-/Cmd-/toggleCommentComment or uncomment the current selection. Will use line comments if available, otherwise falling back to block comments.
Ctrl-SCmd-SsaveDocumentSave current editor contents
Ctrl-SpaceCmd-SpacesuggestCompletionsShow autocomplete options