# 09. Feeds: Smart Ports and MLAT

## 1. Feed basics

In `Feeds`, define raw data sources (Beast, BaseStation).

For each feed, configure:
1. `Address` and `Port`
2. `Format`
3. `ConnectionType`
4. `Enabled`
5. `Visible in Radar Dropdown`
6. optional `Receiver Location`

After save:
1. verify connection status,
2. verify message counters increase,
3. verify `AircraftList.json` is non-empty.

## 2. Smart profile ports

Known smart profiles:
1. `30003` -> `[ADS-B] BaseStation/Text`
2. `30005` -> `[ADS-B] Beast/Binary`
3. `30105` -> `[MLAT] Beast/Binary`
4. `30106` -> `[MLAT] BaseStation/Text`

When one of these ports is entered, feed editor pre-applies matching format/MLAT defaults.

## 3. MLAT options

Feed-level MLAT controls:
1. `MLAT Feed` forces all positions from feed to be treated as MLAT-derived.
2. Use `MLAT Feed` only for dedicated MLAT streams without reliable MLAT marker tagging.
3. For mixed ADS-B + MLAT streams, keep `MLAT Feed` disabled and rely on per-message MLAT detection.
4. `Assume DF18 CF1 = ICAO` is experimental and should be enabled only for known-compatible sources.

## 4. Quick verification

1. open aircraft detail panel,
2. check `Position Source` (`MLAT position` or `ADS-B position`),
3. compare behavior before and after MLAT option changes.

## 5. UI visibility note

`Visible in Radar Dropdown` controls whether a feed appears in frontend `All feeds / feed selector`.