# AstroNav Mission Control

# AstroNav Mission Control

AstroNav Mission Control (AstroNav MC) is the Windows desktop application for working with an AstroNav Nano in USB storage mode. It is an offline, file-based tool: it discovers compatible hardware, reads and writes supported files, imports flight logs, and replays recorded telemetry. It does not provide live telemetry or send serial commands.

Use this page for **software workflows**. For physical integration, flight preparation, and flight-controller behavior, use the **hardware and flight-system documentation** in the other sidebar sections.

## At a glance

AstroNav MC can:

- discover an AstroNav Nano connected as a USB mass-storage device;
- inspect identity, runtime state, health, and recorded-flight summaries;
- edit supported flight-estimation and launch-detection settings;
- read and review flight logs stored on the connected computer;
- import readable flight logs into a local archive for offline use;
- replay recorded telemetry with synchronized charts and vehicle-attitude reconstruction;
- export archived flights as CSV files; and
- remove local archive entries or device log files after confirmation.

## Before using AstroNav MC

1. Power the AstroNav Nano over USB and put it in USB storage mode.
2. Make sure Windows has mounted the device and keep it connected while reading, changing settings, importing, or deleting files.
3. Start AstroNav Mission Control.
4. Wait for discovery to finish. AstroNav MC checks mounted volumes for a compatible Nano; it does not rely only on the Windows removable-drive label.

A compatible device exposes a root-level `Settings.ini` and the expected AstroNav identification data. Flight logs are read from the device's `logs` directory.

Imported flights are stored in the application's local data directory and remain available when no device is connected.

## Application layout

The application has a persistent shell with two navigation areas:

- **Sidebar:** the AstroNav brand mark, **Overview**, **Settings**, and **Flights**.
- **Top bar:** the current section and connection status. When a device is selected, it shows the model, serial number, mount label, and health status.

The main sections are:

- **Overview** - connected-device status and summary.
- **Settings** - supported configuration values and diagnostics.
- **Flights** - device logs and the local archive.
- **Mission replay** - opened from a flight entry to inspect recorded data.

The application is usable at narrow window widths. On smaller screens, grids stack, some timeline labels are hidden, and replay controls move to their own rows.

## Connection status and device discovery

The top-right status reports one of these states:

- **Connected** - a device is selected and healthy.
- **Warning**, **Critical**, or another health value - a device is selected but reports that health state.
- **Scanning** - discovery is still searching mounted volumes.
- **Select device** - more than one compatible device is connected and none has been selected.
- **Offline library** - no compatible device is available, but local imported flights can still be opened.

### Multiple connected devices

When more than one compatible flight computer is detected, Overview displays a device-selection grid. Each choice shows the model, serial number when available, Windows mount label, and device health. Select the computer you intend to use; it becomes active for Overview, Settings, and device flights.

### No device detected

Overview displays **No flight computer connected**. Select **Open local flights** to work with imported logs. To connect a device, put the Nano in USB storage mode and reconnect or restart the application.

### Device disconnects

If a device disappears while an operation is running, the operation reports an error. Reconnect the Nano in USB storage mode and retry. The device is identified by serial number, so reconnecting on a different drive letter is supported.

## Overview

With a selected device, Overview shows:

### System status

- **Device connected** and the Windows mount label;
- **Runtime mode**, such as `usb-storage`;
- **Device health**;
- **Flight state**, such as `storage`, `idle`, `boost`, or `landed`; and
- **Available device logs**.

Values the device does not provide are shown as **Unknown**.

### Vehicle view

The vehicle panel shows a technical illustration of the connected flight computer's rocket model, USB/runtime status, and current device state. This is an identity and status view, not a live attitude or trajectory display.

### Flight computer

This read-only panel shows the model, serial number, firmware profile/version, mount label, power source, input voltage, and flash stamp. Unavailable values are shown as **Unknown**.

### Last flight

The recorded summary shows last altitude, last velocity, available logs, and device health. Healthy devices are shown as **Nominal**. These are stored summaries, not live measurements.

Use **Configure settings** to open Settings or **Browse flights** to open Flights.

## Settings

Settings are read from the connected device's `Settings.ini`. The page is unavailable without a selected device or when the file cannot be read.

The header shows **Device values loaded** when the form matches the device and **Unsaved changes** when a value differs.

### Supported settings

| Field | Meaning | Allowed value |
|---|---|---|
| Estimated altitude | Expected flight altitude | 0 or greater, in m |
| Altitude margin | Extra allowance around the altitude estimate | 0 to 1000, in m |
| Estimated speed | Expected vertical speed | 0 or greater, in m/s |
| Speed margin | Extra allowance around the speed estimate | 0 to 1000, in m/s |
| Launch threshold | Acceleration threshold used to detect launch | 1.15 to 4.00, in g |
| Fire apogee pyro | Enables the apogee pyro output | Enabled or disabled |

Keep **Fire apogee pyro** disabled unless the recovery system is connected and configured for the output. Enabling it can activate the device's apogee pyro output during flight.

### Editing and saving

Numeric input accepts either a period or a comma for decimals. Comma decimals are normalized before saving. A blank, non-finite, or out-of-range numeric value is invalid and disables **Save changes**. Information buttons beside labels show field descriptions.

- **Save changes** writes the edited values to the device.
- **Reset changes** restores the values last read from the device.
- Saving is disabled while values are invalid, unchanged, or another save is in progress.

AstroNav MC preserves the device configuration document, writes a local recovery copy, replaces the device settings, flushes the write, and verifies the result by reading it back.

### Settings conflicts

If another process changes `Settings.ini` after the page loaded it, saving can fail with a settings conflict. Select **Reload device values**, review the current values, reapply the intended edits, and save again. Do not continue using stale values after a conflict.

### Advanced device info and diagnostics

**Advanced device info** contains read-only profile data: serial number, software/version, checksum, flash stamp, flight count, log count, maximum flight altitude and speed, and last-flight altitude and speed.

**Diagnostics** contains fault reason, runtime mode, device state, power mode, input voltage, health bits, health flags, and individual component checks. Each check is marked **Pass**, **Fail**, or **Unknown**. If no checks are reported, the page displays **No component checks were reported**.

## Flights and the mission archive

Flights has two tabs:

- **Connected [model]** - logs currently stored on the selected device.
- **Local files** - flights imported into the application archive.

Counts may show a dash while data is loading.

### Connected device logs

Each row shows the source filename, device model, **Imported**, **Device log**, or **Unreadable** status, altitude, maximum velocity, duration when analysis is available, and device serial number when available.

For a readable log:

- **Open flight** opens Mission replay directly from the device.
- **Import locally** copies the flight into the local archive while leaving the device log in place.
- **Delete file** removes the log from the device after confirmation.

An imported device log cannot be imported again, but it can still be opened from the device and managed in the local tab.

### Unreadable logs

Unreadable logs show the read or analysis error and have no replay or import action. Invalid CSV content, missing or invalid timing data, unsupported values, or another read error can make a log unreadable. Record the displayed error first when troubleshooting.

### Local archive files

Each local row shows the source filename, **Nominal** or the number of data-quality warnings, maximum altitude, maximum velocity, duration, source device serial number, sample count, and import date.

- **Open flight** opens Mission replay from the local archive.
- **Export CSV** opens a save dialog and writes a CSV copy. The dialog defaults to the source filename and filters for CSV files.
- **Delete** removes the local archive entry after confirmation. It does not affect the original device log.

### Empty and unavailable states

- **Local library is empty** means no flight has been imported yet.
- **Connected flight computer unavailable** means the device-log query failed; the local library remains usable.
- **No device flight logs** means the selected computer exposes no logs.
- A loading message appears while either source is being read.

## Mission replay

Open replay with **Open flight** from a device row or local row. The page shows the source, sample count, a **Replay** badge, and current elapsed time over total duration. Replay starts at the beginning and is paused.

### Timeline and telemetry

The phase panel shows the current state and detected state transitions. Select a transition marker to seek directly to it; seeking pauses playback. The current state is highlighted.

Charts update together as the replay cursor moves:

- **Altitude** in m;
- **Vertical velocity** in m/s;
- **Acceleration** in g;
- **Roll and pitch** in degrees;
- **Temperature** in deg C; and
- **Pressure** in hPa.

Each chart shows its unit, current reading, transition markers, and a red cursor line. Hover over a chart to inspect values at a time position. Missing values are shown as unavailable rather than zero.

The Current sample panel reports flight state, altitude, vertical velocity, acceleration magnitude, temperature, pressure, roll/pitch, and raw health bits. The raw health value has not been interpreted by the UI.

### Vehicle attitude reconstruction

The **Vehicle attitude** panel is an indicative reconstruction based only on recorded altitude, pitch, and roll. The rocket moves vertically within the displayed altitude range, rotates for pitch and roll, and shows an active exhaust indicator while the recorded state is `boost`.

This is not a physical simulation. It does not provide yaw, GPS, geographic trajectory, or live attitude.

### Playback controls

| Control | Action |
|---|---|
| Previous state transition | Pause and seek to the previous detected transition |
| Restart replay | Pause and return to the first sample |
| Play/Pause | Start or pause playback |
| Next state transition | Pause and seek to the next detected transition |
| Timeline slider | Pause and seek to any timestamp |
| Speed selector | Choose 0.25x, 0.5x, 1x, 2x, or 4x playback |

Playback follows recorded timestamps, stops at the final sample, and does not query the device while playing.

### Data-quality warnings

Expand **Data-quality warnings** below the controls to inspect each warning's code, message, and source row when available. Warnings do not necessarily prevent replay, but they should be considered when interpreting chart gaps or unusual values.

## Understanding values and missing data

- **Unknown** means the device or log did not provide a value.
- A dash in a loading count means the query has not completed.
- Values use metric units: meters, meters per second, g, degrees, deg C, and hPa.
- Replay acceleration is the magnitude of the recorded X/Y/Z acceleration vector.
- Chart data is bounded or downsampled for display; replay is for inspection, not raw-data export analysis.
- Imported archive data remains available without a connected Nano.

## Errors and recovery

1. Read the message in the red error area.
2. Check that the device is still mounted and in USB storage mode when the operation uses the device.
3. Retry the operation.
4. For settings conflicts, reload device values before editing again.
5. For a bad log, use the per-log error and data-quality warning details to identify the affected file or row.

If the interface encounters an unexpected rendering error, it displays **The interface encountered an error**, the error message, and **Reload application**. Additional diagnostics are written to the terminal and discovery diagnostics log:

```text
%APPDATA%\\com.astronav.missioncontrol\\logs\\discovery.log
```

## Scope and limitations

AstroNav MC does not currently support:

- AstroNav MK1 devices;
- serial communication;
- live telemetry or live flight monitoring;
- firmware updates or flashing;
- motor or aerodynamic prediction;
- OpenRocket integration;
- GPS or geographic trajectory reconstruction;
- cloud services; or
- opening or running the device's `Website.url` shortcut.

Settings and device profile data are file-based. The UI exposes only supported editable settings; profile, debug, and health-check values are read-only.

## Recommended software workflow

### Review a connected device

1. Connect the Nano in USB storage mode.
2. Open Overview and wait for discovery.
3. If prompted, select the intended serial number.
4. Review System status, Vehicle view, Flight computer, and Last flight.
5. Open Settings if configuration needs review or adjustment.

### Change configuration

1. Confirm the selected device and serial number.
2. Open Settings and review the allowed ranges.
3. Change only the required values.
4. Confirm that no validation errors are shown.
5. Select **Save changes**.
6. If a conflict occurs, reload, review, and reapply the change.
7. Verify that the header returns to **Device values loaded**.

### Preserve and review a flight

1. Open Flights and select **Connected [model]**.
2. Confirm that the log is readable.
3. Select **Import locally** to preserve a local copy while leaving the device log intact.
4. Open the local flight when offline review is needed.
5. Use the timeline, charts, current telemetry, and playback controls to inspect it.
6. Export CSV for external analysis when required.
7. Delete the local copy only when it is no longer needed.

### Remove a device log

1. Confirm that the log is no longer needed on the Nano or has already been imported locally.
2. Select **Delete file** on the device-log row.
3. Read the warning carefully.
4. Confirm the deletion. This cannot be undone.

## Safe device handling

Keep the Nano connected and mounted while an operation is in progress. Do not remove the drive during settings writes, import, replay loading from the device, or device-log deletion. When finished with USB storage, use the normal Windows safe-eject workflow or the device's documented USB exit procedure before disconnecting.