# 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.t` (e.g., `q2024.t1`) - **Format**: Plain text with Windows-style line endings (`\r\n`) ## File Structure ### Header Information ``` CLIENT : OPERATOR : NAV/REMARK: AIRCRAFT : FLIGHT : JOB : PRODUCT : ``` ### System Information ``` GUIA INFO : \t\t FC TYPE : ``` ### Application Details ``` APP. RATE : DATE : GPS TIME : AREA/ZONE : SPRAY COVERAGE : ``` ### Flow Controller Section (Optional) ``` [FLOWCONTROLLER] PulsesPerLiter= ``` ### Spray Settings ``` AutoSpray(0: GuideLine, 1: Inside): SprayOnLag: SprayOffLag: SprayLag 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 | `\t\t` | Software metadata | | FC TYPE | String | Text | Flow controller type name | From ApplicationInfo | | APP. RATE | Double + String | ` ` | 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 | ` ` | 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 : 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 ## Related Files - 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)