130 lines
4.4 KiB
Markdown
130 lines
4.4 KiB
Markdown
# 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
|
|
|
|
## 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)
|