#
# Project Horus Chase-Mapper Configuration File
#
# Copy this file to horusmapper.cfg and modify as required. 
#

#
# Telemetry Source Profiles
# Multiple Telemetry source profiles can be defined, and can be selected from
# the web GUI.
#
[profile_selection]
# How many profiles have been defined
profile_count = 2
# Index of the default profile (indexing from 1)
default_profile = 1

[profile_1]
# Profile name - will be shown in the web client.
profile_name = Default
# Telemetry source type:
#  ozimux - Read data in OziMux format
#  horus_udp - Read Horus UDP Broadcast 'Payload Summary' messages 
telemetry_source_type = ozimux
# Telemetry source port (UDP)
telemetry_source_port = 8942

# Car Position Source
# none - No Chase-Car GPS
# horus_udp - Read Horus UDP Broadcast 'Car GPS' messages
# serial - Read GPS positions from a serial-connected GPS receiver.
# gpsd - Poll GPSD for positions
car_source_type = horus_udp
# Car position source port (UDP) - only used if horus_udp is selected
car_source_port = 55672

# Other profiles can be defined in sections like the following:
[profile_2]
# Example source to take telemetry data from an instance of radiosonde_auto_rx
# emitting Horus UDP packets on port 55673, and accepts car positions from a local
# instance of GPSD
profile_name = auto_rx
telemetry_source_type = horus_udp
telemetry_source_port = 55673
car_source_type = gpsd
# Since we are using GPSD, the car_source_port argument is unused, but still has to be defined.
car_source_port = 55672


[gpsd]
# GPSD Host/Port - Only used if selected in a telemetry profile above.
gpsd_host = localhost
gpsd_port = 2947

[gps_serial]
# Serial GPS Settings - Only used if selected in a telemetry profile above.
# GPS serial device (i.e. /dev/ttyUSB0, COM1, etc...)
gps_port = /dev/ttyUSB0
# GPS baud rate
gps_baud = 9600


# Map Defaults
[map]
# Host/port to host webserver on
flask_host = 0.0.0.0
flask_port = 5001

# Default map centre
default_lat = -34.9
default_lon = 138.6

# How long to keep payload data (minutes)
payload_max_age = 180

# ThunderForest API Key
# NOTE: OpenTopoMaps is now available by default, and is a good alternative to ThunderForest's outdoors map.
# If you want to use ThunderForest's Outdoors map (Topographic maps), you will need to
# register for an API key here: https://manage.thunderforest.com/users/sign_up?plan_id=5
# Once you have a key, enter it below:
thunderforest_api_key = none


# Predictor Settings
# Use of the predictor requires installing the CUSF Predictor Python Wrapper from here:
# https://github.com/darksidelemm/cusf_predictor_wrapper
# You also need to compile the predictor binary, and copy it into this directory.
[predictor]
# Enable Predictor (True/False) - This can also be enabled from the web client.
predictor_enabled = False

# Predictor defaults - these can be modified at runtime in the web interface.
default_burst = 30000
default_descent_rate = 5.0

# Predictory Binary Location
# Where to find the built CUSF predictor binary. This will usually be ./pred or pred.exe (on Windows)
pred_binary = ./pred

# Directory containing GFS model data.
gfs_directory = ./gfs/

# Wind Model Download Command
# Optional command to enable downloading of wind data via a web client button.
# Example: (this will require copying the get_wind_data.py script to this dirctory)
# model_download = python get_wind_data.py --lat=-33 --lon=139 --latdelta=10 --londelta=10 -f 24 -m 0p50 -o gfs
# The gfs directory (above) will be cleared of all .dat files prior to the above command being run.
model_download = none


#
#	Offline Tile Server
#
#	Allows serving of map tiles from a directory.
#	Each subdirectory is assumed to be a separate layer of map tiles, i.e. 'OSM', 'opencyclemap',
#	and is added to the map interface as a separate layer.
#	This feature can be used to serve up FoxtrotGPS's tile cache as layers, usually located in ~/Maps/
#
[offline_maps]
# Enable serving up maps from a directory of map tiles.
tile_server_enabled = False

# Path to map tiles. For FoxtrotGPS, this is usually ~/Maps/
# NOTE: This must be an ABSOLUTE directory, i.e. /home/pi/Maps/ - ~/Maps/ will not work.
tile_server_path = /home/pi/Maps/


#
# Habitat Chase-Car Position Upload
# If you want, this application can upload your chase-car position to the Habhub tracker,
# for those follwing along at home.
# The settings below can be modified from the web interface, but they will default to what is set below on startup.
# 
[habitat]
# Enable uploading of chase-car position to Habitat (True / False)
habitat_upload_enabled = False

# Callsign to use when uploading. Note that _chase is automatically appended to this callsign
# i.e. N0CALL will show up as N0CALL_chase on tracker.habhub.org
habitat_call = N0CALL

# Attempt to upload position to habitat every x seconds.
habitat_update_rate = 30


#
# Range Rings
#
[range_rings]
range_rings_enabled = False

# Number of range rings to display. The first ring starts at the spacing set below.
range_ring_quantity = 5

# Spacing between rings, in metres.
range_ring_spacing = 1000

# Weight of the ring, in pixels.
range_ring_weight = 1.5

# Color of the range rings.
# Valid options are: red, black, blue, green, custom
range_ring_color = red

# Custom range ring color, in hexadecimal #RRGGBB
range_ring_custom_color = #FF0000

#
#   Chase Car Speedometer
#
[speedo]
chase_car_speed = True

#
# Bearing Processing
#
[bearings]

# Number of bearings to store
max_bearings = 300

# Maximum age of bearings, in *minutes*.
max_bearing_age = 10

# Car heading speed gate
# Only consider car headings to be valid if the car speed is greater than this value in *kph*
car_speed_gate = 10

# Visual Settings - these can be adjust in the Web GUI during runtime

# Bearing length in km
bearing_length = 10 

# Weight of the bearing lines, in pixels.
bearing_weight = 0.5

# Color of the bearings.
# Valid options are: red, black, blue, green, custom
bearing_color = black

# Custom bearing color, in hexadecimal #RRGGBB
bearing_custom_color = #FF0000
