Log In

Common configuration file parameters

VSM configuration file is a text file specified via command line argument - -config of the VSM application.

--config /etc/opt/ugcs/vsm-ardupilot.conf

Each configuration parameter is defined as a line in the configuration file with the following structure:

name1.name2....nameX = value

where name1, name2 ... nameX are arbitrary names separated by dots to divide a variable into logical blocks and a value which can be a number value or a text string depending on the context. See below the description of common VSM configuration parameters.

UgCS server configuration

VSM can connect to UgCS in two different ways:

• Listen for connection from the UgCS server. See the Listening address and Listening port. When VSM is configured in listening mode automatic VSM discovery can be set up, too. See Automatic service discovery;

• Initiate connection to UgCS server. See the UgCS server address and UgCS server port.
At least one of the above must be configured for VSM to work.

Listening address

• Name: ucs.local_listening_address = [IP address]
• Description: Local address to listen for incoming connections from UgCS server.
• Default: (listen on all local addresses)
• Example:

ucs.local_listening_address =

Listening port

• Name: ucs.local_listening_port = [port number]
• Description: Local TCP port to listen for incoming connections from UgCS server.
• Example:

ucs.local_listening_port = 5556

UgCS server address

• Name: ucs.address = [IP address]
• Description: UgCS server address to connect to.
• Example:

ucs.address =

UgCS server port

• Name: ucs.port = [port number]
• Description: UgCS server port.
• Example:

ucs.port = 3335

Retry timeout

• Name: ucs.retry_timeout = [seconds]
• Description: Retry timeout for outgoing server connections in seconds.
• Default: 10
• Example:

retry_timeout = 11

Automatic service discovery

VSM can respond to automatic service discovery requests from the UgCS server. When this parameter is not configured, service discovery is disabled.


• Name: service_discovery.vsm_name = [Service name]
• Description: Human readable service name.
• Example:

service_discovery.vsm_name = Ardupilot VSM

Logging configuration


• Name: log.level = [error|warning|info|debug]
• Description: Logging level.
• Default: info
• Example:

log.level = debug

File path.

• Name: log.file_path = [path to a file]
• Description: Absolute or relative (to the current directory) path to a logging file. Logging is disabled if the logging file is not defined. The file should be writable. Backslash should be escaped with a backslash.
• Example:

log.file = /var/opt/ugcs/log/vsm-ardupilot/vsm-ardupilot.log

• Example:

log.file = C:\\Users\\John\\AppData\\Local\\UGCS\\logs\\vsm-ardupilot\\vsm-ardupilot.log

Maximum single file size.

• Name: log.single_max_size = [size]
• Description: Maximum size of a single log file. When the maximum size is exceeded, the existing file is renamed by adding a time stamp, and logging is continued into the empty file. [size] should be defined as a number postfixed by a case-insensitive multiplier:
– Gb, G, Gbyte, Gbytes: for Giga-bytes
– Mb, M, Mbyte, Mbytes: for Mega-bytes
– Kb, K, Kbyte, Kbytes: for Kilo-bytes
– no postfix: for bytes
• Default: 100 Mb
• Example: log.single_max_size = 500 Mb

log.single_max_size = 500 Mb

Maximum number of old log files.

• Name: log.max_file_count = [number]
• Description: Log rotation feature. A maximum number of old log files to keep. After reaching the single_max_size of the current log file, VSM will rename it with the current time in the extension and start a new one. VSM will delete older logs so the number of old logs does not exceed the max_file_count.
• Default: 1
• Example:

log.max_file_count = 5

Mission dump path


• Name: [prefix].mission_dump_path = [path to a file]
• Description: File to dump all generated missions to. The timestamp is appended to the name. Delete the entry to disable mission dumping. All directories in the path to a file should be already created.

vehicle.ardupilot.mission_dump_path = C:\\tmp\\ardupilot_dump

Command execution control

When the vehicle is connected via an unreliable link VSM will retry each command several times before failing. This section describes the parameters which control the command execution.

Command try count
• Name: vechicle.command_try_count = ="">
• Description: Number of times the command will be issued before declaring it as failed. Must be greater than zero.
• Default: 3
• Example:

vechicle.command_try_count = 5

Command timeout
• Name: vechicle.command_timeout = ="">
• Description: Time to wait for a response on the issued command before retrying.
• Unit: second
• Default: 1

Vehicle serial prefix.

• Name: vehicle.serial_prefix = string
• Description: String value used as a prefix for all vehicle serial numbers connected to this VSM. Can be used to connect vehicles with equal serial numbers to the same server via different VSMs
• Default: not defined
• Example:

vehicle.serial_prefix = group1: