Configuration Reference
All fields in /etc/deskradar/config.json.
Example of Config File
{
"LAT": 50,
"LON": 0,
"GET_URL": "http://127.0.0.1:8080/data/aircraft.json",
"MATRIX_HTTP_URL": "http://10.42.0.50",
"LCD_SEND_URL": "http://0.0.0.0:8010/display",
"MATRIX_SIZE_PX": 64,
"DISPLAY_RADIUS_NM": 25,
"MAX_HISTORY": 20,
"POLL_CADENCE": 1,
"FADE_FACTOR": 0.95,
"MIN_ALT": 1000,
"UNSEEN_MARK_SECS": 10,
"MAX_UNSEEN_SECS": 20,
"LONLAT_DECIMALS": 3,
"MATRIX_HTTP_TIMEOUT": 2,
"LCD_TIMEOUT": 1,
"SHOW_CLOSEST": true,
"CLOSEST_COLOUR": {"r": 255, "g": 255, "b": 255},
"LOG_LEVEL": "info"
}
Location
| Key | Type | Default | Description |
|---|---|---|---|
LAT | float | 50 | Latitude of the display center in decimal degrees. |
LON | float | 0 | Longitude of the display center in decimal degrees. |
Network URLs
| Key | Type | Default | Description |
|---|---|---|---|
GET_URL | string | http://127.0.0.1:8080/data/aircraft.json |
dump1090 API endpoint to poll for aircraft data. Usually local to the Pi. |
MATRIX_HTTP_URL | string | set by boot_check | Base URL of the MatrixPortal S3. Written automatically at boot by resolving deskradar-portal.local. The boot check writes http://<ip>:80; the checked-in example value is only a startup placeholder. |
LCD_SEND_URL | string | http://0.0.0.0:8010/display |
URL of the LCD service endpoint. Points to the local deskradar-lcd FastAPI service. |
GET_URL, LCD_SEND_URL, and MATRIX_HTTP_URL are hidden from the web configurator UI because they are managed by the system.Display
| Key | Type | Default | Description |
|---|---|---|---|
MATRIX_SIZE_PX | int | 64 | Pixel dimensions used by the Pi for plotting. The current MatrixPortal firmware is hardcoded for a 64x64 display, so this should remain 64 unless the firmware is changed too for now! |
DISPLAY_RADIUS_NM | int | 25 | Radius of the displayed area in nautical miles, centered on LAT/LON. Aircraft beyond this radius are not shown. |
SHOW_CLOSEST | bool | true | Controls matrix recoloring for the head of the nearest current aircraft when more than one aircraft is present. The current LCD closest-aircraft display is not gated by this flag. |
CLOSEST_COLOUR | object | {"r":255,"g":255,"b":255} |
RGB color used to highlight the closest aircraft. Must include r, g, and b keys with values 0-255. |
Tracking
| Key | Type | Default | Description |
|---|---|---|---|
MAX_HISTORY | int | 20 | Maximum number of historical position points retained per aircraft track. |
POLL_CADENCE | float | 1 | Seconds between polling cycles. |
FADE_FACTOR | float | 0.95 | Multiplier applied to trail point colors each cycle (0.0-1.0). 0.95 means each point's brightness drops by 5% per second at 1-second cadence. Lower values fade trails faster. |
MIN_ALT | int | 1000 | Minimum altitude in feet for an aircraft to appear on screen. Filters out ground traffic and very-low-altitude aircraft. |
MAX_UNSEEN_SECS | int | 20 | Seconds after the latest point before the track begins timing out. When this threshold is exceeded, the app pops one old point per cycle, marks the visible head red, and fades the trail. |
Timeouts
Mostly debug stuff this
| Key | Type | Default | Description |
|---|---|---|---|
MATRIX_HTTP_TIMEOUT | int | 2 | Seconds before HTTP requests to the MatrixPortal time out. Should be less than POLL_CADENCE to avoid blocking the loop. |
LCD_TIMEOUT | int | 1 | Seconds before HTTP requests to the LCD service time out. |
Logging
| Key | Type | Default | Allowed Values |
|---|---|---|---|
LOG_LEVEL | string | "info" |
debug, info, warning, error, critical (case-insensitive) |