agmission/Development/server/docs/QT_File_Format_Documentation.md

4.4 KiB

File Format Documentation: QT Files

Overview

QT files (q*.t*) are text-based summary files that store flight/spray application information in Navigate. They use a key-value format with labels followed by colons.

File Location

  • Path: Mission directory
  • Naming: q<identifier>.t<number> (e.g., q2024.t1)
  • Format: Plain text with Windows-style line endings (\r\n)

File Structure

Header Information

CLIENT    : <Client/Farmer name>
OPERATOR  : <Operator/Pilot name>
NAV/REMARK: <Remark>
AIRCRAFT  : <Aircraft name>
FLIGHT    : <Flight number>
JOB       : <Job name>
PRODUCT   : <Product name>

System Information

GUIA INFO : <software_version>\t<serial_number>\t<mac_address>
FC TYPE   : <flow_controller_type_name>

Application Details

APP. RATE : <application_rate> <unit>
DATE      : <date>
GPS TIME  : <hh:mm:ss>
AREA/ZONE : <area_name>
SPRAY COVERAGE <Sprayed Total Swath>: <sprayed_area> <total_area> <swath_width>

Flow Controller Section (Optional)

[FLOWCONTROLLER]
PulsesPerLiter=<pulses_per_liter>

Spray Settings

AutoSpray(0: GuideLine, 1: Inside): <auto_spray_mode>
SprayOnLag: <spray_on_lag>
SprayOffLag: <spray_off_lag>
SprayLag Calibration: <spray_lag_calibration>

Field Specifications

Field Type Format Description Notes
CLIENT String Text Client name From ApplicationInfo
OPERATOR String Text Operator name From ApplicationInfo
NAV/REMARK String Text Navigation remarks From ApplicationInfo
AIRCRAFT String Text Aircraft identifier From ApplicationInfo
FLIGHT String Text Flight number/identifier From ApplicationInfo
JOB String Text Job identifier From ApplicationInfo
PRODUCT String Text Product being applied From ApplicationInfo
GUIA INFO String Tab-separated <version>\t<serial>\t<MAC> Software metadata
FC TYPE String Text Flow controller type name From ApplicationInfo
APP. RATE Double + String <rate> <unit> Application rate with unit 2 decimal places
DATE String Date format Date of application From ApplicationInfo
GPS TIME Time HH:mm:ss GPS time From ApplicationInfo
AREA/ZONE String Text Area or zone name Current area name
SPRAY COVERAGE 3 Doubles Space-separated <sprayed> <total> <swath> All in m² (3 decimals)
PulsesPerLiter Integer Number Flow controller PPL Only if fcPPL >= 0
AutoSpray Integer 0 or 1 Auto spray mode 0=GuideLine, 1=Inside
SprayOnLag Double Decimal Spray on lag time (seconds) From ApplicationInfo
SprayOffLag Double Decimal Spray off lag time (seconds) From ApplicationInfo
SprayLag Calibration Integer Number Spray lag calibration value From ApplicationInfo

Example File

CLIENT    : ABC Farms
OPERATOR  : John Smith
NAV/REMARK: Field 12 north section
AIRCRAFT  : N12345
FLIGHT    : 2024-001
JOB       : CORN-2024
PRODUCT   : Herbicide XYZ
GUIA INFO : 2.9.2	SN123456	00:11:22:33:44:55
FC TYPE   : Raven 440
APP. RATE : 15.50 L/HA
DATE      : 11/06/2025
GPS TIME  : 14:30:25
AREA/ZONE : Field 12
SPRAY COVERAGE <Sprayed Total Swath>: 45.230 50.000 15.000

[FLOWCONTROLLER]
PulsesPerLiter=1200

AutoSpray(0: GuideLine, 1: Inside): 1
SprayOnLag: 0.5
SprayOffLag: 0.3
SprayLag Calibration: 100

Operations

Creating QT Files

  • Function: FileController::saveQT()
  • Location: filecontroller.cpp
  • Called when: Saving mission/application data
  • Writes all fields from ApplicationInfo and current area state

Updating QT Files

  • Function: FileController::updateQT()
  • Location: filecontroller.cpp
  • Called when: Updating spray coverage or application rate
  • Only updates:
    • APP. RATE: Application rate and unit
    • SPRAY COVERAGE: Sprayed area, total area, and swath width
  • All other fields remain unchanged
  • Source: /branches/mission-structure/navigate/src/appnavigate/filecontroller.cpp
  • Related classes: ApplicationInfo, Area, FlowController

Notes

  • All area measurements are in square meters (m²)
  • Application rate units depend on system settings (metric vs US)
  • Flow controller section is optional and only written if valid PPL exists
  • The file uses consistent formatting with specific decimal precision for numeric values
  • GUIA INFO fields are tab-separated (not space-separated)