config_name = string(default='client')
config_version = float(default=1.0)
# Available options: /hostname ; /default ; /ip ; any string 63 characters length
id = string(default=/hostname, max=63)
clover_dir = string(default=auto)

[SERVER]
port = integer(default=25000, min=1)
host = ip_addr(default=192.168.1.101) # string?
buffer_size = integer(default=1024)

[BROADCAST]
use = boolean(default=True)
port = integer(default=8181, min=1)

[TELEMETRY]
transmit = boolean(default=True)
frequency = float(default=1.0, min=0)
log_resources = boolean(default=False)

[FLIGHT]
frame_id = string(default=map)
arming_time = float(default=0.5)
takeoff_height = float(default=1.0)
takeoff_time = float(default=5.0, min=0)
reach_first_point_time = float(default=5.0, min=0)
land_delay = float(default=1.0, min=0)
land_timeout = float(default=10.0, min=0)

[FLOOR FRAME]
# Available options: map, aruco_map, gps, floor
parent = string(default=map)
# Frame translation (x, y, z)
# __list__ x y z
translation = float_list(default=list(0.0, 0.0, 0.0), min=3, max=3)
# Frame rotation (roll, pitch, yaw) in degrees
# __list__ roll pitch yaw
rotation = float_list(default=list(0.0, 0.0, 0.0), min=3, max=3)

[GPS FRAME]
lat = string(default=0)
lon = string(default=0)
# Clockwise yaw rotation from North direction in degrees
yaw = float(default=0)
# AMSL height of frame. Available options: "current" of float value in meters.
amsl = string(default=current)

[ANIMATION]
# Available options:
# 'auto' - automatic action selection from 'takeoff' or 'fly' based on current copter level
#   if (start animation point z) - (current height of copter) > (takeoff level) then
#       start_action is set to 'takeoff', else start_action is set to 'fly'
# 'takeoff' - takeoff to first output animation point after static_begin_time then execute 'takeoff logic'
# 'fly' - execute animation frames after static_begin_time
start_action = string(default=auto)
# Takeoff level to set start action automatically
takeoff_level = float(default=0.5)
# Available options:
# * 'current' - current height of copter
# * z coordinate in meters
ground_level = string(default=current)
check_ground = boolean(default=True)
# Frame delay in seconds
frame_delay = float(default=0.1, min=0.01)
# Available options:
# * 'animation' - take yaw from animation
# * 'nan' - don't change yaw during flight
# * a number in degrees
yaw = string(default=nan)
# Animation ratio (x, y, z)
# __list__ x y z
ratio = float_list(default=list(1.0, 1.0, 1.0), min=3, max=3)
# Drone's animation individual offset (x, y, z)
# __list__ x y z
private_offset = float_list(default=list(0, 0, 0), min=3, max=3)
# Drone's animation common offset
# __list__ x y z
common_offset = float_list(default=list(0, 0, 0), min=3, max=3)
# Flags for output frames
[[OUTPUT]]
static_begin = boolean(default=True)
takeoff = boolean(default=True)
route = boolean(default=True)
land = boolean(default=True)
static_end = boolean(default=True)

[LED]
use = boolean(default=True)
takeoff_indication = boolean(default=True)
land_indication = boolean(default=True)

[FAILSAFE]
enabled = boolean(default=False)
log_state = boolean(default=False)
# Available options: emergency_land, land, disarm
action = string(default=emergency_land)
# Time to get vision position after arm
# No visual position will be checked
# during this time after arming
vision_pose_delay_after_arm = float(default=3.0, min=0)
# Timeout for the last vision pose in /mavros/vision_pose/pose
# Set 0 to disable vision pose check
vision_pose_timeout = float(default=0.0, min=0)
# Max delta between current position and setpoint
# Set 0 to disable position delta check
position_delta_max = float(default=3.0, min=0)
# Time to disarm after action is triggered
disarm_timeout = float(default=10.0, min=0)

[EMERGENCY LAND]
thrust = float(default=0.45, min=0, max=1)
decrease_thrust_after = float(default=3.0, min=0)

[SYSTEM]
change_hostname = boolean(default=False)
restart_after_rename = boolean(default=False)

[NTP]
use = boolean(default=False)
host = string(default=ntp1.stratum2.ru)
port = integer(default=123, min=1)
