# Advanced Features

These features are not required for normal AstroNav Nano operation.

Use them only when there is a specific reason to do so.

## Feature levels

### Basic

Normal configuration and operation.

Recommended for first-time users.

### Advanced

Additional diagnostics, configuration tuning, and flight-data analysis.

### Pro

Optional features for:

- Manufacturing
- Traceability
- Device identity
- Extended diagnostics
- Testing

### Dangerous test

Functions that can directly energize hardware.

These require a controlled bench setup.

## Production identity

Production workflows may use:

```text
generate_version.py
include/build_info.h
```

along with:

- Warranty keys
- Serial registry
- OTP identity information

These can provide:

- Serial numbers
- Firmware metadata
- Device traceability
- Official warranty signatures

They are not required for normal local firmware development.

:::caution[Production secrets]

Production secrets must not be committed to the repository.

:::

## Serial diagnostics

Serial monitoring can expose detailed:

- Power state
- Sensor health
- Storage status
- Flight state
- Fault information

Use:

```text
115200 baud
```

and keep hazardous hardware disconnected while diagnosing the board.

## Detection-only testing

Set:

```ini
FIRE_PYRO_APOGEE=FALSE
```

to test:

- Launch detection
- State transitions
- Apogee detection
- Logging

without allowing the normal automatic apogee output.

:::danger[Physical wiring]

This does not replace safe physical wiring.

:::

## PYROTEST

`PYROTEST` directly tests the pyro output path.

This is a dangerous bench-test function.

:::danger[Live hardware]

Never use it with live deployment or ignition hardware connected.

:::

The command must be sent twice within five seconds.

The resulting output pulse is limited to one second.

`PYROTEST` is only accepted outside USB storage mode and only while the firmware is in a permitted state.

It is intentionally not part of the normal beginner workflow.